{"version":3,"file":"scripts.js","mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA,sCAAsC;AACtC,+CAA+C;AAC/C,yCAAyC,mBAAmB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD,4BAA4B;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,cAAc;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,gBAAgB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,OAAO;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,eAAe;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,qBAAqB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,0BAA0B;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,6BAA6B;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B,mCAAmC;AAC7D;AACA;AACA,oEAAoE;AACpE,oEAAoE;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,gBAAgB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2CAA2C;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,cAAc;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,cAAc;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,iBAAiB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,eAAe;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,YAAY;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,YAAY;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,SAAS;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,oBAAoB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,kBAAkB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,oBAAoB;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,eAAe;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,4CAA4C;AACnF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,qBAAqB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,uEAAuE;AAC9G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,yCAAyC;AACtF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,eAAe;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+DAA+D,eAAe,cAAc,eAAe,YAAY;AACvH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,sBAAsB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC,6EAA6E;AAC9G;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,oBAAoB,gBAAgB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,iIAAiI;AACxK;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8BAA8B;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,aAAa;AACb,GAAG;AACH;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,eAAe;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,iCAAiC;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD;AACxD,uDAAuD;AACvD,uDAAuD;AACvD,yDAAyD;AACzD,wDAAwD;AACxD,wDAAwD;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC;AACzC,qCAAqC;AACrC;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,wGAAwG;AAC5H;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,oBAAoB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,mCAAmC;AACvD;AACA;AACA;AACA;AACA,qBAAqB,kCAAkC;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,iCAAiC;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,kBAAkB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,iBAAiB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,qBAAqB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,6BAA6B;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,uBAAuB;AAC3C;AACA;AACA,qBAAqB,kBAAkB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,yBAAyB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,2DAA2D;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,gBAAgB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD,wEAAwE;AAC3H;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D,SAAS;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA2D,SAAS;AACpE;AACA;AACA;AACA;AACA;AACA,2DAA2D,SAAS;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,kBAAkB;AACpC;AACA;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,mCAAmC;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,mCAAmC;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,sCAAsC;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,sCAAsC;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D,mEAAmE;AAC7H;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,kCAAkC;AACvD;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE;AACF,+CAA+C;AAC/C,0CAA0C;AAC1C,2DAA2D,oQAAoQ;AAC/T;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;AACF,mDAAmD;AACnD;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;AACF,+CAA+C;AAC/C;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;AACF,yCAAyC;AACzC,0CAA0C;AAC1C;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF,+CAA+C;AAC/C;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,wBAAwB,4BAA4B;AACpD;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,IAAI;AACJ;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,mBAAmB,kBAAkB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA,mBAAmB,YAAY;AAC/B;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,mBAAmB,4BAA4B;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF,wCAAwC;AACxC,mCAAmC;AACnC;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF,2CAA2C;AAC3C;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,mBAAmB,gCAAgC;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;AACF,gDAAgD;AAChD,8CAA8C;AAC9C,qCAAqC;AACrC,4CAA4C;AAC5C;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6DAA6D,SAAS;AACtE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,uBAAuB,2BAA2B;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,mBAAmB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,gBAAgB;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sBAAsB,oBAAoB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,uBAAuB;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,yBAAyB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,oBAAoB,mBAAmB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,yBAAyB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,2BAA2B;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,4BAA4B;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA;AACA,EAAE;AACF,kDAAkD,wNAAwN;AAC1Q,4CAA4C,4FAA4F;AACxI,yCAAyC,0EAA0E;AACnH,6CAA6C;AAC7C,wCAAwC,g8CAAg8C;AACx+C,mDAAmD,0uBAA0uB;AAC7xB,4CAA4C,gEAAgE;AAC5G,yCAAyC,sHAAsH;AAC/J,+CAA+C,8DAA8D;AAC7G,yCAAyC,kFAAkF;AAC3H,2DAA2D,0CAA0C;AACrG,gDAAgD,8GAA8G;AAC9J,yCAAyC,8HAA8H;AACvK,kDAAkD,kDAAkD;AACpG,gDAAgD,kGAAkG;AAClJ,wCAAwC,gEAAgE;AACxG,+CAA+C,4cAA4c;AAC3f,8CAA8C,8BAA8B;AAC5E;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF,oCAAoC,8GAA8G;AAClJ,sCAAsC;AACtC;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;AACF,kCAAkC;AAClC,sCAAsC;AACtC,6CAA6C;AAC7C,iCAAiC;AACjC,mDAAmD;AACnD;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,oBAAoB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,SAAS;AACnD;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,0CAA0C,SAAS;AACnD;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,yBAAyB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA,IAAI;AACJ,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE;AACF,oCAAoC;AACpC;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,sBAAsB,+BAA+B;AACrD;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE;AACF,6CAA6C;AAC7C;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF,mDAAmD;AACnD;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA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","sources":["src\\assets\\js\\tableau-2.1.2.js","node_modules\\jquery\\dist\\jquery.min.js","node_modules\\bootstrap\\dist\\js\\bootstrap.min.js","src\\assets\\js\\nucleus.min.js"],"sourcesContent":["/*! tableau-2.1.2 */\r\n(function() {\r\n\r\n\r\n/*! BEGIN MscorlibSlim */\r\n\r\n\r\n\r\n////////////////////////////////////////////////////////////////////////////////\r\n// Globals and assembly registration\r\n////////////////////////////////////////////////////////////////////////////////\r\n\r\nvar global = {};\r\n\r\n(function(global) {\r\n\"use strict\";\r\n\r\nvar ss = { __assemblies: {} };\r\n\r\nss.initAssembly = function assembly(obj, name, res) {\r\n  res = res || {};\r\n  obj.name = name;\r\n  obj.toString = function() { return this.name; };\r\n  obj.__types = {};\r\n  obj.getResourceNames = function() { return Object.keys(res); };\r\n  obj.getResourceDataBase64 = function(name) { return res[name] || null; };\r\n  obj.getResourceData = function(name) { var r = res[name]; return r ? ss.dec64(r) : null; };\r\n  ss.__assemblies[name] = obj;\r\n};\r\nss.initAssembly(ss, 'mscorlib');\r\n\r\n\r\n\r\n////////////////////////////////////////////////////////////////////////////////\r\n// Utility methods (generated via Script.IsNull, etc.)\r\n////////////////////////////////////////////////////////////////////////////////\r\n\r\n\r\nss.getAssemblies = function ss$getAssemblies() {\r\n  return Object.keys(ss.__assemblies).map(function(n) { return ss.__assemblies[n]; });\r\n};\r\n\r\nss.isNullOrUndefined = function ss$isNullOrUndefined(o) {\r\n  return (o === null) || (o === undefined);\r\n};\r\n\r\nss.isValue = function ss$isValue(o) {\r\n  return (o !== null) && (o !== undefined);\r\n};\r\n\r\nss.referenceEquals = function ss$referenceEquals(a, b) {\r\n  return ss.isValue(a) ? a === b : !ss.isValue(b);\r\n};\r\n\r\nss.mkdict = function ss$mkdict() {\r\n  var a = (arguments.length != 1 ? arguments : arguments[0]);\r\n  var r = {};\r\n  for (var i = 0; i < a.length; i += 2) {\r\n    r[a[i]] = a[i + 1];\r\n  }\r\n  return r;\r\n};\r\n\r\nss.clone = function ss$clone(t, o) {\r\n  return o ? t.$clone(o) : o;\r\n}\r\n\r\nss.coalesce = function ss$coalesce(a, b) {\r\n  return ss.isValue(a) ? a : b;\r\n};\r\n\r\nss.isDate = function ss$isDate(obj) {\r\n  return Object.prototype.toString.call(obj) === '[object Date]';\r\n};\r\n\r\nss.isArray = function ss$isArray(obj) {\r\n  return Object.prototype.toString.call(obj) === '[object Array]';\r\n};\r\n\r\nss.isTypedArrayType = function ss$isTypedArrayType(type) {\r\n  return ['Float32Array', 'Float64Array', 'Int8Array', 'Int16Array', 'Int32Array', 'Uint8Array', 'Uint16Array', 'Uint32Array', 'Uint8ClampedArray'].indexOf(ss.getTypeFullName(type)) >= 0;\r\n};\r\n\r\nss.isArrayOrTypedArray = function ss$isArray(obj) {\r\n  return ss.isArray(obj) || ss.isTypedArrayType(ss.getInstanceType(obj));\r\n};\r\n\r\nss.getHashCode = function ss$getHashCode(obj) {\r\n  if (!ss.isValue(obj))\r\n    throw new ss_NullReferenceException('Cannot get hash code of null');\r\n  else if (typeof(obj.getHashCode) === 'function')\r\n    return obj.getHashCode();\r\n  else if (typeof(obj) === 'boolean') {\r\n    return obj ? 1 : 0;\r\n  }\r\n  else if (typeof(obj) === 'number') {\r\n    var s = obj.toExponential();\r\n    s = s.substr(0, s.indexOf('e'));\r\n    return parseInt(s.replace('.', ''), 10) & 0xffffffff;\r\n  }\r\n  else if (typeof(obj) === 'string') {\r\n    var res = 0;\r\n    for (var i = 0; i < obj.length; i++)\r\n      res = (res * 31 + obj.charCodeAt(i)) & 0xffffffff;\r\n    return res;\r\n  }\r\n  else if (ss.isDate(obj)) {\r\n    return obj.valueOf() & 0xffffffff;\r\n  }\r\n  else {\r\n    return ss.defaultHashCode(obj);\r\n  }\r\n};\r\n\r\nss.defaultHashCode = function ss$defaultHashCode(obj) {\r\n  return obj.$__hashCode__ || (obj.$__hashCode__ = (Math.random() * 0x100000000) | 0);\r\n};\r\n\r\n\r\nss.equals = function ss$equals(a, b) {\r\n    if (!ss.isValue(a))\r\n        throw new ss_NullReferenceException('Object is null');\r\n    else if (a !== ss && typeof(a.equals) === 'function')\r\n        return a.equals(b);\r\n    if (ss.isDate(a) && ss.isDate(b))\r\n        return a.valueOf() === b.valueOf();\r\n    else if (typeof(a) === 'function' && typeof(b) === 'function')\r\n        return ss.delegateEquals(a, b);\r\n    else if (ss.isNullOrUndefined(a) && ss.isNullOrUndefined(b))\r\n        return true;\r\n    else\r\n        return a === b;\r\n};\r\n\r\nss.compare = function ss$compare(a, b) {\r\n  if (!ss.isValue(a))\r\n    throw new ss_NullReferenceException('Object is null');\r\n  else if (typeof(a) === 'number' || typeof(a) === 'string' || typeof(a) === 'boolean')\r\n    return a < b ? -1 : (a > b ? 1 : 0);\r\n  else if (ss.isDate(a))\r\n    return ss.compare(a.valueOf(), b.valueOf());\r\n  else\r\n    return a.compareTo(b);\r\n};\r\n\r\nss.equalsT = function ss$equalsT(a, b) {\r\n  if (!ss.isValue(a))\r\n    throw new ss_NullReferenceException('Object is null');\r\n  else if (typeof(a) === 'number' || typeof(a) === 'string' || typeof(a) === 'boolean')\r\n    return a === b;\r\n  else if (ss.isDate(a))\r\n    return a.valueOf() === b.valueOf();\r\n  else\r\n    return a.equalsT(b);\r\n};\r\n\r\nss.staticEquals = function ss$staticEquals(a, b) {\r\n  if (!ss.isValue(a))\r\n    return !ss.isValue(b);\r\n  else\r\n    return ss.isValue(b) ? ss.equals(a, b) : false;\r\n};\r\n\r\nss.shallowCopy = function ss$shallowCopy(source, target) {\r\n  var keys = Object.keys(source);\r\n  for (var i = 0, l = keys.length; i < l; i++) {\r\n    var k = keys[i];\r\n    target[k] = source[k];\r\n  }\r\n};\r\n\r\nss.isLower = function ss$isLower(c) {\r\n  var s = String.fromCharCode(c);\r\n  return s === s.toLowerCase() && s !== s.toUpperCase();\r\n};\r\n\r\nss.isUpper = function ss$isUpper(c) {\r\n  var s = String.fromCharCode(c);\r\n  return s !== s.toLowerCase() && s === s.toUpperCase();\r\n};\r\n\r\nif (typeof(window) == 'object') {\r\n  // Browser-specific stuff that could go into the Web assembly, but that assembly does not have an associated JS file.\r\n  if (!window.Element) {\r\n    // IE does not have an Element constructor. This implementation should make casting to elements work.\r\n    window.Element = function() {};\r\n    window.Element.isInstanceOfType = function(instance) { return instance && typeof instance.constructor === 'undefined' && typeof instance.tagName === 'string'; };\r\n  }\r\n  window.Element.__typeName = 'Element';\r\n}\r\n\r\n///////////////////////////////////////////////////////////////////////////////\r\n// Object Extensions\r\n\r\nss.clearKeys = function ss$clearKeys(d) {\r\n  for (var n in d) {\r\n    if (d.hasOwnProperty(n))\r\n      delete d[n];\r\n  }\r\n};\r\n\r\nss.keyExists = function ss$keyExists(d, key) {\r\n  return d[key] !== undefined;\r\n};\r\n\r\nif (!Object.keys) {\r\n  Object.keys = (function() {\r\n    'use strict';\r\n    var hasOwnProperty = Object.prototype.hasOwnProperty,\r\n      hasDontEnumBug = !({toString: null}).propertyIsEnumerable('toString'),\r\n      dontEnums = ['toString','toLocaleString','valueOf','hasOwnProperty','isPrototypeOf','propertyIsEnumerable','constructor'],\r\n      dontEnumsLength = dontEnums.length;\r\n\r\n    return function (obj) {\r\n      if (typeof obj !== 'object' && (typeof obj !== 'function' || obj === null)) {\r\n        throw new TypeError('Object.keys called on non-object');\r\n      }\r\n\r\n      var result = [], prop, i;\r\n\r\n      for (prop in obj) {\r\n        if (hasOwnProperty.call(obj, prop)) {\r\n          result.push(prop);\r\n        }\r\n      }\r\n\r\n      if (hasDontEnumBug) {\r\n        for (i = 0; i < dontEnumsLength; i++) {\r\n          if (hasOwnProperty.call(obj, dontEnums[i])) {\r\n            result.push(dontEnums[i]);\r\n          }\r\n        }\r\n      }\r\n      return result;\r\n    };\r\n  }());\r\n}\r\n\r\nss.getKeyCount = function ss$getKeyCount(d) {\r\n  return Object.keys(d).length;\r\n};\r\n\r\n////////////////////////////////////////////////////////////////////////////////\r\n// Type System Implementation\r\n////////////////////////////////////////////////////////////////////////////////\r\n\r\n// When FULL_TYPE_SYSTEM is not defined, then the code is not the full-blown\r\n// type system. It's Just enough to allow us to call base class methods.\r\n\r\nss.__genericCache = {};\r\n\r\nss._makeGenericTypeName = function ss$_makeGenericTypeName(genericType, typeArguments) {\r\n  var result = genericType.__typeName;\r\n  for (var i = 0; i < typeArguments.length; i++)\r\n    result += (i === 0 ? '[' : ',') + '[' + ss.getTypeQName(typeArguments[i]) + ']';\r\n  result += ']';\r\n  return result;\r\n};\r\n\r\nss.makeGenericType = function ss$makeGenericType(genericType, typeArguments) {\r\n  var name = ss._makeGenericTypeName(genericType, typeArguments);\r\n  return ss.__genericCache[name] || genericType.apply(null, typeArguments);\r\n};\r\n\r\nss.registerGenericClassInstance = function ss$registerGenericClassInstance(instance, genericType, typeArguments, members, baseType, interfaceTypes) {\r\n  var name = ss._makeGenericTypeName(genericType, typeArguments);\r\n  ss.__genericCache[name] = instance;\r\n  instance.__typeName = name;\r\n  instance.__genericTypeDefinition = genericType;\r\n  instance.__typeArguments = typeArguments;\r\n  ss.initClass(instance, genericType.__assembly, members, baseType(), interfaceTypes());\r\n};\r\n\r\nss.registerGenericInterfaceInstance = function ss$registerGenericInterfaceInstance(instance, genericType, typeArguments, members, baseInterfaces) {\r\n  var name = ss._makeGenericTypeName(genericType, typeArguments);\r\n  ss.__genericCache[name] = instance;\r\n  instance.__typeName = name;\r\n  instance.__genericTypeDefinition = genericType;\r\n  instance.__typeArguments = typeArguments;\r\n  ss.initInterface(instance, genericType.__assembly, members, baseInterfaces());\r\n};\r\n\r\nss.isGenericTypeDefinition = function ss$isGenericTypeDefinition(type) {\r\n  return type.__isGenericTypeDefinition || false;\r\n};\r\n\r\nss.getGenericTypeDefinition = function ss$getGenericTypeDefinition(type) {\r\n  return type.__genericTypeDefinition || null;\r\n};\r\n\r\nss.getGenericParameterCount = function ss$getGenericParameterCount(type) {\r\n  return type.__typeArgumentCount || 0;\r\n};\r\n\r\nss.getGenericArguments = function ss$getGenericArguments(type) {\r\n  return type.__typeArguments || null;\r\n};\r\n\r\n\r\nss.setMetadata = function ss$_setMetadata(type, metadata) {\r\n  if (metadata.members) {\r\n    for (var i = 0; i < metadata.members.length; i++) {\r\n      var m = metadata.members[i];\r\n      m.typeDef = type;\r\n      if (m.adder) m.adder.typeDef = type;\r\n      if (m.remover) m.remover.typeDef = type;\r\n      if (m.getter) m.getter.typeDef = type;\r\n      if (m.setter) m.setter.typeDef = type;\r\n    }\r\n  }\r\n  type.__metadata = metadata;\r\n  if (metadata.variance) {\r\n    type.isAssignableFrom = function(source) {\r\n      var check = function(target, type) {\r\n        if (type.__genericTypeDefinition === target.__genericTypeDefinition && type.__typeArguments.length == target.__typeArguments.length) {\r\n          for (var i = 0; i < target.__typeArguments.length; i++) {\r\n            var v = target.__metadata.variance[i], t = target.__typeArguments[i], s = type.__typeArguments[i];\r\n            switch (v) {\r\n              case 1: if (!ss.isAssignableFrom(t, s)) return false; break;\r\n              case 2: if (!ss.isAssignableFrom(s, t)) return false; break;\r\n              default: if (s !== t) return false;\r\n            }\r\n          }\r\n          return true;\r\n        }\r\n        return false;\r\n      };\r\n\r\n      if (source.__interface && check(this, source))\r\n        return true;\r\n      var ifs = ss.getInterfaces(source);\r\n      for (var i = 0; i < ifs.length; i++) {\r\n        if (ifs[i] === this || check(this, ifs[i]))\r\n          return true;\r\n      }\r\n      return false;\r\n    };\r\n  }\r\n}\r\nss.setMetadata = function ss$_setMetadata(type, metadata) {\r\n};\r\n\r\nss.initClass = function ss$initClass(ctor, asm, members, baseType, interfaces) {\r\n  ctor.__class = true;\r\n  ctor.__assembly = asm;\r\n  if (!ctor.__typeArguments)\r\n    asm.__types[ctor.__typeName] = ctor;\r\n  if (baseType && baseType !== Object) {\r\n    var f = function(){};\r\n    f.prototype = baseType.prototype;\r\n    ctor.prototype = new f();\r\n    ctor.prototype.constructor = ctor;\r\n  }\r\n  ss.shallowCopy(members, ctor.prototype);\r\n  if (interfaces)\r\n    ctor.__interfaces = interfaces;\r\n};\r\n\r\nss.initGenericClass = function ss$initGenericClass(ctor, asm, typeArgumentCount) {\r\n  ctor.__class = true;\r\n  ctor.__assembly = asm;\r\n  asm.__types[ctor.__typeName] = ctor;\r\n  ctor.__typeArgumentCount = typeArgumentCount;\r\n  ctor.__isGenericTypeDefinition = true;\r\n};\r\n\r\nss.initInterface = function ss$initInterface(ctor, asm, members, baseInterfaces) {\r\n  ctor.__interface = true;\r\n  ctor.__assembly = asm;\r\n  if (!ctor.__typeArguments)\r\n    asm.__types[ctor.__typeName] = ctor;\r\n  if (baseInterfaces)\r\n    ctor.__interfaces = baseInterfaces;\r\n  ss.shallowCopy(members, ctor.prototype);\r\n  ctor.isAssignableFrom = function(type) { return ss.contains(ss.getInterfaces(type), this); };\r\n};\r\n\r\nss.initGenericInterface = function ss$initGenericClass(ctor, asm, typeArgumentCount) {\r\n  ctor.__interface = true;\r\n  ctor.__assembly = asm;\r\n  asm.__types[ctor.__typeName] = ctor;\r\n  ctor.__typeArgumentCount = typeArgumentCount;\r\n  ctor.__isGenericTypeDefinition = true;\r\n};\r\n\r\nss.initEnum = function ss$initEnum(ctor, asm, members, namedValues) {\r\n  ctor.__enum = true;\r\n  ctor.__assembly = asm;\r\n  asm.__types[ctor.__typeName] = ctor;\r\n  ss.shallowCopy(members, ctor.prototype);\r\n  ctor.getDefaultValue = ctor.createInstance = function() { return namedValues ? null : 0; };\r\n  ctor.isInstanceOfType = function(instance) { return typeof(instance) == (namedValues ? 'string' : 'number'); };\r\n};\r\n\r\nss.getBaseType = function ss$getBaseType(type) {\r\n  if (type === Object || type.__interface) {\r\n    return null;\r\n  }\r\n  else if (Object.getPrototypeOf) {\r\n    return Object.getPrototypeOf(type.prototype).constructor;\r\n  }\r\n  else {\r\n    var p = type.prototype;\r\n    if (Object.prototype.hasOwnProperty.call(p, 'constructor')) {\r\n      try {\r\n        var ownValue = p.constructor;\r\n        delete p.constructor;\r\n        return p.constructor;\r\n      }\r\n      finally {\r\n        p.constructor = ownValue;\r\n      }\r\n    }\r\n    return p.constructor;\r\n  }\r\n};\r\n\r\nss.getTypeFullName = function ss$getTypeFullName(type) {\r\n  return type.__typeName || type.name || (type.toString().match(/^\\s*function\\s*([^\\s(]+)/) || [])[1] || 'Object';\r\n};\r\n\r\nss.getTypeQName = function ss$getTypeFullName(type) {\r\n  return ss.getTypeFullName(type) + (type.__assembly ? ', ' + type.__assembly.name : '');\r\n};\r\n\r\nss.getTypeName = function ss$getTypeName(type) {\r\n  var fullName = ss.getTypeFullName(type);\r\n  var bIndex = fullName.indexOf('[');\r\n  var nsIndex = fullName.lastIndexOf('.', bIndex >= 0 ? bIndex : fullName.length);\r\n  return nsIndex > 0 ? fullName.substr(nsIndex + 1) : fullName;\r\n};\r\n\r\nss.getTypeNamespace = function ss$getTypeNamespace(type) {\r\n  var fullName = ss.getTypeFullName(type);\r\n  var bIndex = fullName.indexOf('[');\r\n  var nsIndex = fullName.lastIndexOf('.', bIndex >= 0 ? bIndex : fullName.length);\r\n  return nsIndex > 0 ? fullName.substr(0, nsIndex) : '';\r\n};\r\n\r\nss.getTypeAssembly = function ss$getTypeAssembly(type) {\r\n  if (ss.contains([Date, Number, Boolean, String, Function, Array], type))\r\n    return ss;\r\n  else\r\n    return type.__assembly || null;\r\n};\r\n\r\nss._getAssemblyType = function ss$_getAssemblyType(asm, name) {\r\n  var result = [];\r\n  if (asm.__types) {\r\n    return asm.__types[name] || null;\r\n  }\r\n  else {\r\n    var a = name.split('.');\r\n    for (var i = 0; i < a.length; i++) {\r\n      asm = asm[a[i]];\r\n      if (!ss.isValue(asm))\r\n        return null;\r\n    }\r\n    if (typeof asm !== 'function')\r\n      return null;\r\n    return asm;\r\n  }\r\n};\r\n\r\nss.getAssemblyTypes = function ss$getAssemblyTypes(asm) {\r\n  var result = [];\r\n  if (asm.__types) {\r\n    for (var t in asm.__types) {\r\n      if (asm.__types.hasOwnProperty(t))\r\n        result.push(asm.__types[t]);\r\n    }\r\n  }\r\n  else {\r\n    var traverse = function(s, n) {\r\n      for (var c in s) {\r\n        if (s.hasOwnProperty(c))\r\n          traverse(s[c], c);\r\n      }\r\n      if (typeof(s) === 'function' && ss.isUpper(n.charCodeAt(0)))\r\n        result.push(s);\r\n    };\r\n    traverse(asm, '');\r\n  }\r\n  return result;\r\n};\r\n\r\nss.createAssemblyInstance = function ss$createAssemblyInstance(asm, typeName) {\r\n  var t = ss.getType(typeName, asm);\r\n  return t ? ss.createInstance(t) : null;\r\n};\r\n\r\nss.getInterfaces = function ss$getInterfaces(type) {\r\n  if (type.__interfaces)\r\n    return type.__interfaces;\r\n  else if (type === Date || type === Number)\r\n    return [ ss_IEquatable, ss_IComparable, ss_IFormattable ];\r\n  else if (type === Boolean || type === String)\r\n    return [ ss_IEquatable, ss_IComparable ];\r\n  else if (type === Array || ss.isTypedArrayType(type))\r\n    return [ ss_IEnumerable, ss_ICollection, ss_IList ];\r\n  else\r\n    return [];\r\n};\r\n\r\nss.isInstanceOfType = function ss$isInstanceOfType(instance, type) {\r\n  if (ss.isNullOrUndefined(instance))\r\n    return false;\r\n\r\n  if (typeof(type.isInstanceOfType) === 'function')\r\n    return type.isInstanceOfType(instance);\r\n\r\n  return ss.isAssignableFrom(type, ss.getInstanceType(instance));\r\n};\r\n\r\nss.isAssignableFrom = function ss$isAssignableFrom(target, type) {\r\n  return target === type || (typeof(target.isAssignableFrom) === 'function' && target.isAssignableFrom(type)) || type.prototype instanceof target;\r\n};\r\n\r\nss.isClass = function Type$isClass(type) {\r\n  return (type.__class == true || type === Array || type === Function || type === RegExp || type === String || type === Error || type === Object);\r\n};\r\n\r\nss.isEnum = function Type$isEnum(type) {\r\n  return !!type.__enum;\r\n};\r\n\r\nss.isFlags = function Type$isFlags(type) {\r\n  return type.__metadata && type.__metadata.enumFlags || false;\r\n};\r\n\r\nss.isInterface = function Type$isInterface(type) {\r\n  return !!type.__interface;\r\n};\r\n\r\nss.safeCast = function ss$safeCast(instance, type) {\r\n  if (type === true)\r\n    return instance;\r\n  else if (type === false)\r\n    return null;\r\n  else\r\n    return ss.isInstanceOfType(instance, type) ? instance : null;\r\n};\r\n\r\nss.cast = function ss$cast(instance, type) {\r\n  if (instance === null || typeof(instance) === 'undefined')\r\n    return instance;\r\n  else if (type === true || (type !== false && ss.isInstanceOfType(instance, type)))\r\n    return instance;\r\n  throw new ss_InvalidCastException('Cannot cast object to type ' + ss.getTypeFullName(type));\r\n};\r\n\r\nss.getInstanceType = function ss$getInstanceType(instance) {\r\n  if (!ss.isValue(instance))\r\n    throw new ss_NullReferenceException('Cannot get type of null');\r\n\r\n  // NOTE: We have to catch exceptions because the constructor\r\n  //       cannot be looked up on native COM objects\r\n  try {\r\n    return instance.constructor;\r\n  }\r\n  catch (ex) {\r\n    return Object;\r\n  }\r\n};\r\n\r\nss._getType = function (typeName, asm, re) {\r\n  var outer = !re;\r\n  re = re || /[[,\\]]/g;\r\n  var last = re.lastIndex, m = re.exec(typeName), tname, targs = [];\r\n  if (m) {\r\n    tname = typeName.substring(last, m.index);\r\n    switch (m[0]) {\r\n      case '[':\r\n        if (typeName[m.index + 1] != '[')\r\n          return null;\r\n        for (;;) {\r\n          re.exec(typeName);\r\n          var t = ss._getType(typeName, global, re);\r\n          if (!t)\r\n            return null;\r\n          targs.push(t);\r\n          m = re.exec(typeName);\r\n          if (m[0] === ']')\r\n            break;\r\n          else if (m[0] !== ',')\r\n            return null;\r\n        }\r\n        m = re.exec(typeName);\r\n        if (m && m[0] === ',') {\r\n          re.exec(typeName);\r\n          if (!(asm = ss.__assemblies[(re.lastIndex > 0 ? typeName.substring(m.index + 1, re.lastIndex - 1) : typeName.substring(m.index + 1)).trim()]))\r\n            return null;\r\n        }\r\n        break;\r\n\r\n      case ']':\r\n        break;\r\n\r\n      case ',':\r\n        re.exec(typeName);\r\n        if (!(asm = ss.__assemblies[(re.lastIndex > 0 ? typeName.substring(m.index + 1, re.lastIndex - 1) : typeName.substring(m.index + 1)).trim()]))\r\n          return null;\r\n        break;\r\n    }\r\n  }\r\n  else {\r\n    tname = typeName.substring(last);\r\n  }\r\n\r\n  if (outer && re.lastIndex)\r\n    return null;\r\n\r\n  var t = ss._getAssemblyType(asm, tname.trim());\r\n  return targs.length ? ss.makeGenericType(t, targs) : t;\r\n}\r\n\r\nss.getType = function ss$getType(typeName, asm) {\r\n  return typeName ? ss._getType(typeName, asm || global) : null;\r\n};\r\n\r\nss.getDefaultValue = function ss$getDefaultValue(type) {\r\n  if (typeof(type.getDefaultValue) === 'function')\r\n    return type.getDefaultValue();\r\n  else if (type === Boolean)\r\n    return false;\r\n  else if (type === Date)\r\n    return new Date(0);\r\n  else if (type === Number)\r\n    return 0;\r\n  return null;\r\n};\r\n\r\nss.createInstance = function ss$createInstance(type) {\r\n  if (typeof(type.createInstance) === 'function')\r\n    return type.createInstance();\r\n  else if (type === Boolean)\r\n    return false;\r\n  else if (type === Date)\r\n    return new Date(0);\r\n  else if (type === Number)\r\n    return 0;\r\n  else if (type === String)\r\n    return '';\r\n  else\r\n    return new type();\r\n};\r\n\r\n\r\n///////////////////////////////////////////////////////////////////////////////\r\n// IFormattable\r\n\r\nvar ss_IFormattable = function IFormattable$() { };\r\n\r\nss_IFormattable.__typeName = 'ss.IFormattable';\r\nss.IFormattable = ss_IFormattable;\r\nss.initInterface(ss_IFormattable, ss, { format: null });\r\n\r\n\r\n///////////////////////////////////////////////////////////////////////////////\r\n// IComparable\r\n\r\nvar ss_IComparable = function IComparable$() { };\r\n\r\nss_IComparable.__typeName = 'ss.IComparable';\r\nss.IComparable = ss_IComparable;\r\nss.initInterface(ss_IComparable, ss, { compareTo: null });\r\n\r\n///////////////////////////////////////////////////////////////////////////////\r\n// IEquatable\r\n\r\nvar ss_IEquatable = function IEquatable$() { };\r\n\r\nss_IEquatable.__typeName = 'ss.IEquatable';\r\nss.IEquatable = ss_IEquatable;\r\nss.initInterface(ss_IEquatable, ss, { equalsT: null });\r\n\r\n///////////////////////////////////////////////////////////////////////////////\r\n// Number Extensions\r\n\r\n\r\n///////////////////////////////////////////////////////////////////////////////\r\n// String Extensions\r\n\r\n\r\nss.isNullOrEmptyString = function ss$isNullOrEmptyString(s) {\r\n  return !s || !s.length;\r\n};\r\n\r\n\r\nif (!String.prototype.trim) {\r\n  String.prototype.trim = function String$trim() {\r\n    return ss.trimStartString(ss.trimEndString(this));\r\n  };\r\n}\r\n\r\nss.trimEndString = function ss$trimEndString(s, chars) {\r\n  return s.replace(chars ? new RegExp('[' + String.fromCharCode.apply(null, chars) + ']+$') : /\\s*$/, '');\r\n};\r\n\r\nss.trimStartString = function ss$trimStartString(s, chars) {\r\n  return s.replace(chars ? new RegExp('^[' + String.fromCharCode.apply(null, chars) + ']+') : /^\\s*/, '');\r\n};\r\n\r\nss.trimString = function ss$trimString(s, chars) {\r\n  return ss.trimStartString(ss.trimEndString(s, chars), chars);\r\n};\r\n\r\n\r\n///////////////////////////////////////////////////////////////////////////////\r\n// Math Extensions\r\n\r\n\r\n///////////////////////////////////////////////////////////////////////////////\r\n// IFormatProvider\r\n\r\n///////////////////////////////////////////////////////////////////////////////\r\n// NumberFormatInfo\r\n\r\n///////////////////////////////////////////////////////////////////////////////\r\n// DateTimeFormatInfo\r\n\r\n///////////////////////////////////////////////////////////////////////////////\r\n// Array Extensions\r\n\r\n\r\nss.arrayClone = function ss$arrayClone(arr) {\r\n    if (arr.length === 1) {\r\n        return [arr[0]];\r\n    }\r\n    else {\r\n        return Array.apply(null, arr);\r\n    }\r\n};\r\n\r\n\r\nif (!Array.prototype.map) {\r\n  Array.prototype.map = function Array$map(callback, instance) {\r\n    var length = this.length;\r\n    var mapped = new Array(length);\r\n    for (var i = 0; i < length; i++) {\r\n      if (i in this) {\r\n        mapped[i] = callback.call(instance, this[i], i, this);\r\n      }\r\n    }\r\n    return mapped;\r\n  };\r\n}\r\n\r\n\r\nif (!Array.prototype.some) {\r\n  Array.prototype.some = function Array$some(callback, instance) {\r\n    var length = this.length;\r\n    for (var i = 0; i < length; i++) {\r\n      if (i in this && callback.call(instance, this[i], i, this)) {\r\n        return true;\r\n      }\r\n    }\r\n    return false;\r\n  };\r\n}\r\n\r\n// Production steps of ECMA-262, Edition 5, 15.4.4.18\r\n// Reference: http://es5.github.io/#x15.4.4.18\r\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach\r\nif (!Array.prototype.forEach) {\r\n\r\n  Array.prototype.forEach = function(callback, thisArg) {\r\n\r\n      var T, k;\r\n\r\n      if (this == null) {\r\n          throw new TypeError(' this is null or not defined');\r\n      }\r\n\r\n      // 1. Let O be the result of calling ToObject passing the |this| value as the argument.\r\n      var O = Object(this);\r\n\r\n      // 2. Let lenValue be the result of calling the Get internal method of O with the argument \"length\".\r\n      // 3. Let len be ToUint32(lenValue).\r\n      var len = O.length >>> 0;\r\n\r\n      // 4. If IsCallable(callback) is false, throw a TypeError exception.\r\n      // See: http://es5.github.com/#x9.11\r\n      if (typeof callback !== \"function\") {\r\n          throw new TypeError(callback + ' is not a function');\r\n      }\r\n\r\n      // 5. If thisArg was supplied, let T be thisArg; else let T be undefined.\r\n      if (arguments.length > 1) {\r\n          T = thisArg;\r\n      }\r\n\r\n      // 6. Let k be 0\r\n      k = 0;\r\n\r\n      // 7. Repeat, while k < len\r\n      while (k < len) {\r\n\r\n          var kValue;\r\n\r\n          // a. Let Pk be ToString(k).\r\n          //   This is implicit for LHS operands of the in operator\r\n          // b. Let kPresent be the result of calling the HasProperty internal method of O with argument Pk.\r\n          //   This step can be combined with c\r\n          // c. If kPresent is true, then\r\n          if (k in O) {\r\n\r\n              // i. Let kValue be the result of calling the Get internal method of O with argument Pk.\r\n              kValue = O[k];\r\n\r\n              // ii. Call the Call internal method of callback with T as the this value and\r\n              // argument list containing kValue, k, and O.\r\n              callback.call(T, kValue, k, O);\r\n          }\r\n          // d. Increase k by 1.\r\n          k++;\r\n      }\r\n      // 8. return undefined\r\n  };\r\n}\r\n\r\n// Production steps of ECMA-262, Edition 5\r\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter\r\nif (!Array.prototype.filter) {\r\n    Array.prototype.filter = function(fun/*, thisArg*/) {\r\n\r\n        if (this === void 0 || this === null) {\r\n            throw new TypeError();\r\n        }\r\n\r\n        var t = Object(this);\r\n        var len = t.length >>> 0;\r\n        if (typeof fun !== 'function') {\r\n            throw new TypeError();\r\n        }\r\n\r\n        var res = [];\r\n        var thisArg = arguments.length >= 2 ? arguments[1] : void 0;\r\n        for (var i = 0; i < len; i++) {\r\n            if (i in t) {\r\n                var val = t[i];\r\n\r\n                // NOTE: Technically this should Object.defineProperty at\r\n                //       the next index, as push can be affected by\r\n                //       properties on Object.prototype and Array.prototype.\r\n                //       But that method's new, and collisions should be\r\n                //       rare, so use the more-compatible alternative.\r\n                if (fun.call(thisArg, val, i, t)) {\r\n                    res.push(val);\r\n                }\r\n            }\r\n        }\r\n\r\n        return res;\r\n    };\r\n}\r\n\r\n\r\n///////////////////////////////////////////////////////////////////////////////\r\n// Date Extensions\r\n\r\n\r\n///////////////////////////////////////////////////////////////////////////////\r\n// Function Extensions\r\n\r\nss._delegateContains = function ss$_delegateContains(targets, object, method) {\r\n  for (var i = 0; i < targets.length; i += 2) {\r\n    if (targets[i] === object && targets[i + 1] === method) {\r\n      return true;\r\n    }\r\n  }\r\n  return false;\r\n};\r\n\r\nss._mkdel = function ss$_mkdel(targets) {\r\n  var delegate = function() {\r\n    if (targets.length == 2) {\r\n      return targets[1].apply(targets[0], arguments);\r\n    }\r\n    else {\r\n      var clone = ss.arrayClone(targets);\r\n      for (var i = 0; i < clone.length; i += 2) {\r\n        if (ss._delegateContains(targets, clone[i], clone[i + 1])) {\r\n          clone[i + 1].apply(clone[i], arguments);\r\n        }\r\n      }\r\n      return null;\r\n    }\r\n  };\r\n  delegate._targets = targets;\r\n\r\n  return delegate;\r\n};\r\n\r\nss.mkdel = function ss$mkdel(object, method) {\r\n  if (!object) {\r\n    return method;\r\n  }\r\n  return ss._mkdel([object, method]);\r\n};\r\n\r\nss.delegateCombine = function ss$delegateCombine(delegate1, delegate2) {\r\n  if (!delegate1) {\r\n    if (!delegate2._targets) {\r\n      return ss.mkdel(null, delegate2);\r\n    }\r\n    return delegate2;\r\n  }\r\n  if (!delegate2) {\r\n    if (!delegate1._targets) {\r\n      return ss.mkdel(null, delegate1);\r\n    }\r\n    return delegate1;\r\n  }\r\n\r\n  var targets1 = delegate1._targets ? delegate1._targets : [null, delegate1];\r\n  var targets2 = delegate2._targets ? delegate2._targets : [null, delegate2];\r\n\r\n  return ss._mkdel(targets1.concat(targets2));\r\n};\r\n\r\nss.delegateRemove = function ss$delegateRemove(delegate1, delegate2) {\r\n  if (!delegate1 || (delegate1 === delegate2)) {\r\n    return null;\r\n  }\r\n  if (!delegate2) {\r\n    return delegate1;\r\n  }\r\n\r\n  var targets = delegate1._targets;\r\n  var object = null;\r\n  var method;\r\n  if (delegate2._targets) {\r\n    object = delegate2._targets[0];\r\n    method = delegate2._targets[1];\r\n  }\r\n  else {\r\n    method = delegate2;\r\n  }\r\n\r\n  for (var i = 0; i < targets.length; i += 2) {\r\n    if ((targets[i] === object) && (targets[i + 1] === method)) {\r\n      if (targets.length == 2) {\r\n        return null;\r\n      }\r\n      var t = ss.arrayClone(targets);\r\n      t.splice(i, 2);\r\n      return ss._mkdel(t);\r\n    }\r\n  }\r\n\r\n  return delegate1;\r\n};\r\n\r\nss.delegateEquals = function ss$delegateEquals(a, b) {\r\n    if (a === b)\r\n        return true;\r\n    if (!a._targets && !b._targets)\r\n        return false;\r\n    var ta = a._targets || [null, a], tb = b._targets || [null, b];\r\n    if (ta.length != tb.length)\r\n        return false;\r\n    for (var i = 0; i < ta.length; i++) {\r\n        if (ta[i] !== tb[i])\r\n            return false;\r\n    }\r\n    return true;\r\n};\r\n\r\n\r\n///////////////////////////////////////////////////////////////////////////////\r\n// RegExp Extensions\r\n\r\n\r\n///////////////////////////////////////////////////////////////////////////////\r\n// Debug Extensions\r\n\r\n\r\n///////////////////////////////////////////////////////////////////////////////\r\n// Enum\r\n\r\nvar ss_Enum = function Enum$() {\r\n};\r\nss_Enum.__typeName = 'ss.Enum';\r\nss.Enum = ss_Enum;\r\nss.initClass(ss_Enum, ss, {});\r\n\r\n\r\nss_Enum.getValues = function Enum$getValues(enumType) {\r\n  var parts = [];\r\n  var values = enumType.prototype;\r\n  for (var i in values) {\r\n    if (values.hasOwnProperty(i))\r\n      parts.push(values[i]);\r\n  }\r\n  return parts;\r\n};\r\n\r\n///////////////////////////////////////////////////////////////////////////////\r\n// CultureInfo\r\n\r\n\r\n///////////////////////////////////////////////////////////////////////////////\r\n// IEnumerator\r\n\r\nvar ss_IEnumerator = function IEnumerator$() { };\r\n\r\nss_IEnumerator.__typeName = 'ss.IEnumerator';\r\nss.IEnumerator = ss_IEnumerator;\r\nss.initInterface(ss_IEnumerator, ss, { current: null, moveNext: null, reset: null }, [ss_IDisposable]);\r\n\r\n///////////////////////////////////////////////////////////////////////////////\r\n// IEnumerable\r\n\r\nvar ss_IEnumerable = function IEnumerable$() { };\r\n\r\nss_IEnumerable.__typeName = 'ss.IEnumerable';\r\nss.IEnumerable = ss_IEnumerable;\r\nss.initInterface(ss_IEnumerable, ss, { getEnumerator: null });\r\n\r\nss.getEnumerator = function ss$getEnumerator(obj) {\r\n  return obj.getEnumerator ? obj.getEnumerator() : new ss_ArrayEnumerator(obj);\r\n};\r\n\r\n///////////////////////////////////////////////////////////////////////////////\r\n// ICollection\r\n\r\nvar ss_ICollection = function ICollection$() { };\r\n\r\nss_ICollection.__typeName = 'ss.ICollection';\r\nss.ICollection = ss_ICollection;\r\nss.initInterface(ss_ICollection, ss, { get_count: null, add: null, clear: null, contains: null, remove: null });\r\n\r\nss.count = function ss$count(obj) {\r\n  return obj.get_count ? obj.get_count() : obj.length;\r\n};\r\n\r\nss.add = function ss$add(obj, item) {\r\n  if (obj.add)\r\n    obj.add(item);\r\n  else if (ss.isArray(obj))\r\n    obj.push(item);\r\n  else\r\n    throw new ss_NotSupportedException();\r\n};\r\n\r\nss.clear = function ss$clear(obj) {\r\n  if (obj.clear)\r\n    obj.clear();\r\n  else if (ss.isArray(obj))\r\n    obj.length = 0;\r\n  else\r\n    throw new ss_NotSupportedException();\r\n};\r\n\r\nss.remove = function ss$remove(obj, item) {\r\n  if (obj.remove)\r\n    return obj.remove(item);\r\n  else if (ss.isArray(obj)) {\r\n    var index = ss.indexOf(obj, item);\r\n    if (index >= 0) {\r\n      obj.splice(index, 1);\r\n      return true;\r\n    }\r\n    return false;\r\n  }\r\n  else\r\n    throw new ss_NotSupportedException();\r\n};\r\n\r\nss.contains = function ss$contains(obj, item) {\r\n  if (obj.contains)\r\n    return obj.contains(item);\r\n  else\r\n    return ss.indexOf(obj, item) >= 0;\r\n};\r\n\r\n///////////////////////////////////////////////////////////////////////////////\r\n// TimeSpan\r\n\r\n\r\n///////////////////////////////////////////////////////////////////////////////\r\n// IEqualityComparer\r\n\r\nvar ss_IEqualityComparer = function IEqualityComparer$() { };\r\n\r\nss_IEqualityComparer.__typeName = 'ss.IEqualityComparer';\r\nss.IEqualityComparer = ss_IEqualityComparer;\r\nss.initInterface(ss_IEqualityComparer, ss, { areEqual: null, getObjectHashCode: null });\r\n\r\n///////////////////////////////////////////////////////////////////////////////\r\n// IComparer\r\n\r\nvar ss_IComparer = function IComparer$() { };\r\n\r\nss_IComparer.__typeName = 'ss.IComparer';\r\nss.IComparer = ss_IComparer;\r\nss.initInterface(ss_IComparer, ss, { compare: null });\r\n\r\n///////////////////////////////////////////////////////////////////////////////\r\n// Nullable\r\n\r\nss.unbox = function ss$unbox(instance) {\r\n  if (!ss.isValue(instance))\r\n    throw new ss_InvalidOperationException('Nullable object must have a value.');\r\n  return instance;\r\n};\r\n\r\nvar ss_Nullable$1 = function Nullable$1$(T) {\r\n  var $type = function() {\r\n  };\r\n  $type.isInstanceOfType = function(instance) {\r\n    return ss.isInstanceOfType(instance, T);\r\n  };\r\n  ss.registerGenericClassInstance($type, ss_Nullable$1, [T], {}, function() { return null; }, function() { return []; });\r\n  return $type;\r\n};\r\n\r\nss_Nullable$1.__typeName = 'ss.Nullable$1';\r\nss.Nullable$1 = ss_Nullable$1;\r\nss.initGenericClass(ss_Nullable$1, ss, 1);\r\n\r\nss_Nullable$1.eq = function Nullable$eq(a, b) {\r\n  return !ss.isValue(a) ? !ss.isValue(b) : (a === b);\r\n};\r\n\r\nss_Nullable$1.ne = function Nullable$eq(a, b) {\r\n  return !ss.isValue(a) ? ss.isValue(b) : (a !== b);\r\n};\r\n\r\nss_Nullable$1.le = function Nullable$le(a, b) {\r\n  return ss.isValue(a) && ss.isValue(b) && a <= b;\r\n};\r\n\r\nss_Nullable$1.ge = function Nullable$ge(a, b) {\r\n  return ss.isValue(a) && ss.isValue(b) && a >= b;\r\n};\r\n\r\nss_Nullable$1.lt = function Nullable$lt(a, b) {\r\n  return ss.isValue(a) && ss.isValue(b) && a < b;\r\n};\r\n\r\nss_Nullable$1.gt = function Nullable$gt(a, b) {\r\n  return ss.isValue(a) && ss.isValue(b) && a > b;\r\n};\r\n\r\nss_Nullable$1.sub = function Nullable$sub(a, b) {\r\n  return ss.isValue(a) && ss.isValue(b) ? a - b : null;\r\n};\r\n\r\nss_Nullable$1.add = function Nullable$add(a, b) {\r\n  return ss.isValue(a) && ss.isValue(b) ? a + b : null;\r\n};\r\n\r\nss_Nullable$1.mod = function Nullable$mod(a, b) {\r\n  return ss.isValue(a) && ss.isValue(b) ? a % b : null;\r\n};\r\n\r\nss_Nullable$1.div = function Nullable$divf(a, b) {\r\n  return ss.isValue(a) && ss.isValue(b) ? a / b : null;\r\n};\r\n\r\nss_Nullable$1.mul = function Nullable$mul(a, b) {\r\n  return ss.isValue(a) && ss.isValue(b) ? a * b : null;\r\n};\r\n\r\nss_Nullable$1.band = function Nullable$band(a, b) {\r\n  return ss.isValue(a) && ss.isValue(b) ? a & b : null;\r\n};\r\n\r\nss_Nullable$1.bor = function Nullable$bor(a, b) {\r\n  return ss.isValue(a) && ss.isValue(b) ? a | b : null;\r\n};\r\n\r\nss_Nullable$1.xor = function Nullable$xor(a, b) {\r\n  return ss.isValue(a) && ss.isValue(b) ? a ^ b : null;\r\n};\r\n\r\nss_Nullable$1.shl = function Nullable$shl(a, b) {\r\n  return ss.isValue(a) && ss.isValue(b) ? a << b : null;\r\n};\r\n\r\nss_Nullable$1.srs = function Nullable$srs(a, b) {\r\n  return ss.isValue(a) && ss.isValue(b) ? a >> b : null;\r\n};\r\n\r\nss_Nullable$1.sru = function Nullable$sru(a, b) {\r\n  return ss.isValue(a) && ss.isValue(b) ? a >>> b : null;\r\n};\r\n\r\nss_Nullable$1.and = function Nullable$and(a, b) {\r\n  if (a === true && b === true)\r\n    return true;\r\n  else if (a === false || b === false)\r\n    return false;\r\n  else\r\n    return null;\r\n};\r\n\r\nss_Nullable$1.or = function Nullable$or(a, b) {\r\n  if (a === true || b === true)\r\n    return true;\r\n  else if (a === false && b === false)\r\n    return false;\r\n  else\r\n    return null;\r\n};\r\n\r\nss_Nullable$1.not = function Nullable$not(a) {\r\n  return ss.isValue(a) ? !a : null;\r\n};\r\n\r\nss_Nullable$1.neg = function Nullable$neg(a) {\r\n  return ss.isValue(a) ? -a : null;\r\n};\r\n\r\nss_Nullable$1.pos = function Nullable$pos(a) {\r\n  return ss.isValue(a) ? +a : null;\r\n};\r\n\r\nss_Nullable$1.cpl = function Nullable$cpl(a) {\r\n  return ss.isValue(a) ? ~a : null;\r\n};\r\n\r\nss_Nullable$1.lift = function Nullable$lift() {\r\n  for (var i = 0; i < arguments.length; i++) {\r\n    if (!ss.isValue(arguments[i]))\r\n      return null;\r\n  }\r\n  return arguments[0].apply(null, Array.prototype.slice.call(arguments, 1));\r\n};\r\n\r\n///////////////////////////////////////////////////////////////////////////////\r\n// IList\r\n\r\nvar ss_IList = function IList$() { };\r\n\r\nss_IList.__typeName = 'ss.IList';\r\nss.IList = ss_IList;\r\nss.initInterface(ss_IList, ss, { get_item: null, set_item: null, indexOf: null, insert: null, removeAt: null }, [ss_ICollection, ss_IEnumerable]);\r\n\r\nss.getItem = function ss$getItem(obj, index) {\r\n  return obj.get_item ? obj.get_item(index) : obj[index];\r\n}\r\n\r\nss.setItem = function ss$setItem(obj, index, value) {\r\n  obj.set_item ? obj.set_item(index, value) : (obj[index] = value);\r\n}\r\n\r\nss.indexOf = function ss$indexOf(obj, item) {\r\n  var itemType = typeof(item);\r\n  if ((!item || typeof(item.equals) !== 'function') && typeof(obj.indexOf) === 'function') {\r\n    // use indexOf if item is null or if item does not implement an equals function\r\n    return obj.indexOf(item);\r\n  } else if (ss.isArrayOrTypedArray(obj)) {\r\n    for (var i = 0; i < obj.length; i++) {\r\n      if (ss.staticEquals(obj[i], item)) {\r\n        return i;\r\n      }\r\n    }\r\n    return -1;\r\n  }\r\n  else\r\n    return obj.indexOf(item);\r\n};\r\n\r\nss.insert = function ss$insert(obj, index, item) {\r\n  if (obj.insert)\r\n    obj.insert(index, item);\r\n  else if (ss.isArray(obj))\r\n    obj.splice(index, 0, item);\r\n  else\r\n    throw new ss_NotSupportedException();\r\n};\r\n\r\nss.removeAt = function ss$removeAt(obj, index) {\r\n  if (obj.removeAt)\r\n    obj.removeAt(index);\r\n  else if (ss.isArray(obj))\r\n    obj.splice(index, 1);\r\n  else\r\n    throw new ss_NotSupportedException();\r\n};\r\n\r\n///////////////////////////////////////////////////////////////////////////////\r\n// IDictionary\r\n\r\nvar ss_IDictionary = function IDictionary$() { };\r\n\r\nss_IDictionary.__typeName = 'ss.IDictionary';\r\nss.IDictionary = ss_IDictionary;\r\nss.initInterface(ss_IDictionary, ss, { get_item: null, set_item: null, get_keys: null, get_values: null, containsKey: null, add: null, remove: null, tryGetValue: null }, [ss_IEnumerable]);\r\n\r\n///////////////////////////////////////////////////////////////////////////////\r\n// Int32\r\n\r\nvar ss_Int32 = function Int32$() { };\r\n\r\nss_Int32.__typeName = 'ss.Int32';\r\nss.Int32 = ss_Int32;\r\nss.initClass(ss_Int32, ss, {}, Object, [ ss_IEquatable, ss_IComparable, ss_IFormattable ]);\r\nss_Int32.__class = false;\r\n\r\nss_Int32.isInstanceOfType = function Int32$isInstanceOfType(instance) {\r\n  return typeof(instance) === 'number' && isFinite(instance) && Math.round(instance, 0) == instance;\r\n};\r\n\r\nss_Int32.getDefaultValue = ss_Int32.createInstance = function Int32$getDefaultValue() {\r\n  return 0;\r\n};\r\n\r\nss_Int32.div = function Int32$div(a, b) {\r\n  if (!ss.isValue(a) || !ss.isValue(b)) return null;\r\n  if (b === 0) throw new ss_DivideByZeroException();\r\n  return ss_Int32.trunc(a / b);\r\n};\r\n\r\nss_Int32.trunc = function Int32$trunc(n) {\r\n  return ss.isValue(n) ? (n > 0 ? Math.floor(n) : Math.ceil(n)) : null;\r\n};\r\n\r\nss_Int32.tryParse = function Int32$tryParse(s, result, min, max) {\r\n  result.$ = 0;\r\n  if (!/^[+-]?[0-9]+$/.test(s))\r\n    return 0;\r\n  var n = parseInt(s, 10);\r\n  if (n < min || n > max)\r\n    return false;\r\n  result.$ = n;\r\n  return true;\r\n};\r\n\r\n///////////////////////////////////////////////////////////////////////////////\r\n// MutableDateTime\r\n\r\nvar ss_JsDate = function JsDate$() { };\r\n\r\nss_JsDate.__typeName = 'ss.JsDate';\r\nss.JsDate = ss_JsDate;\r\nss.initClass(ss_JsDate, ss, {}, Object, [ ss_IEquatable, ss_IComparable ]);\r\n\r\nss_JsDate.createInstance = function JsDate$createInstance() {\r\n    return new Date();\r\n};\r\n\r\nss_JsDate.isInstanceOfType = function JsDate$isInstanceOfType(instance) {\r\n   return instance instanceof Date;\r\n};\r\n\r\n///////////////////////////////////////////////////////////////////////////////\r\n// ArrayEnumerator\r\n\r\nvar ss_ArrayEnumerator = function ArrayEnumerator$(array) {\r\n  this._array = array;\r\n  this._index = -1;\r\n};\r\nss_ArrayEnumerator.__typeName = 'ss.ArrayEnumerator';\r\nss.ArrayEnumerator = ss_ArrayEnumerator;\r\nss.initClass(ss_ArrayEnumerator, ss, {\r\n  moveNext: function ArrayEnumerator$moveNext() {\r\n    this._index++;\r\n    return (this._index < this._array.length);\r\n  },\r\n  reset: function ArrayEnumerator$reset() {\r\n    this._index = -1;\r\n  },\r\n  current: function ArrayEnumerator$current() {\r\n    if (this._index < 0 || this._index >= this._array.length)\r\n      throw 'Invalid operation';\r\n    return this._array[this._index];\r\n  },\r\n  dispose: function ArrayEnumerator$dispose() {\r\n  }\r\n}, null, [ss_IEnumerator, ss_IDisposable]);\r\n\r\n///////////////////////////////////////////////////////////////////////////////\r\n// ObjectEnumerator\r\n\r\nvar ss_ObjectEnumerator = function ObjectEnumerator$(o) {\r\n  this._keys = Object.keys(o);\r\n  this._index = -1;\r\n  this._object = o;\r\n};\r\n\r\nss_ObjectEnumerator.__typeName = 'ss.ObjectEnumerator';\r\nss.ObjectEnumerator = ss_ObjectEnumerator;\r\nss.initClass(ss_ObjectEnumerator, ss, {\r\n  moveNext: function ObjectEnumerator$moveNext() {\r\n    this._index++;\r\n    return (this._index < this._keys.length);\r\n  },\r\n  reset: function ObjectEnumerator$reset() {\r\n    this._index = -1;\r\n  },\r\n  current: function ObjectEnumerator$current() {\r\n    if (this._index < 0 || this._index >= this._keys.length)\r\n      throw new ss_InvalidOperationException('Invalid operation');\r\n    var k = this._keys[this._index];\r\n    return { key: k, value: this._object[k] };\r\n  },\r\n  dispose: function ObjectEnumerator$dispose() {\r\n  }\r\n}, null, [ss_IEnumerator, ss_IDisposable]);\r\n\r\n///////////////////////////////////////////////////////////////////////////////\r\n// EqualityComparer\r\n\r\nvar ss_EqualityComparer = function EqualityComparer$() {\r\n};\r\nss_EqualityComparer.__typeName = 'ss.EqualityComparer';\r\nss.EqualityComparer = ss_EqualityComparer;\r\nss.initClass(ss_EqualityComparer, ss, {\r\n  areEqual: function EqualityComparer$areEqual(x, y) {\r\n    return ss.staticEquals(x, y);\r\n  },\r\n  getObjectHashCode: function EqualityComparer$getObjectHashCode(obj) {\r\n    return ss.isValue(obj) ? ss.getHashCode(obj) : 0;\r\n  }\r\n}, null, [ss_IEqualityComparer]);\r\nss_EqualityComparer.def = new ss_EqualityComparer();\r\n\r\n\r\n///////////////////////////////////////////////////////////////////////////////\r\n// Comparer\r\n\r\nvar ss_Comparer = function Comparer$(f) {\r\n  this.f = f;\r\n};\r\n\r\nss_Comparer.__typeName = 'ss.Comparer';\r\nss.Comparer = ss_Comparer;\r\nss.initClass(ss_Comparer, ss, {\r\n  compare: function Comparer$compare(x, y) {\r\n    return this.f(x, y);\r\n  }\r\n}, null, [ss_IComparer]);\r\nss_Comparer.def = new ss_Comparer(function Comparer$defaultCompare(a, b) {\r\n  if (!ss.isValue(a))\r\n    return !ss.isValue(b)? 0 : -1;\r\n  else if (!ss.isValue(b))\r\n    return 1;\r\n  else\r\n    return ss.compare(a, b);\r\n});\r\n\r\n\r\n//#include \"Dictionary.js\"\r\n\r\n///////////////////////////////////////////////////////////////////////////////\r\n// IDisposable\r\n\r\nvar ss_IDisposable = function IDisposable$() { };\r\nss_IDisposable.__typeName = 'ss.IDisposable';\r\nss.IDisposable = ss_IDisposable;\r\nss.initInterface(ss_IDisposable, ss, { dispose: null });\r\n\r\n///////////////////////////////////////////////////////////////////////////////\r\n// StringBuilder\r\n\r\nvar ss_StringBuilder = function StringBuilder$(s) {\r\n  this._parts = (ss.isValue(s) && s != '') ? [s] : [];\r\n  this.length = ss.isValue(s) ? s.length : 0;\r\n}\r\n\r\nss_StringBuilder.__typeName = 'ss.StringBuilder';\r\nss.StringBuilder = ss_StringBuilder;\r\nss.initClass(ss_StringBuilder, ss, {\r\n  append: function StringBuilder$append(o) {\r\n    if (ss.isValue(o)) {\r\n      var s = o.toString();\r\n      ss.add(this._parts, s);\r\n      this.length += s.length;\r\n    }\r\n    return this;\r\n  },\r\n\r\n  appendChar: function StringBuilder$appendChar(c) {\r\n    return this.append(String.fromCharCode(c));\r\n  },\r\n\r\n  appendLine: function StringBuilder$appendLine(s) {\r\n    this.append(s);\r\n    this.append('\\r\\n');\r\n    return this;\r\n  },\r\n\r\n  appendLineChar: function StringBuilder$appendLineChar(c) {\r\n    return this.appendLine(String.fromCharCode(c));\r\n  },\r\n\r\n  clear: function StringBuilder$clear() {\r\n    this._parts = [];\r\n    this.length = 0;\r\n  },\r\n\r\n  toString: function StringBuilder$toString() {\r\n    return this._parts.join('');\r\n  }\r\n});\r\n\r\n///////////////////////////////////////////////////////////////////////////////\r\n// Random\r\n\r\n\r\n///////////////////////////////////////////////////////////////////////////////\r\n// EventArgs\r\n\r\nvar ss_EventArgs = function EventArgs$() {\r\n}\r\nss_EventArgs.__typeName = 'ss.EventArgs';\r\nss.EventArgs = ss_EventArgs;\r\nss.initClass(ss_EventArgs, ss, {});\r\n\r\nss_EventArgs.Empty = new ss_EventArgs();\r\n\r\n///////////////////////////////////////////////////////////////////////////////\r\n// Exception\r\n\r\nvar ss_Exception = function Exception$(message, innerException) {\r\n  this._message = message || 'An error occurred.';\r\n  this._innerException = innerException || null;\r\n  this._error = new Error();\r\n}\r\n\r\nss_Exception.__typeName = 'ss.Exception';\r\nss.Exception = ss_Exception;\r\nss.initClass(ss_Exception, ss, {\r\n  get_message: function Exception$get_message() {\r\n    return this._message;\r\n  },\r\n  get_innerException: function Exception$get_innerException() {\r\n    return this._innerException;\r\n  },\r\n  get_stack: function Exception$get_stack() {\r\n    return this._error.stack;\r\n  },\r\n  toString: function Exception$toString() {\r\n    var message = this._message;\r\n    var exception = this;\r\n    if (ss.isNullOrEmptyString(message)) {\r\n      if (ss.isValue(ss.getInstanceType(exception)) && ss.isValue(ss.getTypeFullName(ss.getInstanceType(exception)))) {\r\n        message = ss.getTypeFullName(ss.getInstanceType(exception));\r\n      }\r\n      else {\r\n        message = '[object Exception]';\r\n      }\r\n    }\r\n    return message;\r\n  }\r\n});\r\n\r\nss_Exception.wrap = function Exception$wrap(o) {\r\n  if (ss.isInstanceOfType(o, ss_Exception)) {\r\n    return o;\r\n  }\r\n  else if (o instanceof TypeError) {\r\n    // TypeError can either be 'cannot read property blah of null/undefined' (proper NullReferenceException), or it can be eg. accessing a non-existent method of an object.\r\n    // As long as all code is compiled, they should with a very high probability indicate the use of a null reference.\r\n    return new ss_NullReferenceException(o.message, new ss_JsErrorException(o));\r\n  }\r\n  else if (o instanceof RangeError) {\r\n    return new ss_ArgumentOutOfRangeException(null, o.message, new ss_JsErrorException(o));\r\n  }\r\n  else if (o instanceof Error) {\r\n    return new ss_JsErrorException(o);\r\n  }\r\n  else {\r\n    return new ss_Exception(o.toString());\r\n  }\r\n};\r\n\r\n////////////////////////////////////////////////////////////////////////////////\r\n// NotImplementedException\r\n\r\nvar ss_NotImplementedException = function NotImplementedException$(message, innerException) {\r\n  ss_Exception.call(this, message || 'The method or operation is not implemented.', innerException);\r\n};\r\nss_NotImplementedException.__typeName = 'ss.NotImplementedException';\r\nss.NotImplementedException = ss_NotImplementedException;\r\nss.initClass(ss_NotImplementedException, ss, {}, ss_Exception);\r\n\r\n////////////////////////////////////////////////////////////////////////////////\r\n// NotSupportedException\r\n\r\nvar ss_NotSupportedException = function NotSupportedException$(message, innerException) {\r\n  ss_Exception.call(this, message || 'Specified method is not supported.', innerException);\r\n};\r\nss_NotSupportedException.__typeName = 'ss.NotSupportedException';\r\nss.NotSupportedException = ss_NotSupportedException;\r\nss.initClass(ss_NotSupportedException, ss, {}, ss_Exception);\r\n\r\n////////////////////////////////////////////////////////////////////////////////\r\n// AggregateException\r\n\r\nvar ss_AggregateException = function AggregateException$(message, innerExceptions) {\r\n  this.innerExceptions = ss.isValue(innerExceptions) ? ss.arrayFromEnumerable(innerExceptions) : [];\r\n  ss_Exception.call(this, message || 'One or more errors occurred.', this.innerExceptions.length ? this.innerExceptions[0] : null);\r\n};\r\n\r\nss_AggregateException.__typeName = 'ss.AggregateException';\r\nss.AggregateException = ss_AggregateException;\r\nss.initClass(ss_AggregateException, ss, {\r\n  flatten: function  AggregateException$flatten() {\r\n    var inner = [];\r\n    for (var i = 0; i < this.innerExceptions.length; i++) {\r\n      var e = this.innerExceptions[i];\r\n      if (ss.isInstanceOfType(e, ss_AggregateException)) {\r\n        inner.push.apply(inner, e.flatten().innerExceptions);\r\n      }\r\n      else {\r\n        inner.push(e);\r\n      }\r\n    }\r\n    return new ss_AggregateException(this._message, inner);\r\n  }\r\n}, ss_Exception);\r\n\r\n////////////////////////////////////////////////////////////////////////////////\r\n// PromiseException\r\n\r\nvar ss_PromiseException = function PromiseException(args, message, innerException) {\r\n  ss_Exception.call(this, message || (args.length && args[0] ? args[0].toString() : 'An error occurred'), innerException);\r\n  this.arguments = ss.arrayClone(args);\r\n};\r\n\r\nss_PromiseException.__typeName = 'ss.PromiseException';\r\nss.PromiseException = ss_PromiseException;\r\nss.initClass(ss_PromiseException, ss, {\r\n  get_arguments: function PromiseException$get_arguments() {\r\n    return this._arguments;\r\n  }\r\n}, ss_Exception);\r\n\r\n////////////////////////////////////////////////////////////////////////////////\r\n// JsErrorException\r\n\r\nvar ss_JsErrorException = function JsErrorException$(error, message, innerException) {\r\n  ss_Exception.call(this, message || error.message, innerException);\r\n  this.error = error;\r\n};\r\nss_JsErrorException.__typeName = 'ss.JsErrorException';\r\nss.JsErrorException = ss_JsErrorException;\r\nss.initClass(ss_JsErrorException, ss, {\r\n  get_stack: function Exception$get_stack() {\r\n    return this.error.stack;\r\n  }\r\n}, ss_Exception);\r\n\r\n////////////////////////////////////////////////////////////////////////////////\r\n// ArgumentException\r\n\r\nvar ss_ArgumentException = function ArgumentException$(message, paramName, innerException) {\r\n  ss_Exception.call(this, message || 'Value does not fall within the expected range.', innerException);\r\n  this.paramName = paramName || null;\r\n};\r\n\r\nss_ArgumentException.__typeName = 'ss.ArgumentException';\r\nss.ArgumentException = ss_ArgumentException;\r\nss.initClass(ss_ArgumentException, ss, {}, ss_Exception);\r\n\r\n////////////////////////////////////////////////////////////////////////////////\r\n// ArgumentNullException\r\n\r\nvar ss_ArgumentNullException = function ArgumentNullException$(paramName, message, innerException) {\r\n  if (!message) {\r\n    message = 'Value cannot be null.';\r\n    if (paramName)\r\n      message += '\\nParameter name: ' + paramName;\r\n  }\r\n\r\n  ss_ArgumentException.call(this, message, paramName, innerException);\r\n};\r\n\r\nss_ArgumentNullException.__typeName = 'ss.ArgumentNullException';\r\nss.ArgumentNullException = ss_ArgumentNullException;\r\nss.initClass(ss_ArgumentNullException, ss, {}, ss_ArgumentException);\r\n\r\n////////////////////////////////////////////////////////////////////////////////\r\n// ArgumentNullException\r\n\r\nvar ss_ArgumentOutOfRangeException = function ArgumentOutOfRangeException$(paramName, message, innerException, actualValue) {\r\n  if (!message) {\r\n    message = 'Value is out of range.';\r\n    if (paramName)\r\n      message += '\\nParameter name: ' + paramName;\r\n  }\r\n\r\n  ss_ArgumentException.call(this, message, paramName, innerException);\r\n  this.actualValue = actualValue || null;\r\n};\r\n\r\nss_ArgumentOutOfRangeException.__typeName = 'ss.ArgumentOutOfRangeException';\r\nss.ArgumentOutOfRangeException = ss_ArgumentOutOfRangeException;\r\nss.initClass(ss_ArgumentOutOfRangeException, ss, {}, ss_ArgumentException);\r\n\r\n////////////////////////////////////////////////////////////////////////////////\r\n// FormatException\r\n\r\nvar ss_FormatException = function FormatException$(message, innerException) {\r\n  ss_Exception.call(this, message || 'Invalid format.', innerException);\r\n};\r\nss_FormatException.__typeName = 'ss.FormatException';\r\nss.FormatException = ss_FormatException;\r\nss.initClass(ss_FormatException, ss, {}, ss_Exception);\r\n\r\n////////////////////////////////////////////////////////////////////////////////\r\n// DivideByZeroException\r\n\r\nvar ss_DivideByZeroException = function DivideByZeroException$(message, innerException) {\r\n  ss_Exception.call(this, message || 'Division by 0.', innerException);\r\n};\r\nss_DivideByZeroException.__typeName = 'ss.DivideByZeroException';\r\nss.DivideByZeroException = ss_DivideByZeroException;\r\nss.initClass(ss_DivideByZeroException, ss, {}, ss_Exception);\r\n\r\n////////////////////////////////////////////////////////////////////////////////\r\n// InvalidCastException\r\n\r\nvar ss_InvalidCastException = function InvalidCastException$(message, innerException) {\r\n  ss_Exception.call(this, message || 'The cast is not valid.', innerException);\r\n};\r\nss_InvalidCastException.__typeName = 'ss.InvalidCastException';\r\nss.InvalidCastException = ss_InvalidCastException;\r\nss.initClass(ss_InvalidCastException, ss, {}, ss_Exception);\r\n\r\n////////////////////////////////////////////////////////////////////////////////\r\n// InvalidOperationException\r\n\r\nvar ss_InvalidOperationException = function InvalidOperationException$(message, innerException) {\r\n  ss_Exception.call(this, message || 'Operation is not valid due to the current state of the object.', innerException);\r\n};\r\nss_InvalidOperationException.__typeName = 'ss.InvalidOperationException';\r\nss.InvalidOperationException = ss_InvalidOperationException;\r\nss.initClass(ss_InvalidOperationException, ss, {}, ss_Exception);\r\n\r\n////////////////////////////////////////////////////////////////////////////////\r\n// NullReferenceException\r\n\r\nvar ss_NullReferenceException = function NullReferenceException$(message, innerException) {\r\n  ss_Exception.call(this, message || 'Object is null.', innerException);\r\n};\r\nss_NullReferenceException.__typeName = 'ss.NullReferenceException';\r\nss.NullReferenceException = ss_NullReferenceException;\r\nss.initClass(ss_NullReferenceException, ss, {}, ss_Exception);\r\n\r\n////////////////////////////////////////////////////////////////////////////////\r\n// KeyNotFoundException\r\n\r\nvar ss_KeyNotFoundException = function KeyNotFoundException$(message, innerException) {\r\n  ss_Exception.call(this, message || 'Key not found.', innerException);\r\n};\r\nss_KeyNotFoundException.__typeName = 'ss.KeyNotFoundException';\r\nss.KeyNotFoundException = ss_KeyNotFoundException;\r\nss.initClass(ss_KeyNotFoundException, ss, {}, ss_Exception);\r\n\r\n////////////////////////////////////////////////////////////////////////////////\r\n// InvalidOperationException\r\n\r\nvar ss_AmbiguousMatchException = function AmbiguousMatchException$(message, innerException) {\r\n  ss_Exception.call(this, message || 'Ambiguous match.', innerException);\r\n};\r\nss_AmbiguousMatchException.__typeName = 'ss.AmbiguousMatchException';\r\nss.AmbiguousMatchException = ss_AmbiguousMatchException;\r\nss.initClass(ss_AmbiguousMatchException, ss, {}, ss_Exception);\r\n\r\n///////////////////////////////////////////////////////////////////////////////\r\n// IteratorBlockEnumerable\r\n\r\nvar ss_IteratorBlockEnumerable = function IteratorBlockEnumerable$(getEnumerator, $this) {\r\n  this._getEnumerator = getEnumerator;\r\n  this._this = $this;\r\n};\r\n\r\nss_IteratorBlockEnumerable.__typeName = 'ss.IteratorBlockEnumerable';\r\nss.IteratorBlockEnumerable = ss_IteratorBlockEnumerable;\r\nss.initClass(ss_IteratorBlockEnumerable, ss, {\r\n  getEnumerator: function IteratorBlockEnumerable$getEnumerator() {\r\n    return this._getEnumerator.call(this._this);\r\n  }\r\n}, null, [ss_IEnumerable]);\r\n\r\n///////////////////////////////////////////////////////////////////////////////\r\n// IteratorBlockEnumerator\r\n\r\nvar ss_IteratorBlockEnumerator = function IteratorBlockEnumerator$(moveNext, getCurrent, dispose, $this) {\r\n  this._moveNext = moveNext;\r\n  this._getCurrent = getCurrent;\r\n  this._dispose = dispose;\r\n  this._this = $this;\r\n};\r\n\r\nss_IteratorBlockEnumerator.__typeName = 'ss.IteratorBlockEnumerator';\r\nss.IteratorBlockEnumerator = ss_IteratorBlockEnumerator;\r\nss.initClass(ss_IteratorBlockEnumerator, ss, {\r\n  moveNext: function IteratorBlockEnumerator$moveNext() {\r\n    try {\r\n      return this._moveNext.call(this._this);\r\n    }\r\n    catch (ex) {\r\n      if (this._dispose)\r\n        this._dispose.call(this._this);\r\n      throw ex;\r\n    }\r\n  },\r\n  current: function IteratorBlockEnumerator$current() {\r\n    return this._getCurrent.call(this._this);\r\n  },\r\n  reset: function IteratorBlockEnumerator$reset() {\r\n    throw new ss_NotSupportedException('Reset is not supported.');\r\n  },\r\n  dispose: function IteratorBlockEnumerator$dispose() {\r\n    if (this._dispose)\r\n      this._dispose.call(this._this);\r\n  }\r\n}, null, [ss_IEnumerator, ss_IDisposable]);\r\n\r\n\r\n///////////////////////////////////////////////////////////////////////////////\r\n// Lazy\r\n\r\nvar ss_Lazy = function Lazy$(valueFactory) {\r\n  this._valueFactory = valueFactory;\r\n  this.isValueCreated = false;\r\n};\r\nss_Lazy.__typeName = 'ss.Lazy';\r\nss.Lazy = ss_Lazy;\r\nss.initClass(ss_Lazy, ss, {\r\n  value: function Lazy$value() {\r\n    if (!this.isValueCreated) {\r\n      this._value = this._valueFactory();\r\n      delete this._valueFactory;\r\n      this.isValueCreated = true;\r\n    }\r\n    return this._value;\r\n  }\r\n});\r\n\r\n\r\n///////////////////////////////////////////////////////////////////////////////\r\n// Task\r\n\r\n\r\n////////////////////////////////////////////////////////////////////////////////\r\n// TaskStatus\r\n\r\n\r\n///////////////////////////////////////////////////////////////////////////////\r\n// TaskCompletionSource\r\n\r\n\r\n///////////////////////////////////////////////////////////////////////////////\r\n// CancelEventArgs\r\n\r\n\r\n///////////////////////////////////////////////////////////////////////////////\r\n// Guid\r\n\r\n\r\n////////////////////////////////////////////////////////////////////////////////\r\n// IE8 shims\r\n////////////////////////////////////////////////////////////////////////////////\r\n\r\nif (typeof(global.HTMLElement) === 'undefined') {\r\n  global.HTMLElement = Element;\r\n}\r\n\r\nif (typeof(global.MessageEvent) === 'undefined') {\r\n  global.MessageEvent = Event;\r\n}\r\n\r\n// polyfill for IE8 not having Date.now.\r\nDate.now = Date.now || function() { return +new Date; };\r\n\r\n////////////////////////////////////////////////////////////////////////////////\r\n// Global Registration\r\n////////////////////////////////////////////////////////////////////////////////\r\n\r\nglobal.ss = ss;\r\n})(global);\r\n\r\nvar ss = global.ss;\r\nvar HTMLElement = global.HTMLElement;\r\nvar MessageEvent = global.MessageEvent;\r\n\r\n/*! BEGIN CoreSlim */\r\n\r\n\r\n(function() {\r\n\t'dont use strict';\r\n\tvar $asm = {};\r\n\tglobal.tab = global.tab || {};\r\n\tss.initAssembly($asm, 'tabcoreslim');\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// Tableau.JavaScript.CoreSlim.EscapingUtil\r\n\tvar $tab_EscapingUtil = function() {\r\n\t};\r\n\t$tab_EscapingUtil.__typeName = 'tab.EscapingUtil';\r\n\t$tab_EscapingUtil.escapeHtml = function EscapingUtil$EscapeHtml(html) {\r\n\t\tvar escaped = ss.coalesce(html, '');\r\n\t\tescaped = escaped.replace(new RegExp('&', 'g'), '&amp;');\r\n\t\tescaped = escaped.replace(new RegExp('<', 'g'), '&lt;');\r\n\t\tescaped = escaped.replace(new RegExp('>', 'g'), '&gt;');\r\n\t\tescaped = escaped.replace(new RegExp('\"', 'g'), '&quot;');\r\n\t\tescaped = escaped.replace(new RegExp(\"'\", 'g'), '&#39;');\r\n\t\tescaped = escaped.replace(new RegExp('/', 'g'), '&#47;');\r\n\t\treturn escaped;\r\n\t};\r\n\tglobal.tab.EscapingUtil = $tab_EscapingUtil;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// Tableau.JavaScript.Vql.Core.ScriptEx\r\n\tvar $tab_ScriptEx = function() {\r\n\t};\r\n\t$tab_ScriptEx.__typeName = 'tab.ScriptEx';\r\n\tglobal.tab.ScriptEx = $tab_ScriptEx;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// Tableau.JavaScript.CoreSlim.WindowHelper\r\n\tvar $tab_WindowHelper = function(window) {\r\n\t\tthis.$window = null;\r\n\t\tthis.$window = window;\r\n\t};\r\n\t$tab_WindowHelper.__typeName = 'tab.WindowHelper';\r\n\t$tab_WindowHelper.get_windowSelf = function WindowHelper$get_WindowSelf() {\r\n\t\treturn window.self;\r\n\t};\r\n\t$tab_WindowHelper.get_selection = function WindowHelper$get_Selection() {\r\n\t\tif (typeof(window['getSelection']) === 'function') {\r\n\t\t\treturn window.getSelection();\r\n\t\t}\r\n\t\telse if (typeof(document['getSelection']) === 'function') {\r\n\t\t\treturn document.getSelection();\r\n\t\t}\r\n\t\treturn null;\r\n\t};\r\n\t$tab_WindowHelper.close = function WindowHelper$Close(window) {\r\n\t\twindow.close();\r\n\t};\r\n\t$tab_WindowHelper.getOpener = function WindowHelper$GetOpener(window) {\r\n\t\treturn window.opener;\r\n\t};\r\n\t$tab_WindowHelper.getLocation = function WindowHelper$GetLocation(window) {\r\n\t\treturn window.location;\r\n\t};\r\n\t$tab_WindowHelper.getPathAndSearch = function WindowHelper$GetPathAndSearch(window) {\r\n\t\treturn window.location.pathname + window.location.search;\r\n\t};\r\n\t$tab_WindowHelper.setLocationHref = function WindowHelper$SetLocationHref(window, href) {\r\n\t\twindow.location.href = href;\r\n\t};\r\n\t$tab_WindowHelper.locationReplace = function WindowHelper$LocationReplace(window, url) {\r\n\t\twindow.location.replace(url);\r\n\t};\r\n\t$tab_WindowHelper.open = function WindowHelper$Open(href, target, options) {\r\n\t\treturn window.open(href, target, options);\r\n\t};\r\n\t$tab_WindowHelper.reload = function WindowHelper$Reload(w, forceGet) {\r\n\t\tw.location.reload(forceGet);\r\n\t};\r\n\t$tab_WindowHelper.requestAnimationFrame = function WindowHelper$RequestAnimationFrame(action) {\r\n\t\treturn $tab_WindowHelper.$requestAnimationFrameFunc(action);\r\n\t};\r\n\t$tab_WindowHelper.cancelAnimationFrame = function WindowHelper$CancelAnimationFrame(animationId) {\r\n\t\tif (ss.isValue(animationId)) {\r\n\t\t\t$tab_WindowHelper.$cancelAnimationFrameFunc(animationId);\r\n\t\t}\r\n\t};\r\n\t$tab_WindowHelper.setTimeout = function WindowHelper$SetTimeout(callback, milliseconds) {\r\n\t\treturn window.setTimeout(callback, milliseconds);\r\n\t};\r\n\t$tab_WindowHelper.addListener = function WindowHelper$AddListener(windowParam, eventName, messageListener) {\r\n\t\tif ('addEventListener' in windowParam) {\r\n\t\t\twindowParam.addEventListener(eventName, messageListener, false);\r\n\t\t}\r\n\t\telse {\r\n\t\t\twindowParam.attachEvent('on' + eventName, messageListener);\r\n\t\t}\r\n\t};\r\n\t$tab_WindowHelper.removeListener = function WindowHelper$RemoveListener(window, eventName, messageListener) {\r\n\t\tif ('removeEventListener' in window) {\r\n\t\t\twindow.removeEventListener(eventName, messageListener, false);\r\n\t\t}\r\n\t\telse {\r\n\t\t\twindow.detachEvent('on' + eventName, messageListener);\r\n\t\t}\r\n\t};\r\n\t$tab_WindowHelper.$setDefaultRequestAnimationFrameImpl = function WindowHelper$SetDefaultRequestAnimationFrameImpl() {\r\n\t\tvar lastTime = 0;\r\n\t\t$tab_WindowHelper.$requestAnimationFrameFunc = function(callback) {\r\n\t\t\tvar curTime = (new Date()).getTime();\r\n\t\t\tvar timeToCall = Math.max(0, 16 - (curTime - lastTime));\r\n\t\t\tlastTime = curTime + timeToCall;\r\n\t\t\tvar id = window.setTimeout(callback, timeToCall);\r\n\t\t\treturn id;\r\n\t\t};\r\n\t};\r\n\t$tab_WindowHelper.clearSelection = function WindowHelper$ClearSelection() {\r\n\t\tvar selection = $tab_WindowHelper.get_selection();\r\n\t\tif (ss.isValue(selection)) {\r\n\t\t\tif (typeof(selection['removeAllRanges']) === 'function') {\r\n\t\t\t\tselection.removeAllRanges();\r\n\t\t\t}\r\n\t\t\telse if (typeof(selection['empty']) === 'function') {\r\n\t\t\t\tselection['empty']();\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\tglobal.tab.WindowHelper = $tab_WindowHelper;\r\n\tss.initClass($tab_EscapingUtil, $asm, {});\r\n\tss.initClass($tab_ScriptEx, $asm, {});\r\n\tss.initClass($tab_WindowHelper, $asm, {\r\n\t\tget_pageXOffset: function WindowHelper$get_PageXOffset() {\r\n\t\t\treturn $tab_WindowHelper.$pageXOffsetFunc(this.$window);\r\n\t\t},\r\n\t\tget_pageYOffset: function WindowHelper$get_PageYOffset() {\r\n\t\t\treturn $tab_WindowHelper.$pageYOffsetFunc(this.$window);\r\n\t\t},\r\n\t\tget_clientWidth: function WindowHelper$get_ClientWidth() {\r\n\t\t\treturn $tab_WindowHelper.$clientWidthFunc(this.$window);\r\n\t\t},\r\n\t\tget_clientHeight: function WindowHelper$get_ClientHeight() {\r\n\t\t\treturn $tab_WindowHelper.$clientHeightFunc(this.$window);\r\n\t\t},\r\n\t\tget_innerWidth: function WindowHelper$get_InnerWidth() {\r\n\t\t\treturn $tab_WindowHelper.$innerWidthFunc(this.$window);\r\n\t\t},\r\n\t\tget_outerWidth: function WindowHelper$get_OuterWidth() {\r\n\t\t\treturn $tab_WindowHelper.$outerWidthFunc(this.$window);\r\n\t\t},\r\n\t\tget_innerHeight: function WindowHelper$get_InnerHeight() {\r\n\t\t\treturn $tab_WindowHelper.$innerHeightFunc(this.$window);\r\n\t\t},\r\n\t\tget_outerHeight: function WindowHelper$get_OuterHeight() {\r\n\t\t\treturn $tab_WindowHelper.$outerHeightFunc(this.$window);\r\n\t\t},\r\n\t\tget_screenLeft: function WindowHelper$get_ScreenLeft() {\r\n\t\t\treturn $tab_WindowHelper.$screenLeftFunc(this.$window);\r\n\t\t},\r\n\t\tget_screenTop: function WindowHelper$get_ScreenTop() {\r\n\t\t\treturn $tab_WindowHelper.$screenTopFunc(this.$window);\r\n\t\t},\r\n\t\tisQuirksMode: function WindowHelper$IsQuirksMode() {\r\n\t\t\treturn document.compatMode === 'BackCompat';\r\n\t\t}\r\n\t});\r\n\t(function() {\r\n\t\t$tab_WindowHelper.$innerWidthFunc = null;\r\n\t\t$tab_WindowHelper.$innerHeightFunc = null;\r\n\t\t$tab_WindowHelper.$clientWidthFunc = null;\r\n\t\t$tab_WindowHelper.$clientHeightFunc = null;\r\n\t\t$tab_WindowHelper.$pageXOffsetFunc = null;\r\n\t\t$tab_WindowHelper.$pageYOffsetFunc = null;\r\n\t\t$tab_WindowHelper.$screenLeftFunc = null;\r\n\t\t$tab_WindowHelper.$screenTopFunc = null;\r\n\t\t$tab_WindowHelper.$outerWidthFunc = null;\r\n\t\t$tab_WindowHelper.$outerHeightFunc = null;\r\n\t\t$tab_WindowHelper.$requestAnimationFrameFunc = null;\r\n\t\t$tab_WindowHelper.$cancelAnimationFrameFunc = null;\r\n\t\tif ('innerWidth' in window) {\r\n\t\t\t$tab_WindowHelper.$innerWidthFunc = function(w) {\r\n\t\t\t\treturn w.innerWidth;\r\n\t\t\t};\r\n\t\t}\r\n\t\telse {\r\n\t\t\t$tab_WindowHelper.$innerWidthFunc = function(w1) {\r\n\t\t\t\treturn w1.document.documentElement.offsetWidth;\r\n\t\t\t};\r\n\t\t}\r\n\t\tif ('outerWidth' in window) {\r\n\t\t\t$tab_WindowHelper.$outerWidthFunc = function(w2) {\r\n\t\t\t\treturn w2.outerWidth;\r\n\t\t\t};\r\n\t\t}\r\n\t\telse {\r\n\t\t\t$tab_WindowHelper.$outerWidthFunc = $tab_WindowHelper.$innerWidthFunc;\r\n\t\t}\r\n\t\tif ('innerHeight' in window) {\r\n\t\t\t$tab_WindowHelper.$innerHeightFunc = function(w3) {\r\n\t\t\t\treturn w3.innerHeight;\r\n\t\t\t};\r\n\t\t}\r\n\t\telse {\r\n\t\t\t$tab_WindowHelper.$innerHeightFunc = function(w4) {\r\n\t\t\t\treturn w4.document.documentElement.offsetHeight;\r\n\t\t\t};\r\n\t\t}\r\n\t\tif ('outerHeight' in window) {\r\n\t\t\t$tab_WindowHelper.$outerHeightFunc = function(w5) {\r\n\t\t\t\treturn w5.outerHeight;\r\n\t\t\t};\r\n\t\t}\r\n\t\telse {\r\n\t\t\t$tab_WindowHelper.$outerHeightFunc = $tab_WindowHelper.$innerHeightFunc;\r\n\t\t}\r\n\t\tif ('clientWidth' in window) {\r\n\t\t\t$tab_WindowHelper.$clientWidthFunc = function(w6) {\r\n\t\t\t\treturn w6['clientWidth'];\r\n\t\t\t};\r\n\t\t}\r\n\t\telse {\r\n\t\t\t$tab_WindowHelper.$clientWidthFunc = function(w7) {\r\n\t\t\t\treturn w7.document.documentElement.clientWidth;\r\n\t\t\t};\r\n\t\t}\r\n\t\tif ('clientHeight' in window) {\r\n\t\t\t$tab_WindowHelper.$clientHeightFunc = function(w8) {\r\n\t\t\t\treturn w8['clientHeight'];\r\n\t\t\t};\r\n\t\t}\r\n\t\telse {\r\n\t\t\t$tab_WindowHelper.$clientHeightFunc = function(w9) {\r\n\t\t\t\treturn w9.document.documentElement.clientHeight;\r\n\t\t\t};\r\n\t\t}\r\n\t\tif (ss.isValue(window.self.pageXOffset)) {\r\n\t\t\t$tab_WindowHelper.$pageXOffsetFunc = function(w10) {\r\n\t\t\t\treturn w10.pageXOffset;\r\n\t\t\t};\r\n\t\t}\r\n\t\telse {\r\n\t\t\t$tab_WindowHelper.$pageXOffsetFunc = function(w11) {\r\n\t\t\t\treturn w11.document.documentElement.scrollLeft;\r\n\t\t\t};\r\n\t\t}\r\n\t\tif (ss.isValue(window.self.pageYOffset)) {\r\n\t\t\t$tab_WindowHelper.$pageYOffsetFunc = function(w12) {\r\n\t\t\t\treturn w12.pageYOffset;\r\n\t\t\t};\r\n\t\t}\r\n\t\telse {\r\n\t\t\t$tab_WindowHelper.$pageYOffsetFunc = function(w13) {\r\n\t\t\t\treturn w13.document.documentElement.scrollTop;\r\n\t\t\t};\r\n\t\t}\r\n\t\tif ('screenLeft' in window) {\r\n\t\t\t$tab_WindowHelper.$screenLeftFunc = function(w14) {\r\n\t\t\t\treturn ss.unbox(ss.cast(w14.screenLeft, ss.Int32));\r\n\t\t\t};\r\n\t\t}\r\n\t\telse {\r\n\t\t\t$tab_WindowHelper.$screenLeftFunc = function(w15) {\r\n\t\t\t\treturn w15.screenX;\r\n\t\t\t};\r\n\t\t}\r\n\t\tif ('screenTop' in window) {\r\n\t\t\t$tab_WindowHelper.$screenTopFunc = function(w16) {\r\n\t\t\t\treturn ss.unbox(ss.cast(w16.screenTop, ss.Int32));\r\n\t\t\t};\r\n\t\t}\r\n\t\telse {\r\n\t\t\t$tab_WindowHelper.$screenTopFunc = function(w17) {\r\n\t\t\t\treturn w17.screenY;\r\n\t\t\t};\r\n\t\t}\r\n\t\t{\r\n\t\t\tvar DefaultRequestName = 'requestAnimationFrame';\r\n\t\t\tvar DefaultCancelName = 'cancelAnimationFrame';\r\n\t\t\tvar vendors = ['ms', 'moz', 'webkit', 'o'];\r\n\t\t\tvar requestFuncName = null;\r\n\t\t\tvar cancelFuncName = null;\r\n\t\t\tif (DefaultRequestName in window) {\r\n\t\t\t\trequestFuncName = DefaultRequestName;\r\n\t\t\t}\r\n\t\t\tif (DefaultCancelName in window) {\r\n\t\t\t\tcancelFuncName = DefaultCancelName;\r\n\t\t\t}\r\n\t\t\tfor (var ii = 0; ii < vendors.length && (ss.isNullOrUndefined(requestFuncName) || ss.isNullOrUndefined(cancelFuncName)); ++ii) {\r\n\t\t\t\tvar vendor = vendors[ii];\r\n\t\t\t\tvar funcName = vendor + 'RequestAnimationFrame';\r\n\t\t\t\tif (ss.isNullOrUndefined(requestFuncName) && funcName in window) {\r\n\t\t\t\t\trequestFuncName = funcName;\r\n\t\t\t\t}\r\n\t\t\t\tif (ss.isNullOrUndefined(cancelFuncName)) {\r\n\t\t\t\t\tfuncName = vendor + 'CancelAnimationFrame';\r\n\t\t\t\t\tif (funcName in window) {\r\n\t\t\t\t\t\tcancelFuncName = funcName;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tfuncName = vendor + 'CancelRequestAnimationFrame';\r\n\t\t\t\t\tif (funcName in window) {\r\n\t\t\t\t\t\tcancelFuncName = funcName;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (ss.isValue(requestFuncName)) {\r\n\t\t\t\t$tab_WindowHelper.$requestAnimationFrameFunc = function(callback) {\r\n\t\t\t\t\treturn window[requestFuncName](callback);\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\t$tab_WindowHelper.$setDefaultRequestAnimationFrameImpl();\r\n\t\t\t}\r\n\t\t\tif (ss.isValue(cancelFuncName)) {\r\n\t\t\t\t$tab_WindowHelper.$cancelAnimationFrameFunc = function(animationId) {\r\n\t\t\t\t\twindow[cancelFuncName](animationId);\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\t$tab_WindowHelper.$cancelAnimationFrameFunc = function(id) {\r\n\t\t\t\t\twindow.clearTimeout(id);\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t}\r\n\t})();\r\n})();\r\n\r\n// END CoreSlim\r\n\r\nvar tab = global.tab;\r\n\r\n\r\n/*! API */\r\n(function() {\r\n\t'dont use strict';\r\n\tvar $asm = {};\r\n\tglobal.tab = global.tab || {};\r\n\tglobal.tableauSoftware = global.tableauSoftware || {};\r\n\tss.initAssembly($asm, 'Tableau.JavaScript.Vql.Api');\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// Tableau.JavaScript.Vql.Api.CrossDomainMessageRouter\r\n\tvar $tab_$CrossDomainMessageRouter = function() {\r\n\t\tthis.$nextHandlerId = 0;\r\n\t\tthis.$handlers = {};\r\n\t\tthis.$commandCallbacks = {};\r\n\t\tthis.$customViewLoadCallbacks = {};\r\n\t\tthis.$commandReturnAfterStateReadyQueues = {};\r\n\t\tif ($tab__Utility.hasWindowAddEventListener()) {\r\n\t\t\twindow.addEventListener('message', ss.mkdel(this, this.$handleCrossDomainMessage), false);\r\n\t\t}\r\n\t\telse if ($tab__Utility.hasDocumentAttachEvent()) {\r\n\t\t\tvar handler = ss.mkdel(this, this.$handleCrossDomainMessage);\r\n\t\t\tdocument.attachEvent('onmessage', handler);\r\n\t\t\twindow.attachEvent('onmessage', handler);\r\n\t\t}\r\n\t\telse {\r\n\t\t\twindow.onmessage = ss.mkdel(this, this.$handleCrossDomainMessage);\r\n\t\t}\r\n\t\tthis.$nextHandlerId = 0;\r\n\t};\r\n\t$tab_$CrossDomainMessageRouter.__typeName = 'tab.$CrossDomainMessageRouter';\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.CustomViewEventContext\r\n\tvar $tab_$CustomViewEventContext = function(workbook, customViewImpl) {\r\n\t\tthis.$customViewImpl = null;\r\n\t\t$tab_EventContext.call(this, workbook, null);\r\n\t\tthis.$customViewImpl = customViewImpl;\r\n\t};\r\n\t$tab_$CustomViewEventContext.__typeName = 'tab.$CustomViewEventContext';\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// Tableau.JavaScript.Vql.Api.DashboardZoneInfo\r\n\tvar $tab_$DashboardZoneInfo = function() {\r\n\t};\r\n\t$tab_$DashboardZoneInfo.__typeName = 'tab.$DashboardZoneInfo';\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// Tableau.JavaScript.Vql.Api.DeferredUtil\r\n\tvar $tab_$DeferredUtil = function() {\r\n\t};\r\n\t$tab_$DeferredUtil.__typeName = 'tab.$DeferredUtil';\r\n\t$tab_$DeferredUtil.$coerceToTrustedPromise = function DeferredUtil$CoerceToTrustedPromise(promiseOrValue) {\r\n\t\tvar promise;\r\n\t\tif (promiseOrValue instanceof tableauSoftware.Promise) {\r\n\t\t\tpromise = ss.cast(promiseOrValue, $tab__PromiseImpl);\r\n\t\t}\r\n\t\telse {\r\n\t\t\tif (ss.isValue(promiseOrValue) && typeof(promiseOrValue['valueOf']) === 'function') {\r\n\t\t\t\tpromiseOrValue = promiseOrValue['valueOf']();\r\n\t\t\t}\r\n\t\t\tif ($tab_$DeferredUtil.$isPromise(promiseOrValue)) {\r\n\t\t\t\tvar deferred = new $tab__DeferredImpl();\r\n\t\t\t\tss.cast(promiseOrValue, $tab__PromiseImpl).then(ss.mkdel(deferred, deferred.resolve), ss.mkdel(deferred, deferred.reject));\r\n\t\t\t\tpromise = deferred.get_promise();\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tpromise = $tab_$DeferredUtil.$resolved(promiseOrValue);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn promise;\r\n\t};\r\n\t$tab_$DeferredUtil.$reject = function DeferredUtil$Reject(promiseOrValue) {\r\n\t\treturn $tab_$DeferredUtil.$coerceToTrustedPromise(promiseOrValue).then(function(value) {\r\n\t\t\treturn $tab_$DeferredUtil.$rejected(ss.cast(value, ss.Exception));\r\n\t\t}, null);\r\n\t};\r\n\t$tab_$DeferredUtil.$resolved = function DeferredUtil$Resolved(value) {\r\n\t\tvar p = new $tab__PromiseImpl(function(callback, errback) {\r\n\t\t\ttry {\r\n\t\t\t\treturn $tab_$DeferredUtil.$coerceToTrustedPromise((ss.isValue(callback) ? callback(value) : value));\r\n\t\t\t}\r\n\t\t\tcatch ($t1) {\r\n\t\t\t\tvar e = ss.Exception.wrap($t1);\r\n\t\t\t\treturn $tab_$DeferredUtil.$rejected(e);\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn p;\r\n\t};\r\n\t$tab_$DeferredUtil.$rejected = function DeferredUtil$Rejected(reason) {\r\n\t\tvar p = new $tab__PromiseImpl(function(callback, errback) {\r\n\t\t\ttry {\r\n\t\t\t\treturn (ss.isValue(errback) ? $tab_$DeferredUtil.$coerceToTrustedPromise(errback(reason)) : $tab_$DeferredUtil.$rejected(reason));\r\n\t\t\t}\r\n\t\t\tcatch ($t1) {\r\n\t\t\t\tvar e = ss.Exception.wrap($t1);\r\n\t\t\t\treturn $tab_$DeferredUtil.$rejected(e);\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn p;\r\n\t};\r\n\t$tab_$DeferredUtil.$isPromise = function DeferredUtil$IsPromise(promiseOrValue) {\r\n\t\treturn ss.isValue(promiseOrValue) && typeof(promiseOrValue['then']) === 'function';\r\n\t};\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// Tableau.JavaScript.Vql.Api.DoNothingCrossDomainHandler\r\n\tvar $tab_$DoNothingCrossDomainHandler = function() {\r\n\t\tthis.$hostId = null;\r\n\t\tthis.$1$CustomViewsListLoadField = null;\r\n\t\tthis.$1$StateReadyForQueryField = null;\r\n\t};\r\n\t$tab_$DoNothingCrossDomainHandler.__typeName = 'tab.$DoNothingCrossDomainHandler';\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.FilterEventContext\r\n\tvar $tab_$FilterEventContext = function(workbookImpl, worksheetImpl, fieldFieldName, filterCaption) {\r\n\t\tthis.$fieldFieldName = null;\r\n\t\tthis.$filterCaption = null;\r\n\t\t$tab_EventContext.call(this, workbookImpl, worksheetImpl);\r\n\t\tthis.$fieldFieldName = fieldFieldName;\r\n\t\tthis.$filterCaption = filterCaption;\r\n\t};\r\n\t$tab_$FilterEventContext.__typeName = 'tab.$FilterEventContext';\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.HighlightEventContext\r\n\tvar $tab_$HighlightEventContext = function(workbookImpl, worksheetImpl) {\r\n\t\t$tab_EventContext.call(this, workbookImpl, worksheetImpl);\r\n\t};\r\n\t$tab_$HighlightEventContext.__typeName = 'tab.$HighlightEventContext';\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// Tableau.JavaScript.Vql.Api.MarkImpl\r\n\tvar $tab_$MarkImpl = function(tupleIdOrPairs) {\r\n\t\tthis.$clonedPairs = null;\r\n\t\tthis.$collection = new tab._Collection();\r\n\t\tthis.$tupleId = 0;\r\n\t\tif ($tab__jQueryShim.isArray(tupleIdOrPairs)) {\r\n\t\t\tvar pairArr = tupleIdOrPairs;\r\n\t\t\tfor (var i = 0; i < pairArr.length; i++) {\r\n\t\t\t\tvar pair = pairArr[i];\r\n\t\t\t\tif (!ss.isValue(pair.fieldName)) {\r\n\t\t\t\t\tthrow $tab__TableauException.createInvalidParameter('pair.fieldName');\r\n\t\t\t\t}\r\n\t\t\t\tif (!ss.isValue(pair.value)) {\r\n\t\t\t\t\tthrow $tab__TableauException.createInvalidParameter('pair.value');\r\n\t\t\t\t}\r\n\t\t\t\tvar p = new $tableauSoftware_Pair(pair.fieldName, pair.value);\r\n\t\t\t\tthis.$collection._add(p.fieldName, p);\r\n\t\t\t}\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthis.$tupleId = tupleIdOrPairs;\r\n\t\t}\r\n\t};\r\n\t$tab_$MarkImpl.__typeName = 'tab.$MarkImpl';\r\n\t$tab_$MarkImpl.$processActiveMarks = function MarkImpl$ProcessActiveMarks(marksPresModel) {\r\n\t\tvar marks = new tab._Collection();\r\n\t\tif (ss.isNullOrUndefined(marksPresModel) || $tab__Utility.isNullOrEmpty(marksPresModel.marks)) {\r\n\t\t\treturn marks;\r\n\t\t}\r\n\t\tfor (var $t1 = 0; $t1 < marksPresModel.marks.length; $t1++) {\r\n\t\t\tvar markPresModel = marksPresModel.marks[$t1];\r\n\t\t\tvar tupleId = markPresModel.tupleId;\r\n\t\t\tvar mark = new $tableauSoftware_Mark(tupleId);\r\n\t\t\tmarks._add(tupleId.toString(), mark);\r\n\t\t\tfor (var $t2 = 0; $t2 < markPresModel.pairs.length; $t2++) {\r\n\t\t\t\tvar pairPresModel = markPresModel.pairs[$t2];\r\n\t\t\t\tvar value = $tab__Utility.convertRawValue(pairPresModel.value, pairPresModel.valueDataType);\r\n\t\t\t\tvar pair = new $tableauSoftware_Pair(pairPresModel.fieldName, value);\r\n\t\t\t\tpair.formattedValue = pairPresModel.formattedValue;\r\n\t\t\t\tif (!mark.$impl.get_$pairs()._has(pair.fieldName)) {\r\n\t\t\t\t\tmark.$impl.$addPair(pair);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn marks;\r\n\t};\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.MarksEventContext\r\n\tvar $tab_$MarksEventContext = function(workbookImpl, worksheetImpl) {\r\n\t\t$tab_EventContext.call(this, workbookImpl, worksheetImpl);\r\n\t};\r\n\t$tab_$MarksEventContext.__typeName = 'tab.$MarksEventContext';\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.ParameterEventContext\r\n\tvar $tab_$ParameterEventContext = function(workbookImpl, parameterName) {\r\n\t\tthis.$parameterName = null;\r\n\t\t$tab_EventContext.call(this, workbookImpl, null);\r\n\t\tthis.$parameterName = parameterName;\r\n\t};\r\n\t$tab_$ParameterEventContext.__typeName = 'tab.$ParameterEventContext';\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// Tableau.JavaScript.Vql.Api.ParameterImpl\r\n\tvar $tab_$ParameterImpl = function(pm) {\r\n\t\tthis.$parameter = null;\r\n\t\tthis.$name = null;\r\n\t\tthis.$currentValue = null;\r\n\t\tthis.$dataType = null;\r\n\t\tthis.$allowableValuesType = null;\r\n\t\tthis.$allowableValues = null;\r\n\t\tthis.$minValue = null;\r\n\t\tthis.$maxValue = null;\r\n\t\tthis.$stepSize = null;\r\n\t\tthis.$dateStepPeriod = null;\r\n\t\tthis.$name = pm.name;\r\n\t\tthis.$currentValue = $tab__Utility.getDataValue(pm.currentValue);\r\n\t\tthis.$dataType = $tab_ApiEnumConverter.convertParameterDataType(pm.dataType);\r\n\t\tthis.$allowableValuesType = $tab_ApiEnumConverter.convertParameterAllowableValuesType(pm.allowableValuesType);\r\n\t\tif (ss.isValue(pm.allowableValues) && this.$allowableValuesType === 'list') {\r\n\t\t\tthis.$allowableValues = [];\r\n\t\t\tfor (var $t1 = 0; $t1 < pm.allowableValues.length; $t1++) {\r\n\t\t\t\tvar adv = pm.allowableValues[$t1];\r\n\t\t\t\tthis.$allowableValues.push($tab__Utility.getDataValue(adv));\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (this.$allowableValuesType === 'range') {\r\n\t\t\tthis.$minValue = $tab__Utility.getDataValue(pm.minValue);\r\n\t\t\tthis.$maxValue = $tab__Utility.getDataValue(pm.maxValue);\r\n\t\t\tthis.$stepSize = pm.stepSize;\r\n\t\t\tif ((this.$dataType === 'date' || this.$dataType === 'datetime') && ss.isValue(this.$stepSize) && ss.isValue(pm.dateStepPeriod)) {\r\n\t\t\t\tthis.$dateStepPeriod = $tab_ApiEnumConverter.convertPeriodType(pm.dateStepPeriod);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\t$tab_$ParameterImpl.__typeName = 'tab.$ParameterImpl';\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.PublicEnums\r\n\tvar $tab_$PublicEnums = function() {\r\n\t};\r\n\t$tab_$PublicEnums.__typeName = 'tab.$PublicEnums';\r\n\t$tab_$PublicEnums.$tryNormalizeEnum = function(T) {\r\n\t\treturn function PublicEnums$TryNormalizeEnum(rawValue, value) {\r\n\t\t\tif (ss.isValue(rawValue)) {\r\n\t\t\t\tvar lookup = rawValue.toString().toUpperCase();\r\n\t\t\t\tvar $t1 = ss.Enum.getValues(T);\r\n\t\t\t\tfor (var $t2 = 0; $t2 < $t1.length; $t2++) {\r\n\t\t\t\t\tvar name = $t1[$t2];\r\n\t\t\t\t\tvar compareValue = name.toUpperCase();\r\n\t\t\t\t\tif (ss.referenceEquals(lookup, compareValue)) {\r\n\t\t\t\t\t\tvalue.$ = name;\r\n\t\t\t\t\t\treturn true;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tvalue.$ = ss.getDefaultValue(T);\r\n\t\t\treturn false;\r\n\t\t};\r\n\t};\r\n\t$tab_$PublicEnums.$normalizeEnum = function(T) {\r\n\t\treturn function PublicEnums$NormalizeEnum(rawValue, paramName) {\r\n\t\t\tvar value = {};\r\n\t\t\tif (!$tab_$PublicEnums.$tryNormalizeEnum(T).call(null, rawValue, value)) {\r\n\t\t\t\tthrow $tab__TableauException.createInvalidParameter(paramName);\r\n\t\t\t}\r\n\t\t\treturn value.$;\r\n\t\t};\r\n\t};\r\n\t$tab_$PublicEnums.$isValidEnum = function(T) {\r\n\t\treturn function PublicEnums$IsValidEnum(rawValue) {\r\n\t\t\tvar value = {};\r\n\t\t\tvar valid = $tab_$PublicEnums.$tryNormalizeEnum(T).call(null, rawValue, value);\r\n\t\t\treturn valid;\r\n\t\t};\r\n\t};\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// Tableau.JavaScript.Vql.Api.ApiBootstrap\r\n\tvar $tab__ApiBootstrap = function() {\r\n\t};\r\n\t$tab__ApiBootstrap.__typeName = 'tab._ApiBootstrap';\r\n\t$tab__ApiBootstrap.initialize = function ApiBootstrap$Initialize() {\r\n\t\t$tab__ApiObjectRegistry.registerCrossDomainMessageRouter(function() {\r\n\t\t\treturn new $tab_$CrossDomainMessageRouter();\r\n\t\t});\r\n\t};\r\n\tglobal.tab._ApiBootstrap = $tab__ApiBootstrap;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// Tableau.JavaScript.Vql.Api.ApiCommand\r\n\tvar $tab__ApiCommand = function(name, commandId, hostId, parameters) {\r\n\t\tthis.$1$NameField = null;\r\n\t\tthis.$1$HostIdField = null;\r\n\t\tthis.$1$CommandIdField = null;\r\n\t\tthis.$1$ParametersField = null;\r\n\t\tthis.set_name(name);\r\n\t\tthis.set_commandId(commandId);\r\n\t\tthis.set_hostId(hostId);\r\n\t\tthis.set_parameters(parameters);\r\n\t};\r\n\t$tab__ApiCommand.__typeName = 'tab._ApiCommand';\r\n\t$tab__ApiCommand.generateNextCommandId = function ApiCommand$GenerateNextCommandId() {\r\n\t\tvar commandId = 'cmd' + $tab__ApiCommand.$nextCommandId;\r\n\t\t$tab__ApiCommand.$nextCommandId++;\r\n\t\treturn commandId;\r\n\t};\r\n\t$tab__ApiCommand.parse = function ApiCommand$Parse(serialized) {\r\n\t\tvar name;\r\n\t\tvar index = serialized.indexOf(String.fromCharCode(44));\r\n\t\tif (index < 0) {\r\n\t\t\tname = ss.cast(serialized, String);\r\n\t\t\treturn new $tab__ApiCommand(name, null, null, null);\r\n\t\t}\r\n\t\tname = ss.cast(serialized.substr(0, index), String);\r\n\t\tvar sourceId;\r\n\t\tvar secondPart = serialized.substr(index + 1);\r\n\t\tindex = secondPart.indexOf(String.fromCharCode(44));\r\n\t\tif (index < 0) {\r\n\t\t\tsourceId = secondPart;\r\n\t\t\treturn new $tab__ApiCommand(name, sourceId, null, null);\r\n\t\t}\r\n\t\tsourceId = secondPart.substr(0, index);\r\n\t\tvar hostId;\r\n\t\tvar thirdPart = secondPart.substr(index + 1);\r\n\t\tindex = thirdPart.indexOf(String.fromCharCode(44));\r\n\t\tif (index < 0) {\r\n\t\t\thostId = thirdPart;\r\n\t\t\treturn new $tab__ApiCommand(name, sourceId, hostId, null);\r\n\t\t}\r\n\t\thostId = thirdPart.substr(0, index);\r\n\t\tvar parameters = thirdPart.substr(index + 1);\r\n\t\t$tab__ApiCommand.lastResponseMessage = serialized;\r\n\t\tif (name === 'api.GetClientInfoCommand') {\r\n\t\t\t$tab__ApiCommand.lastClientInfoResponseMessage = serialized;\r\n\t\t}\r\n\t\treturn new $tab__ApiCommand(name, sourceId, hostId, parameters);\r\n\t};\r\n\tglobal.tab._ApiCommand = $tab__ApiCommand;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// Tableau.JavaScript.Vql.Api.ApiObjectRegistry\r\n\tvar $tab__ApiObjectRegistry = function() {\r\n\t};\r\n\t$tab__ApiObjectRegistry.__typeName = 'tab._ApiObjectRegistry';\r\n\t$tab__ApiObjectRegistry.registerCrossDomainMessageRouter = function ApiObjectRegistry$RegisterCrossDomainMessageRouter(objectCreationFunc) {\r\n\t\treturn $tab__ApiObjectRegistry.$registerType($tab_ICrossDomainMessageRouter).call(null, objectCreationFunc);\r\n\t};\r\n\t$tab__ApiObjectRegistry.getCrossDomainMessageRouter = function ApiObjectRegistry$GetCrossDomainMessageRouter() {\r\n\t\treturn $tab__ApiObjectRegistry.$getSingleton($tab_ICrossDomainMessageRouter).call(null);\r\n\t};\r\n\t$tab__ApiObjectRegistry.disposeCrossDomainMessageRouter = function ApiObjectRegistry$DisposeCrossDomainMessageRouter() {\r\n\t\t$tab__ApiObjectRegistry.$clearSingletonInstance($tab_ICrossDomainMessageRouter).call(null);\r\n\t};\r\n\t$tab__ApiObjectRegistry.$registerType = function(T) {\r\n\t\treturn function ApiObjectRegistry$RegisterType(objectCreationFunc) {\r\n\t\t\tif (ss.isNullOrUndefined($tab__ApiObjectRegistry.$creationRegistry)) {\r\n\t\t\t\t$tab__ApiObjectRegistry.$creationRegistry = {};\r\n\t\t\t}\r\n\t\t\tvar interfaceTypeName = ss.getTypeFullName(T);\r\n\t\t\tvar previousType = $tab__ApiObjectRegistry.$creationRegistry[interfaceTypeName];\r\n\t\t\t$tab__ApiObjectRegistry.$creationRegistry[interfaceTypeName] = objectCreationFunc;\r\n\t\t\treturn previousType;\r\n\t\t};\r\n\t};\r\n\t$tab__ApiObjectRegistry.$createType = function(T) {\r\n\t\treturn function ApiObjectRegistry$CreateType() {\r\n\t\t\tif (ss.isNullOrUndefined($tab__ApiObjectRegistry.$creationRegistry)) {\r\n\t\t\t\tthrow $tab__TableauException.createInternalError('No types registered');\r\n\t\t\t}\r\n\t\t\tvar interfaceTypeName = ss.getTypeFullName(T);\r\n\t\t\tvar creationFunc = $tab__ApiObjectRegistry.$creationRegistry[interfaceTypeName];\r\n\t\t\tif (ss.isNullOrUndefined(creationFunc)) {\r\n\t\t\t\tthrow $tab__TableauException.createInternalError(\"No creation function has been registered for interface type '\" + interfaceTypeName + \"'.\");\r\n\t\t\t}\r\n\t\t\tvar instance = creationFunc();\r\n\t\t\treturn instance;\r\n\t\t};\r\n\t};\r\n\t$tab__ApiObjectRegistry.$getSingleton = function(T) {\r\n\t\treturn function ApiObjectRegistry$GetSingleton() {\r\n\t\t\tif (ss.isNullOrUndefined($tab__ApiObjectRegistry.$singletonInstanceRegistry)) {\r\n\t\t\t\t$tab__ApiObjectRegistry.$singletonInstanceRegistry = {};\r\n\t\t\t}\r\n\t\t\tvar interfaceTypeName = ss.getTypeFullName(T);\r\n\t\t\tvar instance = ss.cast($tab__ApiObjectRegistry.$singletonInstanceRegistry[interfaceTypeName], T);\r\n\t\t\tif (ss.isNullOrUndefined(instance)) {\r\n\t\t\t\tinstance = $tab__ApiObjectRegistry.$createType(T).call(null);\r\n\t\t\t\t$tab__ApiObjectRegistry.$singletonInstanceRegistry[interfaceTypeName] = instance;\r\n\t\t\t}\r\n\t\t\treturn instance;\r\n\t\t};\r\n\t};\r\n\t$tab__ApiObjectRegistry.$clearSingletonInstance = function(T) {\r\n\t\treturn function ApiObjectRegistry$ClearSingletonInstance() {\r\n\t\t\tif (ss.isNullOrUndefined($tab__ApiObjectRegistry.$singletonInstanceRegistry)) {\r\n\t\t\t\treturn null;\r\n\t\t\t}\r\n\t\t\tvar interfaceTypeName = ss.getTypeFullName(T);\r\n\t\t\tvar instance = ss.cast($tab__ApiObjectRegistry.$singletonInstanceRegistry[interfaceTypeName], T);\r\n\t\t\tdelete $tab__ApiObjectRegistry.$singletonInstanceRegistry[interfaceTypeName];\r\n\t\t\treturn instance;\r\n\t\t};\r\n\t};\r\n\tglobal.tab._ApiObjectRegistry = $tab__ApiObjectRegistry;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// Tableau.JavaScript.Vql.Api.ApiServerNotification\r\n\tvar $tab__ApiServerNotification = function(workbookName, worksheetName, data) {\r\n\t\tthis.$workbookName = null;\r\n\t\tthis.$worksheetName = null;\r\n\t\tthis.$data = null;\r\n\t\tthis.$workbookName = workbookName;\r\n\t\tthis.$worksheetName = worksheetName;\r\n\t\tthis.$data = data;\r\n\t};\r\n\t$tab__ApiServerNotification.__typeName = 'tab._ApiServerNotification';\r\n\t$tab__ApiServerNotification.deserialize = function ApiServerNotification$Deserialize(json) {\r\n\t\tvar param = JSON.parse(json);\r\n\t\tvar workbookName = ss.cast(param['api.workbookName'], String);\r\n\t\tvar worksheetName = ss.cast(param['api.worksheetName'], String);\r\n\t\tvar data = param['api.commandData'];\r\n\t\treturn new $tab__ApiServerNotification(workbookName, worksheetName, data);\r\n\t};\r\n\tglobal.tab._ApiServerNotification = $tab__ApiServerNotification;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// Tableau.JavaScript.Vql.Api.ApiServerResultParser\r\n\tvar $tab__ApiServerResultParser = function(serverResult) {\r\n\t\tthis.$commandResult = null;\r\n\t\tthis.$commandData = null;\r\n\t\tvar param = JSON.parse(serverResult);\r\n\t\tthis.$commandResult = ss.cast(param['api.commandResult'], String);\r\n\t\tthis.$commandData = param['api.commandData'];\r\n\t};\r\n\t$tab__ApiServerResultParser.__typeName = 'tab._ApiServerResultParser';\r\n\tglobal.tab._ApiServerResultParser = $tab__ApiServerResultParser;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// Tableau.JavaScript.Vql.Api.DoNotUseCollection\r\n\tvar $tab__CollectionImpl = function() {\r\n\t\tthis.$items = [];\r\n\t\tthis.$itemMap = {};\r\n\t};\r\n\t$tab__CollectionImpl.__typeName = 'tab._CollectionImpl';\r\n\tglobal.tab._CollectionImpl = $tab__CollectionImpl;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// Tableau.JavaScript.Vql.Api.ColumnImpl\r\n\tvar $tab__ColumnImpl = function(fieldName, dataType, isReferenced, index) {\r\n\t\tthis.$fieldName = null;\r\n\t\tthis.$dataType = null;\r\n\t\tthis.$isReferenced = false;\r\n\t\tthis.$index = 0;\r\n\t\t$tab__Param.verifyString(fieldName, 'Column Field Name');\r\n\t\tthis.$fieldName = fieldName;\r\n\t\tthis.$dataType = dataType;\r\n\t\tthis.$isReferenced = ss.coalesce(isReferenced, false);\r\n\t\tthis.$index = index;\r\n\t};\r\n\t$tab__ColumnImpl.__typeName = 'tab._ColumnImpl';\r\n\tglobal.tab._ColumnImpl = $tab__ColumnImpl;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// Tableau.JavaScript.Vql.Api.CustomViewImpl\r\n\tvar $tab__CustomViewImpl = function(workbookImpl, name, messagingOptions) {\r\n\t\tthis.$customView = null;\r\n\t\tthis.$presModel = null;\r\n\t\tthis.$workbookImpl = null;\r\n\t\tthis.$messagingOptions = null;\r\n\t\tthis.$name = null;\r\n\t\tthis.$ownerName = null;\r\n\t\tthis.$url = null;\r\n\t\tthis.$isPublic = false;\r\n\t\tthis.$isDefault = false;\r\n\t\tthis.$isStale = false;\r\n\t\tthis.$workbookImpl = workbookImpl;\r\n\t\tthis.$name = name;\r\n\t\tthis.$messagingOptions = messagingOptions;\r\n\t\tthis.$isPublic = false;\r\n\t\tthis.$isDefault = false;\r\n\t\tthis.$isStale = false;\r\n\t};\r\n\t$tab__CustomViewImpl.__typeName = 'tab._CustomViewImpl';\r\n\t$tab__CustomViewImpl._getAsync = function CustomViewImpl$GetAsync(eventContext) {\r\n\t\tvar deferred = new tab._Deferred();\r\n\t\tdeferred.resolve(eventContext.get__customViewImpl().get_$customView());\r\n\t\treturn deferred.get_promise();\r\n\t};\r\n\t$tab__CustomViewImpl._createNew = function CustomViewImpl$CreateNew(workbookImpl, messagingOptions, apiPresModel, defaultId) {\r\n\t\tvar cv = new $tab__CustomViewImpl(workbookImpl, apiPresModel.name, messagingOptions);\r\n\t\tcv.$isPublic = apiPresModel.isPublic;\r\n\t\tcv.$url = apiPresModel.url;\r\n\t\tcv.$ownerName = apiPresModel.owner.friendlyName;\r\n\t\tcv.$isDefault = ss.isValue(defaultId) && ss.unbox(defaultId) === apiPresModel.id;\r\n\t\tcv.$presModel = apiPresModel;\r\n\t\treturn cv;\r\n\t};\r\n\t$tab__CustomViewImpl._saveNewAsync = function CustomViewImpl$SaveNewAsync(workbookImpl, messagingOptions, name) {\r\n\t\tvar deferred = new tab._Deferred();\r\n\t\tvar param = {};\r\n\t\tparam['api.customViewName'] = name;\r\n\t\tvar returnHandler = $tab__CustomViewImpl.$createCustomViewCommandReturnHandler('api.SaveNewCustomViewCommand', deferred, function(result) {\r\n\t\t\t$tab__CustomViewImpl._processCustomViewUpdate(workbookImpl, messagingOptions, result, true);\r\n\t\t\tvar newView = null;\r\n\t\t\tif (ss.isValue(workbookImpl.get_$updatedCustomViews())) {\r\n\t\t\t\tnewView = workbookImpl.get_$updatedCustomViews().get_item(0);\r\n\t\t\t}\r\n\t\t\tdeferred.resolve(newView);\r\n\t\t});\r\n\t\tmessagingOptions.sendCommand(Object).call(messagingOptions, param, returnHandler);\r\n\t\treturn deferred.get_promise();\r\n\t};\r\n\t$tab__CustomViewImpl._showCustomViewAsync = function CustomViewImpl$ShowCustomViewAsync(workbookImpl, messagingOptions, serverCustomizedView) {\r\n\t\tvar deferred = new tab._Deferred();\r\n\t\tvar param = {};\r\n\t\tif (ss.isValue(serverCustomizedView)) {\r\n\t\t\tparam['api.customViewParam'] = serverCustomizedView;\r\n\t\t}\r\n\t\tvar returnHandler = $tab__CustomViewImpl.$createCustomViewCommandReturnHandler('api.ShowCustomViewCommand', deferred, function(result) {\r\n\t\t\tvar cv = workbookImpl.get_activeCustomView();\r\n\t\t\tdeferred.resolve(cv);\r\n\t\t});\r\n\t\tmessagingOptions.sendCommand(Object).call(messagingOptions, param, returnHandler);\r\n\t\treturn deferred.get_promise();\r\n\t};\r\n\t$tab__CustomViewImpl._makeCurrentCustomViewDefaultAsync = function CustomViewImpl$MakeCurrentCustomViewDefaultAsync(workbookImpl, messagingOptions) {\r\n\t\tvar deferred = new tab._Deferred();\r\n\t\tvar param = {};\r\n\t\tvar returnHandler = $tab__CustomViewImpl.$createCustomViewCommandReturnHandler('api.MakeCurrentCustomViewDefaultCommand', deferred, function(result) {\r\n\t\t\tvar cv = workbookImpl.get_activeCustomView();\r\n\t\t\tdeferred.resolve(cv);\r\n\t\t});\r\n\t\tmessagingOptions.sendCommand(Object).call(messagingOptions, param, returnHandler);\r\n\t\treturn deferred.get_promise();\r\n\t};\r\n\t$tab__CustomViewImpl._getCustomViewsAsync = function CustomViewImpl$GetCustomViewsAsync(workbookImpl, messagingOptions) {\r\n\t\tvar deferred = new tab._Deferred();\r\n\t\tvar returnHandler = new (ss.makeGenericType($tab_CommandReturnHandler$1, [Object]))('api.FetchCustomViewsCommand', 0, function(result) {\r\n\t\t\t$tab__CustomViewImpl._processCustomViews(workbookImpl, messagingOptions, result);\r\n\t\t\tdeferred.resolve(workbookImpl.get_$customViews()._toApiCollection());\r\n\t\t}, function(remoteError, message) {\r\n\t\t\tdeferred.reject($tab__TableauException.create('serverError', message));\r\n\t\t});\r\n\t\tmessagingOptions.sendCommand(Object).call(messagingOptions, null, returnHandler);\r\n\t\treturn deferred.get_promise();\r\n\t};\r\n\t$tab__CustomViewImpl._processCustomViews = function CustomViewImpl$ProcessCustomViews(workbookImpl, messagingOptions, info) {\r\n\t\t$tab__CustomViewImpl._processCustomViewUpdate(workbookImpl, messagingOptions, info, false);\r\n\t};\r\n\t$tab__CustomViewImpl._processCustomViewUpdate = function CustomViewImpl$ProcessCustomViewUpdate(workbookImpl, messagingOptions, info, doUpdateList) {\r\n\t\tif (doUpdateList) {\r\n\t\t\tworkbookImpl.set_$updatedCustomViews(new tab._Collection());\r\n\t\t}\r\n\t\tworkbookImpl.set_$currentCustomView(null);\r\n\t\tvar currentViewName = null;\r\n\t\tif (ss.isValue(info.currentView)) {\r\n\t\t\tcurrentViewName = info.currentView.name;\r\n\t\t}\r\n\t\tvar defaultId = info.defaultCustomViewId;\r\n\t\tif (doUpdateList && ss.isValue(info.newView)) {\r\n\t\t\tvar newViewImpl = $tab__CustomViewImpl._createNew(workbookImpl, messagingOptions, info.newView, defaultId);\r\n\t\t\tworkbookImpl.get_$updatedCustomViews()._add(newViewImpl.get_$name(), newViewImpl.get_$customView());\r\n\t\t}\r\n\t\tworkbookImpl.set_$removedCustomViews(workbookImpl.get_$customViews());\r\n\t\tworkbookImpl.set_$customViews(new tab._Collection());\r\n\t\tif (ss.isValue(info.customViews)) {\r\n\t\t\tvar list = info.customViews;\r\n\t\t\tif (list.length > 0) {\r\n\t\t\t\tfor (var i = 0; i < list.length; i++) {\r\n\t\t\t\t\tvar customViewImpl = $tab__CustomViewImpl._createNew(workbookImpl, messagingOptions, list[i], defaultId);\r\n\t\t\t\t\tworkbookImpl.get_$customViews()._add(customViewImpl.get_$name(), customViewImpl.get_$customView());\r\n\t\t\t\t\tif (workbookImpl.get_$removedCustomViews()._has(customViewImpl.get_$name())) {\r\n\t\t\t\t\t\tworkbookImpl.get_$removedCustomViews()._remove(customViewImpl.get_$name());\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse if (doUpdateList) {\r\n\t\t\t\t\t\tif (!workbookImpl.get_$updatedCustomViews()._has(customViewImpl.get_$name())) {\r\n\t\t\t\t\t\t\tworkbookImpl.get_$updatedCustomViews()._add(customViewImpl.get_$name(), customViewImpl.get_$customView());\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (ss.isValue(currentViewName) && ss.referenceEquals(customViewImpl.get_$name(), currentViewName)) {\r\n\t\t\t\t\t\tworkbookImpl.set_$currentCustomView(customViewImpl.get_$customView());\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\t$tab__CustomViewImpl.$createCustomViewCommandReturnHandler = function CustomViewImpl$CreateCustomViewCommandReturnHandler(commandName, deferred, successCallback) {\r\n\t\tvar errorCallback = function(remoteError, message) {\r\n\t\t\tdeferred.reject($tab__TableauException.create('serverError', message));\r\n\t\t};\r\n\t\treturn new (ss.makeGenericType($tab_CommandReturnHandler$1, [Object]))(commandName, 0, successCallback, errorCallback);\r\n\t};\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// Tableau.JavaScript.Vql.Api.DashboardImpl\r\n\tvar $tab__DashboardImpl = function(sheetInfoImpl, workbookImpl, messagingOptions) {\r\n\t\tthis.$dashboard = null;\r\n\t\tthis.$worksheets = new tab._Collection();\r\n\t\tthis.$dashboardObjects = new tab._Collection();\r\n\t\t$tab__SheetImpl.call(this, sheetInfoImpl, workbookImpl, messagingOptions);\r\n\t};\r\n\t$tab__DashboardImpl.__typeName = 'tab._DashboardImpl';\r\n\tglobal.tab._DashboardImpl = $tab__DashboardImpl;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// Tableau.JavaScript.Vql.Api.DataSourceImpl\r\n\tvar $tab__DataSourceImpl = function(name, isPrimary) {\r\n\t\tthis.$name = null;\r\n\t\tthis.$fields = new tab._Collection();\r\n\t\tthis.$isPrimary = false;\r\n\t\tthis.$dataSource = null;\r\n\t\t$tab__Param.verifyString(name, 'name');\r\n\t\tthis.$name = name;\r\n\t\tthis.$isPrimary = isPrimary;\r\n\t};\r\n\t$tab__DataSourceImpl.__typeName = 'tab._DataSourceImpl';\r\n\t$tab__DataSourceImpl.processDataSource = function DataSourceImpl$ProcessDataSource(dataSourcePm) {\r\n\t\tvar dataSourceImpl = new $tab__DataSourceImpl(dataSourcePm.name, dataSourcePm.isPrimary);\r\n\t\tvar fields = ss.coalesce(dataSourcePm.fields, []);\r\n\t\tfor (var $t1 = 0; $t1 < fields.length; $t1++) {\r\n\t\t\tvar fieldPm = fields[$t1];\r\n\t\t\tvar fieldRole = $tab_ApiEnumConverter.convertFieldRole(fieldPm.role);\r\n\t\t\tvar fieldAggregation = $tab_ApiEnumConverter.convertFieldAggregation(fieldPm.aggregation);\r\n\t\t\tvar field = new $tableauSoftware_Field(dataSourceImpl.get_dataSource(), fieldPm.name, fieldRole, fieldAggregation);\r\n\t\t\tdataSourceImpl.addField(field);\r\n\t\t}\r\n\t\treturn dataSourceImpl;\r\n\t};\r\n\t$tab__DataSourceImpl.processDataSourcesForWorksheet = function DataSourceImpl$ProcessDataSourcesForWorksheet(pm) {\r\n\t\tvar dataSources = new tab._Collection();\r\n\t\tvar primaryDataSourceImpl = null;\r\n\t\tfor (var $t1 = 0; $t1 < pm.dataSources.length; $t1++) {\r\n\t\t\tvar dataSourcePm = pm.dataSources[$t1];\r\n\t\t\tvar dataSourceImpl = $tab__DataSourceImpl.processDataSource(dataSourcePm);\r\n\t\t\tif (dataSourcePm.isPrimary) {\r\n\t\t\t\tprimaryDataSourceImpl = dataSourceImpl;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tdataSources._add(dataSourcePm.name, dataSourceImpl.get_dataSource());\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (ss.isValue(primaryDataSourceImpl)) {\r\n\t\t\tdataSources._addToFirst(primaryDataSourceImpl.get_name(), primaryDataSourceImpl.get_dataSource());\r\n\t\t}\r\n\t\treturn dataSources;\r\n\t};\r\n\tglobal.tab._DataSourceImpl = $tab__DataSourceImpl;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// Tableau.JavaScript.Vql.Api.DataTableImpl\r\n\tvar $tab__DataTableImpl = function(rows, isSummaryData, totalRowCount, columns) {\r\n\t\tthis.$name = null;\r\n\t\tthis.$rows = null;\r\n\t\tthis.$totalRowCount = 0;\r\n\t\tthis.$columns = null;\r\n\t\tthis.$isSummaryData = false;\r\n\t\tthis.$rows = rows;\r\n\t\tthis.$totalRowCount = totalRowCount;\r\n\t\tthis.$columns = columns;\r\n\t\tthis.$isSummaryData = isSummaryData;\r\n\t\tthis.$name = (isSummaryData ? 'Summary Data Table' : 'Underlying Data Table');\r\n\t};\r\n\t$tab__DataTableImpl.__typeName = 'tab._DataTableImpl';\r\n\t$tab__DataTableImpl.processGetDataPresModel = function DataTableImpl$ProcessGetDataPresModel(model) {\r\n\t\tvar clientTable = $tab__DataTableImpl.$processUnderlyingTable(model.dataTable);\r\n\t\tvar clientColumns = $tab__DataTableImpl.$processUnderlyingColumns(model.headers);\r\n\t\tvar clientDataTableImpl = new $tab__DataTableImpl(clientTable, model.isSummary, clientTable.length, clientColumns);\r\n\t\treturn new $tableauSoftware_DataTable(clientDataTableImpl);\r\n\t};\r\n\t$tab__DataTableImpl.$processUnderlyingTable = function DataTableImpl$ProcessUnderlyingTable(apiTable) {\r\n\t\tvar clientTable = [];\r\n\t\tfor (var $t1 = 0; $t1 < apiTable.length; $t1++) {\r\n\t\t\tvar row = apiTable[$t1];\r\n\t\t\tvar clientRow = [];\r\n\t\t\tfor (var $t2 = 0; $t2 < row.length; $t2++) {\r\n\t\t\t\tvar apiValue = row[$t2];\r\n\t\t\t\tclientRow.push($tab__Utility.getDataValue(apiValue));\r\n\t\t\t}\r\n\t\t\tclientTable.push(clientRow);\r\n\t\t}\r\n\t\treturn clientTable;\r\n\t};\r\n\t$tab__DataTableImpl.$processUnderlyingColumns = function DataTableImpl$ProcessUnderlyingColumns(apiColumns) {\r\n\t\tvar clientColumns = [];\r\n\t\tfor (var $t1 = 0; $t1 < apiColumns.length; $t1++) {\r\n\t\t\tvar apiColumn = apiColumns[$t1];\r\n\t\t\tvar clientColumn = new $tab__ColumnImpl(apiColumn.fieldName, $tab_ApiEnumConverter.convertDataType(apiColumn.dataType), apiColumn.isReferenced, apiColumn.index);\r\n\t\t\tclientColumns.push(new $tableauSoftware_Column(clientColumn));\r\n\t\t}\r\n\t\treturn clientColumns;\r\n\t};\r\n\tglobal.tab._DataTableImpl = $tab__DataTableImpl;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// Tableau.JavaScript.Vql.Api.DoNotUseDeferred\r\n\tvar $tab__DeferredImpl = function() {\r\n\t\tthis.$promise = null;\r\n\t\tthis.$thenFunc = null;\r\n\t\tthis.$listeners = [];\r\n\t\tthis.$resolveFunc = null;\r\n\t\tthis.$promise = new $tab__PromiseImpl(ss.mkdel(this, this.then));\r\n\t\tthis.$thenFunc = ss.mkdel(this, this.$preResolutionThen);\r\n\t\tthis.$resolveFunc = ss.mkdel(this, this.$transitionToFulfilled);\r\n\t};\r\n\t$tab__DeferredImpl.__typeName = 'tab._DeferredImpl';\r\n\tglobal.tab._DeferredImpl = $tab__DeferredImpl;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// Tableau.JavaScript.Vql.Core.jQueryInterface\r\n\tvar $tab__jQueryShim = function() {\r\n\t};\r\n\t$tab__jQueryShim.__typeName = 'tab._jQueryShim';\r\n\t$tab__jQueryShim.isFunction = function jQueryInterface$IsFunction(obj) {\r\n\t\treturn ss.referenceEquals($tab__jQueryShim.type(obj), $tab__jQueryShim.$functionType);\r\n\t};\r\n\t$tab__jQueryShim.isArray = function jQueryInterface$IsArray(obj) {\r\n\t\tif (ss.isValue(Array['isArray'])) {\r\n\t\t\treturn ss.unbox(ss.cast(Array['isArray'](obj), Boolean));\r\n\t\t}\r\n\t\treturn ss.referenceEquals($tab__jQueryShim.type(obj), $tab__jQueryShim.$arrayType);\r\n\t};\r\n\t$tab__jQueryShim.type = function jQueryInterface$Type(obj) {\r\n\t\treturn (ss.isNullOrUndefined(obj) ? String(obj) : ($tab__jQueryShim.$class2type[ss.cast($tab__jQueryShim.$toString.call(obj), String)] || $tab__jQueryShim.$objectType));\r\n\t};\r\n\t$tab__jQueryShim.trim = function jQueryInterface$Trim(text) {\r\n\t\tif (ss.isValue($tab__jQueryShim.$trim)) {\r\n\t\t\treturn (ss.isNullOrUndefined(text) ? '' : ss.cast($tab__jQueryShim.$trim.call(text), String));\r\n\t\t}\r\n\t\treturn (ss.isNullOrUndefined(text) ? '' : text.toString().replace($tab__jQueryShim.$trimLeft, '').replace($tab__jQueryShim.$trimRight, ''));\r\n\t};\r\n\t$tab__jQueryShim.parseJSON = function jQueryInterface$ParseJson(data) {\r\n\t\tif (typeof(data) !== 'string' || ss.isNullOrUndefined(data)) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\tdata = $tab__jQueryShim.trim(data);\r\n\t\tif (ss.isValue(JSON) && ss.isValue(JSON['parse'])) {\r\n\t\t\treturn JSON.parse(data);\r\n\t\t}\r\n\t\tif ($tab__jQueryShim.$rvalidchars.test(data.replace($tab__jQueryShim.$rvalidescape, '@').replace($tab__jQueryShim.$rvalidtokens, ']').replace($tab__jQueryShim.$rvalidbraces, ''))) {\r\n\t\t\treturn (new Function('return ' + data))();\r\n\t\t}\r\n\t\tthrow new ss.Exception('Invalid JSON: ' + data);\r\n\t};\r\n\tglobal.tab._jQueryShim = $tab__jQueryShim;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// Tableau.JavaScript.Vql.Api.Param\r\n\tvar $tab__Param = function() {\r\n\t};\r\n\t$tab__Param.__typeName = 'tab._Param';\r\n\t$tab__Param.verifyString = function Param$VerifyString(argumentValue, argumentName) {\r\n\t\tif (ss.isNullOrUndefined(argumentValue) || argumentValue.length === 0) {\r\n\t\t\tthrow $tab__TableauException.createInternalStringArgumentException(argumentName);\r\n\t\t}\r\n\t};\r\n\t$tab__Param.verifyValue = function Param$VerifyValue(argumentValue, argumentName) {\r\n\t\tif (ss.isNullOrUndefined(argumentValue)) {\r\n\t\t\tthrow $tab__TableauException.createInternalNullArgumentException(argumentName);\r\n\t\t}\r\n\t};\r\n\tglobal.tab._Param = $tab__Param;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// Tableau.JavaScript.Vql.Api.DoNotUsePromise\r\n\tvar $tab__PromiseImpl = function(thenFunc) {\r\n\t\tthis.then = null;\r\n\t\tthis.then = thenFunc;\r\n\t};\r\n\t$tab__PromiseImpl.__typeName = 'tab._PromiseImpl';\r\n\tglobal.tab._PromiseImpl = $tab__PromiseImpl;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// Tableau.JavaScript.Vql.Api.TabRect\r\n\tvar $tab__Rect = function(left, top, width, height) {\r\n\t\tthis.left = 0;\r\n\t\tthis.top = 0;\r\n\t\tthis.width = 0;\r\n\t\tthis.height = 0;\r\n\t\tthis.left = left;\r\n\t\tthis.top = top;\r\n\t\tthis.width = width;\r\n\t\tthis.height = height;\r\n\t};\r\n\t$tab__Rect.__typeName = 'tab._Rect';\r\n\tglobal.tab._Rect = $tab__Rect;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// Tableau.JavaScript.Vql.Api.SheetImpl\r\n\tvar $tab__SheetImpl = function(sheetInfoImpl, workbookImpl, messagingOptions) {\r\n\t\tthis.$name = null;\r\n\t\tthis.$index = 0;\r\n\t\tthis.$isActive = false;\r\n\t\tthis.$isHidden = false;\r\n\t\tthis.$sheetType = null;\r\n\t\tthis.$size = null;\r\n\t\tthis.$url = null;\r\n\t\tthis.$workbookImpl = null;\r\n\t\tthis.$messagingOptions = null;\r\n\t\tthis.$parentStoryPointImpl = null;\r\n\t\tthis.$zoneId = 0;\r\n\t\t$tab__Param.verifyValue(sheetInfoImpl, 'sheetInfoImpl');\r\n\t\t$tab__Param.verifyValue(workbookImpl, 'workbookImpl');\r\n\t\t$tab__Param.verifyValue(messagingOptions, 'messagingOptions');\r\n\t\tthis.$name = sheetInfoImpl.name;\r\n\t\tthis.$index = sheetInfoImpl.index;\r\n\t\tthis.$isActive = sheetInfoImpl.isActive;\r\n\t\tthis.$isHidden = sheetInfoImpl.isHidden;\r\n\t\tthis.$sheetType = sheetInfoImpl.sheetType;\r\n\t\tthis.$size = sheetInfoImpl.size;\r\n\t\tthis.$url = sheetInfoImpl.url;\r\n\t\tthis.$workbookImpl = workbookImpl;\r\n\t\tthis.$messagingOptions = messagingOptions;\r\n\t\tthis.$zoneId = sheetInfoImpl.zoneId;\r\n\t};\r\n\t$tab__SheetImpl.__typeName = 'tab._SheetImpl';\r\n\t$tab__SheetImpl.$convertValueToIntIfValid = function SheetImpl$ConvertValueToIntIfValid(value) {\r\n\t\tif (ss.isValue(value)) {\r\n\t\t\treturn $tab__Utility.toInt(value);\r\n\t\t}\r\n\t\treturn value;\r\n\t};\r\n\t$tab__SheetImpl.$normalizeSheetSize = function SheetImpl$NormalizeSheetSize(size) {\r\n\t\tvar behavior = $tab_$PublicEnums.$normalizeEnum($tab_ApiSheetSizeBehavior).call(null, size.behavior, 'size.behavior');\r\n\t\tvar minSize = size.minSize;\r\n\t\tif (ss.isValue(minSize)) {\r\n\t\t\tminSize = $tab_Size.$ctor($tab__SheetImpl.$convertValueToIntIfValid(size.minSize.width), $tab__SheetImpl.$convertValueToIntIfValid(size.minSize.height));\r\n\t\t}\r\n\t\tvar maxSize = size.maxSize;\r\n\t\tif (ss.isValue(maxSize)) {\r\n\t\t\tmaxSize = $tab_Size.$ctor($tab__SheetImpl.$convertValueToIntIfValid(size.maxSize.width), $tab__SheetImpl.$convertValueToIntIfValid(size.maxSize.height));\r\n\t\t}\r\n\t\treturn $tab_SheetSize.$ctor(behavior, minSize, maxSize);\r\n\t};\r\n\tglobal.tab._SheetImpl = $tab__SheetImpl;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// Tableau.JavaScript.Vql.Api.ApiSheetInfoImpl\r\n\tvar $tab__SheetInfoImpl = function() {\r\n\t};\r\n\t$tab__SheetInfoImpl.__typeName = 'tab._SheetInfoImpl';\r\n\t$tab__SheetInfoImpl.$ctor = function(name, sheetType, index, size, workbook, url, isActive, isHidden, zoneId) {\r\n\t\tvar $this = new Object();\r\n\t\t$this.name = null;\r\n\t\t$this.index = 0;\r\n\t\t$this.workbook = null;\r\n\t\t$this.url = null;\r\n\t\t$this.isHidden = false;\r\n\t\t$this.sheetType = null;\r\n\t\t$this.zoneId = 0;\r\n\t\t$this.size = null;\r\n\t\t$this.isActive = false;\r\n\t\t$this.name = name;\r\n\t\t$this.sheetType = sheetType;\r\n\t\t$this.index = index;\r\n\t\t$this.size = size;\r\n\t\t$this.workbook = workbook;\r\n\t\t$this.url = url;\r\n\t\t$this.isActive = isActive;\r\n\t\t$this.isHidden = isHidden;\r\n\t\t$this.zoneId = zoneId;\r\n\t\treturn $this;\r\n\t};\r\n\tglobal.tab._SheetInfoImpl = $tab__SheetInfoImpl;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// Tableau.JavaScript.Vql.Api.StoryImpl\r\n\tvar $tab__StoryImpl = function(sheetInfoImpl, workbookImpl, messagingOptions, storyPm, findSheetFunc) {\r\n\t\tthis.$activeStoryPointImpl = null;\r\n\t\tthis.$findSheetFunc = null;\r\n\t\tthis.$story = null;\r\n\t\tthis.$storyPointsInfo = null;\r\n\t\tthis.$2$ActiveStoryPointChangeField = null;\r\n\t\t$tab__SheetImpl.call(this, sheetInfoImpl, workbookImpl, messagingOptions);\r\n\t\t$tab__Param.verifyValue(storyPm, 'storyPm');\r\n\t\t$tab__Param.verifyValue(findSheetFunc, 'findSheetFunc');\r\n\t\tthis.$findSheetFunc = findSheetFunc;\r\n\t\tthis.update(storyPm);\r\n\t};\r\n\t$tab__StoryImpl.__typeName = 'tab._StoryImpl';\r\n\tglobal.tab._StoryImpl = $tab__StoryImpl;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// Tableau.JavaScript.Vql.Api.StoryPointImpl\r\n\tvar $tab__StoryPointImpl = function(storyPointInfoImpl, containedSheetImpl) {\r\n\t\tthis.$caption = null;\r\n\t\tthis.$index = 0;\r\n\t\tthis.$isActive = false;\r\n\t\tthis.$isUpdated = false;\r\n\t\tthis.$containedSheetImpl = null;\r\n\t\tthis.$parentStoryImpl = null;\r\n\t\tthis.$storyPoint = null;\r\n\t\tthis.$storyPointId = 0;\r\n\t\tthis.$isActive = storyPointInfoImpl.isActive;\r\n\t\tthis.$isUpdated = storyPointInfoImpl.isUpdated;\r\n\t\tthis.$caption = storyPointInfoImpl.caption;\r\n\t\tthis.$index = storyPointInfoImpl.index;\r\n\t\tthis.$parentStoryImpl = storyPointInfoImpl.parentStoryImpl;\r\n\t\tthis.$storyPointId = storyPointInfoImpl.storyPointId;\r\n\t\tthis.$containedSheetImpl = containedSheetImpl;\r\n\t\tif (ss.isValue(containedSheetImpl)) {\r\n\t\t\tthis.$containedSheetImpl.set_parentStoryPointImpl(this);\r\n\t\t\tif (containedSheetImpl.get_sheetType() === 'dashboard') {\r\n\t\t\t\tvar containedDashboardImpl = ss.cast(this.$containedSheetImpl, $tab__DashboardImpl);\r\n\t\t\t\tfor (var i = 0; i < containedDashboardImpl.get_worksheets().get__length(); i++) {\r\n\t\t\t\t\tvar worksheet = containedDashboardImpl.get_worksheets().get_item(i);\r\n\t\t\t\t\tworksheet._impl.set_parentStoryPointImpl(this);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\t$tab__StoryPointImpl.__typeName = 'tab._StoryPointImpl';\r\n\t$tab__StoryPointImpl.createContainedSheet = function StoryPointImpl$CreateContainedSheet(containedSheetInfo, workbookImpl, messagingOptions, findSheetFunc) {\r\n\t\tvar containedSheetType = $tab_ApiEnumConverter.convertSheetType(containedSheetInfo.sheetType);\r\n\t\tvar index = -1;\r\n\t\tvar size = $tab_SheetSizeFactory.createAutomatic();\r\n\t\tvar isActive = false;\r\n\t\tvar publishedSheetInfo = findSheetFunc(containedSheetInfo.name);\r\n\t\tvar isHidden = ss.isNullOrUndefined(publishedSheetInfo);\r\n\t\tvar url = (isHidden ? '' : publishedSheetInfo.getUrl());\r\n\t\tvar sheetInfoImpl = $tab__SheetInfoImpl.$ctor(containedSheetInfo.name, containedSheetType, index, size, workbookImpl.get_workbook(), url, isActive, isHidden, containedSheetInfo.zoneId);\r\n\t\tif (containedSheetInfo.sheetType === 'worksheet') {\r\n\t\t\tvar parentDashboardImpl = null;\r\n\t\t\tvar worksheetImpl = new $tab__WorksheetImpl(sheetInfoImpl, workbookImpl, messagingOptions, parentDashboardImpl);\r\n\t\t\treturn worksheetImpl;\r\n\t\t}\r\n\t\telse if (containedSheetInfo.sheetType === 'dashboard') {\r\n\t\t\tvar dashboardImpl = new $tab__DashboardImpl(sheetInfoImpl, workbookImpl, messagingOptions);\r\n\t\t\tvar dashboardZones = $tab__WorkbookImpl.$createDashboardZones(containedSheetInfo.dashboardZones);\r\n\t\t\tdashboardImpl.$addObjects(dashboardZones, findSheetFunc);\r\n\t\t\treturn dashboardImpl;\r\n\t\t}\r\n\t\telse if (containedSheetInfo.sheetType === 'story') {\r\n\t\t\tthrow $tab__TableauException.createInternalError('Cannot have a story embedded within another story.');\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthrow $tab__TableauException.createInternalError(\"Unknown sheet type '\" + containedSheetInfo.sheetType + \"'\");\r\n\t\t}\r\n\t};\r\n\tglobal.tab._StoryPointImpl = $tab__StoryPointImpl;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// Tableau.JavaScript.Vql.Api.StoryPointInfoImpl\r\n\tvar $tab__StoryPointInfoImpl = function() {\r\n\t};\r\n\t$tab__StoryPointInfoImpl.__typeName = 'tab._StoryPointInfoImpl';\r\n\t$tab__StoryPointInfoImpl.$ctor = function(caption, index, storyPointId, isActive, isUpdated, parentStoryImpl) {\r\n\t\tvar $this = new Object();\r\n\t\t$this.storyPointId = 0;\r\n\t\t$this.parentStoryImpl = null;\r\n\t\t$this.caption = null;\r\n\t\t$this.index = 0;\r\n\t\t$this.isActive = false;\r\n\t\t$this.isUpdated = false;\r\n\t\t$this.caption = caption;\r\n\t\t$this.index = index;\r\n\t\t$this.storyPointId = storyPointId;\r\n\t\t$this.isActive = isActive;\r\n\t\t$this.isUpdated = isUpdated;\r\n\t\t$this.parentStoryImpl = parentStoryImpl;\r\n\t\treturn $this;\r\n\t};\r\n\tglobal.tab._StoryPointInfoImpl = $tab__StoryPointInfoImpl;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// Tableau.JavaScript.Vql.Api.TableauException\r\n\tvar $tab__TableauException = function() {\r\n\t};\r\n\t$tab__TableauException.__typeName = 'tab._TableauException';\r\n\t$tab__TableauException.create = function TableauException$Create(id, message) {\r\n\t\tvar x = new ss.Exception(message);\r\n\t\tx['tableauSoftwareErrorCode'] = id;\r\n\t\treturn x;\r\n\t};\r\n\t$tab__TableauException.createInternalError = function TableauException$CreateInternalError(details) {\r\n\t\tif (ss.isValue(details)) {\r\n\t\t\treturn $tab__TableauException.create('internalError', 'Internal error. Please contact Tableau support with the following information: ' + details);\r\n\t\t}\r\n\t\telse {\r\n\t\t\treturn $tab__TableauException.create('internalError', 'Internal error. Please contact Tableau support');\r\n\t\t}\r\n\t};\r\n\t$tab__TableauException.createInternalNullArgumentException = function TableauException$CreateInternalNullArgumentException(argumentName) {\r\n\t\treturn $tab__TableauException.createInternalError(\"Null/undefined argument '\" + argumentName + \"'.\");\r\n\t};\r\n\t$tab__TableauException.createInternalStringArgumentException = function TableauException$CreateInternalStringArgumentException(argumentName) {\r\n\t\treturn $tab__TableauException.createInternalError(\"Invalid string argument '\" + argumentName + \"'.\");\r\n\t};\r\n\t$tab__TableauException.createServerError = function TableauException$CreateServerError(message) {\r\n\t\treturn $tab__TableauException.create('serverError', message);\r\n\t};\r\n\t$tab__TableauException.createNotActiveSheet = function TableauException$CreateNotActiveSheet() {\r\n\t\treturn $tab__TableauException.create('notActiveSheet', 'Operation not allowed on non-active sheet');\r\n\t};\r\n\t$tab__TableauException.createInvalidCustomViewName = function TableauException$CreateInvalidCustomViewName(customViewName) {\r\n\t\treturn $tab__TableauException.create('invalidCustomViewName', 'Invalid custom view name: ' + customViewName);\r\n\t};\r\n\t$tab__TableauException.createInvalidParameter = function TableauException$CreateInvalidParameter(paramName) {\r\n\t\treturn $tab__TableauException.create('invalidParameter', 'Invalid parameter: ' + paramName);\r\n\t};\r\n\t$tab__TableauException.createInvalidFilterFieldNameOrValue = function TableauException$CreateInvalidFilterFieldNameOrValue(fieldName) {\r\n\t\treturn $tab__TableauException.create('invalidFilterFieldNameOrValue', 'Invalid filter field name or value: ' + fieldName);\r\n\t};\r\n\t$tab__TableauException.createInvalidDateParameter = function TableauException$CreateInvalidDateParameter(paramName) {\r\n\t\treturn $tab__TableauException.create('invalidDateParameter', 'Invalid date parameter: ' + paramName);\r\n\t};\r\n\t$tab__TableauException.createNullOrEmptyParameter = function TableauException$CreateNullOrEmptyParameter(paramName) {\r\n\t\treturn $tab__TableauException.create('nullOrEmptyParameter', 'Parameter cannot be null or empty: ' + paramName);\r\n\t};\r\n\t$tab__TableauException.createMissingMaxSize = function TableauException$CreateMissingMaxSize() {\r\n\t\treturn $tab__TableauException.create('missingMaxSize', 'Missing maxSize for SheetSizeBehavior.ATMOST');\r\n\t};\r\n\t$tab__TableauException.createMissingMinSize = function TableauException$CreateMissingMinSize() {\r\n\t\treturn $tab__TableauException.create('missingMinSize', 'Missing minSize for SheetSizeBehavior.ATLEAST');\r\n\t};\r\n\t$tab__TableauException.createMissingMinMaxSize = function TableauException$CreateMissingMinMaxSize() {\r\n\t\treturn $tab__TableauException.create('missingMinMaxSize', 'Missing minSize or maxSize for SheetSizeBehavior.RANGE');\r\n\t};\r\n\t$tab__TableauException.createInvalidRangeSize = function TableauException$CreateInvalidRangeSize() {\r\n\t\treturn $tab__TableauException.create('invalidSize', 'Missing minSize or maxSize for SheetSizeBehavior.RANGE');\r\n\t};\r\n\t$tab__TableauException.createInvalidSizeValue = function TableauException$CreateInvalidSizeValue() {\r\n\t\treturn $tab__TableauException.create('invalidSize', 'Size value cannot be less than zero');\r\n\t};\r\n\t$tab__TableauException.createInvalidSheetSizeParam = function TableauException$CreateInvalidSheetSizeParam() {\r\n\t\treturn $tab__TableauException.create('invalidSize', 'Invalid sheet size parameter');\r\n\t};\r\n\t$tab__TableauException.createSizeConflictForExactly = function TableauException$CreateSizeConflictForExactly() {\r\n\t\treturn $tab__TableauException.create('invalidSize', 'Conflicting size values for SheetSizeBehavior.EXACTLY');\r\n\t};\r\n\t$tab__TableauException.createInvalidSizeBehaviorOnWorksheet = function TableauException$CreateInvalidSizeBehaviorOnWorksheet() {\r\n\t\treturn $tab__TableauException.create('invalidSizeBehaviorOnWorksheet', 'Only SheetSizeBehavior.AUTOMATIC is allowed on Worksheets');\r\n\t};\r\n\t$tab__TableauException.createNoUrlForHiddenWorksheet = function TableauException$CreateNoUrlForHiddenWorksheet() {\r\n\t\treturn $tab__TableauException.create('noUrlForHiddenWorksheet', 'Hidden worksheets do not have a URL.');\r\n\t};\r\n\t$tab__TableauException.$createInvalidAggregationFieldName = function TableauException$CreateInvalidAggregationFieldName(fieldName) {\r\n\t\treturn $tab__TableauException.create('invalidAggregationFieldName', \"Invalid aggregation type for field '\" + fieldName + \"'\");\r\n\t};\r\n\t$tab__TableauException.createIndexOutOfRange = function TableauException$CreateIndexOutOfRange(index) {\r\n\t\treturn $tab__TableauException.create('indexOutOfRange', \"Index '\" + index + \"' is out of range.\");\r\n\t};\r\n\t$tab__TableauException.createUnsupportedEventName = function TableauException$CreateUnsupportedEventName(eventName) {\r\n\t\treturn $tab__TableauException.create('unsupportedEventName', \"Unsupported event '\" + eventName + \"'.\");\r\n\t};\r\n\t$tab__TableauException.createBrowserNotCapable = function TableauException$CreateBrowserNotCapable() {\r\n\t\treturn $tab__TableauException.create('browserNotCapable', 'This browser is incapable of supporting the Tableau JavaScript API.');\r\n\t};\r\n\tglobal.tab._TableauException = $tab__TableauException;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// Tableau.JavaScript.Vql.Api.Utility\r\n\tvar $tab__Utility = function() {\r\n\t};\r\n\t$tab__Utility.__typeName = 'tab._Utility';\r\n\t$tab__Utility.isNullOrEmpty = function Utility$IsNullOrEmpty(value) {\r\n\t\treturn ss.isNullOrUndefined(value) || (value['length'] || 0) <= 0;\r\n\t};\r\n\t$tab__Utility.isString = function Utility$IsString(value) {\r\n\t\treturn typeof(value) === 'string';\r\n\t};\r\n\t$tab__Utility.isNumber = function Utility$IsNumber(value) {\r\n\t\treturn typeof(value) === 'number';\r\n\t};\r\n\t$tab__Utility.isDate = function Utility$IsDate(value) {\r\n\t\tif (typeof(value) === 'object' && ss.isInstanceOfType(value, ss.JsDate)) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\telse if (!!(Object.prototype.toString.call(value) !== '[object Date]')) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\treturn !isNaN(ss.cast(value, ss.JsDate).getTime());\r\n\t};\r\n\t$tab__Utility.isDateValid = function Utility$IsDateValid(dt) {\r\n\t\treturn !isNaN(dt.getTime());\r\n\t};\r\n\t$tab__Utility.indexOf = function Utility$IndexOf(array, searchElement, fromIndex) {\r\n\t\tif (ss.isValue(Array.prototype['indexOf'])) {\r\n\t\t\treturn ss.unbox(ss.cast(array['indexOf'](searchElement, fromIndex), ss.Int32));\r\n\t\t}\r\n\t\tfromIndex = fromIndex || 0;\r\n\t\tvar length = array.length;\r\n\t\tif (length > 0) {\r\n\t\t\tfor (var index = fromIndex; index < length; index++) {\r\n\t\t\t\tif (ss.referenceEquals(array[index], searchElement)) {\r\n\t\t\t\t\treturn index;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn -1;\r\n\t};\r\n\t$tab__Utility.contains = function Utility$Contains(array, searchElement, fromIndex) {\r\n\t\tvar index = $tab__Utility.indexOf(array, searchElement, fromIndex);\r\n\t\treturn index >= 0;\r\n\t};\r\n\t$tab__Utility.getTopmostWindow = function Utility$GetTopmostWindow() {\r\n\t\tvar win = window.self;\r\n\t\twhile (ss.isValue(win.parent) && !ss.referenceEquals(win.parent, win)) {\r\n\t\t\twin = win.parent;\r\n\t\t}\r\n\t\treturn win;\r\n\t};\r\n\t$tab__Utility.toInt = function Utility$ToInt(value) {\r\n\t\tif ($tab__Utility.isNumber(value)) {\r\n\t\t\treturn ss.Int32.trunc(value);\r\n\t\t}\r\n\t\tvar number = parseInt(value.toString(), 10);\r\n\t\tif (isNaN(number)) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t\treturn number;\r\n\t};\r\n\t$tab__Utility.hasClass = function Utility$HasClass(element, className) {\r\n\t\tvar regexClass = new RegExp('[\\\\n\\\\t\\\\r]', 'g');\r\n\t\treturn ss.isValue(element) && (' ' + element.className + ' ').replace(regexClass, ' ').indexOf(' ' + className + ' ') > -1;\r\n\t};\r\n\t$tab__Utility.findParentWithClassName = function Utility$FindParentWithClassName(element, className, stopAtElement) {\r\n\t\tvar parent = (ss.isValue(element) ? ss.cast(element.parentNode, HTMLElement) : null);\r\n\t\tstopAtElement = stopAtElement || document.body;\r\n\t\twhile (ss.isValue(parent)) {\r\n\t\t\tif ($tab__Utility.hasClass(parent, className)) {\r\n\t\t\t\treturn parent;\r\n\t\t\t}\r\n\t\t\tif (ss.referenceEquals(parent, stopAtElement)) {\r\n\t\t\t\tparent = null;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tparent = ss.cast(parent.parentNode, HTMLElement);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn parent;\r\n\t};\r\n\t$tab__Utility.hasJsonParse = function Utility$HasJsonParse() {\r\n\t\treturn !!(ss.isValue(JSON) && ss.isValue(JSON.parse));\r\n\t};\r\n\t$tab__Utility.hasWindowPostMessage = function Utility$HasWindowPostMessage() {\r\n\t\treturn !!ss.isValue(window.postMessage);\r\n\t};\r\n\t$tab__Utility.isPostMessageSynchronous = function Utility$IsPostMessageSynchronous() {\r\n\t\tif ($tab__Utility.isIE()) {\r\n\t\t\tvar msieRegEx = new RegExp('(msie) ([\\\\w.]+)');\r\n\t\t\tvar matches = msieRegEx.exec(window.navigator.userAgent.toLowerCase());\r\n\t\t\tvar versionStr = matches[2] || '0';\r\n\t\t\tvar version = parseInt(versionStr, 10);\r\n\t\t\treturn version <= 8;\r\n\t\t}\r\n\t\treturn false;\r\n\t};\r\n\t$tab__Utility.hasDocumentAttachEvent = function Utility$HasDocumentAttachEvent() {\r\n\t\treturn !!ss.isValue(document.attachEvent);\r\n\t};\r\n\t$tab__Utility.hasWindowAddEventListener = function Utility$HasWindowAddEventListener() {\r\n\t\treturn !!ss.isValue(window.addEventListener);\r\n\t};\r\n\t$tab__Utility.isElementOfTag = function Utility$IsElementOfTag(element, tagName) {\r\n\t\treturn ss.isValue(element) && element.nodeType === 1 && ss.referenceEquals(element.tagName.toLowerCase(), tagName.toLowerCase());\r\n\t};\r\n\t$tab__Utility.elementToString = function Utility$ElementToString(element) {\r\n\t\tvar str = new ss.StringBuilder();\r\n\t\tstr.append(element.tagName.toLowerCase());\r\n\t\tif (!$tab__Utility.isNullOrEmpty(element.id)) {\r\n\t\t\tstr.append('#').append(element.id);\r\n\t\t}\r\n\t\tif (!$tab__Utility.isNullOrEmpty(element.className)) {\r\n\t\t\tvar classes = element.className.split(' ');\r\n\t\t\tstr.append('.').append(classes.join('.'));\r\n\t\t}\r\n\t\treturn str.toString();\r\n\t};\r\n\t$tab__Utility.tableauGCS = function Utility$TableauGCS(e) {\r\n\t\tif (typeof(window['getComputedStyle']) === 'function') {\r\n\t\t\treturn window.getComputedStyle(e);\r\n\t\t}\r\n\t\telse {\r\n\t\t\treturn e['currentStyle'];\r\n\t\t}\r\n\t};\r\n\t$tab__Utility.isIE = function Utility$IsIE() {\r\n\t\treturn !!(window.navigator.userAgent.indexOf('MSIE') > -1 && ss.isNullOrUndefined(window.opera));\r\n\t};\r\n\t$tab__Utility.isSafari = function Utility$IsSafari() {\r\n\t\tvar ua = window.navigator.userAgent;\r\n\t\tvar isChrome = ua.indexOf('Chrome') >= 0;\r\n\t\treturn ua.indexOf('Safari') >= 0 && !isChrome;\r\n\t};\r\n\t$tab__Utility.mobileDetect = function Utility$MobileDetect() {\r\n\t\tvar ua = window.navigator.userAgent;\r\n\t\tif (ua.indexOf('iPad') !== -1) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\tif (ua.indexOf('Android') !== -1) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\tif (ua.indexOf('AppleWebKit') !== -1 && ua.indexOf('Mobile') !== -1) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\treturn false;\r\n\t};\r\n\t$tab__Utility.visibleContentRectInDocumentCoordinates = function Utility$VisibleContentRectInDocumentCoordinates(element) {\r\n\t\tvar visibleRect = $tab__Utility.contentRectInDocumentCoordinates(element);\r\n\t\tfor (var currentElement = element.parentElement; ss.isValue(currentElement) && ss.isValue(currentElement.parentElement); currentElement = currentElement.parentElement) {\r\n\t\t\tvar overflow = $tab__Utility.$getComputedStyle(currentElement).overflow;\r\n\t\t\tif (overflow === 'auto' || overflow === 'scroll' || overflow === 'hidden') {\r\n\t\t\t\tvisibleRect = visibleRect.intersect($tab__Utility.contentRectInDocumentCoordinates(currentElement));\r\n\t\t\t}\r\n\t\t}\r\n\t\tvar viewportRect = $tab__Utility.contentRectInDocumentCoordinates(document.documentElement);\r\n\t\tvar win = new tab.WindowHelper(window.self);\r\n\t\tif (win.isQuirksMode()) {\r\n\t\t\tviewportRect.height = document.body.clientHeight - viewportRect.left;\r\n\t\t\tviewportRect.width = document.body.clientWidth - viewportRect.top;\r\n\t\t}\r\n\t\tviewportRect.left += win.get_pageXOffset();\r\n\t\tviewportRect.top += win.get_pageYOffset();\r\n\t\treturn visibleRect.intersect(viewportRect);\r\n\t};\r\n\t$tab__Utility.contentRectInDocumentCoordinates = function Utility$ContentRectInDocumentCoordinates(element) {\r\n\t\tvar boundingClientRect = $tab__Utility.getBoundingClientRect(element);\r\n\t\tvar style = $tab__Utility.$getComputedStyle(element);\r\n\t\tvar paddingLeft = $tab__Utility.toInt(style.paddingLeft);\r\n\t\tvar paddingTop = $tab__Utility.toInt(style.paddingTop);\r\n\t\tvar borderLeft = $tab__Utility.toInt(style.borderLeftWidth);\r\n\t\tvar borderTop = $tab__Utility.toInt(style.borderTopWidth);\r\n\t\tvar contentSize = $tab__Utility.computeContentSize(element);\r\n\t\tvar win = new tab.WindowHelper(window.self);\r\n\t\tvar left = boundingClientRect.left + paddingLeft + borderLeft + win.get_pageXOffset();\r\n\t\tvar top = boundingClientRect.top + paddingTop + borderTop + win.get_pageYOffset();\r\n\t\treturn new $tab__Rect(left, top, contentSize.width, contentSize.height);\r\n\t};\r\n\t$tab__Utility.getBoundingClientRect = function Utility$GetBoundingClientRect(element) {\r\n\t\tvar rect = element.getBoundingClientRect();\r\n\t\tvar top = ss.Int32.trunc(rect.top);\r\n\t\tvar left = ss.Int32.trunc(rect.left);\r\n\t\tvar right = ss.Int32.trunc(rect.right);\r\n\t\tvar bottom = ss.Int32.trunc(rect.bottom);\r\n\t\treturn new $tab__Rect(left, top, right - left, bottom - top);\r\n\t};\r\n\t$tab__Utility.convertRawValue = function Utility$ConvertRawValue(rawValue, dataType) {\r\n\t\tif (ss.isNullOrUndefined(rawValue)) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\tswitch (dataType) {\r\n\t\t\tcase 'bool': {\r\n\t\t\t\treturn rawValue;\r\n\t\t\t}\r\n\t\t\tcase 'date':\r\n\t\t\tcase 'number': {\r\n\t\t\t\tif (ss.isNullOrUndefined(rawValue)) {\r\n\t\t\t\t\treturn Number.NaN;\r\n\t\t\t\t}\r\n\t\t\t\treturn rawValue;\r\n\t\t\t}\r\n\t\t\tdefault:\r\n\t\t\tcase 'string': {\r\n\t\t\t\treturn rawValue;\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\t$tab__Utility.getDataValue = function Utility$GetDataValue(dv) {\r\n\t\tif (ss.isNullOrUndefined(dv)) {\r\n\t\t\treturn $tab_DataValue.$ctor(null, null, null);\r\n\t\t}\r\n\t\treturn $tab_DataValue.$ctor($tab__Utility.convertRawValue(dv.value, dv.type), dv.formattedValue, dv.aliasedValue);\r\n\t};\r\n\t$tab__Utility.serializeDateForServer = function Utility$SerializeDateForServer(date) {\r\n\t\tvar serializedDate = '';\r\n\t\tif (ss.isValue(date) && $tab__Utility.isDate(date)) {\r\n\t\t\tvar year = date.getUTCFullYear();\r\n\t\t\tvar month = date.getUTCMonth() + 1;\r\n\t\t\tvar day = date.getUTCDate();\r\n\t\t\tvar hh = date.getUTCHours();\r\n\t\t\tvar mm = date.getUTCMinutes();\r\n\t\t\tvar sec = date.getUTCSeconds();\r\n\t\t\tserializedDate = year + '-' + month + '-' + day + ' ' + hh + ':' + mm + ':' + sec;\r\n\t\t}\r\n\t\treturn serializedDate;\r\n\t};\r\n\t$tab__Utility.computeContentSize = function Utility$ComputeContentSize(element) {\r\n\t\tvar style = $tab__Utility.$getComputedStyle(element);\r\n\t\tvar paddingLeft = parseFloat(style.paddingLeft);\r\n\t\tvar paddingTop = parseFloat(style.paddingTop);\r\n\t\tvar paddingRight = parseFloat(style.paddingRight);\r\n\t\tvar paddingBottom = parseFloat(style.paddingBottom);\r\n\t\tvar width = element.clientWidth - Math.round(paddingLeft + paddingRight);\r\n\t\tvar height = element.clientHeight - Math.round(paddingTop + paddingBottom);\r\n\t\treturn $tab_Size.$ctor(width, height);\r\n\t};\r\n\t$tab__Utility.$getComputedStyle = function Utility$GetComputedStyle(element) {\r\n\t\tif (typeof(window['getComputedStyle']) === 'function') {\r\n\t\t\tif (ss.isValue(element.ownerDocument.defaultView.opener)) {\r\n\t\t\t\treturn element.ownerDocument.defaultView.getComputedStyle(element);\r\n\t\t\t}\r\n\t\t\treturn window.getComputedStyle(element);\r\n\t\t}\r\n\t\telse if (ss.isValue(element['currentStyle'])) {\r\n\t\t\treturn element['currentStyle'];\r\n\t\t}\r\n\t\treturn element.style;\r\n\t};\r\n\t$tab__Utility.roundVizSizeInPixels = function Utility$RoundVizSizeInPixels(size) {\r\n\t\tif (ss.isNullOrUndefined(size) || !(size.indexOf('px') !== -1)) {\r\n\t\t\treturn size;\r\n\t\t}\r\n\t\tvar sizeValue = parseFloat(size.split('px')[0]);\r\n\t\treturn Math.round(sizeValue) + 'px';\r\n\t};\r\n\tglobal.tab._Utility = $tab__Utility;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// Tableau.JavaScript.Vql.Api.VizManagerImpl\r\n\tvar $tab__VizManagerImpl = function() {\r\n\t};\r\n\t$tab__VizManagerImpl.__typeName = 'tab._VizManagerImpl';\r\n\t$tab__VizManagerImpl.get_$clonedVizs = function VizManagerImpl$get_ClonedVizs() {\r\n\t\treturn $tab__VizManagerImpl.$vizs.concat();\r\n\t};\r\n\t$tab__VizManagerImpl.$registerViz = function VizManagerImpl$RegisterViz(viz) {\r\n\t\t$tab__VizManagerImpl.$verifyVizNotAlreadyParented(viz);\r\n\t\t$tab__VizManagerImpl.$vizs.push(viz);\r\n\t};\r\n\t$tab__VizManagerImpl.$unregisterViz = function VizManagerImpl$UnregisterViz(viz) {\r\n\t\tfor (var i = 0, len = $tab__VizManagerImpl.$vizs.length; i < len; i++) {\r\n\t\t\tif (ss.referenceEquals($tab__VizManagerImpl.$vizs[i], viz)) {\r\n\t\t\t\t$tab__VizManagerImpl.$vizs.splice(i, 1);\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\t$tab__VizManagerImpl.$sendVisibleRects = function VizManagerImpl$SendVisibleRects() {\r\n\t\tfor (var i = 0, len = $tab__VizManagerImpl.$vizs.length; i < len; i++) {\r\n\t\t\t$tab__VizManagerImpl.$vizs[i]._impl.$sendVisibleRect();\r\n\t\t}\r\n\t};\r\n\t$tab__VizManagerImpl.$verifyVizNotAlreadyParented = function VizManagerImpl$VerifyVizNotAlreadyParented(viz) {\r\n\t\tvar parent = viz.getParentElement();\r\n\t\tfor (var i = 0, len = $tab__VizManagerImpl.$vizs.length; i < len; i++) {\r\n\t\t\tif (ss.referenceEquals($tab__VizManagerImpl.$vizs[i].getParentElement(), parent)) {\r\n\t\t\t\tvar message = \"Another viz is already present in element '\" + $tab__Utility.elementToString(parent) + \"'.\";\r\n\t\t\t\tthrow $tab__TableauException.create('vizAlreadyInManager', message);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// Tableau.JavaScript.Vql.Api.VizParameters\r\n\tvar $tab__VizParameters = function(element, url, options) {\r\n\t\tthis.name = '';\r\n\t\tthis.host_url = null;\r\n\t\tthis.tabs = false;\r\n\t\tthis.toolbar = false;\r\n\t\tthis.toolBarPosition = null;\r\n\t\tthis.device = null;\r\n\t\tthis.hostId = null;\r\n\t\tthis.width = null;\r\n\t\tthis.height = null;\r\n\t\tthis.parentElement = null;\r\n\t\tthis.userSuppliedParameters = null;\r\n\t\tthis.staticImageUrl = null;\r\n\t\tthis.fixedSize = false;\r\n\t\tthis.displayStaticImage = false;\r\n\t\tthis.$urlFromApi = null;\r\n\t\tthis.$createOptions = null;\r\n\t\tif (ss.isNullOrUndefined(element) || ss.isNullOrUndefined(url)) {\r\n\t\t\tthrow $tab__TableauException.create('noUrlOrParentElementNotFound', 'URL is empty or Parent element not found');\r\n\t\t}\r\n\t\tif (ss.isNullOrUndefined(options)) {\r\n\t\t\toptions = new Object();\r\n\t\t\toptions.hideTabs = false;\r\n\t\t\toptions.hideToolbar = false;\r\n\t\t\toptions.onFirstInteractive = null;\r\n\t\t}\r\n\t\tif (ss.isValue(options.height) || ss.isValue(options.width)) {\r\n\t\t\tthis.fixedSize = true;\r\n\t\t\tif ($tab__Utility.isNumber(options.height)) {\r\n\t\t\t\toptions.height = options.height.toString() + 'px';\r\n\t\t\t}\r\n\t\t\tif ($tab__Utility.isNumber(options.width)) {\r\n\t\t\t\toptions.width = options.width.toString() + 'px';\r\n\t\t\t}\r\n\t\t\tthis.height = (ss.isValue(options.height) ? $tab__Utility.roundVizSizeInPixels(options.height.toString()) : null);\r\n\t\t\tthis.width = (ss.isValue(options.width) ? $tab__Utility.roundVizSizeInPixels(options.width.toString()) : null);\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthis.fixedSize = false;\r\n\t\t}\r\n\t\tthis.displayStaticImage = options.displayStaticImage || false;\r\n\t\tthis.staticImageUrl = options.staticImageUrl || '';\r\n\t\tthis.tabs = !(options.hideTabs || false);\r\n\t\tthis.toolbar = !(options.hideToolbar || false);\r\n\t\tthis.device = options.device;\r\n\t\tthis.parentElement = element;\r\n\t\tthis.$createOptions = options;\r\n\t\tthis.toolBarPosition = options.toolbarPosition;\r\n\t\tvar urlParts = url.split('?');\r\n\t\tthis.$urlFromApi = urlParts[0];\r\n\t\tif (urlParts.length === 2) {\r\n\t\t\tthis.userSuppliedParameters = urlParts[1];\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthis.userSuppliedParameters = '';\r\n\t\t}\r\n\t\tvar r = (new RegExp('.*?[^/:]/', '')).exec(this.$urlFromApi);\r\n\t\tif (ss.isNullOrUndefined(r) || r[0].toLowerCase().indexOf('http://') === -1 && r[0].toLowerCase().indexOf('https://') === -1) {\r\n\t\t\tthrow $tab__TableauException.create('invalidUrl', 'Invalid url');\r\n\t\t}\r\n\t\tthis.host_url = r[0].toLowerCase();\r\n\t\tthis.name = this.$urlFromApi.replace(r[0], '');\r\n\t\tthis.name = this.name.replace('views/', '');\r\n\t};\r\n\t$tab__VizParameters.__typeName = 'tab._VizParameters';\r\n\tglobal.tab._VizParameters = $tab__VizParameters;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// Tableau.JavaScript.Vql.Api.WorkbookImpl\r\n\tvar $tab__WorkbookImpl = function(vizImpl, messagingOptions, callback) {\r\n\t\tthis.$workbook = null;\r\n\t\tthis.$vizImpl = null;\r\n\t\tthis.$name = null;\r\n\t\tthis.$activeSheetImpl = null;\r\n\t\tthis.$activatingHiddenSheetImpl = null;\r\n\t\tthis.$publishedSheetsInfo = new tab._Collection();\r\n\t\tthis.$isDownloadAllowed = false;\r\n\t\tthis.$messagingOptions = null;\r\n\t\tthis.$currentCustomView = null;\r\n\t\tthis.$customViews = new tab._Collection();\r\n\t\tthis.$updatedCustomViews = new tab._Collection();\r\n\t\tthis.$removedCustomViews = new tab._Collection();\r\n\t\tthis.$parameters = null;\r\n\t\tthis.$lastChangedParameterImpl = null;\r\n\t\tthis.$vizImpl = vizImpl;\r\n\t\tthis.$messagingOptions = messagingOptions;\r\n\t\tthis.$getClientInfo(callback);\r\n\t};\r\n\t$tab__WorkbookImpl.__typeName = 'tab._WorkbookImpl';\r\n\t$tab__WorkbookImpl.$createDashboardZones = function WorkbookImpl$CreateDashboardZones(zones) {\r\n\t\tzones = ss.coalesce(zones, []);\r\n\t\tvar zonesInfo = [];\r\n\t\tfor (var i = 0; i < zones.length; i++) {\r\n\t\t\tvar zone = zones[i];\r\n\t\t\tvar objectType = $tab_ApiEnumConverter.convertDashboardObjectType(zone.zoneType);\r\n\t\t\tvar size = $tab_Size.$ctor(zone.width, zone.height);\r\n\t\t\tvar position = $tab_Point.$ctor(zone.x, zone.y);\r\n\t\t\tvar name = zone.name;\r\n\t\t\tvar zoneInfo = { name: name, objectType: objectType, position: position, size: size, zoneId: zone.zoneId };\r\n\t\t\tzonesInfo.push(zoneInfo);\r\n\t\t}\r\n\t\treturn zonesInfo;\r\n\t};\r\n\t$tab__WorkbookImpl.$extractSheetName = function WorkbookImpl$ExtractSheetName(sheetOrInfoOrName) {\r\n\t\tif (ss.isNullOrUndefined(sheetOrInfoOrName)) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\tif ($tab__Utility.isString(sheetOrInfoOrName)) {\r\n\t\t\treturn sheetOrInfoOrName;\r\n\t\t}\r\n\t\tvar sheet = ss.safeCast(sheetOrInfoOrName, $tableauSoftware_Sheet);\r\n\t\tif (ss.isValue(sheet)) {\r\n\t\t\treturn sheet.getName();\r\n\t\t}\r\n\t\tvar info = ss.safeCast(sheetOrInfoOrName, $tableauSoftware_SheetInfo);\r\n\t\tif (ss.isValue(info)) {\r\n\t\t\treturn info.getName();\r\n\t\t}\r\n\t\treturn null;\r\n\t};\r\n\t$tab__WorkbookImpl.$createSheetSize = function WorkbookImpl$CreateSheetSize(sheetInfo) {\r\n\t\tif (ss.isNullOrUndefined(sheetInfo)) {\r\n\t\t\treturn $tab_SheetSizeFactory.createAutomatic();\r\n\t\t}\r\n\t\treturn $tab_SheetSizeFactory.fromSizeConstraints(sheetInfo.sizeConstraints);\r\n\t};\r\n\t$tab__WorkbookImpl.$processParameters = function WorkbookImpl$ProcessParameters(paramList) {\r\n\t\tvar parameters = new tab._Collection();\r\n\t\tfor (var $t1 = 0; $t1 < paramList.parameters.length; $t1++) {\r\n\t\t\tvar model = paramList.parameters[$t1];\r\n\t\t\tvar paramImpl = new $tab_$ParameterImpl(model);\r\n\t\t\tparameters._add(paramImpl.get_$name(), paramImpl.get_$parameter());\r\n\t\t}\r\n\t\treturn parameters;\r\n\t};\r\n\t$tab__WorkbookImpl.$findAndCreateParameterImpl = function WorkbookImpl$FindAndCreateParameterImpl(parameterName, paramList) {\r\n\t\tfor (var $t1 = 0; $t1 < paramList.parameters.length; $t1++) {\r\n\t\t\tvar model = paramList.parameters[$t1];\r\n\t\t\tif (ss.referenceEquals(model.name, parameterName)) {\r\n\t\t\t\treturn new $tab_$ParameterImpl(model);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn null;\r\n\t};\r\n\tglobal.tab._WorkbookImpl = $tab__WorkbookImpl;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// Tableau.JavaScript.Vql.Api.WorksheetImpl\r\n\tvar $tab__WorksheetImpl = function(sheetInfoImpl, workbookImpl, messagingOptions, parentDashboardImpl) {\r\n\t\tthis.$worksheet = null;\r\n\t\tthis.$parentDashboardImpl = null;\r\n\t\tthis.$filters = new tab._Collection();\r\n\t\tthis.$selectedMarks = new tab._Collection();\r\n\t\tthis.highlightedMarks = null;\r\n\t\t$tab__SheetImpl.call(this, sheetInfoImpl, workbookImpl, messagingOptions);\r\n\t\tthis.$parentDashboardImpl = parentDashboardImpl;\r\n\t};\r\n\t$tab__WorksheetImpl.__typeName = 'tab._WorksheetImpl';\r\n\t$tab__WorksheetImpl.$filterCommandError = function WorksheetImpl$FilterCommandError(rawPm) {\r\n\t\tvar commandError = rawPm;\r\n\t\tif (ss.isValue(commandError) && ss.isValue(commandError.errorCode)) {\r\n\t\t\tvar additionalInfo = (ss.isValue(commandError.additionalInformation) ? commandError.additionalInformation.toString() : '');\r\n\t\t\tswitch (commandError.errorCode) {\r\n\t\t\t\tcase 'invalidFilterFieldName': {\r\n\t\t\t\t\treturn $tab__TableauException.create('invalidFilterFieldName', additionalInfo);\r\n\t\t\t\t}\r\n\t\t\t\tcase 'invalidFilterFieldValue': {\r\n\t\t\t\t\treturn $tab__TableauException.create('invalidFilterFieldValue', additionalInfo);\r\n\t\t\t\t}\r\n\t\t\t\tcase 'invalidAggregationFieldName': {\r\n\t\t\t\t\treturn $tab__TableauException.$createInvalidAggregationFieldName(additionalInfo);\r\n\t\t\t\t}\r\n\t\t\t\tdefault: {\r\n\t\t\t\t\treturn $tab__TableauException.createServerError(additionalInfo);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn null;\r\n\t};\r\n\t$tab__WorksheetImpl.$normalizeRangeFilterOption = function WorksheetImpl$NormalizeRangeFilterOption(filterOptions) {\r\n\t\tif (ss.isNullOrUndefined(filterOptions)) {\r\n\t\t\tthrow $tab__TableauException.createNullOrEmptyParameter('filterOptions');\r\n\t\t}\r\n\t\tif (ss.isNullOrUndefined(filterOptions.min) && ss.isNullOrUndefined(filterOptions.max)) {\r\n\t\t\tthrow $tab__TableauException.create('invalidParameter', 'At least one of filterOptions.min or filterOptions.max must be specified.');\r\n\t\t}\r\n\t\tvar fixedUpFilterOptions = new Object();\r\n\t\tif (ss.isValue(filterOptions.min)) {\r\n\t\t\tfixedUpFilterOptions.min = filterOptions.min;\r\n\t\t}\r\n\t\tif (ss.isValue(filterOptions.max)) {\r\n\t\t\tfixedUpFilterOptions.max = filterOptions.max;\r\n\t\t}\r\n\t\tif (ss.isValue(filterOptions.nullOption)) {\r\n\t\t\tfixedUpFilterOptions.nullOption = $tab_$PublicEnums.$normalizeEnum($tab_ApiNullOption).call(null, filterOptions.nullOption, 'filterOptions.nullOption');\r\n\t\t}\r\n\t\treturn fixedUpFilterOptions;\r\n\t};\r\n\t$tab__WorksheetImpl.$normalizeRelativeDateFilterOptions = function WorksheetImpl$NormalizeRelativeDateFilterOptions(filterOptions) {\r\n\t\tif (ss.isNullOrUndefined(filterOptions)) {\r\n\t\t\tthrow $tab__TableauException.createNullOrEmptyParameter('filterOptions');\r\n\t\t}\r\n\t\tvar fixedUpFilterOptions = new Object();\r\n\t\tfixedUpFilterOptions.rangeType = $tab_$PublicEnums.$normalizeEnum($tab_ApiDateRangeType).call(null, filterOptions.rangeType, 'filterOptions.rangeType');\r\n\t\tfixedUpFilterOptions.periodType = $tab_$PublicEnums.$normalizeEnum($tab_ApiPeriodType).call(null, filterOptions.periodType, 'filterOptions.periodType');\r\n\t\tif (fixedUpFilterOptions.rangeType === 'lastn' || fixedUpFilterOptions.rangeType === 'nextn') {\r\n\t\t\tif (ss.isNullOrUndefined(filterOptions.rangeN)) {\r\n\t\t\t\tthrow $tab__TableauException.create('missingRangeNForRelativeDateFilters', 'Missing rangeN field for a relative date filter of LASTN or NEXTN.');\r\n\t\t\t}\r\n\t\t\tfixedUpFilterOptions.rangeN = $tab__Utility.toInt(filterOptions.rangeN);\r\n\t\t}\r\n\t\tif (ss.isValue(filterOptions.anchorDate)) {\r\n\t\t\tif (!$tab__Utility.isDate(filterOptions.anchorDate) || !$tab__Utility.isDateValid(filterOptions.anchorDate)) {\r\n\t\t\t\tthrow $tab__TableauException.createInvalidDateParameter('filterOptions.anchorDate');\r\n\t\t\t}\r\n\t\t\tfixedUpFilterOptions.anchorDate = filterOptions.anchorDate;\r\n\t\t}\r\n\t\treturn fixedUpFilterOptions;\r\n\t};\r\n\t$tab__WorksheetImpl.$createFilterCommandReturnHandler = function WorksheetImpl$CreateFilterCommandReturnHandler(commandName, fieldName, deferred) {\r\n\t\treturn new (ss.makeGenericType($tab_CommandReturnHandler$1, [Object]))(commandName, 1, function(result) {\r\n\t\t\tvar error = $tab__WorksheetImpl.$filterCommandError(result);\r\n\t\t\tif (ss.isNullOrUndefined(error)) {\r\n\t\t\t\tdeferred.resolve(fieldName);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tdeferred.reject(error);\r\n\t\t\t}\r\n\t\t}, function(remoteError, message) {\r\n\t\t\tif (remoteError) {\r\n\t\t\t\tdeferred.reject($tab__TableauException.createInvalidFilterFieldNameOrValue(fieldName));\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvar error1 = $tab__TableauException.create('filterCannotBePerformed', message);\r\n\t\t\t\tdeferred.reject(error1);\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\t$tab__WorksheetImpl.$createSelectionCommandError = function WorksheetImpl$CreateSelectionCommandError(rawPm) {\r\n\t\tvar commandError = rawPm;\r\n\t\tif (ss.isValue(commandError) && ss.isValue(commandError.errorCode)) {\r\n\t\t\tvar additionalInfo = (ss.isValue(commandError.additionalInformation) ? commandError.additionalInformation.toString() : '');\r\n\t\t\tswitch (commandError.errorCode) {\r\n\t\t\t\tcase 'invalidSelectionFieldName': {\r\n\t\t\t\t\treturn $tab__TableauException.create('invalidSelectionFieldName', additionalInfo);\r\n\t\t\t\t}\r\n\t\t\t\tcase 'invalidSelectionValue': {\r\n\t\t\t\t\treturn $tab__TableauException.create('invalidSelectionValue', additionalInfo);\r\n\t\t\t\t}\r\n\t\t\t\tcase 'invalidSelectionDate': {\r\n\t\t\t\t\treturn $tab__TableauException.create('invalidSelectionDate', additionalInfo);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn null;\r\n\t};\r\n\tglobal.tab._WorksheetImpl = $tab__WorksheetImpl;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.ApiDashboardObjectType\r\n\tvar $tab_ApiDashboardObjectType = function() {\r\n\t};\r\n\t$tab_ApiDashboardObjectType.__typeName = 'tab.ApiDashboardObjectType';\r\n\tglobal.tab.ApiDashboardObjectType = $tab_ApiDashboardObjectType;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.ApiDateRangeType\r\n\tvar $tab_ApiDateRangeType = function() {\r\n\t};\r\n\t$tab_ApiDateRangeType.__typeName = 'tab.ApiDateRangeType';\r\n\tglobal.tab.ApiDateRangeType = $tab_ApiDateRangeType;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.ApiDeviceType\r\n\tvar $tab_ApiDeviceType = function() {\r\n\t};\r\n\t$tab_ApiDeviceType.__typeName = 'tab.ApiDeviceType';\r\n\tglobal.tab.ApiDeviceType = $tab_ApiDeviceType;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// Tableau.JavaScript.Vql.Api.ApiEnumConverter\r\n\tvar $tab_ApiEnumConverter = function() {\r\n\t};\r\n\t$tab_ApiEnumConverter.__typeName = 'tab.ApiEnumConverter';\r\n\t$tab_ApiEnumConverter.convertDashboardObjectType = function ApiEnumConverter$ConvertDashboardObjectType(crossDomainType) {\r\n\t\tswitch (crossDomainType) {\r\n\t\t\tcase 'blank': {\r\n\t\t\t\treturn 'blank';\r\n\t\t\t}\r\n\t\t\tcase 'image': {\r\n\t\t\t\treturn 'image';\r\n\t\t\t}\r\n\t\t\tcase 'legend': {\r\n\t\t\t\treturn 'legend';\r\n\t\t\t}\r\n\t\t\tcase 'pageFilter': {\r\n\t\t\t\treturn 'pageFilter';\r\n\t\t\t}\r\n\t\t\tcase 'parameterControl': {\r\n\t\t\t\treturn 'parameterControl';\r\n\t\t\t}\r\n\t\t\tcase 'quickFilter': {\r\n\t\t\t\treturn 'quickFilter';\r\n\t\t\t}\r\n\t\t\tcase 'text': {\r\n\t\t\t\treturn 'text';\r\n\t\t\t}\r\n\t\t\tcase 'title': {\r\n\t\t\t\treturn 'title';\r\n\t\t\t}\r\n\t\t\tcase 'webPage': {\r\n\t\t\t\treturn 'webPage';\r\n\t\t\t}\r\n\t\t\tcase 'worksheet': {\r\n\t\t\t\treturn 'worksheet';\r\n\t\t\t}\r\n\t\t\tdefault: {\r\n\t\t\t\tthrow $tab__TableauException.createInternalError('Unknown ApiCrossDomainDashboardObjectType: ' + crossDomainType);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\t$tab_ApiEnumConverter.convertDateRange = function ApiEnumConverter$ConvertDateRange(crossDomainType) {\r\n\t\tswitch (crossDomainType) {\r\n\t\t\tcase 'curr': {\r\n\t\t\t\treturn 'curr';\r\n\t\t\t}\r\n\t\t\tcase 'last': {\r\n\t\t\t\treturn 'last';\r\n\t\t\t}\r\n\t\t\tcase 'lastn': {\r\n\t\t\t\treturn 'lastn';\r\n\t\t\t}\r\n\t\t\tcase 'next': {\r\n\t\t\t\treturn 'next';\r\n\t\t\t}\r\n\t\t\tcase 'nextn': {\r\n\t\t\t\treturn 'nextn';\r\n\t\t\t}\r\n\t\t\tcase 'todate': {\r\n\t\t\t\treturn 'todate';\r\n\t\t\t}\r\n\t\t\tdefault: {\r\n\t\t\t\tthrow $tab__TableauException.createInternalError('Unknown ApiCrossDomainDateRangeType: ' + crossDomainType);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\t$tab_ApiEnumConverter.convertFieldAggregation = function ApiEnumConverter$ConvertFieldAggregation(crossDomainType) {\r\n\t\tswitch (crossDomainType) {\r\n\t\t\tcase 'ATTR': {\r\n\t\t\t\treturn 'ATTR';\r\n\t\t\t}\r\n\t\t\tcase 'AVG': {\r\n\t\t\t\treturn 'AVG';\r\n\t\t\t}\r\n\t\t\tcase 'COUNT': {\r\n\t\t\t\treturn 'COUNT';\r\n\t\t\t}\r\n\t\t\tcase 'COUNTD': {\r\n\t\t\t\treturn 'COUNTD';\r\n\t\t\t}\r\n\t\t\tcase 'DAY': {\r\n\t\t\t\treturn 'DAY';\r\n\t\t\t}\r\n\t\t\tcase 'END': {\r\n\t\t\t\treturn 'END';\r\n\t\t\t}\r\n\t\t\tcase 'HOUR': {\r\n\t\t\t\treturn 'HOUR';\r\n\t\t\t}\r\n\t\t\tcase 'INOUT': {\r\n\t\t\t\treturn 'INOUT';\r\n\t\t\t}\r\n\t\t\tcase 'KURTOSIS': {\r\n\t\t\t\treturn 'KURTOSIS';\r\n\t\t\t}\r\n\t\t\tcase 'MAX': {\r\n\t\t\t\treturn 'MAX';\r\n\t\t\t}\r\n\t\t\tcase 'MDY': {\r\n\t\t\t\treturn 'MDY';\r\n\t\t\t}\r\n\t\t\tcase 'MEDIAN': {\r\n\t\t\t\treturn 'MEDIAN';\r\n\t\t\t}\r\n\t\t\tcase 'MIN': {\r\n\t\t\t\treturn 'MIN';\r\n\t\t\t}\r\n\t\t\tcase 'MINUTE': {\r\n\t\t\t\treturn 'MINUTE';\r\n\t\t\t}\r\n\t\t\tcase 'MONTH': {\r\n\t\t\t\treturn 'MONTH';\r\n\t\t\t}\r\n\t\t\tcase 'MONTHYEAR': {\r\n\t\t\t\treturn 'MONTHYEAR';\r\n\t\t\t}\r\n\t\t\tcase 'NONE': {\r\n\t\t\t\treturn 'NONE';\r\n\t\t\t}\r\n\t\t\tcase 'PERCENTILE': {\r\n\t\t\t\treturn 'PERCENTILE';\r\n\t\t\t}\r\n\t\t\tcase 'QUART1': {\r\n\t\t\t\treturn 'QUART1';\r\n\t\t\t}\r\n\t\t\tcase 'QUART3': {\r\n\t\t\t\treturn 'QUART3';\r\n\t\t\t}\r\n\t\t\tcase 'QTR': {\r\n\t\t\t\treturn 'QTR';\r\n\t\t\t}\r\n\t\t\tcase 'SECOND': {\r\n\t\t\t\treturn 'SECOND';\r\n\t\t\t}\r\n\t\t\tcase 'SKEWNESS': {\r\n\t\t\t\treturn 'SKEWNESS';\r\n\t\t\t}\r\n\t\t\tcase 'STDEV': {\r\n\t\t\t\treturn 'STDEV';\r\n\t\t\t}\r\n\t\t\tcase 'STDEVP': {\r\n\t\t\t\treturn 'STDEVP';\r\n\t\t\t}\r\n\t\t\tcase 'SUM': {\r\n\t\t\t\treturn 'SUM';\r\n\t\t\t}\r\n\t\t\tcase 'SUM_XSQR': {\r\n\t\t\t\treturn 'SUM_XSQR';\r\n\t\t\t}\r\n\t\t\tcase 'TRUNC_DAY': {\r\n\t\t\t\treturn 'TRUNC_DAY';\r\n\t\t\t}\r\n\t\t\tcase 'TRUNC_HOUR': {\r\n\t\t\t\treturn 'TRUNC_HOUR';\r\n\t\t\t}\r\n\t\t\tcase 'TRUNC_MINUTE': {\r\n\t\t\t\treturn 'TRUNC_MINUTE';\r\n\t\t\t}\r\n\t\t\tcase 'TRUNC_MONTH': {\r\n\t\t\t\treturn 'TRUNC_MONTH';\r\n\t\t\t}\r\n\t\t\tcase 'TRUNC_QTR': {\r\n\t\t\t\treturn 'TRUNC_QTR';\r\n\t\t\t}\r\n\t\t\tcase 'TRUNC_SECOND': {\r\n\t\t\t\treturn 'TRUNC_SECOND';\r\n\t\t\t}\r\n\t\t\tcase 'TRUNC_WEEK': {\r\n\t\t\t\treturn 'TRUNC_WEEK';\r\n\t\t\t}\r\n\t\t\tcase 'TRUNC_YEAR': {\r\n\t\t\t\treturn 'TRUNC_YEAR';\r\n\t\t\t}\r\n\t\t\tcase 'USER': {\r\n\t\t\t\treturn 'USER';\r\n\t\t\t}\r\n\t\t\tcase 'VAR': {\r\n\t\t\t\treturn 'VAR';\r\n\t\t\t}\r\n\t\t\tcase 'VARP': {\r\n\t\t\t\treturn 'VARP';\r\n\t\t\t}\r\n\t\t\tcase 'WEEK': {\r\n\t\t\t\treturn 'WEEK';\r\n\t\t\t}\r\n\t\t\tcase 'WEEKDAY': {\r\n\t\t\t\treturn 'WEEKDAY';\r\n\t\t\t}\r\n\t\t\tcase 'YEAR': {\r\n\t\t\t\treturn 'YEAR';\r\n\t\t\t}\r\n\t\t\tdefault: {\r\n\t\t\t\tthrow $tab__TableauException.createInternalError('Unknown ApiCrossDomainFieldAggregationType: ' + crossDomainType);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\t$tab_ApiEnumConverter.convertFieldRole = function ApiEnumConverter$ConvertFieldRole(crossDomainType) {\r\n\t\tswitch (crossDomainType) {\r\n\t\t\tcase 'dimension': {\r\n\t\t\t\treturn 'dimension';\r\n\t\t\t}\r\n\t\t\tcase 'measure': {\r\n\t\t\t\treturn 'measure';\r\n\t\t\t}\r\n\t\t\tcase 'unknown': {\r\n\t\t\t\treturn 'unknown';\r\n\t\t\t}\r\n\t\t\tdefault: {\r\n\t\t\t\tthrow $tab__TableauException.createInternalError('Unknown ApiCrossDomainFieldRoleType: ' + crossDomainType);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\t$tab_ApiEnumConverter.convertFilterType = function ApiEnumConverter$ConvertFilterType(crossDomainType) {\r\n\t\tswitch (crossDomainType) {\r\n\t\t\tcase 'categorical': {\r\n\t\t\t\treturn 'categorical';\r\n\t\t\t}\r\n\t\t\tcase 'hierarchical': {\r\n\t\t\t\treturn 'hierarchical';\r\n\t\t\t}\r\n\t\t\tcase 'quantitative': {\r\n\t\t\t\treturn 'quantitative';\r\n\t\t\t}\r\n\t\t\tcase 'relativedate': {\r\n\t\t\t\treturn 'relativedate';\r\n\t\t\t}\r\n\t\t\tdefault: {\r\n\t\t\t\tthrow $tab__TableauException.createInternalError('Unknown ApiCrossDomainFilterType: ' + crossDomainType);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\t$tab_ApiEnumConverter.convertParameterAllowableValuesType = function ApiEnumConverter$ConvertParameterAllowableValuesType(crossDomainType) {\r\n\t\tswitch (crossDomainType) {\r\n\t\t\tcase 'all': {\r\n\t\t\t\treturn 'all';\r\n\t\t\t}\r\n\t\t\tcase 'list': {\r\n\t\t\t\treturn 'list';\r\n\t\t\t}\r\n\t\t\tcase 'range': {\r\n\t\t\t\treturn 'range';\r\n\t\t\t}\r\n\t\t\tdefault: {\r\n\t\t\t\tthrow $tab__TableauException.createInternalError('Unknown ApiCrossDomainParameterAllowableValuesType: ' + crossDomainType);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\t$tab_ApiEnumConverter.convertParameterDataType = function ApiEnumConverter$ConvertParameterDataType(crossDomainType) {\r\n\t\tswitch (crossDomainType) {\r\n\t\t\tcase 'boolean': {\r\n\t\t\t\treturn 'boolean';\r\n\t\t\t}\r\n\t\t\tcase 'date': {\r\n\t\t\t\treturn 'date';\r\n\t\t\t}\r\n\t\t\tcase 'datetime': {\r\n\t\t\t\treturn 'datetime';\r\n\t\t\t}\r\n\t\t\tcase 'float': {\r\n\t\t\t\treturn 'float';\r\n\t\t\t}\r\n\t\t\tcase 'integer': {\r\n\t\t\t\treturn 'integer';\r\n\t\t\t}\r\n\t\t\tcase 'string': {\r\n\t\t\t\treturn 'string';\r\n\t\t\t}\r\n\t\t\tdefault: {\r\n\t\t\t\tthrow $tab__TableauException.createInternalError('Unknown ApiCrossDomainParameterDataType: ' + crossDomainType);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\t$tab_ApiEnumConverter.convertPeriodType = function ApiEnumConverter$ConvertPeriodType(crossDomainType) {\r\n\t\tswitch (crossDomainType) {\r\n\t\t\tcase 'year': {\r\n\t\t\t\treturn 'year';\r\n\t\t\t}\r\n\t\t\tcase 'quarter': {\r\n\t\t\t\treturn 'quarter';\r\n\t\t\t}\r\n\t\t\tcase 'month': {\r\n\t\t\t\treturn 'month';\r\n\t\t\t}\r\n\t\t\tcase 'week': {\r\n\t\t\t\treturn 'week';\r\n\t\t\t}\r\n\t\t\tcase 'day': {\r\n\t\t\t\treturn 'day';\r\n\t\t\t}\r\n\t\t\tcase 'hour': {\r\n\t\t\t\treturn 'hour';\r\n\t\t\t}\r\n\t\t\tcase 'minute': {\r\n\t\t\t\treturn 'minute';\r\n\t\t\t}\r\n\t\t\tcase 'second': {\r\n\t\t\t\treturn 'second';\r\n\t\t\t}\r\n\t\t\tdefault: {\r\n\t\t\t\tthrow $tab__TableauException.createInternalError('Unknown ApiCrossDomainPeriodType: ' + crossDomainType);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\t$tab_ApiEnumConverter.convertSheetType = function ApiEnumConverter$ConvertSheetType(crossDomainType) {\r\n\t\tswitch (crossDomainType) {\r\n\t\t\tcase 'worksheet': {\r\n\t\t\t\treturn 'worksheet';\r\n\t\t\t}\r\n\t\t\tcase 'dashboard': {\r\n\t\t\t\treturn 'dashboard';\r\n\t\t\t}\r\n\t\t\tcase 'story': {\r\n\t\t\t\treturn 'story';\r\n\t\t\t}\r\n\t\t\tdefault: {\r\n\t\t\t\tthrow $tab__TableauException.createInternalError('Unknown ApiCrossDomainSheetType: ' + crossDomainType);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\t$tab_ApiEnumConverter.convertDataType = function ApiEnumConverter$ConvertDataType(crossDomainType) {\r\n\t\tswitch (crossDomainType) {\r\n\t\t\tcase 'boolean': {\r\n\t\t\t\treturn 'boolean';\r\n\t\t\t}\r\n\t\t\tcase 'date': {\r\n\t\t\t\treturn 'date';\r\n\t\t\t}\r\n\t\t\tcase 'datetime': {\r\n\t\t\t\treturn 'datetime';\r\n\t\t\t}\r\n\t\t\tcase 'float': {\r\n\t\t\t\treturn 'float';\r\n\t\t\t}\r\n\t\t\tcase 'integer': {\r\n\t\t\t\treturn 'integer';\r\n\t\t\t}\r\n\t\t\tcase 'string': {\r\n\t\t\t\treturn 'string';\r\n\t\t\t}\r\n\t\t\tdefault: {\r\n\t\t\t\tthrow $tab__TableauException.createInternalError('Unknown ApiCrossDomainParameterDataType: ' + crossDomainType);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\tglobal.tab.ApiEnumConverter = $tab_ApiEnumConverter;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.ApiErrorCode\r\n\tvar $tab_ApiErrorCode = function() {\r\n\t};\r\n\t$tab_ApiErrorCode.__typeName = 'tab.ApiErrorCode';\r\n\tglobal.tab.ApiErrorCode = $tab_ApiErrorCode;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.ApiFieldAggregationType\r\n\tvar $tab_ApiFieldAggregationType = function() {\r\n\t};\r\n\t$tab_ApiFieldAggregationType.__typeName = 'tab.ApiFieldAggregationType';\r\n\tglobal.tab.ApiFieldAggregationType = $tab_ApiFieldAggregationType;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.ApiFieldRoleType\r\n\tvar $tab_ApiFieldRoleType = function() {\r\n\t};\r\n\t$tab_ApiFieldRoleType.__typeName = 'tab.ApiFieldRoleType';\r\n\tglobal.tab.ApiFieldRoleType = $tab_ApiFieldRoleType;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.ApiFilterType\r\n\tvar $tab_ApiFilterType = function() {\r\n\t};\r\n\t$tab_ApiFilterType.__typeName = 'tab.ApiFilterType';\r\n\tglobal.tab.ApiFilterType = $tab_ApiFilterType;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.ApiFilterUpdateType\r\n\tvar $tab_ApiFilterUpdateType = function() {\r\n\t};\r\n\t$tab_ApiFilterUpdateType.__typeName = 'tab.ApiFilterUpdateType';\r\n\tglobal.tab.ApiFilterUpdateType = $tab_ApiFilterUpdateType;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.ApiNullOption\r\n\tvar $tab_ApiNullOption = function() {\r\n\t};\r\n\t$tab_ApiNullOption.__typeName = 'tab.ApiNullOption';\r\n\tglobal.tab.ApiNullOption = $tab_ApiNullOption;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.ApiParameterAllowableValuesType\r\n\tvar $tab_ApiParameterAllowableValuesType = function() {\r\n\t};\r\n\t$tab_ApiParameterAllowableValuesType.__typeName = 'tab.ApiParameterAllowableValuesType';\r\n\tglobal.tab.ApiParameterAllowableValuesType = $tab_ApiParameterAllowableValuesType;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.ApiParameterDataType\r\n\tvar $tab_ApiParameterDataType = function() {\r\n\t};\r\n\t$tab_ApiParameterDataType.__typeName = 'tab.ApiParameterDataType';\r\n\tglobal.tab.ApiParameterDataType = $tab_ApiParameterDataType;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.ApiPeriodType\r\n\tvar $tab_ApiPeriodType = function() {\r\n\t};\r\n\t$tab_ApiPeriodType.__typeName = 'tab.ApiPeriodType';\r\n\tglobal.tab.ApiPeriodType = $tab_ApiPeriodType;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.ApiSelectionUpdateType\r\n\tvar $tab_ApiSelectionUpdateType = function() {\r\n\t};\r\n\t$tab_ApiSelectionUpdateType.__typeName = 'tab.ApiSelectionUpdateType';\r\n\tglobal.tab.ApiSelectionUpdateType = $tab_ApiSelectionUpdateType;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.ApiSheetSizeBehavior\r\n\tvar $tab_ApiSheetSizeBehavior = function() {\r\n\t};\r\n\t$tab_ApiSheetSizeBehavior.__typeName = 'tab.ApiSheetSizeBehavior';\r\n\tglobal.tab.ApiSheetSizeBehavior = $tab_ApiSheetSizeBehavior;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.ApiSheetType\r\n\tvar $tab_ApiSheetType = function() {\r\n\t};\r\n\t$tab_ApiSheetType.__typeName = 'tab.ApiSheetType';\r\n\tglobal.tab.ApiSheetType = $tab_ApiSheetType;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.ApiTableauEventName\r\n\tvar $tab_ApiTableauEventName = function() {\r\n\t};\r\n\t$tab_ApiTableauEventName.__typeName = 'tab.ApiTableauEventName';\r\n\tglobal.tab.ApiTableauEventName = $tab_ApiTableauEventName;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.ApiToolbarPosition\r\n\tvar $tab_ApiToolbarPosition = function() {\r\n\t};\r\n\t$tab_ApiToolbarPosition.__typeName = 'tab.ApiToolbarPosition';\r\n\tglobal.tab.ApiToolbarPosition = $tab_ApiToolbarPosition;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// Tableau.JavaScript.Vql.Api.CommandReturnHandler\r\n\tvar $tab_CommandReturnHandler$1 = function(T) {\r\n\t\tvar $type = function(commandName, successCallbackTiming, successCallback, errorCallback) {\r\n\t\t\tthis.$commandName = null;\r\n\t\t\tthis.$successCallbackTiming = 0;\r\n\t\t\tthis.$successCallback = null;\r\n\t\t\tthis.$errorCallback = null;\r\n\t\t\tthis.$commandName = commandName;\r\n\t\t\tthis.$successCallback = successCallback;\r\n\t\t\tthis.$successCallbackTiming = successCallbackTiming;\r\n\t\t\tthis.$errorCallback = errorCallback;\r\n\t\t};\r\n\t\tss.registerGenericClassInstance($type, $tab_CommandReturnHandler$1, [T], {\r\n\t\t\tget_commandName: function CommandReturnHandler$get_CommandName() {\r\n\t\t\t\treturn this.$commandName;\r\n\t\t\t},\r\n\t\t\tget_successCallback: function CommandReturnHandler$get_SuccessCallback() {\r\n\t\t\t\treturn this.$successCallback;\r\n\t\t\t},\r\n\t\t\tget_successCallbackTiming: function CommandReturnHandler$get_SuccessCallbackTiming() {\r\n\t\t\t\treturn this.$successCallbackTiming;\r\n\t\t\t},\r\n\t\t\tget_errorCallback: function CommandReturnHandler$get_ErrorCallback() {\r\n\t\t\t\treturn this.$errorCallback;\r\n\t\t\t}\r\n\t\t}, function() {\r\n\t\t\treturn null;\r\n\t\t}, function() {\r\n\t\t\treturn [];\r\n\t\t});\r\n\t\treturn $type;\r\n\t};\r\n\t$tab_CommandReturnHandler$1.__typeName = 'tab.CommandReturnHandler$1';\r\n\tss.initGenericClass($tab_CommandReturnHandler$1, $asm, 1);\r\n\tglobal.tab.CommandReturnHandler$1 = $tab_CommandReturnHandler$1;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// Tableau.JavaScript.Vql.Api.CrossDomainMessagingOptions\r\n\tvar $tab_CrossDomainMessagingOptions = function(router, handler) {\r\n\t\tthis.$router = null;\r\n\t\tthis.$handler = null;\r\n\t\t$tab__Param.verifyValue(router, 'router');\r\n\t\t$tab__Param.verifyValue(handler, 'handler');\r\n\t\tthis.$router = router;\r\n\t\tthis.$handler = handler;\r\n\t};\r\n\t$tab_CrossDomainMessagingOptions.__typeName = 'tab.CrossDomainMessagingOptions';\r\n\tglobal.tab.CrossDomainMessagingOptions = $tab_CrossDomainMessagingOptions;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.CustomViewEvent\r\n\tvar $tab_CustomViewEvent = function(eventName, viz, customViewImpl) {\r\n\t\tthis.$context = null;\r\n\t\t$tab_TableauEvent.call(this, eventName, viz);\r\n\t\tthis.$context = new $tab_$CustomViewEventContext(viz._impl.get__workbookImpl(), customViewImpl);\r\n\t};\r\n\t$tab_CustomViewEvent.__typeName = 'tab.CustomViewEvent';\r\n\tglobal.tab.CustomViewEvent = $tab_CustomViewEvent;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.DataType\r\n\tvar $tab_DataType = function() {\r\n\t};\r\n\t$tab_DataType.__typeName = 'tab.DataType';\r\n\tglobal.tab.DataType = $tab_DataType;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.DataValue\r\n\tvar $tab_DataValue = function() {\r\n\t};\r\n\t$tab_DataValue.__typeName = 'tab.DataValue';\r\n\t$tab_DataValue.$ctor = function(value, formattedValue, aliasedValue) {\r\n\t\tvar $this = new Object();\r\n\t\t$this.value = null;\r\n\t\t$this.formattedValue = null;\r\n\t\t$this.value = value;\r\n\t\tif ($tab__Utility.isNullOrEmpty(aliasedValue)) {\r\n\t\t\t$this.formattedValue = formattedValue;\r\n\t\t}\r\n\t\telse {\r\n\t\t\t$this.formattedValue = aliasedValue;\r\n\t\t}\r\n\t\treturn $this;\r\n\t};\r\n\tglobal.tab.DataValue = $tab_DataValue;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.EventContext\r\n\tvar $tab_EventContext = function(workbookImpl, worksheetImpl) {\r\n\t\tthis.$workbookImpl = null;\r\n\t\tthis.$worksheetImpl = null;\r\n\t\tthis.$workbookImpl = workbookImpl;\r\n\t\tthis.$worksheetImpl = worksheetImpl;\r\n\t};\r\n\t$tab_EventContext.__typeName = 'tab.EventContext';\r\n\tglobal.tab.EventContext = $tab_EventContext;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.FilterEvent\r\n\tvar $tab_FilterEvent = function(eventName, viz, worksheetImpl, fieldName, filterCaption) {\r\n\t\tthis.$filterCaption = null;\r\n\t\tthis.$context = null;\r\n\t\t$tab_WorksheetEvent.call(this, eventName, viz, worksheetImpl);\r\n\t\tthis.$filterCaption = filterCaption;\r\n\t\tthis.$context = new $tab_$FilterEventContext(viz._impl.get__workbookImpl(), worksheetImpl, fieldName, filterCaption);\r\n\t};\r\n\t$tab_FilterEvent.__typeName = 'tab.FilterEvent';\r\n\tglobal.tab.FilterEvent = $tab_FilterEvent;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.FirstVizSizeKnownEvent\r\n\tvar $tab_FirstVizSizeKnownEvent = function(eventName, viz, vizSize) {\r\n\t\tthis.$vizSize = null;\r\n\t\t$tab_TableauEvent.call(this, eventName, viz);\r\n\t\tthis.$vizSize = vizSize;\r\n\t};\r\n\t$tab_FirstVizSizeKnownEvent.__typeName = 'tab.FirstVizSizeKnownEvent';\r\n\tglobal.tab.FirstVizSizeKnownEvent = $tab_FirstVizSizeKnownEvent;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.HighlightEvent\r\n\tvar $tab_HighlightEvent = function(eventName, viz, worksheetImpl) {\r\n\t\tthis.$context = null;\r\n\t\t$tab_WorksheetEvent.call(this, eventName, viz, worksheetImpl);\r\n\t\tthis.$context = new $tab_$HighlightEventContext(viz._impl.get__workbookImpl(), worksheetImpl);\r\n\t};\r\n\t$tab_HighlightEvent.__typeName = 'tab.HighlightEvent';\r\n\tglobal.tab.HighlightEvent = $tab_HighlightEvent;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// Tableau.JavaScript.Vql.Api.ICrossDomainMessageHandler\r\n\tvar $tab_ICrossDomainMessageHandler = function() {\r\n\t};\r\n\t$tab_ICrossDomainMessageHandler.__typeName = 'tab.ICrossDomainMessageHandler';\r\n\tglobal.tab.ICrossDomainMessageHandler = $tab_ICrossDomainMessageHandler;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// Tableau.JavaScript.Vql.Api.ICrossDomainMessageRouter\r\n\tvar $tab_ICrossDomainMessageRouter = function() {\r\n\t};\r\n\t$tab_ICrossDomainMessageRouter.__typeName = 'tab.ICrossDomainMessageRouter';\r\n\tglobal.tab.ICrossDomainMessageRouter = $tab_ICrossDomainMessageRouter;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.MarksEvent\r\n\tvar $tab_MarksEvent = function(eventName, viz, worksheetImpl) {\r\n\t\tthis.$context = null;\r\n\t\t$tab_WorksheetEvent.call(this, eventName, viz, worksheetImpl);\r\n\t\tthis.$context = new $tab_$MarksEventContext(viz._impl.get__workbookImpl(), worksheetImpl);\r\n\t};\r\n\t$tab_MarksEvent.__typeName = 'tab.MarksEvent';\r\n\tglobal.tab.MarksEvent = $tab_MarksEvent;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.ParameterEvent\r\n\tvar $tab_ParameterEvent = function(eventName, viz, parameterName) {\r\n\t\tthis.$context = null;\r\n\t\t$tab_TableauEvent.call(this, eventName, viz);\r\n\t\tthis.$context = new $tab_$ParameterEventContext(viz._impl.get__workbookImpl(), parameterName);\r\n\t};\r\n\t$tab_ParameterEvent.__typeName = 'tab.ParameterEvent';\r\n\tglobal.tab.ParameterEvent = $tab_ParameterEvent;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.Point\r\n\tvar $tab_Point = function() {\r\n\t};\r\n\t$tab_Point.__typeName = 'tab.Point';\r\n\t$tab_Point.$ctor = function(x, y) {\r\n\t\tvar $this = new Object();\r\n\t\t$this.x = 0;\r\n\t\t$this.y = 0;\r\n\t\t$this.x = x;\r\n\t\t$this.y = y;\r\n\t\treturn $this;\r\n\t};\r\n\tglobal.tab.Point = $tab_Point;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.SheetSize\r\n\tvar $tab_SheetSize = function() {\r\n\t};\r\n\t$tab_SheetSize.__typeName = 'tab.SheetSize';\r\n\t$tab_SheetSize.$ctor = function(behavior, minSize, maxSize) {\r\n\t\tvar $this = new Object();\r\n\t\t$this.behavior = null;\r\n\t\t$this.minSize = null;\r\n\t\t$this.maxSize = null;\r\n\t\t$this.behavior = ss.coalesce(behavior, 'automatic');\r\n\t\tif (ss.isValue(minSize)) {\r\n\t\t\t$this.minSize = minSize;\r\n\t\t}\r\n\t\telse {\r\n\t\t\tdelete $this['minSize'];\r\n\t\t}\r\n\t\tif (ss.isValue(maxSize)) {\r\n\t\t\t$this.maxSize = maxSize;\r\n\t\t}\r\n\t\telse {\r\n\t\t\tdelete $this['maxSize'];\r\n\t\t}\r\n\t\treturn $this;\r\n\t};\r\n\tglobal.tab.SheetSize = $tab_SheetSize;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.SheetSizeFactory\r\n\tvar $tab_SheetSizeFactory = function() {\r\n\t};\r\n\t$tab_SheetSizeFactory.__typeName = 'tab.SheetSizeFactory';\r\n\t$tab_SheetSizeFactory.createAutomatic = function SheetSizeFactory$CreateAutomatic() {\r\n\t\tvar size = $tab_SheetSize.$ctor('automatic', null, null);\r\n\t\treturn size;\r\n\t};\r\n\t$tab_SheetSizeFactory.fromSizeConstraints = function SheetSizeFactory$FromSizeConstraints(vizSizePresModel) {\r\n\t\tvar minHeight = vizSizePresModel.minHeight;\r\n\t\tvar minWidth = vizSizePresModel.minWidth;\r\n\t\tvar maxHeight = vizSizePresModel.maxHeight;\r\n\t\tvar maxWidth = vizSizePresModel.maxWidth;\r\n\t\tvar behavior = 'automatic';\r\n\t\tvar minSize = null;\r\n\t\tvar maxSize = null;\r\n\t\tif (minHeight === 0 && minWidth === 0) {\r\n\t\t\tif (maxHeight === 0 && maxWidth === 0) {\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tbehavior = 'atmost';\r\n\t\t\t\tmaxSize = $tab_Size.$ctor(maxWidth, maxHeight);\r\n\t\t\t}\r\n\t\t}\r\n\t\telse if (maxHeight === 0 && maxWidth === 0) {\r\n\t\t\tbehavior = 'atleast';\r\n\t\t\tminSize = $tab_Size.$ctor(minWidth, minHeight);\r\n\t\t}\r\n\t\telse if (maxHeight === minHeight && maxWidth === minWidth && minWidth > 0) {\r\n\t\t\tbehavior = 'exactly';\r\n\t\t\tminSize = $tab_Size.$ctor(minWidth, minHeight);\r\n\t\t\tmaxSize = $tab_Size.$ctor(minWidth, minHeight);\r\n\t\t}\r\n\t\telse {\r\n\t\t\tbehavior = 'range';\r\n\t\t\tif (minWidth === 0 && maxWidth === 0) {\r\n\t\t\t\tmaxWidth = 2147483647;\r\n\t\t\t}\r\n\t\t\tminSize = $tab_Size.$ctor(minWidth, minHeight);\r\n\t\t\tmaxSize = $tab_Size.$ctor(maxWidth, maxHeight);\r\n\t\t}\r\n\t\treturn $tab_SheetSize.$ctor(behavior, minSize, maxSize);\r\n\t};\r\n\tglobal.tab.SheetSizeFactory = $tab_SheetSizeFactory;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.Size\r\n\tvar $tab_Size = function() {\r\n\t};\r\n\t$tab_Size.__typeName = 'tab.Size';\r\n\t$tab_Size.$ctor = function(width, height) {\r\n\t\tvar $this = new Object();\r\n\t\t$this.width = 0;\r\n\t\t$this.height = 0;\r\n\t\t$this.width = width;\r\n\t\t$this.height = height;\r\n\t\treturn $this;\r\n\t};\r\n\tglobal.tab.Size = $tab_Size;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// Tableau.JavaScript.Vql.Api.StoryPointInfoImplUtil\r\n\tvar $tab_StoryPointInfoImplUtil = function() {\r\n\t};\r\n\t$tab_StoryPointInfoImplUtil.__typeName = 'tab.StoryPointInfoImplUtil';\r\n\t$tab_StoryPointInfoImplUtil.clone = function StoryPointInfoImplUtil$Clone(impl) {\r\n\t\treturn $tab__StoryPointInfoImpl.$ctor(impl.caption, impl.index, impl.storyPointId, impl.isActive, impl.isUpdated, impl.parentStoryImpl);\r\n\t};\r\n\tglobal.tab.StoryPointInfoImplUtil = $tab_StoryPointInfoImplUtil;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.StoryPointSwitchEvent\r\n\tvar $tab_StoryPointSwitchEvent = function(eventName, viz, oldStoryPointInfo, newStoryPoint) {\r\n\t\tthis.$oldStoryPointInfo = null;\r\n\t\tthis.$newStoryPoint = null;\r\n\t\t$tab_TableauEvent.call(this, eventName, viz);\r\n\t\tthis.$oldStoryPointInfo = oldStoryPointInfo;\r\n\t\tthis.$newStoryPoint = newStoryPoint;\r\n\t};\r\n\t$tab_StoryPointSwitchEvent.__typeName = 'tab.StoryPointSwitchEvent';\r\n\tglobal.tab.StoryPointSwitchEvent = $tab_StoryPointSwitchEvent;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.TableauEvent\r\n\tvar $tab_TableauEvent = function(eventName, viz) {\r\n\t\tthis.$viz = null;\r\n\t\tthis.$eventName = null;\r\n\t\tthis.$viz = viz;\r\n\t\tthis.$eventName = eventName;\r\n\t};\r\n\t$tab_TableauEvent.__typeName = 'tab.TableauEvent';\r\n\tglobal.tab.TableauEvent = $tab_TableauEvent;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.TabSwitchEvent\r\n\tvar $tab_TabSwitchEvent = function(eventName, viz, oldName, newName) {\r\n\t\tthis.$oldName = null;\r\n\t\tthis.$newName = null;\r\n\t\t$tab_TableauEvent.call(this, eventName, viz);\r\n\t\tthis.$oldName = oldName;\r\n\t\tthis.$newName = newName;\r\n\t};\r\n\t$tab_TabSwitchEvent.__typeName = 'tab.TabSwitchEvent';\r\n\tglobal.tab.TabSwitchEvent = $tab_TabSwitchEvent;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// Tableau.JavaScript.Vql.Api.VizImpl\r\n\tvar $tab_VizImpl = function(messageRouter, viz, parentElement, url, options) {\r\n\t\tthis.$workbookTabSwitchHandler = null;\r\n\t\tthis.$viz = null;\r\n\t\tthis.$iframe = null;\r\n\t\tthis.$staticImage = null;\r\n\t\tthis.$parameters = null;\r\n\t\tthis.$initialAvailableSize = null;\r\n\t\tthis.$instanceId = null;\r\n\t\tthis.$workbookImpl = null;\r\n\t\tthis.$onFirstInteractiveCallback = null;\r\n\t\tthis.$onFirstVizSizeKnownCallback = null;\r\n\t\tthis.$onFirstInteractiveAlreadyCalled = false;\r\n\t\tthis.$areTabsHidden = false;\r\n\t\tthis.$isToolbarHidden = false;\r\n\t\tthis.$areAutomaticUpdatesPaused = false;\r\n\t\tthis.$messagingOptions = null;\r\n\t\tthis.$vizSize = null;\r\n\t\tthis.$windowResizeHandler = null;\r\n\t\tthis.$initializingWorkbookImpl = false;\r\n\t\tthis.$1$CustomViewsListLoadField = null;\r\n\t\tthis.$1$StateReadyForQueryField = null;\r\n\t\tthis.$1$MarksSelectionField = null;\r\n\t\tthis.$1$MarksHighlightField = null;\r\n\t\tthis.$1$FilterChangeField = null;\r\n\t\tthis.$1$ParameterValueChangeField = null;\r\n\t\tthis.$1$CustomViewLoadField = null;\r\n\t\tthis.$1$CustomViewSaveField = null;\r\n\t\tthis.$1$CustomViewRemoveField = null;\r\n\t\tthis.$1$CustomViewSetDefaultField = null;\r\n\t\tthis.$1$TabSwitchField = null;\r\n\t\tthis.$1$StoryPointSwitchField = null;\r\n\t\tthis.$1$VizResizeField = null;\r\n\t\tif (!$tab__Utility.hasWindowPostMessage() || !$tab__Utility.hasJsonParse()) {\r\n\t\t\tthrow $tab__TableauException.createBrowserNotCapable();\r\n\t\t}\r\n\t\tthis.$messagingOptions = new $tab_CrossDomainMessagingOptions(messageRouter, this);\r\n\t\tthis.$viz = viz;\r\n\t\tif (ss.isNullOrUndefined(parentElement) || parentElement.nodeType !== 1) {\r\n\t\t\tparentElement = document.body;\r\n\t\t}\r\n\t\tthis.$parameters = new $tab__VizParameters(parentElement, url, options);\r\n\t\tif (ss.isValue(options)) {\r\n\t\t\tthis.$onFirstInteractiveCallback = options.onFirstInteractive;\r\n\t\t\tthis.$onFirstVizSizeKnownCallback = options.onFirstVizSizeKnown;\r\n\t\t}\r\n\t};\r\n\t$tab_VizImpl.__typeName = 'tab.VizImpl';\r\n\tglobal.tab.VizImpl = $tab_VizImpl;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.VizResizeEvent\r\n\tvar $tab_VizResizeEvent = function(eventName, viz, availableSize) {\r\n\t\tthis.$availableSize = null;\r\n\t\t$tab_TableauEvent.call(this, eventName, viz);\r\n\t\tthis.$availableSize = availableSize;\r\n\t};\r\n\t$tab_VizResizeEvent.__typeName = 'tab.VizResizeEvent';\r\n\tglobal.tab.VizResizeEvent = $tab_VizResizeEvent;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.VizSize\r\n\tvar $tab_VizSize = function() {\r\n\t};\r\n\t$tab_VizSize.__typeName = 'tab.VizSize';\r\n\t$tab_VizSize.$ctor = function(sheetSize, chromeHeight) {\r\n\t\tvar $this = new Object();\r\n\t\t$this.sheetSize = null;\r\n\t\t$this.chromeHeight = 0;\r\n\t\t$this.sheetSize = sheetSize;\r\n\t\t$this.chromeHeight = chromeHeight;\r\n\t\treturn $this;\r\n\t};\r\n\tglobal.tab.VizSize = $tab_VizSize;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.WorksheetEvent\r\n\tvar $tab_WorksheetEvent = function(eventName, viz, worksheetImpl) {\r\n\t\tthis.$worksheetImpl = null;\r\n\t\t$tab_TableauEvent.call(this, eventName, viz);\r\n\t\tthis.$worksheetImpl = worksheetImpl;\r\n\t};\r\n\t$tab_WorksheetEvent.__typeName = 'tab.WorksheetEvent';\r\n\tglobal.tab.WorksheetEvent = $tab_WorksheetEvent;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.CategoricalFilter\r\n\tvar $tableauSoftware_CategoricalFilter = function(worksheetImpl, pm) {\r\n\t\tthis.$isExclude = false;\r\n\t\tthis.$appliedValues = null;\r\n\t\t$tableauSoftware_Filter.call(this, worksheetImpl, pm);\r\n\t\tthis.$initializeFromJson$1(pm);\r\n\t};\r\n\t$tableauSoftware_CategoricalFilter.__typeName = 'tableauSoftware.CategoricalFilter';\r\n\tglobal.tableauSoftware.CategoricalFilter = $tableauSoftware_CategoricalFilter;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.Column\r\n\tvar $tableauSoftware_Column = function(impl) {\r\n\t\tthis.$impl = null;\r\n\t\tthis.$impl = impl;\r\n\t};\r\n\t$tableauSoftware_Column.__typeName = 'tableauSoftware.Column';\r\n\tglobal.tableauSoftware.Column = $tableauSoftware_Column;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.CustomView\r\n\tvar $tableauSoftware_CustomView = function(customViewImpl) {\r\n\t\tthis._impl = null;\r\n\t\tthis._impl = customViewImpl;\r\n\t};\r\n\t$tableauSoftware_CustomView.__typeName = 'tableauSoftware.CustomView';\r\n\tglobal.tableauSoftware.CustomView = $tableauSoftware_CustomView;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.Dashboard\r\n\tvar $tableauSoftware_Dashboard = function(dashboardImpl) {\r\n\t\tthis._impl = null;\r\n\t\t$tableauSoftware_Sheet.call(this, dashboardImpl);\r\n\t};\r\n\t$tableauSoftware_Dashboard.__typeName = 'tableauSoftware.Dashboard';\r\n\tglobal.tableauSoftware.Dashboard = $tableauSoftware_Dashboard;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.DashboardObject\r\n\tvar $tableauSoftware_DashboardObject = function(frameInfo, dashboard, worksheet) {\r\n\t\tthis.$zoneInfo = null;\r\n\t\tthis.$dashboard = null;\r\n\t\tthis.$worksheet = null;\r\n\t\tif (frameInfo.objectType === 'worksheet' && ss.isNullOrUndefined(worksheet)) {\r\n\t\t\tthrow $tab__TableauException.createInternalError('worksheet parameter is required for WORKSHEET objects');\r\n\t\t}\r\n\t\telse if (frameInfo.objectType !== 'worksheet' && ss.isValue(worksheet)) {\r\n\t\t\tthrow $tab__TableauException.createInternalError('worksheet parameter should be undefined for non-WORKSHEET objects');\r\n\t\t}\r\n\t\tthis.$zoneInfo = frameInfo;\r\n\t\tthis.$dashboard = dashboard;\r\n\t\tthis.$worksheet = worksheet;\r\n\t};\r\n\t$tableauSoftware_DashboardObject.__typeName = 'tableauSoftware.DashboardObject';\r\n\tglobal.tableauSoftware.DashboardObject = $tableauSoftware_DashboardObject;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.DataSource\r\n\tvar $tableauSoftware_DataSource = function(impl) {\r\n\t\tthis.$impl = null;\r\n\t\tthis.$impl = impl;\r\n\t};\r\n\t$tableauSoftware_DataSource.__typeName = 'tableauSoftware.DataSource';\r\n\tglobal.tableauSoftware.DataSource = $tableauSoftware_DataSource;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.DataTable\r\n\tvar $tableauSoftware_DataTable = function(impl) {\r\n\t\tthis.$impl = null;\r\n\t\tthis.$impl = impl;\r\n\t};\r\n\t$tableauSoftware_DataTable.__typeName = 'tableauSoftware.DataTable';\r\n\tglobal.tableauSoftware.DataTable = $tableauSoftware_DataTable;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.Field\r\n\tvar $tableauSoftware_Field = function(dataSource, name, fieldRoleType, fieldAggrType) {\r\n\t\tthis.$dataSource = null;\r\n\t\tthis.$name = null;\r\n\t\tthis.$fieldRoleType = null;\r\n\t\tthis.$fieldAggrType = null;\r\n\t\tthis.$dataSource = dataSource;\r\n\t\tthis.$name = name;\r\n\t\tthis.$fieldRoleType = fieldRoleType;\r\n\t\tthis.$fieldAggrType = fieldAggrType;\r\n\t};\r\n\t$tableauSoftware_Field.__typeName = 'tableauSoftware.Field';\r\n\tglobal.tableauSoftware.Field = $tableauSoftware_Field;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.Filter\r\n\tvar $tableauSoftware_Filter = function(worksheetImpl, pm) {\r\n\t\tthis.$worksheetImpl = null;\r\n\t\tthis.$type = null;\r\n\t\tthis.$caption = null;\r\n\t\tthis.$field = null;\r\n\t\tthis.$dataSourceName = null;\r\n\t\tthis.$fieldRole = null;\r\n\t\tthis.$fieldAggregation = null;\r\n\t\tthis.$worksheetImpl = worksheetImpl;\r\n\t\tthis.$initializeFromJson(pm);\r\n\t};\r\n\t$tableauSoftware_Filter.__typeName = 'tableauSoftware.Filter';\r\n\t$tableauSoftware_Filter.$createFilter = function Filter$CreateFilter(worksheetImpl, pm) {\r\n\t\tswitch (pm.filterType) {\r\n\t\t\tcase 'categorical': {\r\n\t\t\t\treturn new $tableauSoftware_CategoricalFilter(worksheetImpl, pm);\r\n\t\t\t}\r\n\t\t\tcase 'relativedate': {\r\n\t\t\t\treturn new $tableauSoftware_RelativeDateFilter(worksheetImpl, pm);\r\n\t\t\t}\r\n\t\t\tcase 'hierarchical': {\r\n\t\t\t\treturn new $tableauSoftware_HierarchicalFilter(worksheetImpl, pm);\r\n\t\t\t}\r\n\t\t\tcase 'quantitative': {\r\n\t\t\t\treturn new $tableauSoftware_QuantitativeFilter(worksheetImpl, pm);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn null;\r\n\t};\r\n\t$tableauSoftware_Filter.processFiltersList = function Filter$ProcessFiltersList(worksheetImpl, filtersListDict) {\r\n\t\tvar filterCaptions = new tab._Collection();\r\n\t\tfor (var $t1 = 0; $t1 < filtersListDict.filters.length; $t1++) {\r\n\t\t\tvar filterPm = filtersListDict.filters[$t1];\r\n\t\t\tif (!filterCaptions._has(filterPm.caption)) {\r\n\t\t\t\tfilterCaptions._add(filterPm.caption, filterPm.caption);\r\n\t\t\t}\r\n\t\t}\r\n\t\tvar filters = new tab._Collection();\r\n\t\tfor (var $t2 = 0; $t2 < filtersListDict.filters.length; $t2++) {\r\n\t\t\tvar filterPm1 = filtersListDict.filters[$t2];\r\n\t\t\tvar filter = $tableauSoftware_Filter.$createFilter(worksheetImpl, filterPm1);\r\n\t\t\tif (!filters._has(filterPm1.caption)) {\r\n\t\t\t\tfilters._add(filterPm1.caption, filter);\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t\tvar filterCollectionKey = filterPm1.caption.toString() + '_' + filterPm1.filterType.toString();\r\n\t\t\tvar filterCollectionKeyNumbered = filterCollectionKey;\r\n\t\t\tvar numberLabel = 1;\r\n\t\t\twhile (filterCaptions._has(filterCollectionKeyNumbered)) {\r\n\t\t\t\tfilterCollectionKeyNumbered = filterCollectionKey + '_' + numberLabel;\r\n\t\t\t\tnumberLabel++;\r\n\t\t\t}\r\n\t\t\tfilters._add(filterCollectionKeyNumbered, filter);\r\n\t\t}\r\n\t\treturn filters;\r\n\t};\r\n\tglobal.tableauSoftware.Filter = $tableauSoftware_Filter;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.HierarchicalFilter\r\n\tvar $tableauSoftware_HierarchicalFilter = function(worksheetImpl, pm) {\r\n\t\tthis.$levels = 0;\r\n\t\t$tableauSoftware_Filter.call(this, worksheetImpl, pm);\r\n\t\tthis.$initializeFromJson$1(pm);\r\n\t};\r\n\t$tableauSoftware_HierarchicalFilter.__typeName = 'tableauSoftware.HierarchicalFilter';\r\n\tglobal.tableauSoftware.HierarchicalFilter = $tableauSoftware_HierarchicalFilter;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.Mark\r\n\tvar $tableauSoftware_Mark = function(tupleId) {\r\n\t\tthis.$impl = null;\r\n\t\tthis.$impl = new $tab_$MarkImpl(tupleId);\r\n\t};\r\n\t$tableauSoftware_Mark.__typeName = 'tableauSoftware.Mark';\r\n\tglobal.tableauSoftware.Mark = $tableauSoftware_Mark;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.Pair\r\n\tvar $tableauSoftware_Pair = function(fieldName, value) {\r\n\t\tthis.fieldName = null;\r\n\t\tthis.value = null;\r\n\t\tthis.formattedValue = null;\r\n\t\tthis.fieldName = fieldName;\r\n\t\tthis.value = value;\r\n\t\tthis.formattedValue = (ss.isValue(value) ? value.toString() : '');\r\n\t};\r\n\t$tableauSoftware_Pair.__typeName = 'tableauSoftware.Pair';\r\n\tglobal.tableauSoftware.Pair = $tableauSoftware_Pair;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.Parameter\r\n\tvar $tableauSoftware_Parameter = function(impl) {\r\n\t\tthis._impl = null;\r\n\t\tthis._impl = impl;\r\n\t};\r\n\t$tableauSoftware_Parameter.__typeName = 'tableauSoftware.Parameter';\r\n\tglobal.tableauSoftware.Parameter = $tableauSoftware_Parameter;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.QuantitativeFilter\r\n\tvar $tableauSoftware_QuantitativeFilter = function(worksheetImpl, pm) {\r\n\t\tthis.$domainMin = null;\r\n\t\tthis.$domainMax = null;\r\n\t\tthis.$min = null;\r\n\t\tthis.$max = null;\r\n\t\tthis.$includeNullValues = false;\r\n\t\t$tableauSoftware_Filter.call(this, worksheetImpl, pm);\r\n\t\tthis.$initializeFromJson$1(pm);\r\n\t};\r\n\t$tableauSoftware_QuantitativeFilter.__typeName = 'tableauSoftware.QuantitativeFilter';\r\n\tglobal.tableauSoftware.QuantitativeFilter = $tableauSoftware_QuantitativeFilter;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.RelativeDateFilter\r\n\tvar $tableauSoftware_RelativeDateFilter = function(worksheetImpl, pm) {\r\n\t\tthis.$periodType = null;\r\n\t\tthis.$rangeType = null;\r\n\t\tthis.$rangeN = 0;\r\n\t\t$tableauSoftware_Filter.call(this, worksheetImpl, pm);\r\n\t\tthis.$initializeFromJson$1(pm);\r\n\t};\r\n\t$tableauSoftware_RelativeDateFilter.__typeName = 'tableauSoftware.RelativeDateFilter';\r\n\tglobal.tableauSoftware.RelativeDateFilter = $tableauSoftware_RelativeDateFilter;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.Sheet\r\n\tvar $tableauSoftware_Sheet = function(sheetImpl) {\r\n\t\tthis._impl = null;\r\n\t\t$tab__Param.verifyValue(sheetImpl, 'sheetImpl');\r\n\t\tthis._impl = sheetImpl;\r\n\t};\r\n\t$tableauSoftware_Sheet.__typeName = 'tableauSoftware.Sheet';\r\n\tglobal.tableauSoftware.Sheet = $tableauSoftware_Sheet;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.ApiSheetInfo\r\n\tvar $tableauSoftware_SheetInfo = function(impl) {\r\n\t\tthis.$impl = null;\r\n\t\tthis.$impl = impl;\r\n\t};\r\n\t$tableauSoftware_SheetInfo.__typeName = 'tableauSoftware.SheetInfo';\r\n\tglobal.tableauSoftware.SheetInfo = $tableauSoftware_SheetInfo;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.Story\r\n\tvar $tableauSoftware_Story = function(storyImpl) {\r\n\t\tthis._impl = null;\r\n\t\t$tableauSoftware_Sheet.call(this, storyImpl);\r\n\t};\r\n\t$tableauSoftware_Story.__typeName = 'tableauSoftware.Story';\r\n\tglobal.tableauSoftware.Story = $tableauSoftware_Story;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.StoryPoint\r\n\tvar $tableauSoftware_StoryPoint = function(impl) {\r\n\t\tthis.$impl = null;\r\n\t\tthis.$impl = impl;\r\n\t};\r\n\t$tableauSoftware_StoryPoint.__typeName = 'tableauSoftware.StoryPoint';\r\n\tglobal.tableauSoftware.StoryPoint = $tableauSoftware_StoryPoint;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.StoryPointInfo\r\n\tvar $tableauSoftware_StoryPointInfo = function(impl) {\r\n\t\tthis._impl = null;\r\n\t\tthis._impl = impl;\r\n\t};\r\n\t$tableauSoftware_StoryPointInfo.__typeName = 'tableauSoftware.StoryPointInfo';\r\n\tglobal.tableauSoftware.StoryPointInfo = $tableauSoftware_StoryPointInfo;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.Version\r\n\tvar $tableauSoftware_Version = function(major, minor, patch, metadata) {\r\n\t\tthis.$major = 0;\r\n\t\tthis.$minor = 0;\r\n\t\tthis.$patch = 0;\r\n\t\tthis.$metadata = null;\r\n\t\tthis.$major = major;\r\n\t\tthis.$minor = minor;\r\n\t\tthis.$patch = patch;\r\n\t\tthis.$metadata = ss.coalesce(metadata, null);\r\n\t};\r\n\t$tableauSoftware_Version.__typeName = 'tableauSoftware.Version';\r\n\t$tableauSoftware_Version.getCurrent = function Version$GetCurrent() {\r\n\t\treturn $tableauSoftware_Version.$currentVersion;\r\n\t};\r\n\tglobal.tableauSoftware.Version = $tableauSoftware_Version;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.Viz\r\n\tvar $tableauSoftware_Viz = function(parentElement, url, options) {\r\n\t\tthis._impl = null;\r\n\t\tvar messageRouter = $tab__ApiObjectRegistry.getCrossDomainMessageRouter();\r\n\t\tthis._impl = new $tab_VizImpl(messageRouter, this, parentElement, url, options);\r\n\t\tthis._impl.$create();\r\n\t};\r\n\t$tableauSoftware_Viz.__typeName = 'tableauSoftware.Viz';\r\n\t$tableauSoftware_Viz.getLastRequestMessage = function Viz$GetLastRequestMessage() {\r\n\t\treturn $tab__ApiCommand.lastRequestMessage;\r\n\t};\r\n\t$tableauSoftware_Viz.getLastResponseMessage = function Viz$GetLastResponseMessage() {\r\n\t\treturn $tab__ApiCommand.lastResponseMessage;\r\n\t};\r\n\t$tableauSoftware_Viz.getLastClientInfoResponseMessage = function Viz$GetLastClientInfoResponseMessage() {\r\n\t\treturn $tab__ApiCommand.lastClientInfoResponseMessage;\r\n\t};\r\n\tglobal.tableauSoftware.Viz = $tableauSoftware_Viz;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.VizManager\r\n\tvar $tableauSoftware_VizManager = function() {\r\n\t};\r\n\t$tableauSoftware_VizManager.__typeName = 'tableauSoftware.VizManager';\r\n\t$tableauSoftware_VizManager.getVizs = function VizManager$GetVizs() {\r\n\t\treturn $tab__VizManagerImpl.get_$clonedVizs();\r\n\t};\r\n\tglobal.tableauSoftware.VizManager = $tableauSoftware_VizManager;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.Workbook\r\n\tvar $tableauSoftware_Workbook = function(workbookImpl) {\r\n\t\tthis.$workbookImpl = null;\r\n\t\tthis.$workbookImpl = workbookImpl;\r\n\t};\r\n\t$tableauSoftware_Workbook.__typeName = 'tableauSoftware.Workbook';\r\n\tglobal.tableauSoftware.Workbook = $tableauSoftware_Workbook;\r\n\t////////////////////////////////////////////////////////////////////////////////\r\n\t// tableauSoftware.Worksheet\r\n\tvar $tableauSoftware_Worksheet = function(impl) {\r\n\t\tthis._impl = null;\r\n\t\t$tableauSoftware_Sheet.call(this, impl);\r\n\t};\r\n\t$tableauSoftware_Worksheet.__typeName = 'tableauSoftware.Worksheet';\r\n\tglobal.tableauSoftware.Worksheet = $tableauSoftware_Worksheet;\r\n\tss.initInterface($tab_ICrossDomainMessageRouter, $asm, { registerHandler: null, unregisterHandler: null, sendCommand: null });\r\n\tss.initClass($tab_$CrossDomainMessageRouter, $asm, {\r\n\t\tregisterHandler: function CrossDomainMessageRouter$RegisterHandler(handler) {\r\n\t\t\tvar uniqueId = 'host' + this.$nextHandlerId;\r\n\t\t\tif (ss.isValue(handler.get_hostId()) || ss.isValue(this.$handlers[handler.get_hostId()])) {\r\n\t\t\t\tthrow $tab__TableauException.createInternalError(\"Host '\" + handler.get_hostId() + \"' is already registered.\");\r\n\t\t\t}\r\n\t\t\tthis.$nextHandlerId++;\r\n\t\t\thandler.set_hostId(uniqueId);\r\n\t\t\tthis.$handlers[uniqueId] = handler;\r\n\t\t\thandler.add_customViewsListLoad(ss.mkdel(this, this.$handleCustomViewsListLoad));\r\n\t\t\thandler.add_stateReadyForQuery(ss.mkdel(this, this.$handleStateReadyForQuery));\r\n\t\t},\r\n\t\tunregisterHandler: function CrossDomainMessageRouter$UnregisterHandler(handler) {\r\n\t\t\tif (ss.isValue(handler.get_hostId()) || ss.isValue(this.$handlers[handler.get_hostId()])) {\r\n\t\t\t\tdelete this.$handlers[handler.get_hostId()];\r\n\t\t\t\thandler.remove_customViewsListLoad(ss.mkdel(this, this.$handleCustomViewsListLoad));\r\n\t\t\t\thandler.remove_stateReadyForQuery(ss.mkdel(this, this.$handleStateReadyForQuery));\r\n\t\t\t}\r\n\t\t},\r\n\t\tsendCommand: function(T) {\r\n\t\t\treturn function CrossDomainMessageRouter$SendCommand(source, commandParameters, returnHandler) {\r\n\t\t\t\tvar iframe = source.get_iframe();\r\n\t\t\t\tvar handlerId = source.get_hostId();\r\n\t\t\t\tif (!$tab__Utility.hasWindowPostMessage() || ss.isNullOrUndefined(iframe) || ss.isNullOrUndefined(iframe.contentWindow)) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tvar commandId = $tab__ApiCommand.generateNextCommandId();\r\n\t\t\t\tvar callbackMap = this.$commandCallbacks[handlerId];\r\n\t\t\t\tif (ss.isNullOrUndefined(callbackMap)) {\r\n\t\t\t\t\tcallbackMap = {};\r\n\t\t\t\t\tthis.$commandCallbacks[handlerId] = callbackMap;\r\n\t\t\t\t}\r\n\t\t\t\tcallbackMap[commandId] = returnHandler;\r\n\t\t\t\tvar commandName = returnHandler.get_commandName();\r\n\t\t\t\tif (commandName === 'api.ShowCustomViewCommand') {\r\n\t\t\t\t\tvar customViewCallbacks = this.$customViewLoadCallbacks[handlerId];\r\n\t\t\t\t\tif (ss.isNullOrUndefined(customViewCallbacks)) {\r\n\t\t\t\t\t\tcustomViewCallbacks = [];\r\n\t\t\t\t\t\tthis.$customViewLoadCallbacks[handlerId] = customViewCallbacks;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcustomViewCallbacks.push(returnHandler);\r\n\t\t\t\t}\r\n\t\t\t\tvar serializedParams = null;\r\n\t\t\t\tif (ss.isValue(commandParameters)) {\r\n\t\t\t\t\tserializedParams = JSON.stringify(commandParameters);\r\n\t\t\t\t}\r\n\t\t\t\tvar command = new $tab__ApiCommand(commandName, commandId, handlerId, serializedParams);\r\n\t\t\t\tvar message = command.serialize();\r\n\t\t\t\tif ($tab__Utility.isPostMessageSynchronous()) {\r\n\t\t\t\t\twindow.setTimeout(function() {\r\n\t\t\t\t\t\tiframe.contentWindow.postMessage(message, '*');\r\n\t\t\t\t\t}, 0);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tiframe.contentWindow.postMessage(message, '*');\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t},\r\n\t\t$handleCustomViewsListLoad: function CrossDomainMessageRouter$HandleCustomViewsListLoad(source) {\r\n\t\t\tvar handlerId = source.get_hostId();\r\n\t\t\tvar customViewCallbacks = this.$customViewLoadCallbacks[handlerId];\r\n\t\t\tif (ss.isNullOrUndefined(customViewCallbacks)) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tfor (var $t1 = 0; $t1 < customViewCallbacks.length; $t1++) {\r\n\t\t\t\tvar returnHandler = customViewCallbacks[$t1];\r\n\t\t\t\tif (!ss.staticEquals(returnHandler.get_successCallback(), null)) {\r\n\t\t\t\t\treturnHandler.get_successCallback()(null);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tdelete this.$customViewLoadCallbacks[handlerId];\r\n\t\t},\r\n\t\t$handleStateReadyForQuery: function CrossDomainMessageRouter$HandleStateReadyForQuery(source) {\r\n\t\t\tvar queue = this.$commandReturnAfterStateReadyQueues[source.get_hostId()];\r\n\t\t\tif ($tab__Utility.isNullOrEmpty(queue)) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\twhile (queue.length > 0) {\r\n\t\t\t\tvar successCallback = queue.pop();\r\n\t\t\t\tif (ss.isValue(successCallback)) {\r\n\t\t\t\t\tsuccessCallback();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\t$handleCrossDomainMessage: function CrossDomainMessageRouter$HandleCrossDomainMessage(e) {\r\n\t\t\tvar messageEvent = ss.cast(e, MessageEvent);\r\n\t\t\tif (ss.isNullOrUndefined(messageEvent.data)) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tvar command = $tab__ApiCommand.parse(messageEvent.data.toString());\r\n\t\t\tvar rawName = command.get_rawName();\r\n\t\t\tvar hostId = command.get_hostId();\r\n\t\t\tvar handler = this.$handlers[hostId];\r\n\t\t\tif (ss.isNullOrUndefined(handler) || !ss.referenceEquals(handler.get_hostId(), command.get_hostId())) {\r\n\t\t\t\thandler = this.$findHostIdByDomComparison(messageEvent);\r\n\t\t\t}\r\n\t\t\tif (command.get_isApiCommandName()) {\r\n\t\t\t\tif (ss.referenceEquals(command.get_commandId(), $tab__ApiCommand.crossDomainEventNotificationId)) {\r\n\t\t\t\t\thandler.handleEventNotification(command.get_name(), command.get_parameters());\r\n\t\t\t\t\tif (command.get_name() === 'api.FirstVizSizeKnownEvent') {\r\n\t\t\t\t\t\tmessageEvent.source.postMessage('tableau.bootstrap', '*');\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tthis.$handleCrossDomainResponse(command);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tthis.$handleLegacyNotifications(rawName, handler);\r\n\t\t\t}\r\n\t\t},\r\n\t\t$handleCrossDomainResponse: function CrossDomainMessageRouter$HandleCrossDomainResponse(command) {\r\n\t\t\tvar commandCallbackMap = this.$commandCallbacks[command.get_hostId()];\r\n\t\t\tvar returnHandler = (ss.isValue(commandCallbackMap) ? commandCallbackMap[command.get_commandId()] : null);\r\n\t\t\tif (ss.isNullOrUndefined(returnHandler)) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tdelete commandCallbackMap[command.get_commandId()];\r\n\t\t\tif (command.get_name() !== returnHandler.get_commandName()) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tvar crossDomainResult = new $tab__ApiServerResultParser(command.get_parameters());\r\n\t\t\tvar commandResult = crossDomainResult.get_data();\r\n\t\t\tif (crossDomainResult.get_result() === 'api.success') {\r\n\t\t\t\tswitch (returnHandler.get_successCallbackTiming()) {\r\n\t\t\t\t\tcase 0: {\r\n\t\t\t\t\t\tif (ss.isValue(returnHandler.get_successCallback())) {\r\n\t\t\t\t\t\t\treturnHandler.get_successCallback()(commandResult);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase 1: {\r\n\t\t\t\t\t\tvar postponedCallback = function() {\r\n\t\t\t\t\t\t\tif (ss.isValue(returnHandler.get_successCallback())) {\r\n\t\t\t\t\t\t\t\treturnHandler.get_successCallback()(commandResult);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t\tvar queue = this.$commandReturnAfterStateReadyQueues[command.get_hostId()];\r\n\t\t\t\t\t\tif (ss.isNullOrUndefined(queue)) {\r\n\t\t\t\t\t\t\tqueue = [];\r\n\t\t\t\t\t\t\tthis.$commandReturnAfterStateReadyQueues[command.get_hostId()] = queue;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tqueue.push(postponedCallback);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdefault: {\r\n\t\t\t\t\t\tthrow $tab__TableauException.createInternalError('Unknown timing value: ' + returnHandler.get_successCallbackTiming());\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse if (ss.isValue(returnHandler.get_errorCallback())) {\r\n\t\t\t\tvar remoteError = crossDomainResult.get_result() === 'api.remotefailed';\r\n\t\t\t\tvar errorMessage = (ss.isValue(commandResult) ? commandResult.toString() : '');\r\n\t\t\t\treturnHandler.get_errorCallback()(remoteError, errorMessage);\r\n\t\t\t}\r\n\t\t},\r\n\t\t$handleLegacyNotifications: function CrossDomainMessageRouter$HandleLegacyNotifications(messageName, handler) {\r\n\t\t\tif (messageName === 'layoutInfoReq') {\r\n\t\t\t\t$tab__VizManagerImpl.$sendVisibleRects();\r\n\t\t\t}\r\n\t\t\telse if (messageName === 'tableau.completed' || messageName === 'completed') {\r\n\t\t\t\thandler.handleVizLoad();\r\n\t\t\t}\r\n\t\t\telse if (messageName === 'tableau.listening') {\r\n\t\t\t\thandler.handleVizListening();\r\n\t\t\t}\r\n\t\t},\r\n\t\t$findHostIdByDomComparison: function CrossDomainMessageRouter$FindHostIdByDomComparison(messageEvent) {\r\n\t\t\tvar $t1 = new ss.ObjectEnumerator(this.$handlers);\r\n\t\t\ttry {\r\n\t\t\t\twhile ($t1.moveNext()) {\r\n\t\t\t\t\tvar pair = $t1.current();\r\n\t\t\t\t\tif (this.$handlers.hasOwnProperty(pair.key) && ss.referenceEquals(pair.value.get_iframe().contentWindow, messageEvent.source)) {\r\n\t\t\t\t\t\treturn pair.value;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tfinally {\r\n\t\t\t\t$t1.dispose();\r\n\t\t\t}\r\n\t\t\treturn new $tab_$DoNothingCrossDomainHandler();\r\n\t\t}\r\n\t}, null, [$tab_ICrossDomainMessageRouter]);\r\n\tss.initClass($tab_EventContext, $asm, {\r\n\t\tget__workbookImpl: function EventContext$get_WorkbookImpl() {\r\n\t\t\treturn this.$workbookImpl;\r\n\t\t},\r\n\t\tget__worksheetImpl: function EventContext$get_WorksheetImpl() {\r\n\t\t\treturn this.$worksheetImpl;\r\n\t\t}\r\n\t});\r\n\tss.initClass($tab_$CustomViewEventContext, $asm, {\r\n\t\tget__customViewImpl: function CustomViewEventContext$get_CustomViewImpl() {\r\n\t\t\treturn this.$customViewImpl;\r\n\t\t}\r\n\t}, $tab_EventContext);\r\n\tss.initClass($tab_$DashboardZoneInfo, $asm, {});\r\n\tss.initClass($tab_$DeferredUtil, $asm, {});\r\n\tss.initInterface($tab_ICrossDomainMessageHandler, $asm, { add_customViewsListLoad: null, remove_customViewsListLoad: null, add_stateReadyForQuery: null, remove_stateReadyForQuery: null, get_iframe: null, get_hostId: null, set_hostId: null, handleVizLoad: null, handleVizListening: null, handleEventNotification: null });\r\n\tss.initClass($tab_$DoNothingCrossDomainHandler, $asm, {\r\n\t\tadd_customViewsListLoad: function DoNothingCrossDomainHandler$add_CustomViewsListLoad(value) {\r\n\t\t\tthis.$1$CustomViewsListLoadField = ss.delegateCombine(this.$1$CustomViewsListLoadField, value);\r\n\t\t},\r\n\t\tremove_customViewsListLoad: function DoNothingCrossDomainHandler$remove_CustomViewsListLoad(value) {\r\n\t\t\tthis.$1$CustomViewsListLoadField = ss.delegateRemove(this.$1$CustomViewsListLoadField, value);\r\n\t\t},\r\n\t\tadd_stateReadyForQuery: function DoNothingCrossDomainHandler$add_StateReadyForQuery(value) {\r\n\t\t\tthis.$1$StateReadyForQueryField = ss.delegateCombine(this.$1$StateReadyForQueryField, value);\r\n\t\t},\r\n\t\tremove_stateReadyForQuery: function DoNothingCrossDomainHandler$remove_StateReadyForQuery(value) {\r\n\t\t\tthis.$1$StateReadyForQueryField = ss.delegateRemove(this.$1$StateReadyForQueryField, value);\r\n\t\t},\r\n\t\tget_iframe: function DoNothingCrossDomainHandler$get_Iframe() {\r\n\t\t\treturn null;\r\n\t\t},\r\n\t\tget_hostId: function DoNothingCrossDomainHandler$get_HostId() {\r\n\t\t\treturn this.$hostId;\r\n\t\t},\r\n\t\tset_hostId: function DoNothingCrossDomainHandler$set_HostId(value) {\r\n\t\t\tthis.$hostId = value;\r\n\t\t},\r\n\t\tget_$serverRoot: function DoNothingCrossDomainHandler$get_ServerRoot() {\r\n\t\t\treturn '*';\r\n\t\t},\r\n\t\thandleVizLoad: function DoNothingCrossDomainHandler$HandleVizLoad() {\r\n\t\t},\r\n\t\thandleVizListening: function DoNothingCrossDomainHandler$HandleVizListening() {\r\n\t\t},\r\n\t\thandleEventNotification: function DoNothingCrossDomainHandler$HandleEventNotification(eventName, parameters) {\r\n\t\t},\r\n\t\t$silenceTheCompilerWarning: function DoNothingCrossDomainHandler$SilenceTheCompilerWarning() {\r\n\t\t\tthis.$1$CustomViewsListLoadField(null);\r\n\t\t\tthis.$1$StateReadyForQueryField(null);\r\n\t\t}\r\n\t}, null, [$tab_ICrossDomainMessageHandler]);\r\n\tss.initClass($tab_$FilterEventContext, $asm, {\r\n\t\tget__filterFieldName: function FilterEventContext$get_FilterFieldName() {\r\n\t\t\treturn this.$fieldFieldName;\r\n\t\t},\r\n\t\tget_$filterCaption: function FilterEventContext$get_FilterCaption() {\r\n\t\t\treturn this.$filterCaption;\r\n\t\t}\r\n\t}, $tab_EventContext);\r\n\tss.initClass($tab_$HighlightEventContext, $asm, {}, $tab_EventContext);\r\n\tss.initClass($tab_$MarkImpl, $asm, {\r\n\t\tget_$pairs: function MarkImpl$get_Pairs() {\r\n\t\t\treturn this.$collection;\r\n\t\t},\r\n\t\tget_$tupleId: function MarkImpl$get_TupleId() {\r\n\t\t\treturn this.$tupleId;\r\n\t\t},\r\n\t\tget_$clonedPairs: function MarkImpl$get_ClonedPairs() {\r\n\t\t\tif (ss.isNullOrUndefined(this.$clonedPairs)) {\r\n\t\t\t\tthis.$clonedPairs = this.$collection._toApiCollection();\r\n\t\t\t}\r\n\t\t\treturn this.$clonedPairs;\r\n\t\t},\r\n\t\t$addPair: function MarkImpl$AddPair(pair) {\r\n\t\t\tthis.$collection._add(pair.fieldName, pair);\r\n\t\t}\r\n\t});\r\n\tss.initClass($tab_$MarksEventContext, $asm, {}, $tab_EventContext);\r\n\tss.initClass($tab_$ParameterEventContext, $asm, {\r\n\t\tget__parameterName: function ParameterEventContext$get_ParameterName() {\r\n\t\t\treturn this.$parameterName;\r\n\t\t}\r\n\t}, $tab_EventContext);\r\n\tss.initClass($tab_$ParameterImpl, $asm, {\r\n\t\tget_$parameter: function ParameterImpl$get_Parameter() {\r\n\t\t\tif (ss.isNullOrUndefined(this.$parameter)) {\r\n\t\t\t\tthis.$parameter = new $tableauSoftware_Parameter(this);\r\n\t\t\t}\r\n\t\t\treturn this.$parameter;\r\n\t\t},\r\n\t\tget_$name: function ParameterImpl$get_Name() {\r\n\t\t\treturn this.$name;\r\n\t\t},\r\n\t\tget_$currentValue: function ParameterImpl$get_CurrentValue() {\r\n\t\t\treturn this.$currentValue;\r\n\t\t},\r\n\t\tget_$dataType: function ParameterImpl$get_DataType() {\r\n\t\t\treturn this.$dataType;\r\n\t\t},\r\n\t\tget_$allowableValuesType: function ParameterImpl$get_AllowableValuesType() {\r\n\t\t\treturn this.$allowableValuesType;\r\n\t\t},\r\n\t\tget_$allowableValues: function ParameterImpl$get_AllowableValues() {\r\n\t\t\treturn this.$allowableValues;\r\n\t\t},\r\n\t\tget_$minValue: function ParameterImpl$get_MinValue() {\r\n\t\t\treturn this.$minValue;\r\n\t\t},\r\n\t\tget_$maxValue: function ParameterImpl$get_MaxValue() {\r\n\t\t\treturn this.$maxValue;\r\n\t\t},\r\n\t\tget_$stepSize: function ParameterImpl$get_StepSize() {\r\n\t\t\treturn this.$stepSize;\r\n\t\t},\r\n\t\tget_$dateStepPeriod: function ParameterImpl$get_DateStepPeriod() {\r\n\t\t\treturn this.$dateStepPeriod;\r\n\t\t}\r\n\t});\r\n\tss.initClass($tab_$PublicEnums, $asm, {});\r\n\tss.initClass($tab__ApiBootstrap, $asm, {});\r\n\tss.initClass($tab__ApiCommand, $asm, {\r\n\t\tget_name: function() {\r\n\t\t\treturn this.$1$NameField;\r\n\t\t},\r\n\t\tset_name: function(value) {\r\n\t\t\tthis.$1$NameField = value;\r\n\t\t},\r\n\t\tget_hostId: function() {\r\n\t\t\treturn this.$1$HostIdField;\r\n\t\t},\r\n\t\tset_hostId: function(value) {\r\n\t\t\tthis.$1$HostIdField = value;\r\n\t\t},\r\n\t\tget_commandId: function() {\r\n\t\t\treturn this.$1$CommandIdField;\r\n\t\t},\r\n\t\tset_commandId: function(value) {\r\n\t\t\tthis.$1$CommandIdField = value;\r\n\t\t},\r\n\t\tget_parameters: function() {\r\n\t\t\treturn this.$1$ParametersField;\r\n\t\t},\r\n\t\tset_parameters: function(value) {\r\n\t\t\tthis.$1$ParametersField = value;\r\n\t\t},\r\n\t\tget_isApiCommandName: function ApiCommand$get_IsApiCommandName() {\r\n\t\t\treturn this.get_rawName().indexOf('api.', 0) === 0;\r\n\t\t},\r\n\t\tget_rawName: function ApiCommand$get_RawName() {\r\n\t\t\treturn this.get_name().toString();\r\n\t\t},\r\n\t\tserialize: function ApiCommand$Serialize() {\r\n\t\t\tvar message = [];\r\n\t\t\tmessage.push(this.get_name());\r\n\t\t\tmessage.push(this.get_commandId());\r\n\t\t\tmessage.push(this.get_hostId());\r\n\t\t\tif (ss.isValue(this.get_parameters())) {\r\n\t\t\t\tmessage.push(this.get_parameters());\r\n\t\t\t}\r\n\t\t\tvar serializedMessage = message.join(',');\r\n\t\t\t$tab__ApiCommand.lastRequestMessage = serializedMessage;\r\n\t\t\treturn serializedMessage;\r\n\t\t}\r\n\t});\r\n\tss.initClass($tab__ApiObjectRegistry, $asm, {});\r\n\tss.initClass($tab__ApiServerNotification, $asm, {\r\n\t\tget_workbookName: function ApiServerNotification$get_WorkbookName() {\r\n\t\t\treturn this.$workbookName;\r\n\t\t},\r\n\t\tget_worksheetName: function ApiServerNotification$get_WorksheetName() {\r\n\t\t\treturn this.$worksheetName;\r\n\t\t},\r\n\t\tget_data: function ApiServerNotification$get_Data() {\r\n\t\t\treturn this.$data;\r\n\t\t},\r\n\t\tserialize: function ApiServerNotification$Serialize() {\r\n\t\t\tvar serialized = {};\r\n\t\t\tserialized['api.workbookName'] = this.$workbookName;\r\n\t\t\tserialized['api.worksheetName'] = this.$worksheetName;\r\n\t\t\tserialized['api.commandData'] = this.$data;\r\n\t\t\treturn JSON.stringify(serialized);\r\n\t\t}\r\n\t});\r\n\tss.initClass($tab__ApiServerResultParser, $asm, {\r\n\t\tget_result: function ApiServerResultParser$get_Result() {\r\n\t\t\treturn this.$commandResult;\r\n\t\t},\r\n\t\tget_data: function ApiServerResultParser$get_Data() {\r\n\t\t\treturn this.$commandData;\r\n\t\t}\r\n\t});\r\n\tss.initClass($tab__CollectionImpl, $asm, {\r\n\t\tget__length: function DoNotUseCollection$get_Length() {\r\n\t\t\treturn this.$items.length;\r\n\t\t},\r\n\t\tget__rawArray: function DoNotUseCollection$get_RawArray() {\r\n\t\t\treturn this.$items;\r\n\t\t},\r\n\t\tget_item: function DoNotUseCollection$get_Item(index) {\r\n\t\t\treturn this.$items[index];\r\n\t\t},\r\n\t\t_get: function DoNotUseCollection$Get(key) {\r\n\t\t\tvar validKey = this.$ensureValidKey(key);\r\n\t\t\tif (ss.isValue(this.$itemMap[validKey])) {\r\n\t\t\t\treturn this.$itemMap[validKey];\r\n\t\t\t}\r\n\t\t\treturn undefined;\r\n\t\t},\r\n\t\t_has: function DoNotUseCollection$Has(key) {\r\n\t\t\treturn ss.isValue(this._get(key));\r\n\t\t},\r\n\t\t_add: function DoNotUseCollection$Add(key, item) {\r\n\t\t\tthis.$verifyKeyAndItemParameters(key, item);\r\n\t\t\tvar validKey = this.$ensureValidKey(key);\r\n\t\t\tthis.$items.push(item);\r\n\t\t\tthis.$itemMap[validKey] = item;\r\n\t\t},\r\n\t\t_addToFirst: function DoNotUseCollection$AddToFirst(key, item) {\r\n\t\t\tthis.$verifyKeyAndItemParameters(key, item);\r\n\t\t\tvar validKey = this.$ensureValidKey(key);\r\n\t\t\tthis.$items.unshift(item);\r\n\t\t\tthis.$itemMap[validKey] = item;\r\n\t\t},\r\n\t\t_remove: function DoNotUseCollection$Remove(key) {\r\n\t\t\tvar validKey = this.$ensureValidKey(key);\r\n\t\t\tif (ss.isValue(this.$itemMap[validKey])) {\r\n\t\t\t\tvar item = this.$itemMap[validKey];\r\n\t\t\t\tdelete this.$itemMap[validKey];\r\n\t\t\t\tfor (var index = 0; index < this.$items.length; index++) {\r\n\t\t\t\t\tif (ss.referenceEquals(this.$items[index], item)) {\r\n\t\t\t\t\t\tthis.$items.splice(index, 1);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\t_toApiCollection: function DoNotUseCollection$ToApiCollection() {\r\n\t\t\tvar clone = this.$items.concat();\r\n\t\t\tclone.get = ss.mkdel(this, function(key) {\r\n\t\t\t\treturn this._get(key);\r\n\t\t\t});\r\n\t\t\tclone.has = ss.mkdel(this, function(key1) {\r\n\t\t\t\treturn this._has(key1);\r\n\t\t\t});\r\n\t\t\treturn clone;\r\n\t\t},\r\n\t\t$verifyUniqueKeyParameter: function DoNotUseCollection$VerifyUniqueKeyParameter(key) {\r\n\t\t\tif ($tab__Utility.isNullOrEmpty(key)) {\r\n\t\t\t\tthrow new ss.Exception('Null key');\r\n\t\t\t}\r\n\t\t\tif (this._has(key)) {\r\n\t\t\t\tthrow new ss.Exception(\"Duplicate key '\" + key + \"'\");\r\n\t\t\t}\r\n\t\t},\r\n\t\t$verifyKeyAndItemParameters: function DoNotUseCollection$VerifyKeyAndItemParameters(key, item) {\r\n\t\t\tthis.$verifyUniqueKeyParameter(key);\r\n\t\t\tif (ss.isNullOrUndefined(item)) {\r\n\t\t\t\tthrow new ss.Exception('Null item');\r\n\t\t\t}\r\n\t\t},\r\n\t\t$ensureValidKey: function DoNotUseCollection$EnsureValidKey(key) {\r\n\t\t\treturn '_' + key;\r\n\t\t}\r\n\t});\r\n\tss.initClass($tab__ColumnImpl, $asm, {\r\n\t\tget_fieldName: function ColumnImpl$get_FieldName() {\r\n\t\t\treturn this.$fieldName;\r\n\t\t},\r\n\t\tget_dataType: function ColumnImpl$get_DataType() {\r\n\t\t\treturn this.$dataType;\r\n\t\t},\r\n\t\tget_isReferenced: function ColumnImpl$get_IsReferenced() {\r\n\t\t\treturn this.$isReferenced;\r\n\t\t},\r\n\t\tget_index: function ColumnImpl$get_Index() {\r\n\t\t\treturn this.$index;\r\n\t\t}\r\n\t});\r\n\tss.initClass($tab__CustomViewImpl, $asm, {\r\n\t\tget_$customView: function CustomViewImpl$get_CustomView() {\r\n\t\t\tif (ss.isNullOrUndefined(this.$customView)) {\r\n\t\t\t\tthis.$customView = new $tableauSoftware_CustomView(this);\r\n\t\t\t}\r\n\t\t\treturn this.$customView;\r\n\t\t},\r\n\t\tget_$workbook: function CustomViewImpl$get_Workbook() {\r\n\t\t\treturn this.$workbookImpl.get_workbook();\r\n\t\t},\r\n\t\tget_$url: function CustomViewImpl$get_Url() {\r\n\t\t\treturn this.$url;\r\n\t\t},\r\n\t\tget_$name: function CustomViewImpl$get_Name() {\r\n\t\t\treturn this.$name;\r\n\t\t},\r\n\t\tset_$name: function CustomViewImpl$set_Name(value) {\r\n\t\t\tif (this.$isStale) {\r\n\t\t\t\tthrow $tab__TableauException.create('staleDataReference', 'Stale data');\r\n\t\t\t}\r\n\t\t\tthis.$name = value;\r\n\t\t},\r\n\t\tget_$ownerName: function CustomViewImpl$get_OwnerName() {\r\n\t\t\treturn this.$ownerName;\r\n\t\t},\r\n\t\tget_$advertised: function CustomViewImpl$get_Advertised() {\r\n\t\t\treturn this.$isPublic;\r\n\t\t},\r\n\t\tset_$advertised: function CustomViewImpl$set_Advertised(value) {\r\n\t\t\tif (this.$isStale) {\r\n\t\t\t\tthrow $tab__TableauException.create('staleDataReference', 'Stale data');\r\n\t\t\t}\r\n\t\t\tthis.$isPublic = value;\r\n\t\t},\r\n\t\tget_$isDefault: function CustomViewImpl$get_IsDefault() {\r\n\t\t\treturn this.$isDefault;\r\n\t\t},\r\n\t\t$saveAsync: function CustomViewImpl$SaveAsync() {\r\n\t\t\tif (this.$isStale || ss.isNullOrUndefined(this.$presModel)) {\r\n\t\t\t\tthrow $tab__TableauException.create('staleDataReference', 'Stale data');\r\n\t\t\t}\r\n\t\t\tthis.$presModel.isPublic = this.$isPublic;\r\n\t\t\tthis.$presModel.name = this.$name;\r\n\t\t\tvar deferred = new tab._Deferred();\r\n\t\t\tvar param = {};\r\n\t\t\tparam['api.customViewParam'] = this.$presModel;\r\n\t\t\tvar returnHandler = $tab__CustomViewImpl.$createCustomViewCommandReturnHandler('api.UpdateCustomViewCommand', deferred, ss.mkdel(this, function(result) {\r\n\t\t\t\t$tab__CustomViewImpl._processCustomViewUpdate(this.$workbookImpl, this.$messagingOptions, result, true);\r\n\t\t\t\tdeferred.resolve(this.get_$customView());\r\n\t\t\t}));\r\n\t\t\tthis.$messagingOptions.sendCommand(Object).call(this.$messagingOptions, param, returnHandler);\r\n\t\t\treturn deferred.get_promise();\r\n\t\t},\r\n\t\t$removeAsync: function CustomViewImpl$RemoveAsync() {\r\n\t\t\tvar deferred = new tab._Deferred();\r\n\t\t\tvar param = {};\r\n\t\t\tparam['api.customViewParam'] = this.$presModel;\r\n\t\t\tvar returnHandler = $tab__CustomViewImpl.$createCustomViewCommandReturnHandler('api.RemoveCustomViewCommand', deferred, ss.mkdel(this, function(result) {\r\n\t\t\t\tthis.$isStale = true;\r\n\t\t\t\t$tab__CustomViewImpl._processCustomViews(this.$workbookImpl, this.$messagingOptions, result);\r\n\t\t\t\tdeferred.resolve(this.get_$customView());\r\n\t\t\t}));\r\n\t\t\tthis.$messagingOptions.sendCommand(Object).call(this.$messagingOptions, param, returnHandler);\r\n\t\t\treturn deferred.get_promise();\r\n\t\t},\r\n\t\t_showAsync: function CustomViewImpl$ShowAsync() {\r\n\t\t\tif (this.$isStale || ss.isNullOrUndefined(this.$presModel)) {\r\n\t\t\t\tthrow $tab__TableauException.create('staleDataReference', 'Stale data');\r\n\t\t\t}\r\n\t\t\treturn $tab__CustomViewImpl._showCustomViewAsync(this.$workbookImpl, this.$messagingOptions, this.$presModel);\r\n\t\t},\r\n\t\t$isDifferent: function CustomViewImpl$IsDifferent(other) {\r\n\t\t\treturn !ss.referenceEquals(this.$ownerName, other.$ownerName) || !ss.referenceEquals(this.$url, other.$url) || this.$isPublic !== other.$isPublic || this.$isDefault !== other.$isDefault;\r\n\t\t}\r\n\t});\r\n\tss.initClass($tab__SheetImpl, $asm, {\r\n\t\tget_sheet: null,\r\n\t\tget_name: function SheetImpl$get_Name() {\r\n\t\t\treturn this.$name;\r\n\t\t},\r\n\t\tget_index: function SheetImpl$get_Index() {\r\n\t\t\treturn this.$index;\r\n\t\t},\r\n\t\tget_workbookImpl: function SheetImpl$get_WorkbookImpl() {\r\n\t\t\treturn this.$workbookImpl;\r\n\t\t},\r\n\t\tget_workbook: function SheetImpl$get_Workbook() {\r\n\t\t\treturn this.$workbookImpl.get_workbook();\r\n\t\t},\r\n\t\tget_url: function SheetImpl$get_Url() {\r\n\t\t\tif (this.$isHidden) {\r\n\t\t\t\tthrow $tab__TableauException.createNoUrlForHiddenWorksheet();\r\n\t\t\t}\r\n\t\t\treturn this.$url;\r\n\t\t},\r\n\t\tget_size: function SheetImpl$get_Size() {\r\n\t\t\treturn this.$size;\r\n\t\t},\r\n\t\tget_isHidden: function SheetImpl$get_IsHidden() {\r\n\t\t\treturn this.$isHidden;\r\n\t\t},\r\n\t\tget_isActive: function SheetImpl$get_IsActive() {\r\n\t\t\treturn this.$isActive;\r\n\t\t},\r\n\t\tset_isActive: function SheetImpl$set_IsActive(value) {\r\n\t\t\tthis.$isActive = value;\r\n\t\t},\r\n\t\tget_isDashboard: function SheetImpl$get_IsDashboard() {\r\n\t\t\treturn this.$sheetType === 'dashboard';\r\n\t\t},\r\n\t\tget_isStory: function SheetImpl$get_IsStory() {\r\n\t\t\treturn this.$sheetType === 'story';\r\n\t\t},\r\n\t\tget_sheetType: function SheetImpl$get_SheetType() {\r\n\t\t\treturn this.$sheetType;\r\n\t\t},\r\n\t\tget_parentStoryPoint: function SheetImpl$get_ParentStoryPoint() {\r\n\t\t\tif (ss.isValue(this.$parentStoryPointImpl)) {\r\n\t\t\t\treturn this.$parentStoryPointImpl.get_storyPoint();\r\n\t\t\t}\r\n\t\t\treturn null;\r\n\t\t},\r\n\t\tget_parentStoryPointImpl: function SheetImpl$get_ParentStoryPointImpl() {\r\n\t\t\treturn this.$parentStoryPointImpl;\r\n\t\t},\r\n\t\tset_parentStoryPointImpl: function SheetImpl$set_ParentStoryPointImpl(value) {\r\n\t\t\tif (this.$sheetType === 'story') {\r\n\t\t\t\tthrow $tab__TableauException.createInternalError('A story cannot be a child of another story.');\r\n\t\t\t}\r\n\t\t\tthis.$parentStoryPointImpl = value;\r\n\t\t},\r\n\t\tget_zoneId: function SheetImpl$get_ZoneId() {\r\n\t\t\treturn this.$zoneId;\r\n\t\t},\r\n\t\tget_messagingOptions: function SheetImpl$get_MessagingOptions() {\r\n\t\t\treturn this.$messagingOptions;\r\n\t\t},\r\n\t\tchangeSizeAsync: function SheetImpl$ChangeSizeAsync(newSize) {\r\n\t\t\tnewSize = $tab__SheetImpl.$normalizeSheetSize(newSize);\r\n\t\t\tif (this.$sheetType === 'worksheet' && newSize.behavior !== 'automatic') {\r\n\t\t\t\tthrow $tab__TableauException.createInvalidSizeBehaviorOnWorksheet();\r\n\t\t\t}\r\n\t\t\tvar deferred = new tab._Deferred();\r\n\t\t\tif (this.$size.behavior === newSize.behavior && newSize.behavior === 'automatic') {\r\n\t\t\t\tdeferred.resolve(newSize);\r\n\t\t\t\treturn deferred.get_promise();\r\n\t\t\t}\r\n\t\t\tvar dict = this.$processSheetSize(newSize);\r\n\t\t\tvar param = {};\r\n\t\t\tparam['api.setSheetSizeName'] = this.$name;\r\n\t\t\tparam['api.minWidth'] = dict['api.minWidth'];\r\n\t\t\tparam['api.minHeight'] = dict['api.minHeight'];\r\n\t\t\tparam['api.maxWidth'] = dict['api.maxWidth'];\r\n\t\t\tparam['api.maxHeight'] = dict['api.maxHeight'];\r\n\t\t\tvar returnHandler = new (ss.makeGenericType($tab_CommandReturnHandler$1, [Object]))('api.SetSheetSizeCommand', 1, ss.mkdel(this, function(result) {\r\n\t\t\t\tthis.get_workbookImpl()._update(ss.mkdel(this, function() {\r\n\t\t\t\t\tvar updatedSize = this.get_workbookImpl().get_publishedSheets()._get(this.get_name()).getSize();\r\n\t\t\t\t\tdeferred.resolve(updatedSize);\r\n\t\t\t\t}));\r\n\t\t\t}), function(remoteError, message) {\r\n\t\t\t\tdeferred.reject($tab__TableauException.createServerError(message));\r\n\t\t\t});\r\n\t\t\tthis.sendCommand(Object).call(this, param, returnHandler);\r\n\t\t\treturn deferred.get_promise();\r\n\t\t},\r\n\t\tsendCommand: function(T) {\r\n\t\t\treturn function SheetImpl$SendCommand(commandParameters, returnHandler) {\r\n\t\t\t\tthis.$messagingOptions.sendCommand(T).call(this.$messagingOptions, commandParameters, returnHandler);\r\n\t\t\t};\r\n\t\t},\r\n\t\t$processSheetSize: function SheetImpl$ProcessSheetSize(newSize) {\r\n\t\t\tvar fixedSheetSize = null;\r\n\t\t\tif (ss.isNullOrUndefined(newSize) || ss.isNullOrUndefined(newSize.behavior) || newSize.behavior !== 'automatic' && ss.isNullOrUndefined(newSize.minSize) && ss.isNullOrUndefined(newSize.maxSize)) {\r\n\t\t\t\tthrow $tab__TableauException.createInvalidSheetSizeParam();\r\n\t\t\t}\r\n\t\t\tvar minWidth = 0;\r\n\t\t\tvar minHeight = 0;\r\n\t\t\tvar maxWidth = 0;\r\n\t\t\tvar maxHeight = 0;\r\n\t\t\tvar dict = {};\r\n\t\t\tdict['api.minWidth'] = 0;\r\n\t\t\tdict['api.minHeight'] = 0;\r\n\t\t\tdict['api.maxWidth'] = 0;\r\n\t\t\tdict['api.maxHeight'] = 0;\r\n\t\t\tif (newSize.behavior === 'automatic') {\r\n\t\t\t\tfixedSheetSize = $tab_SheetSize.$ctor('automatic', undefined, undefined);\r\n\t\t\t}\r\n\t\t\telse if (newSize.behavior === 'atmost') {\r\n\t\t\t\tif (ss.isNullOrUndefined(newSize.maxSize) || ss.isNullOrUndefined(newSize.maxSize.width) || ss.isNullOrUndefined(newSize.maxSize.height)) {\r\n\t\t\t\t\tthrow $tab__TableauException.createMissingMaxSize();\r\n\t\t\t\t}\r\n\t\t\t\tif (newSize.maxSize.width < 0 || newSize.maxSize.height < 0) {\r\n\t\t\t\t\tthrow $tab__TableauException.createInvalidSizeValue();\r\n\t\t\t\t}\r\n\t\t\t\tdict['api.maxWidth'] = newSize.maxSize.width;\r\n\t\t\t\tdict['api.maxHeight'] = newSize.maxSize.height;\r\n\t\t\t\tfixedSheetSize = $tab_SheetSize.$ctor('atmost', undefined, newSize.maxSize);\r\n\t\t\t}\r\n\t\t\telse if (newSize.behavior === 'atleast') {\r\n\t\t\t\tif (ss.isNullOrUndefined(newSize.minSize) || ss.isNullOrUndefined(newSize.minSize.width) || ss.isNullOrUndefined(newSize.minSize.height)) {\r\n\t\t\t\t\tthrow $tab__TableauException.createMissingMinSize();\r\n\t\t\t\t}\r\n\t\t\t\tif (newSize.minSize.width < 0 || newSize.minSize.height < 0) {\r\n\t\t\t\t\tthrow $tab__TableauException.createInvalidSizeValue();\r\n\t\t\t\t}\r\n\t\t\t\tdict['api.minWidth'] = newSize.minSize.width;\r\n\t\t\t\tdict['api.minHeight'] = newSize.minSize.height;\r\n\t\t\t\tfixedSheetSize = $tab_SheetSize.$ctor('atleast', newSize.minSize, undefined);\r\n\t\t\t}\r\n\t\t\telse if (newSize.behavior === 'range') {\r\n\t\t\t\tif (ss.isNullOrUndefined(newSize.minSize) || ss.isNullOrUndefined(newSize.maxSize) || ss.isNullOrUndefined(newSize.minSize.width) || ss.isNullOrUndefined(newSize.maxSize.width) || ss.isNullOrUndefined(newSize.minSize.height) || ss.isNullOrUndefined(newSize.maxSize.height)) {\r\n\t\t\t\t\tthrow $tab__TableauException.createMissingMinMaxSize();\r\n\t\t\t\t}\r\n\t\t\t\tif (newSize.minSize.width < 0 || newSize.minSize.height < 0 || newSize.maxSize.width < 0 || newSize.maxSize.height < 0 || newSize.minSize.width > newSize.maxSize.width || newSize.minSize.height > newSize.maxSize.height) {\r\n\t\t\t\t\tthrow $tab__TableauException.createInvalidRangeSize();\r\n\t\t\t\t}\r\n\t\t\t\tdict['api.minWidth'] = newSize.minSize.width;\r\n\t\t\t\tdict['api.minHeight'] = newSize.minSize.height;\r\n\t\t\t\tdict['api.maxWidth'] = newSize.maxSize.width;\r\n\t\t\t\tdict['api.maxHeight'] = newSize.maxSize.height;\r\n\t\t\t\tfixedSheetSize = $tab_SheetSize.$ctor('range', newSize.minSize, newSize.maxSize);\r\n\t\t\t}\r\n\t\t\telse if (newSize.behavior === 'exactly') {\r\n\t\t\t\tif (ss.isValue(newSize.minSize) && ss.isValue(newSize.maxSize) && ss.isValue(newSize.minSize.width) && ss.isValue(newSize.maxSize.width) && ss.isValue(newSize.minSize.height) && ss.isValue(newSize.maxSize.height)) {\r\n\t\t\t\t\tminWidth = newSize.minSize.width;\r\n\t\t\t\t\tminHeight = newSize.minSize.height;\r\n\t\t\t\t\tmaxWidth = newSize.maxSize.width;\r\n\t\t\t\t\tmaxHeight = newSize.maxSize.height;\r\n\t\t\t\t\tif (minWidth !== maxWidth || minHeight !== maxHeight) {\r\n\t\t\t\t\t\tthrow $tab__TableauException.createSizeConflictForExactly();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\telse if (ss.isValue(newSize.minSize) && ss.isValue(newSize.minSize.width) && ss.isValue(newSize.minSize.height)) {\r\n\t\t\t\t\tminWidth = newSize.minSize.width;\r\n\t\t\t\t\tminHeight = newSize.minSize.height;\r\n\t\t\t\t\tmaxWidth = minWidth;\r\n\t\t\t\t\tmaxHeight = minHeight;\r\n\t\t\t\t}\r\n\t\t\t\telse if (ss.isValue(newSize.maxSize) && ss.isValue(newSize.maxSize.width) && ss.isValue(newSize.maxSize.height)) {\r\n\t\t\t\t\tmaxWidth = newSize.maxSize.width;\r\n\t\t\t\t\tmaxHeight = newSize.maxSize.height;\r\n\t\t\t\t\tminWidth = maxWidth;\r\n\t\t\t\t\tminHeight = maxHeight;\r\n\t\t\t\t}\r\n\t\t\t\tdict['api.minWidth'] = minWidth;\r\n\t\t\t\tdict['api.minHeight'] = minHeight;\r\n\t\t\t\tdict['api.maxWidth'] = maxWidth;\r\n\t\t\t\tdict['api.maxHeight'] = maxHeight;\r\n\t\t\t\tfixedSheetSize = $tab_SheetSize.$ctor('exactly', $tab_Size.$ctor(minWidth, minHeight), $tab_Size.$ctor(maxWidth, maxHeight));\r\n\t\t\t}\r\n\t\t\tthis.$size = fixedSheetSize;\r\n\t\t\treturn dict;\r\n\t\t}\r\n\t});\r\n\tss.initClass($tab__DashboardImpl, $asm, {\r\n\t\tget_sheet: function DashboardImpl$get_Sheet() {\r\n\t\t\treturn this.get_dashboard();\r\n\t\t},\r\n\t\tget_dashboard: function DashboardImpl$get_Dashboard() {\r\n\t\t\tif (ss.isNullOrUndefined(this.$dashboard)) {\r\n\t\t\t\tthis.$dashboard = new $tableauSoftware_Dashboard(this);\r\n\t\t\t}\r\n\t\t\treturn this.$dashboard;\r\n\t\t},\r\n\t\tget_worksheets: function DashboardImpl$get_Worksheets() {\r\n\t\t\treturn this.$worksheets;\r\n\t\t},\r\n\t\tget_objects: function DashboardImpl$get_Objects() {\r\n\t\t\treturn this.$dashboardObjects;\r\n\t\t},\r\n\t\t$addObjects: function DashboardImpl$AddObjects(zones, findSheetFunc) {\r\n\t\t\tthis.$dashboardObjects = new tab._Collection();\r\n\t\t\tthis.$worksheets = new tab._Collection();\r\n\t\t\tfor (var i = 0; i < zones.length; i++) {\r\n\t\t\t\tvar zone = zones[i];\r\n\t\t\t\tvar worksheet = null;\r\n\t\t\t\tif (zones[i].objectType === 'worksheet') {\r\n\t\t\t\t\tvar name = zone.name;\r\n\t\t\t\t\tif (ss.isNullOrUndefined(name)) {\r\n\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvar index = this.$worksheets.get__length();\r\n\t\t\t\t\tvar size = $tab_SheetSizeFactory.createAutomatic();\r\n\t\t\t\t\tvar isActive = false;\r\n\t\t\t\t\tvar publishedSheetInfo = findSheetFunc(name);\r\n\t\t\t\t\tvar isHidden = ss.isNullOrUndefined(publishedSheetInfo);\r\n\t\t\t\t\tvar url = (isHidden ? '' : publishedSheetInfo.getUrl());\r\n\t\t\t\t\tvar sheetInfoImpl = $tab__SheetInfoImpl.$ctor(name, 'worksheet', index, size, this.get_workbook(), url, isActive, isHidden, zone.zoneId);\r\n\t\t\t\t\tvar worksheetImpl = new $tab__WorksheetImpl(sheetInfoImpl, this.get_workbookImpl(), this.get_messagingOptions(), this);\r\n\t\t\t\t\tworksheet = worksheetImpl.get_worksheet();\r\n\t\t\t\t\tthis.$worksheets._add(name, worksheetImpl.get_worksheet());\r\n\t\t\t\t}\r\n\t\t\t\tvar obj = new $tableauSoftware_DashboardObject(zone, this.get_dashboard(), worksheet);\r\n\t\t\t\tthis.$dashboardObjects._add(i.toString(), obj);\r\n\t\t\t}\r\n\t\t}\r\n\t}, $tab__SheetImpl);\r\n\tss.initClass($tab__DataSourceImpl, $asm, {\r\n\t\tget_dataSource: function DataSourceImpl$get_DataSource() {\r\n\t\t\tif (ss.isNullOrUndefined(this.$dataSource)) {\r\n\t\t\t\tthis.$dataSource = new $tableauSoftware_DataSource(this);\r\n\t\t\t}\r\n\t\t\treturn this.$dataSource;\r\n\t\t},\r\n\t\tget_name: function DataSourceImpl$get_Name() {\r\n\t\t\treturn this.$name;\r\n\t\t},\r\n\t\tget_fields: function DataSourceImpl$get_Fields() {\r\n\t\t\treturn this.$fields;\r\n\t\t},\r\n\t\tget_isPrimary: function DataSourceImpl$get_IsPrimary() {\r\n\t\t\treturn this.$isPrimary;\r\n\t\t},\r\n\t\taddField: function DataSourceImpl$AddField(field) {\r\n\t\t\tthis.$fields._add(field.getName(), field);\r\n\t\t}\r\n\t});\r\n\tss.initClass($tab__DataTableImpl, $asm, {\r\n\t\tget_name: function DataTableImpl$get_Name() {\r\n\t\t\treturn this.$name;\r\n\t\t},\r\n\t\tget_rows: function DataTableImpl$get_Rows() {\r\n\t\t\treturn this.$rows;\r\n\t\t},\r\n\t\tget_columns: function DataTableImpl$get_Columns() {\r\n\t\t\treturn this.$columns;\r\n\t\t},\r\n\t\tget_totalRowCount: function DataTableImpl$get_TotalRowCount() {\r\n\t\t\treturn this.$totalRowCount;\r\n\t\t},\r\n\t\tget_isSummaryData: function DataTableImpl$get_IsSummaryData() {\r\n\t\t\treturn this.$isSummaryData;\r\n\t\t}\r\n\t});\r\n\tss.initClass($tab__DeferredImpl, $asm, {\r\n\t\tget_promise: function DoNotUseDeferred$get_Promise() {\r\n\t\t\treturn this.$promise;\r\n\t\t},\r\n\t\tall: function DoNotUseDeferred$All(promisesOrValues) {\r\n\t\t\tvar allDone = new $tab__DeferredImpl();\r\n\t\t\tvar length = promisesOrValues.length;\r\n\t\t\tvar toResolve = length;\r\n\t\t\tvar results = [];\r\n\t\t\tif (length === 0) {\r\n\t\t\t\tallDone.resolve(results);\r\n\t\t\t\treturn allDone.get_promise();\r\n\t\t\t}\r\n\t\t\tvar resolveOne = function(promiseOrValue, index) {\r\n\t\t\t\tvar promise = $tab_$DeferredUtil.$coerceToTrustedPromise(promiseOrValue);\r\n\t\t\t\tpromise.then(function(returnValue) {\r\n\t\t\t\t\tresults[index] = returnValue;\r\n\t\t\t\t\ttoResolve--;\r\n\t\t\t\t\tif (toResolve === 0) {\r\n\t\t\t\t\t\tallDone.resolve(results);\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn null;\r\n\t\t\t\t}, function(e) {\r\n\t\t\t\t\tallDone.reject(e);\r\n\t\t\t\t\treturn null;\r\n\t\t\t\t});\r\n\t\t\t};\r\n\t\t\tfor (var i = 0; i < length; i++) {\r\n\t\t\t\tresolveOne(promisesOrValues[i], i);\r\n\t\t\t}\r\n\t\t\treturn allDone.get_promise();\r\n\t\t},\r\n\t\tthen: function DoNotUseDeferred$Then(callback, errback) {\r\n\t\t\treturn this.$thenFunc(callback, errback);\r\n\t\t},\r\n\t\tresolve: function DoNotUseDeferred$Resolve(promiseOrValue) {\r\n\t\t\treturn this.$resolveFunc(promiseOrValue);\r\n\t\t},\r\n\t\treject: function DoNotUseDeferred$Reject(e) {\r\n\t\t\treturn this.$resolveFunc($tab_$DeferredUtil.$rejected(e));\r\n\t\t},\r\n\t\t$preResolutionThen: function DoNotUseDeferred$PreResolutionThen(callback, errback) {\r\n\t\t\tvar deferred = new $tab__DeferredImpl();\r\n\t\t\tthis.$listeners.push(function(promise) {\r\n\t\t\t\tpromise.then(callback, errback).then(ss.mkdel(deferred, deferred.resolve), ss.mkdel(deferred, deferred.reject));\r\n\t\t\t});\r\n\t\t\treturn deferred.get_promise();\r\n\t\t},\r\n\t\t$transitionToFulfilled: function DoNotUseDeferred$TransitionToFulfilled(completed) {\r\n\t\t\tvar completedPromise = $tab_$DeferredUtil.$coerceToTrustedPromise(completed);\r\n\t\t\tthis.$thenFunc = completedPromise.then;\r\n\t\t\tthis.$resolveFunc = $tab_$DeferredUtil.$coerceToTrustedPromise;\r\n\t\t\tfor (var i = 0; i < this.$listeners.length; i++) {\r\n\t\t\t\tvar listener = this.$listeners[i];\r\n\t\t\t\tlistener(completedPromise);\r\n\t\t\t}\r\n\t\t\tthis.$listeners = null;\r\n\t\t\treturn completedPromise;\r\n\t\t}\r\n\t});\r\n\tss.initClass($tab__jQueryShim, $asm, {});\r\n\tss.initClass($tab__Param, $asm, {});\r\n\tss.initClass($tab__PromiseImpl, $asm, {\r\n\t\talways: function DoNotUsePromise$Always(callback) {\r\n\t\t\treturn ss.cast(this.then(callback, ss.cast(callback, Function)), $tab__PromiseImpl);\r\n\t\t},\r\n\t\totherwise: function DoNotUsePromise$Otherwise(errback) {\r\n\t\t\treturn ss.cast(this.then(null, errback), $tab__PromiseImpl);\r\n\t\t}\r\n\t});\r\n\tss.initClass($tab__Rect, $asm, {\r\n\t\tintersect: function TabRect$Intersect(other) {\r\n\t\t\tvar left = Math.max(this.left, other.left);\r\n\t\t\tvar top = Math.max(this.top, other.top);\r\n\t\t\tvar right = Math.min(this.left + this.width, other.left + other.width);\r\n\t\t\tvar bottom = Math.min(this.top + this.height, other.top + other.height);\r\n\t\t\tif (right <= left || bottom <= top) {\r\n\t\t\t\treturn new $tab__Rect(0, 0, 0, 0);\r\n\t\t\t}\r\n\t\t\treturn new $tab__Rect(left, top, right - left, bottom - top);\r\n\t\t}\r\n\t});\r\n\tss.initClass($tab__SheetInfoImpl, $asm, {}, Object);\r\n\tss.initClass($tab__StoryImpl, $asm, {\r\n\t\tadd_activeStoryPointChange: function StoryImpl$add_ActiveStoryPointChange(value) {\r\n\t\t\tthis.$2$ActiveStoryPointChangeField = ss.delegateCombine(this.$2$ActiveStoryPointChangeField, value);\r\n\t\t},\r\n\t\tremove_activeStoryPointChange: function StoryImpl$remove_ActiveStoryPointChange(value) {\r\n\t\t\tthis.$2$ActiveStoryPointChangeField = ss.delegateRemove(this.$2$ActiveStoryPointChangeField, value);\r\n\t\t},\r\n\t\tget_activeStoryPointImpl: function StoryImpl$get_ActiveStoryPointImpl() {\r\n\t\t\treturn this.$activeStoryPointImpl;\r\n\t\t},\r\n\t\tget_sheet: function StoryImpl$get_Sheet() {\r\n\t\t\treturn this.get_story();\r\n\t\t},\r\n\t\tget_story: function StoryImpl$get_Story() {\r\n\t\t\tif (ss.isNullOrUndefined(this.$story)) {\r\n\t\t\t\tthis.$story = new $tableauSoftware_Story(this);\r\n\t\t\t}\r\n\t\t\treturn this.$story;\r\n\t\t},\r\n\t\tget_storyPointsInfo: function StoryImpl$get_StoryPointsInfo() {\r\n\t\t\treturn this.$storyPointsInfo;\r\n\t\t},\r\n\t\tupdate: function StoryImpl$Update(storyPm) {\r\n\t\t\tvar activeStoryPointContainedSheetInfo = null;\r\n\t\t\tvar newActiveStoryPointInfoImpl = null;\r\n\t\t\tthis.$storyPointsInfo = this.$storyPointsInfo || new Array(storyPm.storyPoints.length);\r\n\t\t\tfor (var i = 0; i < storyPm.storyPoints.length; i++) {\r\n\t\t\t\tvar storyPointPm = storyPm.storyPoints[i];\r\n\t\t\t\tvar caption = storyPointPm.caption;\r\n\t\t\t\tvar isActive = i === storyPm.activeStoryPointIndex;\r\n\t\t\t\tvar storyPointInfoImpl = $tab__StoryPointInfoImpl.$ctor(caption, i, storyPointPm.storyPointId, isActive, storyPointPm.isUpdated, this);\r\n\t\t\t\tif (ss.isNullOrUndefined(this.$storyPointsInfo[i])) {\r\n\t\t\t\t\tthis.$storyPointsInfo[i] = new $tableauSoftware_StoryPointInfo(storyPointInfoImpl);\r\n\t\t\t\t}\r\n\t\t\t\telse if (this.$storyPointsInfo[i]._impl.storyPointId === storyPointInfoImpl.storyPointId) {\r\n\t\t\t\t\tvar existing = this.$storyPointsInfo[i]._impl;\r\n\t\t\t\t\texisting.caption = storyPointInfoImpl.caption;\r\n\t\t\t\t\texisting.index = storyPointInfoImpl.index;\r\n\t\t\t\t\texisting.isActive = isActive;\r\n\t\t\t\t\texisting.isUpdated = storyPointInfoImpl.isUpdated;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tthis.$storyPointsInfo[i] = new $tableauSoftware_StoryPointInfo(storyPointInfoImpl);\r\n\t\t\t\t}\r\n\t\t\t\tif (isActive) {\r\n\t\t\t\t\tactiveStoryPointContainedSheetInfo = storyPointPm.containedSheetInfo;\r\n\t\t\t\t\tnewActiveStoryPointInfoImpl = storyPointInfoImpl;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tvar deleteCount = this.$storyPointsInfo.length - storyPm.storyPoints.length;\r\n\t\t\tthis.$storyPointsInfo.splice(storyPm.storyPoints.length, deleteCount);\r\n\t\t\tvar activeStoryPointChanged = ss.isNullOrUndefined(this.$activeStoryPointImpl) || this.$activeStoryPointImpl.get_storyPointId() !== newActiveStoryPointInfoImpl.storyPointId;\r\n\t\t\tif (ss.isValue(this.$activeStoryPointImpl) && activeStoryPointChanged) {\r\n\t\t\t\tthis.$activeStoryPointImpl.set_isActive(false);\r\n\t\t\t}\r\n\t\t\tvar previouslyActiveStoryPoint = this.$activeStoryPointImpl;\r\n\t\t\tif (activeStoryPointChanged) {\r\n\t\t\t\tvar containedSheetImpl = $tab__StoryPointImpl.createContainedSheet(activeStoryPointContainedSheetInfo, this.get_workbookImpl(), this.get_messagingOptions(), this.$findSheetFunc);\r\n\t\t\t\tthis.$activeStoryPointImpl = new $tab__StoryPointImpl(newActiveStoryPointInfoImpl, containedSheetImpl);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tthis.$activeStoryPointImpl.set_isActive(newActiveStoryPointInfoImpl.isActive);\r\n\t\t\t\tthis.$activeStoryPointImpl.set_isUpdated(newActiveStoryPointInfoImpl.isUpdated);\r\n\t\t\t}\r\n\t\t\tif (activeStoryPointChanged && ss.isValue(previouslyActiveStoryPoint)) {\r\n\t\t\t\tthis.$raiseActiveStoryPointChange(this.$storyPointsInfo[previouslyActiveStoryPoint.get_index()], this.$activeStoryPointImpl.get_storyPoint());\r\n\t\t\t}\r\n\t\t},\r\n\t\tactivatePreviousStoryPointAsync: function StoryImpl$ActivatePreviousStoryPointAsync() {\r\n\t\t\treturn this.$activatePreviousNextStoryPointAsync('api.ActivatePreviousStoryPoint');\r\n\t\t},\r\n\t\tactivateNextStoryPointAsync: function StoryImpl$ActivateNextStoryPointAsync() {\r\n\t\t\treturn this.$activatePreviousNextStoryPointAsync('api.ActivateNextStoryPoint');\r\n\t\t},\r\n\t\tactivateStoryPointAsync: function StoryImpl$ActivateStoryPointAsync(index) {\r\n\t\t\tvar deferred = new tab._Deferred();\r\n\t\t\tif (index < 0 || index >= this.$storyPointsInfo.length) {\r\n\t\t\t\tthrow $tab__TableauException.createIndexOutOfRange(index);\r\n\t\t\t}\r\n\t\t\tvar previouslyActiveStoryPointImpl = this.get_activeStoryPointImpl();\r\n\t\t\tvar commandParameters = {};\r\n\t\t\tcommandParameters['api.storyPointIndex'] = index;\r\n\t\t\tvar returnHandler = new (ss.makeGenericType($tab_CommandReturnHandler$1, [Object]))('api.ActivateStoryPoint', 0, ss.mkdel(this, function(result) {\r\n\t\t\t\tthis.$updateActiveState(previouslyActiveStoryPointImpl, result);\r\n\t\t\t\tdeferred.resolve(this.$activeStoryPointImpl.get_storyPoint());\r\n\t\t\t}), function(remoteError, errorMessage) {\r\n\t\t\t\tdeferred.reject($tab__TableauException.createServerError(errorMessage));\r\n\t\t\t});\r\n\t\t\tthis.sendCommand(Object).call(this, commandParameters, returnHandler);\r\n\t\t\treturn deferred.get_promise();\r\n\t\t},\r\n\t\trevertStoryPointAsync: function StoryImpl$RevertStoryPointAsync(index) {\r\n\t\t\tindex = index || this.$activeStoryPointImpl.get_index();\r\n\t\t\tif (index < 0 || index >= this.$storyPointsInfo.length) {\r\n\t\t\t\tthrow $tab__TableauException.createIndexOutOfRange(index);\r\n\t\t\t}\r\n\t\t\tvar deferred = new tab._Deferred();\r\n\t\t\tvar commandParameters = {};\r\n\t\t\tcommandParameters['api.storyPointIndex'] = index;\r\n\t\t\tvar returnHandler = new (ss.makeGenericType($tab_CommandReturnHandler$1, [Object]))('api.RevertStoryPoint', 0, ss.mkdel(this, function(result) {\r\n\t\t\t\tthis.$updateStoryPointInfo(index, result);\r\n\t\t\t\tdeferred.resolve(this.$storyPointsInfo[index]);\r\n\t\t\t}), function(remoteError, errorMessage) {\r\n\t\t\t\tdeferred.reject($tab__TableauException.createServerError(errorMessage));\r\n\t\t\t});\r\n\t\t\tthis.sendCommand(Object).call(this, commandParameters, returnHandler);\r\n\t\t\treturn deferred.get_promise();\r\n\t\t},\r\n\t\t$activatePreviousNextStoryPointAsync: function StoryImpl$ActivatePreviousNextStoryPointAsync(commandName) {\r\n\t\t\tif (commandName !== 'api.ActivatePreviousStoryPoint' && commandName !== 'api.ActivateNextStoryPoint') {\r\n\t\t\t\tthrow $tab__TableauException.createInternalError(\"commandName '\" + commandName + \"' is invalid.\");\r\n\t\t\t}\r\n\t\t\tvar deferred = new tab._Deferred();\r\n\t\t\tvar previouslyActiveStoryPointImpl = this.get_activeStoryPointImpl();\r\n\t\t\tvar commandParameters = {};\r\n\t\t\tvar returnHandler = new (ss.makeGenericType($tab_CommandReturnHandler$1, [Object]))(commandName, 0, ss.mkdel(this, function(result) {\r\n\t\t\t\tthis.$updateActiveState(previouslyActiveStoryPointImpl, result);\r\n\t\t\t\tdeferred.resolve(this.$activeStoryPointImpl.get_storyPoint());\r\n\t\t\t}), function(remoteError, errorMessage) {\r\n\t\t\t\tdeferred.reject($tab__TableauException.createServerError(errorMessage));\r\n\t\t\t});\r\n\t\t\tthis.sendCommand(Object).call(this, commandParameters, returnHandler);\r\n\t\t\treturn deferred.get_promise();\r\n\t\t},\r\n\t\t$updateStoryPointInfo: function StoryImpl$UpdateStoryPointInfo(index, newStoryPointPm) {\r\n\t\t\tvar existingImpl = this.$storyPointsInfo[index]._impl;\r\n\t\t\tif (existingImpl.storyPointId !== newStoryPointPm.storyPointId) {\r\n\t\t\t\tthrow $tab__TableauException.createInternalError(\"We should not be updating a story point where the IDs don't match. Existing storyPointID=\" + existingImpl.storyPointId + ', newStoryPointID=' + newStoryPointPm.storyPointId);\r\n\t\t\t}\r\n\t\t\texistingImpl.caption = newStoryPointPm.caption;\r\n\t\t\texistingImpl.isUpdated = newStoryPointPm.isUpdated;\r\n\t\t\tif (newStoryPointPm.storyPointId === this.$activeStoryPointImpl.get_storyPointId()) {\r\n\t\t\t\tthis.$activeStoryPointImpl.set_isUpdated(newStoryPointPm.isUpdated);\r\n\t\t\t}\r\n\t\t},\r\n\t\t$updateActiveState: function StoryImpl$UpdateActiveState(previouslyActiveStoryPointImpl, newActiveStoryPointPm) {\r\n\t\t\tvar newActiveIndex = newActiveStoryPointPm.index;\r\n\t\t\tif (previouslyActiveStoryPointImpl.get_index() === newActiveIndex) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tvar oldStoryPointInfo = this.$storyPointsInfo[previouslyActiveStoryPointImpl.get_index()];\r\n\t\t\tvar newStoryPointInfoImpl = this.$storyPointsInfo[newActiveIndex]._impl;\r\n\t\t\tvar containedSheetImpl = $tab__StoryPointImpl.createContainedSheet(newActiveStoryPointPm.containedSheetInfo, this.get_workbookImpl(), this.get_messagingOptions(), this.$findSheetFunc);\r\n\t\t\tnewStoryPointInfoImpl.isActive = true;\r\n\t\t\tthis.$activeStoryPointImpl = new $tab__StoryPointImpl(newStoryPointInfoImpl, containedSheetImpl);\r\n\t\t\tpreviouslyActiveStoryPointImpl.set_isActive(false);\r\n\t\t\toldStoryPointInfo._impl.isActive = false;\r\n\t\t\tthis.$raiseActiveStoryPointChange(oldStoryPointInfo, this.$activeStoryPointImpl.get_storyPoint());\r\n\t\t},\r\n\t\t$raiseActiveStoryPointChange: function StoryImpl$RaiseActiveStoryPointChange(oldStoryPointInfo, newStoryPoint) {\r\n\t\t\tif (!ss.staticEquals(this.$2$ActiveStoryPointChangeField, null)) {\r\n\t\t\t\tthis.$2$ActiveStoryPointChangeField(oldStoryPointInfo, newStoryPoint);\r\n\t\t\t}\r\n\t\t}\r\n\t}, $tab__SheetImpl);\r\n\tss.initClass($tab__StoryPointImpl, $asm, {\r\n\t\tget_caption: function StoryPointImpl$get_Caption() {\r\n\t\t\treturn this.$caption;\r\n\t\t},\r\n\t\tget_containedSheetImpl: function StoryPointImpl$get_ContainedSheetImpl() {\r\n\t\t\treturn this.$containedSheetImpl;\r\n\t\t},\r\n\t\tget_index: function StoryPointImpl$get_Index() {\r\n\t\t\treturn this.$index;\r\n\t\t},\r\n\t\tget_isActive: function StoryPointImpl$get_IsActive() {\r\n\t\t\treturn this.$isActive;\r\n\t\t},\r\n\t\tset_isActive: function StoryPointImpl$set_IsActive(value) {\r\n\t\t\tthis.$isActive = value;\r\n\t\t},\r\n\t\tget_isUpdated: function StoryPointImpl$get_IsUpdated() {\r\n\t\t\treturn this.$isUpdated;\r\n\t\t},\r\n\t\tset_isUpdated: function StoryPointImpl$set_IsUpdated(value) {\r\n\t\t\tthis.$isUpdated = value;\r\n\t\t},\r\n\t\tget_parentStoryImpl: function StoryPointImpl$get_ParentStoryImpl() {\r\n\t\t\treturn this.$parentStoryImpl;\r\n\t\t},\r\n\t\tget_storyPoint: function StoryPointImpl$get_StoryPoint() {\r\n\t\t\tif (ss.isNullOrUndefined(this.$storyPoint)) {\r\n\t\t\t\tthis.$storyPoint = new $tableauSoftware_StoryPoint(this);\r\n\t\t\t}\r\n\t\t\treturn this.$storyPoint;\r\n\t\t},\r\n\t\tget_storyPointId: function StoryPointImpl$get_StoryPointId() {\r\n\t\t\treturn this.$storyPointId;\r\n\t\t},\r\n\t\t$toInfoImpl: function StoryPointImpl$ToInfoImpl() {\r\n\t\t\treturn $tab__StoryPointInfoImpl.$ctor(this.$caption, this.$index, this.$storyPointId, this.$isActive, this.$isUpdated, this.$parentStoryImpl);\r\n\t\t}\r\n\t});\r\n\tss.initClass($tab__StoryPointInfoImpl, $asm, {}, Object);\r\n\tss.initClass($tab__TableauException, $asm, {});\r\n\tss.initClass($tab__Utility, $asm, {});\r\n\tss.initClass($tab__VizManagerImpl, $asm, {});\r\n\tss.initClass($tab__VizParameters, $asm, {\r\n\t\tget_url: function VizParameters$get_Url() {\r\n\t\t\treturn this.$constructUrl();\r\n\t\t},\r\n\t\tget_baseUrl: function VizParameters$get_BaseUrl() {\r\n\t\t\treturn this.$urlFromApi;\r\n\t\t},\r\n\t\t$constructUrl: function VizParameters$ConstructUrl() {\r\n\t\t\tvar url = [];\r\n\t\t\turl.push(this.get_baseUrl());\r\n\t\t\turl.push('?');\r\n\t\t\tif (this.userSuppliedParameters.length > 0) {\r\n\t\t\t\turl.push(this.userSuppliedParameters);\r\n\t\t\t\turl.push('&');\r\n\t\t\t}\r\n\t\t\tvar addClientDimensionForDsd = !this.fixedSize && !(this.userSuppliedParameters.indexOf(':size=') !== -1) && this.parentElement.clientWidth * this.parentElement.clientHeight > 0;\r\n\t\t\tif (addClientDimensionForDsd) {\r\n\t\t\t\turl.push(':size=');\r\n\t\t\t\turl.push(this.parentElement.clientWidth + ',' + this.parentElement.clientHeight);\r\n\t\t\t\turl.push('&');\r\n\t\t\t}\r\n\t\t\turl.push(':embed=y');\r\n\t\t\turl.push('&:showVizHome=n');\r\n\t\t\turl.push('&:jsdebug=y');\r\n\t\t\tif (!this.fixedSize) {\r\n\t\t\t\turl.push('&:bootstrapWhenNotified=y');\r\n\t\t\t}\r\n\t\t\tif (!this.tabs) {\r\n\t\t\t\turl.push('&:tabs=n');\r\n\t\t\t}\r\n\t\t\tif (this.displayStaticImage) {\r\n\t\t\t\turl.push('&:display_static_image=y');\r\n\t\t\t}\r\n\t\t\tif (!this.toolbar) {\r\n\t\t\t\turl.push('&:toolbar=n');\r\n\t\t\t}\r\n\t\t\telse if (!ss.isNullOrUndefined(this.toolBarPosition)) {\r\n\t\t\t\turl.push('&:toolbar=');\r\n\t\t\t\turl.push(this.toolBarPosition.toString());\r\n\t\t\t}\r\n\t\t\tif (ss.isValue(this.device)) {\r\n\t\t\t\turl.push('&:device=');\r\n\t\t\t\turl.push(this.device.toString());\r\n\t\t\t}\r\n\t\t\tvar userOptions = this.$createOptions;\r\n\t\t\tvar $t1 = new ss.ObjectEnumerator(userOptions);\r\n\t\t\ttry {\r\n\t\t\t\twhile ($t1.moveNext()) {\r\n\t\t\t\t\tvar entry = $t1.current();\r\n\t\t\t\t\tif (entry.key !== 'embed' && entry.key !== 'height' && entry.key !== 'width' && entry.key !== 'device' && entry.key !== 'autoSize' && entry.key !== 'hideTabs' && entry.key !== 'hideToolbar' && entry.key !== 'onFirstInteractive' && entry.key !== 'onFirstVizSizeKnown' && entry.key !== 'toolbarPosition' && entry.key !== 'instanceIdToClone' && entry.key !== 'display_static_image') {\r\n\t\t\t\t\t\turl.push('&');\r\n\t\t\t\t\t\turl.push(encodeURIComponent(entry.key));\r\n\t\t\t\t\t\turl.push('=');\r\n\t\t\t\t\t\turl.push(encodeURIComponent(entry.value.toString()));\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tfinally {\r\n\t\t\t\t$t1.dispose();\r\n\t\t\t}\r\n\t\t\turl.push('&:apiID=' + this.hostId);\r\n\t\t\tif (ss.isValue(this.$createOptions.instanceIdToClone)) {\r\n\t\t\t\turl.push('#' + this.$createOptions.instanceIdToClone);\r\n\t\t\t}\r\n\t\t\treturn url.join('');\r\n\t\t}\r\n\t});\r\n\tss.initClass($tab__WorkbookImpl, $asm, {\r\n\t\tget_workbook: function WorkbookImpl$get_Workbook() {\r\n\t\t\tif (ss.isNullOrUndefined(this.$workbook)) {\r\n\t\t\t\tthis.$workbook = new $tableauSoftware_Workbook(this);\r\n\t\t\t}\r\n\t\t\treturn this.$workbook;\r\n\t\t},\r\n\t\tget_viz: function WorkbookImpl$get_Viz() {\r\n\t\t\treturn this.$vizImpl.get_$viz();\r\n\t\t},\r\n\t\tget_publishedSheets: function WorkbookImpl$get_PublishedSheets() {\r\n\t\t\treturn this.$publishedSheetsInfo;\r\n\t\t},\r\n\t\tget_name: function WorkbookImpl$get_Name() {\r\n\t\t\treturn this.$name;\r\n\t\t},\r\n\t\tget_activeSheetImpl: function WorkbookImpl$get_ActiveSheetImpl() {\r\n\t\t\treturn this.$activeSheetImpl;\r\n\t\t},\r\n\t\tget_activeCustomView: function WorkbookImpl$get_ActiveCustomView() {\r\n\t\t\treturn this.$currentCustomView;\r\n\t\t},\r\n\t\tget_isDownloadAllowed: function WorkbookImpl$get_IsDownloadAllowed() {\r\n\t\t\treturn this.$isDownloadAllowed;\r\n\t\t},\r\n\t\t$findActiveSheetOrSheetWithinActiveDashboard: function WorkbookImpl$FindActiveSheetOrSheetWithinActiveDashboard(sheetOrInfoOrName) {\r\n\t\t\tif (ss.isNullOrUndefined(this.$activeSheetImpl)) {\r\n\t\t\t\treturn null;\r\n\t\t\t}\r\n\t\t\tvar sheetName = $tab__WorkbookImpl.$extractSheetName(sheetOrInfoOrName);\r\n\t\t\tif (ss.isNullOrUndefined(sheetName)) {\r\n\t\t\t\treturn null;\r\n\t\t\t}\r\n\t\t\tif (ss.referenceEquals(sheetName, this.$activeSheetImpl.get_name())) {\r\n\t\t\t\treturn this.$activeSheetImpl;\r\n\t\t\t}\r\n\t\t\tif (this.$activeSheetImpl.get_isDashboard()) {\r\n\t\t\t\tvar dashboardImpl = ss.cast(this.$activeSheetImpl, $tab__DashboardImpl);\r\n\t\t\t\tvar sheet = dashboardImpl.get_worksheets()._get(sheetName);\r\n\t\t\t\tif (ss.isValue(sheet)) {\r\n\t\t\t\t\treturn sheet._impl;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn null;\r\n\t\t},\r\n\t\t_setActiveSheetAsync: function WorkbookImpl$ActivateSheetAsync(sheetNameOrInfoOrIndex) {\r\n\t\t\tif ($tab__Utility.isNumber(sheetNameOrInfoOrIndex)) {\r\n\t\t\t\tvar index = sheetNameOrInfoOrIndex;\r\n\t\t\t\tif (index < this.$publishedSheetsInfo.get__length() && index >= 0) {\r\n\t\t\t\t\treturn this.$activateSheetWithInfoAsync(this.$publishedSheetsInfo.get_item(index).$impl);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tthrow $tab__TableauException.createIndexOutOfRange(index);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tvar sheetName = $tab__WorkbookImpl.$extractSheetName(sheetNameOrInfoOrIndex);\r\n\t\t\tvar sheetInfo = this.$publishedSheetsInfo._get(sheetName);\r\n\t\t\tif (ss.isValue(sheetInfo)) {\r\n\t\t\t\treturn this.$activateSheetWithInfoAsync(sheetInfo.$impl);\r\n\t\t\t}\r\n\t\t\telse if (this.$activeSheetImpl.get_isDashboard()) {\r\n\t\t\t\tvar d = ss.cast(this.$activeSheetImpl, $tab__DashboardImpl);\r\n\t\t\t\tvar sheet = d.get_worksheets()._get(sheetName);\r\n\t\t\t\tif (ss.isValue(sheet)) {\r\n\t\t\t\t\tthis.$activatingHiddenSheetImpl = null;\r\n\t\t\t\t\tvar sheetUrl = '';\r\n\t\t\t\t\tif (sheet.getIsHidden()) {\r\n\t\t\t\t\t\tthis.$activatingHiddenSheetImpl = sheet._impl;\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tsheetUrl = sheet._impl.get_url();\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn this.$activateSheetInternalAsync(sheet._impl.get_name(), sheetUrl);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tthrow $tab__TableauException.create('sheetNotInWorkbook', 'Sheet is not found in Workbook');\r\n\t\t},\r\n\t\t_revertAllAsync: function WorkbookImpl$RevertAllAsync() {\r\n\t\t\tvar deferred = new tab._Deferred();\r\n\t\t\tvar returnHandler = new (ss.makeGenericType($tab_CommandReturnHandler$1, [Object]))('api.RevertAllCommand', 1, function(result) {\r\n\t\t\t\tdeferred.resolve();\r\n\t\t\t}, function(remoteError, message) {\r\n\t\t\t\tdeferred.reject($tab__TableauException.createServerError(message));\r\n\t\t\t});\r\n\t\t\tthis.$sendCommand(Object).call(this, null, returnHandler);\r\n\t\t\treturn deferred.get_promise();\r\n\t\t},\r\n\t\t_update: function WorkbookImpl$Update(callback) {\r\n\t\t\tthis.$getClientInfo(callback);\r\n\t\t},\r\n\t\t$activateSheetWithInfoAsync: function WorkbookImpl$ActivateSheetWithInfoAsync(sheetInfoImpl) {\r\n\t\t\treturn this.$activateSheetInternalAsync(sheetInfoImpl.name, sheetInfoImpl.url);\r\n\t\t},\r\n\t\t$activateSheetInternalAsync: function WorkbookImpl$ActivateSheetInternalAsync(sheetName, sheetUrl) {\r\n\t\t\tvar deferred = new tab._Deferred();\r\n\t\t\tif (ss.isValue(this.$activeSheetImpl) && ss.referenceEquals(sheetName, this.$activeSheetImpl.get_name())) {\r\n\t\t\t\tdeferred.resolve(this.$activeSheetImpl.get_sheet());\r\n\t\t\t\treturn deferred.get_promise();\r\n\t\t\t}\r\n\t\t\tvar param = {};\r\n\t\t\tparam['api.switchToSheetName'] = sheetName;\r\n\t\t\tparam['api.switchToRepositoryUrl'] = sheetUrl;\r\n\t\t\tparam['api.oldRepositoryUrl'] = this.$activeSheetImpl.get_url();\r\n\t\t\tvar returnHandler = new (ss.makeGenericType($tab_CommandReturnHandler$1, [Object]))('api.SwitchActiveSheetCommand', 0, ss.mkdel(this, function(result) {\r\n\t\t\t\tthis.$vizImpl.$workbookTabSwitchHandler = ss.mkdel(this, function() {\r\n\t\t\t\t\tthis.$vizImpl.$workbookTabSwitchHandler = null;\r\n\t\t\t\t\tdeferred.resolve(this.$activeSheetImpl.get_sheet());\r\n\t\t\t\t});\r\n\t\t\t}), function(remoteError, message) {\r\n\t\t\t\tdeferred.reject($tab__TableauException.createServerError(message));\r\n\t\t\t});\r\n\t\t\tthis.$sendCommand(Object).call(this, param, returnHandler);\r\n\t\t\treturn deferred.get_promise();\r\n\t\t},\r\n\t\t_updateActiveSheetAsync: function WorkbookImpl$UpdateActiveSheetAsync() {\r\n\t\t\tvar deferred = new tab._Deferred();\r\n\t\t\tvar param = {};\r\n\t\t\tparam['api.switchToSheetName'] = this.$activeSheetImpl.get_name();\r\n\t\t\tparam['api.switchToRepositoryUrl'] = this.$activeSheetImpl.get_url();\r\n\t\t\tparam['api.oldRepositoryUrl'] = this.$activeSheetImpl.get_url();\r\n\t\t\tvar returnHandler = new (ss.makeGenericType($tab_CommandReturnHandler$1, [Object]))('api.UpdateActiveSheetCommand', 0, ss.mkdel(this, function(result) {\r\n\t\t\t\tdeferred.resolve(this.$activeSheetImpl.get_sheet());\r\n\t\t\t}), function(remoteError, message) {\r\n\t\t\t\tdeferred.reject($tab__TableauException.createServerError(message));\r\n\t\t\t});\r\n\t\t\tthis.$sendCommand(Object).call(this, param, returnHandler);\r\n\t\t\treturn deferred.get_promise();\r\n\t\t},\r\n\t\t$sendCommand: function(T) {\r\n\t\t\treturn function WorkbookImpl$SendCommand(commandParameters, returnHandler) {\r\n\t\t\t\tthis.$messagingOptions.sendCommand(T).call(this.$messagingOptions, commandParameters, returnHandler);\r\n\t\t\t};\r\n\t\t},\r\n\t\t$getClientInfo: function WorkbookImpl$GetClientInfo(callback) {\r\n\t\t\tvar returnHandler = new (ss.makeGenericType($tab_CommandReturnHandler$1, [Object]))('api.GetClientInfoCommand', 0, ss.mkdel(this, function(result) {\r\n\t\t\t\tthis.$processInfo(result);\r\n\t\t\t\tif (ss.isValue(callback)) {\r\n\t\t\t\t\tcallback();\r\n\t\t\t\t}\r\n\t\t\t}), null);\r\n\t\t\tthis.$sendCommand(Object).call(this, null, returnHandler);\r\n\t\t},\r\n\t\t$processInfo: function WorkbookImpl$ProcessInfo(clientInfo) {\r\n\t\t\tthis.$name = clientInfo.workbookName;\r\n\t\t\tthis.$isDownloadAllowed = clientInfo.isDownloadAllowed;\r\n\t\t\tthis.$vizImpl.$setAreAutomaticUpdatesPaused(!clientInfo.isAutoUpdate);\r\n\t\t\tthis.$vizImpl.set_instanceId(clientInfo.instanceId);\r\n\t\t\tthis.$createSheetsInfo(clientInfo);\r\n\t\t\tthis.$initializeActiveSheet(clientInfo);\r\n\t\t},\r\n\t\t$initializeActiveSheet: function WorkbookImpl$InitializeActiveSheet(clientInfo) {\r\n\t\t\tvar currentSheetName = clientInfo.currentSheetName;\r\n\t\t\tvar newActiveSheetInfo = this.$publishedSheetsInfo._get(currentSheetName);\r\n\t\t\tif (ss.isNullOrUndefined(newActiveSheetInfo) && ss.isNullOrUndefined(this.$activatingHiddenSheetImpl)) {\r\n\t\t\t\tthrow $tab__TableauException.createInternalError('The active sheet was not specified in baseSheets');\r\n\t\t\t}\r\n\t\t\tif (ss.isValue(this.$activeSheetImpl) && ss.referenceEquals(this.$activeSheetImpl.get_name(), currentSheetName)) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (ss.isValue(this.$activeSheetImpl)) {\r\n\t\t\t\tthis.$activeSheetImpl.set_isActive(false);\r\n\t\t\t\tvar oldActiveSheetInfo = this.$publishedSheetsInfo._get(this.$activeSheetImpl.get_name());\r\n\t\t\t\tif (ss.isValue(oldActiveSheetInfo)) {\r\n\t\t\t\t\toldActiveSheetInfo.$impl.isActive = false;\r\n\t\t\t\t}\r\n\t\t\t\tif (this.$activeSheetImpl.get_sheetType() === 'story') {\r\n\t\t\t\t\tvar storyImpl = ss.cast(this.$activeSheetImpl, $tab__StoryImpl);\r\n\t\t\t\t\tstoryImpl.remove_activeStoryPointChange(ss.mkdel(this.$vizImpl, this.$vizImpl.raiseStoryPointSwitch));\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (ss.isValue(this.$activatingHiddenSheetImpl)) {\r\n\t\t\t\tvar infoImpl = $tab__SheetInfoImpl.$ctor(this.$activatingHiddenSheetImpl.get_name(), 'worksheet', -1, this.$activatingHiddenSheetImpl.get_size(), this.get_workbook(), '', true, true, $tab__SheetImpl.noZoneId);\r\n\t\t\t\tthis.$activatingHiddenSheetImpl = null;\r\n\t\t\t\tthis.$activeSheetImpl = new $tab__WorksheetImpl(infoImpl, this, this.$messagingOptions, null);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvar baseSheet = null;\r\n\t\t\t\tfor (var i = 0, len = clientInfo.publishedSheets.length; i < len; i++) {\r\n\t\t\t\t\tif (ss.referenceEquals(clientInfo.publishedSheets[i].name, currentSheetName)) {\r\n\t\t\t\t\t\tbaseSheet = clientInfo.publishedSheets[i];\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif (ss.isNullOrUndefined(baseSheet)) {\r\n\t\t\t\t\tthrow $tab__TableauException.createInternalError('No base sheet was found corresponding to the active sheet.');\r\n\t\t\t\t}\r\n\t\t\t\tvar findSheetFunc = ss.mkdel(this, function(sheetName) {\r\n\t\t\t\t\treturn this.$publishedSheetsInfo._get(sheetName);\r\n\t\t\t\t});\r\n\t\t\t\tif (baseSheet.sheetType === 'dashboard') {\r\n\t\t\t\t\tvar dashboardImpl = new $tab__DashboardImpl(newActiveSheetInfo.$impl, this, this.$messagingOptions);\r\n\t\t\t\t\tthis.$activeSheetImpl = dashboardImpl;\r\n\t\t\t\t\tvar dashboardFrames = $tab__WorkbookImpl.$createDashboardZones(clientInfo.dashboardZones);\r\n\t\t\t\t\tdashboardImpl.$addObjects(dashboardFrames, findSheetFunc);\r\n\t\t\t\t}\r\n\t\t\t\telse if (baseSheet.sheetType === 'story') {\r\n\t\t\t\t\tvar storyImpl1 = new $tab__StoryImpl(newActiveSheetInfo.$impl, this, this.$messagingOptions, clientInfo.story, findSheetFunc);\r\n\t\t\t\t\tthis.$activeSheetImpl = storyImpl1;\r\n\t\t\t\t\tstoryImpl1.add_activeStoryPointChange(ss.mkdel(this.$vizImpl, this.$vizImpl.raiseStoryPointSwitch));\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tthis.$activeSheetImpl = new $tab__WorksheetImpl(newActiveSheetInfo.$impl, this, this.$messagingOptions, null);\r\n\t\t\t\t}\r\n\t\t\t\tnewActiveSheetInfo.$impl.isActive = true;\r\n\t\t\t}\r\n\t\t\tthis.$activeSheetImpl.set_isActive(true);\r\n\t\t},\r\n\t\t$createSheetsInfo: function WorkbookImpl$CreateSheetsInfo(clientInfo) {\r\n\t\t\tvar baseSheets = clientInfo.publishedSheets;\r\n\t\t\tif (ss.isNullOrUndefined(baseSheets)) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tfor (var index = 0; index < baseSheets.length; index++) {\r\n\t\t\t\tvar baseSheet = baseSheets[index];\r\n\t\t\t\tvar sheetName = baseSheet.name;\r\n\t\t\t\tvar sheetInfo = this.$publishedSheetsInfo._get(sheetName);\r\n\t\t\t\tvar size = $tab__WorkbookImpl.$createSheetSize(baseSheet);\r\n\t\t\t\tif (ss.isNullOrUndefined(sheetInfo)) {\r\n\t\t\t\t\tvar isActive = ss.referenceEquals(sheetName, clientInfo.currentSheetName);\r\n\t\t\t\t\tvar sheetType = $tab_ApiEnumConverter.convertSheetType(baseSheet.sheetType);\r\n\t\t\t\t\tvar sheetInfoImpl = $tab__SheetInfoImpl.$ctor(sheetName, sheetType, index, size, this.get_workbook(), baseSheet.repositoryUrl, isActive, false, $tab__SheetImpl.noZoneId);\r\n\t\t\t\t\tsheetInfo = new $tableauSoftware_SheetInfo(sheetInfoImpl);\r\n\t\t\t\t\tthis.$publishedSheetsInfo._add(sheetName, sheetInfo);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tsheetInfo.$impl.size = size;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\tget_$customViews: function WorkbookImpl$get_CustomViews() {\r\n\t\t\treturn this.$customViews;\r\n\t\t},\r\n\t\tset_$customViews: function WorkbookImpl$set_CustomViews(value) {\r\n\t\t\tthis.$customViews = value;\r\n\t\t},\r\n\t\tget_$updatedCustomViews: function WorkbookImpl$get_UpdatedCustomViews() {\r\n\t\t\treturn this.$updatedCustomViews;\r\n\t\t},\r\n\t\tset_$updatedCustomViews: function WorkbookImpl$set_UpdatedCustomViews(value) {\r\n\t\t\tthis.$updatedCustomViews = value;\r\n\t\t},\r\n\t\tget_$removedCustomViews: function WorkbookImpl$get_RemovedCustomViews() {\r\n\t\t\treturn this.$removedCustomViews;\r\n\t\t},\r\n\t\tset_$removedCustomViews: function WorkbookImpl$set_RemovedCustomViews(value) {\r\n\t\t\tthis.$removedCustomViews = value;\r\n\t\t},\r\n\t\tget_$currentCustomView: function WorkbookImpl$get_CurrentCustomView() {\r\n\t\t\treturn this.$currentCustomView;\r\n\t\t},\r\n\t\tset_$currentCustomView: function WorkbookImpl$set_CurrentCustomView(value) {\r\n\t\t\tthis.$currentCustomView = value;\r\n\t\t},\r\n\t\t$getCustomViewsAsync: function WorkbookImpl$GetCustomViewsAsync() {\r\n\t\t\treturn $tab__CustomViewImpl._getCustomViewsAsync(this, this.$messagingOptions);\r\n\t\t},\r\n\t\t$showCustomViewAsync: function WorkbookImpl$ShowCustomViewAsync(customViewName) {\r\n\t\t\tif (ss.isNullOrUndefined(customViewName) || $tab__Utility.isNullOrEmpty(customViewName)) {\r\n\t\t\t\treturn $tab__CustomViewImpl._showCustomViewAsync(this, this.$messagingOptions, null);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvar cv = this.$customViews._get(customViewName);\r\n\t\t\t\tif (ss.isNullOrUndefined(cv)) {\r\n\t\t\t\t\tvar deferred = new tab._Deferred();\r\n\t\t\t\t\tdeferred.reject($tab__TableauException.createInvalidCustomViewName(customViewName));\r\n\t\t\t\t\treturn deferred.get_promise();\r\n\t\t\t\t}\r\n\t\t\t\treturn cv._impl._showAsync();\r\n\t\t\t}\r\n\t\t},\r\n\t\t$removeCustomViewAsync: function WorkbookImpl$RemoveCustomViewAsync(customViewName) {\r\n\t\t\tif ($tab__Utility.isNullOrEmpty(customViewName)) {\r\n\t\t\t\tthrow $tab__TableauException.createNullOrEmptyParameter('customViewName');\r\n\t\t\t}\r\n\t\t\tvar cv = this.$customViews._get(customViewName);\r\n\t\t\tif (ss.isNullOrUndefined(cv)) {\r\n\t\t\t\tvar deferred = new tab._Deferred();\r\n\t\t\t\tdeferred.reject($tab__TableauException.createInvalidCustomViewName(customViewName));\r\n\t\t\t\treturn deferred.get_promise();\r\n\t\t\t}\r\n\t\t\treturn cv._impl.$removeAsync();\r\n\t\t},\r\n\t\t$rememberCustomViewAsync: function WorkbookImpl$RememberCustomViewAsync(customViewName) {\r\n\t\t\tif ($tab__Utility.isNullOrEmpty(customViewName)) {\r\n\t\t\t\tthrow $tab__TableauException.createInvalidParameter('customViewName');\r\n\t\t\t}\r\n\t\t\treturn $tab__CustomViewImpl._saveNewAsync(this, this.$messagingOptions, customViewName);\r\n\t\t},\r\n\t\t$setActiveCustomViewAsDefaultAsync: function WorkbookImpl$SetActiveCustomViewAsDefaultAsync() {\r\n\t\t\treturn $tab__CustomViewImpl._makeCurrentCustomViewDefaultAsync(this, this.$messagingOptions);\r\n\t\t},\r\n\t\tget_$lastChangedParameterImpl: function WorkbookImpl$get_LastChangedParameterImpl() {\r\n\t\t\treturn this.$lastChangedParameterImpl;\r\n\t\t},\r\n\t\tset_$lastChangedParameterImpl: function WorkbookImpl$set_LastChangedParameterImpl(value) {\r\n\t\t\tthis.$lastChangedParameterImpl = value;\r\n\t\t},\r\n\t\tget_$parameters: function WorkbookImpl$get_Parameters() {\r\n\t\t\treturn this.$parameters;\r\n\t\t},\r\n\t\t$getSingleParameterAsync: function WorkbookImpl$GetSingleParameterAsync(parameterName) {\r\n\t\t\tvar deferred = new tab._Deferred();\r\n\t\t\tif (ss.isValue(this.$lastChangedParameterImpl)) {\r\n\t\t\t\tdeferred.resolve(this.$lastChangedParameterImpl.get_$parameter());\r\n\t\t\t\treturn deferred.get_promise();\r\n\t\t\t}\r\n\t\t\tvar commandParameters = {};\r\n\t\t\tvar returnHandler = new (ss.makeGenericType($tab_CommandReturnHandler$1, [Object]))('api.FetchParametersCommand', 0, ss.mkdel(this, function(result) {\r\n\t\t\t\tvar parameterImpl = $tab__WorkbookImpl.$findAndCreateParameterImpl(parameterName, result);\r\n\t\t\t\tthis.$lastChangedParameterImpl = parameterImpl;\r\n\t\t\t\tdeferred.resolve(parameterImpl.get_$parameter());\r\n\t\t\t}), function(remoteError, message) {\r\n\t\t\t\tdeferred.reject($tab__TableauException.createServerError(message));\r\n\t\t\t});\r\n\t\t\tthis.$sendCommand(Object).call(this, commandParameters, returnHandler);\r\n\t\t\treturn deferred.get_promise();\r\n\t\t},\r\n\t\t$getParametersAsync: function WorkbookImpl$GetParametersAsync() {\r\n\t\t\tvar deferred = new tab._Deferred();\r\n\t\t\tvar commandParameters = {};\r\n\t\t\tvar returnHandler = new (ss.makeGenericType($tab_CommandReturnHandler$1, [Object]))('api.FetchParametersCommand', 0, ss.mkdel(this, function(result) {\r\n\t\t\t\tthis.$parameters = $tab__WorkbookImpl.$processParameters(result);\r\n\t\t\t\tdeferred.resolve(this.get_$parameters()._toApiCollection());\r\n\t\t\t}), function(remoteError, message) {\r\n\t\t\t\tdeferred.reject($tab__TableauException.createServerError(message));\r\n\t\t\t});\r\n\t\t\tthis.$sendCommand(Object).call(this, commandParameters, returnHandler);\r\n\t\t\treturn deferred.get_promise();\r\n\t\t},\r\n\t\t$changeParameterValueAsync: function WorkbookImpl$ChangeParameterValueAsync(parameterName, value) {\r\n\t\t\tvar deferred = new tab._Deferred();\r\n\t\t\tvar parameterImpl = null;\r\n\t\t\tif (ss.isValue(this.$parameters)) {\r\n\t\t\t\tif (ss.isNullOrUndefined(this.$parameters._get(parameterName))) {\r\n\t\t\t\t\tdeferred.reject($tab__TableauException.createInvalidParameter(parameterName));\r\n\t\t\t\t\treturn deferred.get_promise();\r\n\t\t\t\t}\r\n\t\t\t\tparameterImpl = this.$parameters._get(parameterName)._impl;\r\n\t\t\t\tif (ss.isNullOrUndefined(parameterImpl)) {\r\n\t\t\t\t\tdeferred.reject($tab__TableauException.createInvalidParameter(parameterName));\r\n\t\t\t\t\treturn deferred.get_promise();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tvar param = {};\r\n\t\t\tparam['api.setParameterName'] = (ss.isValue(this.$parameters) ? parameterImpl.get_$name() : parameterName);\r\n\t\t\tif (ss.isValue(value) && $tab__Utility.isDate(value)) {\r\n\t\t\t\tvar date = ss.cast(value, ss.JsDate);\r\n\t\t\t\tvar dateStr = $tab__Utility.serializeDateForServer(date);\r\n\t\t\t\tparam['api.setParameterValue'] = dateStr;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tparam['api.setParameterValue'] = (ss.isValue(value) ? value.toString() : null);\r\n\t\t\t}\r\n\t\t\tthis.$lastChangedParameterImpl = null;\r\n\t\t\tvar returnHandler = new (ss.makeGenericType($tab_CommandReturnHandler$1, [Object]))('api.SetParameterValueCommand', 0, ss.mkdel(this, function(result) {\r\n\t\t\t\tif (ss.isNullOrUndefined(result)) {\r\n\t\t\t\t\tdeferred.reject($tab__TableauException.create('serverError', 'server error'));\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tif (!result.isValidPresModel) {\r\n\t\t\t\t\tdeferred.reject($tab__TableauException.createInvalidParameter(parameterName));\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tvar paramUpdated = new $tab_$ParameterImpl(result);\r\n\t\t\t\tthis.$lastChangedParameterImpl = paramUpdated;\r\n\t\t\t\tdeferred.resolve(paramUpdated.get_$parameter());\r\n\t\t\t}), function(remoteError, message) {\r\n\t\t\t\tdeferred.reject($tab__TableauException.createInvalidParameter(parameterName));\r\n\t\t\t});\r\n\t\t\tthis.$sendCommand(Object).call(this, param, returnHandler);\r\n\t\t\treturn deferred.get_promise();\r\n\t\t}\r\n\t});\r\n\tss.initClass($tab__WorksheetImpl, $asm, {\r\n\t\tget_sheet: function WorksheetImpl$get_Sheet() {\r\n\t\t\treturn this.get_worksheet();\r\n\t\t},\r\n\t\tget_worksheet: function WorksheetImpl$get_Worksheet() {\r\n\t\t\tif (ss.isNullOrUndefined(this.$worksheet)) {\r\n\t\t\t\tthis.$worksheet = new $tableauSoftware_Worksheet(this);\r\n\t\t\t}\r\n\t\t\treturn this.$worksheet;\r\n\t\t},\r\n\t\tget_parentDashboardImpl: function WorksheetImpl$get_ParentDashboardImpl() {\r\n\t\t\treturn this.$parentDashboardImpl;\r\n\t\t},\r\n\t\tget_parentDashboard: function WorksheetImpl$get_ParentDashboard() {\r\n\t\t\tif (ss.isValue(this.$parentDashboardImpl)) {\r\n\t\t\t\treturn this.$parentDashboardImpl.get_dashboard();\r\n\t\t\t}\r\n\t\t\treturn null;\r\n\t\t},\r\n\t\t$getDataSourcesAsync: function WorksheetImpl$GetDataSourcesAsync() {\r\n\t\t\tthis.$verifyActiveSheetOrEmbeddedInActiveDashboard();\r\n\t\t\tvar deferred = new tab._Deferred();\r\n\t\t\tvar commandParameters = {};\r\n\t\t\tcommandParameters['api.worksheetName'] = this.get_name();\r\n\t\t\tvar returnHandler = new (ss.makeGenericType($tab_CommandReturnHandler$1, [Object]))('api.GetDataSourcesCommand', 0, function(result) {\r\n\t\t\t\tvar dataSources = $tab__DataSourceImpl.processDataSourcesForWorksheet(result);\r\n\t\t\t\tdeferred.resolve(dataSources._toApiCollection());\r\n\t\t\t}, function(remoteError, message) {\r\n\t\t\t\tdeferred.reject($tab__TableauException.createServerError(message));\r\n\t\t\t});\r\n\t\t\tthis.sendCommand(Object).call(this, commandParameters, returnHandler);\r\n\t\t\treturn deferred.get_promise();\r\n\t\t},\r\n\t\t$getDataSourceAsync: function WorksheetImpl$GetDataSourceAsync(dataSourceName) {\r\n\t\t\tthis.$verifyActiveSheetOrEmbeddedInActiveDashboard();\r\n\t\t\tvar deferred = new tab._Deferred();\r\n\t\t\tvar commandParameters = {};\r\n\t\t\tcommandParameters['api.dataSourceName'] = dataSourceName;\r\n\t\t\tcommandParameters['api.worksheetName'] = this.get_name();\r\n\t\t\tvar returnHandler = new (ss.makeGenericType($tab_CommandReturnHandler$1, [Object]))('api.GetDataSourceCommand', 0, function(result) {\r\n\t\t\t\tvar dataSourceImpl = $tab__DataSourceImpl.processDataSource(result);\r\n\t\t\t\tif (ss.isValue(dataSourceImpl)) {\r\n\t\t\t\t\tdeferred.resolve(dataSourceImpl.get_dataSource());\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tdeferred.reject($tab__TableauException.createServerError(\"Data source '\" + dataSourceName + \"' not found\"));\r\n\t\t\t\t}\r\n\t\t\t}, function(remoteError, message) {\r\n\t\t\t\tdeferred.reject($tab__TableauException.createServerError(message));\r\n\t\t\t});\r\n\t\t\tthis.sendCommand(Object).call(this, commandParameters, returnHandler);\r\n\t\t\treturn deferred.get_promise();\r\n\t\t},\r\n\t\t$verifyActiveSheetOrEmbeddedInActiveDashboard: function WorksheetImpl$VerifyActiveSheetOrEmbeddedInActiveDashboard() {\r\n\t\t\tvar isRootAndActiveWorksheet = this.get_isActive();\r\n\t\t\tvar isWithinActiveDashboard = ss.isValue(this.$parentDashboardImpl) && this.$parentDashboardImpl.get_isActive();\r\n\t\t\tvar isWithinActiveStoryPoint = ss.isValue(this.get_parentStoryPointImpl()) && this.get_parentStoryPointImpl().get_parentStoryImpl().get_isActive();\r\n\t\t\tif (!isRootAndActiveWorksheet && !isWithinActiveDashboard && !isWithinActiveStoryPoint) {\r\n\t\t\t\tthrow $tab__TableauException.createNotActiveSheet();\r\n\t\t\t}\r\n\t\t},\r\n\t\t$addVisualIdToCommand: function WorksheetImpl$AddVisualIdToCommand(commandParameters) {\r\n\t\t\tif (ss.isValue(this.get_parentStoryPointImpl())) {\r\n\t\t\t\tvar visualId = {};\r\n\t\t\t\tvisualId.worksheet = this.get_name();\r\n\t\t\t\tvisualId.dashboard = (ss.isValue(this.get_parentDashboardImpl()) ? this.$parentDashboardImpl.get_name() : this.get_name());\r\n\t\t\t\tvisualId.flipboardZoneId = this.get_parentStoryPointImpl().get_containedSheetImpl().get_zoneId();\r\n\t\t\t\tvisualId.storyboard = this.get_parentStoryPointImpl().get_parentStoryImpl().get_name();\r\n\t\t\t\tvisualId.storyPointId = this.get_parentStoryPointImpl().get_storyPointId();\r\n\t\t\t\tcommandParameters['api.visualId'] = visualId;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tcommandParameters['api.worksheetName'] = this.get_name();\r\n\t\t\t\tif (ss.isValue(this.get_parentDashboardImpl())) {\r\n\t\t\t\t\tcommandParameters['api.dashboardName'] = this.get_parentDashboardImpl().get_name();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\tget__filters: function WorksheetImpl$get_Filters() {\r\n\t\t\treturn this.$filters;\r\n\t\t},\r\n\t\tset__filters: function WorksheetImpl$set_Filters(value) {\r\n\t\t\tthis.$filters = value;\r\n\t\t},\r\n\t\t$getFilterAsync: function WorksheetImpl$GetFilterAsync(fieldName, fieldCaption, options) {\r\n\t\t\tif (!$tab__Utility.isNullOrEmpty(fieldName) && !$tab__Utility.isNullOrEmpty(fieldCaption)) {\r\n\t\t\t\tthrow $tab__TableauException.createInternalError('Only fieldName OR fieldCaption is allowed, not both.');\r\n\t\t\t}\r\n\t\t\toptions = options || new Object();\r\n\t\t\tvar deferred = new tab._Deferred();\r\n\t\t\tvar commandParameters = {};\r\n\t\t\tthis.$addVisualIdToCommand(commandParameters);\r\n\t\t\tif (!$tab__Utility.isNullOrEmpty(fieldCaption) && $tab__Utility.isNullOrEmpty(fieldName)) {\r\n\t\t\t\tcommandParameters['api.fieldCaption'] = fieldCaption;\r\n\t\t\t}\r\n\t\t\tif (!$tab__Utility.isNullOrEmpty(fieldName)) {\r\n\t\t\t\tcommandParameters['api.fieldName'] = fieldName;\r\n\t\t\t}\r\n\t\t\tcommandParameters['api.filterHierarchicalLevels'] = 0;\r\n\t\t\tcommandParameters['api.ignoreDomain'] = options.ignoreDomain || false;\r\n\t\t\tvar returnHandler = new (ss.makeGenericType($tab_CommandReturnHandler$1, [Object]))('api.GetOneFilterInfoCommand', 0, ss.mkdel(this, function(result) {\r\n\t\t\t\tvar error = $tab__WorksheetImpl.$filterCommandError(result);\r\n\t\t\t\tif (ss.isNullOrUndefined(error)) {\r\n\t\t\t\t\tvar filterJson = result;\r\n\t\t\t\t\tvar filter = $tableauSoftware_Filter.$createFilter(this, filterJson);\r\n\t\t\t\t\tdeferred.resolve(filter);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tdeferred.reject(error);\r\n\t\t\t\t}\r\n\t\t\t}), function(remoteError, message) {\r\n\t\t\t\tdeferred.reject($tab__TableauException.createServerError(message));\r\n\t\t\t});\r\n\t\t\tthis.sendCommand(Object).call(this, commandParameters, returnHandler);\r\n\t\t\treturn deferred.get_promise();\r\n\t\t},\r\n\t\t$getFiltersAsync: function WorksheetImpl$GetFiltersAsync(options) {\r\n\t\t\tthis.$verifyActiveSheetOrEmbeddedInActiveDashboard();\r\n\t\t\toptions = options || new Object();\r\n\t\t\tvar deferred = new tab._Deferred();\r\n\t\t\tvar commandParameters = {};\r\n\t\t\tthis.$addVisualIdToCommand(commandParameters);\r\n\t\t\tcommandParameters['api.ignoreDomain'] = options.ignoreDomain || false;\r\n\t\t\tvar returnHandler = new (ss.makeGenericType($tab_CommandReturnHandler$1, [Object]))('api.GetFiltersListCommand', 0, ss.mkdel(this, function(result) {\r\n\t\t\t\tthis.set__filters($tableauSoftware_Filter.processFiltersList(this, result));\r\n\t\t\t\tdeferred.resolve(this.get__filters()._toApiCollection());\r\n\t\t\t}), function(remoteError, message) {\r\n\t\t\t\tdeferred.reject($tab__TableauException.createServerError(message));\r\n\t\t\t});\r\n\t\t\tthis.sendCommand(Object).call(this, commandParameters, returnHandler);\r\n\t\t\treturn deferred.get_promise();\r\n\t\t},\r\n\t\t$applyFilterAsync: function WorksheetImpl$ApplyFilterAsync(fieldName, values, updateType, options) {\r\n\t\t\treturn this.$applyFilterWithValuesInternalAsync(fieldName, values, updateType, options);\r\n\t\t},\r\n\t\t$clearFilterAsync: function WorksheetImpl$ClearFilterAsync(fieldName) {\r\n\t\t\treturn this.$clearFilterInternalAsync(fieldName);\r\n\t\t},\r\n\t\t$applyRangeFilterAsync: function WorksheetImpl$ApplyRangeFilterAsync(fieldName, options) {\r\n\t\t\tvar fixedUpFilterOptions = $tab__WorksheetImpl.$normalizeRangeFilterOption(options);\r\n\t\t\treturn this.$applyRangeFilterInternalAsync(fieldName, fixedUpFilterOptions);\r\n\t\t},\r\n\t\t$applyRelativeDateFilterAsync: function WorksheetImpl$ApplyRelativeDateFilterAsync(fieldName, options) {\r\n\t\t\tvar fixedUpFilterOptions = $tab__WorksheetImpl.$normalizeRelativeDateFilterOptions(options);\r\n\t\t\treturn this.$applyRelativeDateFilterInternalAsync(fieldName, fixedUpFilterOptions);\r\n\t\t},\r\n\t\t$applyHierarchicalFilterAsync: function WorksheetImpl$ApplyHierarchicalFilterAsync(fieldName, values, updateType, options) {\r\n\t\t\tif (ss.isNullOrUndefined(values) && updateType !== 'all') {\r\n\t\t\t\tthrow $tab__TableauException.createInvalidParameter('values');\r\n\t\t\t}\r\n\t\t\treturn this.$applyHierarchicalFilterInternalAsync(fieldName, values, updateType, options);\r\n\t\t},\r\n\t\t$clearFilterInternalAsync: function WorksheetImpl$ClearFilterInternalAsync(fieldName) {\r\n\t\t\tthis.$verifyActiveSheetOrEmbeddedInActiveDashboard();\r\n\t\t\tif ($tab__Utility.isNullOrEmpty(fieldName)) {\r\n\t\t\t\tthrow $tab__TableauException.createNullOrEmptyParameter('fieldName');\r\n\t\t\t}\r\n\t\t\tvar deferred = new tab._Deferred();\r\n\t\t\tvar commandParameters = {};\r\n\t\t\tcommandParameters['api.fieldCaption'] = fieldName;\r\n\t\t\tthis.$addVisualIdToCommand(commandParameters);\r\n\t\t\tvar returnHandler = $tab__WorksheetImpl.$createFilterCommandReturnHandler('api.ClearFilterCommand', fieldName, deferred);\r\n\t\t\tthis.sendCommand(Object).call(this, commandParameters, returnHandler);\r\n\t\t\treturn deferred.get_promise();\r\n\t\t},\r\n\t\t$applyFilterWithValuesInternalAsync: function WorksheetImpl$ApplyFilterWithValuesInternalAsync(fieldName, values, updateType, options) {\r\n\t\t\tthis.$verifyActiveSheetOrEmbeddedInActiveDashboard();\r\n\t\t\tif ($tab__Utility.isNullOrEmpty(fieldName)) {\r\n\t\t\t\tthrow $tab__TableauException.createNullOrEmptyParameter('fieldName');\r\n\t\t\t}\r\n\t\t\tupdateType = $tab_$PublicEnums.$normalizeEnum($tab_ApiFilterUpdateType).call(null, updateType, 'updateType');\r\n\t\t\tvar fieldValues = [];\r\n\t\t\tif ($tab__jQueryShim.isArray(values)) {\r\n\t\t\t\tfor (var i = 0; i < values.length; i++) {\r\n\t\t\t\t\tfieldValues.push(values[i].toString());\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse if (ss.isValue(values)) {\r\n\t\t\t\tfieldValues.push(values.toString());\r\n\t\t\t}\r\n\t\t\tvar deferred = new tab._Deferred();\r\n\t\t\tvar commandParameters = {};\r\n\t\t\tcommandParameters['api.fieldCaption'] = fieldName;\r\n\t\t\tcommandParameters['api.filterUpdateType'] = updateType;\r\n\t\t\tcommandParameters['api.exclude'] = ((ss.isValue(options) && options.isExcludeMode) ? true : false);\r\n\t\t\tif (updateType !== 'all') {\r\n\t\t\t\tcommandParameters['api.filterCategoricalValues'] = fieldValues;\r\n\t\t\t}\r\n\t\t\tthis.$addVisualIdToCommand(commandParameters);\r\n\t\t\tvar returnHandler = $tab__WorksheetImpl.$createFilterCommandReturnHandler('api.ApplyCategoricalFilterCommand', fieldName, deferred);\r\n\t\t\tthis.sendCommand(Object).call(this, commandParameters, returnHandler);\r\n\t\t\treturn deferred.get_promise();\r\n\t\t},\r\n\t\t$applyRangeFilterInternalAsync: function WorksheetImpl$ApplyRangeFilterInternalAsync(fieldName, filterOptions) {\r\n\t\t\tthis.$verifyActiveSheetOrEmbeddedInActiveDashboard();\r\n\t\t\tif ($tab__Utility.isNullOrEmpty(fieldName)) {\r\n\t\t\t\tthrow $tab__TableauException.createNullOrEmptyParameter('fieldName');\r\n\t\t\t}\r\n\t\t\tif (ss.isNullOrUndefined(filterOptions)) {\r\n\t\t\t\tthrow $tab__TableauException.createNullOrEmptyParameter('filterOptions');\r\n\t\t\t}\r\n\t\t\tvar commandParameters = {};\r\n\t\t\tcommandParameters['api.fieldCaption'] = fieldName;\r\n\t\t\tif (ss.isValue(filterOptions.min)) {\r\n\t\t\t\tif ($tab__Utility.isDate(filterOptions.min)) {\r\n\t\t\t\t\tvar dt = ss.cast(filterOptions.min, ss.JsDate);\r\n\t\t\t\t\tif ($tab__Utility.isDateValid(dt)) {\r\n\t\t\t\t\t\tcommandParameters['api.filterRangeMin'] = $tab__Utility.serializeDateForServer(dt);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tthrow $tab__TableauException.createInvalidDateParameter('filterOptions.min');\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tcommandParameters['api.filterRangeMin'] = filterOptions.min;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (ss.isValue(filterOptions.max)) {\r\n\t\t\t\tif ($tab__Utility.isDate(filterOptions.max)) {\r\n\t\t\t\t\tvar dt1 = ss.cast(filterOptions.max, ss.JsDate);\r\n\t\t\t\t\tif ($tab__Utility.isDateValid(dt1)) {\r\n\t\t\t\t\t\tcommandParameters['api.filterRangeMax'] = $tab__Utility.serializeDateForServer(dt1);\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tthrow $tab__TableauException.createInvalidDateParameter('filterOptions.max');\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tcommandParameters['api.filterRangeMax'] = filterOptions.max;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (ss.isValue(filterOptions.nullOption)) {\r\n\t\t\t\tcommandParameters['api.filterRangeNullOption'] = filterOptions.nullOption;\r\n\t\t\t}\r\n\t\t\tthis.$addVisualIdToCommand(commandParameters);\r\n\t\t\tvar deferred = new tab._Deferred();\r\n\t\t\tvar returnHandler = $tab__WorksheetImpl.$createFilterCommandReturnHandler('api.ApplyRangeFilterCommand', fieldName, deferred);\r\n\t\t\tthis.sendCommand(Object).call(this, commandParameters, returnHandler);\r\n\t\t\treturn deferred.get_promise();\r\n\t\t},\r\n\t\t$applyRelativeDateFilterInternalAsync: function WorksheetImpl$ApplyRelativeDateFilterInternalAsync(fieldName, filterOptions) {\r\n\t\t\tthis.$verifyActiveSheetOrEmbeddedInActiveDashboard();\r\n\t\t\tif ($tab__Utility.isNullOrEmpty(fieldName)) {\r\n\t\t\t\tthrow $tab__TableauException.createInvalidParameter('fieldName');\r\n\t\t\t}\r\n\t\t\telse if (ss.isNullOrUndefined(filterOptions)) {\r\n\t\t\t\tthrow $tab__TableauException.createInvalidParameter('filterOptions');\r\n\t\t\t}\r\n\t\t\tvar commandParameters = {};\r\n\t\t\tcommandParameters['api.fieldCaption'] = fieldName;\r\n\t\t\tif (ss.isValue(filterOptions)) {\r\n\t\t\t\tcommandParameters['api.filterPeriodType'] = filterOptions.periodType;\r\n\t\t\t\tcommandParameters['api.filterDateRangeType'] = filterOptions.rangeType;\r\n\t\t\t\tif (filterOptions.rangeType === 'lastn' || filterOptions.rangeType === 'nextn') {\r\n\t\t\t\t\tif (ss.isNullOrUndefined(filterOptions.rangeN)) {\r\n\t\t\t\t\t\tthrow $tab__TableauException.create('missingRangeNForRelativeDateFilters', 'Missing rangeN field for a relative date filter of LASTN or NEXTN.');\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcommandParameters['api.filterDateRange'] = filterOptions.rangeN;\r\n\t\t\t\t}\r\n\t\t\t\tif (ss.isValue(filterOptions.anchorDate)) {\r\n\t\t\t\t\tcommandParameters['api.filterDateArchorValue'] = $tab__Utility.serializeDateForServer(filterOptions.anchorDate);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tthis.$addVisualIdToCommand(commandParameters);\r\n\t\t\tvar deferred = new tab._Deferred();\r\n\t\t\tvar returnHandler = $tab__WorksheetImpl.$createFilterCommandReturnHandler('api.ApplyRelativeDateFilterCommand', fieldName, deferred);\r\n\t\t\tthis.sendCommand(Object).call(this, commandParameters, returnHandler);\r\n\t\t\treturn deferred.get_promise();\r\n\t\t},\r\n\t\t$applyHierarchicalFilterInternalAsync: function WorksheetImpl$ApplyHierarchicalFilterInternalAsync(fieldName, values, updateType, options) {\r\n\t\t\tthis.$verifyActiveSheetOrEmbeddedInActiveDashboard();\r\n\t\t\tif ($tab__Utility.isNullOrEmpty(fieldName)) {\r\n\t\t\t\tthrow $tab__TableauException.createNullOrEmptyParameter('fieldName');\r\n\t\t\t}\r\n\t\t\tupdateType = $tab_$PublicEnums.$normalizeEnum($tab_ApiFilterUpdateType).call(null, updateType, 'updateType');\r\n\t\t\tvar fieldValues = null;\r\n\t\t\tvar levelValues = null;\r\n\t\t\tif ($tab__jQueryShim.isArray(values)) {\r\n\t\t\t\tfieldValues = [];\r\n\t\t\t\tvar arr = values;\r\n\t\t\t\tfor (var i = 0; i < arr.length; i++) {\r\n\t\t\t\t\tfieldValues.push(arr[i].toString());\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse if ($tab__Utility.isString(values)) {\r\n\t\t\t\tfieldValues = [];\r\n\t\t\t\tfieldValues.push(values.toString());\r\n\t\t\t}\r\n\t\t\telse if (ss.isValue(values) && ss.isValue(values['levels'])) {\r\n\t\t\t\tvar levelValue = values['levels'];\r\n\t\t\t\tlevelValues = [];\r\n\t\t\t\tif ($tab__jQueryShim.isArray(levelValue)) {\r\n\t\t\t\t\tvar levels = levelValue;\r\n\t\t\t\t\tfor (var i1 = 0; i1 < levels.length; i1++) {\r\n\t\t\t\t\t\tlevelValues.push(levels[i1].toString());\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tlevelValues.push(levelValue.toString());\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse if (ss.isValue(values)) {\r\n\t\t\t\tthrow $tab__TableauException.createInvalidParameter('values');\r\n\t\t\t}\r\n\t\t\tvar commandParameters = {};\r\n\t\t\tcommandParameters['api.fieldCaption'] = fieldName;\r\n\t\t\tcommandParameters['api.filterUpdateType'] = updateType;\r\n\t\t\tcommandParameters['api.exclude'] = ((ss.isValue(options) && options.isExcludeMode) ? true : false);\r\n\t\t\tif (ss.isValue(fieldValues)) {\r\n\t\t\t\tcommandParameters['api.filterHierarchicalValues'] = JSON.stringify(fieldValues);\r\n\t\t\t}\r\n\t\t\tif (ss.isValue(levelValues)) {\r\n\t\t\t\tcommandParameters['api.filterHierarchicalLevels'] = JSON.stringify(levelValues);\r\n\t\t\t}\r\n\t\t\tthis.$addVisualIdToCommand(commandParameters);\r\n\t\t\tvar deferred = new tab._Deferred();\r\n\t\t\tvar returnHandler = $tab__WorksheetImpl.$createFilterCommandReturnHandler('api.ApplyHierarchicalFilterCommand', fieldName, deferred);\r\n\t\t\tthis.sendCommand(Object).call(this, commandParameters, returnHandler);\r\n\t\t\treturn deferred.get_promise();\r\n\t\t},\r\n\t\tget_selectedMarks: function WorksheetImpl$get_SelectedMarks() {\r\n\t\t\treturn this.$selectedMarks;\r\n\t\t},\r\n\t\tset_selectedMarks: function WorksheetImpl$set_SelectedMarks(value) {\r\n\t\t\tthis.$selectedMarks = value;\r\n\t\t},\r\n\t\t$clearSelectedMarksAsync: function WorksheetImpl$ClearSelectedMarksAsync() {\r\n\t\t\tthis.$verifyActiveSheetOrEmbeddedInActiveDashboard();\r\n\t\t\tvar deferred = new tab._Deferred();\r\n\t\t\tvar commandParameters = {};\r\n\t\t\tthis.$addVisualIdToCommand(commandParameters);\r\n\t\t\tvar returnHandler = new (ss.makeGenericType($tab_CommandReturnHandler$1, [Object]))('api.ClearSelectedMarksCommand', 1, function(result) {\r\n\t\t\t\tdeferred.resolve();\r\n\t\t\t}, function(remoteError, message) {\r\n\t\t\t\tdeferred.reject($tab__TableauException.createServerError(message));\r\n\t\t\t});\r\n\t\t\tthis.sendCommand(Object).call(this, commandParameters, returnHandler);\r\n\t\t\treturn deferred.get_promise();\r\n\t\t},\r\n\t\t$selectMarksAsync: function WorksheetImpl$SelectMarksAsync(fieldNameOrFieldValuesMap, valueOrUpdateType, updateType) {\r\n\t\t\tthis.$verifyActiveSheetOrEmbeddedInActiveDashboard();\r\n\t\t\tif (ss.isNullOrUndefined(fieldNameOrFieldValuesMap) && ss.isNullOrUndefined(valueOrUpdateType)) {\r\n\t\t\t\treturn this.$clearSelectedMarksAsync();\r\n\t\t\t}\r\n\t\t\tif ($tab__Utility.isString(fieldNameOrFieldValuesMap) && ($tab__jQueryShim.isArray(valueOrUpdateType) || $tab__Utility.isString(valueOrUpdateType) || !$tab_$PublicEnums.$isValidEnum($tab_ApiSelectionUpdateType).call(null, valueOrUpdateType))) {\r\n\t\t\t\treturn this.$selectMarksWithFieldNameAndValueAsync(ss.cast(fieldNameOrFieldValuesMap, String), valueOrUpdateType, updateType);\r\n\t\t\t}\r\n\t\t\telse if ($tab__jQueryShim.isArray(fieldNameOrFieldValuesMap)) {\r\n\t\t\t\treturn this.$selectMarksWithMarksArrayAsync(fieldNameOrFieldValuesMap, ss.cast(valueOrUpdateType, String));\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\treturn this.$selectMarksWithMultiDimOptionAsync(fieldNameOrFieldValuesMap, ss.cast(valueOrUpdateType, String));\r\n\t\t\t}\r\n\t\t},\r\n\t\t$getSelectedMarksAsync: function WorksheetImpl$GetSelectedMarksAsync() {\r\n\t\t\tthis.$verifyActiveSheetOrEmbeddedInActiveDashboard();\r\n\t\t\tvar deferred = new tab._Deferred();\r\n\t\t\tvar commandParameters = {};\r\n\t\t\tthis.$addVisualIdToCommand(commandParameters);\r\n\t\t\tvar returnHandler = new (ss.makeGenericType($tab_CommandReturnHandler$1, [Object]))('api.FetchSelectedMarksCommand', 0, ss.mkdel(this, function(result) {\r\n\t\t\t\tthis.$selectedMarks = $tab_$MarkImpl.$processActiveMarks(result);\r\n\t\t\t\tdeferred.resolve(this.$selectedMarks._toApiCollection());\r\n\t\t\t}), function(remoteError, message) {\r\n\t\t\t\tdeferred.reject($tab__TableauException.createServerError(message));\r\n\t\t\t});\r\n\t\t\tthis.sendCommand(Object).call(this, commandParameters, returnHandler);\r\n\t\t\treturn deferred.get_promise();\r\n\t\t},\r\n\t\t$selectMarksWithFieldNameAndValueAsync: function WorksheetImpl$SelectMarksWithFieldNameAndValueAsync(fieldName, value, updateType) {\r\n\t\t\tvar catNameList = [];\r\n\t\t\tvar catValueList = [];\r\n\t\t\tvar hierNameList = [];\r\n\t\t\tvar hierValueList = [];\r\n\t\t\tvar rangeNameList = [];\r\n\t\t\tvar rangeValueList = [];\r\n\t\t\tthis.$parseMarksParam(catNameList, catValueList, hierNameList, hierValueList, rangeNameList, rangeValueList, fieldName, value);\r\n\t\t\treturn this.$selectMarksWithValuesAsync(null, catNameList, catValueList, hierNameList, hierValueList, rangeNameList, rangeValueList, updateType);\r\n\t\t},\r\n\t\t$selectMarksWithMultiDimOptionAsync: function WorksheetImpl$SelectMarksWithMultiDimOptionAsync(fieldValuesMap, updateType) {\r\n\t\t\tvar dict = fieldValuesMap;\r\n\t\t\tvar catNameList = [];\r\n\t\t\tvar catValueList = [];\r\n\t\t\tvar hierNameList = [];\r\n\t\t\tvar hierValueList = [];\r\n\t\t\tvar rangeNameList = [];\r\n\t\t\tvar rangeValueList = [];\r\n\t\t\tvar $t1 = new ss.ObjectEnumerator(dict);\r\n\t\t\ttry {\r\n\t\t\t\twhile ($t1.moveNext()) {\r\n\t\t\t\t\tvar ent = $t1.current();\r\n\t\t\t\t\tif (fieldValuesMap.hasOwnProperty(ent.key)) {\r\n\t\t\t\t\t\tif (!$tab__jQueryShim.isFunction(dict[ent.key])) {\r\n\t\t\t\t\t\t\tthis.$parseMarksParam(catNameList, catValueList, hierNameList, hierValueList, rangeNameList, rangeValueList, ent.key, ent.value);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tfinally {\r\n\t\t\t\t$t1.dispose();\r\n\t\t\t}\r\n\t\t\treturn this.$selectMarksWithValuesAsync(null, catNameList, catValueList, hierNameList, hierValueList, rangeNameList, rangeValueList, updateType);\r\n\t\t},\r\n\t\t$selectMarksWithMarksArrayAsync: function WorksheetImpl$SelectMarksWithMarksArrayAsync(marksArray, updateType) {\r\n\t\t\tvar catNameList = [];\r\n\t\t\tvar catValueList = [];\r\n\t\t\tvar hierNameList = [];\r\n\t\t\tvar hierValueList = [];\r\n\t\t\tvar rangeNameList = [];\r\n\t\t\tvar rangeValueList = [];\r\n\t\t\tvar tupleIdList = [];\r\n\t\t\tfor (var i = 0; i < marksArray.length; i++) {\r\n\t\t\t\tvar mark = marksArray[i];\r\n\t\t\t\tif (ss.isValue(mark.$impl.get_$tupleId()) && mark.$impl.get_$tupleId() > 0) {\r\n\t\t\t\t\ttupleIdList.push(mark.$impl.get_$tupleId());\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tvar pairs = mark.$impl.get_$pairs();\r\n\t\t\t\t\tfor (var j = 0; j < pairs.get__length(); j++) {\r\n\t\t\t\t\t\tvar pair = pairs.get_item(j);\r\n\t\t\t\t\t\tif (pair.hasOwnProperty('fieldName') && pair.hasOwnProperty('value') && !$tab__jQueryShim.isFunction(pair.fieldName) && !$tab__jQueryShim.isFunction(pair.value)) {\r\n\t\t\t\t\t\t\tthis.$parseMarksParam(catNameList, catValueList, hierNameList, hierValueList, rangeNameList, rangeValueList, pair.fieldName, pair.value);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn this.$selectMarksWithValuesAsync(tupleIdList, catNameList, catValueList, hierNameList, hierValueList, rangeNameList, rangeValueList, updateType);\r\n\t\t},\r\n\t\t$parseMarksParam: function WorksheetImpl$ParseMarksParam(catNameList, catValueList, hierNameList, hierValueList, rangeNameList, rangeValueList, fieldName, value) {\r\n\t\t\tvar sourceOptions = value;\r\n\t\t\tif ($tab__WorksheetImpl.$regexHierarchicalFieldName.test(fieldName)) {\r\n\t\t\t\tthis.$addToParamLists(hierNameList, hierValueList, fieldName, value);\r\n\t\t\t}\r\n\t\t\telse if (ss.isValue(sourceOptions.min) || ss.isValue(sourceOptions.max)) {\r\n\t\t\t\tvar range = new Object();\r\n\t\t\t\tif (ss.isValue(sourceOptions.min)) {\r\n\t\t\t\t\tif ($tab__Utility.isDate(sourceOptions.min)) {\r\n\t\t\t\t\t\tvar dt = ss.cast(sourceOptions.min, ss.JsDate);\r\n\t\t\t\t\t\tif ($tab__Utility.isDateValid(dt)) {\r\n\t\t\t\t\t\t\trange.min = $tab__Utility.serializeDateForServer(dt);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tthrow $tab__TableauException.createInvalidDateParameter('options.min');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\trange.min = sourceOptions.min;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif (ss.isValue(sourceOptions.max)) {\r\n\t\t\t\t\tif ($tab__Utility.isDate(sourceOptions.max)) {\r\n\t\t\t\t\t\tvar dt1 = ss.cast(sourceOptions.max, ss.JsDate);\r\n\t\t\t\t\t\tif ($tab__Utility.isDateValid(dt1)) {\r\n\t\t\t\t\t\t\trange.max = $tab__Utility.serializeDateForServer(dt1);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tthrow $tab__TableauException.createInvalidDateParameter('options.max');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\trange.max = sourceOptions.max;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif (ss.isValue(sourceOptions.nullOption)) {\r\n\t\t\t\t\tvar nullOption = $tab_$PublicEnums.$normalizeEnum($tab_ApiNullOption).call(null, sourceOptions.nullOption, 'options.nullOption');\r\n\t\t\t\t\trange.nullOption = nullOption;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\trange.nullOption = 'allValues';\r\n\t\t\t\t}\r\n\t\t\t\tvar jsonValue = JSON.stringify(range);\r\n\t\t\t\tthis.$addToParamLists(rangeNameList, rangeValueList, fieldName, jsonValue);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tthis.$addToParamLists(catNameList, catValueList, fieldName, value);\r\n\t\t\t}\r\n\t\t},\r\n\t\t$addToParamLists: function WorksheetImpl$AddToParamLists(paramNameList, paramValueList, paramName, paramValue) {\r\n\t\t\tvar markValues = [];\r\n\t\t\tif ($tab__jQueryShim.isArray(paramValue)) {\r\n\t\t\t\tvar values = ss.cast(paramValue, Array);\r\n\t\t\t\tfor (var i = 0; i < values.length; i++) {\r\n\t\t\t\t\tmarkValues.push(values[i].toString());\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tmarkValues.push(paramValue.toString());\r\n\t\t\t}\r\n\t\t\tparamValueList.push(markValues);\r\n\t\t\tparamNameList.push(paramName);\r\n\t\t},\r\n\t\t$selectMarksWithValuesAsync: function WorksheetImpl$SelectMarksWithValuesAsync(tupleIdList, catNameList, catValueList, hierNameList, hierValueList, rangeNameList, rangeValueList, updateType) {\r\n\t\t\tvar commandParameters = {};\r\n\t\t\tthis.$addVisualIdToCommand(commandParameters);\r\n\t\t\tupdateType = $tab_$PublicEnums.$normalizeEnum($tab_ApiSelectionUpdateType).call(null, updateType, 'updateType');\r\n\t\t\tcommandParameters['api.filterUpdateType'] = updateType;\r\n\t\t\tif (!$tab__Utility.isNullOrEmpty(tupleIdList)) {\r\n\t\t\t\tcommandParameters['api.tupleIds'] = JSON.stringify(tupleIdList);\r\n\t\t\t}\r\n\t\t\tif (!$tab__Utility.isNullOrEmpty(catNameList) && !$tab__Utility.isNullOrEmpty(catValueList)) {\r\n\t\t\t\tcommandParameters['api.categoricalFieldCaption'] = JSON.stringify(catNameList);\r\n\t\t\t\tvar markValues = [];\r\n\t\t\t\tfor (var i = 0; i < catValueList.length; i++) {\r\n\t\t\t\t\tvar values = JSON.stringify(catValueList[i]);\r\n\t\t\t\t\tmarkValues.push(values);\r\n\t\t\t\t}\r\n\t\t\t\tcommandParameters['api.categoricalMarkValues'] = JSON.stringify(markValues);\r\n\t\t\t}\r\n\t\t\tif (!$tab__Utility.isNullOrEmpty(hierNameList) && !$tab__Utility.isNullOrEmpty(hierValueList)) {\r\n\t\t\t\tcommandParameters['api.hierarchicalFieldCaption'] = JSON.stringify(hierNameList);\r\n\t\t\t\tvar markValues1 = [];\r\n\t\t\t\tfor (var i1 = 0; i1 < hierValueList.length; i1++) {\r\n\t\t\t\t\tvar values1 = JSON.stringify(hierValueList[i1]);\r\n\t\t\t\t\tmarkValues1.push(values1);\r\n\t\t\t\t}\r\n\t\t\t\tcommandParameters['api.hierarchicalMarkValues'] = JSON.stringify(markValues1);\r\n\t\t\t}\r\n\t\t\tif (!$tab__Utility.isNullOrEmpty(rangeNameList) && !$tab__Utility.isNullOrEmpty(rangeValueList)) {\r\n\t\t\t\tcommandParameters['api.rangeFieldCaption'] = JSON.stringify(rangeNameList);\r\n\t\t\t\tvar markValues2 = [];\r\n\t\t\t\tfor (var i2 = 0; i2 < rangeValueList.length; i2++) {\r\n\t\t\t\t\tvar values2 = JSON.stringify(rangeValueList[i2]);\r\n\t\t\t\t\tmarkValues2.push(values2);\r\n\t\t\t\t}\r\n\t\t\t\tcommandParameters['api.rangeMarkValues'] = JSON.stringify(markValues2);\r\n\t\t\t}\r\n\t\t\tif ($tab__Utility.isNullOrEmpty(commandParameters['api.tupleIds']) && $tab__Utility.isNullOrEmpty(commandParameters['api.categoricalFieldCaption']) && $tab__Utility.isNullOrEmpty(commandParameters['api.hierarchicalFieldCaption']) && $tab__Utility.isNullOrEmpty(commandParameters['api.rangeFieldCaption'])) {\r\n\t\t\t\tthrow $tab__TableauException.createInvalidParameter('fieldNameOrFieldValuesMap');\r\n\t\t\t}\r\n\t\t\tvar deferred = new tab._Deferred();\r\n\t\t\tvar returnHandler = new (ss.makeGenericType($tab_CommandReturnHandler$1, [Object]))('api.SelectMarksCommand', 1, function(result) {\r\n\t\t\t\tvar error = $tab__WorksheetImpl.$createSelectionCommandError(result);\r\n\t\t\t\tif (ss.isNullOrUndefined(error)) {\r\n\t\t\t\t\tdeferred.resolve();\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tdeferred.reject(error);\r\n\t\t\t\t}\r\n\t\t\t}, function(remoteError, message) {\r\n\t\t\t\tdeferred.reject($tab__TableauException.createServerError(message));\r\n\t\t\t});\r\n\t\t\tthis.sendCommand(Object).call(this, commandParameters, returnHandler);\r\n\t\t\treturn deferred.get_promise();\r\n\t\t},\r\n\t\t$getSummaryDataAsync: function WorksheetImpl$GetSummaryDataAsync(options) {\r\n\t\t\tthis.$verifyActiveSheetOrEmbeddedInActiveDashboard();\r\n\t\t\tvar deferred = new tab._Deferred();\r\n\t\t\tvar commandParameters = {};\r\n\t\t\tthis.$addVisualIdToCommand(commandParameters);\r\n\t\t\toptions = options || new Object();\r\n\t\t\tcommandParameters['api.ignoreAliases'] = ss.coalesce(options.ignoreAliases, false);\r\n\t\t\tcommandParameters['api.ignoreSelection'] = ss.coalesce(options.ignoreSelection, false);\r\n\t\t\tcommandParameters['api.maxRows'] = ss.coalesce(options.maxRows, 0);\r\n\t\t\tvar returnHandler = new (ss.makeGenericType($tab_CommandReturnHandler$1, [Object]))('api.GetSummaryTableCommand', 0, function(result) {\r\n\t\t\t\tvar dataResult = result;\r\n\t\t\t\tvar dt = $tab__DataTableImpl.processGetDataPresModel(dataResult);\r\n\t\t\t\tdeferred.resolve(dt);\r\n\t\t\t}, function(remoteError, message) {\r\n\t\t\t\tdeferred.reject($tab__TableauException.createServerError(message));\r\n\t\t\t});\r\n\t\t\tthis.sendCommand(Object).call(this, commandParameters, returnHandler);\r\n\t\t\treturn deferred.get_promise();\r\n\t\t},\r\n\t\t$getUnderlyingDataAsync: function WorksheetImpl$GetUnderlyingDataAsync(options) {\r\n\t\t\tthis.$verifyActiveSheetOrEmbeddedInActiveDashboard();\r\n\t\t\tvar deferred = new tab._Deferred();\r\n\t\t\tvar commandParameters = {};\r\n\t\t\tthis.$addVisualIdToCommand(commandParameters);\r\n\t\t\toptions = options || new Object();\r\n\t\t\tcommandParameters['api.ignoreAliases'] = ss.coalesce(options.ignoreAliases, false);\r\n\t\t\tcommandParameters['api.ignoreSelection'] = ss.coalesce(options.ignoreSelection, false);\r\n\t\t\tcommandParameters['api.includeAllColumns'] = ss.coalesce(options.includeAllColumns, false);\r\n\t\t\tcommandParameters['api.maxRows'] = ss.coalesce(options.maxRows, 0);\r\n\t\t\tvar returnHandler = new (ss.makeGenericType($tab_CommandReturnHandler$1, [Object]))('api.GetUnderlyingTableCommand', 0, function(result) {\r\n\t\t\t\tvar dataResult = result;\r\n\t\t\t\tvar dt = $tab__DataTableImpl.processGetDataPresModel(dataResult);\r\n\t\t\t\tdeferred.resolve(dt);\r\n\t\t\t}, function(remoteError, message) {\r\n\t\t\t\tdeferred.reject($tab__TableauException.createServerError(message));\r\n\t\t\t});\r\n\t\t\tthis.sendCommand(Object).call(this, commandParameters, returnHandler);\r\n\t\t\treturn deferred.get_promise();\r\n\t\t},\r\n\t\t$clearHighlightedMarksAsync: function WorksheetImpl$ClearHighlightedMarksAsync() {\r\n\t\t\tthis.$verifyActiveSheetOrEmbeddedInActiveDashboard();\r\n\t\t\tvar deferred = new tab._Deferred();\r\n\t\t\tvar commandParameters = {};\r\n\t\t\tthis.$addVisualIdToCommand(commandParameters);\r\n\t\t\tvar returnHandler = new (ss.makeGenericType($tab_CommandReturnHandler$1, [Object]))('api.ClearHighlightedMarksCommand', 1, function(result) {\r\n\t\t\t\tdeferred.resolve();\r\n\t\t\t}, function(remoteError, message) {\r\n\t\t\t\tdeferred.reject($tab__TableauException.createServerError(message));\r\n\t\t\t});\r\n\t\t\tthis.sendCommand(Object).call(this, commandParameters, returnHandler);\r\n\t\t\treturn deferred.get_promise();\r\n\t\t},\r\n\t\t$highlightMarksAsync: function WorksheetImpl$HighlightMarksAsync(fieldName, values) {\r\n\t\t\t$tab__Param.verifyString(fieldName, 'fieldName');\r\n\t\t\tthis.$verifyActiveSheetOrEmbeddedInActiveDashboard();\r\n\t\t\tvar deferred = new tab._Deferred();\r\n\t\t\tvar commandParameters = {};\r\n\t\t\tcommandParameters['api.fieldCaption'] = fieldName;\r\n\t\t\tcommandParameters['api.ObjectTextIDs'] = values;\r\n\t\t\tthis.$addVisualIdToCommand(commandParameters);\r\n\t\t\tvar returnHandler = new (ss.makeGenericType($tab_CommandReturnHandler$1, [Object]))('api.HighlightMarksCommand', 0, function(result) {\r\n\t\t\t\tdeferred.resolve();\r\n\t\t\t}, function(remoteError, message) {\r\n\t\t\t\tdeferred.reject($tab__TableauException.createServerError(message));\r\n\t\t\t});\r\n\t\t\tthis.sendCommand(Object).call(this, commandParameters, returnHandler);\r\n\t\t\treturn deferred.get_promise();\r\n\t\t},\r\n\t\t$highlightMarksByPatternMatchAsync: function WorksheetImpl$HighlightMarksByPatternMatchAsync(fieldName, patternMatch) {\r\n\t\t\t$tab__Param.verifyString(fieldName, 'fieldName');\r\n\t\t\t$tab__Param.verifyString(patternMatch, 'patternMatch');\r\n\t\t\tthis.$verifyActiveSheetOrEmbeddedInActiveDashboard();\r\n\t\t\tvar deferred = new tab._Deferred();\r\n\t\t\tvar commandParameters = {};\r\n\t\t\tcommandParameters['api.filterUpdateType'] = 'replace';\r\n\t\t\tcommandParameters['api.fieldCaption'] = fieldName;\r\n\t\t\tcommandParameters['api.Pattern'] = patternMatch;\r\n\t\t\tthis.$addVisualIdToCommand(commandParameters);\r\n\t\t\tvar returnHandler = new (ss.makeGenericType($tab_CommandReturnHandler$1, [Object]))('api.HighlightMarksByPatternMatch', 0, function(result) {\r\n\t\t\t\tdeferred.resolve();\r\n\t\t\t}, function(remoteError, message) {\r\n\t\t\t\tdeferred.reject($tab__TableauException.createServerError(message));\r\n\t\t\t});\r\n\t\t\tthis.sendCommand(Object).call(this, commandParameters, returnHandler);\r\n\t\t\treturn deferred.get_promise();\r\n\t\t},\r\n\t\t$getHighlightedMarksAsync: function WorksheetImpl$GetHighlightedMarksAsync() {\r\n\t\t\tthis.$verifyActiveSheetOrEmbeddedInActiveDashboard();\r\n\t\t\tvar deferred = new tab._Deferred();\r\n\t\t\tvar commandParameters = {};\r\n\t\t\tthis.$addVisualIdToCommand(commandParameters);\r\n\t\t\tvar returnHandler = new (ss.makeGenericType($tab_CommandReturnHandler$1, [Object]))('api.FetchHighlightedMarksCommand', 0, ss.mkdel(this, function(result) {\r\n\t\t\t\tthis.highlightedMarks = $tab_$MarkImpl.$processActiveMarks(result);\r\n\t\t\t\tdeferred.resolve(this.highlightedMarks._toApiCollection());\r\n\t\t\t}), function(remoteError, message) {\r\n\t\t\t\tdeferred.reject($tab__TableauException.createServerError(message));\r\n\t\t\t});\r\n\t\t\tthis.sendCommand(Object).call(this, commandParameters, returnHandler);\r\n\t\t\treturn deferred.get_promise();\r\n\t\t}\r\n\t}, $tab__SheetImpl);\r\n\tss.initEnum($tab_ApiDashboardObjectType, $asm, { blank: 'blank', worksheet: 'worksheet', quickFilter: 'quickFilter', parameterControl: 'parameterControl', pageFilter: 'pageFilter', legend: 'legend', title: 'title', text: 'text', image: 'image', webPage: 'webPage' }, true);\r\n\tss.initEnum($tab_ApiDateRangeType, $asm, { last: 'last', lastn: 'lastn', next: 'next', nextn: 'nextn', curr: 'curr', todate: 'todate' }, true);\r\n\tss.initEnum($tab_ApiDeviceType, $asm, { default: 'default', desktop: 'desktop', tablet: 'tablet', phone: 'phone' }, true);\r\n\tss.initClass($tab_ApiEnumConverter, $asm, {});\r\n\tss.initEnum($tab_ApiErrorCode, $asm, { internalError: 'internalError', serverError: 'serverError', invalidAggregationFieldName: 'invalidAggregationFieldName', invalidParameter: 'invalidParameter', invalidUrl: 'invalidUrl', staleDataReference: 'staleDataReference', vizAlreadyInManager: 'vizAlreadyInManager', noUrlOrParentElementNotFound: 'noUrlOrParentElementNotFound', invalidFilterFieldName: 'invalidFilterFieldName', invalidFilterFieldValue: 'invalidFilterFieldValue', invalidFilterFieldNameOrValue: 'invalidFilterFieldNameOrValue', filterCannotBePerformed: 'filterCannotBePerformed', notActiveSheet: 'notActiveSheet', invalidCustomViewName: 'invalidCustomViewName', missingRangeNForRelativeDateFilters: 'missingRangeNForRelativeDateFilters', missingMaxSize: 'missingMaxSize', missingMinSize: 'missingMinSize', missingMinMaxSize: 'missingMinMaxSize', invalidSize: 'invalidSize', invalidSizeBehaviorOnWorksheet: 'invalidSizeBehaviorOnWorksheet', sheetNotInWorkbook: 'sheetNotInWorkbook', indexOutOfRange: 'indexOutOfRange', downloadWorkbookNotAllowed: 'downloadWorkbookNotAllowed', nullOrEmptyParameter: 'nullOrEmptyParameter', browserNotCapable: 'browserNotCapable', unsupportedEventName: 'unsupportedEventName', invalidDateParameter: 'invalidDateParameter', invalidSelectionFieldName: 'invalidSelectionFieldName', invalidSelectionValue: 'invalidSelectionValue', invalidSelectionDate: 'invalidSelectionDate', noUrlForHiddenWorksheet: 'noUrlForHiddenWorksheet', maxVizResizeAttempts: 'maxVizResizeAttempts' }, true);\r\n\tss.initEnum($tab_ApiFieldAggregationType, $asm, { SUM: 'SUM', AVG: 'AVG', MIN: 'MIN', MAX: 'MAX', STDEV: 'STDEV', STDEVP: 'STDEVP', VAR: 'VAR', VARP: 'VARP', COUNT: 'COUNT', COUNTD: 'COUNTD', MEDIAN: 'MEDIAN', ATTR: 'ATTR', NONE: 'NONE', PERCENTILE: 'PERCENTILE', YEAR: 'YEAR', QTR: 'QTR', MONTH: 'MONTH', DAY: 'DAY', HOUR: 'HOUR', MINUTE: 'MINUTE', SECOND: 'SECOND', WEEK: 'WEEK', WEEKDAY: 'WEEKDAY', MONTHYEAR: 'MONTHYEAR', MDY: 'MDY', END: 'END', TRUNC_YEAR: 'TRUNC_YEAR', TRUNC_QTR: 'TRUNC_QTR', TRUNC_MONTH: 'TRUNC_MONTH', TRUNC_WEEK: 'TRUNC_WEEK', TRUNC_DAY: 'TRUNC_DAY', TRUNC_HOUR: 'TRUNC_HOUR', TRUNC_MINUTE: 'TRUNC_MINUTE', TRUNC_SECOND: 'TRUNC_SECOND', QUART1: 'QUART1', QUART3: 'QUART3', SKEWNESS: 'SKEWNESS', KURTOSIS: 'KURTOSIS', INOUT: 'INOUT', SUM_XSQR: 'SUM_XSQR', USER: 'USER' }, true);\r\n\tss.initEnum($tab_ApiFieldRoleType, $asm, { dimension: 'dimension', measure: 'measure', unknown: 'unknown' }, true);\r\n\tss.initEnum($tab_ApiFilterType, $asm, { categorical: 'categorical', quantitative: 'quantitative', hierarchical: 'hierarchical', relativedate: 'relativedate' }, true);\r\n\tss.initEnum($tab_ApiFilterUpdateType, $asm, { all: 'all', replace: 'replace', add: 'add', remove: 'remove' }, true);\r\n\tss.initEnum($tab_ApiNullOption, $asm, { nullValues: 'nullValues', nonNullValues: 'nonNullValues', allValues: 'allValues' }, true);\r\n\tss.initEnum($tab_ApiParameterAllowableValuesType, $asm, { all: 'all', list: 'list', range: 'range' }, true);\r\n\tss.initEnum($tab_ApiParameterDataType, $asm, { float: 'float', integer: 'integer', string: 'string', boolean: 'boolean', date: 'date', datetime: 'datetime' }, true);\r\n\tss.initEnum($tab_ApiPeriodType, $asm, { year: 'year', quarter: 'quarter', month: 'month', week: 'week', day: 'day', hour: 'hour', minute: 'minute', second: 'second' }, true);\r\n\tss.initEnum($tab_ApiSelectionUpdateType, $asm, { replace: 'replace', add: 'add', remove: 'remove' }, true);\r\n\tss.initEnum($tab_ApiSheetSizeBehavior, $asm, { automatic: 'automatic', exactly: 'exactly', range: 'range', atleast: 'atleast', atmost: 'atmost' }, true);\r\n\tss.initEnum($tab_ApiSheetType, $asm, { worksheet: 'worksheet', dashboard: 'dashboard', story: 'story' }, true);\r\n\tss.initEnum($tab_ApiTableauEventName, $asm, { customviewload: 'customviewload', customviewremove: 'customviewremove', customviewsave: 'customviewsave', customviewsetdefault: 'customviewsetdefault', filterchange: 'filterchange', firstinteractive: 'firstinteractive', firstvizsizeknown: 'firstvizsizeknown', marksselection: 'marksselection', markshighlight: 'markshighlight', parametervaluechange: 'parametervaluechange', storypointswitch: 'storypointswitch', tabswitch: 'tabswitch', vizresize: 'vizresize' }, true);\r\n\tss.initEnum($tab_ApiToolbarPosition, $asm, { top: 'top', bottom: 'bottom' }, true);\r\n\tss.initClass($tab_CrossDomainMessagingOptions, $asm, {\r\n\t\tget_router: function CrossDomainMessagingOptions$get_Router() {\r\n\t\t\treturn this.$router;\r\n\t\t},\r\n\t\tget_handler: function CrossDomainMessagingOptions$get_Handler() {\r\n\t\t\treturn this.$handler;\r\n\t\t},\r\n\t\tsendCommand: function(T) {\r\n\t\t\treturn function CrossDomainMessagingOptions$SendCommand(commandParameters, returnHandler) {\r\n\t\t\t\tthis.$router.sendCommand(T).call(this.$router, this.$handler, commandParameters, returnHandler);\r\n\t\t\t};\r\n\t\t}\r\n\t});\r\n\tss.initClass($tab_TableauEvent, $asm, {\r\n\t\tgetViz: function TableauEvent$GetViz() {\r\n\t\t\treturn this.$viz;\r\n\t\t},\r\n\t\tgetEventName: function TableauEvent$GetEventName() {\r\n\t\t\treturn this.$eventName;\r\n\t\t}\r\n\t});\r\n\tss.initClass($tab_CustomViewEvent, $asm, {\r\n\t\tgetCustomViewAsync: function CustomViewEvent$GetCustomViewAsync() {\r\n\t\t\tvar deferred = new tab._Deferred();\r\n\t\t\tvar customView = null;\r\n\t\t\tif (ss.isValue(this.$context.get__customViewImpl())) {\r\n\t\t\t\tcustomView = this.$context.get__customViewImpl().get_$customView();\r\n\t\t\t}\r\n\t\t\tdeferred.resolve(customView);\r\n\t\t\treturn deferred.get_promise();\r\n\t\t}\r\n\t}, $tab_TableauEvent);\r\n\tss.initEnum($tab_DataType, $asm, { float: 'float', integer: 'integer', string: 'string', boolean: 'boolean', date: 'date', datetime: 'datetime' }, true);\r\n\tss.initClass($tab_DataValue, $asm, {}, Object);\r\n\tss.initClass($tab_WorksheetEvent, $asm, {\r\n\t\tgetWorksheet: function WorksheetEvent$GetWorksheet() {\r\n\t\t\treturn this.$worksheetImpl.get_worksheet();\r\n\t\t}\r\n\t}, $tab_TableauEvent);\r\n\tss.initClass($tab_FilterEvent, $asm, {\r\n\t\tgetFieldName: function FilterEvent$GetFieldName() {\r\n\t\t\treturn this.$filterCaption;\r\n\t\t},\r\n\t\tgetFilterAsync: function FilterEvent$GetFilterAsync() {\r\n\t\t\treturn this.$context.get__worksheetImpl().$getFilterAsync(this.$context.get__filterFieldName(), null, null);\r\n\t\t}\r\n\t}, $tab_WorksheetEvent);\r\n\tss.initClass($tab_FirstVizSizeKnownEvent, $asm, {\r\n\t\tgetVizSize: function FirstVizSizeKnownEvent$GetVizSize() {\r\n\t\t\treturn this.$vizSize;\r\n\t\t}\r\n\t}, $tab_TableauEvent);\r\n\tss.initClass($tab_HighlightEvent, $asm, {\r\n\t\tgetHighlightedMarksAsync: function HighlightEvent$GetHighlightedMarksAsync() {\r\n\t\t\tvar worksheetImpl = this.$context.get__worksheetImpl();\r\n\t\t\treturn worksheetImpl.$getHighlightedMarksAsync();\r\n\t\t}\r\n\t}, $tab_WorksheetEvent);\r\n\tss.initClass($tab_MarksEvent, $asm, {\r\n\t\tgetMarksAsync: function MarksEvent$GetMarksAsync() {\r\n\t\t\tvar worksheetImpl = this.$context.get__worksheetImpl();\r\n\t\t\tif (ss.isValue(worksheetImpl.get_selectedMarks())) {\r\n\t\t\t\tvar deferred = new tab._Deferred();\r\n\t\t\t\treturn deferred.resolve(worksheetImpl.get_selectedMarks()._toApiCollection());\r\n\t\t\t}\r\n\t\t\treturn worksheetImpl.$getSelectedMarksAsync();\r\n\t\t}\r\n\t}, $tab_WorksheetEvent);\r\n\tss.initClass($tab_ParameterEvent, $asm, {\r\n\t\tgetParameterName: function ParameterEvent$GetParameterName() {\r\n\t\t\treturn this.$context.get__parameterName();\r\n\t\t},\r\n\t\tgetParameterAsync: function ParameterEvent$GetParameterAsync() {\r\n\t\t\treturn this.$context.get__workbookImpl().$getSingleParameterAsync(this.$context.get__parameterName());\r\n\t\t}\r\n\t}, $tab_TableauEvent);\r\n\tss.initClass($tab_Point, $asm, {}, Object);\r\n\tss.initClass($tab_SheetSize, $asm, {}, Object);\r\n\tss.initClass($tab_SheetSizeFactory, $asm, {});\r\n\tss.initClass($tab_Size, $asm, {}, Object);\r\n\tss.initClass($tab_StoryPointInfoImplUtil, $asm, {});\r\n\tss.initClass($tab_StoryPointSwitchEvent, $asm, {\r\n\t\tgetOldStoryPointInfo: function StoryPointSwitchEvent$GetOldStoryPointInfo() {\r\n\t\t\treturn this.$oldStoryPointInfo;\r\n\t\t},\r\n\t\tgetNewStoryPoint: function StoryPointSwitchEvent$GetNewStoryPoint() {\r\n\t\t\treturn this.$newStoryPoint;\r\n\t\t}\r\n\t}, $tab_TableauEvent);\r\n\tss.initClass($tab_TabSwitchEvent, $asm, {\r\n\t\tgetOldSheetName: function TabSwitchEvent$GetOldSheetName() {\r\n\t\t\treturn this.$oldName;\r\n\t\t},\r\n\t\tgetNewSheetName: function TabSwitchEvent$GetNewSheetName() {\r\n\t\t\treturn this.$newName;\r\n\t\t}\r\n\t}, $tab_TableauEvent);\r\n\tss.initClass($tab_VizImpl, $asm, {\r\n\t\tadd_customViewsListLoad: function VizImpl$add_CustomViewsListLoad(value) {\r\n\t\t\tthis.$1$CustomViewsListLoadField = ss.delegateCombine(this.$1$CustomViewsListLoadField, value);\r\n\t\t},\r\n\t\tremove_customViewsListLoad: function VizImpl$remove_CustomViewsListLoad(value) {\r\n\t\t\tthis.$1$CustomViewsListLoadField = ss.delegateRemove(this.$1$CustomViewsListLoadField, value);\r\n\t\t},\r\n\t\tadd_stateReadyForQuery: function VizImpl$add_StateReadyForQuery(value) {\r\n\t\t\tthis.$1$StateReadyForQueryField = ss.delegateCombine(this.$1$StateReadyForQueryField, value);\r\n\t\t},\r\n\t\tremove_stateReadyForQuery: function VizImpl$remove_StateReadyForQuery(value) {\r\n\t\t\tthis.$1$StateReadyForQueryField = ss.delegateRemove(this.$1$StateReadyForQueryField, value);\r\n\t\t},\r\n\t\tadd_$marksSelection: function VizImpl$add_MarksSelection(value) {\r\n\t\t\tthis.$1$MarksSelectionField = ss.delegateCombine(this.$1$MarksSelectionField, value);\r\n\t\t},\r\n\t\tremove_$marksSelection: function VizImpl$remove_MarksSelection(value) {\r\n\t\t\tthis.$1$MarksSelectionField = ss.delegateRemove(this.$1$MarksSelectionField, value);\r\n\t\t},\r\n\t\tadd_$marksHighlight: function VizImpl$add_MarksHighlight(value) {\r\n\t\t\tthis.$1$MarksHighlightField = ss.delegateCombine(this.$1$MarksHighlightField, value);\r\n\t\t},\r\n\t\tremove_$marksHighlight: function VizImpl$remove_MarksHighlight(value) {\r\n\t\t\tthis.$1$MarksHighlightField = ss.delegateRemove(this.$1$MarksHighlightField, value);\r\n\t\t},\r\n\t\tadd_$filterChange: function VizImpl$add_FilterChange(value) {\r\n\t\t\tthis.$1$FilterChangeField = ss.delegateCombine(this.$1$FilterChangeField, value);\r\n\t\t},\r\n\t\tremove_$filterChange: function VizImpl$remove_FilterChange(value) {\r\n\t\t\tthis.$1$FilterChangeField = ss.delegateRemove(this.$1$FilterChangeField, value);\r\n\t\t},\r\n\t\tadd_$parameterValueChange: function VizImpl$add_ParameterValueChange(value) {\r\n\t\t\tthis.$1$ParameterValueChangeField = ss.delegateCombine(this.$1$ParameterValueChangeField, value);\r\n\t\t},\r\n\t\tremove_$parameterValueChange: function VizImpl$remove_ParameterValueChange(value) {\r\n\t\t\tthis.$1$ParameterValueChangeField = ss.delegateRemove(this.$1$ParameterValueChangeField, value);\r\n\t\t},\r\n\t\tadd_$customViewLoad: function VizImpl$add_CustomViewLoad(value) {\r\n\t\t\tthis.$1$CustomViewLoadField = ss.delegateCombine(this.$1$CustomViewLoadField, value);\r\n\t\t},\r\n\t\tremove_$customViewLoad: function VizImpl$remove_CustomViewLoad(value) {\r\n\t\t\tthis.$1$CustomViewLoadField = ss.delegateRemove(this.$1$CustomViewLoadField, value);\r\n\t\t},\r\n\t\tadd_$customViewSave: function VizImpl$add_CustomViewSave(value) {\r\n\t\t\tthis.$1$CustomViewSaveField = ss.delegateCombine(this.$1$CustomViewSaveField, value);\r\n\t\t},\r\n\t\tremove_$customViewSave: function VizImpl$remove_CustomViewSave(value) {\r\n\t\t\tthis.$1$CustomViewSaveField = ss.delegateRemove(this.$1$CustomViewSaveField, value);\r\n\t\t},\r\n\t\tadd_$customViewRemove: function VizImpl$add_CustomViewRemove(value) {\r\n\t\t\tthis.$1$CustomViewRemoveField = ss.delegateCombine(this.$1$CustomViewRemoveField, value);\r\n\t\t},\r\n\t\tremove_$customViewRemove: function VizImpl$remove_CustomViewRemove(value) {\r\n\t\t\tthis.$1$CustomViewRemoveField = ss.delegateRemove(this.$1$CustomViewRemoveField, value);\r\n\t\t},\r\n\t\tadd_$customViewSetDefault: function VizImpl$add_CustomViewSetDefault(value) {\r\n\t\t\tthis.$1$CustomViewSetDefaultField = ss.delegateCombine(this.$1$CustomViewSetDefaultField, value);\r\n\t\t},\r\n\t\tremove_$customViewSetDefault: function VizImpl$remove_CustomViewSetDefault(value) {\r\n\t\t\tthis.$1$CustomViewSetDefaultField = ss.delegateRemove(this.$1$CustomViewSetDefaultField, value);\r\n\t\t},\r\n\t\tadd_$tabSwitch: function VizImpl$add_TabSwitch(value) {\r\n\t\t\tthis.$1$TabSwitchField = ss.delegateCombine(this.$1$TabSwitchField, value);\r\n\t\t},\r\n\t\tremove_$tabSwitch: function VizImpl$remove_TabSwitch(value) {\r\n\t\t\tthis.$1$TabSwitchField = ss.delegateRemove(this.$1$TabSwitchField, value);\r\n\t\t},\r\n\t\tadd_$storyPointSwitch: function VizImpl$add_StoryPointSwitch(value) {\r\n\t\t\tthis.$1$StoryPointSwitchField = ss.delegateCombine(this.$1$StoryPointSwitchField, value);\r\n\t\t},\r\n\t\tremove_$storyPointSwitch: function VizImpl$remove_StoryPointSwitch(value) {\r\n\t\t\tthis.$1$StoryPointSwitchField = ss.delegateRemove(this.$1$StoryPointSwitchField, value);\r\n\t\t},\r\n\t\tadd_$vizResize: function VizImpl$add_VizResize(value) {\r\n\t\t\tthis.$1$VizResizeField = ss.delegateCombine(this.$1$VizResizeField, value);\r\n\t\t},\r\n\t\tremove_$vizResize: function VizImpl$remove_VizResize(value) {\r\n\t\t\tthis.$1$VizResizeField = ss.delegateRemove(this.$1$VizResizeField, value);\r\n\t\t},\r\n\t\tget_hostId: function VizImpl$get_HostId() {\r\n\t\t\treturn this.$parameters.hostId;\r\n\t\t},\r\n\t\tset_hostId: function VizImpl$set_HostId(value) {\r\n\t\t\tthis.$parameters.hostId = value;\r\n\t\t},\r\n\t\tget_iframe: function VizImpl$get_Iframe() {\r\n\t\t\treturn this.$iframe;\r\n\t\t},\r\n\t\tget_instanceId: function VizImpl$get_InstanceId() {\r\n\t\t\treturn this.$instanceId;\r\n\t\t},\r\n\t\tset_instanceId: function VizImpl$set_InstanceId(value) {\r\n\t\t\tthis.$instanceId = value;\r\n\t\t},\r\n\t\tget_$viz: function VizImpl$get_Viz() {\r\n\t\t\treturn this.$viz;\r\n\t\t},\r\n\t\tget_$areTabsHidden: function VizImpl$get_AreTabsHidden() {\r\n\t\t\treturn this.$areTabsHidden;\r\n\t\t},\r\n\t\tget_$isToolbarHidden: function VizImpl$get_IsToolbarHidden() {\r\n\t\t\treturn this.$isToolbarHidden;\r\n\t\t},\r\n\t\tget_$isHidden: function VizImpl$get_IsHidden() {\r\n\t\t\treturn this.$iframe.style.display === 'none';\r\n\t\t},\r\n\t\tget_$parentElement: function VizImpl$get_ParentElement() {\r\n\t\t\treturn this.$parameters.parentElement;\r\n\t\t},\r\n\t\tget_$url: function VizImpl$get_Url() {\r\n\t\t\treturn this.$parameters.get_baseUrl();\r\n\t\t},\r\n\t\tget_$workbook: function VizImpl$get_Workbook() {\r\n\t\t\treturn this.$workbookImpl.get_workbook();\r\n\t\t},\r\n\t\tget__workbookImpl: function VizImpl$get_WorkbookImpl() {\r\n\t\t\treturn this.$workbookImpl;\r\n\t\t},\r\n\t\tget_$areAutomaticUpdatesPaused: function VizImpl$get_AreAutomaticUpdatesPaused() {\r\n\t\t\treturn this.$areAutomaticUpdatesPaused;\r\n\t\t},\r\n\t\tget_$vizSize: function VizImpl$get_VizSize() {\r\n\t\t\treturn this.$vizSize;\r\n\t\t},\r\n\t\tgetCurrentUrlAsync: function VizImpl$GetCurrentUrlAsync() {\r\n\t\t\tvar deferred = new tab._Deferred();\r\n\t\t\tvar returnHandler = new (ss.makeGenericType($tab_CommandReturnHandler$1, [String]))('api.GetCurrentUrlCommand', 0, function(result) {\r\n\t\t\t\tdeferred.resolve(result);\r\n\t\t\t}, function(remoteError, message) {\r\n\t\t\t\tdeferred.reject($tab__TableauException.createInternalError(message));\r\n\t\t\t});\r\n\t\t\tthis._sendCommand(String).call(this, null, returnHandler);\r\n\t\t\treturn deferred.get_promise();\r\n\t\t},\r\n\t\thandleVizListening: function VizImpl$HandleVizListening() {\r\n\t\t\tthis.$enableVisibleRectCommunication();\r\n\t\t},\r\n\t\thandleVizLoad: function VizImpl$HandleVizLoad() {\r\n\t\t\tif (ss.isNullOrUndefined(this.$vizSize)) {\r\n\t\t\t\tthis.$setFrameSize(this.$initialAvailableSize.width + 'px', this.$initialAvailableSize.height + 'px');\r\n\t\t\t\tthis.$show();\r\n\t\t\t}\r\n\t\t\tif (ss.isValue(this.$staticImage)) {\r\n\t\t\t\tthis.$staticImage.style.display = 'none';\r\n\t\t\t}\r\n\t\t\tif (ss.isNullOrUndefined(this.$workbookImpl)) {\r\n\t\t\t\tthis.$workbookImpl = new $tab__WorkbookImpl(this, this.$messagingOptions, ss.mkdel(this, function() {\r\n\t\t\t\t\tthis.$onWorkbookInteractive(null);\r\n\t\t\t\t}));\r\n\t\t\t}\r\n\t\t\telse if (!this.$initializingWorkbookImpl) {\r\n\t\t\t\tthis.$workbookImpl._update(ss.mkdel(this, function() {\r\n\t\t\t\t\tthis.$onWorkbookInteractive(null);\r\n\t\t\t\t}));\r\n\t\t\t}\r\n\t\t},\r\n\t\t$calculateFrameSize: function VizImpl$CalculateFrameSize(availableSize) {\r\n\t\t\tvar chromeHeight = this.$vizSize.chromeHeight;\r\n\t\t\tvar sheetSize = this.$vizSize.sheetSize;\r\n\t\t\tvar width = 0;\r\n\t\t\tvar height = 0;\r\n\t\t\tif (sheetSize.behavior === 'exactly') {\r\n\t\t\t\twidth = sheetSize.maxSize.width;\r\n\t\t\t\theight = sheetSize.maxSize.height + chromeHeight;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tvar minWidth;\r\n\t\t\t\tvar maxWidth;\r\n\t\t\t\tvar minHeight;\r\n\t\t\t\tvar maxHeight;\r\n\t\t\t\tswitch (sheetSize.behavior) {\r\n\t\t\t\t\tcase 'range': {\r\n\t\t\t\t\t\tminWidth = sheetSize.minSize.width;\r\n\t\t\t\t\t\tmaxWidth = sheetSize.maxSize.width;\r\n\t\t\t\t\t\tminHeight = sheetSize.minSize.height + chromeHeight;\r\n\t\t\t\t\t\tmaxHeight = sheetSize.maxSize.height + chromeHeight;\r\n\t\t\t\t\t\twidth = Math.max(minWidth, Math.min(maxWidth, availableSize.width));\r\n\t\t\t\t\t\theight = Math.max(minHeight, Math.min(maxHeight, availableSize.height));\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase 'atleast': {\r\n\t\t\t\t\t\tminWidth = sheetSize.minSize.width;\r\n\t\t\t\t\t\tminHeight = sheetSize.minSize.height + chromeHeight;\r\n\t\t\t\t\t\twidth = Math.max(minWidth, availableSize.width);\r\n\t\t\t\t\t\theight = Math.max(minHeight, availableSize.height);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase 'atmost': {\r\n\t\t\t\t\t\tmaxWidth = sheetSize.maxSize.width;\r\n\t\t\t\t\t\tmaxHeight = sheetSize.maxSize.height + chromeHeight;\r\n\t\t\t\t\t\twidth = Math.min(maxWidth, availableSize.width);\r\n\t\t\t\t\t\theight = Math.min(maxHeight, availableSize.height);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcase 'automatic': {\r\n\t\t\t\t\t\twidth = availableSize.width;\r\n\t\t\t\t\t\theight = Math.max(availableSize.height, chromeHeight);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdefault: {\r\n\t\t\t\t\t\tthrow $tab__TableauException.createInternalError('Unknown SheetSizeBehavior for viz: ' + sheetSize.behavior.toString());\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn $tab_Size.$ctor(width, height);\r\n\t\t},\r\n\t\t$getNewFrameSize: function VizImpl$GetNewFrameSize() {\r\n\t\t\tvar availableSize;\r\n\t\t\tif (ss.isValue(this.$initialAvailableSize)) {\r\n\t\t\t\tavailableSize = this.$initialAvailableSize;\r\n\t\t\t\tthis.$initialAvailableSize = null;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tavailableSize = $tab__Utility.computeContentSize(this.get_$parentElement());\r\n\t\t\t}\r\n\t\t\tthis.$raiseVizResizeEvent(availableSize);\r\n\t\t\treturn this.$calculateFrameSize(availableSize);\r\n\t\t},\r\n\t\t$refreshSize: function VizImpl$RefreshSize() {\r\n\t\t\tif (!ss.isValue(this.$vizSize)) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tvar frameSize = this.$getNewFrameSize();\r\n\t\t\tif (frameSize.height === this.$vizSize.chromeHeight) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tthis.$setFrameSize(frameSize.width + 'px', frameSize.height + 'px');\r\n\t\t\tvar resizeAttempts = 10;\r\n\t\t\tfor (var i = 0; i < resizeAttempts; i++) {\r\n\t\t\t\tvar newFrameSize = this.$getNewFrameSize();\r\n\t\t\t\tif (ss.referenceEquals(JSON.stringify(frameSize), JSON.stringify(newFrameSize))) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tframeSize = newFrameSize;\r\n\t\t\t\tthis.$setFrameSize(frameSize.width + 'px', frameSize.height + 'px');\r\n\t\t\t}\r\n\t\t\tthrow $tab__TableauException.create('maxVizResizeAttempts', 'Viz resize limit hit. The calculated iframe size did not stabilize after ' + resizeAttempts + ' resizes.');\r\n\t\t},\r\n\t\thandleEventNotification: function VizImpl$HandleEventNotification(eventName, eventParameters) {\r\n\t\t\tvar notification = $tab__ApiServerNotification.deserialize(eventParameters);\r\n\t\t\tswitch (eventName) {\r\n\t\t\t\tcase 'api.FirstVizSizeKnownEvent': {\r\n\t\t\t\t\tthis.$handleFirstVizSizeKnownEvent(notification);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t\tcase 'api.VizInteractiveEvent': {\r\n\t\t\t\t\tthis.$handleVizInteractiveEvent(notification);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t\tcase 'api.MarksSelectionChangedEvent': {\r\n\t\t\t\t\tthis.$handleMarksSelectionChangedEvent(notification);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t\tcase 'api.MarksHighlightChangedEvent': {\r\n\t\t\t\t\tthis.$handleMarksHighlightChangedEvent(notification);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t\tcase 'api.FilterChangedEvent': {\r\n\t\t\t\t\tthis.$handleFilterChangedEvent(notification);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t\tcase 'api.ParameterChangedEvent': {\r\n\t\t\t\t\tthis.$handleParameterChangedEvent(notification);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t\tcase 'api.CustomViewsListLoadedEvent': {\r\n\t\t\t\t\tthis.$handleCustomViewsListLoadedEvent(notification);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t\tcase 'api.CustomViewUpdatedEvent': {\r\n\t\t\t\t\tthis.$handleCustomViewUpdatedEvent(notification);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t\tcase 'api.CustomViewRemovedEvent': {\r\n\t\t\t\t\tthis.$handleCustomViewRemovedEvent();\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t\tcase 'api.CustomViewSetDefaultEvent': {\r\n\t\t\t\t\tthis.$handleCustomViewSetDefaultEvent(notification);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t\tcase 'api.TabSwitchEvent': {\r\n\t\t\t\t\tthis.$handleTabSwitchEvent(notification);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t\tcase 'api.StorytellingStateChangedEvent': {\r\n\t\t\t\t\tthis.$handleStorytellingStateChangedEvent(notification);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\taddEventListener: function VizImpl$AddEventListener(eventName, handler) {\r\n\t\t\tvar normalizedEventName = {};\r\n\t\t\tif (!$tab_$PublicEnums.$tryNormalizeEnum($tab_ApiTableauEventName).call(null, eventName, normalizedEventName)) {\r\n\t\t\t\tthrow $tab__TableauException.createUnsupportedEventName(eventName.toString());\r\n\t\t\t}\r\n\t\t\tswitch (normalizedEventName.$) {\r\n\t\t\t\tcase 'marksselection': {\r\n\t\t\t\t\tthis.add_$marksSelection(ss.cast(handler, Function));\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t\tcase 'markshighlight': {\r\n\t\t\t\t\tthis.add_$marksHighlight(ss.cast(handler, Function));\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t\tcase 'parametervaluechange': {\r\n\t\t\t\t\tthis.add_$parameterValueChange(ss.cast(handler, Function));\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t\tcase 'filterchange': {\r\n\t\t\t\t\tthis.add_$filterChange(ss.cast(handler, Function));\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t\tcase 'customviewload': {\r\n\t\t\t\t\tthis.add_$customViewLoad(ss.cast(handler, Function));\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t\tcase 'customviewsave': {\r\n\t\t\t\t\tthis.add_$customViewSave(ss.cast(handler, Function));\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t\tcase 'customviewremove': {\r\n\t\t\t\t\tthis.add_$customViewRemove(ss.cast(handler, Function));\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t\tcase 'customviewsetdefault': {\r\n\t\t\t\t\tthis.add_$customViewSetDefault(ss.cast(handler, Function));\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t\tcase 'tabswitch': {\r\n\t\t\t\t\tthis.add_$tabSwitch(ss.cast(handler, Function));\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t\tcase 'storypointswitch': {\r\n\t\t\t\t\tthis.add_$storyPointSwitch(ss.cast(handler, Function));\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t\tcase 'vizresize': {\r\n\t\t\t\t\tthis.add_$vizResize(ss.cast(handler, Function));\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\tremoveEventListener: function VizImpl$RemoveEventListener(eventName, handler) {\r\n\t\t\tvar normalizedEventName = {};\r\n\t\t\tif (!$tab_$PublicEnums.$tryNormalizeEnum($tab_ApiTableauEventName).call(null, eventName, normalizedEventName)) {\r\n\t\t\t\tthrow $tab__TableauException.createUnsupportedEventName(eventName.toString());\r\n\t\t\t}\r\n\t\t\tswitch (normalizedEventName.$) {\r\n\t\t\t\tcase 'marksselection': {\r\n\t\t\t\t\tthis.remove_$marksSelection(ss.cast(handler, Function));\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t\tcase 'markshighlight': {\r\n\t\t\t\t\tthis.remove_$marksHighlight(ss.cast(handler, Function));\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t\tcase 'parametervaluechange': {\r\n\t\t\t\t\tthis.remove_$parameterValueChange(ss.cast(handler, Function));\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t\tcase 'filterchange': {\r\n\t\t\t\t\tthis.remove_$filterChange(ss.cast(handler, Function));\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t\tcase 'customviewload': {\r\n\t\t\t\t\tthis.remove_$customViewLoad(ss.cast(handler, Function));\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t\tcase 'customviewsave': {\r\n\t\t\t\t\tthis.remove_$customViewSave(ss.cast(handler, Function));\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t\tcase 'customviewremove': {\r\n\t\t\t\t\tthis.remove_$customViewRemove(ss.cast(handler, Function));\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t\tcase 'customviewsetdefault': {\r\n\t\t\t\t\tthis.remove_$customViewSetDefault(ss.cast(handler, Function));\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t\tcase 'tabswitch': {\r\n\t\t\t\t\tthis.remove_$tabSwitch(ss.cast(handler, Function));\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t\tcase 'storypointswitch': {\r\n\t\t\t\t\tthis.remove_$storyPointSwitch(ss.cast(handler, Function));\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t\tcase 'vizresize': {\r\n\t\t\t\t\tthis.remove_$vizResize(ss.cast(handler, Function));\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\t$dispose: function VizImpl$Dispose() {\r\n\t\t\tif (ss.isValue(this.$iframe)) {\r\n\t\t\t\tthis.$iframe.parentNode.removeChild(this.$iframe);\r\n\t\t\t\tthis.$iframe = null;\r\n\t\t\t}\r\n\t\t\t$tab__VizManagerImpl.$unregisterViz(this.$viz);\r\n\t\t\tthis.$messagingOptions.get_router().unregisterHandler(this);\r\n\t\t\tthis.$removeWindowResizeHandler();\r\n\t\t},\r\n\t\t$show: function VizImpl$Show() {\r\n\t\t\tthis.$iframe.style.display = 'block';\r\n\t\t\tthis.$iframe.style.visibility = 'visible';\r\n\t\t},\r\n\t\t$hide: function VizImpl$Hide() {\r\n\t\t\tthis.$iframe.style.display = 'none';\r\n\t\t},\r\n\t\t$makeInvisible: function VizImpl$MakeInvisible() {\r\n\t\t\tthis.$iframe.style.visibility = 'hidden';\r\n\t\t},\r\n\t\t$showExportImageDialog: function VizImpl$ShowExportImageDialog() {\r\n\t\t\tthis.$invokeCommand('showExportImageDialog');\r\n\t\t},\r\n\t\t$showExportDataDialog: function VizImpl$ShowExportDataDialog(sheetOrInfoOrName) {\r\n\t\t\tvar sheetName = this.$verifyOperationAllowedOnActiveSheetOrSheetWithinActiveDashboard(sheetOrInfoOrName);\r\n\t\t\tthis.$invokeCommand('showExportDataDialog', sheetName);\r\n\t\t},\r\n\t\t$showExportCrossTabDialog: function VizImpl$ShowExportCrossTabDialog(sheetOrInfoOrName) {\r\n\t\t\tvar sheetName = this.$verifyOperationAllowedOnActiveSheetOrSheetWithinActiveDashboard(sheetOrInfoOrName);\r\n\t\t\tthis.$invokeCommand('showExportCrosstabDialog', sheetName);\r\n\t\t},\r\n\t\t$showExportPDFDialog: function VizImpl$ShowExportPDFDialog() {\r\n\t\t\tthis.$invokeCommand('showExportPDFDialog');\r\n\t\t},\r\n\t\t$revertAllAsync: function VizImpl$RevertAllAsync() {\r\n\t\t\tvar deferred = new tab._Deferred();\r\n\t\t\tvar returnHandler = new (ss.makeGenericType($tab_CommandReturnHandler$1, [Object]))('api.RevertAllCommand', 1, function(result) {\r\n\t\t\t\tdeferred.resolve();\r\n\t\t\t}, function(remoteError, message) {\r\n\t\t\t\tdeferred.reject($tab__TableauException.createServerError(message));\r\n\t\t\t});\r\n\t\t\tthis._sendCommand(Object).call(this, null, returnHandler);\r\n\t\t\treturn deferred.get_promise();\r\n\t\t},\r\n\t\t$refreshDataAsync: function VizImpl$RefreshDataAsync() {\r\n\t\t\tvar deferred = new tab._Deferred();\r\n\t\t\tvar returnHandler = new (ss.makeGenericType($tab_CommandReturnHandler$1, [Object]))('api.RefreshDataCommand', 1, function(result) {\r\n\t\t\t\tdeferred.resolve();\r\n\t\t\t}, function(remoteError, message) {\r\n\t\t\t\tdeferred.reject($tab__TableauException.createServerError(message));\r\n\t\t\t});\r\n\t\t\tthis._sendCommand(Object).call(this, null, returnHandler);\r\n\t\t\treturn deferred.get_promise();\r\n\t\t},\r\n\t\t$showShareDialog: function VizImpl$ShowShareDialog() {\r\n\t\t\tthis.$invokeCommand('showShareDialog');\r\n\t\t},\r\n\t\t$showDownloadWorkbookDialog: function VizImpl$ShowDownloadWorkbookDialog() {\r\n\t\t\tif (this.get__workbookImpl().get_isDownloadAllowed()) {\r\n\t\t\t\tthis.$invokeCommand('showDownloadWorkbookDialog');\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tthrow $tab__TableauException.create('downloadWorkbookNotAllowed', 'Download workbook is not allowed');\r\n\t\t\t}\r\n\t\t},\r\n\t\t$pauseAutomaticUpdatesAsync: function VizImpl$PauseAutomaticUpdatesAsync() {\r\n\t\t\treturn this.$invokeAutomaticUpdatesCommandAsync('pauseAutomaticUpdates');\r\n\t\t},\r\n\t\t$resumeAutomaticUpdatesAsync: function VizImpl$ResumeAutomaticUpdatesAsync() {\r\n\t\t\treturn this.$invokeAutomaticUpdatesCommandAsync('resumeAutomaticUpdates');\r\n\t\t},\r\n\t\t$toggleAutomaticUpdatesAsync: function VizImpl$ToggleAutomaticUpdatesAsync() {\r\n\t\t\treturn this.$invokeAutomaticUpdatesCommandAsync('toggleAutomaticUpdates');\r\n\t\t},\r\n\t\t$setFrameSizeAndUpdate: function VizImpl$SetFrameSizeAndUpdate(width, height) {\r\n\t\t\tthis.$raiseVizResizeEvent($tab_Size.$ctor(-1, -1));\r\n\t\t\tthis.$setFrameSize(width, height);\r\n\t\t\tthis.$workbookImpl._updateActiveSheetAsync();\r\n\t\t},\r\n\t\t$setAreAutomaticUpdatesPaused: function VizImpl$SetAreAutomaticUpdatesPaused(value) {\r\n\t\t\tthis.$areAutomaticUpdatesPaused = value;\r\n\t\t},\r\n\t\t$contentRootElement: function VizImpl$ContentRootElement() {\r\n\t\t\treturn this.$parameters.parentElement;\r\n\t\t},\r\n\t\t$create: function VizImpl$Create() {\r\n\t\t\ttry {\r\n\t\t\t\t$tab__VizManagerImpl.$registerViz(this.$viz);\r\n\t\t\t}\r\n\t\t\tcatch ($t1) {\r\n\t\t\t\tvar e = ss.Exception.wrap($t1);\r\n\t\t\t\tthis.$dispose();\r\n\t\t\t\tthrow e;\r\n\t\t\t}\r\n\t\t\tif (!this.$parameters.fixedSize) {\r\n\t\t\t\tthis.$initialAvailableSize = $tab__Utility.computeContentSize(this.get_$parentElement());\r\n\t\t\t\tif (this.$initialAvailableSize.width === 0 || this.$initialAvailableSize.height === 0) {\r\n\t\t\t\t\tthis.$initialAvailableSize = $tab_Size.$ctor(800, 600);\r\n\t\t\t\t}\r\n\t\t\t\tthis.$iframe = this.$createIframe();\r\n\t\t\t\tthis.$makeInvisible();\r\n\t\t\t\tif (this.$parameters.displayStaticImage) {\r\n\t\t\t\t\tthis.$staticImage = this.$createStaticImageElement(this.$initialAvailableSize);\r\n\t\t\t\t\tthis.$staticImage.style.display = 'block';\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tif (this.$parameters.displayStaticImage) {\r\n\t\t\t\t\tthis.$staticImage = this.$createStaticImageElement($tab_Size.$ctor(parseInt(this.$parameters.width), parseInt(this.$parameters.height)));\r\n\t\t\t\t\tthis.$staticImage.style.display = 'block';\r\n\t\t\t\t}\r\n\t\t\t\tthis.$iframe = this.$createIframe();\r\n\t\t\t\tthis.$show();\r\n\t\t\t}\r\n\t\t\tif (!$tab__Utility.hasWindowPostMessage()) {\r\n\t\t\t\tif ($tab__Utility.isIE()) {\r\n\t\t\t\t\tthis.$iframe['onreadystatechange'] = this.$getOnCheckForDoneDelegate();\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tthis.$iframe.onload = this.$getOnCheckForDoneDelegate();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tthis.$isToolbarHidden = !this.$parameters.toolbar;\r\n\t\t\tthis.$areTabsHidden = !this.$parameters.tabs;\r\n\t\t\tthis.$messagingOptions.get_router().registerHandler(this);\r\n\t\t\tthis.$iframe.src = this.$parameters.get_url();\r\n\t\t},\r\n\t\t$sendVisibleRect: function VizImpl$SendVisibleRect() {\r\n\t\t\ttry {\r\n\t\t\t\tif (!$tab__Utility.hasWindowPostMessage() || ss.isNullOrUndefined(this.$iframe) || !ss.isValue(this.$iframe.contentWindow)) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tcatch ($t1) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tvar visibleRect = $tab__Utility.visibleContentRectInDocumentCoordinates(this.get_iframe());\r\n\t\t\tvar iframeContentRect = $tab__Utility.contentRectInDocumentCoordinates(this.get_iframe());\r\n\t\t\tvar param = [];\r\n\t\t\tparam.push('layoutInfoResp'.toString());\r\n\t\t\tparam.push(visibleRect.left - iframeContentRect.left);\r\n\t\t\tparam.push(visibleRect.top - iframeContentRect.top);\r\n\t\t\tparam.push(visibleRect.width);\r\n\t\t\tparam.push(visibleRect.height);\r\n\t\t\tthis.$iframe.contentWindow.postMessage(param.join(','), '*');\r\n\t\t},\r\n\t\t$enableVisibleRectCommunication: function VizImpl$EnableVisibleRectCommunication() {\r\n\t\t\tif (!$tab__Utility.hasWindowPostMessage() || ss.isNullOrUndefined(this.$iframe) || !ss.isValue(this.$iframe.contentWindow)) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tthis.$iframe.contentWindow.postMessage('tableau.enableVisibleRectCommunication'.toString(), '*');\r\n\t\t},\r\n\t\t_sendCommand: function(T) {\r\n\t\t\treturn function VizImpl$SendCommand(commandParameters, returnHandler) {\r\n\t\t\t\tthis.$messagingOptions.sendCommand(T).call(this.$messagingOptions, commandParameters, returnHandler);\r\n\t\t\t};\r\n\t\t},\r\n\t\t$raiseParameterValueChange: function VizImpl$RaiseParameterValueChange(parameterName) {\r\n\t\t\tif (!ss.staticEquals(this.$1$ParameterValueChangeField, null)) {\r\n\t\t\t\tthis.$1$ParameterValueChangeField(new $tab_ParameterEvent('parametervaluechange', this.$viz, parameterName));\r\n\t\t\t}\r\n\t\t},\r\n\t\t$raiseCustomViewLoad: function VizImpl$RaiseCustomViewLoad(customView) {\r\n\t\t\tthis.get__workbookImpl()._update(ss.mkdel(this, function() {\r\n\t\t\t\tif (!ss.staticEquals(this.$1$CustomViewLoadField, null)) {\r\n\t\t\t\t\tthis.$1$CustomViewLoadField(new $tab_CustomViewEvent('customviewload', this.$viz, (ss.isValue(customView) ? customView._impl : null)));\r\n\t\t\t\t}\r\n\t\t\t}));\r\n\t\t},\r\n\t\t$raiseCustomViewSave: function VizImpl$RaiseCustomViewSave(customView) {\r\n\t\t\tthis.get__workbookImpl()._update(ss.mkdel(this, function() {\r\n\t\t\t\tif (!ss.staticEquals(this.$1$CustomViewSaveField, null)) {\r\n\t\t\t\t\tthis.$1$CustomViewSaveField(new $tab_CustomViewEvent('customviewsave', this.$viz, customView._impl));\r\n\t\t\t\t}\r\n\t\t\t}));\r\n\t\t},\r\n\t\t$raiseCustomViewRemove: function VizImpl$RaiseCustomViewRemove(customView) {\r\n\t\t\tif (!ss.staticEquals(this.$1$CustomViewRemoveField, null)) {\r\n\t\t\t\tthis.$1$CustomViewRemoveField(new $tab_CustomViewEvent('customviewremove', this.$viz, customView._impl));\r\n\t\t\t}\r\n\t\t},\r\n\t\t$raiseCustomViewSetDefault: function VizImpl$RaiseCustomViewSetDefault(customView) {\r\n\t\t\tif (!ss.staticEquals(this.$1$CustomViewSetDefaultField, null)) {\r\n\t\t\t\tthis.$1$CustomViewSetDefaultField(new $tab_CustomViewEvent('customviewsetdefault', this.$viz, customView._impl));\r\n\t\t\t}\r\n\t\t},\r\n\t\t$raiseTabSwitch: function VizImpl$RaiseTabSwitch(oldSheetName, newSheetName) {\r\n\t\t\tif (!ss.staticEquals(this.$1$TabSwitchField, null)) {\r\n\t\t\t\tthis.$1$TabSwitchField(new $tab_TabSwitchEvent('tabswitch', this.$viz, oldSheetName, newSheetName));\r\n\t\t\t}\r\n\t\t},\r\n\t\traiseStoryPointSwitch: function VizImpl$RaiseStoryPointSwitch(oldStoryPointInfo, newStoryPoint) {\r\n\t\t\tif (!ss.staticEquals(this.$1$StoryPointSwitchField, null)) {\r\n\t\t\t\tthis.$1$StoryPointSwitchField(new $tab_StoryPointSwitchEvent('storypointswitch', this.$viz, oldStoryPointInfo, newStoryPoint));\r\n\t\t\t}\r\n\t\t},\r\n\t\t$raiseStateReadyForQuery: function VizImpl$RaiseStateReadyForQuery() {\r\n\t\t\tif (!ss.staticEquals(this.$1$StateReadyForQueryField, null)) {\r\n\t\t\t\tthis.$1$StateReadyForQueryField(this);\r\n\t\t\t}\r\n\t\t},\r\n\t\t$raiseCustomViewsListLoad: function VizImpl$RaiseCustomViewsListLoad() {\r\n\t\t\tif (!ss.staticEquals(this.$1$CustomViewsListLoadField, null)) {\r\n\t\t\t\tthis.$1$CustomViewsListLoadField(this);\r\n\t\t\t}\r\n\t\t},\r\n\t\t$raiseVizResizeEvent: function VizImpl$RaiseVizResizeEvent(availableSize) {\r\n\t\t\tif (!ss.staticEquals(this.$1$VizResizeField, null)) {\r\n\t\t\t\tthis.$1$VizResizeField(new $tab_VizResizeEvent('vizresize', this.$viz, availableSize));\r\n\t\t\t}\r\n\t\t},\r\n\t\t$setFrameSize: function VizImpl$SetFrameSize(width, height) {\r\n\t\t\tthis.$parameters.width = width;\r\n\t\t\tthis.$parameters.height = height;\r\n\t\t\tthis.$iframe.style.width = this.$parameters.width;\r\n\t\t\tthis.$iframe.style.height = this.$parameters.height;\r\n\t\t},\r\n\t\t$verifyOperationAllowedOnActiveSheetOrSheetWithinActiveDashboard: function VizImpl$VerifyOperationAllowedOnActiveSheetOrSheetWithinActiveDashboard(sheetOrInfoOrName) {\r\n\t\t\tif (ss.isNullOrUndefined(sheetOrInfoOrName)) {\r\n\t\t\t\treturn null;\r\n\t\t\t}\r\n\t\t\tvar sheetImpl = this.$workbookImpl.$findActiveSheetOrSheetWithinActiveDashboard(sheetOrInfoOrName);\r\n\t\t\tif (ss.isNullOrUndefined(sheetImpl)) {\r\n\t\t\t\tthrow $tab__TableauException.createNotActiveSheet();\r\n\t\t\t}\r\n\t\t\treturn sheetImpl.get_name();\r\n\t\t},\r\n\t\t$invokeAutomaticUpdatesCommandAsync: function VizImpl$InvokeAutomaticUpdatesCommandAsync(command) {\r\n\t\t\tif (command !== 'pauseAutomaticUpdates' && command !== 'resumeAutomaticUpdates' && command !== 'toggleAutomaticUpdates') {\r\n\t\t\t\tthrow $tab__TableauException.createInternalError(null);\r\n\t\t\t}\r\n\t\t\tvar param = {};\r\n\t\t\tparam['api.invokeCommandName'] = command;\r\n\t\t\tvar deferred = new tab._Deferred();\r\n\t\t\tvar returnHandler = new (ss.makeGenericType($tab_CommandReturnHandler$1, [Object]))('api.InvokeCommandCommand', 0, ss.mkdel(this, function(result) {\r\n\t\t\t\tif (ss.isValue(result) && ss.isValue(result.isAutoUpdate)) {\r\n\t\t\t\t\tthis.$areAutomaticUpdatesPaused = !result.isAutoUpdate;\r\n\t\t\t\t}\r\n\t\t\t\tdeferred.resolve(this.$areAutomaticUpdatesPaused);\r\n\t\t\t}), function(remoteError, message) {\r\n\t\t\t\tdeferred.reject($tab__TableauException.createServerError(message));\r\n\t\t\t});\r\n\t\t\tthis._sendCommand(Object).call(this, param, returnHandler);\r\n\t\t\treturn deferred.get_promise();\r\n\t\t},\r\n\t\t$invokeCommand: function VizImpl$InvokeCommand(command, sheetName) {\r\n\t\t\tif (command !== 'showExportImageDialog' && command !== 'showExportDataDialog' && command !== 'showExportCrosstabDialog' && command !== 'showExportPDFDialog' && command !== 'showShareDialog' && command !== 'showDownloadWorkbookDialog') {\r\n\t\t\t\tthrow $tab__TableauException.createInternalError(null);\r\n\t\t\t}\r\n\t\t\tvar param = {};\r\n\t\t\tparam['api.invokeCommandName'] = command;\r\n\t\t\tif (ss.isValue(sheetName)) {\r\n\t\t\t\tparam['api.invokeCommandParam'] = sheetName;\r\n\t\t\t}\r\n\t\t\tvar returnHandler = new (ss.makeGenericType($tab_CommandReturnHandler$1, [Object]))('api.InvokeCommandCommand', 0, null, null);\r\n\t\t\tthis._sendCommand(Object).call(this, param, returnHandler);\r\n\t\t},\r\n\t\t$handleFirstVizSizeKnownEvent: function VizImpl$HandleFirstVizSizeKnownEvent(notification) {\r\n\t\t\tvar size = JSON.parse(ss.cast(notification.get_data(), String));\r\n\t\t\tthis.$handleInitialVizSize(size);\r\n\t\t},\r\n\t\t$handleVizInteractiveEvent: function VizImpl$HandleVizInteractiveEvent(notification) {\r\n\t\t\tif (ss.isValue(this.$workbookImpl) && ss.referenceEquals(this.$workbookImpl.get_name(), notification.get_workbookName())) {\r\n\t\t\t\tthis.$onWorkbookInteractive(null);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tthis.$raiseStateReadyForQuery();\r\n\t\t\t}\r\n\t\t},\r\n\t\t$handleMarksSelectionChangedEvent: function VizImpl$HandleMarksSelectionChangedEvent(notification) {\r\n\t\t\tif (ss.staticEquals(this.$1$MarksSelectionField, null) || !ss.referenceEquals(this.$workbookImpl.get_name(), notification.get_workbookName())) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tvar worksheetImpl = null;\r\n\t\t\tvar activeSheetImpl = this.$workbookImpl.get_activeSheetImpl();\r\n\t\t\tif (activeSheetImpl.get_isStory()) {\r\n\t\t\t\tactiveSheetImpl = ss.cast(activeSheetImpl, $tab__StoryImpl).get_activeStoryPointImpl().get_containedSheetImpl();\r\n\t\t\t}\r\n\t\t\tif (ss.referenceEquals(activeSheetImpl.get_name(), notification.get_worksheetName())) {\r\n\t\t\t\tworksheetImpl = ss.cast(activeSheetImpl, $tab__WorksheetImpl);\r\n\t\t\t}\r\n\t\t\telse if (activeSheetImpl.get_isDashboard()) {\r\n\t\t\t\tvar dashboardImpl = ss.cast(activeSheetImpl, $tab__DashboardImpl);\r\n\t\t\t\tworksheetImpl = dashboardImpl.get_worksheets()._get(notification.get_worksheetName())._impl;\r\n\t\t\t}\r\n\t\t\tif (ss.isValue(worksheetImpl)) {\r\n\t\t\t\tworksheetImpl.set_selectedMarks(null);\r\n\t\t\t\tthis.$1$MarksSelectionField(new $tab_MarksEvent('marksselection', this.$viz, worksheetImpl));\r\n\t\t\t}\r\n\t\t},\r\n\t\t$handleMarksHighlightChangedEvent: function VizImpl$HandleMarksHighlightChangedEvent(notification) {\r\n\t\t\tif (ss.staticEquals(this.$1$MarksHighlightField, null) || !ss.referenceEquals(this.$workbookImpl.get_name(), notification.get_workbookName())) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tvar worksheetImpl = null;\r\n\t\t\tvar activeSheetImpl = this.$workbookImpl.get_activeSheetImpl();\r\n\t\t\tif (activeSheetImpl.get_isStory()) {\r\n\t\t\t\tactiveSheetImpl = ss.cast(activeSheetImpl, $tab__StoryImpl).get_activeStoryPointImpl().get_containedSheetImpl();\r\n\t\t\t}\r\n\t\t\tif (ss.referenceEquals(activeSheetImpl.get_name(), notification.get_worksheetName())) {\r\n\t\t\t\tworksheetImpl = ss.cast(activeSheetImpl, $tab__WorksheetImpl);\r\n\t\t\t}\r\n\t\t\telse if (activeSheetImpl.get_isDashboard()) {\r\n\t\t\t\tvar dashboardImpl = ss.cast(activeSheetImpl, $tab__DashboardImpl);\r\n\t\t\t\tworksheetImpl = dashboardImpl.get_worksheets()._get(notification.get_worksheetName())._impl;\r\n\t\t\t}\r\n\t\t\tif (ss.isValue(worksheetImpl)) {\r\n\t\t\t\tworksheetImpl.highlightedMarks = null;\r\n\t\t\t\tthis.$1$MarksHighlightField(new $tab_HighlightEvent('markshighlight', this.$viz, worksheetImpl));\r\n\t\t\t}\r\n\t\t},\r\n\t\t$handleFilterChangedEvent: function VizImpl$HandleFilterChangedEvent(notification) {\r\n\t\t\tif (ss.staticEquals(this.$1$FilterChangeField, null) || !ss.referenceEquals(this.$workbookImpl.get_name(), notification.get_workbookName())) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tvar worksheetImpl = null;\r\n\t\t\tvar activeSheetImpl = this.$workbookImpl.get_activeSheetImpl();\r\n\t\t\tif (ss.referenceEquals(activeSheetImpl.get_name(), notification.get_worksheetName())) {\r\n\t\t\t\tworksheetImpl = ss.cast(activeSheetImpl, $tab__WorksheetImpl);\r\n\t\t\t}\r\n\t\t\telse if (activeSheetImpl.get_isDashboard()) {\r\n\t\t\t\tvar db = ss.cast(activeSheetImpl, $tab__DashboardImpl);\r\n\t\t\t\tworksheetImpl = db.get_worksheets()._get(notification.get_worksheetName())._impl;\r\n\t\t\t}\r\n\t\t\telse if (activeSheetImpl.get_isStory()) {\r\n\t\t\t\tvar story = ss.cast(activeSheetImpl, $tab__StoryImpl);\r\n\t\t\t\tvar activeStoryPoint = story.get_activeStoryPointImpl();\r\n\t\t\t\tvar containedSheet = activeStoryPoint.get_containedSheetImpl();\r\n\t\t\t\tif (containedSheet.get_isDashboard()) {\r\n\t\t\t\t\tvar db1 = ss.cast(containedSheet, $tab__DashboardImpl);\r\n\t\t\t\t\tworksheetImpl = db1.get_worksheets()._get(notification.get_worksheetName())._impl;\r\n\t\t\t\t}\r\n\t\t\t\telse if (ss.referenceEquals(containedSheet.get_name(), notification.get_worksheetName())) {\r\n\t\t\t\t\tworksheetImpl = ss.cast(containedSheet, $tab__WorksheetImpl);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (ss.isValue(worksheetImpl)) {\r\n\t\t\t\tvar results = ss.cast(JSON.parse(ss.cast(notification.get_data(), String)), Array);\r\n\t\t\t\tvar filterFieldName = results[0];\r\n\t\t\t\tvar filterCaption = results[1];\r\n\t\t\t\tthis.$1$FilterChangeField(new $tab_FilterEvent('filterchange', this.$viz, worksheetImpl, filterFieldName, filterCaption));\r\n\t\t\t}\r\n\t\t},\r\n\t\t$handleParameterChangedEvent: function VizImpl$HandleParameterChangedEvent(notification) {\r\n\t\t\tif (!ss.staticEquals(this.$1$ParameterValueChangeField, null)) {\r\n\t\t\t\tif (ss.referenceEquals(this.$workbookImpl.get_name(), notification.get_workbookName())) {\r\n\t\t\t\t\tthis.$workbookImpl.set_$lastChangedParameterImpl(null);\r\n\t\t\t\t\tvar parameterName = ss.cast(notification.get_data(), String);\r\n\t\t\t\t\tthis.$raiseParameterValueChange(parameterName);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\t$handleCustomViewsListLoadedEvent: function VizImpl$HandleCustomViewsListLoadedEvent(notification) {\r\n\t\t\tvar info = JSON.parse(ss.cast(notification.get_data(), String));\r\n\t\t\tvar process = ss.mkdel(this, function() {\r\n\t\t\t\t$tab__CustomViewImpl._processCustomViews(this.$workbookImpl, this.$messagingOptions, info);\r\n\t\t\t});\r\n\t\t\tvar raiseEvents = ss.mkdel(this, function() {\r\n\t\t\t\tthis.$raiseCustomViewsListLoad();\r\n\t\t\t\tif (!ss.staticEquals(this.$1$CustomViewLoadField, null) && !info.customViewLoaded) {\r\n\t\t\t\t\tthis.$raiseCustomViewLoad(this.$workbookImpl.get_activeCustomView());\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tif (ss.isNullOrUndefined(this.$workbookImpl)) {\r\n\t\t\t\tthis.$initializingWorkbookImpl = true;\r\n\t\t\t\tthis.$workbookImpl = new $tab__WorkbookImpl(this, this.$messagingOptions, ss.mkdel(this, function() {\r\n\t\t\t\t\tprocess();\r\n\t\t\t\t\tthis.$onWorkbookInteractive(raiseEvents);\r\n\t\t\t\t\tthis.$initializingWorkbookImpl = false;\r\n\t\t\t\t}));\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tprocess();\r\n\t\t\t\tthis.$ensureCalledAfterFirstInteractive(raiseEvents);\r\n\t\t\t}\r\n\t\t},\r\n\t\t$handleCustomViewUpdatedEvent: function VizImpl$HandleCustomViewUpdatedEvent(notification) {\r\n\t\t\tvar info = JSON.parse(ss.cast(notification.get_data(), String));\r\n\t\t\tif (ss.isNullOrUndefined(this.$workbookImpl)) {\r\n\t\t\t\tthis.$workbookImpl = new $tab__WorkbookImpl(this, this.$messagingOptions, null);\r\n\t\t\t}\r\n\t\t\tif (ss.isValue(this.$workbookImpl)) {\r\n\t\t\t\t$tab__CustomViewImpl._processCustomViewUpdate(this.$workbookImpl, this.$messagingOptions, info, true);\r\n\t\t\t}\r\n\t\t\tif (!ss.staticEquals(this.$1$CustomViewSaveField, null)) {\r\n\t\t\t\tvar updated = this.$workbookImpl.get_$updatedCustomViews()._toApiCollection();\r\n\t\t\t\tfor (var i = 0, len = updated.length; i < len; i++) {\r\n\t\t\t\t\tthis.$raiseCustomViewSave(updated[i]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\t$handleCustomViewRemovedEvent: function VizImpl$HandleCustomViewRemovedEvent() {\r\n\t\t\tif (!ss.staticEquals(this.$1$CustomViewRemoveField, null)) {\r\n\t\t\t\tvar removed = this.$workbookImpl.get_$removedCustomViews()._toApiCollection();\r\n\t\t\t\tfor (var i = 0, len = removed.length; i < len; i++) {\r\n\t\t\t\t\tthis.$raiseCustomViewRemove(removed[i]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\t$handleCustomViewSetDefaultEvent: function VizImpl$HandleCustomViewSetDefaultEvent(notification) {\r\n\t\t\tvar info = JSON.parse(ss.cast(notification.get_data(), String));\r\n\t\t\tif (ss.isValue(this.$workbookImpl)) {\r\n\t\t\t\t$tab__CustomViewImpl._processCustomViews(this.$workbookImpl, this.$messagingOptions, info);\r\n\t\t\t}\r\n\t\t\tif (!ss.staticEquals(this.$1$CustomViewSetDefaultField, null) && ss.isValue(info.defaultCustomViewId)) {\r\n\t\t\t\tvar views = this.$workbookImpl.get_$customViews();\r\n\t\t\t\tfor (var i = 0; i < views.get__length(); i++) {\r\n\t\t\t\t\tvar view = views.get_item(i);\r\n\t\t\t\t\tif (view.getDefault()) {\r\n\t\t\t\t\t\tthis.$raiseCustomViewSetDefault(view);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\t$handleTabSwitchEvent: function VizImpl$HandleTabSwitchEvent(notification) {\r\n\t\t\tthis.$workbookImpl._update(ss.mkdel(this, function() {\r\n\t\t\t\tif (ss.isValue(this.$workbookTabSwitchHandler)) {\r\n\t\t\t\t\tthis.$workbookTabSwitchHandler();\r\n\t\t\t\t}\r\n\t\t\t\tif (ss.referenceEquals(this.$workbookImpl.get_name(), notification.get_workbookName())) {\r\n\t\t\t\t\tvar oldSheetName = notification.get_worksheetName();\r\n\t\t\t\t\tvar currSheetName = ss.cast(notification.get_data(), String);\r\n\t\t\t\t\tthis.$raiseTabSwitch(oldSheetName, currSheetName);\r\n\t\t\t\t}\r\n\t\t\t\tthis.$onWorkbookInteractive(null);\r\n\t\t\t}));\r\n\t\t},\r\n\t\t$handleStorytellingStateChangedEvent: function VizImpl$HandleStorytellingStateChangedEvent(notification) {\r\n\t\t\tvar storyImpl = ss.cast(this.$workbookImpl.get_activeSheetImpl(), $tab__StoryImpl);\r\n\t\t\tif (storyImpl.get_sheetType() === 'story') {\r\n\t\t\t\tstoryImpl.update(JSON.parse(ss.cast(notification.get_data(), String)));\r\n\t\t\t}\r\n\t\t},\r\n\t\t$onWorkbookInteractive: function VizImpl$OnWorkbookInteractive(actionAfterFirstInteractive) {\r\n\t\t\tif (!this.$onFirstInteractiveAlreadyCalled) {\r\n\t\t\t\tvar callback = this.$onFirstInteractiveCallback;\r\n\t\t\t\twindow.setTimeout(ss.mkdel(this, function() {\r\n\t\t\t\t\tif (!ss.staticEquals(callback, null)) {\r\n\t\t\t\t\t\tcallback(new $tab_TableauEvent('firstinteractive', this.$viz));\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (!ss.staticEquals(actionAfterFirstInteractive, null)) {\r\n\t\t\t\t\t\tactionAfterFirstInteractive();\r\n\t\t\t\t\t}\r\n\t\t\t\t}), 0);\r\n\t\t\t\tthis.$onFirstInteractiveAlreadyCalled = true;\r\n\t\t\t}\r\n\t\t\tthis.$raiseStateReadyForQuery();\r\n\t\t},\r\n\t\t$ensureCalledAfterFirstInteractive: function VizImpl$EnsureCalledAfterFirstInteractive(action) {\r\n\t\t\tvar start = new Date();\r\n\t\t\tvar poll = null;\r\n\t\t\tpoll = ss.mkdel(this, function() {\r\n\t\t\t\tvar now = new Date();\r\n\t\t\t\tif (this.$onFirstInteractiveAlreadyCalled) {\r\n\t\t\t\t\taction();\r\n\t\t\t\t}\r\n\t\t\t\telse if (now - start > 300000) {\r\n\t\t\t\t\tthrow $tab__TableauException.createInternalError('Timed out while waiting for the viz to become interactive');\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\twindow.setTimeout(poll, 10);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tpoll();\r\n\t\t},\r\n\t\t$checkForDone: function VizImpl$CheckForDone() {\r\n\t\t\tif ($tab__Utility.isIE()) {\r\n\t\t\t\tif (this.$iframe['readyState'] === 'complete') {\r\n\t\t\t\t\tthis.handleVizLoad();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tthis.handleVizLoad();\r\n\t\t\t}\r\n\t\t},\r\n\t\t$onCheckForDone: function VizImpl$OnCheckForDone() {\r\n\t\t\twindow.setTimeout(ss.mkdel(this, this.$checkForDone), 3000);\r\n\t\t},\r\n\t\t$createStaticImageElement: function VizImpl$CreateStaticImageElement(initialSize) {\r\n\t\t\tvar $t1 = document.createElement('div');\r\n\t\t\tvar img = ss.cast($t1, ss.isValue($t1) && (ss.isInstanceOfType($t1, Element) && $t1.tagName === 'DIV'));\r\n\t\t\timg.style.background = \"transparent url('\" + this.$parameters.staticImageUrl + \"') no-repeat scroll 0 0\";\r\n\t\t\timg.style.left = '8px';\r\n\t\t\timg.style.top = (this.$parameters.tabs ? '31px' : '9px');\r\n\t\t\timg.style.position = 'absolute';\r\n\t\t\timg.style.width = initialSize.width + 'px';\r\n\t\t\timg.style.height = initialSize.height + 'px';\r\n\t\t\tthis.$contentRootElement().appendChild(img);\r\n\t\t\treturn img;\r\n\t\t},\r\n\t\t$createIframe: function VizImpl$CreateIframe() {\r\n\t\t\tif (ss.isNullOrUndefined(this.$contentRootElement())) {\r\n\t\t\t\treturn null;\r\n\t\t\t}\r\n\t\t\tvar $t1 = document.createElement('IFrame');\r\n\t\t\tvar ifr = ss.cast($t1, ss.isValue($t1) && (ss.isInstanceOfType($t1, Element) && $t1.tagName === 'IFRAME'));\r\n\t\t\tifr.frameBorder = '0';\r\n\t\t\tifr.setAttribute('allowTransparency', 'true');\r\n\t\t\tifr.setAttribute('allowFullScreen', 'true');\r\n\t\t\tifr.setAttribute('title', this.$getLocalizedTitle());\r\n\t\t\tifr.marginHeight = '0';\r\n\t\t\tifr.marginWidth = '0';\r\n\t\t\tifr.style.display = 'block';\r\n\t\t\tif (this.$parameters.fixedSize) {\r\n\t\t\t\tifr.style.width = this.$parameters.width;\r\n\t\t\t\tifr.style.height = this.$parameters.height;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tifr.style.width = '1px';\r\n\t\t\t\tifr.style.height = '1px';\r\n\t\t\t\tifr.setAttribute('scrolling', 'no');\r\n\t\t\t}\r\n\t\t\tif ($tab__Utility.isSafari()) {\r\n\t\t\t\tifr.addEventListener('mousewheel', ss.mkdel(this, this.$onIframeMouseWheel), false);\r\n\t\t\t}\r\n\t\t\tthis.$contentRootElement().appendChild(ifr);\r\n\t\t\treturn ifr;\r\n\t\t},\r\n\t\t$getLocalizedTitle: function VizImpl$GetLocalizedTitle() {\r\n\t\t\tvar lang = window.navigator.language;\r\n\t\t\tif (lang === 'zh-CN') {\r\n\t\t\t\treturn '数据可视化';\r\n\t\t\t}\r\n\t\t\tswitch (lang.substr(0, 2)) {\r\n\t\t\t\tcase 'fr': {\r\n\t\t\t\t\treturn 'Visualisation de données';\r\n\t\t\t\t}\r\n\t\t\t\tcase 'es': {\r\n\t\t\t\t\treturn 'Visualización de datos';\r\n\t\t\t\t}\r\n\t\t\t\tcase 'pt': {\r\n\t\t\t\t\treturn 'Visualização de dados';\r\n\t\t\t\t}\r\n\t\t\t\tcase 'ja': {\r\n\t\t\t\t\treturn 'データ ビジュアライゼーション';\r\n\t\t\t\t}\r\n\t\t\t\tcase 'de': {\r\n\t\t\t\t\treturn 'Datenvisualisierung';\r\n\t\t\t\t}\r\n\t\t\t\tcase 'ko': {\r\n\t\t\t\t\treturn '데이터 비주얼리제이션';\r\n\t\t\t\t}\r\n\t\t\t\tcase 'en':\r\n\t\t\t\tdefault: {\r\n\t\t\t\t\treturn 'data visualization';\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\t$onIframeMouseWheel: function VizImpl$OnIframeMouseWheel(e) {\r\n\t\t},\r\n\t\t$getOnCheckForDoneDelegate: function VizImpl$GetOnCheckForDoneDelegate() {\r\n\t\t\treturn ss.mkdel(this, function(e) {\r\n\t\t\t\tthis.$onCheckForDone();\r\n\t\t\t});\r\n\t\t},\r\n\t\t$handleInitialVizSize: function VizImpl$HandleInitialVizSize(vizAndChromeSize) {\r\n\t\t\tvar sheetSize = $tab_SheetSizeFactory.fromSizeConstraints(vizAndChromeSize.sizeConstraints);\r\n\t\t\tthis.$vizSize = $tab_VizSize.$ctor(sheetSize, vizAndChromeSize.chromeHeight);\r\n\t\t\tif (ss.isValue(this.$onFirstVizSizeKnownCallback)) {\r\n\t\t\t\tthis.$onFirstVizSizeKnownCallback(new $tab_FirstVizSizeKnownEvent('firstvizsizeknown', this.$viz, this.$vizSize));\r\n\t\t\t}\r\n\t\t\tif (this.$parameters.fixedSize) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tthis.$refreshSize();\r\n\t\t\tthis.$addWindowResizeHandler();\r\n\t\t\tthis.$show();\r\n\t\t},\r\n\t\t$removeWindowResizeHandler: function VizImpl$RemoveWindowResizeHandler() {\r\n\t\t\tif (ss.isNullOrUndefined(this.$windowResizeHandler)) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif ($tab__Utility.hasWindowAddEventListener()) {\r\n\t\t\t\twindow.removeEventListener('resize', this.$windowResizeHandler, false);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\twindow.self.detachEvent('onresize', this.$windowResizeHandler);\r\n\t\t\t}\r\n\t\t\tthis.$windowResizeHandler = null;\r\n\t\t},\r\n\t\t$addWindowResizeHandler: function VizImpl$AddWindowResizeHandler() {\r\n\t\t\tif (ss.isValue(this.$windowResizeHandler)) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tthis.$windowResizeHandler = ss.mkdel(this, function() {\r\n\t\t\t\tthis.$refreshSize();\r\n\t\t\t});\r\n\t\t\tif ($tab__Utility.hasWindowAddEventListener()) {\r\n\t\t\t\twindow.addEventListener('resize', this.$windowResizeHandler, false);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\twindow.self.attachEvent('onresize', this.$windowResizeHandler);\r\n\t\t\t}\r\n\t\t}\r\n\t}, null, [$tab_ICrossDomainMessageHandler]);\r\n\tss.initClass($tab_VizResizeEvent, $asm, {\r\n\t\tgetAvailableSize: function VizResizeEvent$GetAvailableSize() {\r\n\t\t\treturn this.$availableSize;\r\n\t\t}\r\n\t}, $tab_TableauEvent);\r\n\tss.initClass($tab_VizSize, $asm, {}, Object);\r\n\tss.initClass($tableauSoftware_Filter, $asm, {\r\n\t\tgetFilterType: function Filter$GetFilterType() {\r\n\t\t\treturn this.$type;\r\n\t\t},\r\n\t\tgetFieldName: function Filter$GetFieldName() {\r\n\t\t\treturn this.$caption;\r\n\t\t},\r\n\t\tgetWorksheet: function Filter$GetWorksheet() {\r\n\t\t\treturn this.$worksheetImpl.get_worksheet();\r\n\t\t},\r\n\t\tgetFieldAsync: function Filter$GetFieldAsync() {\r\n\t\t\tvar deferred = new tab._Deferred();\r\n\t\t\tif (ss.isNullOrUndefined(this.$field)) {\r\n\t\t\t\tvar rejected = function(e) {\r\n\t\t\t\t\tdeferred.reject(e);\r\n\t\t\t\t\treturn null;\r\n\t\t\t\t};\r\n\t\t\t\tvar fulfilled = ss.mkdel(this, function(value) {\r\n\t\t\t\t\tthis.$field = new $tableauSoftware_Field(value, this.$caption, this.$fieldRole, this.$fieldAggregation);\r\n\t\t\t\t\tdeferred.resolve(this.$field);\r\n\t\t\t\t\treturn null;\r\n\t\t\t\t});\r\n\t\t\t\tthis.$worksheetImpl.$getDataSourceAsync(this.$dataSourceName).then(fulfilled, rejected);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\twindow.setTimeout(ss.mkdel(this, function() {\r\n\t\t\t\t\tdeferred.resolve(this.$field);\r\n\t\t\t\t}), 0);\r\n\t\t\t}\r\n\t\t\treturn deferred.get_promise();\r\n\t\t},\r\n\t\t_update: function Filter$Update(pm) {\r\n\t\t\tthis.$initializeFromJson(pm);\r\n\t\t\tthis._updateFromJson(pm);\r\n\t\t},\r\n\t\t_addFieldParams: function Filter$AddFieldParams(param) {\r\n\t\t},\r\n\t\t_updateFromJson: null,\r\n\t\t$initializeFromJson: function Filter$InitializeFromJson(pm) {\r\n\t\t\tthis.$caption = pm.caption;\r\n\t\t\tthis.$type = $tab_ApiEnumConverter.convertFilterType(pm.filterType);\r\n\t\t\tthis.$field = null;\r\n\t\t\tthis.$dataSourceName = pm.dataSourceName;\r\n\t\t\tthis.$fieldRole = $tab_ApiEnumConverter.convertFieldRole(ss.coalesce(pm.fieldRole, 'unknown'));\r\n\t\t\tthis.$fieldAggregation = $tab_ApiEnumConverter.convertFieldAggregation(ss.coalesce(pm.fieldAggregation, 'NONE'));\r\n\t\t}\r\n\t});\r\n\tss.initClass($tableauSoftware_CategoricalFilter, $asm, {\r\n\t\tgetIsExcludeMode: function CategoricalFilter$GetIsExcludeMode() {\r\n\t\t\treturn this.$isExclude;\r\n\t\t},\r\n\t\tgetAppliedValues: function CategoricalFilter$GetAppliedValues() {\r\n\t\t\treturn this.$appliedValues;\r\n\t\t},\r\n\t\t_updateFromJson: function CategoricalFilter$UpdateFromJson(pm) {\r\n\t\t\tthis.$initializeFromJson$1(pm);\r\n\t\t},\r\n\t\t$initializeFromJson$1: function CategoricalFilter$InitializeFromJson(pm) {\r\n\t\t\tthis.$isExclude = pm.isExclude;\r\n\t\t\tif (ss.isValue(pm.appliedValues)) {\r\n\t\t\t\tthis.$appliedValues = [];\r\n\t\t\t\tfor (var $t1 = 0; $t1 < pm.appliedValues.length; $t1++) {\r\n\t\t\t\t\tvar v = pm.appliedValues[$t1];\r\n\t\t\t\t\tthis.$appliedValues.push($tab__Utility.getDataValue(v));\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}, $tableauSoftware_Filter);\r\n\tss.initClass($tableauSoftware_Column, $asm, {\r\n\t\tgetFieldName: function Column$GetFieldName() {\r\n\t\t\treturn this.$impl.get_fieldName();\r\n\t\t},\r\n\t\tgetDataType: function Column$GetDataType() {\r\n\t\t\treturn this.$impl.get_dataType();\r\n\t\t},\r\n\t\tgetIsReferenced: function Column$GetIsReferenced() {\r\n\t\t\treturn this.$impl.get_isReferenced();\r\n\t\t},\r\n\t\tgetIndex: function Column$GetIndex() {\r\n\t\t\treturn this.$impl.get_index();\r\n\t\t}\r\n\t});\r\n\tss.initClass($tableauSoftware_CustomView, $asm, {\r\n\t\tgetWorkbook: function CustomView$GetWorkbook() {\r\n\t\t\treturn this._impl.get_$workbook();\r\n\t\t},\r\n\t\tgetUrl: function CustomView$GetUrl() {\r\n\t\t\treturn this._impl.get_$url();\r\n\t\t},\r\n\t\tgetName: function CustomView$GetName() {\r\n\t\t\treturn this._impl.get_$name();\r\n\t\t},\r\n\t\tsetName: function CustomView$SetName(value) {\r\n\t\t\tthis._impl.set_$name(value);\r\n\t\t},\r\n\t\tgetOwnerName: function CustomView$GetOwnerName() {\r\n\t\t\treturn this._impl.get_$ownerName();\r\n\t\t},\r\n\t\tgetAdvertised: function CustomView$GetAdvertised() {\r\n\t\t\treturn this._impl.get_$advertised();\r\n\t\t},\r\n\t\tsetAdvertised: function CustomView$SetAdvertised(value) {\r\n\t\t\tthis._impl.set_$advertised(value);\r\n\t\t},\r\n\t\tgetDefault: function CustomView$GetDefault() {\r\n\t\t\treturn this._impl.get_$isDefault();\r\n\t\t},\r\n\t\tsaveAsync: function CustomView$SaveAsync() {\r\n\t\t\treturn this._impl.$saveAsync();\r\n\t\t}\r\n\t});\r\n\tss.initClass($tableauSoftware_Sheet, $asm, {\r\n\t\tgetName: function Sheet$GetName() {\r\n\t\t\treturn this._impl.get_name();\r\n\t\t},\r\n\t\tgetIndex: function Sheet$GetIndex() {\r\n\t\t\treturn this._impl.get_index();\r\n\t\t},\r\n\t\tgetWorkbook: function Sheet$GetWorkbook() {\r\n\t\t\treturn this._impl.get_workbookImpl().get_workbook();\r\n\t\t},\r\n\t\tgetSize: function Sheet$GetSize() {\r\n\t\t\treturn this._impl.get_size();\r\n\t\t},\r\n\t\tgetIsHidden: function Sheet$GetIsHidden() {\r\n\t\t\treturn this._impl.get_isHidden();\r\n\t\t},\r\n\t\tgetIsActive: function Sheet$GetIsActive() {\r\n\t\t\treturn this._impl.get_isActive();\r\n\t\t},\r\n\t\tgetSheetType: function Sheet$GetSheetType() {\r\n\t\t\treturn this._impl.get_sheetType();\r\n\t\t},\r\n\t\tgetUrl: function Sheet$GetUrl() {\r\n\t\t\treturn this._impl.get_url();\r\n\t\t},\r\n\t\tchangeSizeAsync: function Sheet$ChangeSizeAsync(size) {\r\n\t\t\treturn this._impl.changeSizeAsync(size);\r\n\t\t}\r\n\t});\r\n\tss.initClass($tableauSoftware_Dashboard, $asm, {\r\n\t\tgetParentStoryPoint: function Dashboard$GetParentStoryPoint() {\r\n\t\t\treturn this._impl.get_parentStoryPoint();\r\n\t\t},\r\n\t\tgetObjects: function Dashboard$GetObjects() {\r\n\t\t\treturn this._impl.get_objects()._toApiCollection();\r\n\t\t},\r\n\t\tgetWorksheets: function Dashboard$GetWorksheets() {\r\n\t\t\treturn this._impl.get_worksheets()._toApiCollection();\r\n\t\t}\r\n\t}, $tableauSoftware_Sheet);\r\n\tss.initClass($tableauSoftware_DashboardObject, $asm, {\r\n\t\tgetObjectType: function DashboardObject$GetObjectType() {\r\n\t\t\treturn this.$zoneInfo.objectType;\r\n\t\t},\r\n\t\tgetDashboard: function DashboardObject$GetDashboard() {\r\n\t\t\treturn this.$dashboard;\r\n\t\t},\r\n\t\tgetWorksheet: function DashboardObject$GetWorksheet() {\r\n\t\t\treturn this.$worksheet;\r\n\t\t},\r\n\t\tgetPosition: function DashboardObject$GetPosition() {\r\n\t\t\treturn this.$zoneInfo.position;\r\n\t\t},\r\n\t\tgetSize: function DashboardObject$GetSize() {\r\n\t\t\treturn this.$zoneInfo.size;\r\n\t\t}\r\n\t});\r\n\tss.initClass($tableauSoftware_DataSource, $asm, {\r\n\t\tgetName: function DataSource$GetName() {\r\n\t\t\treturn this.$impl.get_name();\r\n\t\t},\r\n\t\tgetFields: function DataSource$GetFields() {\r\n\t\t\treturn this.$impl.get_fields()._toApiCollection();\r\n\t\t},\r\n\t\tgetIsPrimary: function DataSource$GetIsPrimary() {\r\n\t\t\treturn this.$impl.get_isPrimary();\r\n\t\t}\r\n\t});\r\n\tss.initClass($tableauSoftware_DataTable, $asm, {\r\n\t\tgetName: function DataTable$GetName() {\r\n\t\t\treturn this.$impl.get_name();\r\n\t\t},\r\n\t\tgetData: function DataTable$GetData() {\r\n\t\t\treturn this.$impl.get_rows();\r\n\t\t},\r\n\t\tgetColumns: function DataTable$GetColumns() {\r\n\t\t\treturn this.$impl.get_columns();\r\n\t\t},\r\n\t\tgetTotalRowCount: function DataTable$GetTotalRowCount() {\r\n\t\t\treturn this.$impl.get_totalRowCount();\r\n\t\t},\r\n\t\tgetIsSummaryData: function DataTable$GetIsSummaryData() {\r\n\t\t\treturn this.$impl.get_isSummaryData();\r\n\t\t}\r\n\t});\r\n\tss.initClass($tableauSoftware_Field, $asm, {\r\n\t\tgetDataSource: function Field$GetDataSource() {\r\n\t\t\treturn this.$dataSource;\r\n\t\t},\r\n\t\tgetName: function Field$GetName() {\r\n\t\t\treturn this.$name;\r\n\t\t},\r\n\t\tgetRole: function Field$GetRole() {\r\n\t\t\treturn this.$fieldRoleType;\r\n\t\t},\r\n\t\tgetAggregation: function Field$GetAggregation() {\r\n\t\t\treturn this.$fieldAggrType;\r\n\t\t}\r\n\t});\r\n\tss.initClass($tableauSoftware_HierarchicalFilter, $asm, {\r\n\t\t_addFieldParams: function HierarchicalFilter$AddFieldParams(param) {\r\n\t\t\tparam['api.filterHierarchicalLevels'] = this.$levels;\r\n\t\t},\r\n\t\t_updateFromJson: function HierarchicalFilter$UpdateFromJson(pm) {\r\n\t\t\tthis.$initializeFromJson$1(pm);\r\n\t\t},\r\n\t\t$initializeFromJson$1: function HierarchicalFilter$InitializeFromJson(pm) {\r\n\t\t\tthis.$levels = pm.levels;\r\n\t\t}\r\n\t}, $tableauSoftware_Filter);\r\n\tss.initClass($tableauSoftware_Mark, $asm, {\r\n\t\tgetPairs: function Mark$GetPairs() {\r\n\t\t\treturn this.$impl.get_$clonedPairs();\r\n\t\t}\r\n\t});\r\n\tss.initClass($tableauSoftware_Pair, $asm, {});\r\n\tss.initClass($tableauSoftware_Parameter, $asm, {\r\n\t\tgetName: function Parameter$GetName() {\r\n\t\t\treturn this._impl.get_$name();\r\n\t\t},\r\n\t\tgetCurrentValue: function Parameter$GetCurrentValue() {\r\n\t\t\treturn this._impl.get_$currentValue();\r\n\t\t},\r\n\t\tgetDataType: function Parameter$GetDataType() {\r\n\t\t\treturn this._impl.get_$dataType();\r\n\t\t},\r\n\t\tgetAllowableValuesType: function Parameter$GetAllowableValuesType() {\r\n\t\t\treturn this._impl.get_$allowableValuesType();\r\n\t\t},\r\n\t\tgetAllowableValues: function Parameter$GetAllowableValues() {\r\n\t\t\treturn this._impl.get_$allowableValues();\r\n\t\t},\r\n\t\tgetMinValue: function Parameter$GetMinValue() {\r\n\t\t\treturn this._impl.get_$minValue();\r\n\t\t},\r\n\t\tgetMaxValue: function Parameter$GetMaxValue() {\r\n\t\t\treturn this._impl.get_$maxValue();\r\n\t\t},\r\n\t\tgetStepSize: function Parameter$GetStepSize() {\r\n\t\t\treturn this._impl.get_$stepSize();\r\n\t\t},\r\n\t\tgetDateStepPeriod: function Parameter$GetDateStepPeriod() {\r\n\t\t\treturn this._impl.get_$dateStepPeriod();\r\n\t\t}\r\n\t});\r\n\tss.initClass($tableauSoftware_QuantitativeFilter, $asm, {\r\n\t\tgetMin: function QuantitativeFilter$GetMin() {\r\n\t\t\treturn this.$min;\r\n\t\t},\r\n\t\tgetMax: function QuantitativeFilter$GetMax() {\r\n\t\t\treturn this.$max;\r\n\t\t},\r\n\t\tgetIncludeNullValues: function QuantitativeFilter$GetIncludeNullValues() {\r\n\t\t\treturn this.$includeNullValues;\r\n\t\t},\r\n\t\tgetDomainMin: function QuantitativeFilter$GetDomainMin() {\r\n\t\t\treturn this.$domainMin;\r\n\t\t},\r\n\t\tgetDomainMax: function QuantitativeFilter$GetDomainMax() {\r\n\t\t\treturn this.$domainMax;\r\n\t\t},\r\n\t\t_updateFromJson: function QuantitativeFilter$UpdateFromJson(pm) {\r\n\t\t\tthis.$initializeFromJson$1(pm);\r\n\t\t},\r\n\t\t$initializeFromJson$1: function QuantitativeFilter$InitializeFromJson(pm) {\r\n\t\t\tthis.$domainMin = $tab__Utility.getDataValue(pm.domainMinValue);\r\n\t\t\tthis.$domainMax = $tab__Utility.getDataValue(pm.domainMaxValue);\r\n\t\t\tthis.$min = $tab__Utility.getDataValue(pm.minValue);\r\n\t\t\tthis.$max = $tab__Utility.getDataValue(pm.maxValue);\r\n\t\t\tthis.$includeNullValues = pm.includeNullValues;\r\n\t\t}\r\n\t}, $tableauSoftware_Filter);\r\n\tss.initClass($tableauSoftware_RelativeDateFilter, $asm, {\r\n\t\tgetPeriod: function RelativeDateFilter$GetPeriod() {\r\n\t\t\treturn this.$periodType;\r\n\t\t},\r\n\t\tgetRange: function RelativeDateFilter$GetRange() {\r\n\t\t\treturn this.$rangeType;\r\n\t\t},\r\n\t\tgetRangeN: function RelativeDateFilter$GetRangeN() {\r\n\t\t\treturn this.$rangeN;\r\n\t\t},\r\n\t\t_updateFromJson: function RelativeDateFilter$UpdateFromJson(pm) {\r\n\t\t\tthis.$initializeFromJson$1(pm);\r\n\t\t},\r\n\t\t$initializeFromJson$1: function RelativeDateFilter$InitializeFromJson(pm) {\r\n\t\t\tif (ss.isValue(pm.periodType)) {\r\n\t\t\t\tthis.$periodType = $tab_ApiEnumConverter.convertPeriodType(ss.unbox(pm.periodType));\r\n\t\t\t}\r\n\t\t\tif (ss.isValue(pm.rangeType)) {\r\n\t\t\t\tthis.$rangeType = $tab_ApiEnumConverter.convertDateRange(ss.unbox(pm.rangeType));\r\n\t\t\t}\r\n\t\t\tif (ss.isValue(pm.rangeN)) {\r\n\t\t\t\tthis.$rangeN = ss.unbox(pm.rangeN);\r\n\t\t\t}\r\n\t\t}\r\n\t}, $tableauSoftware_Filter);\r\n\tss.initClass($tableauSoftware_SheetInfo, $asm, {\r\n\t\tgetName: function ApiSheetInfo$GetName() {\r\n\t\t\treturn this.$impl.name;\r\n\t\t},\r\n\t\tgetSheetType: function ApiSheetInfo$GetSheetType() {\r\n\t\t\treturn this.$impl.sheetType;\r\n\t\t},\r\n\t\tgetSize: function ApiSheetInfo$GetSize() {\r\n\t\t\treturn this.$impl.size;\r\n\t\t},\r\n\t\tgetIndex: function ApiSheetInfo$GetIndex() {\r\n\t\t\treturn this.$impl.index;\r\n\t\t},\r\n\t\tgetUrl: function ApiSheetInfo$GetUrl() {\r\n\t\t\treturn this.$impl.url;\r\n\t\t},\r\n\t\tgetIsActive: function ApiSheetInfo$GetIsActive() {\r\n\t\t\treturn this.$impl.isActive;\r\n\t\t},\r\n\t\tgetIsHidden: function ApiSheetInfo$GetIsHidden() {\r\n\t\t\treturn this.$impl.isHidden;\r\n\t\t},\r\n\t\tgetWorkbook: function ApiSheetInfo$GetWorkbook() {\r\n\t\t\treturn this.$impl.workbook;\r\n\t\t}\r\n\t});\r\n\tss.initClass($tableauSoftware_Story, $asm, {\r\n\t\tgetActiveStoryPoint: function Story$GetActiveStoryPoint() {\r\n\t\t\treturn this._impl.get_activeStoryPointImpl().get_storyPoint();\r\n\t\t},\r\n\t\tgetStoryPointsInfo: function Story$GetStoryPointsInfo() {\r\n\t\t\treturn this._impl.get_storyPointsInfo();\r\n\t\t},\r\n\t\tactivatePreviousStoryPointAsync: function Story$ActivatePreviousStoryPointAsync() {\r\n\t\t\treturn this._impl.activatePreviousStoryPointAsync();\r\n\t\t},\r\n\t\tactivateNextStoryPointAsync: function Story$ActivateNextStoryPointAsync() {\r\n\t\t\treturn this._impl.activateNextStoryPointAsync();\r\n\t\t},\r\n\t\tactivateStoryPointAsync: function Story$ActivateStoryPointAsync(index) {\r\n\t\t\treturn this._impl.activateStoryPointAsync(index);\r\n\t\t},\r\n\t\trevertStoryPointAsync: function Story$RevertStoryPointAsync(index) {\r\n\t\t\treturn this._impl.revertStoryPointAsync(index);\r\n\t\t}\r\n\t}, $tableauSoftware_Sheet);\r\n\tss.initClass($tableauSoftware_StoryPoint, $asm, {\r\n\t\tgetCaption: function StoryPoint$GetCaption() {\r\n\t\t\treturn this.$impl.get_caption();\r\n\t\t},\r\n\t\tgetContainedSheet: function StoryPoint$GetContainedSheet() {\r\n\t\t\treturn (ss.isValue(this.$impl.get_containedSheetImpl()) ? this.$impl.get_containedSheetImpl().get_sheet() : null);\r\n\t\t},\r\n\t\tgetIndex: function StoryPoint$GetIndex() {\r\n\t\t\treturn this.$impl.get_index();\r\n\t\t},\r\n\t\tgetIsActive: function StoryPoint$GetIsActive() {\r\n\t\t\treturn this.$impl.get_isActive();\r\n\t\t},\r\n\t\tgetIsUpdated: function StoryPoint$GetIsUpdated() {\r\n\t\t\treturn this.$impl.get_isUpdated();\r\n\t\t},\r\n\t\tgetParentStory: function StoryPoint$GetParentStory() {\r\n\t\t\treturn this.$impl.get_parentStoryImpl().get_story();\r\n\t\t}\r\n\t});\r\n\tss.initClass($tableauSoftware_StoryPointInfo, $asm, {\r\n\t\tgetCaption: function StoryPointInfo$GetCaption() {\r\n\t\t\treturn this._impl.caption;\r\n\t\t},\r\n\t\tgetIndex: function StoryPointInfo$GetIndex() {\r\n\t\t\treturn this._impl.index;\r\n\t\t},\r\n\t\tgetIsActive: function StoryPointInfo$GetIsActive() {\r\n\t\t\treturn this._impl.isActive;\r\n\t\t},\r\n\t\tgetIsUpdated: function StoryPointInfo$GetIsUpdated() {\r\n\t\t\treturn this._impl.isUpdated;\r\n\t\t},\r\n\t\tgetParentStory: function StoryPointInfo$GetParentStory() {\r\n\t\t\treturn this._impl.parentStoryImpl.get_story();\r\n\t\t}\r\n\t});\r\n\tss.initClass($tableauSoftware_Version, $asm, {\r\n\t\tgetMajor: function Version$GetMajor() {\r\n\t\t\treturn this.$major;\r\n\t\t},\r\n\t\tgetMinor: function Version$GetMinor() {\r\n\t\t\treturn this.$minor;\r\n\t\t},\r\n\t\tgetPatch: function Version$GetPatch() {\r\n\t\t\treturn this.$patch;\r\n\t\t},\r\n\t\tgetMetadata: function Version$GetMetadata() {\r\n\t\t\treturn this.$metadata;\r\n\t\t},\r\n\t\ttoString: function Version$ToString() {\r\n\t\t\tvar version = this.$major + '.' + this.$minor + '.' + this.$patch;\r\n\t\t\tif (ss.isValue(this.$metadata) && this.$metadata.length > 0) {\r\n\t\t\t\tversion += '-' + this.$metadata;\r\n\t\t\t}\r\n\t\t\treturn version;\r\n\t\t}\r\n\t});\r\n\tss.initClass($tableauSoftware_Viz, $asm, {\r\n\t\tgetAreTabsHidden: function Viz$GetAreTabsHidden() {\r\n\t\t\treturn this._impl.get_$areTabsHidden();\r\n\t\t},\r\n\t\tgetIsToolbarHidden: function Viz$GetIsToolbarHidden() {\r\n\t\t\treturn this._impl.get_$isToolbarHidden();\r\n\t\t},\r\n\t\tgetIsHidden: function Viz$GetIsHidden() {\r\n\t\t\treturn this._impl.get_$isHidden();\r\n\t\t},\r\n\t\tgetInstanceId: function Viz$GetInstanceId() {\r\n\t\t\treturn this._impl.get_instanceId();\r\n\t\t},\r\n\t\tgetParentElement: function Viz$GetParentElement() {\r\n\t\t\treturn this._impl.get_$parentElement();\r\n\t\t},\r\n\t\tgetUrl: function Viz$GetUrl() {\r\n\t\t\treturn this._impl.get_$url();\r\n\t\t},\r\n\t\tgetVizSize: function Viz$GetVizSize() {\r\n\t\t\treturn this._impl.get_$vizSize();\r\n\t\t},\r\n\t\tgetWorkbook: function Viz$GetWorkbook() {\r\n\t\t\treturn this._impl.get_$workbook();\r\n\t\t},\r\n\t\tgetAreAutomaticUpdatesPaused: function Viz$GetAreAutomaticUpdatesPaused() {\r\n\t\t\treturn this._impl.get_$areAutomaticUpdatesPaused();\r\n\t\t},\r\n\t\tgetCurrentUrlAsync: function Viz$GetCurrentUrlAsync() {\r\n\t\t\treturn this._impl.getCurrentUrlAsync();\r\n\t\t},\r\n\t\taddEventListener: function Viz$AddEventListener(eventName, handler) {\r\n\t\t\tthis._impl.addEventListener(eventName, handler);\r\n\t\t},\r\n\t\tremoveEventListener: function Viz$RemoveEventListener(eventName, handler) {\r\n\t\t\tthis._impl.removeEventListener(eventName, handler);\r\n\t\t},\r\n\t\tdispose: function Viz$Dispose() {\r\n\t\t\tthis._impl.$dispose();\r\n\t\t},\r\n\t\tshow: function Viz$Show() {\r\n\t\t\tthis._impl.$show();\r\n\t\t},\r\n\t\thide: function Viz$Hide() {\r\n\t\t\tthis._impl.$hide();\r\n\t\t},\r\n\t\tshowExportDataDialog: function Viz$ShowExportDataDialog(worksheetWithinDashboard) {\r\n\t\t\tthis._impl.$showExportDataDialog(worksheetWithinDashboard);\r\n\t\t},\r\n\t\tshowExportCrossTabDialog: function Viz$ShowExportCrossTabDialog(worksheetWithinDashboard) {\r\n\t\t\tthis._impl.$showExportCrossTabDialog(worksheetWithinDashboard);\r\n\t\t},\r\n\t\tshowExportImageDialog: function Viz$ShowExportImageDialog() {\r\n\t\t\tthis._impl.$showExportImageDialog();\r\n\t\t},\r\n\t\tshowExportPDFDialog: function Viz$ShowExportPDFDialog() {\r\n\t\t\tthis._impl.$showExportPDFDialog();\r\n\t\t},\r\n\t\trevertAllAsync: function Viz$RevertAllAsync() {\r\n\t\t\treturn this._impl.$revertAllAsync();\r\n\t\t},\r\n\t\trefreshDataAsync: function Viz$RefreshDataAsync() {\r\n\t\t\treturn this._impl.$refreshDataAsync();\r\n\t\t},\r\n\t\tshowShareDialog: function Viz$ShowShareDialog() {\r\n\t\t\tthis._impl.$showShareDialog();\r\n\t\t},\r\n\t\tshowDownloadWorkbookDialog: function Viz$ShowDownloadWorkbookDialog() {\r\n\t\t\tthis._impl.$showDownloadWorkbookDialog();\r\n\t\t},\r\n\t\tpauseAutomaticUpdatesAsync: function Viz$PauseAutomaticUpdatesAsync() {\r\n\t\t\treturn this._impl.$pauseAutomaticUpdatesAsync();\r\n\t\t},\r\n\t\tresumeAutomaticUpdatesAsync: function Viz$ResumeAutomaticUpdatesAsync() {\r\n\t\t\treturn this._impl.$resumeAutomaticUpdatesAsync();\r\n\t\t},\r\n\t\ttoggleAutomaticUpdatesAsync: function Viz$ToggleAutomaticUpdatesAsync() {\r\n\t\t\treturn this._impl.$toggleAutomaticUpdatesAsync();\r\n\t\t},\r\n\t\trefreshSize: function Viz$RefreshSize() {\r\n\t\t\tthis._impl.$refreshSize();\r\n\t\t},\r\n\t\tsetFrameSize: function Viz$SetFrameSize(width, height) {\r\n\t\t\tvar widthString = width;\r\n\t\t\tvar heightString = height;\r\n\t\t\tif ($tab__Utility.isNumber(width)) {\r\n\t\t\t\twidthString = width.toString() + 'px';\r\n\t\t\t}\r\n\t\t\tif ($tab__Utility.isNumber(height)) {\r\n\t\t\t\theightString = height.toString() + 'px';\r\n\t\t\t}\r\n\t\t\tthis._impl.$setFrameSizeAndUpdate(widthString, heightString);\r\n\t\t}\r\n\t});\r\n\tss.initClass($tableauSoftware_VizManager, $asm, {});\r\n\tss.initClass($tableauSoftware_Workbook, $asm, {\r\n\t\tgetViz: function Workbook$GetViz() {\r\n\t\t\treturn this.$workbookImpl.get_viz();\r\n\t\t},\r\n\t\tgetPublishedSheetsInfo: function Workbook$GetPublishedSheetsInfo() {\r\n\t\t\treturn this.$workbookImpl.get_publishedSheets()._toApiCollection();\r\n\t\t},\r\n\t\tgetName: function Workbook$GetName() {\r\n\t\t\treturn this.$workbookImpl.get_name();\r\n\t\t},\r\n\t\tgetActiveSheet: function Workbook$GetActiveSheet() {\r\n\t\t\treturn this.$workbookImpl.get_activeSheetImpl().get_sheet();\r\n\t\t},\r\n\t\tgetActiveCustomView: function Workbook$GetActiveCustomView() {\r\n\t\t\treturn this.$workbookImpl.get_activeCustomView();\r\n\t\t},\r\n\t\tactivateSheetAsync: function Workbook$ActivateSheetAsync(sheetNameOrIndex) {\r\n\t\t\treturn this.$workbookImpl._setActiveSheetAsync(sheetNameOrIndex);\r\n\t\t},\r\n\t\trevertAllAsync: function Workbook$RevertAllAsync() {\r\n\t\t\treturn this.$workbookImpl._revertAllAsync();\r\n\t\t},\r\n\t\tgetCustomViewsAsync: function Workbook$GetCustomViewsAsync() {\r\n\t\t\treturn this.$workbookImpl.$getCustomViewsAsync();\r\n\t\t},\r\n\t\tshowCustomViewAsync: function Workbook$ShowCustomViewAsync(customViewName) {\r\n\t\t\treturn this.$workbookImpl.$showCustomViewAsync(customViewName);\r\n\t\t},\r\n\t\tremoveCustomViewAsync: function Workbook$RemoveCustomViewAsync(customViewName) {\r\n\t\t\treturn this.$workbookImpl.$removeCustomViewAsync(customViewName);\r\n\t\t},\r\n\t\trememberCustomViewAsync: function Workbook$RememberCustomViewAsync(customViewName) {\r\n\t\t\treturn this.$workbookImpl.$rememberCustomViewAsync(customViewName);\r\n\t\t},\r\n\t\tsetActiveCustomViewAsDefaultAsync: function Workbook$SetActiveCustomViewAsDefaultAsync() {\r\n\t\t\treturn this.$workbookImpl.$setActiveCustomViewAsDefaultAsync();\r\n\t\t},\r\n\t\tgetParametersAsync: function Workbook$GetParametersAsync() {\r\n\t\t\treturn this.$workbookImpl.$getParametersAsync();\r\n\t\t},\r\n\t\tchangeParameterValueAsync: function Workbook$ChangeParameterValueAsync(parameterName, value) {\r\n\t\t\treturn this.$workbookImpl.$changeParameterValueAsync(parameterName, value);\r\n\t\t}\r\n\t});\r\n\tss.initClass($tableauSoftware_Worksheet, $asm, {\r\n\t\tgetParentDashboard: function Worksheet$GetParentDashboard() {\r\n\t\t\treturn this._impl.get_parentDashboard();\r\n\t\t},\r\n\t\tgetParentStoryPoint: function Worksheet$GetParentStoryPoint() {\r\n\t\t\treturn this._impl.get_parentStoryPoint();\r\n\t\t},\r\n\t\tgetDataSourcesAsync: function Worksheet$GetDataSourcesAsync() {\r\n\t\t\treturn this._impl.$getDataSourcesAsync();\r\n\t\t},\r\n\t\tgetFilterAsync: function Worksheet$GetFilterAsync(fieldName, options) {\r\n\t\t\treturn this._impl.$getFilterAsync(null, fieldName, options);\r\n\t\t},\r\n\t\tgetFiltersAsync: function Worksheet$GetFiltersAsync(options) {\r\n\t\t\treturn this._impl.$getFiltersAsync(options);\r\n\t\t},\r\n\t\tapplyFilterAsync: function Worksheet$ApplyFilterAsync(fieldName, values, updateType, options) {\r\n\t\t\treturn this._impl.$applyFilterAsync(fieldName, values, updateType, options);\r\n\t\t},\r\n\t\tclearFilterAsync: function Worksheet$ClearFilterAsync(fieldName) {\r\n\t\t\treturn this._impl.$clearFilterAsync(fieldName);\r\n\t\t},\r\n\t\tapplyRangeFilterAsync: function Worksheet$ApplyRangeFilterAsync(fieldName, options) {\r\n\t\t\treturn this._impl.$applyRangeFilterAsync(fieldName, options);\r\n\t\t},\r\n\t\tapplyRelativeDateFilterAsync: function Worksheet$ApplyRelativeDateFilterAsync(fieldName, options) {\r\n\t\t\treturn this._impl.$applyRelativeDateFilterAsync(fieldName, options);\r\n\t\t},\r\n\t\tapplyHierarchicalFilterAsync: function Worksheet$ApplyHierarchicalFilterAsync(fieldName, values, updateType, options) {\r\n\t\t\treturn this._impl.$applyHierarchicalFilterAsync(fieldName, values, updateType, options);\r\n\t\t},\r\n\t\tclearSelectedMarksAsync: function Worksheet$ClearSelectedMarksAsync() {\r\n\t\t\treturn this._impl.$clearSelectedMarksAsync();\r\n\t\t},\r\n\t\tselectMarksAsync: function Worksheet$SelectMarksAsync(fieldNameOrFieldValuesMap, valueOrUpdateType, updateType) {\r\n\t\t\treturn this._impl.$selectMarksAsync(fieldNameOrFieldValuesMap, valueOrUpdateType, updateType);\r\n\t\t},\r\n\t\tgetSelectedMarksAsync: function Worksheet$GetSelectedMarksAsync() {\r\n\t\t\treturn this._impl.$getSelectedMarksAsync();\r\n\t\t},\r\n\t\tgetSummaryDataAsync: function Worksheet$GetSummaryDataAsync(options) {\r\n\t\t\treturn this._impl.$getSummaryDataAsync(options);\r\n\t\t},\r\n\t\tgetUnderlyingDataAsync: function Worksheet$GetUnderlyingDataAsync(options) {\r\n\t\t\treturn this._impl.$getUnderlyingDataAsync(options);\r\n\t\t},\r\n\t\tclearHighlightedMarksAsync: function Worksheet$ClearHighlightedMarksAsync() {\r\n\t\t\treturn this._impl.$clearHighlightedMarksAsync();\r\n\t\t},\r\n\t\thighlightMarksAsync: function Worksheet$HighlightMarksAsync(fieldName, values) {\r\n\t\t\treturn this._impl.$highlightMarksAsync(fieldName, values);\r\n\t\t},\r\n\t\thighlightMarksByPatternMatchAsync: function Worksheet$HighlightMarksByPatternMatchAsync(fieldName, patternMatch) {\r\n\t\t\treturn this._impl.$highlightMarksByPatternMatchAsync(fieldName, patternMatch);\r\n\t\t},\r\n\t\tgetHighlightedMarksAsync: function Worksheet$GetHighlightedMarksAsync() {\r\n\t\t\treturn this._impl.$getHighlightedMarksAsync();\r\n\t\t}\r\n\t}, $tableauSoftware_Sheet);\r\n\t(function() {\r\n\t\t$tab__ApiCommand.crossDomainEventNotificationId = 'xdomainSourceId';\r\n\t\t$tab__ApiCommand.lastRequestMessage = null;\r\n\t\t$tab__ApiCommand.lastResponseMessage = null;\r\n\t\t$tab__ApiCommand.lastClientInfoResponseMessage = null;\r\n\t\t$tab__ApiCommand.$nextCommandId = 0;\r\n\t})();\r\n\t(function() {\r\n\t\t$tab__VizManagerImpl.$vizs = [];\r\n\t})();\r\n\t(function() {\r\n\t\t$tab__jQueryShim.$arrayType = 'array';\r\n\t\t$tab__jQueryShim.$booleanType = 'boolean';\r\n\t\t$tab__jQueryShim.$dateType = 'date';\r\n\t\t$tab__jQueryShim.$functionType = 'function';\r\n\t\t$tab__jQueryShim.$numberType = 'number';\r\n\t\t$tab__jQueryShim.$objectType = 'object';\r\n\t\t$tab__jQueryShim.$regExpType = 'regexp';\r\n\t\t$tab__jQueryShim.$stringType = 'string';\r\n\t\t$tab__jQueryShim.$class2type = ss.mkdict(['[object Boolean]', $tab__jQueryShim.$booleanType, '[object Number]', $tab__jQueryShim.$numberType, '[object String]', $tab__jQueryShim.$stringType, '[object Function]', $tab__jQueryShim.$functionType, '[object Array]', $tab__jQueryShim.$arrayType, '[object Date]', $tab__jQueryShim.$dateType, '[object RegExp]', $tab__jQueryShim.$regExpType, '[object Object]', $tab__jQueryShim.$objectType]);\r\n\t\t$tab__jQueryShim.$trim = ss.cast(String.prototype['trim'], Function);\r\n\t\t$tab__jQueryShim.$toString = ss.cast(Object.prototype['toString'], Function);\r\n\t\t$tab__jQueryShim.$trimLeft = new RegExp('^[\\\\s\\\\xA0]+');\r\n\t\t$tab__jQueryShim.$trimRight = new RegExp('[\\\\s\\\\xA0]+$');\r\n\t\t$tab__jQueryShim.$rvalidchars = new RegExp('^[\\\\],:{}\\\\s]*$');\r\n\t\t$tab__jQueryShim.$rvalidescape = new RegExp('\\\\\\\\(?:[\"\\\\\\\\\\\\/bfnrt]|u[0-9a-fA-F]{4})', 'g');\r\n\t\t$tab__jQueryShim.$rvalidtokens = new RegExp('\"[^\"\\\\\\\\\\\\n\\\\r]*\"|true|false|null|-?\\\\d+(?:\\\\.\\\\d*)?(?:[eE][+\\\\-]?\\\\d+)?', 'g');\r\n\t\t$tab__jQueryShim.$rvalidbraces = new RegExp('(?:^|:|,)(?:\\\\s*\\\\[)+', 'g');\r\n\t})();\r\n\t(function() {\r\n\t\tvar ns = global.tableauSoftware;\r\n\t\tns.DeviceType = { DEFAULT: 'default', DESKTOP: 'desktop', TABLET: 'tablet', PHONE: 'phone' };\r\n\t\tns.DashboardObjectType = { BLANK: 'blank', WORKSHEET: 'worksheet', QUICK_FILTER: 'quickFilter', PARAMETER_CONTROL: 'parameterControl', PAGE_FILTER: 'pageFilter', LEGEND: 'legend', TITLE: 'title', TEXT: 'text', IMAGE: 'image', WEB_PAGE: 'webPage' };\r\n\t\tns.DataType = { FLOAT: 'float', INTEGER: 'integer', STRING: 'string', BOOLEAN: 'boolean', DATE: 'date', DATETIME: 'datetime' };\r\n\t\tns.DateRangeType = { LAST: 'last', LASTN: 'lastn', NEXT: 'next', NEXTN: 'nextn', CURR: 'curr', TODATE: 'todate' };\r\n\t\tns.ErrorCode = { INTERNAL_ERROR: 'internalError', SERVER_ERROR: 'serverError', INVALID_AGGREGATION_FIELD_NAME: 'invalidAggregationFieldName', INVALID_PARAMETER: 'invalidParameter', INVALID_URL: 'invalidUrl', STALE_DATA_REFERENCE: 'staleDataReference', VIZ_ALREADY_IN_MANAGER: 'vizAlreadyInManager', NO_URL_OR_PARENT_ELEMENT_NOT_FOUND: 'noUrlOrParentElementNotFound', INVALID_FILTER_FIELDNAME: 'invalidFilterFieldName', INVALID_FILTER_FIELDVALUE: 'invalidFilterFieldValue', INVALID_FILTER_FIELDNAME_OR_VALUE: 'invalidFilterFieldNameOrValue', FILTER_CANNOT_BE_PERFORMED: 'filterCannotBePerformed', NOT_ACTIVE_SHEET: 'notActiveSheet', INVALID_CUSTOM_VIEW_NAME: 'invalidCustomViewName', MISSING_RANGEN_FOR_RELATIVE_DATE_FILTERS: 'missingRangeNForRelativeDateFilters', MISSING_MAX_SIZE: 'missingMaxSize', MISSING_MIN_SIZE: 'missingMinSize', MISSING_MINMAX_SIZE: 'missingMinMaxSize', INVALID_SIZE: 'invalidSize', INVALID_SIZE_BEHAVIOR_ON_WORKSHEET: 'invalidSizeBehaviorOnWorksheet', SHEET_NOT_IN_WORKBOOK: 'sheetNotInWorkbook', INDEX_OUT_OF_RANGE: 'indexOutOfRange', DOWNLOAD_WORKBOOK_NOT_ALLOWED: 'downloadWorkbookNotAllowed', NULL_OR_EMPTY_PARAMETER: 'nullOrEmptyParameter', BROWSER_NOT_CAPABLE: 'browserNotCapable', UNSUPPORTED_EVENT_NAME: 'unsupportedEventName', INVALID_DATE_PARAMETER: 'invalidDateParameter', INVALID_SELECTION_FIELDNAME: 'invalidSelectionFieldName', INVALID_SELECTION_VALUE: 'invalidSelectionValue', INVALID_SELECTION_DATE: 'invalidSelectionDate', NO_URL_FOR_HIDDEN_WORKSHEET: 'noUrlForHiddenWorksheet', MAX_VIZ_RESIZE_ATTEMPTS: 'maxVizResizeAttempts' };\r\n\t\tns.FieldAggregationType = { SUM: 'SUM', AVG: 'AVG', MIN: 'MIN', MAX: 'MAX', STDEV: 'STDEV', STDEVP: 'STDEVP', VAR: 'VAR', VARP: 'VARP', COUNT: 'COUNT', COUNTD: 'COUNTD', MEDIAN: 'MEDIAN', ATTR: 'ATTR', NONE: 'NONE', PERCENTILE: 'PERCENTILE', YEAR: 'YEAR', QTR: 'QTR', MONTH: 'MONTH', DAY: 'DAY', HOUR: 'HOUR', MINUTE: 'MINUTE', SECOND: 'SECOND', WEEK: 'WEEK', WEEKDAY: 'WEEKDAY', MONTHYEAR: 'MONTHYEAR', MDY: 'MDY', END: 'END', TRUNC_YEAR: 'TRUNC_YEAR', TRUNC_QTR: 'TRUNC_QTR', TRUNC_MONTH: 'TRUNC_MONTH', TRUNC_WEEK: 'TRUNC_WEEK', TRUNC_DAY: 'TRUNC_DAY', TRUNC_HOUR: 'TRUNC_HOUR', TRUNC_MINUTE: 'TRUNC_MINUTE', TRUNC_SECOND: 'TRUNC_SECOND', QUART1: 'QUART1', QUART3: 'QUART3', SKEWNESS: 'SKEWNESS', KURTOSIS: 'KURTOSIS', INOUT: 'INOUT', SUM_XSQR: 'SUM_XSQR', USER: 'USER' };\r\n\t\tns.FieldRoleType = { DIMENSION: 'dimension', MEASURE: 'measure', UNKNOWN: 'unknown' };\r\n\t\tns.FilterUpdateType = { ALL: 'all', REPLACE: 'replace', ADD: 'add', REMOVE: 'remove' };\r\n\t\tns.FilterType = { CATEGORICAL: 'categorical', QUANTITATIVE: 'quantitative', HIERARCHICAL: 'hierarchical', RELATIVEDATE: 'relativedate' };\r\n\t\tns.NullOption = { NULL_VALUES: 'nullValues', NON_NULL_VALUES: 'nonNullValues', ALL_VALUES: 'allValues' };\r\n\t\tns.ParameterAllowableValuesType = { ALL: 'all', LIST: 'list', RANGE: 'range' };\r\n\t\tns.ParameterDataType = { FLOAT: 'float', INTEGER: 'integer', STRING: 'string', BOOLEAN: 'boolean', DATE: 'date', DATETIME: 'datetime' };\r\n\t\tns.PeriodType = { YEAR: 'year', QUARTER: 'quarter', MONTH: 'month', WEEK: 'week', DAY: 'day', HOUR: 'hour', MINUTE: 'minute', SECOND: 'second' };\r\n\t\tns.SelectionUpdateType = { REPLACE: 'replace', ADD: 'add', REMOVE: 'remove' };\r\n\t\tns.SheetSizeBehavior = { AUTOMATIC: 'automatic', EXACTLY: 'exactly', RANGE: 'range', ATLEAST: 'atleast', ATMOST: 'atmost' };\r\n\t\tns.SheetType = { WORKSHEET: 'worksheet', DASHBOARD: 'dashboard', STORY: 'story' };\r\n\t\tns.TableauEventName = { CUSTOM_VIEW_LOAD: 'customviewload', CUSTOM_VIEW_REMOVE: 'customviewremove', CUSTOM_VIEW_SAVE: 'customviewsave', CUSTOM_VIEW_SET_DEFAULT: 'customviewsetdefault', FILTER_CHANGE: 'filterchange', FIRST_INTERACTIVE: 'firstinteractive', FIRST_VIZ_SIZE_KNOWN: 'firstvizsizeknown', MARKS_SELECTION: 'marksselection', MARKS_HIGHLIGHT: 'markshighlight', PARAMETER_VALUE_CHANGE: 'parametervaluechange', STORY_POINT_SWITCH: 'storypointswitch', TAB_SWITCH: 'tabswitch', VIZ_RESIZE: 'vizresize' };\r\n\t\tns.ToolbarPosition = { TOP: 'top', BOTTOM: 'bottom' };\r\n\t})();\r\n\t(function() {\r\n\t\t$tab__ApiObjectRegistry.$creationRegistry = null;\r\n\t\t$tab__ApiObjectRegistry.$singletonInstanceRegistry = null;\r\n\t})();\r\n\t(function() {\r\n\t\t$tab__SheetImpl.noZoneId = 4294967295;\r\n\t})();\r\n\t(function() {\r\n\t\t$tab__WorksheetImpl.$regexHierarchicalFieldName = new RegExp('\\\\[[^\\\\]]+\\\\]\\\\.', 'g');\r\n\t})();\r\n\t(function() {\r\n\t\t$tableauSoftware_Version.$currentVersion = new $tableauSoftware_Version(2, 1, 2, 'null');\r\n\t})();\r\n})();\r\n\r\nwindow.tableau = window.tableauSoftware = global.tableauSoftware;\r\n\r\ntableauSoftware.Promise = tab._PromiseImpl;\r\ntab._Deferred = tab._DeferredImpl;\r\ntab._Collection = tab._CollectionImpl;\r\n\r\ntab._ApiBootstrap.initialize();\r\n\r\n\r\n})();\r\n","/*! jQuery v3.7.1 | (c) OpenJS Foundation and other contributors | jquery.org/license */\n!function(e,t){\"use strict\";\"object\"==typeof module&&\"object\"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error(\"jQuery requires a window with a document\");return t(e)}:t(e)}(\"undefined\"!=typeof window?window:this,function(ie,e){\"use strict\";var oe=[],r=Object.getPrototypeOf,ae=oe.slice,g=oe.flat?function(e){return oe.flat.call(e)}:function(e){return oe.concat.apply([],e)},s=oe.push,se=oe.indexOf,n={},i=n.toString,ue=n.hasOwnProperty,o=ue.toString,a=o.call(Object),le={},v=function(e){return\"function\"==typeof e&&\"number\"!=typeof e.nodeType&&\"function\"!=typeof e.item},y=function(e){return null!=e&&e===e.window},C=ie.document,u={type:!0,src:!0,nonce:!0,noModule:!0};function m(e,t,n){var r,i,o=(n=n||C).createElement(\"script\");if(o.text=e,t)for(r in u)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+\"\":\"object\"==typeof e||\"function\"==typeof e?n[i.call(e)]||\"object\":typeof e}var t=\"3.7.1\",l=/HTML$/i,ce=function(e,t){return new ce.fn.init(e,t)};function c(e){var t=!!e&&\"length\"in e&&e.length,n=x(e);return!v(e)&&!y(e)&&(\"array\"===n||0===t||\"number\"==typeof t&&0<t&&t-1 in e)}function fe(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}ce.fn=ce.prototype={jquery:t,constructor:ce,length:0,toArray:function(){return ae.call(this)},get:function(e){return null==e?ae.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=ce.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return ce.each(this,e)},map:function(n){return this.pushStack(ce.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(ae.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(ce.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(ce.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:s,sort:oe.sort,splice:oe.splice},ce.extend=ce.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for(\"boolean\"==typeof a&&(l=a,a=arguments[s]||{},s++),\"object\"==typeof a||v(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],\"__proto__\"!==t&&a!==r&&(l&&r&&(ce.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||ce.isPlainObject(n)?n:{},i=!1,a[t]=ce.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},ce.extend({expando:\"jQuery\"+(t+Math.random()).replace(/\\D/g,\"\"),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||\"[object Object]\"!==i.call(e))&&(!(t=r(e))||\"function\"==typeof(n=ue.call(t,\"constructor\")&&t.constructor)&&o.call(n)===a)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){m(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(c(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},text:function(e){var t,n=\"\",r=0,i=e.nodeType;if(!i)while(t=e[r++])n+=ce.text(t);return 1===i||11===i?e.textContent:9===i?e.documentElement.textContent:3===i||4===i?e.nodeValue:n},makeArray:function(e,t){var n=t||[];return null!=e&&(c(Object(e))?ce.merge(n,\"string\"==typeof e?[e]:e):s.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:se.call(t,e,n)},isXMLDoc:function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!l.test(t||n&&n.nodeName||\"HTML\")},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(c(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g(a)},guid:1,support:le}),\"function\"==typeof Symbol&&(ce.fn[Symbol.iterator]=oe[Symbol.iterator]),ce.each(\"Boolean Number String Function Array Date RegExp Object Error Symbol\".split(\" \"),function(e,t){n[\"[object \"+t+\"]\"]=t.toLowerCase()});var pe=oe.pop,de=oe.sort,he=oe.splice,ge=\"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\",ve=new RegExp(\"^\"+ge+\"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\"+ge+\"+$\",\"g\");ce.contains=function(e,t){var n=t&&t.parentNode;return e===n||!(!n||1!==n.nodeType||!(e.contains?e.contains(n):e.compareDocumentPosition&&16&e.compareDocumentPosition(n)))};var f=/([\\0-\\x1f\\x7f]|^-?\\d)|^-$|[^\\x80-\\uFFFF\\w-]/g;function p(e,t){return t?\"\\0\"===e?\"\\ufffd\":e.slice(0,-1)+\"\\\\\"+e.charCodeAt(e.length-1).toString(16)+\" \":\"\\\\\"+e}ce.escapeSelector=function(e){return(e+\"\").replace(f,p)};var ye=C,me=s;!function(){var e,b,w,o,a,T,r,C,d,i,k=me,S=ce.expando,E=0,n=0,s=W(),c=W(),u=W(),h=W(),l=function(e,t){return e===t&&(a=!0),0},f=\"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped\",t=\"(?:\\\\\\\\[\\\\da-fA-F]{1,6}\"+ge+\"?|\\\\\\\\[^\\\\r\\\\n\\\\f]|[\\\\w-]|[^\\0-\\\\x7f])+\",p=\"\\\\[\"+ge+\"*(\"+t+\")(?:\"+ge+\"*([*^$|!~]?=)\"+ge+\"*(?:'((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\"|(\"+t+\"))|)\"+ge+\"*\\\\]\",g=\":(\"+t+\")(?:\\\\((('((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\")|((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|\"+p+\")*)|.*)\\\\)|)\",v=new RegExp(ge+\"+\",\"g\"),y=new RegExp(\"^\"+ge+\"*,\"+ge+\"*\"),m=new RegExp(\"^\"+ge+\"*([>+~]|\"+ge+\")\"+ge+\"*\"),x=new RegExp(ge+\"|>\"),j=new RegExp(g),A=new RegExp(\"^\"+t+\"$\"),D={ID:new RegExp(\"^#(\"+t+\")\"),CLASS:new RegExp(\"^\\\\.(\"+t+\")\"),TAG:new RegExp(\"^(\"+t+\"|[*])\"),ATTR:new RegExp(\"^\"+p),PSEUDO:new RegExp(\"^\"+g),CHILD:new RegExp(\"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\"+ge+\"*(even|odd|(([+-]|)(\\\\d*)n|)\"+ge+\"*(?:([+-]|)\"+ge+\"*(\\\\d+)|))\"+ge+\"*\\\\)|)\",\"i\"),bool:new RegExp(\"^(?:\"+f+\")$\",\"i\"),needsContext:new RegExp(\"^\"+ge+\"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\"+ge+\"*((?:-\\\\d)?\\\\d*)\"+ge+\"*\\\\)|)(?=[^-]|$)\",\"i\")},N=/^(?:input|select|textarea|button)$/i,q=/^h\\d$/i,L=/^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,H=/[+~]/,O=new RegExp(\"\\\\\\\\[\\\\da-fA-F]{1,6}\"+ge+\"?|\\\\\\\\([^\\\\r\\\\n\\\\f])\",\"g\"),P=function(e,t){var n=\"0x\"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},M=function(){V()},R=J(function(e){return!0===e.disabled&&fe(e,\"fieldset\")},{dir:\"parentNode\",next:\"legend\"});try{k.apply(oe=ae.call(ye.childNodes),ye.childNodes),oe[ye.childNodes.length].nodeType}catch(e){k={apply:function(e,t){me.apply(e,ae.call(t))},call:function(e){me.apply(e,ae.call(arguments,1))}}}function I(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],\"string\"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(V(e),e=e||T,C)){if(11!==p&&(u=L.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return k.call(n,a),n}else if(f&&(a=f.getElementById(i))&&I.contains(e,a)&&a.id===i)return k.call(n,a),n}else{if(u[2])return k.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&e.getElementsByClassName)return k.apply(n,e.getElementsByClassName(i)),n}if(!(h[t+\" \"]||d&&d.test(t))){if(c=t,f=e,1===p&&(x.test(t)||m.test(t))){(f=H.test(t)&&U(e.parentNode)||e)==e&&le.scope||((s=e.getAttribute(\"id\"))?s=ce.escapeSelector(s):e.setAttribute(\"id\",s=S)),o=(l=Y(t)).length;while(o--)l[o]=(s?\"#\"+s:\":scope\")+\" \"+Q(l[o]);c=l.join(\",\")}try{return k.apply(n,f.querySelectorAll(c)),n}catch(e){h(t,!0)}finally{s===S&&e.removeAttribute(\"id\")}}}return re(t.replace(ve,\"$1\"),e,n,r)}function W(){var r=[];return function e(t,n){return r.push(t+\" \")>b.cacheLength&&delete e[r.shift()],e[t+\" \"]=n}}function F(e){return e[S]=!0,e}function $(e){var t=T.createElement(\"fieldset\");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function B(t){return function(e){return fe(e,\"input\")&&e.type===t}}function _(t){return function(e){return(fe(e,\"input\")||fe(e,\"button\"))&&e.type===t}}function z(t){return function(e){return\"form\"in e?e.parentNode&&!1===e.disabled?\"label\"in e?\"label\"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&R(e)===t:e.disabled===t:\"label\"in e&&e.disabled===t}}function X(a){return F(function(o){return o=+o,F(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function U(e){return e&&\"undefined\"!=typeof e.getElementsByTagName&&e}function V(e){var t,n=e?e.ownerDocument||e:ye;return n!=T&&9===n.nodeType&&n.documentElement&&(r=(T=n).documentElement,C=!ce.isXMLDoc(T),i=r.matches||r.webkitMatchesSelector||r.msMatchesSelector,r.msMatchesSelector&&ye!=T&&(t=T.defaultView)&&t.top!==t&&t.addEventListener(\"unload\",M),le.getById=$(function(e){return r.appendChild(e).id=ce.expando,!T.getElementsByName||!T.getElementsByName(ce.expando).length}),le.disconnectedMatch=$(function(e){return i.call(e,\"*\")}),le.scope=$(function(){return T.querySelectorAll(\":scope\")}),le.cssHas=$(function(){try{return T.querySelector(\":has(*,:jqfake)\"),!1}catch(e){return!0}}),le.getById?(b.filter.ID=function(e){var t=e.replace(O,P);return function(e){return e.getAttribute(\"id\")===t}},b.find.ID=function(e,t){if(\"undefined\"!=typeof t.getElementById&&C){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(O,P);return function(e){var t=\"undefined\"!=typeof e.getAttributeNode&&e.getAttributeNode(\"id\");return t&&t.value===n}},b.find.ID=function(e,t){if(\"undefined\"!=typeof t.getElementById&&C){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode(\"id\"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode(\"id\"))&&n.value===e)return[o]}return[]}}),b.find.TAG=function(e,t){return\"undefined\"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):t.querySelectorAll(e)},b.find.CLASS=function(e,t){if(\"undefined\"!=typeof t.getElementsByClassName&&C)return t.getElementsByClassName(e)},d=[],$(function(e){var t;r.appendChild(e).innerHTML=\"<a id='\"+S+\"' href='' disabled='disabled'></a><select id='\"+S+\"-\\r\\\\' disabled='disabled'><option selected=''></option></select>\",e.querySelectorAll(\"[selected]\").length||d.push(\"\\\\[\"+ge+\"*(?:value|\"+f+\")\"),e.querySelectorAll(\"[id~=\"+S+\"-]\").length||d.push(\"~=\"),e.querySelectorAll(\"a#\"+S+\"+*\").length||d.push(\".#.+[+~]\"),e.querySelectorAll(\":checked\").length||d.push(\":checked\"),(t=T.createElement(\"input\")).setAttribute(\"type\",\"hidden\"),e.appendChild(t).setAttribute(\"name\",\"D\"),r.appendChild(e).disabled=!0,2!==e.querySelectorAll(\":disabled\").length&&d.push(\":enabled\",\":disabled\"),(t=T.createElement(\"input\")).setAttribute(\"name\",\"\"),e.appendChild(t),e.querySelectorAll(\"[name='']\").length||d.push(\"\\\\[\"+ge+\"*name\"+ge+\"*=\"+ge+\"*(?:''|\\\"\\\")\")}),le.cssHas||d.push(\":has\"),d=d.length&&new RegExp(d.join(\"|\")),l=function(e,t){if(e===t)return a=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!le.sortDetached&&t.compareDocumentPosition(e)===n?e===T||e.ownerDocument==ye&&I.contains(ye,e)?-1:t===T||t.ownerDocument==ye&&I.contains(ye,t)?1:o?se.call(o,e)-se.call(o,t):0:4&n?-1:1)}),T}for(e in I.matches=function(e,t){return I(e,null,null,t)},I.matchesSelector=function(e,t){if(V(e),C&&!h[t+\" \"]&&(!d||!d.test(t)))try{var n=i.call(e,t);if(n||le.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){h(t,!0)}return 0<I(t,T,null,[e]).length},I.contains=function(e,t){return(e.ownerDocument||e)!=T&&V(e),ce.contains(e,t)},I.attr=function(e,t){(e.ownerDocument||e)!=T&&V(e);var n=b.attrHandle[t.toLowerCase()],r=n&&ue.call(b.attrHandle,t.toLowerCase())?n(e,t,!C):void 0;return void 0!==r?r:e.getAttribute(t)},I.error=function(e){throw new Error(\"Syntax error, unrecognized expression: \"+e)},ce.uniqueSort=function(e){var t,n=[],r=0,i=0;if(a=!le.sortStable,o=!le.sortStable&&ae.call(e,0),de.call(e,l),a){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)he.call(e,n[r],1)}return o=null,e},ce.fn.uniqueSort=function(){return this.pushStack(ce.uniqueSort(ae.apply(this)))},(b=ce.expr={cacheLength:50,createPseudo:F,match:D,attrHandle:{},find:{},relative:{\">\":{dir:\"parentNode\",first:!0},\" \":{dir:\"parentNode\"},\"+\":{dir:\"previousSibling\",first:!0},\"~\":{dir:\"previousSibling\"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(O,P),e[3]=(e[3]||e[4]||e[5]||\"\").replace(O,P),\"~=\"===e[2]&&(e[3]=\" \"+e[3]+\" \"),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),\"nth\"===e[1].slice(0,3)?(e[3]||I.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*(\"even\"===e[3]||\"odd\"===e[3])),e[5]=+(e[7]+e[8]||\"odd\"===e[3])):e[3]&&I.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return D.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||\"\":n&&j.test(n)&&(t=Y(n,!0))&&(t=n.indexOf(\")\",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(O,P).toLowerCase();return\"*\"===e?function(){return!0}:function(e){return fe(e,t)}},CLASS:function(e){var t=s[e+\" \"];return t||(t=new RegExp(\"(^|\"+ge+\")\"+e+\"(\"+ge+\"|$)\"))&&s(e,function(e){return t.test(\"string\"==typeof e.className&&e.className||\"undefined\"!=typeof e.getAttribute&&e.getAttribute(\"class\")||\"\")})},ATTR:function(n,r,i){return function(e){var t=I.attr(e,n);return null==t?\"!=\"===r:!r||(t+=\"\",\"=\"===r?t===i:\"!=\"===r?t!==i:\"^=\"===r?i&&0===t.indexOf(i):\"*=\"===r?i&&-1<t.indexOf(i):\"$=\"===r?i&&t.slice(-i.length)===i:\"~=\"===r?-1<(\" \"+t.replace(v,\" \")+\" \").indexOf(i):\"|=\"===r&&(t===i||t.slice(0,i.length+1)===i+\"-\"))}},CHILD:function(d,e,t,h,g){var v=\"nth\"!==d.slice(0,3),y=\"last\"!==d.slice(-4),m=\"of-type\"===e;return 1===h&&0===g?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u=v!==y?\"nextSibling\":\"previousSibling\",l=e.parentNode,c=m&&e.nodeName.toLowerCase(),f=!n&&!m,p=!1;if(l){if(v){while(u){o=e;while(o=o[u])if(m?fe(o,c):1===o.nodeType)return!1;s=u=\"only\"===d&&!s&&\"nextSibling\"}return!0}if(s=[y?l.firstChild:l.lastChild],y&&f){p=(a=(r=(i=l[S]||(l[S]={}))[d]||[])[0]===E&&r[1])&&r[2],o=a&&l.childNodes[a];while(o=++a&&o&&o[u]||(p=a=0)||s.pop())if(1===o.nodeType&&++p&&o===e){i[d]=[E,a,p];break}}else if(f&&(p=a=(r=(i=e[S]||(e[S]={}))[d]||[])[0]===E&&r[1]),!1===p)while(o=++a&&o&&o[u]||(p=a=0)||s.pop())if((m?fe(o,c):1===o.nodeType)&&++p&&(f&&((i=o[S]||(o[S]={}))[d]=[E,p]),o===e))break;return(p-=g)===h||p%h==0&&0<=p/h}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||I.error(\"unsupported pseudo: \"+e);return a[S]?a(o):1<a.length?(t=[e,e,\"\",o],b.setFilters.hasOwnProperty(e.toLowerCase())?F(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=se.call(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:F(function(e){var r=[],i=[],s=ne(e.replace(ve,\"$1\"));return s[S]?F(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:F(function(t){return function(e){return 0<I(t,e).length}}),contains:F(function(t){return t=t.replace(O,P),function(e){return-1<(e.textContent||ce.text(e)).indexOf(t)}}),lang:F(function(n){return A.test(n||\"\")||I.error(\"unsupported lang: \"+n),n=n.replace(O,P).toLowerCase(),function(e){var t;do{if(t=C?e.lang:e.getAttribute(\"xml:lang\")||e.getAttribute(\"lang\"))return(t=t.toLowerCase())===n||0===t.indexOf(n+\"-\")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=ie.location&&ie.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===r},focus:function(e){return e===function(){try{return T.activeElement}catch(e){}}()&&T.hasFocus()&&!!(e.type||e.href||~e.tabIndex)},enabled:z(!1),disabled:z(!0),checked:function(e){return fe(e,\"input\")&&!!e.checked||fe(e,\"option\")&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return q.test(e.nodeName)},input:function(e){return N.test(e.nodeName)},button:function(e){return fe(e,\"input\")&&\"button\"===e.type||fe(e,\"button\")},text:function(e){var t;return fe(e,\"input\")&&\"text\"===e.type&&(null==(t=e.getAttribute(\"type\"))||\"text\"===t.toLowerCase())},first:X(function(){return[0]}),last:X(function(e,t){return[t-1]}),eq:X(function(e,t,n){return[n<0?n+t:n]}),even:X(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:X(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:X(function(e,t,n){var r;for(r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:X(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=B(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=_(e);function G(){}function Y(e,t){var n,r,i,o,a,s,u,l=c[e+\" \"];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=y.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=m.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace(ve,\" \")}),a=a.slice(n.length)),b.filter)!(r=D[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?I.error(e):c(e,s).slice(0)}function Q(e){for(var t=0,n=e.length,r=\"\";t<n;t++)r+=e[t].value;return r}function J(a,e,t){var s=e.dir,u=e.next,l=u||s,c=t&&\"parentNode\"===l,f=n++;return e.first?function(e,t,n){while(e=e[s])if(1===e.nodeType||c)return a(e,t,n);return!1}:function(e,t,n){var r,i,o=[E,f];if(n){while(e=e[s])if((1===e.nodeType||c)&&a(e,t,n))return!0}else while(e=e[s])if(1===e.nodeType||c)if(i=e[S]||(e[S]={}),u&&fe(e,u))e=e[s]||e;else{if((r=i[l])&&r[0]===E&&r[1]===f)return o[2]=r[2];if((i[l]=o)[2]=a(e,t,n))return!0}return!1}}function K(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Z(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function ee(d,h,g,v,y,e){return v&&!v[S]&&(v=ee(v)),y&&!y[S]&&(y=ee(y,e)),F(function(e,t,n,r){var i,o,a,s,u=[],l=[],c=t.length,f=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)I(e,t[r],n);return n}(h||\"*\",n.nodeType?[n]:n,[]),p=!d||!e&&h?f:Z(f,u,d,n,r);if(g?g(p,s=y||(e?d:c||v)?[]:t,n,r):s=p,v){i=Z(s,l),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(s[l[o]]=!(p[l[o]]=a))}if(e){if(y||d){if(y){i=[],o=s.length;while(o--)(a=s[o])&&i.push(p[o]=a);y(null,s=[],i,r)}o=s.length;while(o--)(a=s[o])&&-1<(i=y?se.call(e,a):u[o])&&(e[i]=!(t[i]=a))}}else s=Z(s===t?s.splice(c,s.length):s),y?y(null,t,s,r):k.apply(t,s)})}function te(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[\" \"],s=o?1:0,u=J(function(e){return e===i},a,!0),l=J(function(e){return-1<se.call(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!=w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[J(K(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[S]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return ee(1<s&&K(c),1<s&&Q(e.slice(0,s-1).concat({value:\" \"===e[s-2].type?\"*\":\"\"})).replace(ve,\"$1\"),t,s<n&&te(e.slice(s,n)),n<r&&te(e=e.slice(n)),n<r&&Q(e))}c.push(t)}return K(c)}function ne(e,t){var n,v,y,m,x,r,i=[],o=[],a=u[e+\" \"];if(!a){t||(t=Y(e)),n=t.length;while(n--)(a=te(t[n]))[S]?i.push(a):o.push(a);(a=u(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l=\"0\",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG(\"*\",i),h=E+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t==T||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument==T||(V(o),n=!C);while(s=v[a++])if(s(o,t||T,n)){k.call(r,o);break}i&&(E=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=pe.call(r));f=Z(f)}k.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&ce.uniqueSort(r)}return i&&(E=h,w=p),c},m?F(r):r))).selector=e}return a}function re(e,t,n,r){var i,o,a,s,u,l=\"function\"==typeof e&&e,c=!r&&Y(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&\"ID\"===(a=o[0]).type&&9===t.nodeType&&C&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(O,P),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=D.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(O,P),H.test(o[0].type)&&U(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&Q(o)))return k.apply(n,r),n;break}}}return(l||ne(e,c))(r,t,!C,n,!t||H.test(e)&&U(t.parentNode)||t),n}G.prototype=b.filters=b.pseudos,b.setFilters=new G,le.sortStable=S.split(\"\").sort(l).join(\"\")===S,V(),le.sortDetached=$(function(e){return 1&e.compareDocumentPosition(T.createElement(\"fieldset\"))}),ce.find=I,ce.expr[\":\"]=ce.expr.pseudos,ce.unique=ce.uniqueSort,I.compile=ne,I.select=re,I.setDocument=V,I.tokenize=Y,I.escape=ce.escapeSelector,I.getText=ce.text,I.isXML=ce.isXMLDoc,I.selectors=ce.expr,I.support=ce.support,I.uniqueSort=ce.uniqueSort}();var d=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&ce(e).is(n))break;r.push(e)}return r},h=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},b=ce.expr.match.needsContext,w=/^<([a-z][^\\/\\0>:\\x20\\t\\r\\n\\f]*)[\\x20\\t\\r\\n\\f]*\\/?>(?:<\\/\\1>|)$/i;function T(e,n,r){return v(n)?ce.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?ce.grep(e,function(e){return e===n!==r}):\"string\"!=typeof n?ce.grep(e,function(e){return-1<se.call(n,e)!==r}):ce.filter(n,e,r)}ce.filter=function(e,t,n){var r=t[0];return n&&(e=\":not(\"+e+\")\"),1===t.length&&1===r.nodeType?ce.find.matchesSelector(r,e)?[r]:[]:ce.find.matches(e,ce.grep(t,function(e){return 1===e.nodeType}))},ce.fn.extend({find:function(e){var t,n,r=this.length,i=this;if(\"string\"!=typeof e)return this.pushStack(ce(e).filter(function(){for(t=0;t<r;t++)if(ce.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)ce.find(e,i[t],n);return 1<r?ce.uniqueSort(n):n},filter:function(e){return this.pushStack(T(this,e||[],!1))},not:function(e){return this.pushStack(T(this,e||[],!0))},is:function(e){return!!T(this,\"string\"==typeof e&&b.test(e)?ce(e):e||[],!1).length}});var k,S=/^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\w-]+))$/;(ce.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||k,\"string\"==typeof e){if(!(r=\"<\"===e[0]&&\">\"===e[e.length-1]&&3<=e.length?[null,e,null]:S.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof ce?t[0]:t,ce.merge(this,ce.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:C,!0)),w.test(r[1])&&ce.isPlainObject(t))for(r in t)v(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=C.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):v(e)?void 0!==n.ready?n.ready(e):e(ce):ce.makeArray(e,this)}).prototype=ce.fn,k=ce(C);var E=/^(?:parents|prev(?:Until|All))/,j={children:!0,contents:!0,next:!0,prev:!0};function A(e,t){while((e=e[t])&&1!==e.nodeType);return e}ce.fn.extend({has:function(e){var t=ce(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(ce.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a=\"string\"!=typeof e&&ce(e);if(!b.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&ce.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?ce.uniqueSort(o):o)},index:function(e){return e?\"string\"==typeof e?se.call(ce(e),this[0]):se.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(ce.uniqueSort(ce.merge(this.get(),ce(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),ce.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return d(e,\"parentNode\")},parentsUntil:function(e,t,n){return d(e,\"parentNode\",n)},next:function(e){return A(e,\"nextSibling\")},prev:function(e){return A(e,\"previousSibling\")},nextAll:function(e){return d(e,\"nextSibling\")},prevAll:function(e){return d(e,\"previousSibling\")},nextUntil:function(e,t,n){return d(e,\"nextSibling\",n)},prevUntil:function(e,t,n){return d(e,\"previousSibling\",n)},siblings:function(e){return h((e.parentNode||{}).firstChild,e)},children:function(e){return h(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(fe(e,\"template\")&&(e=e.content||e),ce.merge([],e.childNodes))}},function(r,i){ce.fn[r]=function(e,t){var n=ce.map(this,i,e);return\"Until\"!==r.slice(-5)&&(t=e),t&&\"string\"==typeof t&&(n=ce.filter(t,n)),1<this.length&&(j[r]||ce.uniqueSort(n),E.test(r)&&n.reverse()),this.pushStack(n)}});var D=/[^\\x20\\t\\r\\n\\f]+/g;function N(e){return e}function q(e){throw e}function L(e,t,n,r){var i;try{e&&v(i=e.promise)?i.call(e).done(t).fail(n):e&&v(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}ce.Callbacks=function(r){var e,n;r=\"string\"==typeof r?(e=r,n={},ce.each(e.match(D)||[],function(e,t){n[t]=!0}),n):ce.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:\"\")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){ce.each(e,function(e,t){v(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&\"string\"!==x(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return ce.each(arguments,function(e,t){var n;while(-1<(n=ce.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<ce.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t=\"\",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=\"\"),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},ce.extend({Deferred:function(e){var o=[[\"notify\",\"progress\",ce.Callbacks(\"memory\"),ce.Callbacks(\"memory\"),2],[\"resolve\",\"done\",ce.Callbacks(\"once memory\"),ce.Callbacks(\"once memory\"),0,\"resolved\"],[\"reject\",\"fail\",ce.Callbacks(\"once memory\"),ce.Callbacks(\"once memory\"),1,\"rejected\"]],i=\"pending\",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},\"catch\":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return ce.Deferred(function(r){ce.each(o,function(e,t){var n=v(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&v(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+\"With\"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError(\"Thenable self-resolution\");t=e&&(\"object\"==typeof e||\"function\"==typeof e)&&e.then,v(t)?s?t.call(e,l(u,o,N,s),l(u,o,q,s)):(u++,t.call(e,l(u,o,N,s),l(u,o,q,s),l(u,o,N,o.notifyWith))):(a!==N&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){ce.Deferred.exceptionHook&&ce.Deferred.exceptionHook(e,t.error),u<=i+1&&(a!==q&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(ce.Deferred.getErrorHook?t.error=ce.Deferred.getErrorHook():ce.Deferred.getStackHook&&(t.error=ce.Deferred.getStackHook()),ie.setTimeout(t))}}return ce.Deferred(function(e){o[0][3].add(l(0,e,v(r)?r:N,e.notifyWith)),o[1][3].add(l(0,e,v(t)?t:N)),o[2][3].add(l(0,e,v(n)?n:q))}).promise()},promise:function(e){return null!=e?ce.extend(e,a):a}},s={};return ce.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+\"With\"](this===s?void 0:this,arguments),this},s[t[0]+\"With\"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=ae.call(arguments),o=ce.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?ae.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(L(e,o.done(a(t)).resolve,o.reject,!n),\"pending\"===o.state()||v(i[t]&&i[t].then)))return o.then();while(t--)L(i[t],a(t),o.reject);return o.promise()}});var H=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;ce.Deferred.exceptionHook=function(e,t){ie.console&&ie.console.warn&&e&&H.test(e.name)&&ie.console.warn(\"jQuery.Deferred exception: \"+e.message,e.stack,t)},ce.readyException=function(e){ie.setTimeout(function(){throw e})};var O=ce.Deferred();function P(){C.removeEventListener(\"DOMContentLoaded\",P),ie.removeEventListener(\"load\",P),ce.ready()}ce.fn.ready=function(e){return O.then(e)[\"catch\"](function(e){ce.readyException(e)}),this},ce.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--ce.readyWait:ce.isReady)||(ce.isReady=!0)!==e&&0<--ce.readyWait||O.resolveWith(C,[ce])}}),ce.ready.then=O.then,\"complete\"===C.readyState||\"loading\"!==C.readyState&&!C.documentElement.doScroll?ie.setTimeout(ce.ready):(C.addEventListener(\"DOMContentLoaded\",P),ie.addEventListener(\"load\",P));var M=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if(\"object\"===x(n))for(s in i=!0,n)M(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,v(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(ce(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},R=/^-ms-/,I=/-([a-z])/g;function W(e,t){return t.toUpperCase()}function F(e){return e.replace(R,\"ms-\").replace(I,W)}var $=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function B(){this.expando=ce.expando+B.uid++}B.uid=1,B.prototype={cache:function(e){var t=e[this.expando];return t||(t={},$(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if(\"string\"==typeof t)i[F(t)]=n;else for(r in t)i[F(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][F(t)]},access:function(e,t,n){return void 0===t||t&&\"string\"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(F):(t=F(t))in r?[t]:t.match(D)||[]).length;while(n--)delete r[t[n]]}(void 0===t||ce.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!ce.isEmptyObject(t)}};var _=new B,z=new B,X=/^(?:\\{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/,U=/[A-Z]/g;function V(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r=\"data-\"+t.replace(U,\"-$&\").toLowerCase(),\"string\"==typeof(n=e.getAttribute(r))){try{n=\"true\"===(i=n)||\"false\"!==i&&(\"null\"===i?null:i===+i+\"\"?+i:X.test(i)?JSON.parse(i):i)}catch(e){}z.set(e,t,n)}else n=void 0;return n}ce.extend({hasData:function(e){return z.hasData(e)||_.hasData(e)},data:function(e,t,n){return z.access(e,t,n)},removeData:function(e,t){z.remove(e,t)},_data:function(e,t,n){return _.access(e,t,n)},_removeData:function(e,t){_.remove(e,t)}}),ce.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=z.get(o),1===o.nodeType&&!_.get(o,\"hasDataAttrs\"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf(\"data-\")&&(r=F(r.slice(5)),V(o,r,i[r]));_.set(o,\"hasDataAttrs\",!0)}return i}return\"object\"==typeof n?this.each(function(){z.set(this,n)}):M(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=z.get(o,n))?t:void 0!==(t=V(o,n))?t:void 0;this.each(function(){z.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){z.remove(this,e)})}}),ce.extend({queue:function(e,t,n){var r;if(e)return t=(t||\"fx\")+\"queue\",r=_.get(e,t),n&&(!r||Array.isArray(n)?r=_.access(e,t,ce.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||\"fx\";var n=ce.queue(e,t),r=n.length,i=n.shift(),o=ce._queueHooks(e,t);\"inprogress\"===i&&(i=n.shift(),r--),i&&(\"fx\"===t&&n.unshift(\"inprogress\"),delete o.stop,i.call(e,function(){ce.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+\"queueHooks\";return _.get(e,n)||_.access(e,n,{empty:ce.Callbacks(\"once memory\").add(function(){_.remove(e,[t+\"queue\",n])})})}}),ce.fn.extend({queue:function(t,n){var e=2;return\"string\"!=typeof t&&(n=t,t=\"fx\",e--),arguments.length<e?ce.queue(this[0],t):void 0===n?this:this.each(function(){var e=ce.queue(this,t,n);ce._queueHooks(this,t),\"fx\"===t&&\"inprogress\"!==e[0]&&ce.dequeue(this,t)})},dequeue:function(e){return this.each(function(){ce.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||\"fx\",[])},promise:function(e,t){var n,r=1,i=ce.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};\"string\"!=typeof e&&(t=e,e=void 0),e=e||\"fx\";while(a--)(n=_.get(o[a],e+\"queueHooks\"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var G=/[+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|)/.source,Y=new RegExp(\"^(?:([+-])=|)(\"+G+\")([a-z%]*)$\",\"i\"),Q=[\"Top\",\"Right\",\"Bottom\",\"Left\"],J=C.documentElement,K=function(e){return ce.contains(e.ownerDocument,e)},Z={composed:!0};J.getRootNode&&(K=function(e){return ce.contains(e.ownerDocument,e)||e.getRootNode(Z)===e.ownerDocument});var ee=function(e,t){return\"none\"===(e=t||e).style.display||\"\"===e.style.display&&K(e)&&\"none\"===ce.css(e,\"display\")};function te(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return ce.css(e,t,\"\")},u=s(),l=n&&n[3]||(ce.cssNumber[t]?\"\":\"px\"),c=e.nodeType&&(ce.cssNumber[t]||\"px\"!==l&&+u)&&Y.exec(ce.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)ce.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,ce.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ne={};function re(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?(\"none\"===n&&(l[c]=_.get(r,\"display\")||null,l[c]||(r.style.display=\"\")),\"\"===r.style.display&&ee(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ne[s])||(o=a.body.appendChild(a.createElement(s)),u=ce.css(o,\"display\"),o.parentNode.removeChild(o),\"none\"===u&&(u=\"block\"),ne[s]=u)))):\"none\"!==n&&(l[c]=\"none\",_.set(r,\"display\",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}ce.fn.extend({show:function(){return re(this,!0)},hide:function(){return re(this)},toggle:function(e){return\"boolean\"==typeof e?e?this.show():this.hide():this.each(function(){ee(this)?ce(this).show():ce(this).hide()})}});var xe,be,we=/^(?:checkbox|radio)$/i,Te=/<([a-z][^\\/\\0>\\x20\\t\\r\\n\\f]*)/i,Ce=/^$|^module$|\\/(?:java|ecma)script/i;xe=C.createDocumentFragment().appendChild(C.createElement(\"div\")),(be=C.createElement(\"input\")).setAttribute(\"type\",\"radio\"),be.setAttribute(\"checked\",\"checked\"),be.setAttribute(\"name\",\"t\"),xe.appendChild(be),le.checkClone=xe.cloneNode(!0).cloneNode(!0).lastChild.checked,xe.innerHTML=\"<textarea>x</textarea>\",le.noCloneChecked=!!xe.cloneNode(!0).lastChild.defaultValue,xe.innerHTML=\"<option></option>\",le.option=!!xe.lastChild;var ke={thead:[1,\"<table>\",\"</table>\"],col:[2,\"<table><colgroup>\",\"</colgroup></table>\"],tr:[2,\"<table><tbody>\",\"</tbody></table>\"],td:[3,\"<table><tbody><tr>\",\"</tr></tbody></table>\"],_default:[0,\"\",\"\"]};function Se(e,t){var n;return n=\"undefined\"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||\"*\"):\"undefined\"!=typeof e.querySelectorAll?e.querySelectorAll(t||\"*\"):[],void 0===t||t&&fe(e,t)?ce.merge([e],n):n}function Ee(e,t){for(var n=0,r=e.length;n<r;n++)_.set(e[n],\"globalEval\",!t||_.get(t[n],\"globalEval\"))}ke.tbody=ke.tfoot=ke.colgroup=ke.caption=ke.thead,ke.th=ke.td,le.option||(ke.optgroup=ke.option=[1,\"<select multiple='multiple'>\",\"</select>\"]);var je=/<|&#?\\w+;/;function Ae(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if(\"object\"===x(o))ce.merge(p,o.nodeType?[o]:o);else if(je.test(o)){a=a||f.appendChild(t.createElement(\"div\")),s=(Te.exec(o)||[\"\",\"\"])[1].toLowerCase(),u=ke[s]||ke._default,a.innerHTML=u[1]+ce.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;ce.merge(p,a.childNodes),(a=f.firstChild).textContent=\"\"}else p.push(t.createTextNode(o));f.textContent=\"\",d=0;while(o=p[d++])if(r&&-1<ce.inArray(o,r))i&&i.push(o);else if(l=K(o),a=Se(f.appendChild(o),\"script\"),l&&Ee(a),n){c=0;while(o=a[c++])Ce.test(o.type||\"\")&&n.push(o)}return f}var De=/^([^.]*)(?:\\.(.+)|)/;function Ne(){return!0}function qe(){return!1}function Le(e,t,n,r,i,o){var a,s;if(\"object\"==typeof t){for(s in\"string\"!=typeof n&&(r=r||n,n=void 0),t)Le(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&(\"string\"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=qe;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return ce().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=ce.guid++)),e.each(function(){ce.event.add(this,t,i,r,n)})}function He(e,r,t){t?(_.set(e,r,!1),ce.event.add(e,r,{namespace:!1,handler:function(e){var t,n=_.get(this,r);if(1&e.isTrigger&&this[r]){if(n)(ce.event.special[r]||{}).delegateType&&e.stopPropagation();else if(n=ae.call(arguments),_.set(this,r,n),this[r](),t=_.get(this,r),_.set(this,r,!1),n!==t)return e.stopImmediatePropagation(),e.preventDefault(),t}else n&&(_.set(this,r,ce.event.trigger(n[0],n.slice(1),this)),e.stopPropagation(),e.isImmediatePropagationStopped=Ne)}})):void 0===_.get(e,r)&&ce.event.add(e,r,Ne)}ce.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=_.get(t);if($(t)){n.handler&&(n=(o=n).handler,i=o.selector),i&&ce.find.matchesSelector(J,i),n.guid||(n.guid=ce.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(e){return\"undefined\"!=typeof ce&&ce.event.triggered!==e.type?ce.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||\"\").match(D)||[\"\"]).length;while(l--)d=g=(s=De.exec(e[l])||[])[1],h=(s[2]||\"\").split(\".\").sort(),d&&(f=ce.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=ce.event.special[d]||{},c=ce.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&ce.expr.match.needsContext.test(i),namespace:h.join(\".\")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),ce.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=_.hasData(e)&&_.get(e);if(v&&(u=v.events)){l=(t=(t||\"\").match(D)||[\"\"]).length;while(l--)if(d=g=(s=De.exec(t[l])||[])[1],h=(s[2]||\"\").split(\".\").sort(),d){f=ce.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp(\"(^|\\\\.)\"+h.join(\"\\\\.(?:.*\\\\.|)\")+\"(\\\\.|$)\"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&(\"**\"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||ce.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)ce.event.remove(e,d+t[l],n,r,!0);ce.isEmptyObject(u)&&_.remove(e,\"handle events\")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=ce.event.fix(e),l=(_.get(this,\"events\")||Object.create(null))[u.type]||[],c=ce.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){a=ce.event.handlers.call(this,u,l),t=0;while((i=a[t++])&&!u.isPropagationStopped()){u.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!u.isImmediatePropagationStopped())u.rnamespace&&!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((ce.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!(\"click\"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&(\"click\"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+\" \"]&&(a[i]=r.needsContext?-1<ce(i,this).index(l):ce.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(ce.Event.prototype,t,{enumerable:!0,configurable:!0,get:v(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[ce.expando]?e:new ce.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return we.test(t.type)&&t.click&&fe(t,\"input\")&&He(t,\"click\",!0),!1},trigger:function(e){var t=this||e;return we.test(t.type)&&t.click&&fe(t,\"input\")&&He(t,\"click\"),!0},_default:function(e){var t=e.target;return we.test(t.type)&&t.click&&fe(t,\"input\")&&_.get(t,\"click\")||fe(t,\"a\")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},ce.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},ce.Event=function(e,t){if(!(this instanceof ce.Event))return new ce.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?Ne:qe,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&ce.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[ce.expando]=!0},ce.Event.prototype={constructor:ce.Event,isDefaultPrevented:qe,isPropagationStopped:qe,isImmediatePropagationStopped:qe,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=Ne,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=Ne,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=Ne,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},ce.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,\"char\":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:!0},ce.event.addProp),ce.each({focus:\"focusin\",blur:\"focusout\"},function(r,i){function o(e){if(C.documentMode){var t=_.get(this,\"handle\"),n=ce.event.fix(e);n.type=\"focusin\"===e.type?\"focus\":\"blur\",n.isSimulated=!0,t(e),n.target===n.currentTarget&&t(n)}else ce.event.simulate(i,e.target,ce.event.fix(e))}ce.event.special[r]={setup:function(){var e;if(He(this,r,!0),!C.documentMode)return!1;(e=_.get(this,i))||this.addEventListener(i,o),_.set(this,i,(e||0)+1)},trigger:function(){return He(this,r),!0},teardown:function(){var e;if(!C.documentMode)return!1;(e=_.get(this,i)-1)?_.set(this,i,e):(this.removeEventListener(i,o),_.remove(this,i))},_default:function(e){return _.get(e.target,r)},delegateType:i},ce.event.special[i]={setup:function(){var e=this.ownerDocument||this.document||this,t=C.documentMode?this:e,n=_.get(t,i);n||(C.documentMode?this.addEventListener(i,o):e.addEventListener(r,o,!0)),_.set(t,i,(n||0)+1)},teardown:function(){var e=this.ownerDocument||this.document||this,t=C.documentMode?this:e,n=_.get(t,i)-1;n?_.set(t,i,n):(C.documentMode?this.removeEventListener(i,o):e.removeEventListener(r,o,!0),_.remove(t,i))}}}),ce.each({mouseenter:\"mouseover\",mouseleave:\"mouseout\",pointerenter:\"pointerover\",pointerleave:\"pointerout\"},function(e,i){ce.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||ce.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),ce.fn.extend({on:function(e,t,n,r){return Le(this,e,t,n,r)},one:function(e,t,n,r){return Le(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,ce(e.delegateTarget).off(r.namespace?r.origType+\".\"+r.namespace:r.origType,r.selector,r.handler),this;if(\"object\"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&\"function\"!=typeof t||(n=t,t=void 0),!1===n&&(n=qe),this.each(function(){ce.event.remove(this,e,n,t)})}});var Oe=/<script|<style|<link/i,Pe=/checked\\s*(?:[^=]|=\\s*.checked.)/i,Me=/^\\s*<!\\[CDATA\\[|\\]\\]>\\s*$/g;function Re(e,t){return fe(e,\"table\")&&fe(11!==t.nodeType?t:t.firstChild,\"tr\")&&ce(e).children(\"tbody\")[0]||e}function Ie(e){return e.type=(null!==e.getAttribute(\"type\"))+\"/\"+e.type,e}function We(e){return\"true/\"===(e.type||\"\").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute(\"type\"),e}function Fe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(_.hasData(e)&&(s=_.get(e).events))for(i in _.remove(t,\"handle events\"),s)for(n=0,r=s[i].length;n<r;n++)ce.event.add(t,i,s[i][n]);z.hasData(e)&&(o=z.access(e),a=ce.extend({},o),z.set(t,a))}}function $e(n,r,i,o){r=g(r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=v(d);if(h||1<f&&\"string\"==typeof d&&!le.checkClone&&Pe.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),$e(t,r,i,o)});if(f&&(t=(e=Ae(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=ce.map(Se(e,\"script\"),Ie)).length;c<f;c++)u=e,c!==p&&(u=ce.clone(u,!0,!0),s&&ce.merge(a,Se(u,\"script\"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,ce.map(a,We),c=0;c<s;c++)u=a[c],Ce.test(u.type||\"\")&&!_.access(u,\"globalEval\")&&ce.contains(l,u)&&(u.src&&\"module\"!==(u.type||\"\").toLowerCase()?ce._evalUrl&&!u.noModule&&ce._evalUrl(u.src,{nonce:u.nonce||u.getAttribute(\"nonce\")},l):m(u.textContent.replace(Me,\"\"),u,l))}return n}function Be(e,t,n){for(var r,i=t?ce.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||ce.cleanData(Se(r)),r.parentNode&&(n&&K(r)&&Ee(Se(r,\"script\")),r.parentNode.removeChild(r));return e}ce.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=K(e);if(!(le.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||ce.isXMLDoc(e)))for(a=Se(c),r=0,i=(o=Se(e)).length;r<i;r++)s=o[r],u=a[r],void 0,\"input\"===(l=u.nodeName.toLowerCase())&&we.test(s.type)?u.checked=s.checked:\"input\"!==l&&\"textarea\"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||Se(e),a=a||Se(c),r=0,i=o.length;r<i;r++)Fe(o[r],a[r]);else Fe(e,c);return 0<(a=Se(c,\"script\")).length&&Ee(a,!f&&Se(e,\"script\")),c},cleanData:function(e){for(var t,n,r,i=ce.event.special,o=0;void 0!==(n=e[o]);o++)if($(n)){if(t=n[_.expando]){if(t.events)for(r in t.events)i[r]?ce.event.remove(n,r):ce.removeEvent(n,r,t.handle);n[_.expando]=void 0}n[z.expando]&&(n[z.expando]=void 0)}}}),ce.fn.extend({detach:function(e){return Be(this,e,!0)},remove:function(e){return Be(this,e)},text:function(e){return M(this,function(e){return void 0===e?ce.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return $e(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Re(this,e).appendChild(e)})},prepend:function(){return $e(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Re(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return $e(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return $e(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(ce.cleanData(Se(e,!1)),e.textContent=\"\");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return ce.clone(this,e,t)})},html:function(e){return M(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if(\"string\"==typeof e&&!Oe.test(e)&&!ke[(Te.exec(e)||[\"\",\"\"])[1].toLowerCase()]){e=ce.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(ce.cleanData(Se(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return $e(this,arguments,function(e){var t=this.parentNode;ce.inArray(this,n)<0&&(ce.cleanData(Se(this)),t&&t.replaceChild(e,this))},n)}}),ce.each({appendTo:\"append\",prependTo:\"prepend\",insertBefore:\"before\",insertAfter:\"after\",replaceAll:\"replaceWith\"},function(e,a){ce.fn[e]=function(e){for(var t,n=[],r=ce(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),ce(r[o])[a](t),s.apply(n,t.get());return this.pushStack(n)}});var _e=new RegExp(\"^(\"+G+\")(?!px)[a-z%]+$\",\"i\"),ze=/^--/,Xe=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=ie),t.getComputedStyle(e)},Ue=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},Ve=new RegExp(Q.join(\"|\"),\"i\");function Ge(e,t,n){var r,i,o,a,s=ze.test(t),u=e.style;return(n=n||Xe(e))&&(a=n.getPropertyValue(t)||n[t],s&&a&&(a=a.replace(ve,\"$1\")||void 0),\"\"!==a||K(e)||(a=ce.style(e,t)),!le.pixelBoxStyles()&&_e.test(a)&&Ve.test(t)&&(r=u.width,i=u.minWidth,o=u.maxWidth,u.minWidth=u.maxWidth=u.width=a,a=n.width,u.width=r,u.minWidth=i,u.maxWidth=o)),void 0!==a?a+\"\":a}function Ye(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(l){u.style.cssText=\"position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0\",l.style.cssText=\"position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%\",J.appendChild(u).appendChild(l);var e=ie.getComputedStyle(l);n=\"1%\"!==e.top,s=12===t(e.marginLeft),l.style.right=\"60%\",o=36===t(e.right),r=36===t(e.width),l.style.position=\"absolute\",i=12===t(l.offsetWidth/3),J.removeChild(u),l=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s,u=C.createElement(\"div\"),l=C.createElement(\"div\");l.style&&(l.style.backgroundClip=\"content-box\",l.cloneNode(!0).style.backgroundClip=\"\",le.clearCloneStyle=\"content-box\"===l.style.backgroundClip,ce.extend(le,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),s},scrollboxSize:function(){return e(),i},reliableTrDimensions:function(){var e,t,n,r;return null==a&&(e=C.createElement(\"table\"),t=C.createElement(\"tr\"),n=C.createElement(\"div\"),e.style.cssText=\"position:absolute;left:-11111px;border-collapse:separate\",t.style.cssText=\"box-sizing:content-box;border:1px solid\",t.style.height=\"1px\",n.style.height=\"9px\",n.style.display=\"block\",J.appendChild(e).appendChild(t).appendChild(n),r=ie.getComputedStyle(t),a=parseInt(r.height,10)+parseInt(r.borderTopWidth,10)+parseInt(r.borderBottomWidth,10)===t.offsetHeight,J.removeChild(e)),a}}))}();var Qe=[\"Webkit\",\"Moz\",\"ms\"],Je=C.createElement(\"div\").style,Ke={};function Ze(e){var t=ce.cssProps[e]||Ke[e];return t||(e in Je?e:Ke[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=Qe.length;while(n--)if((e=Qe[n]+t)in Je)return e}(e)||e)}var et=/^(none|table(?!-c[ea]).+)/,tt={position:\"absolute\",visibility:\"hidden\",display:\"block\"},nt={letterSpacing:\"0\",fontWeight:\"400\"};function rt(e,t,n){var r=Y.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||\"px\"):t}function it(e,t,n,r,i,o){var a=\"width\"===t?1:0,s=0,u=0,l=0;if(n===(r?\"border\":\"content\"))return 0;for(;a<4;a+=2)\"margin\"===n&&(l+=ce.css(e,n+Q[a],!0,i)),r?(\"content\"===n&&(u-=ce.css(e,\"padding\"+Q[a],!0,i)),\"margin\"!==n&&(u-=ce.css(e,\"border\"+Q[a]+\"Width\",!0,i))):(u+=ce.css(e,\"padding\"+Q[a],!0,i),\"padding\"!==n?u+=ce.css(e,\"border\"+Q[a]+\"Width\",!0,i):s+=ce.css(e,\"border\"+Q[a]+\"Width\",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e[\"offset\"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u+l}function ot(e,t,n){var r=Xe(e),i=(!le.boxSizingReliable()||n)&&\"border-box\"===ce.css(e,\"boxSizing\",!1,r),o=i,a=Ge(e,t,r),s=\"offset\"+t[0].toUpperCase()+t.slice(1);if(_e.test(a)){if(!n)return a;a=\"auto\"}return(!le.boxSizingReliable()&&i||!le.reliableTrDimensions()&&fe(e,\"tr\")||\"auto\"===a||!parseFloat(a)&&\"inline\"===ce.css(e,\"display\",!1,r))&&e.getClientRects().length&&(i=\"border-box\"===ce.css(e,\"boxSizing\",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+it(e,t,n||(i?\"border\":\"content\"),o,r,a)+\"px\"}function at(e,t,n,r,i){return new at.prototype.init(e,t,n,r,i)}ce.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Ge(e,\"opacity\");return\"\"===n?\"1\":n}}}},cssNumber:{animationIterationCount:!0,aspectRatio:!0,borderImageSlice:!0,columnCount:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,scale:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeMiterlimit:!0,strokeOpacity:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=F(t),u=ze.test(t),l=e.style;if(u||(t=Ze(s)),a=ce.cssHooks[t]||ce.cssHooks[s],void 0===n)return a&&\"get\"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];\"string\"===(o=typeof n)&&(i=Y.exec(n))&&i[1]&&(n=te(e,t,i),o=\"number\"),null!=n&&n==n&&(\"number\"!==o||u||(n+=i&&i[3]||(ce.cssNumber[s]?\"\":\"px\")),le.clearCloneStyle||\"\"!==n||0!==t.indexOf(\"background\")||(l[t]=\"inherit\"),a&&\"set\"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=F(t);return ze.test(t)||(t=Ze(s)),(a=ce.cssHooks[t]||ce.cssHooks[s])&&\"get\"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Ge(e,t,r)),\"normal\"===i&&t in nt&&(i=nt[t]),\"\"===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),ce.each([\"height\",\"width\"],function(e,u){ce.cssHooks[u]={get:function(e,t,n){if(t)return!et.test(ce.css(e,\"display\"))||e.getClientRects().length&&e.getBoundingClientRect().width?ot(e,u,n):Ue(e,tt,function(){return ot(e,u,n)})},set:function(e,t,n){var r,i=Xe(e),o=!le.scrollboxSize()&&\"absolute\"===i.position,a=(o||n)&&\"border-box\"===ce.css(e,\"boxSizing\",!1,i),s=n?it(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e[\"offset\"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-it(e,u,\"border\",!1,i)-.5)),s&&(r=Y.exec(t))&&\"px\"!==(r[3]||\"px\")&&(e.style[u]=t,t=ce.css(e,u)),rt(0,t,s)}}}),ce.cssHooks.marginLeft=Ye(le.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Ge(e,\"marginLeft\"))||e.getBoundingClientRect().left-Ue(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+\"px\"}),ce.each({margin:\"\",padding:\"\",border:\"Width\"},function(i,o){ce.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r=\"string\"==typeof e?e.split(\" \"):[e];t<4;t++)n[i+Q[t]+o]=r[t]||r[t-2]||r[0];return n}},\"margin\"!==i&&(ce.cssHooks[i+o].set=rt)}),ce.fn.extend({css:function(e,t){return M(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Xe(e),i=t.length;a<i;a++)o[t[a]]=ce.css(e,t[a],!1,r);return o}return void 0!==n?ce.style(e,t,n):ce.css(e,t)},e,t,1<arguments.length)}}),((ce.Tween=at).prototype={constructor:at,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||ce.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(ce.cssNumber[n]?\"\":\"px\")},cur:function(){var e=at.propHooks[this.prop];return e&&e.get?e.get(this):at.propHooks._default.get(this)},run:function(e){var t,n=at.propHooks[this.prop];return this.options.duration?this.pos=t=ce.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):at.propHooks._default.set(this),this}}).init.prototype=at.prototype,(at.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=ce.css(e.elem,e.prop,\"\"))&&\"auto\"!==t?t:0},set:function(e){ce.fx.step[e.prop]?ce.fx.step[e.prop](e):1!==e.elem.nodeType||!ce.cssHooks[e.prop]&&null==e.elem.style[Ze(e.prop)]?e.elem[e.prop]=e.now:ce.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=at.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},ce.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:\"swing\"},ce.fx=at.prototype.init,ce.fx.step={};var st,ut,lt,ct,ft=/^(?:toggle|show|hide)$/,pt=/queueHooks$/;function dt(){ut&&(!1===C.hidden&&ie.requestAnimationFrame?ie.requestAnimationFrame(dt):ie.setTimeout(dt,ce.fx.interval),ce.fx.tick())}function ht(){return ie.setTimeout(function(){st=void 0}),st=Date.now()}function gt(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i[\"margin\"+(n=Q[r])]=i[\"padding\"+n]=e;return t&&(i.opacity=i.width=e),i}function vt(e,t,n){for(var r,i=(yt.tweeners[t]||[]).concat(yt.tweeners[\"*\"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function yt(o,e,t){var n,a,r=0,i=yt.prefilters.length,s=ce.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=st||ht(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:ce.extend({},e),opts:ce.extend(!0,{specialEasing:{},easing:ce.easing._default},t),originalProperties:e,originalOptions:t,startTime:st||ht(),duration:t.duration,tweens:[],createTween:function(e,t){var n=ce.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=F(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=ce.cssHooks[r])&&\"expand\"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=yt.prefilters[r].call(l,o,c,l.opts))return v(n.stop)&&(ce._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return ce.map(c,vt,l),v(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),ce.fx.timer(ce.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}ce.Animation=ce.extend(yt,{tweeners:{\"*\":[function(e,t){var n=this.createTween(e,t);return te(n.elem,e,Y.exec(t),n),n}]},tweener:function(e,t){v(e)?(t=e,e=[\"*\"]):e=e.match(D);for(var n,r=0,i=e.length;r<i;r++)n=e[r],yt.tweeners[n]=yt.tweeners[n]||[],yt.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f=\"width\"in t||\"height\"in t,p=this,d={},h=e.style,g=e.nodeType&&ee(e),v=_.get(e,\"fxshow\");for(r in n.queue||(null==(a=ce._queueHooks(e,\"fx\")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,ce.queue(e,\"fx\").length||a.empty.fire()})})),t)if(i=t[r],ft.test(i)){if(delete t[r],o=o||\"toggle\"===i,i===(g?\"hide\":\"show\")){if(\"show\"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||ce.style(e,r)}if((u=!ce.isEmptyObject(t))||!ce.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=_.get(e,\"display\")),\"none\"===(c=ce.css(e,\"display\"))&&(l?c=l:(re([e],!0),l=e.style.display||l,c=ce.css(e,\"display\"),re([e]))),(\"inline\"===c||\"inline-block\"===c&&null!=l)&&\"none\"===ce.css(e,\"float\")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l=\"none\"===c?\"\":c)),h.display=\"inline-block\")),n.overflow&&(h.overflow=\"hidden\",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?\"hidden\"in v&&(g=v.hidden):v=_.access(e,\"fxshow\",{display:l}),o&&(v.hidden=!g),g&&re([e],!0),p.done(function(){for(r in g||re([e]),_.remove(e,\"fxshow\"),d)ce.style(e,r,d[r])})),u=vt(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?yt.prefilters.unshift(e):yt.prefilters.push(e)}}),ce.speed=function(e,t,n){var r=e&&\"object\"==typeof e?ce.extend({},e):{complete:n||!n&&t||v(e)&&e,duration:e,easing:n&&t||t&&!v(t)&&t};return ce.fx.off?r.duration=0:\"number\"!=typeof r.duration&&(r.duration in ce.fx.speeds?r.duration=ce.fx.speeds[r.duration]:r.duration=ce.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue=\"fx\"),r.old=r.complete,r.complete=function(){v(r.old)&&r.old.call(this),r.queue&&ce.dequeue(this,r.queue)},r},ce.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ee).css(\"opacity\",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=ce.isEmptyObject(t),o=ce.speed(e,n,r),a=function(){var e=yt(this,ce.extend({},t),o);(i||_.get(this,\"finish\"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return\"string\"!=typeof i&&(o=e,e=i,i=void 0),e&&this.queue(i||\"fx\",[]),this.each(function(){var e=!0,t=null!=i&&i+\"queueHooks\",n=ce.timers,r=_.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&pt.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1));!e&&o||ce.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||\"fx\"),this.each(function(){var e,t=_.get(this),n=t[a+\"queue\"],r=t[a+\"queueHooks\"],i=ce.timers,o=n?n.length:0;for(t.finish=!0,ce.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),ce.each([\"toggle\",\"show\",\"hide\"],function(e,r){var i=ce.fn[r];ce.fn[r]=function(e,t,n){return null==e||\"boolean\"==typeof e?i.apply(this,arguments):this.animate(gt(r,!0),e,t,n)}}),ce.each({slideDown:gt(\"show\"),slideUp:gt(\"hide\"),slideToggle:gt(\"toggle\"),fadeIn:{opacity:\"show\"},fadeOut:{opacity:\"hide\"},fadeToggle:{opacity:\"toggle\"}},function(e,r){ce.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),ce.timers=[],ce.fx.tick=function(){var e,t=0,n=ce.timers;for(st=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||ce.fx.stop(),st=void 0},ce.fx.timer=function(e){ce.timers.push(e),ce.fx.start()},ce.fx.interval=13,ce.fx.start=function(){ut||(ut=!0,dt())},ce.fx.stop=function(){ut=null},ce.fx.speeds={slow:600,fast:200,_default:400},ce.fn.delay=function(r,e){return r=ce.fx&&ce.fx.speeds[r]||r,e=e||\"fx\",this.queue(e,function(e,t){var n=ie.setTimeout(e,r);t.stop=function(){ie.clearTimeout(n)}})},lt=C.createElement(\"input\"),ct=C.createElement(\"select\").appendChild(C.createElement(\"option\")),lt.type=\"checkbox\",le.checkOn=\"\"!==lt.value,le.optSelected=ct.selected,(lt=C.createElement(\"input\")).value=\"t\",lt.type=\"radio\",le.radioValue=\"t\"===lt.value;var mt,xt=ce.expr.attrHandle;ce.fn.extend({attr:function(e,t){return M(this,ce.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){ce.removeAttr(this,e)})}}),ce.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return\"undefined\"==typeof e.getAttribute?ce.prop(e,t,n):(1===o&&ce.isXMLDoc(e)||(i=ce.attrHooks[t.toLowerCase()]||(ce.expr.match.bool.test(t)?mt:void 0)),void 0!==n?null===n?void ce.removeAttr(e,t):i&&\"set\"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+\"\"),n):i&&\"get\"in i&&null!==(r=i.get(e,t))?r:null==(r=ce.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!le.radioValue&&\"radio\"===t&&fe(e,\"input\")){var n=e.value;return e.setAttribute(\"type\",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(D);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),mt={set:function(e,t,n){return!1===t?ce.removeAttr(e,n):e.setAttribute(n,n),n}},ce.each(ce.expr.match.bool.source.match(/\\w+/g),function(e,t){var a=xt[t]||ce.find.attr;xt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=xt[o],xt[o]=r,r=null!=a(e,t,n)?o:null,xt[o]=i),r}});var bt=/^(?:input|select|textarea|button)$/i,wt=/^(?:a|area)$/i;function Tt(e){return(e.match(D)||[]).join(\" \")}function Ct(e){return e.getAttribute&&e.getAttribute(\"class\")||\"\"}function kt(e){return Array.isArray(e)?e:\"string\"==typeof e&&e.match(D)||[]}ce.fn.extend({prop:function(e,t){return M(this,ce.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[ce.propFix[e]||e]})}}),ce.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&ce.isXMLDoc(e)||(t=ce.propFix[t]||t,i=ce.propHooks[t]),void 0!==n?i&&\"set\"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&\"get\"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=ce.find.attr(e,\"tabindex\");return t?parseInt(t,10):bt.test(e.nodeName)||wt.test(e.nodeName)&&e.href?0:-1}}},propFix:{\"for\":\"htmlFor\",\"class\":\"className\"}}),le.optSelected||(ce.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),ce.each([\"tabIndex\",\"readOnly\",\"maxLength\",\"cellSpacing\",\"cellPadding\",\"rowSpan\",\"colSpan\",\"useMap\",\"frameBorder\",\"contentEditable\"],function(){ce.propFix[this.toLowerCase()]=this}),ce.fn.extend({addClass:function(t){var e,n,r,i,o,a;return v(t)?this.each(function(e){ce(this).addClass(t.call(this,e,Ct(this)))}):(e=kt(t)).length?this.each(function(){if(r=Ct(this),n=1===this.nodeType&&\" \"+Tt(r)+\" \"){for(o=0;o<e.length;o++)i=e[o],n.indexOf(\" \"+i+\" \")<0&&(n+=i+\" \");a=Tt(n),r!==a&&this.setAttribute(\"class\",a)}}):this},removeClass:function(t){var e,n,r,i,o,a;return v(t)?this.each(function(e){ce(this).removeClass(t.call(this,e,Ct(this)))}):arguments.length?(e=kt(t)).length?this.each(function(){if(r=Ct(this),n=1===this.nodeType&&\" \"+Tt(r)+\" \"){for(o=0;o<e.length;o++){i=e[o];while(-1<n.indexOf(\" \"+i+\" \"))n=n.replace(\" \"+i+\" \",\" \")}a=Tt(n),r!==a&&this.setAttribute(\"class\",a)}}):this:this.attr(\"class\",\"\")},toggleClass:function(t,n){var e,r,i,o,a=typeof t,s=\"string\"===a||Array.isArray(t);return v(t)?this.each(function(e){ce(this).toggleClass(t.call(this,e,Ct(this),n),n)}):\"boolean\"==typeof n&&s?n?this.addClass(t):this.removeClass(t):(e=kt(t),this.each(function(){if(s)for(o=ce(this),i=0;i<e.length;i++)r=e[i],o.hasClass(r)?o.removeClass(r):o.addClass(r);else void 0!==t&&\"boolean\"!==a||((r=Ct(this))&&_.set(this,\"__className__\",r),this.setAttribute&&this.setAttribute(\"class\",r||!1===t?\"\":_.get(this,\"__className__\")||\"\"))}))},hasClass:function(e){var t,n,r=0;t=\" \"+e+\" \";while(n=this[r++])if(1===n.nodeType&&-1<(\" \"+Tt(Ct(n))+\" \").indexOf(t))return!0;return!1}});var St=/\\r/g;ce.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=v(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,ce(this).val()):n)?t=\"\":\"number\"==typeof t?t+=\"\":Array.isArray(t)&&(t=ce.map(t,function(e){return null==e?\"\":e+\"\"})),(r=ce.valHooks[this.type]||ce.valHooks[this.nodeName.toLowerCase()])&&\"set\"in r&&void 0!==r.set(this,t,\"value\")||(this.value=t))})):t?(r=ce.valHooks[t.type]||ce.valHooks[t.nodeName.toLowerCase()])&&\"get\"in r&&void 0!==(e=r.get(t,\"value\"))?e:\"string\"==typeof(e=t.value)?e.replace(St,\"\"):null==e?\"\":e:void 0}}),ce.extend({valHooks:{option:{get:function(e){var t=ce.find.attr(e,\"value\");return null!=t?t:Tt(ce.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a=\"select-one\"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!fe(n.parentNode,\"optgroup\"))){if(t=ce(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=ce.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<ce.inArray(ce.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),ce.each([\"radio\",\"checkbox\"],function(){ce.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<ce.inArray(ce(e).val(),t)}},le.checkOn||(ce.valHooks[this].get=function(e){return null===e.getAttribute(\"value\")?\"on\":e.value})});var Et=ie.location,jt={guid:Date.now()},At=/\\?/;ce.parseXML=function(e){var t,n;if(!e||\"string\"!=typeof e)return null;try{t=(new ie.DOMParser).parseFromString(e,\"text/xml\")}catch(e){}return n=t&&t.getElementsByTagName(\"parsererror\")[0],t&&!n||ce.error(\"Invalid XML: \"+(n?ce.map(n.childNodes,function(e){return e.textContent}).join(\"\\n\"):e)),t};var Dt=/^(?:focusinfocus|focusoutblur)$/,Nt=function(e){e.stopPropagation()};ce.extend(ce.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||C],d=ue.call(e,\"type\")?e.type:e,h=ue.call(e,\"namespace\")?e.namespace.split(\".\"):[];if(o=f=a=n=n||C,3!==n.nodeType&&8!==n.nodeType&&!Dt.test(d+ce.event.triggered)&&(-1<d.indexOf(\".\")&&(d=(h=d.split(\".\")).shift(),h.sort()),u=d.indexOf(\":\")<0&&\"on\"+d,(e=e[ce.expando]?e:new ce.Event(d,\"object\"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join(\".\"),e.rnamespace=e.namespace?new RegExp(\"(^|\\\\.)\"+h.join(\"\\\\.(?:.*\\\\.|)\")+\"(\\\\.|$)\"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:ce.makeArray(t,[e]),c=ce.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!y(n)){for(s=c.delegateType||d,Dt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||C)&&p.push(a.defaultView||a.parentWindow||ie)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(_.get(o,\"events\")||Object.create(null))[e.type]&&_.get(o,\"handle\"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&$(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!$(n)||u&&v(n[d])&&!y(n)&&((a=n[u])&&(n[u]=null),ce.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,Nt),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,Nt),ce.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=ce.extend(new ce.Event,n,{type:e,isSimulated:!0});ce.event.trigger(r,null,t)}}),ce.fn.extend({trigger:function(e,t){return this.each(function(){ce.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return ce.event.trigger(e,t,n,!0)}});var qt=/\\[\\]$/,Lt=/\\r?\\n/g,Ht=/^(?:submit|button|image|reset|file)$/i,Ot=/^(?:input|select|textarea|keygen)/i;function Pt(n,e,r,i){var t;if(Array.isArray(e))ce.each(e,function(e,t){r||qt.test(n)?i(n,t):Pt(n+\"[\"+(\"object\"==typeof t&&null!=t?e:\"\")+\"]\",t,r,i)});else if(r||\"object\"!==x(e))i(n,e);else for(t in e)Pt(n+\"[\"+t+\"]\",e[t],r,i)}ce.param=function(e,t){var n,r=[],i=function(e,t){var n=v(t)?t():t;r[r.length]=encodeURIComponent(e)+\"=\"+encodeURIComponent(null==n?\"\":n)};if(null==e)return\"\";if(Array.isArray(e)||e.jquery&&!ce.isPlainObject(e))ce.each(e,function(){i(this.name,this.value)});else for(n in e)Pt(n,e[n],t,i);return r.join(\"&\")},ce.fn.extend({serialize:function(){return ce.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=ce.prop(this,\"elements\");return e?ce.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!ce(this).is(\":disabled\")&&Ot.test(this.nodeName)&&!Ht.test(e)&&(this.checked||!we.test(e))}).map(function(e,t){var n=ce(this).val();return null==n?null:Array.isArray(n)?ce.map(n,function(e){return{name:t.name,value:e.replace(Lt,\"\\r\\n\")}}):{name:t.name,value:n.replace(Lt,\"\\r\\n\")}}).get()}});var Mt=/%20/g,Rt=/#.*$/,It=/([?&])_=[^&]*/,Wt=/^(.*?):[ \\t]*([^\\r\\n]*)$/gm,Ft=/^(?:GET|HEAD)$/,$t=/^\\/\\//,Bt={},_t={},zt=\"*/\".concat(\"*\"),Xt=C.createElement(\"a\");function Ut(o){return function(e,t){\"string\"!=typeof e&&(t=e,e=\"*\");var n,r=0,i=e.toLowerCase().match(D)||[];if(v(t))while(n=i[r++])\"+\"===n[0]?(n=n.slice(1)||\"*\",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function Vt(t,i,o,a){var s={},u=t===_t;function l(e){var r;return s[e]=!0,ce.each(t[e]||[],function(e,t){var n=t(i,o,a);return\"string\"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s[\"*\"]&&l(\"*\")}function Gt(e,t){var n,r,i=ce.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&ce.extend(!0,e,r),e}Xt.href=Et.href,ce.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Et.href,type:\"GET\",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Et.protocol),global:!0,processData:!0,async:!0,contentType:\"application/x-www-form-urlencoded; charset=UTF-8\",accepts:{\"*\":zt,text:\"text/plain\",html:\"text/html\",xml:\"application/xml, text/xml\",json:\"application/json, text/javascript\"},contents:{xml:/\\bxml\\b/,html:/\\bhtml/,json:/\\bjson\\b/},responseFields:{xml:\"responseXML\",text:\"responseText\",json:\"responseJSON\"},converters:{\"* text\":String,\"text html\":!0,\"text json\":JSON.parse,\"text xml\":ce.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Gt(Gt(e,ce.ajaxSettings),t):Gt(ce.ajaxSettings,e)},ajaxPrefilter:Ut(Bt),ajaxTransport:Ut(_t),ajax:function(e,t){\"object\"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=ce.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?ce(y):ce.event,x=ce.Deferred(),b=ce.Callbacks(\"once memory\"),w=v.statusCode||{},a={},s={},u=\"canceled\",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=Wt.exec(p))n[t[1].toLowerCase()+\" \"]=(n[t[1].toLowerCase()+\" \"]||[]).concat(t[2])}t=n[e.toLowerCase()+\" \"]}return null==t?null:t.join(\", \")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||Et.href)+\"\").replace($t,Et.protocol+\"//\"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||\"*\").toLowerCase().match(D)||[\"\"],null==v.crossDomain){r=C.createElement(\"a\");try{r.href=v.url,r.href=r.href,v.crossDomain=Xt.protocol+\"//\"+Xt.host!=r.protocol+\"//\"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&\"string\"!=typeof v.data&&(v.data=ce.param(v.data,v.traditional)),Vt(Bt,v,t,T),h)return T;for(i in(g=ce.event&&v.global)&&0==ce.active++&&ce.event.trigger(\"ajaxStart\"),v.type=v.type.toUpperCase(),v.hasContent=!Ft.test(v.type),f=v.url.replace(Rt,\"\"),v.hasContent?v.data&&v.processData&&0===(v.contentType||\"\").indexOf(\"application/x-www-form-urlencoded\")&&(v.data=v.data.replace(Mt,\"+\")):(o=v.url.slice(f.length),v.data&&(v.processData||\"string\"==typeof v.data)&&(f+=(At.test(f)?\"&\":\"?\")+v.data,delete v.data),!1===v.cache&&(f=f.replace(It,\"$1\"),o=(At.test(f)?\"&\":\"?\")+\"_=\"+jt.guid+++o),v.url=f+o),v.ifModified&&(ce.lastModified[f]&&T.setRequestHeader(\"If-Modified-Since\",ce.lastModified[f]),ce.etag[f]&&T.setRequestHeader(\"If-None-Match\",ce.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader(\"Content-Type\",v.contentType),T.setRequestHeader(\"Accept\",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+(\"*\"!==v.dataTypes[0]?\", \"+zt+\"; q=0.01\":\"\"):v.accepts[\"*\"]),v.headers)T.setRequestHeader(i,v.headers[i]);if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u=\"abort\",b.add(v.complete),T.done(v.success),T.fail(v.error),c=Vt(_t,v,t,T)){if(T.readyState=1,g&&m.trigger(\"ajaxSend\",[T,v]),h)return T;v.async&&0<v.timeout&&(d=ie.setTimeout(function(){T.abort(\"timeout\")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,\"No Transport\");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&ie.clearTimeout(d),c=void 0,p=r||\"\",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while(\"*\"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader(\"Content-Type\"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+\" \"+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),!i&&-1<ce.inArray(\"script\",v.dataTypes)&&ce.inArray(\"json\",v.dataTypes)<0&&(v.converters[\"text script\"]=function(){}),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if(\"*\"===o)o=u;else if(\"*\"!==u&&u!==o){if(!(a=l[u+\" \"+o]||l[\"* \"+o]))for(i in l)if((s=i.split(\" \"))[1]===o&&(a=l[u+\" \"+s[0]]||l[\"* \"+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e[\"throws\"])t=a(t);else try{t=a(t)}catch(e){return{state:\"parsererror\",error:a?e:\"No conversion from \"+u+\" to \"+o}}}return{state:\"success\",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader(\"Last-Modified\"))&&(ce.lastModified[f]=u),(u=T.getResponseHeader(\"etag\"))&&(ce.etag[f]=u)),204===e||\"HEAD\"===v.type?l=\"nocontent\":304===e?l=\"notmodified\":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l=\"error\",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+\"\",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?\"ajaxSuccess\":\"ajaxError\",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger(\"ajaxComplete\",[T,v]),--ce.active||ce.event.trigger(\"ajaxStop\")))}return T},getJSON:function(e,t,n){return ce.get(e,t,n,\"json\")},getScript:function(e,t){return ce.get(e,void 0,t,\"script\")}}),ce.each([\"get\",\"post\"],function(e,i){ce[i]=function(e,t,n,r){return v(t)&&(r=r||n,n=t,t=void 0),ce.ajax(ce.extend({url:e,type:i,dataType:r,data:t,success:n},ce.isPlainObject(e)&&e))}}),ce.ajaxPrefilter(function(e){var t;for(t in e.headers)\"content-type\"===t.toLowerCase()&&(e.contentType=e.headers[t]||\"\")}),ce._evalUrl=function(e,t,n){return ce.ajax({url:e,type:\"GET\",dataType:\"script\",cache:!0,async:!1,global:!1,converters:{\"text script\":function(){}},dataFilter:function(e){ce.globalEval(e,t,n)}})},ce.fn.extend({wrapAll:function(e){var t;return this[0]&&(v(e)&&(e=e.call(this[0])),t=ce(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return v(n)?this.each(function(e){ce(this).wrapInner(n.call(this,e))}):this.each(function(){var e=ce(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=v(t);return this.each(function(e){ce(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not(\"body\").each(function(){ce(this).replaceWith(this.childNodes)}),this}}),ce.expr.pseudos.hidden=function(e){return!ce.expr.pseudos.visible(e)},ce.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},ce.ajaxSettings.xhr=function(){try{return new ie.XMLHttpRequest}catch(e){}};var Yt={0:200,1223:204},Qt=ce.ajaxSettings.xhr();le.cors=!!Qt&&\"withCredentials\"in Qt,le.ajax=Qt=!!Qt,ce.ajaxTransport(function(i){var o,a;if(le.cors||Qt&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e[\"X-Requested-With\"]||(e[\"X-Requested-With\"]=\"XMLHttpRequest\"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,\"abort\"===e?r.abort():\"error\"===e?\"number\"!=typeof r.status?t(0,\"error\"):t(r.status,r.statusText):t(Yt[r.status]||r.status,r.statusText,\"text\"!==(r.responseType||\"text\")||\"string\"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o(\"error\"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&ie.setTimeout(function(){o&&a()})},o=o(\"abort\");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),ce.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),ce.ajaxSetup({accepts:{script:\"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript\"},contents:{script:/\\b(?:java|ecma)script\\b/},converters:{\"text script\":function(e){return ce.globalEval(e),e}}}),ce.ajaxPrefilter(\"script\",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type=\"GET\")}),ce.ajaxTransport(\"script\",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=ce(\"<script>\").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on(\"load error\",i=function(e){r.remove(),i=null,e&&t(\"error\"===e.type?404:200,e.type)}),C.head.appendChild(r[0])},abort:function(){i&&i()}}});var Jt,Kt=[],Zt=/(=)\\?(?=&|$)|\\?\\?/;ce.ajaxSetup({jsonp:\"callback\",jsonpCallback:function(){var e=Kt.pop()||ce.expando+\"_\"+jt.guid++;return this[e]=!0,e}}),ce.ajaxPrefilter(\"json jsonp\",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Zt.test(e.url)?\"url\":\"string\"==typeof e.data&&0===(e.contentType||\"\").indexOf(\"application/x-www-form-urlencoded\")&&Zt.test(e.data)&&\"data\");if(a||\"jsonp\"===e.dataTypes[0])return r=e.jsonpCallback=v(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Zt,\"$1\"+r):!1!==e.jsonp&&(e.url+=(At.test(e.url)?\"&\":\"?\")+e.jsonp+\"=\"+r),e.converters[\"script json\"]=function(){return o||ce.error(r+\" was not called\"),o[0]},e.dataTypes[0]=\"json\",i=ie[r],ie[r]=function(){o=arguments},n.always(function(){void 0===i?ce(ie).removeProp(r):ie[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Kt.push(r)),o&&v(i)&&i(o[0]),o=i=void 0}),\"script\"}),le.createHTMLDocument=((Jt=C.implementation.createHTMLDocument(\"\").body).innerHTML=\"<form></form><form></form>\",2===Jt.childNodes.length),ce.parseHTML=function(e,t,n){return\"string\"!=typeof e?[]:(\"boolean\"==typeof t&&(n=t,t=!1),t||(le.createHTMLDocument?((r=(t=C.implementation.createHTMLDocument(\"\")).createElement(\"base\")).href=C.location.href,t.head.appendChild(r)):t=C),o=!n&&[],(i=w.exec(e))?[t.createElement(i[1])]:(i=Ae([e],t,o),o&&o.length&&ce(o).remove(),ce.merge([],i.childNodes)));var r,i,o},ce.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(\" \");return-1<s&&(r=Tt(e.slice(s)),e=e.slice(0,s)),v(t)?(n=t,t=void 0):t&&\"object\"==typeof t&&(i=\"POST\"),0<a.length&&ce.ajax({url:e,type:i||\"GET\",dataType:\"html\",data:t}).done(function(e){o=arguments,a.html(r?ce(\"<div>\").append(ce.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},ce.expr.pseudos.animated=function(t){return ce.grep(ce.timers,function(e){return t===e.elem}).length},ce.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=ce.css(e,\"position\"),c=ce(e),f={};\"static\"===l&&(e.style.position=\"relative\"),s=c.offset(),o=ce.css(e,\"top\"),u=ce.css(e,\"left\"),(\"absolute\"===l||\"fixed\"===l)&&-1<(o+u).indexOf(\"auto\")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),v(t)&&(t=t.call(e,n,ce.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),\"using\"in t?t.using.call(e,f):c.css(f)}},ce.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){ce.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if(\"fixed\"===ce.css(r,\"position\"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&\"static\"===ce.css(e,\"position\"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=ce(e).offset()).top+=ce.css(e,\"borderTopWidth\",!0),i.left+=ce.css(e,\"borderLeftWidth\",!0))}return{top:t.top-i.top-ce.css(r,\"marginTop\",!0),left:t.left-i.left-ce.css(r,\"marginLeft\",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&\"static\"===ce.css(e,\"position\"))e=e.offsetParent;return e||J})}}),ce.each({scrollLeft:\"pageXOffset\",scrollTop:\"pageYOffset\"},function(t,i){var o=\"pageYOffset\"===i;ce.fn[t]=function(e){return M(this,function(e,t,n){var r;if(y(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),ce.each([\"top\",\"left\"],function(e,n){ce.cssHooks[n]=Ye(le.pixelPosition,function(e,t){if(t)return t=Ge(e,n),_e.test(t)?ce(e).position()[n]+\"px\":t})}),ce.each({Height:\"height\",Width:\"width\"},function(a,s){ce.each({padding:\"inner\"+a,content:s,\"\":\"outer\"+a},function(r,o){ce.fn[o]=function(e,t){var n=arguments.length&&(r||\"boolean\"!=typeof e),i=r||(!0===e||!0===t?\"margin\":\"border\");return M(this,function(e,t,n){var r;return y(e)?0===o.indexOf(\"outer\")?e[\"inner\"+a]:e.document.documentElement[\"client\"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body[\"scroll\"+a],r[\"scroll\"+a],e.body[\"offset\"+a],r[\"offset\"+a],r[\"client\"+a])):void 0===n?ce.css(e,t,i):ce.style(e,t,n,i)},s,n?e:void 0,n)}})}),ce.each([\"ajaxStart\",\"ajaxStop\",\"ajaxComplete\",\"ajaxError\",\"ajaxSuccess\",\"ajaxSend\"],function(e,t){ce.fn[t]=function(e){return this.on(t,e)}}),ce.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,\"**\"):this.off(t,e||\"**\",n)},hover:function(e,t){return this.on(\"mouseenter\",e).on(\"mouseleave\",t||e)}}),ce.each(\"blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu\".split(\" \"),function(e,n){ce.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}});var en=/^[\\s\\uFEFF\\xA0]+|([^\\s\\uFEFF\\xA0])[\\s\\uFEFF\\xA0]+$/g;ce.proxy=function(e,t){var n,r,i;if(\"string\"==typeof t&&(n=e[t],t=e,e=n),v(e))return r=ae.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(ae.call(arguments)))}).guid=e.guid=e.guid||ce.guid++,i},ce.holdReady=function(e){e?ce.readyWait++:ce.ready(!0)},ce.isArray=Array.isArray,ce.parseJSON=JSON.parse,ce.nodeName=fe,ce.isFunction=v,ce.isWindow=y,ce.camelCase=F,ce.type=x,ce.now=Date.now,ce.isNumeric=function(e){var t=ce.type(e);return(\"number\"===t||\"string\"===t)&&!isNaN(e-parseFloat(e))},ce.trim=function(e){return null==e?\"\":(e+\"\").replace(en,\"$1\")},\"function\"==typeof define&&define.amd&&define(\"jquery\",[],function(){return ce});var tn=ie.jQuery,nn=ie.$;return ce.noConflict=function(e){return ie.$===ce&&(ie.$=nn),e&&ie.jQuery===ce&&(ie.jQuery=tn),ce},\"undefined\"==typeof e&&(ie.jQuery=ie.$=ce),ce});\n","/*!\n  * Bootstrap v5.3.2 (https://getbootstrap.com/)\n  * Copyright 2011-2023 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e(require(\"@popperjs/core\")):\"function\"==typeof define&&define.amd?define([\"@popperjs/core\"],e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).bootstrap=e(t.Popper)}(this,(function(t){\"use strict\";function e(t){const e=Object.create(null,{[Symbol.toStringTag]:{value:\"Module\"}});if(t)for(const i in t)if(\"default\"!==i){const s=Object.getOwnPropertyDescriptor(t,i);Object.defineProperty(e,i,s.get?s:{enumerable:!0,get:()=>t[i]})}return e.default=t,Object.freeze(e)}const i=e(t),s=new Map,n={set(t,e,i){s.has(t)||s.set(t,new Map);const n=s.get(t);n.has(e)||0===n.size?n.set(e,i):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(n.keys())[0]}.`)},get:(t,e)=>s.has(t)&&s.get(t).get(e)||null,remove(t,e){if(!s.has(t))return;const i=s.get(t);i.delete(e),0===i.size&&s.delete(t)}},o=\"transitionend\",r=t=>(t&&window.CSS&&window.CSS.escape&&(t=t.replace(/#([^\\s\"#']+)/g,((t,e)=>`#${CSS.escape(e)}`))),t),a=t=>{t.dispatchEvent(new Event(o))},l=t=>!(!t||\"object\"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),c=t=>l(t)?t.jquery?t[0]:t:\"string\"==typeof t&&t.length>0?document.querySelector(r(t)):null,h=t=>{if(!l(t)||0===t.getClientRects().length)return!1;const e=\"visible\"===getComputedStyle(t).getPropertyValue(\"visibility\"),i=t.closest(\"details:not([open])\");if(!i)return e;if(i!==t){const e=t.closest(\"summary\");if(e&&e.parentNode!==i)return!1;if(null===e)return!1}return e},d=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains(\"disabled\")||(void 0!==t.disabled?t.disabled:t.hasAttribute(\"disabled\")&&\"false\"!==t.getAttribute(\"disabled\")),u=t=>{if(!document.documentElement.attachShadow)return null;if(\"function\"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?u(t.parentNode):null},_=()=>{},g=t=>{t.offsetHeight},f=()=>window.jQuery&&!document.body.hasAttribute(\"data-bs-no-jquery\")?window.jQuery:null,m=[],p=()=>\"rtl\"===document.documentElement.dir,b=t=>{var e;e=()=>{const e=f();if(e){const i=t.NAME,s=e.fn[i];e.fn[i]=t.jQueryInterface,e.fn[i].Constructor=t,e.fn[i].noConflict=()=>(e.fn[i]=s,t.jQueryInterface)}},\"loading\"===document.readyState?(m.length||document.addEventListener(\"DOMContentLoaded\",(()=>{for(const t of m)t()})),m.push(e)):e()},v=(t,e=[],i=t)=>\"function\"==typeof t?t(...e):i,y=(t,e,i=!0)=>{if(!i)return void v(t);const s=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}=window.getComputedStyle(t);const s=Number.parseFloat(e),n=Number.parseFloat(i);return s||n?(e=e.split(\",\")[0],i=i.split(\",\")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0})(e)+5;let n=!1;const r=({target:i})=>{i===e&&(n=!0,e.removeEventListener(o,r),v(t))};e.addEventListener(o,r),setTimeout((()=>{n||a(e)}),s)},w=(t,e,i,s)=>{const n=t.length;let o=t.indexOf(e);return-1===o?!i&&s?t[n-1]:t[0]:(o+=i?1:-1,s&&(o=(o+n)%n),t[Math.max(0,Math.min(o,n-1))])},A=/[^.]*(?=\\..*)\\.|.*/,E=/\\..*/,C=/::\\d+$/,T={};let k=1;const $={mouseenter:\"mouseover\",mouseleave:\"mouseout\"},S=new Set([\"click\",\"dblclick\",\"mouseup\",\"mousedown\",\"contextmenu\",\"mousewheel\",\"DOMMouseScroll\",\"mouseover\",\"mouseout\",\"mousemove\",\"selectstart\",\"selectend\",\"keydown\",\"keypress\",\"keyup\",\"orientationchange\",\"touchstart\",\"touchmove\",\"touchend\",\"touchcancel\",\"pointerdown\",\"pointermove\",\"pointerup\",\"pointerleave\",\"pointercancel\",\"gesturestart\",\"gesturechange\",\"gestureend\",\"focus\",\"blur\",\"change\",\"reset\",\"select\",\"submit\",\"focusin\",\"focusout\",\"load\",\"unload\",\"beforeunload\",\"resize\",\"move\",\"DOMContentLoaded\",\"readystatechange\",\"error\",\"abort\",\"scroll\"]);function L(t,e){return e&&`${e}::${k++}`||t.uidEvent||k++}function O(t){const e=L(t);return t.uidEvent=e,T[e]=T[e]||{},T[e]}function I(t,e,i=null){return Object.values(t).find((t=>t.callable===e&&t.delegationSelector===i))}function D(t,e,i){const s=\"string\"==typeof e,n=s?i:e||i;let o=M(t);return S.has(o)||(o=t),[s,n,o]}function N(t,e,i,s,n){if(\"string\"!=typeof e||!t)return;let[o,r,a]=D(e,i,s);if(e in $){const t=t=>function(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};r=t(r)}const l=O(t),c=l[a]||(l[a]={}),h=I(c,r,o?i:null);if(h)return void(h.oneOff=h.oneOff&&n);const d=L(r,e.replace(A,\"\")),u=o?function(t,e,i){return function s(n){const o=t.querySelectorAll(e);for(let{target:r}=n;r&&r!==this;r=r.parentNode)for(const a of o)if(a===r)return F(n,{delegateTarget:r}),s.oneOff&&j.off(t,n.type,e,i),i.apply(r,[n])}}(t,i,r):function(t,e){return function i(s){return F(s,{delegateTarget:t}),i.oneOff&&j.off(t,s.type,e),e.apply(t,[s])}}(t,r);u.delegationSelector=o?i:null,u.callable=r,u.oneOff=n,u.uidEvent=d,c[d]=u,t.addEventListener(a,u,o)}function P(t,e,i,s,n){const o=I(e[i],s,n);o&&(t.removeEventListener(i,o,Boolean(n)),delete e[i][o.uidEvent])}function x(t,e,i,s){const n=e[i]||{};for(const[o,r]of Object.entries(n))o.includes(s)&&P(t,e,i,r.callable,r.delegationSelector)}function M(t){return t=t.replace(E,\"\"),$[t]||t}const j={on(t,e,i,s){N(t,e,i,s,!1)},one(t,e,i,s){N(t,e,i,s,!0)},off(t,e,i,s){if(\"string\"!=typeof e||!t)return;const[n,o,r]=D(e,i,s),a=r!==e,l=O(t),c=l[r]||{},h=e.startsWith(\".\");if(void 0===o){if(h)for(const i of Object.keys(l))x(t,l,i,e.slice(1));for(const[i,s]of Object.entries(c)){const n=i.replace(C,\"\");a&&!e.includes(n)||P(t,l,r,s.callable,s.delegationSelector)}}else{if(!Object.keys(c).length)return;P(t,l,r,o,n?i:null)}},trigger(t,e,i){if(\"string\"!=typeof e||!t)return null;const s=f();let n=null,o=!0,r=!0,a=!1;e!==M(e)&&s&&(n=s.Event(e,i),s(t).trigger(n),o=!n.isPropagationStopped(),r=!n.isImmediatePropagationStopped(),a=n.isDefaultPrevented());const l=F(new Event(e,{bubbles:o,cancelable:!0}),i);return a&&l.preventDefault(),r&&t.dispatchEvent(l),l.defaultPrevented&&n&&n.preventDefault(),l}};function F(t,e={}){for(const[i,s]of Object.entries(e))try{t[i]=s}catch(e){Object.defineProperty(t,i,{configurable:!0,get:()=>s})}return t}function z(t){if(\"true\"===t)return!0;if(\"false\"===t)return!1;if(t===Number(t).toString())return Number(t);if(\"\"===t||\"null\"===t)return null;if(\"string\"!=typeof t)return t;try{return JSON.parse(decodeURIComponent(t))}catch(e){return t}}function H(t){return t.replace(/[A-Z]/g,(t=>`-${t.toLowerCase()}`))}const B={setDataAttribute(t,e,i){t.setAttribute(`data-bs-${H(e)}`,i)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${H(e)}`)},getDataAttributes(t){if(!t)return{};const e={},i=Object.keys(t.dataset).filter((t=>t.startsWith(\"bs\")&&!t.startsWith(\"bsConfig\")));for(const s of i){let i=s.replace(/^bs/,\"\");i=i.charAt(0).toLowerCase()+i.slice(1,i.length),e[i]=z(t.dataset[s])}return e},getDataAttribute:(t,e)=>z(t.getAttribute(`data-bs-${H(e)}`))};class q{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method \"NAME\", for each component!')}_getConfig(t){return t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t}_mergeConfigObj(t,e){const i=l(e)?B.getDataAttribute(e,\"config\"):{};return{...this.constructor.Default,...\"object\"==typeof i?i:{},...l(e)?B.getDataAttributes(e):{},...\"object\"==typeof t?t:{}}}_typeCheckConfig(t,e=this.constructor.DefaultType){for(const[s,n]of Object.entries(e)){const e=t[s],o=l(e)?\"element\":null==(i=e)?`${i}`:Object.prototype.toString.call(i).match(/\\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(n).test(o))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option \"${s}\" provided type \"${o}\" but expected type \"${n}\".`)}var i}}class W extends q{constructor(t,e){super(),(t=c(t))&&(this._element=t,this._config=this._getConfig(e),n.set(this._element,this.constructor.DATA_KEY,this))}dispose(){n.remove(this._element,this.constructor.DATA_KEY),j.off(this._element,this.constructor.EVENT_KEY);for(const t of Object.getOwnPropertyNames(this))this[t]=null}_queueCallback(t,e,i=!0){y(t,e,i)}_getConfig(t){return t=this._mergeConfigObj(t,this._element),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}static getInstance(t){return n.get(c(t),this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,\"object\"==typeof e?e:null)}static get VERSION(){return\"5.3.2\"}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(t){return`${t}${this.EVENT_KEY}`}}const R=t=>{let e=t.getAttribute(\"data-bs-target\");if(!e||\"#\"===e){let i=t.getAttribute(\"href\");if(!i||!i.includes(\"#\")&&!i.startsWith(\".\"))return null;i.includes(\"#\")&&!i.startsWith(\"#\")&&(i=`#${i.split(\"#\")[1]}`),e=i&&\"#\"!==i?r(i.trim()):null}return e},K={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter((t=>t.matches(e))),parents(t,e){const i=[];let s=t.parentNode.closest(e);for(;s;)i.push(s),s=s.parentNode.closest(e);return i},prev(t,e){let i=t.previousElementSibling;for(;i;){if(i.matches(e))return[i];i=i.previousElementSibling}return[]},next(t,e){let i=t.nextElementSibling;for(;i;){if(i.matches(e))return[i];i=i.nextElementSibling}return[]},focusableChildren(t){const e=[\"a\",\"button\",\"input\",\"textarea\",\"select\",\"details\",\"[tabindex]\",'[contenteditable=\"true\"]'].map((t=>`${t}:not([tabindex^=\"-\"])`)).join(\",\");return this.find(e,t).filter((t=>!d(t)&&h(t)))},getSelectorFromElement(t){const e=R(t);return e&&K.findOne(e)?e:null},getElementFromSelector(t){const e=R(t);return e?K.findOne(e):null},getMultipleElementsFromSelector(t){const e=R(t);return e?K.find(e):[]}},V=(t,e=\"hide\")=>{const i=`click.dismiss${t.EVENT_KEY}`,s=t.NAME;j.on(document,i,`[data-bs-dismiss=\"${s}\"]`,(function(i){if([\"A\",\"AREA\"].includes(this.tagName)&&i.preventDefault(),d(this))return;const n=K.getElementFromSelector(this)||this.closest(`.${s}`);t.getOrCreateInstance(n)[e]()}))},Q=\".bs.alert\",X=`close${Q}`,Y=`closed${Q}`;class U extends W{static get NAME(){return\"alert\"}close(){if(j.trigger(this._element,X).defaultPrevented)return;this._element.classList.remove(\"show\");const t=this._element.classList.contains(\"fade\");this._queueCallback((()=>this._destroyElement()),this._element,t)}_destroyElement(){this._element.remove(),j.trigger(this._element,Y),this.dispose()}static jQueryInterface(t){return this.each((function(){const e=U.getOrCreateInstance(this);if(\"string\"==typeof t){if(void 0===e[t]||t.startsWith(\"_\")||\"constructor\"===t)throw new TypeError(`No method named \"${t}\"`);e[t](this)}}))}}V(U,\"close\"),b(U);const G='[data-bs-toggle=\"button\"]';class J extends W{static get NAME(){return\"button\"}toggle(){this._element.setAttribute(\"aria-pressed\",this._element.classList.toggle(\"active\"))}static jQueryInterface(t){return this.each((function(){const e=J.getOrCreateInstance(this);\"toggle\"===t&&e[t]()}))}}j.on(document,\"click.bs.button.data-api\",G,(t=>{t.preventDefault();const e=t.target.closest(G);J.getOrCreateInstance(e).toggle()})),b(J);const Z=\".bs.swipe\",tt=`touchstart${Z}`,et=`touchmove${Z}`,it=`touchend${Z}`,st=`pointerdown${Z}`,nt=`pointerup${Z}`,ot={endCallback:null,leftCallback:null,rightCallback:null},rt={endCallback:\"(function|null)\",leftCallback:\"(function|null)\",rightCallback:\"(function|null)\"};class at extends q{constructor(t,e){super(),this._element=t,t&&at.isSupported()&&(this._config=this._getConfig(e),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return ot}static get DefaultType(){return rt}static get NAME(){return\"swipe\"}dispose(){j.off(this._element,Z)}_start(t){this._supportPointerEvents?this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX):this._deltaX=t.touches[0].clientX}_end(t){this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX-this._deltaX),this._handleSwipe(),v(this._config.endCallback)}_move(t){this._deltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this._deltaX}_handleSwipe(){const t=Math.abs(this._deltaX);if(t<=40)return;const e=t/this._deltaX;this._deltaX=0,e&&v(e>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(j.on(this._element,st,(t=>this._start(t))),j.on(this._element,nt,(t=>this._end(t))),this._element.classList.add(\"pointer-event\")):(j.on(this._element,tt,(t=>this._start(t))),j.on(this._element,et,(t=>this._move(t))),j.on(this._element,it,(t=>this._end(t))))}_eventIsPointerPenTouch(t){return this._supportPointerEvents&&(\"pen\"===t.pointerType||\"touch\"===t.pointerType)}static isSupported(){return\"ontouchstart\"in document.documentElement||navigator.maxTouchPoints>0}}const lt=\".bs.carousel\",ct=\".data-api\",ht=\"next\",dt=\"prev\",ut=\"left\",_t=\"right\",gt=`slide${lt}`,ft=`slid${lt}`,mt=`keydown${lt}`,pt=`mouseenter${lt}`,bt=`mouseleave${lt}`,vt=`dragstart${lt}`,yt=`load${lt}${ct}`,wt=`click${lt}${ct}`,At=\"carousel\",Et=\"active\",Ct=\".active\",Tt=\".carousel-item\",kt=Ct+Tt,$t={ArrowLeft:_t,ArrowRight:ut},St={interval:5e3,keyboard:!0,pause:\"hover\",ride:!1,touch:!0,wrap:!0},Lt={interval:\"(number|boolean)\",keyboard:\"boolean\",pause:\"(string|boolean)\",ride:\"(boolean|string)\",touch:\"boolean\",wrap:\"boolean\"};class Ot extends W{constructor(t,e){super(t,e),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=K.findOne(\".carousel-indicators\",this._element),this._addEventListeners(),this._config.ride===At&&this.cycle()}static get Default(){return St}static get DefaultType(){return Lt}static get NAME(){return\"carousel\"}next(){this._slide(ht)}nextWhenVisible(){!document.hidden&&h(this._element)&&this.next()}prev(){this._slide(dt)}pause(){this._isSliding&&a(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval((()=>this.nextWhenVisible()),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?j.one(this._element,ft,(()=>this.cycle())):this.cycle())}to(t){const e=this._getItems();if(t>e.length-1||t<0)return;if(this._isSliding)return void j.one(this._element,ft,(()=>this.to(t)));const i=this._getItemIndex(this._getActive());if(i===t)return;const s=t>i?ht:dt;this._slide(s,e[t])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(t){return t.defaultInterval=t.interval,t}_addEventListeners(){this._config.keyboard&&j.on(this._element,mt,(t=>this._keydown(t))),\"hover\"===this._config.pause&&(j.on(this._element,pt,(()=>this.pause())),j.on(this._element,bt,(()=>this._maybeEnableCycle()))),this._config.touch&&at.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const t of K.find(\".carousel-item img\",this._element))j.on(t,vt,(t=>t.preventDefault()));const t={leftCallback:()=>this._slide(this._directionToOrder(ut)),rightCallback:()=>this._slide(this._directionToOrder(_t)),endCallback:()=>{\"hover\"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((()=>this._maybeEnableCycle()),500+this._config.interval))}};this._swipeHelper=new at(this._element,t)}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=$t[t.key];e&&(t.preventDefault(),this._slide(this._directionToOrder(e)))}_getItemIndex(t){return this._getItems().indexOf(t)}_setActiveIndicatorElement(t){if(!this._indicatorsElement)return;const e=K.findOne(Ct,this._indicatorsElement);e.classList.remove(Et),e.removeAttribute(\"aria-current\");const i=K.findOne(`[data-bs-slide-to=\"${t}\"]`,this._indicatorsElement);i&&(i.classList.add(Et),i.setAttribute(\"aria-current\",\"true\"))}_updateInterval(){const t=this._activeElement||this._getActive();if(!t)return;const e=Number.parseInt(t.getAttribute(\"data-bs-interval\"),10);this._config.interval=e||this._config.defaultInterval}_slide(t,e=null){if(this._isSliding)return;const i=this._getActive(),s=t===ht,n=e||w(this._getItems(),i,s,this._config.wrap);if(n===i)return;const o=this._getItemIndex(n),r=e=>j.trigger(this._element,e,{relatedTarget:n,direction:this._orderToDirection(t),from:this._getItemIndex(i),to:o});if(r(gt).defaultPrevented)return;if(!i||!n)return;const a=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(o),this._activeElement=n;const l=s?\"carousel-item-start\":\"carousel-item-end\",c=s?\"carousel-item-next\":\"carousel-item-prev\";n.classList.add(c),g(n),i.classList.add(l),n.classList.add(l),this._queueCallback((()=>{n.classList.remove(l,c),n.classList.add(Et),i.classList.remove(Et,c,l),this._isSliding=!1,r(ft)}),i,this._isAnimated()),a&&this.cycle()}_isAnimated(){return this._element.classList.contains(\"slide\")}_getActive(){return K.findOne(kt,this._element)}_getItems(){return K.find(Tt,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return p()?t===ut?dt:ht:t===ut?ht:dt}_orderToDirection(t){return p()?t===dt?ut:_t:t===dt?_t:ut}static jQueryInterface(t){return this.each((function(){const e=Ot.getOrCreateInstance(this,t);if(\"number\"!=typeof t){if(\"string\"==typeof t){if(void 0===e[t]||t.startsWith(\"_\")||\"constructor\"===t)throw new TypeError(`No method named \"${t}\"`);e[t]()}}else e.to(t)}))}}j.on(document,wt,\"[data-bs-slide], [data-bs-slide-to]\",(function(t){const e=K.getElementFromSelector(this);if(!e||!e.classList.contains(At))return;t.preventDefault();const i=Ot.getOrCreateInstance(e),s=this.getAttribute(\"data-bs-slide-to\");return s?(i.to(s),void i._maybeEnableCycle()):\"next\"===B.getDataAttribute(this,\"slide\")?(i.next(),void i._maybeEnableCycle()):(i.prev(),void i._maybeEnableCycle())})),j.on(window,yt,(()=>{const t=K.find('[data-bs-ride=\"carousel\"]');for(const e of t)Ot.getOrCreateInstance(e)})),b(Ot);const It=\".bs.collapse\",Dt=`show${It}`,Nt=`shown${It}`,Pt=`hide${It}`,xt=`hidden${It}`,Mt=`click${It}.data-api`,jt=\"show\",Ft=\"collapse\",zt=\"collapsing\",Ht=`:scope .${Ft} .${Ft}`,Bt='[data-bs-toggle=\"collapse\"]',qt={parent:null,toggle:!0},Wt={parent:\"(null|element)\",toggle:\"boolean\"};class Rt extends W{constructor(t,e){super(t,e),this._isTransitioning=!1,this._triggerArray=[];const i=K.find(Bt);for(const t of i){const e=K.getSelectorFromElement(t),i=K.find(e).filter((t=>t===this._element));null!==e&&i.length&&this._triggerArray.push(t)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return qt}static get DefaultType(){return Wt}static get NAME(){return\"collapse\"}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t=[];if(this._config.parent&&(t=this._getFirstLevelChildren(\".collapse.show, .collapse.collapsing\").filter((t=>t!==this._element)).map((t=>Rt.getOrCreateInstance(t,{toggle:!1})))),t.length&&t[0]._isTransitioning)return;if(j.trigger(this._element,Dt).defaultPrevented)return;for(const e of t)e.hide();const e=this._getDimension();this._element.classList.remove(Ft),this._element.classList.add(zt),this._element.style[e]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const i=`scroll${e[0].toUpperCase()+e.slice(1)}`;this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(zt),this._element.classList.add(Ft,jt),this._element.style[e]=\"\",j.trigger(this._element,Nt)}),this._element,!0),this._element.style[e]=`${this._element[i]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(j.trigger(this._element,Pt).defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,g(this._element),this._element.classList.add(zt),this._element.classList.remove(Ft,jt);for(const t of this._triggerArray){const e=K.getElementFromSelector(t);e&&!this._isShown(e)&&this._addAriaAndCollapsedClass([t],!1)}this._isTransitioning=!0,this._element.style[t]=\"\",this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(zt),this._element.classList.add(Ft),j.trigger(this._element,xt)}),this._element,!0)}_isShown(t=this._element){return t.classList.contains(jt)}_configAfterMerge(t){return t.toggle=Boolean(t.toggle),t.parent=c(t.parent),t}_getDimension(){return this._element.classList.contains(\"collapse-horizontal\")?\"width\":\"height\"}_initializeChildren(){if(!this._config.parent)return;const t=this._getFirstLevelChildren(Bt);for(const e of t){const t=K.getElementFromSelector(e);t&&this._addAriaAndCollapsedClass([e],this._isShown(t))}}_getFirstLevelChildren(t){const e=K.find(Ht,this._config.parent);return K.find(t,this._config.parent).filter((t=>!e.includes(t)))}_addAriaAndCollapsedClass(t,e){if(t.length)for(const i of t)i.classList.toggle(\"collapsed\",!e),i.setAttribute(\"aria-expanded\",e)}static jQueryInterface(t){const e={};return\"string\"==typeof t&&/show|hide/.test(t)&&(e.toggle=!1),this.each((function(){const i=Rt.getOrCreateInstance(this,e);if(\"string\"==typeof t){if(void 0===i[t])throw new TypeError(`No method named \"${t}\"`);i[t]()}}))}}j.on(document,Mt,Bt,(function(t){(\"A\"===t.target.tagName||t.delegateTarget&&\"A\"===t.delegateTarget.tagName)&&t.preventDefault();for(const t of K.getMultipleElementsFromSelector(this))Rt.getOrCreateInstance(t,{toggle:!1}).toggle()})),b(Rt);const Kt=\"dropdown\",Vt=\".bs.dropdown\",Qt=\".data-api\",Xt=\"ArrowUp\",Yt=\"ArrowDown\",Ut=`hide${Vt}`,Gt=`hidden${Vt}`,Jt=`show${Vt}`,Zt=`shown${Vt}`,te=`click${Vt}${Qt}`,ee=`keydown${Vt}${Qt}`,ie=`keyup${Vt}${Qt}`,se=\"show\",ne='[data-bs-toggle=\"dropdown\"]:not(.disabled):not(:disabled)',oe=`${ne}.${se}`,re=\".dropdown-menu\",ae=p()?\"top-end\":\"top-start\",le=p()?\"top-start\":\"top-end\",ce=p()?\"bottom-end\":\"bottom-start\",he=p()?\"bottom-start\":\"bottom-end\",de=p()?\"left-start\":\"right-start\",ue=p()?\"right-start\":\"left-start\",_e={autoClose:!0,boundary:\"clippingParents\",display:\"dynamic\",offset:[0,2],popperConfig:null,reference:\"toggle\"},ge={autoClose:\"(boolean|string)\",boundary:\"(string|element)\",display:\"string\",offset:\"(array|string|function)\",popperConfig:\"(null|object|function)\",reference:\"(string|element|object)\"};class fe extends W{constructor(t,e){super(t,e),this._popper=null,this._parent=this._element.parentNode,this._menu=K.next(this._element,re)[0]||K.prev(this._element,re)[0]||K.findOne(re,this._parent),this._inNavbar=this._detectNavbar()}static get Default(){return _e}static get DefaultType(){return ge}static get NAME(){return Kt}toggle(){return this._isShown()?this.hide():this.show()}show(){if(d(this._element)||this._isShown())return;const t={relatedTarget:this._element};if(!j.trigger(this._element,Jt,t).defaultPrevented){if(this._createPopper(),\"ontouchstart\"in document.documentElement&&!this._parent.closest(\".navbar-nav\"))for(const t of[].concat(...document.body.children))j.on(t,\"mouseover\",_);this._element.focus(),this._element.setAttribute(\"aria-expanded\",!0),this._menu.classList.add(se),this._element.classList.add(se),j.trigger(this._element,Zt,t)}}hide(){if(d(this._element)||!this._isShown())return;const t={relatedTarget:this._element};this._completeHide(t)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(t){if(!j.trigger(this._element,Ut,t).defaultPrevented){if(\"ontouchstart\"in document.documentElement)for(const t of[].concat(...document.body.children))j.off(t,\"mouseover\",_);this._popper&&this._popper.destroy(),this._menu.classList.remove(se),this._element.classList.remove(se),this._element.setAttribute(\"aria-expanded\",\"false\"),B.removeDataAttribute(this._menu,\"popper\"),j.trigger(this._element,Gt,t)}}_getConfig(t){if(\"object\"==typeof(t=super._getConfig(t)).reference&&!l(t.reference)&&\"function\"!=typeof t.reference.getBoundingClientRect)throw new TypeError(`${Kt.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`);return t}_createPopper(){if(void 0===i)throw new TypeError(\"Bootstrap's dropdowns require Popper (https://popper.js.org)\");let t=this._element;\"parent\"===this._config.reference?t=this._parent:l(this._config.reference)?t=c(this._config.reference):\"object\"==typeof this._config.reference&&(t=this._config.reference);const e=this._getPopperConfig();this._popper=i.createPopper(t,this._menu,e)}_isShown(){return this._menu.classList.contains(se)}_getPlacement(){const t=this._parent;if(t.classList.contains(\"dropend\"))return de;if(t.classList.contains(\"dropstart\"))return ue;if(t.classList.contains(\"dropup-center\"))return\"top\";if(t.classList.contains(\"dropdown-center\"))return\"bottom\";const e=\"end\"===getComputedStyle(this._menu).getPropertyValue(\"--bs-position\").trim();return t.classList.contains(\"dropup\")?e?le:ae:e?he:ce}_detectNavbar(){return null!==this._element.closest(\".navbar\")}_getOffset(){const{offset:t}=this._config;return\"string\"==typeof t?t.split(\",\").map((t=>Number.parseInt(t,10))):\"function\"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:\"preventOverflow\",options:{boundary:this._config.boundary}},{name:\"offset\",options:{offset:this._getOffset()}}]};return(this._inNavbar||\"static\"===this._config.display)&&(B.setDataAttribute(this._menu,\"popper\",\"static\"),t.modifiers=[{name:\"applyStyles\",enabled:!1}]),{...t,...v(this._config.popperConfig,[t])}}_selectMenuItem({key:t,target:e}){const i=K.find(\".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)\",this._menu).filter((t=>h(t)));i.length&&w(i,e,t===Yt,!i.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e=fe.getOrCreateInstance(this,t);if(\"string\"==typeof t){if(void 0===e[t])throw new TypeError(`No method named \"${t}\"`);e[t]()}}))}static clearMenus(t){if(2===t.button||\"keyup\"===t.type&&\"Tab\"!==t.key)return;const e=K.find(oe);for(const i of e){const e=fe.getInstance(i);if(!e||!1===e._config.autoClose)continue;const s=t.composedPath(),n=s.includes(e._menu);if(s.includes(e._element)||\"inside\"===e._config.autoClose&&!n||\"outside\"===e._config.autoClose&&n)continue;if(e._menu.contains(t.target)&&(\"keyup\"===t.type&&\"Tab\"===t.key||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;const o={relatedTarget:e._element};\"click\"===t.type&&(o.clickEvent=t),e._completeHide(o)}}static dataApiKeydownHandler(t){const e=/input|textarea/i.test(t.target.tagName),i=\"Escape\"===t.key,s=[Xt,Yt].includes(t.key);if(!s&&!i)return;if(e&&!i)return;t.preventDefault();const n=this.matches(ne)?this:K.prev(this,ne)[0]||K.next(this,ne)[0]||K.findOne(ne,t.delegateTarget.parentNode),o=fe.getOrCreateInstance(n);if(s)return t.stopPropagation(),o.show(),void o._selectMenuItem(t);o._isShown()&&(t.stopPropagation(),o.hide(),n.focus())}}j.on(document,ee,ne,fe.dataApiKeydownHandler),j.on(document,ee,re,fe.dataApiKeydownHandler),j.on(document,te,fe.clearMenus),j.on(document,ie,fe.clearMenus),j.on(document,te,ne,(function(t){t.preventDefault(),fe.getOrCreateInstance(this).toggle()})),b(fe);const me=\"backdrop\",pe=\"show\",be=`mousedown.bs.${me}`,ve={className:\"modal-backdrop\",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:\"body\"},ye={className:\"string\",clickCallback:\"(function|null)\",isAnimated:\"boolean\",isVisible:\"boolean\",rootElement:\"(element|string)\"};class we extends q{constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return ve}static get DefaultType(){return ye}static get NAME(){return me}show(t){if(!this._config.isVisible)return void v(t);this._append();const e=this._getElement();this._config.isAnimated&&g(e),e.classList.add(pe),this._emulateAnimation((()=>{v(t)}))}hide(t){this._config.isVisible?(this._getElement().classList.remove(pe),this._emulateAnimation((()=>{this.dispose(),v(t)}))):v(t)}dispose(){this._isAppended&&(j.off(this._element,be),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const t=document.createElement(\"div\");t.className=this._config.className,this._config.isAnimated&&t.classList.add(\"fade\"),this._element=t}return this._element}_configAfterMerge(t){return t.rootElement=c(t.rootElement),t}_append(){if(this._isAppended)return;const t=this._getElement();this._config.rootElement.append(t),j.on(t,be,(()=>{v(this._config.clickCallback)})),this._isAppended=!0}_emulateAnimation(t){y(t,this._getElement(),this._config.isAnimated)}}const Ae=\".bs.focustrap\",Ee=`focusin${Ae}`,Ce=`keydown.tab${Ae}`,Te=\"backward\",ke={autofocus:!0,trapElement:null},$e={autofocus:\"boolean\",trapElement:\"element\"};class Se extends q{constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return ke}static get DefaultType(){return $e}static get NAME(){return\"focustrap\"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),j.off(document,Ae),j.on(document,Ee,(t=>this._handleFocusin(t))),j.on(document,Ce,(t=>this._handleKeydown(t))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,j.off(document,Ae))}_handleFocusin(t){const{trapElement:e}=this._config;if(t.target===document||t.target===e||e.contains(t.target))return;const i=K.focusableChildren(e);0===i.length?e.focus():this._lastTabNavDirection===Te?i[i.length-1].focus():i[0].focus()}_handleKeydown(t){\"Tab\"===t.key&&(this._lastTabNavDirection=t.shiftKey?Te:\"forward\")}}const Le=\".fixed-top, .fixed-bottom, .is-fixed, .sticky-top\",Oe=\".sticky-top\",Ie=\"padding-right\",De=\"margin-right\";class Ne{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,Ie,(e=>e+t)),this._setElementAttributes(Le,Ie,(e=>e+t)),this._setElementAttributes(Oe,De,(e=>e-t))}reset(){this._resetElementAttributes(this._element,\"overflow\"),this._resetElementAttributes(this._element,Ie),this._resetElementAttributes(Le,Ie),this._resetElementAttributes(Oe,De)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,\"overflow\"),this._element.style.overflow=\"hidden\"}_setElementAttributes(t,e,i){const s=this.getWidth();this._applyManipulationCallback(t,(t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+s)return;this._saveInitialAttribute(t,e);const n=window.getComputedStyle(t).getPropertyValue(e);t.style.setProperty(e,`${i(Number.parseFloat(n))}px`)}))}_saveInitialAttribute(t,e){const i=t.style.getPropertyValue(e);i&&B.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,(t=>{const i=B.getDataAttribute(t,e);null!==i?(B.removeDataAttribute(t,e),t.style.setProperty(e,i)):t.style.removeProperty(e)}))}_applyManipulationCallback(t,e){if(l(t))e(t);else for(const i of K.find(t,this._element))e(i)}}const Pe=\".bs.modal\",xe=`hide${Pe}`,Me=`hidePrevented${Pe}`,je=`hidden${Pe}`,Fe=`show${Pe}`,ze=`shown${Pe}`,He=`resize${Pe}`,Be=`click.dismiss${Pe}`,qe=`mousedown.dismiss${Pe}`,We=`keydown.dismiss${Pe}`,Re=`click${Pe}.data-api`,Ke=\"modal-open\",Ve=\"show\",Qe=\"modal-static\",Xe={backdrop:!0,focus:!0,keyboard:!0},Ye={backdrop:\"(boolean|string)\",focus:\"boolean\",keyboard:\"boolean\"};class Ue extends W{constructor(t,e){super(t,e),this._dialog=K.findOne(\".modal-dialog\",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new Ne,this._addEventListeners()}static get Default(){return Xe}static get DefaultType(){return Ye}static get NAME(){return\"modal\"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||j.trigger(this._element,Fe,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(Ke),this._adjustDialog(),this._backdrop.show((()=>this._showElement(t))))}hide(){this._isShown&&!this._isTransitioning&&(j.trigger(this._element,xe).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(Ve),this._queueCallback((()=>this._hideModal()),this._element,this._isAnimated())))}dispose(){j.off(window,Pe),j.off(this._dialog,Pe),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new we({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new Se({trapElement:this._element})}_showElement(t){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display=\"block\",this._element.removeAttribute(\"aria-hidden\"),this._element.setAttribute(\"aria-modal\",!0),this._element.setAttribute(\"role\",\"dialog\"),this._element.scrollTop=0;const e=K.findOne(\".modal-body\",this._dialog);e&&(e.scrollTop=0),g(this._element),this._element.classList.add(Ve),this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,j.trigger(this._element,ze,{relatedTarget:t})}),this._dialog,this._isAnimated())}_addEventListeners(){j.on(this._element,We,(t=>{\"Escape\"===t.key&&(this._config.keyboard?this.hide():this._triggerBackdropTransition())})),j.on(window,He,(()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()})),j.on(this._element,qe,(t=>{j.one(this._element,Be,(e=>{this._element===t.target&&this._element===e.target&&(\"static\"!==this._config.backdrop?this._config.backdrop&&this.hide():this._triggerBackdropTransition())}))}))}_hideModal(){this._element.style.display=\"none\",this._element.setAttribute(\"aria-hidden\",!0),this._element.removeAttribute(\"aria-modal\"),this._element.removeAttribute(\"role\"),this._isTransitioning=!1,this._backdrop.hide((()=>{document.body.classList.remove(Ke),this._resetAdjustments(),this._scrollBar.reset(),j.trigger(this._element,je)}))}_isAnimated(){return this._element.classList.contains(\"fade\")}_triggerBackdropTransition(){if(j.trigger(this._element,Me).defaultPrevented)return;const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._element.style.overflowY;\"hidden\"===e||this._element.classList.contains(Qe)||(t||(this._element.style.overflowY=\"hidden\"),this._element.classList.add(Qe),this._queueCallback((()=>{this._element.classList.remove(Qe),this._queueCallback((()=>{this._element.style.overflowY=e}),this._dialog)}),this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),i=e>0;if(i&&!t){const t=p()?\"paddingLeft\":\"paddingRight\";this._element.style[t]=`${e}px`}if(!i&&t){const t=p()?\"paddingRight\":\"paddingLeft\";this._element.style[t]=`${e}px`}}_resetAdjustments(){this._element.style.paddingLeft=\"\",this._element.style.paddingRight=\"\"}static jQueryInterface(t,e){return this.each((function(){const i=Ue.getOrCreateInstance(this,t);if(\"string\"==typeof t){if(void 0===i[t])throw new TypeError(`No method named \"${t}\"`);i[t](e)}}))}}j.on(document,Re,'[data-bs-toggle=\"modal\"]',(function(t){const e=K.getElementFromSelector(this);[\"A\",\"AREA\"].includes(this.tagName)&&t.preventDefault(),j.one(e,Fe,(t=>{t.defaultPrevented||j.one(e,je,(()=>{h(this)&&this.focus()}))}));const i=K.findOne(\".modal.show\");i&&Ue.getInstance(i).hide(),Ue.getOrCreateInstance(e).toggle(this)})),V(Ue),b(Ue);const Ge=\".bs.offcanvas\",Je=\".data-api\",Ze=`load${Ge}${Je}`,ti=\"show\",ei=\"showing\",ii=\"hiding\",si=\".offcanvas.show\",ni=`show${Ge}`,oi=`shown${Ge}`,ri=`hide${Ge}`,ai=`hidePrevented${Ge}`,li=`hidden${Ge}`,ci=`resize${Ge}`,hi=`click${Ge}${Je}`,di=`keydown.dismiss${Ge}`,ui={backdrop:!0,keyboard:!0,scroll:!1},_i={backdrop:\"(boolean|string)\",keyboard:\"boolean\",scroll:\"boolean\"};class gi extends W{constructor(t,e){super(t,e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return ui}static get DefaultType(){return _i}static get NAME(){return\"offcanvas\"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||j.trigger(this._element,ni,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||(new Ne).hide(),this._element.setAttribute(\"aria-modal\",!0),this._element.setAttribute(\"role\",\"dialog\"),this._element.classList.add(ei),this._queueCallback((()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add(ti),this._element.classList.remove(ei),j.trigger(this._element,oi,{relatedTarget:t})}),this._element,!0))}hide(){this._isShown&&(j.trigger(this._element,ri).defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add(ii),this._backdrop.hide(),this._queueCallback((()=>{this._element.classList.remove(ti,ii),this._element.removeAttribute(\"aria-modal\"),this._element.removeAttribute(\"role\"),this._config.scroll||(new Ne).reset(),j.trigger(this._element,li)}),this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=Boolean(this._config.backdrop);return new we({className:\"offcanvas-backdrop\",isVisible:t,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:t?()=>{\"static\"!==this._config.backdrop?this.hide():j.trigger(this._element,ai)}:null})}_initializeFocusTrap(){return new Se({trapElement:this._element})}_addEventListeners(){j.on(this._element,di,(t=>{\"Escape\"===t.key&&(this._config.keyboard?this.hide():j.trigger(this._element,ai))}))}static jQueryInterface(t){return this.each((function(){const e=gi.getOrCreateInstance(this,t);if(\"string\"==typeof t){if(void 0===e[t]||t.startsWith(\"_\")||\"constructor\"===t)throw new TypeError(`No method named \"${t}\"`);e[t](this)}}))}}j.on(document,hi,'[data-bs-toggle=\"offcanvas\"]',(function(t){const e=K.getElementFromSelector(this);if([\"A\",\"AREA\"].includes(this.tagName)&&t.preventDefault(),d(this))return;j.one(e,li,(()=>{h(this)&&this.focus()}));const i=K.findOne(si);i&&i!==e&&gi.getInstance(i).hide(),gi.getOrCreateInstance(e).toggle(this)})),j.on(window,Ze,(()=>{for(const t of K.find(si))gi.getOrCreateInstance(t).show()})),j.on(window,ci,(()=>{for(const t of K.find(\"[aria-modal][class*=show][class*=offcanvas-]\"))\"fixed\"!==getComputedStyle(t).position&&gi.getOrCreateInstance(t).hide()})),V(gi),b(gi);const fi={\"*\":[\"class\",\"dir\",\"id\",\"lang\",\"role\",/^aria-[\\w-]*$/i],a:[\"target\",\"href\",\"title\",\"rel\"],area:[],b:[],br:[],col:[],code:[],div:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:[\"src\",\"srcset\",\"alt\",\"title\",\"width\",\"height\"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},mi=new Set([\"background\",\"cite\",\"href\",\"itemtype\",\"longdesc\",\"poster\",\"src\",\"xlink:href\"]),pi=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,bi=(t,e)=>{const i=t.nodeName.toLowerCase();return e.includes(i)?!mi.has(i)||Boolean(pi.test(t.nodeValue)):e.filter((t=>t instanceof RegExp)).some((t=>t.test(i)))},vi={allowList:fi,content:{},extraClass:\"\",html:!1,sanitize:!0,sanitizeFn:null,template:\"<div></div>\"},yi={allowList:\"object\",content:\"object\",extraClass:\"(string|function)\",html:\"boolean\",sanitize:\"boolean\",sanitizeFn:\"(null|function)\",template:\"string\"},wi={entry:\"(string|element|function|null)\",selector:\"(string|element)\"};class Ai extends q{constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return vi}static get DefaultType(){return yi}static get NAME(){return\"TemplateFactory\"}getContent(){return Object.values(this._config.content).map((t=>this._resolvePossibleFunction(t))).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(t){return this._checkContent(t),this._config.content={...this._config.content,...t},this}toHtml(){const t=document.createElement(\"div\");t.innerHTML=this._maybeSanitize(this._config.template);for(const[e,i]of Object.entries(this._config.content))this._setContent(t,i,e);const e=t.children[0],i=this._resolvePossibleFunction(this._config.extraClass);return i&&e.classList.add(...i.split(\" \")),e}_typeCheckConfig(t){super._typeCheckConfig(t),this._checkContent(t.content)}_checkContent(t){for(const[e,i]of Object.entries(t))super._typeCheckConfig({selector:e,entry:i},wi)}_setContent(t,e,i){const s=K.findOne(i,t);s&&((e=this._resolvePossibleFunction(e))?l(e)?this._putElementInTemplate(c(e),s):this._config.html?s.innerHTML=this._maybeSanitize(e):s.textContent=e:s.remove())}_maybeSanitize(t){return this._config.sanitize?function(t,e,i){if(!t.length)return t;if(i&&\"function\"==typeof i)return i(t);const s=(new window.DOMParser).parseFromString(t,\"text/html\"),n=[].concat(...s.body.querySelectorAll(\"*\"));for(const t of n){const i=t.nodeName.toLowerCase();if(!Object.keys(e).includes(i)){t.remove();continue}const s=[].concat(...t.attributes),n=[].concat(e[\"*\"]||[],e[i]||[]);for(const e of s)bi(e,n)||t.removeAttribute(e.nodeName)}return s.body.innerHTML}(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return v(t,[this])}_putElementInTemplate(t,e){if(this._config.html)return e.innerHTML=\"\",void e.append(t);e.textContent=t.textContent}}const Ei=new Set([\"sanitize\",\"allowList\",\"sanitizeFn\"]),Ci=\"fade\",Ti=\"show\",ki=\".modal\",$i=\"hide.bs.modal\",Si=\"hover\",Li=\"focus\",Oi={AUTO:\"auto\",TOP:\"top\",RIGHT:p()?\"left\":\"right\",BOTTOM:\"bottom\",LEFT:p()?\"right\":\"left\"},Ii={allowList:fi,animation:!0,boundary:\"clippingParents\",container:!1,customClass:\"\",delay:0,fallbackPlacements:[\"top\",\"right\",\"bottom\",\"left\"],html:!1,offset:[0,6],placement:\"top\",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'<div class=\"tooltip\" role=\"tooltip\"><div class=\"tooltip-arrow\"></div><div class=\"tooltip-inner\"></div></div>',title:\"\",trigger:\"hover focus\"},Di={allowList:\"object\",animation:\"boolean\",boundary:\"(string|element)\",container:\"(string|element|boolean)\",customClass:\"(string|function)\",delay:\"(number|object)\",fallbackPlacements:\"array\",html:\"boolean\",offset:\"(array|string|function)\",placement:\"(string|function)\",popperConfig:\"(null|object|function)\",sanitize:\"boolean\",sanitizeFn:\"(null|function)\",selector:\"(string|boolean)\",template:\"string\",title:\"(string|element|function)\",trigger:\"string\"};class Ni extends W{constructor(t,e){if(void 0===i)throw new TypeError(\"Bootstrap's tooltips require Popper (https://popper.js.org)\");super(t,e),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return Ii}static get DefaultType(){return Di}static get NAME(){return\"tooltip\"}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),j.off(this._element.closest(ki),$i,this._hideModalHandler),this._element.getAttribute(\"data-bs-original-title\")&&this._element.setAttribute(\"title\",this._element.getAttribute(\"data-bs-original-title\")),this._disposePopper(),super.dispose()}show(){if(\"none\"===this._element.style.display)throw new Error(\"Please use show on visible elements\");if(!this._isWithContent()||!this._isEnabled)return;const t=j.trigger(this._element,this.constructor.eventName(\"show\")),e=(u(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(t.defaultPrevented||!e)return;this._disposePopper();const i=this._getTipElement();this._element.setAttribute(\"aria-describedby\",i.getAttribute(\"id\"));const{container:s}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(s.append(i),j.trigger(this._element,this.constructor.eventName(\"inserted\"))),this._popper=this._createPopper(i),i.classList.add(Ti),\"ontouchstart\"in document.documentElement)for(const t of[].concat(...document.body.children))j.on(t,\"mouseover\",_);this._queueCallback((()=>{j.trigger(this._element,this.constructor.eventName(\"shown\")),!1===this._isHovered&&this._leave(),this._isHovered=!1}),this.tip,this._isAnimated())}hide(){if(this._isShown()&&!j.trigger(this._element,this.constructor.eventName(\"hide\")).defaultPrevented){if(this._getTipElement().classList.remove(Ti),\"ontouchstart\"in document.documentElement)for(const t of[].concat(...document.body.children))j.off(t,\"mouseover\",_);this._activeTrigger.click=!1,this._activeTrigger[Li]=!1,this._activeTrigger[Si]=!1,this._isHovered=null,this._queueCallback((()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute(\"aria-describedby\"),j.trigger(this._element,this.constructor.eventName(\"hidden\")))}),this.tip,this._isAnimated())}}update(){this._popper&&this._popper.update()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(t){const e=this._getTemplateFactory(t).toHtml();if(!e)return null;e.classList.remove(Ci,Ti),e.classList.add(`bs-${this.constructor.NAME}-auto`);const i=(t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME).toString();return e.setAttribute(\"id\",i),this._isAnimated()&&e.classList.add(Ci),e}setContent(t){this._newContent=t,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new Ai({...this._config,content:t,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{\".tooltip-inner\":this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute(\"data-bs-original-title\")}_initializeOnDelegatedTarget(t){return this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(Ci)}_isShown(){return this.tip&&this.tip.classList.contains(Ti)}_createPopper(t){const e=v(this._config.placement,[this,t,this._element]),s=Oi[e.toUpperCase()];return i.createPopper(this._element,t,this._getPopperConfig(s))}_getOffset(){const{offset:t}=this._config;return\"string\"==typeof t?t.split(\",\").map((t=>Number.parseInt(t,10))):\"function\"==typeof t?e=>t(e,this._element):t}_resolvePossibleFunction(t){return v(t,[this._element])}_getPopperConfig(t){const e={placement:t,modifiers:[{name:\"flip\",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:\"offset\",options:{offset:this._getOffset()}},{name:\"preventOverflow\",options:{boundary:this._config.boundary}},{name:\"arrow\",options:{element:`.${this.constructor.NAME}-arrow`}},{name:\"preSetPlacement\",enabled:!0,phase:\"beforeMain\",fn:t=>{this._getTipElement().setAttribute(\"data-popper-placement\",t.state.placement)}}]};return{...e,...v(this._config.popperConfig,[e])}}_setListeners(){const t=this._config.trigger.split(\" \");for(const e of t)if(\"click\"===e)j.on(this._element,this.constructor.eventName(\"click\"),this._config.selector,(t=>{this._initializeOnDelegatedTarget(t).toggle()}));else if(\"manual\"!==e){const t=e===Si?this.constructor.eventName(\"mouseenter\"):this.constructor.eventName(\"focusin\"),i=e===Si?this.constructor.eventName(\"mouseleave\"):this.constructor.eventName(\"focusout\");j.on(this._element,t,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger[\"focusin\"===t.type?Li:Si]=!0,e._enter()})),j.on(this._element,i,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger[\"focusout\"===t.type?Li:Si]=e._element.contains(t.relatedTarget),e._leave()}))}this._hideModalHandler=()=>{this._element&&this.hide()},j.on(this._element.closest(ki),$i,this._hideModalHandler)}_fixTitle(){const t=this._element.getAttribute(\"title\");t&&(this._element.getAttribute(\"aria-label\")||this._element.textContent.trim()||this._element.setAttribute(\"aria-label\",t),this._element.setAttribute(\"data-bs-original-title\",t),this._element.removeAttribute(\"title\"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout((()=>{this._isHovered&&this.show()}),this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout((()=>{this._isHovered||this.hide()}),this._config.delay.hide))}_setTimeout(t,e){clearTimeout(this._timeout),this._timeout=setTimeout(t,e)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(t){const e=B.getDataAttributes(this._element);for(const t of Object.keys(e))Ei.has(t)&&delete e[t];return t={...e,...\"object\"==typeof t&&t?t:{}},t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t.container=!1===t.container?document.body:c(t.container),\"number\"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),\"number\"==typeof t.title&&(t.title=t.title.toString()),\"number\"==typeof t.content&&(t.content=t.content.toString()),t}_getDelegateConfig(){const t={};for(const[e,i]of Object.entries(this._config))this.constructor.Default[e]!==i&&(t[e]=i);return t.selector=!1,t.trigger=\"manual\",t}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(t){return this.each((function(){const e=Ni.getOrCreateInstance(this,t);if(\"string\"==typeof t){if(void 0===e[t])throw new TypeError(`No method named \"${t}\"`);e[t]()}}))}}b(Ni);const Pi={...Ni.Default,content:\"\",offset:[0,8],placement:\"right\",template:'<div class=\"popover\" role=\"tooltip\"><div class=\"popover-arrow\"></div><h3 class=\"popover-header\"></h3><div class=\"popover-body\"></div></div>',trigger:\"click\"},xi={...Ni.DefaultType,content:\"(null|string|element|function)\"};class Mi extends Ni{static get Default(){return Pi}static get DefaultType(){return xi}static get NAME(){return\"popover\"}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{\".popover-header\":this._getTitle(),\".popover-body\":this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(t){return this.each((function(){const e=Mi.getOrCreateInstance(this,t);if(\"string\"==typeof t){if(void 0===e[t])throw new TypeError(`No method named \"${t}\"`);e[t]()}}))}}b(Mi);const ji=\".bs.scrollspy\",Fi=`activate${ji}`,zi=`click${ji}`,Hi=`load${ji}.data-api`,Bi=\"active\",qi=\"[href]\",Wi=\".nav-link\",Ri=`${Wi}, .nav-item > ${Wi}, .list-group-item`,Ki={offset:null,rootMargin:\"0px 0px -25%\",smoothScroll:!1,target:null,threshold:[.1,.5,1]},Vi={offset:\"(number|null)\",rootMargin:\"string\",smoothScroll:\"boolean\",target:\"element\",threshold:\"array\"};class Qi extends W{constructor(t,e){super(t,e),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement=\"visible\"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return Ki}static get DefaultType(){return Vi}static get NAME(){return\"scrollspy\"}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const t of this._observableSections.values())this._observer.observe(t)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(t){return t.target=c(t.target)||document.body,t.rootMargin=t.offset?`${t.offset}px 0px -30%`:t.rootMargin,\"string\"==typeof t.threshold&&(t.threshold=t.threshold.split(\",\").map((t=>Number.parseFloat(t)))),t}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(j.off(this._config.target,zi),j.on(this._config.target,zi,qi,(t=>{const e=this._observableSections.get(t.target.hash);if(e){t.preventDefault();const i=this._rootElement||window,s=e.offsetTop-this._element.offsetTop;if(i.scrollTo)return void i.scrollTo({top:s,behavior:\"smooth\"});i.scrollTop=s}})))}_getNewObserver(){const t={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver((t=>this._observerCallback(t)),t)}_observerCallback(t){const e=t=>this._targetLinks.get(`#${t.target.id}`),i=t=>{this._previousScrollData.visibleEntryTop=t.target.offsetTop,this._process(e(t))},s=(this._rootElement||document.documentElement).scrollTop,n=s>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=s;for(const o of t){if(!o.isIntersecting){this._activeTarget=null,this._clearActiveClass(e(o));continue}const t=o.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(n&&t){if(i(o),!s)return}else n||t||i(o)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const t=K.find(qi,this._config.target);for(const e of t){if(!e.hash||d(e))continue;const t=K.findOne(decodeURI(e.hash),this._element);h(t)&&(this._targetLinks.set(decodeURI(e.hash),e),this._observableSections.set(e.hash,t))}}_process(t){this._activeTarget!==t&&(this._clearActiveClass(this._config.target),this._activeTarget=t,t.classList.add(Bi),this._activateParents(t),j.trigger(this._element,Fi,{relatedTarget:t}))}_activateParents(t){if(t.classList.contains(\"dropdown-item\"))K.findOne(\".dropdown-toggle\",t.closest(\".dropdown\")).classList.add(Bi);else for(const e of K.parents(t,\".nav, .list-group\"))for(const t of K.prev(e,Ri))t.classList.add(Bi)}_clearActiveClass(t){t.classList.remove(Bi);const e=K.find(`${qi}.${Bi}`,t);for(const t of e)t.classList.remove(Bi)}static jQueryInterface(t){return this.each((function(){const e=Qi.getOrCreateInstance(this,t);if(\"string\"==typeof t){if(void 0===e[t]||t.startsWith(\"_\")||\"constructor\"===t)throw new TypeError(`No method named \"${t}\"`);e[t]()}}))}}j.on(window,Hi,(()=>{for(const t of K.find('[data-bs-spy=\"scroll\"]'))Qi.getOrCreateInstance(t)})),b(Qi);const Xi=\".bs.tab\",Yi=`hide${Xi}`,Ui=`hidden${Xi}`,Gi=`show${Xi}`,Ji=`shown${Xi}`,Zi=`click${Xi}`,ts=`keydown${Xi}`,es=`load${Xi}`,is=\"ArrowLeft\",ss=\"ArrowRight\",ns=\"ArrowUp\",os=\"ArrowDown\",rs=\"Home\",as=\"End\",ls=\"active\",cs=\"fade\",hs=\"show\",ds=\".dropdown-toggle\",us=`:not(${ds})`,_s='[data-bs-toggle=\"tab\"], [data-bs-toggle=\"pill\"], [data-bs-toggle=\"list\"]',gs=`.nav-link${us}, .list-group-item${us}, [role=\"tab\"]${us}, ${_s}`,fs=`.${ls}[data-bs-toggle=\"tab\"], .${ls}[data-bs-toggle=\"pill\"], .${ls}[data-bs-toggle=\"list\"]`;class ms extends W{constructor(t){super(t),this._parent=this._element.closest('.list-group, .nav, [role=\"tablist\"]'),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),j.on(this._element,ts,(t=>this._keydown(t))))}static get NAME(){return\"tab\"}show(){const t=this._element;if(this._elemIsActive(t))return;const e=this._getActiveElem(),i=e?j.trigger(e,Yi,{relatedTarget:t}):null;j.trigger(t,Gi,{relatedTarget:e}).defaultPrevented||i&&i.defaultPrevented||(this._deactivate(e,t),this._activate(t,e))}_activate(t,e){t&&(t.classList.add(ls),this._activate(K.getElementFromSelector(t)),this._queueCallback((()=>{\"tab\"===t.getAttribute(\"role\")?(t.removeAttribute(\"tabindex\"),t.setAttribute(\"aria-selected\",!0),this._toggleDropDown(t,!0),j.trigger(t,Ji,{relatedTarget:e})):t.classList.add(hs)}),t,t.classList.contains(cs)))}_deactivate(t,e){t&&(t.classList.remove(ls),t.blur(),this._deactivate(K.getElementFromSelector(t)),this._queueCallback((()=>{\"tab\"===t.getAttribute(\"role\")?(t.setAttribute(\"aria-selected\",!1),t.setAttribute(\"tabindex\",\"-1\"),this._toggleDropDown(t,!1),j.trigger(t,Ui,{relatedTarget:e})):t.classList.remove(hs)}),t,t.classList.contains(cs)))}_keydown(t){if(![is,ss,ns,os,rs,as].includes(t.key))return;t.stopPropagation(),t.preventDefault();const e=this._getChildren().filter((t=>!d(t)));let i;if([rs,as].includes(t.key))i=e[t.key===rs?0:e.length-1];else{const s=[ss,os].includes(t.key);i=w(e,t.target,s,!0)}i&&(i.focus({preventScroll:!0}),ms.getOrCreateInstance(i).show())}_getChildren(){return K.find(gs,this._parent)}_getActiveElem(){return this._getChildren().find((t=>this._elemIsActive(t)))||null}_setInitialAttributes(t,e){this._setAttributeIfNotExists(t,\"role\",\"tablist\");for(const t of e)this._setInitialAttributesOnChild(t)}_setInitialAttributesOnChild(t){t=this._getInnerElement(t);const e=this._elemIsActive(t),i=this._getOuterElement(t);t.setAttribute(\"aria-selected\",e),i!==t&&this._setAttributeIfNotExists(i,\"role\",\"presentation\"),e||t.setAttribute(\"tabindex\",\"-1\"),this._setAttributeIfNotExists(t,\"role\",\"tab\"),this._setInitialAttributesOnTargetPanel(t)}_setInitialAttributesOnTargetPanel(t){const e=K.getElementFromSelector(t);e&&(this._setAttributeIfNotExists(e,\"role\",\"tabpanel\"),t.id&&this._setAttributeIfNotExists(e,\"aria-labelledby\",`${t.id}`))}_toggleDropDown(t,e){const i=this._getOuterElement(t);if(!i.classList.contains(\"dropdown\"))return;const s=(t,s)=>{const n=K.findOne(t,i);n&&n.classList.toggle(s,e)};s(ds,ls),s(\".dropdown-menu\",hs),i.setAttribute(\"aria-expanded\",e)}_setAttributeIfNotExists(t,e,i){t.hasAttribute(e)||t.setAttribute(e,i)}_elemIsActive(t){return t.classList.contains(ls)}_getInnerElement(t){return t.matches(gs)?t:K.findOne(gs,t)}_getOuterElement(t){return t.closest(\".nav-item, .list-group-item\")||t}static jQueryInterface(t){return this.each((function(){const e=ms.getOrCreateInstance(this);if(\"string\"==typeof t){if(void 0===e[t]||t.startsWith(\"_\")||\"constructor\"===t)throw new TypeError(`No method named \"${t}\"`);e[t]()}}))}}j.on(document,Zi,_s,(function(t){[\"A\",\"AREA\"].includes(this.tagName)&&t.preventDefault(),d(this)||ms.getOrCreateInstance(this).show()})),j.on(window,es,(()=>{for(const t of K.find(fs))ms.getOrCreateInstance(t)})),b(ms);const ps=\".bs.toast\",bs=`mouseover${ps}`,vs=`mouseout${ps}`,ys=`focusin${ps}`,ws=`focusout${ps}`,As=`hide${ps}`,Es=`hidden${ps}`,Cs=`show${ps}`,Ts=`shown${ps}`,ks=\"hide\",$s=\"show\",Ss=\"showing\",Ls={animation:\"boolean\",autohide:\"boolean\",delay:\"number\"},Os={animation:!0,autohide:!0,delay:5e3};class Is extends W{constructor(t,e){super(t,e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return Os}static get DefaultType(){return Ls}static get NAME(){return\"toast\"}show(){j.trigger(this._element,Cs).defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add(\"fade\"),this._element.classList.remove(ks),g(this._element),this._element.classList.add($s,Ss),this._queueCallback((()=>{this._element.classList.remove(Ss),j.trigger(this._element,Ts),this._maybeScheduleHide()}),this._element,this._config.animation))}hide(){this.isShown()&&(j.trigger(this._element,As).defaultPrevented||(this._element.classList.add(Ss),this._queueCallback((()=>{this._element.classList.add(ks),this._element.classList.remove(Ss,$s),j.trigger(this._element,Es)}),this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove($s),super.dispose()}isShown(){return this._element.classList.contains($s)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout((()=>{this.hide()}),this._config.delay)))}_onInteraction(t,e){switch(t.type){case\"mouseover\":case\"mouseout\":this._hasMouseInteraction=e;break;case\"focusin\":case\"focusout\":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const i=t.relatedTarget;this._element===i||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){j.on(this._element,bs,(t=>this._onInteraction(t,!0))),j.on(this._element,vs,(t=>this._onInteraction(t,!1))),j.on(this._element,ys,(t=>this._onInteraction(t,!0))),j.on(this._element,ws,(t=>this._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=Is.getOrCreateInstance(this,t);if(\"string\"==typeof t){if(void 0===e[t])throw new TypeError(`No method named \"${t}\"`);e[t](this)}}))}}return V(Is),b(Is),{Alert:U,Button:J,Carousel:Ot,Collapse:Rt,Dropdown:fe,Modal:Ue,Offcanvas:gi,Popover:Mi,ScrollSpy:Qi,Tab:ms,Toast:Is,Tooltip:Ni}}));\n//# sourceMappingURL=bootstrap.min.js.map","function FastClick(n,t){\"use strict\";function o(n,t){return function(){return n.apply(t,arguments)}}var f,r,u,i,e;if(t=t||{},this.trackingClick=!1,this.trackingClickStart=0,this.targetElement=null,this.touchStartX=0,this.touchStartY=0,this.lastTouchIdentifier=0,this.touchBoundary=t.touchBoundary||10,this.layer=n,this.tapDelay=t.tapDelay||200,!FastClick.notNeeded(n)){for(r=[\"onMouse\",\"onClick\",\"onTouchStart\",\"onTouchMove\",\"onTouchEnd\",\"onTouchCancel\"],u=this,i=0,e=r.length;i<e;i++)u[r[i]]=o(u[r[i]],u);deviceIsAndroid&&(n.addEventListener(\"mouseover\",this.onMouse,!0),n.addEventListener(\"mousedown\",this.onMouse,!0),n.addEventListener(\"mouseup\",this.onMouse,!0));n.addEventListener(\"click\",this.onClick,!0);n.addEventListener(\"touchstart\",this.onTouchStart,!1);n.addEventListener(\"touchmove\",this.onTouchMove,!1);n.addEventListener(\"touchend\",this.onTouchEnd,!1);n.addEventListener(\"touchcancel\",this.onTouchCancel,!1);Event.prototype.stopImmediatePropagation||(n.removeEventListener=function(t,i,r){var u=Node.prototype.removeEventListener;t===\"click\"?u.call(n,t,i.hijacked||i,r):u.call(n,t,i,r)},n.addEventListener=function(t,i,r){var u=Node.prototype.addEventListener;t===\"click\"?u.call(n,t,i.hijacked||(i.hijacked=function(n){n.propagationStopped||i(n)}),r):u.call(n,t,i,r)});typeof n.onclick==\"function\"&&(f=n.onclick,n.addEventListener(\"click\",function(n){f(n)},!1),n.onclick=null)}}var supports=function(){var n=document.documentElement,t=\"ontouchstart\"in window||navigator.msMaxTouchPoints;return t?(n.className+=\" touch\",{touch:!0}):(n.className+=\" no-touch\",{touch:!1})}(),deviceIsAndroid=navigator.userAgent.indexOf(\"Android\")>0,deviceIsIOS=/iP(ad|hone|od)/.test(navigator.userAgent),deviceIsIOS4=deviceIsIOS&&/OS 4_\\d(_\\d)?/.test(navigator.userAgent),deviceIsIOSWithBadTarget=deviceIsIOS&&/OS ([6-9]|\\d{2})_\\d/.test(navigator.userAgent),deviceIsBlackBerry10=navigator.userAgent.indexOf(\"BB10\")>0;FastClick.prototype.needsClick=function(n){\"use strict\";switch(n.nodeName.toLowerCase()){case\"button\":case\"select\":case\"textarea\":if(n.disabled)return!0;break;case\"input\":if(deviceIsIOS&&n.type===\"file\"||n.disabled)return!0;break;case\"label\":case\"video\":return!0}return/\\bneedsclick\\b/.test(n.className)};FastClick.prototype.needsFocus=function(n){\"use strict\";switch(n.nodeName.toLowerCase()){case\"textarea\":return!0;case\"select\":return!deviceIsAndroid;case\"input\":switch(n.type){case\"button\":case\"checkbox\":case\"file\":case\"image\":case\"radio\":case\"submit\":return!1}return!n.disabled&&!n.readOnly;default:return/\\bneedsfocus\\b/.test(n.className)}};FastClick.prototype.sendClick=function(n,t){\"use strict\";var r,i;document.activeElement&&document.activeElement!==n&&document.activeElement.blur();i=t.changedTouches[0];r=document.createEvent(\"MouseEvents\");r.initMouseEvent(this.determineEventType(n),!0,!0,window,1,i.screenX,i.screenY,i.clientX,i.clientY,!1,!1,!1,!1,0,null);r.forwardedTouchEvent=!0;n.dispatchEvent(r)};FastClick.prototype.determineEventType=function(n){\"use strict\";return deviceIsAndroid&&n.tagName.toLowerCase()===\"select\"?\"mousedown\":\"click\"};FastClick.prototype.focus=function(n){\"use strict\";var t;deviceIsIOS&&n.setSelectionRange&&n.type.indexOf(\"date\")!==0&&n.type!==\"time\"?(t=n.value.length,n.setSelectionRange(t,t)):n.focus()};FastClick.prototype.updateScrollParent=function(n){\"use strict\";var i,t;if(i=n.fastClickScrollParent,!i||!i.contains(n)){t=n;do{if(t.scrollHeight>t.offsetHeight){i=t;n.fastClickScrollParent=t;break}t=t.parentElement}while(t)}i&&(i.fastClickLastScrollTop=i.scrollTop)};FastClick.prototype.getTargetElementFromEventTarget=function(n){\"use strict\";return n.nodeType===Node.TEXT_NODE?n.parentNode:n};FastClick.prototype.onTouchStart=function(n){\"use strict\";var i,t,r;if(n.targetTouches.length>1)return!0;if(i=this.getTargetElementFromEventTarget(n.target),t=n.targetTouches[0],deviceIsIOS){if(r=window.getSelection(),r.rangeCount&&!r.isCollapsed)return!0;if(!deviceIsIOS4){if(t.identifier===this.lastTouchIdentifier)return n.preventDefault(),!1;this.lastTouchIdentifier=t.identifier;this.updateScrollParent(i)}}return this.trackingClick=!0,this.trackingClickStart=n.timeStamp,this.targetElement=i,this.touchStartX=t.pageX,this.touchStartY=t.pageY,n.timeStamp-this.lastClickTime<this.tapDelay&&n.preventDefault(),!0};FastClick.prototype.touchHasMoved=function(n){\"use strict\";var t=n.changedTouches[0],i=this.touchBoundary;return Math.abs(t.pageX-this.touchStartX)>i||Math.abs(t.pageY-this.touchStartY)>i?!0:!1};FastClick.prototype.onTouchMove=function(n){\"use strict\";return this.trackingClick?((this.targetElement!==this.getTargetElementFromEventTarget(n.target)||this.touchHasMoved(n))&&(this.trackingClick=!1,this.targetElement=null),!0):!0};FastClick.prototype.findControl=function(n){\"use strict\";return n.control!==undefined?n.control:n.htmlFor?document.getElementById(n.htmlFor):n.querySelector(\"button, input:not([type=hidden]), keygen, meter, output, progress, select, textarea\")};FastClick.prototype.onTouchEnd=function(n){\"use strict\";var u,e,i,r,f,t=this.targetElement;if(!this.trackingClick)return!0;if(n.timeStamp-this.lastClickTime<this.tapDelay)return this.cancelNextClick=!0,!0;if(this.cancelNextClick=!1,this.lastClickTime=n.timeStamp,e=this.trackingClickStart,this.trackingClick=!1,this.trackingClickStart=0,deviceIsIOSWithBadTarget&&(f=n.changedTouches[0],t=document.elementFromPoint(f.pageX-window.pageXOffset,f.pageY-window.pageYOffset)||t,t.fastClickScrollParent=this.targetElement.fastClickScrollParent),i=t.tagName.toLowerCase(),i===\"label\"){if(u=this.findControl(t),u){if(this.focus(t),deviceIsAndroid)return!1;t=u}}else if(this.needsFocus(t))return n.timeStamp-e>100||deviceIsIOS&&window.top!==window&&i===\"input\"?(this.targetElement=null,!1):(this.focus(t),this.sendClick(t,n),deviceIsIOS&&i===\"select\"||(this.targetElement=null,n.preventDefault()),!1);return deviceIsIOS&&!deviceIsIOS4&&(r=t.fastClickScrollParent,r&&r.fastClickLastScrollTop!==r.scrollTop)?!0:(this.needsClick(t)||(n.preventDefault(),this.sendClick(t,n)),!1)};FastClick.prototype.onTouchCancel=function(){\"use strict\";this.trackingClick=!1;this.targetElement=null};FastClick.prototype.onMouse=function(n){\"use strict\";return this.targetElement?n.forwardedTouchEvent?!0:n.cancelable?!this.needsClick(this.targetElement)||this.cancelNextClick?(n.stopImmediatePropagation?n.stopImmediatePropagation():n.propagationStopped=!0,n.stopPropagation(),n.preventDefault(),!1):!0:!0:!0};FastClick.prototype.onClick=function(n){\"use strict\";var t;return this.trackingClick?(this.targetElement=null,this.trackingClick=!1,!0):n.target.type===\"submit\"&&n.detail===0?!0:(t=this.onMouse(n),t||(this.targetElement=null),t)};FastClick.prototype.destroy=function(){\"use strict\";var n=this.layer;deviceIsAndroid&&(n.removeEventListener(\"mouseover\",this.onMouse,!0),n.removeEventListener(\"mousedown\",this.onMouse,!0),n.removeEventListener(\"mouseup\",this.onMouse,!0));n.removeEventListener(\"click\",this.onClick,!0);n.removeEventListener(\"touchstart\",this.onTouchStart,!1);n.removeEventListener(\"touchmove\",this.onTouchMove,!1);n.removeEventListener(\"touchend\",this.onTouchEnd,!1);n.removeEventListener(\"touchcancel\",this.onTouchCancel,!1)};FastClick.notNeeded=function(n){\"use strict\";var t,i,r;if(typeof ontouchstart==\"undefined\")return!0;if(i=+(/Chrome\\/([0-9]+)/.exec(navigator.userAgent)||[,0])[1],i)if(deviceIsAndroid){if(t=document.querySelector(\"meta[name=viewport]\"),t&&(t.content.indexOf(\"user-scalable=no\")!==-1||i>31&&document.documentElement.scrollWidth<=window.outerWidth))return!0}else return!0;return deviceIsBlackBerry10&&(r=navigator.userAgent.match(/Version\\/([0-9]*)\\.([0-9]*)/),r[1]>=10&&r[2]>=3&&(t=document.querySelector(\"meta[name=viewport]\"),t&&(t.content.indexOf(\"user-scalable=no\")!==-1||document.documentElement.scrollWidth<=window.outerWidth)))?!0:n.style.msTouchAction===\"none\"?!0:!1};FastClick.attach=function(n,t){\"use strict\";return new FastClick(n,t)};typeof define==\"function\"&&typeof define.amd==\"object\"&&define.amd?define(function(){\"use strict\";return FastClick}):typeof module!=\"undefined\"&&module.exports?(module.exports=FastClick.attach,module.exports.FastClick=FastClick):window.FastClick=FastClick;!function(n){var t,i,r=n.event;t=r.special.debouncedresize={setup:function(){n(this).on(\"resize\",t.handler)},teardown:function(){n(this).off(\"resize\",t.handler)},handler:function(n,u){var e=this,o=arguments,f=function(){n.type=\"debouncedresize\";r.dispatch.apply(e,o)};i&&clearTimeout(i);u?f():i=setTimeout(f,t.threshold)},threshold:150}}(jQuery);!function(n){n.fn.eqHeights=function(t){var t=n.extend({child:!1},t),u=n(this),e=(u.length>0&&!u.data(\"eqHeights\")&&u.data(\"eqHeights\",!0),t.child&&t.child.length>0)?n(t.child,this):n(this).children();var f=0,i=0,r=[];e.height(\"auto\").each(function(){var t=n(this).offset().top;f>0&&f!=t&&(n(r).height(i),i=n(this).height(),r=[]);i=Math.max(i,n(this).height());f=n(this).offset().top;r.push(this)});n(r).height(i)}}(jQuery);!function(n){\"function\"==typeof define&&define.amd?define([\"jquery\"],n):\"object\"==typeof exports?n(require(\"jquery\")):n(jQuery)}(function(n){function i(n){return t.raw?n:encodeURIComponent(n)}function u(n){return t.raw?n:decodeURIComponent(n)}function f(n){return i(t.json?JSON.stringify(n):String(n))}function e(n){0===n.indexOf('\"')&&(n=n.slice(1,-1).replace(/\\\\\"/g,'\"').replace(/\\\\\\\\/g,\"\\\\\"));try{return n=decodeURIComponent(n.replace(o,\" \")),t.json?JSON.parse(n):n}catch(i){}}function r(i,r){var u=t.raw?i:e(i);return n.isFunction(r)?r(u):u}var o=/\\+/g,t=n.cookie=function(e,o,s){var v,c;if(void 0!==o&&!n.isFunction(o))return(s=n.extend({},t.defaults,s),\"number\"==typeof s.expires)&&(v=s.expires,c=s.expires=new Date,c.setTime(+c+864e5*v)),document.cookie=[i(e),\"=\",f(o),s.expires?\"; expires=\"+s.expires.toUTCString():\"\",s.path?\"; path=\"+s.path:\"\",s.domain?\"; domain=\"+s.domain:\"\",s.secure?\"; secure\":\"\"].join(\"\");for(var l=e?void 0:{},y=document.cookie?document.cookie.split(\"; \"):[],a=0,b=y.length;b>a;a++){var p=y[a].split(\"=\"),w=u(p.shift()),h=p.join(\"=\");if(e&&e===w){l=r(h,o);break}e||void 0===(h=r(h))||(l[w]=h)}return l};t.defaults={};n.removeCookie=function(t,i){return void 0===n.cookie(t)?!1:(n.cookie(t,\"\",n.extend({},i,{expires:-1})),!n.cookie(t))}});!function(n,t,i){function y(n){var t={},r=/^jQuery\\d+$/;return i.each(n.attributes,function(n,i){i.specified&&!r.test(i.name)&&(t[i.name]=i.value)}),t}function f(n,t){var u=this,r=i(u);if(u.value==r.attr(\"placeholder\")&&r.hasClass(\"placeholder\"))if(r.data(\"placeholder-password\")){if(r=r.hide().next().show().attr(\"id\",r.removeAttr(\"id\").data(\"placeholder-id\")),n===!0)return r[0].value=t;r.focus()}else u.value=\"\",r.removeClass(\"placeholder\"),u==h()&&u.select()}function o(){var t,r=this,n=i(r),u=this.id;if(\"\"==r.value){if(\"password\"==r.type){if(!n.data(\"placeholder-textinput\")){try{t=n.clone().attr({type:\"text\"})}catch(e){t=i(\"<input>\").attr(i.extend(y(this),{type:\"text\"}))}t.removeAttr(\"name\").data({\"placeholder-password\":n,\"placeholder-id\":u}).bind(\"focus.placeholder\",f);n.data({\"placeholder-textinput\":t,\"placeholder-id\":u}).before(t)}n=n.removeAttr(\"id\").hide().prev().attr(\"id\",u).show()}n.addClass(\"placeholder\");n[0].value=n.attr(\"placeholder\")}else n.removeClass(\"placeholder\")}function h(){try{return t.activeElement}catch(n){}}var u,r,c=\"[object OperaMini]\"==Object.prototype.toString.call(n.operamini),e=\"placeholder\"in t.createElement(\"input\")&&!c,s=\"placeholder\"in t.createElement(\"textarea\")&&!c,l=i.fn,a=i.valHooks,v=i.propHooks;e&&s?(r=l.placeholder=function(){return this},r.input=r.textarea=!0):(r=l.placeholder=function(){var n=this;return n.filter((e?\"textarea\":\":input\")+\"[placeholder]\").not(\".placeholder\").bind({\"focus.placeholder\":f,\"blur.placeholder\":o}).data(\"placeholder-enabled\",!0).trigger(\"blur.placeholder\"),n},r.input=e,r.textarea=s,u={get:function(n){var t=i(n),r=t.data(\"placeholder-password\");return r?r[0].value:t.data(\"placeholder-enabled\")&&t.hasClass(\"placeholder\")?\"\":n.value},set:function(n,t){var r=i(n),u=r.data(\"placeholder-password\");return u?u[0].value=t:r.data(\"placeholder-enabled\")?(\"\"==t?(n.value=t,n!=h()&&o.call(n)):r.hasClass(\"placeholder\")?f.call(n,!0,t)||(n.value=t):n.value=t,r):n.value=t}},e||(a.input=u,v.value=u),s||(a.textarea=u,v.value=u),i(function(){i(t).delegate(\"form\",\"submit.placeholder\",function(){var n=i(\".placeholder\",this).each(f);setTimeout(function(){n.each(o)},10)})}),i(n).bind(\"beforeunload.placeholder\",function(){i(\".placeholder\").each(function(){this.value=\"\"})}))}(this,document,jQuery),function(n){function d(n,t,i){switch(arguments.length){case 2:return null!=n?n:t;case 3:return null!=n?n:null!=t?t:i;default:throw new Error(\"Implement me\");}}function ft(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1}}function g(n,i){function u(){t.suppressDeprecationWarnings===!1&&\"undefined\"!=typeof console&&console.warn&&console.warn(\"Deprecation warning: \"+n)}var r=!0;return o(function(){return r&&(u(),r=!1),i.apply(this,arguments)},i)}function ii(n,t){return function(i){return r(n.call(this,i),t)}}function cr(n,t){return function(i){return this.lang().ordinal(n.call(this,i),t)}}function ri(){}function et(n){hi(n);o(this,n)}function ot(n){var t=fi(n),i=t.year||0,r=t.quarter||0,u=t.month||0,f=t.week||0,e=t.day||0,o=t.hour||0,s=t.minute||0,h=t.second||0,c=t.millisecond||0;this._milliseconds=+c+1e3*h+6e4*s+36e5*o;this._days=+e+7*f;this._months=+u+3*r+12*i;this._data={};this._bubble()}function o(n,t){for(var i in t)t.hasOwnProperty(i)&&(n[i]=t[i]);return t.hasOwnProperty(\"toString\")&&(n.toString=t.toString),t.hasOwnProperty(\"valueOf\")&&(n.valueOf=t.valueOf),n}function lr(n){var t,i={};for(t in n)n.hasOwnProperty(t)&&nr.hasOwnProperty(t)&&(i[t]=n[t]);return i}function y(n){return 0>n?Math.ceil(n):Math.floor(n)}function r(n,t,i){for(var r=\"\"+Math.abs(n),u=n>=0;r.length<t;)r=\"0\"+r;return(u?i?\"+\":\"\":\"-\")+r}function st(n,i,r,u){var o=i._milliseconds,f=i._days,e=i._months;u=null==u?!0:u;o&&n._d.setTime(+n._d+o*r);f&&bi(n,\"Date\",wt(n,\"Date\")+f*r);e&&wi(n,wt(n,\"Month\")+e*r);u&&t.updateOffset(n,f||e)}function rt(n){return\"[object Array]\"===Object.prototype.toString.call(n)}function ar(n){return\"[object Date]\"===Object.prototype.toString.call(n)||n instanceof Date}function ui(n,t,r){for(var e=Math.min(n.length,t.length),o=Math.abs(n.length-t.length),f=0,u=0;e>u;u++)(r&&n[u]!==t[u]||!r&&i(n[u])!==i(t[u]))&&f++;return f+o}function s(n){if(n){var t=n.toLowerCase().replace(/(.)s$/,\"$1\");n=hf[n]||cf[t]||t}return n}function fi(n){var i,t,r={};for(t in n)n.hasOwnProperty(t)&&(i=s(t),i&&(r[i]=n[t]));return r}function vr(i){var r,u;if(0===i.indexOf(\"week\"))r=7,u=\"day\";else{if(0!==i.indexOf(\"month\"))return;r=12;u=\"month\"}t[i]=function(f,e){var o,s,c=t.fn._lang[i],h=[];if(\"number\"==typeof f&&(e=f,f=n),s=function(n){var i=t().utc().set(u,n);return c.call(t.fn._lang,i,f||\"\")},null!=e)return s(e);for(o=0;r>o;o++)h.push(s(o));return h}}function i(n){var t=+n,i=0;return 0!==t&&isFinite(t)&&(i=t>=0?Math.floor(t):Math.ceil(t)),i}function ht(n,t){return new Date(Date.UTC(n,t+1,0)).getUTCDate()}function ei(n,i,r){return b(t([n,11,31+i-r]),i,r).week}function oi(n){return si(n)?366:365}function si(n){return n%4==0&&n%100!=0||n%400==0}function hi(n){var t;n._a&&-2===n._pf.overflow&&(t=n._a[l]<0||n._a[l]>11?l:n._a[e]<1||n._a[e]>ht(n._a[c],n._a[l])?e:n._a[a]<0||n._a[a]>23?a:n._a[nt]<0||n._a[nt]>59?nt:n._a[tt]<0||n._a[tt]>59?tt:n._a[it]<0||n._a[it]>999?it:-1,n._pf._overflowDayOfYear&&(c>t||t>e)&&(t=e),n._pf.overflow=t)}function ci(n){return null==n._isValid&&(n._isValid=!isNaN(n._d.getTime())&&n._pf.overflow<0&&!n._pf.empty&&!n._pf.invalidMonth&&!n._pf.nullInput&&!n._pf.invalidFormat&&!n._pf.userInvalidated,n._strict&&(n._isValid=n._isValid&&0===n._pf.charsLeftOver&&0===n._pf.unusedTokens.length)),n._isValid}function ct(n){return n?n.toLowerCase().replace(\"_\",\"-\"):n}function lt(n,i){return i._isUTC?t(n).zone(i._offset||0):t(n).local()}function yr(n,t){return t.abbr=n,p[n]||(p[n]=new ri),p[n].set(t),p[n]}function pr(n){delete p[n]}function f(n){var r,u,i,f,e=0,o=function(n){if(!p[n]&&tr)try{require(\"./lang/\"+n)}catch(t){}return p[n]};if(!n)return t.fn._lang;if(!rt(n)){if(u=o(n))return u;n=[n]}for(;e<n.length;){for(f=ct(n[e]).split(\"-\"),r=f.length,i=ct(n[e+1]),i=i?i.split(\"-\"):null;r>0;){if(u=o(f.slice(0,r).join(\"-\")))return u;if(i&&i.length>=r&&ui(f,i,!0)>=r-1)break;r--}e++}return t.fn._lang}function wr(n){return n.match(/\\[[\\s\\S]/)?n.replace(/^\\[|\\]$/g,\"\"):n.replace(/\\\\/g,\"\")}function br(n){for(var i=n.match(ir),t=0,r=i.length;r>t;t++)i[t]=v[i[t]]?v[i[t]]:wr(i[t]);return function(u){var f=\"\";for(t=0;r>t;t++)f+=i[t]instanceof Function?i[t].call(u,n):i[t];return f}}function at(n,t){return n.isValid()?(t=li(t,n.lang()),ti[t]||(ti[t]=br(t)),ti[t](n)):n.lang().invalidDate()}function li(n,t){function r(n){return t.longDateFormat(n)||n}var i=5;for(ut.lastIndex=0;i>=0&&ut.test(n);)n=n.replace(ut,r),ut.lastIndex=0,i-=1;return n}function kr(n,t){var i=t._strict;switch(n){case\"Q\":return ur;case\"DDDD\":return er;case\"YYYY\":case\"GGGG\":case\"gggg\":return i?uf:bu;case\"Y\":case\"G\":case\"g\":return ef;case\"YYYYYY\":case\"YYYYY\":case\"GGGGG\":case\"ggggg\":return i?ff:ku;case\"S\":if(i)return ur;case\"SS\":if(i)return fr;case\"SSS\":if(i)return er;case\"DDD\":return wu;case\"MMM\":case\"MMMM\":case\"dd\":case\"ddd\":case\"dddd\":return gu;case\"a\":case\"A\":return f(t._l)._meridiemParse;case\"X\":return tf;case\"Z\":case\"ZZ\":return kt;case\"T\":return nf;case\"SSSS\":return du;case\"MM\":case\"DD\":case\"YY\":case\"GG\":case\"gg\":case\"HH\":case\"hh\":case\"mm\":case\"ss\":case\"ww\":case\"WW\":return i?fr:rr;case\"M\":case\"D\":case\"d\":case\"H\":case\"h\":case\"m\":case\"s\":case\"w\":case\"W\":case\"e\":case\"E\":return rr;case\"Do\":return rf;default:return new RegExp(ru(iu(n.replace(\"\\\\\",\"\")),\"i\"))}}function ai(n){n=n||\"\";var r=n.match(kt)||[],f=r[r.length-1]||[],t=(f+\"\").match(sf)||[\"-\",0,0],u=+(60*t[1])+i(t[2]);return\"+\"===t[0]?-u:u}function dr(n,r,u){var s,o=u._a;switch(n){case\"Q\":null!=r&&(o[l]=3*(i(r)-1));break;case\"M\":case\"MM\":null!=r&&(o[l]=i(r)-1);break;case\"MMM\":case\"MMMM\":s=f(u._l).monthsParse(r);null!=s?o[l]=s:u._pf.invalidMonth=r;break;case\"D\":case\"DD\":null!=r&&(o[e]=i(r));break;case\"Do\":null!=r&&(o[e]=i(parseInt(r,10)));break;case\"DDD\":case\"DDDD\":null!=r&&(u._dayOfYear=i(r));break;case\"YY\":o[c]=t.parseTwoDigitYear(r);break;case\"YYYY\":case\"YYYYY\":case\"YYYYYY\":o[c]=i(r);break;case\"a\":case\"A\":u._isPm=f(u._l).isPM(r);break;case\"H\":case\"HH\":case\"h\":case\"hh\":o[a]=i(r);break;case\"m\":case\"mm\":o[nt]=i(r);break;case\"s\":case\"ss\":o[tt]=i(r);break;case\"S\":case\"SS\":case\"SSS\":case\"SSSS\":o[it]=i(1e3*(\"0.\"+r));break;case\"X\":u._d=new Date(1e3*parseFloat(r));break;case\"Z\":case\"ZZ\":u._useUTC=!0;u._tzm=ai(r);break;case\"dd\":case\"ddd\":case\"dddd\":s=f(u._l).weekdaysParse(r);null!=s?(u._w=u._w||{},u._w.d=s):u._pf.invalidWeekday=r;break;case\"w\":case\"ww\":case\"W\":case\"WW\":case\"d\":case\"e\":case\"E\":n=n.substr(0,1);case\"gggg\":case\"GGGG\":case\"GGGGG\":n=n.substr(0,2);r&&(u._w=u._w||{},u._w[n]=i(r));break;case\"gg\":case\"GG\":u._w=u._w||{};u._w[n]=t.parseTwoDigitYear(r)}}function gr(n){var i,s,e,u,r,o,h,l;i=n._w;null!=i.GG||null!=i.W||null!=i.E?(r=1,o=4,s=d(i.GG,n._a[c],b(t(),1,4).year),e=d(i.W,1),u=d(i.E,1)):(l=f(n._l),r=l._week.dow,o=l._week.doy,s=d(i.gg,n._a[c],b(t(),r,o).year),e=d(i.w,1),null!=i.d?(u=i.d,r>u&&++e):u=null!=i.e?i.e+r:r);h=lu(s,e,u,o,r);n._a[c]=h.year;n._dayOfYear=h.dayOfYear}function vt(n){var t,i,r,u,f=[];if(!n._d){for(r=tu(n),n._w&&null==n._a[e]&&null==n._a[l]&&gr(n),n._dayOfYear&&(u=d(n._a[c],r[c]),n._dayOfYear>oi(u)&&(n._pf._overflowDayOfYear=!0),i=pt(u,0,n._dayOfYear),n._a[l]=i.getUTCMonth(),n._a[e]=i.getUTCDate()),t=0;3>t&&null==n._a[t];++t)n._a[t]=f[t]=r[t];for(;7>t;t++)n._a[t]=f[t]=null==n._a[t]?2===t?1:0:n._a[t];n._d=(n._useUTC?pt:ou).apply(null,f);null!=n._tzm&&n._d.setUTCMinutes(n._d.getUTCMinutes()+n._tzm)}}function nu(n){var t;n._d||(t=fi(n._i),n._a=[t.year,t.month,t.day,t.hour,t.minute,t.second,t.millisecond],vt(n))}function tu(n){var t=new Date;return n._useUTC?[t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate()]:[t.getFullYear(),t.getMonth(),t.getDate()]}function yt(n){if(n._f===t.ISO_8601)return void vi(n);n._a=[];n._pf.empty=!0;for(var i,u,s,c=f(n._l),r=\"\"+n._i,l=r.length,h=0,o=li(n._f,c).match(ir)||[],e=0;e<o.length;e++)u=o[e],i=(r.match(kr(u,n))||[])[0],i&&(s=r.substr(0,r.indexOf(i)),s.length>0&&n._pf.unusedInput.push(s),r=r.slice(r.indexOf(i)+i.length),h+=i.length),v[u]?(i?n._pf.empty=!1:n._pf.unusedTokens.push(u),dr(u,i,n)):n._strict&&!i&&n._pf.unusedTokens.push(u);n._pf.charsLeftOver=l-h;r.length>0&&n._pf.unusedInput.push(r);n._isPm&&n._a[a]<12&&(n._a[a]+=12);n._isPm===!1&&12===n._a[a]&&(n._a[a]=0);vt(n);hi(n)}function iu(n){return n.replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g,function(n,t,i,r,u){return t||i||r||u})}function ru(n){return n.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g,\"\\\\$&\")}function uu(n){var t,f,u,r,i;if(0===n._f.length)return n._pf.invalidFormat=!0,void(n._d=new Date(NaN));for(r=0;r<n._f.length;r++)i=0,t=o({},n),t._pf=ft(),t._f=n._f[r],yt(t),ci(t)&&(i+=t._pf.charsLeftOver,i+=10*t._pf.unusedTokens.length,t._pf.score=i,(null==u||u>i)&&(u=i,f=t));o(n,f||t)}function vi(n){var t,i,r=n._i,u=of.exec(r);if(u){for(n._pf.iso=!0,t=0,i=dt.length;i>t;t++)if(dt[t][1].exec(r)){n._f=dt[t][0]+(u[6]||\" \");break}for(t=0,i=gt.length;i>t;t++)if(gt[t][1].exec(r)){n._f+=gt[t][0];break}r.match(kt)&&(n._f+=\"Z\");yt(n)}else n._isValid=!1}function fu(n){vi(n);n._isValid===!1&&(delete n._isValid,t.createFromInputFallback(n))}function eu(i){var r=i._i,u=vu.exec(r);r===n?i._d=new Date:u?i._d=new Date(+u[1]):\"string\"==typeof r?fu(i):rt(r)?(i._a=r.slice(0),vt(i)):ar(r)?i._d=new Date(+r):\"object\"==typeof r?nu(i):\"number\"==typeof r?i._d=new Date(r):t.createFromInputFallback(i)}function ou(n,t,i,r,u,f,e){var o=new Date(n,t,i,r,u,f,e);return 1970>n&&o.setFullYear(n),o}function pt(n){var t=new Date(Date.UTC.apply(null,arguments));return 1970>n&&t.setUTCFullYear(n),t}function su(n,t){if(\"string\"==typeof n)if(isNaN(n)){if(n=t.weekdaysParse(n),\"number\"!=typeof n)return null}else n=parseInt(n,10);return n}function hu(n,t,i,r,u){return u.relativeTime(t||1,!!i,n,r)}function cu(n,t,i){var o=k(Math.abs(n)/1e3),u=k(o/60),f=k(u/60),r=k(f/24),s=k(r/365),e=o<w.s&&[\"s\",o]||1===u&&[\"m\"]||u<w.m&&[\"mm\",u]||1===f&&[\"h\"]||f<w.h&&[\"hh\",f]||1===r&&[\"d\"]||r<=w.dd&&[\"dd\",r]||r<=w.dm&&[\"M\"]||r<w.dy&&[\"MM\",k(r/30)]||1===s&&[\"y\"]||[\"yy\",s];return e[2]=t,e[3]=n>0,e[4]=i,hu.apply({},e)}function b(n,i,r){var f,e=r-i,u=r-n.day();return u>e&&(u-=7),e-7>u&&(u+=7),f=t(n).add(\"d\",u),{week:Math.ceil(f.dayOfYear()/7),year:f.year()}}function lu(n,t,i,r,u){var o,e,f=pt(n,0,1).getUTCDay();return f=0===f?7:f,i=null!=i?i:u,o=u-f+(f>r?7:0)-(u>f?7:0),e=7*(t-1)+(i-u)+o+1,{year:e>0?n:n-1,dayOfYear:e>0?e:oi(n-1)+e}}function yi(i){var r=i._i,u=i._f;return null===r||u===n&&\"\"===r?t.invalid({nullInput:!0}):(\"string\"==typeof r&&(i._i=r=f().preparse(r)),t.isMoment(r)?(i=lr(r),i._d=new Date(+r._d)):u?rt(u)?uu(i):yt(i):eu(i),new et(i))}function pi(n,i){var u,r;if(1===i.length&&rt(i[0])&&(i=i[0]),!i.length)return t();for(u=i[0],r=1;r<i.length;++r)i[r][n](u)&&(u=i[r]);return u}function wi(n,t){var i;return\"string\"==typeof t&&(t=n.lang().monthsParse(t),\"number\"!=typeof t)?n:(i=Math.min(n.date(),ht(n.year(),t)),n._d[\"set\"+(n._isUTC?\"UTC\":\"\")+\"Month\"](t,i),n)}function wt(n,t){return n._d[\"get\"+(n._isUTC?\"UTC\":\"\")+t]()}function bi(n,t,i){return\"Month\"===t?wi(n,i):n._d[\"set\"+(n._isUTC?\"UTC\":\"\")+t](i)}function h(n,i){return function(r){return null!=r?(bi(this,n,r),t.updateOffset(this,i),this):wt(this,n)}}function au(n){t.duration.fn[n]=function(){return this._data[n]}}function ki(n,i){t.duration.fn[\"as\"+n]=function(){return+this/i}}function di(n){\"undefined\"==typeof ender&&(gi=bt.moment,bt.moment=n?g(\"Accessing Moment through the global scope is deprecated, and will be removed in an upcoming release.\",t):t)}for(var t,gi,u,bt=\"undefined\"!=typeof global?global:this,k=Math.round,c=0,l=1,e=2,a=3,nt=4,tt=5,it=6,p={},nr={_isAMomentObject:null,_i:null,_f:null,_l:null,_strict:null,_tzm:null,_isUTC:null,_offset:null,_pf:null,_lang:null},tr=\"undefined\"!=typeof module&&module.exports,vu=/^\\/?Date\\((\\-?\\d+)/i,yu=/(\\-)?(?:(\\d*)\\.)?(\\d+)\\:(\\d+)(?:\\:(\\d+)\\.?(\\d{3})?)?/,pu=/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/,ir=/(\\[[^\\[]*\\])|(\\\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,4}|X|zz?|ZZ?|.)/g,ut=/(\\[[^\\[]*\\])|(\\\\)?(LT|LL?L?L?|l{1,4})/g,rr=/\\d\\d?/,wu=/\\d{1,3}/,bu=/\\d{1,4}/,ku=/[+\\-]?\\d{1,6}/,du=/\\d+/,gu=/[0-9]*['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]+|[\\u0600-\\u06FF\\/]+(\\s*?[\\u0600-\\u06FF]+){1,2}/i,kt=/Z|[\\+\\-]\\d\\d:?\\d\\d/gi,nf=/T/i,tf=/[\\+\\-]?\\d+(\\.\\d{1,3})?/,rf=/\\d{1,2}/,ur=/\\d/,fr=/\\d\\d/,er=/\\d{3}/,uf=/\\d{4}/,ff=/[+-]?\\d{6}/,ef=/[+-]?\\d+/,of=/^\\s*(?:[+-]\\d{6}|\\d{4})-(?:(\\d\\d-\\d\\d)|(W\\d\\d$)|(W\\d\\d-\\d)|(\\d\\d\\d))((T| )(\\d\\d(:\\d\\d(:\\d\\d(\\.\\d+)?)?)?)?([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/,dt=[[\"YYYYYY-MM-DD\",/[+-]\\d{6}-\\d{2}-\\d{2}/],[\"YYYY-MM-DD\",/\\d{4}-\\d{2}-\\d{2}/],[\"GGGG-[W]WW-E\",/\\d{4}-W\\d{2}-\\d/],[\"GGGG-[W]WW\",/\\d{4}-W\\d{2}/],[\"YYYY-DDD\",/\\d{4}-\\d{3}/]],gt=[[\"HH:mm:ss.SSSS\",/(T| )\\d\\d:\\d\\d:\\d\\d\\.\\d+/],[\"HH:mm:ss\",/(T| )\\d\\d:\\d\\d:\\d\\d/],[\"HH:mm\",/(T| )\\d\\d:\\d\\d/],[\"HH\",/(T| )\\d\\d/]],sf=/([\\+\\-]|\\d\\d)/gi,ni=(\"Date|Hours|Minutes|Seconds|Milliseconds\".split(\"|\"),{Milliseconds:1,Seconds:1e3,Minutes:6e4,Hours:36e5,Days:864e5,Months:2592e6,Years:31536e6}),hf={ms:\"millisecond\",s:\"second\",m:\"minute\",h:\"hour\",d:\"day\",D:\"date\",w:\"week\",W:\"isoWeek\",M:\"month\",Q:\"quarter\",y:\"year\",DDD:\"dayOfYear\",e:\"weekday\",E:\"isoWeekday\",gg:\"weekYear\",GG:\"isoWeekYear\"},cf={dayofyear:\"dayOfYear\",isoweekday:\"isoWeekday\",isoweek:\"isoWeek\",weekyear:\"weekYear\",isoweekyear:\"isoWeekYear\"},ti={},w={s:45,m:45,h:22,dd:25,dm:45,dy:345},or=\"DDD w W M D d\".split(\" \"),sr=\"M D H h m s w W\".split(\" \"),v={M:function(){return this.month()+1},MMM:function(n){return this.lang().monthsShort(this,n)},MMMM:function(n){return this.lang().months(this,n)},D:function(){return this.date()},DDD:function(){return this.dayOfYear()},d:function(){return this.day()},dd:function(n){return this.lang().weekdaysMin(this,n)},ddd:function(n){return this.lang().weekdaysShort(this,n)},dddd:function(n){return this.lang().weekdays(this,n)},w:function(){return this.week()},W:function(){return this.isoWeek()},YY:function(){return r(this.year()%100,2)},YYYY:function(){return r(this.year(),4)},YYYYY:function(){return r(this.year(),5)},YYYYYY:function(){var n=this.year(),t=n>=0?\"+\":\"-\";return t+r(Math.abs(n),6)},gg:function(){return r(this.weekYear()%100,2)},gggg:function(){return r(this.weekYear(),4)},ggggg:function(){return r(this.weekYear(),5)},GG:function(){return r(this.isoWeekYear()%100,2)},GGGG:function(){return r(this.isoWeekYear(),4)},GGGGG:function(){return r(this.isoWeekYear(),5)},e:function(){return this.weekday()},E:function(){return this.isoWeekday()},a:function(){return this.lang().meridiem(this.hours(),this.minutes(),!0)},A:function(){return this.lang().meridiem(this.hours(),this.minutes(),!1)},H:function(){return this.hours()},h:function(){return this.hours()%12||12},m:function(){return this.minutes()},s:function(){return this.seconds()},S:function(){return i(this.milliseconds()/100)},SS:function(){return r(i(this.milliseconds()/10),2)},SSS:function(){return r(this.milliseconds(),3)},SSSS:function(){return r(this.milliseconds(),3)},Z:function(){var n=-this.zone(),t=\"+\";return 0>n&&(n=-n,t=\"-\"),t+r(i(n/60),2)+\":\"+r(i(n)%60,2)},ZZ:function(){var n=-this.zone(),t=\"+\";return 0>n&&(n=-n,t=\"-\"),t+r(i(n/60),2)+r(i(n)%60,2)},z:function(){return this.zoneAbbr()},zz:function(){return this.zoneName()},X:function(){return this.unix()},Q:function(){return this.quarter()}},hr=[\"months\",\"monthsShort\",\"weekdays\",\"weekdaysShort\",\"weekdaysMin\"];or.length;)u=or.pop(),v[u+\"o\"]=cr(v[u],u);for(;sr.length;)u=sr.pop(),v[u+u]=ii(v[u],2);for(v.DDDD=ii(v.DDD,3),o(ri.prototype,{set:function(n){var t;for(var i in n)t=n[i],\"function\"==typeof t?this[i]=t:this[\"_\"+i]=t},_months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),months:function(n){return this._months[n.month()]},_monthsShort:\"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec\".split(\"_\"),monthsShort:function(n){return this._monthsShort[n.month()]},monthsParse:function(n){var i,r,u;for(this._monthsParse||(this._monthsParse=[]),i=0;12>i;i++)if(this._monthsParse[i]||(r=t.utc([2e3,i]),u=\"^\"+this.months(r,\"\")+\"|^\"+this.monthsShort(r,\"\"),this._monthsParse[i]=new RegExp(u.replace(\".\",\"\"),\"i\")),this._monthsParse[i].test(n))return i},_weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),weekdays:function(n){return this._weekdays[n.day()]},_weekdaysShort:\"Sun_Mon_Tue_Wed_Thu_Fri_Sat\".split(\"_\"),weekdaysShort:function(n){return this._weekdaysShort[n.day()]},_weekdaysMin:\"Su_Mo_Tu_We_Th_Fr_Sa\".split(\"_\"),weekdaysMin:function(n){return this._weekdaysMin[n.day()]},weekdaysParse:function(n){var i,r,u;for(this._weekdaysParse||(this._weekdaysParse=[]),i=0;7>i;i++)if(this._weekdaysParse[i]||(r=t([2e3,1]).day(i),u=\"^\"+this.weekdays(r,\"\")+\"|^\"+this.weekdaysShort(r,\"\")+\"|^\"+this.weekdaysMin(r,\"\"),this._weekdaysParse[i]=new RegExp(u.replace(\".\",\"\"),\"i\")),this._weekdaysParse[i].test(n))return i},_longDateFormat:{LT:\"h:mm A\",L:\"MM/DD/YYYY\",LL:\"MMMM D YYYY\",LLL:\"MMMM D YYYY LT\",LLLL:\"dddd, MMMM D YYYY LT\"},longDateFormat:function(n){var t=this._longDateFormat[n];return!t&&this._longDateFormat[n.toUpperCase()]&&(t=this._longDateFormat[n.toUpperCase()].replace(/MMMM|MM|DD|dddd/g,function(n){return n.slice(1)}),this._longDateFormat[n]=t),t},isPM:function(n){return\"p\"===(n+\"\").toLowerCase().charAt(0)},_meridiemParse:/[ap]\\.?m?\\.?/i,meridiem:function(n,t,i){return n>11?i?\"pm\":\"PM\":i?\"am\":\"AM\"},_calendar:{sameDay:\"[Today at] LT\",nextDay:\"[Tomorrow at] LT\",nextWeek:\"dddd [at] LT\",lastDay:\"[Yesterday at] LT\",lastWeek:\"[Last] dddd [at] LT\",sameElse:\"L\"},calendar:function(n,t){var i=this._calendar[n];return\"function\"==typeof i?i.apply(t):i},_relativeTime:{future:\"in %s\",past:\"%s ago\",s:\"a few seconds\",m:\"a minute\",mm:\"%d minutes\",h:\"an hour\",hh:\"%d hours\",d:\"a day\",dd:\"%d days\",M:\"a month\",MM:\"%d months\",y:\"a year\",yy:\"%d years\"},relativeTime:function(n,t,i,r){var u=this._relativeTime[i];return\"function\"==typeof u?u(n,t,i,r):u.replace(/%d/i,n)},pastFuture:function(n,t){var i=this._relativeTime[n>0?\"future\":\"past\"];return\"function\"==typeof i?i(t):i.replace(/%s/i,t)},ordinal:function(n){return this._ordinal.replace(\"%d\",n)},_ordinal:\"%d\",preparse:function(n){return n},postformat:function(n){return n},week:function(n){return b(n,this._week.dow,this._week.doy).week},_week:{dow:0,doy:6},_invalidDate:\"Invalid date\",invalidDate:function(){return this._invalidDate}}),t=function(t,i,r,u){var f;return\"boolean\"==typeof r&&(u=r,r=n),f={},f._isAMomentObject=!0,f._i=t,f._f=i,f._l=r,f._strict=u,f._isUTC=!1,f._pf=ft(),yi(f)},t.suppressDeprecationWarnings=!1,t.createFromInputFallback=g(\"moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.\",function(n){n._d=new Date(n._i)}),t.min=function(){var n=[].slice.call(arguments,0);return pi(\"isBefore\",n)},t.max=function(){var n=[].slice.call(arguments,0);return pi(\"isAfter\",n)},t.utc=function(t,i,r,u){var f;return\"boolean\"==typeof r&&(u=r,r=n),f={},f._isAMomentObject=!0,f._useUTC=!0,f._isUTC=!0,f._l=r,f._i=t,f._f=i,f._strict=u,f._pf=ft(),yi(f).utc()},t.unix=function(n){return t(1e3*n)},t.duration=function(n,r){var f,h,o,s=n,u=null;return t.isDuration(n)?s={ms:n._milliseconds,d:n._days,M:n._months}:\"number\"==typeof n?(s={},r?s[r]=n:s.milliseconds=n):(u=yu.exec(n))?(f=\"-\"===u[1]?-1:1,s={y:0,d:i(u[e])*f,h:i(u[a])*f,m:i(u[nt])*f,s:i(u[tt])*f,ms:i(u[it])*f}):(u=pu.exec(n))&&(f=\"-\"===u[1]?-1:1,o=function(n){var t=n&&parseFloat(n.replace(\",\",\".\"));return(isNaN(t)?0:t)*f},s={y:o(u[2]),M:o(u[3]),d:o(u[4]),h:o(u[5]),m:o(u[6]),s:o(u[7]),w:o(u[8])}),h=new ot(s),t.isDuration(n)&&n.hasOwnProperty(\"_lang\")&&(h._lang=n._lang),h},t.version=\"2.7.0\",t.defaultFormat=\"YYYY-MM-DDTHH:mm:ssZ\",t.ISO_8601=function(){},t.momentProperties=nr,t.updateOffset=function(){},t.relativeTimeThreshold=function(t,i){return w[t]===n?!1:(w[t]=i,!0)},t.lang=function(n,i){var r;return n?(i?yr(ct(n),i):null===i?(pr(n),n=\"en\"):p[n]||f(n),r=t.duration.fn._lang=t.fn._lang=f(n),r._abbr):t.fn._lang._abbr},t.langData=function(n){return n&&n._lang&&n._lang._abbr&&(n=n._lang._abbr),f(n)},t.isMoment=function(n){return n instanceof et||null!=n&&n.hasOwnProperty(\"_isAMomentObject\")},t.isDuration=function(n){return n instanceof ot},u=hr.length-1;u>=0;--u)vr(hr[u]);t.normalizeUnits=function(n){return s(n)};t.invalid=function(n){var i=t.utc(NaN);return null!=n?o(i._pf,n):i._pf.userInvalidated=!0,i};t.parseZone=function(){return t.apply(null,arguments).parseZone()};t.parseTwoDigitYear=function(n){return i(n)+(i(n)>68?1900:2e3)};o(t.fn=et.prototype,{clone:function(){return t(this)},valueOf:function(){return+this._d+6e4*(this._offset||0)},unix:function(){return Math.floor(+this/1e3)},toString:function(){return this.clone().lang(\"en\").format(\"ddd MMM DD YYYY HH:mm:ss [GMT]ZZ\")},toDate:function(){return this._offset?new Date(+this):this._d},toISOString:function(){var n=t(this).utc();return 0<n.year()&&n.year()<=9999?at(n,\"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]\"):at(n,\"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]\")},toArray:function(){var n=this;return[n.year(),n.month(),n.date(),n.hours(),n.minutes(),n.seconds(),n.milliseconds()]},isValid:function(){return ci(this)},isDSTShifted:function(){return this._a?this.isValid()&&ui(this._a,(this._isUTC?t.utc(this._a):t(this._a)).toArray())>0:!1},parsingFlags:function(){return o({},this._pf)},invalidAt:function(){return this._pf.overflow},utc:function(){return this.zone(0)},local:function(){return this.zone(0),this._isUTC=!1,this},format:function(n){var i=at(this,n||t.defaultFormat);return this.lang().postformat(i)},add:function(n,i){var r;return r=\"string\"==typeof n&&\"string\"==typeof i?t.duration(isNaN(+i)?+n:+i,isNaN(+i)?i:n):\"string\"==typeof n?t.duration(+i,n):t.duration(n,i),st(this,r,1),this},subtract:function(n,i){var r;return r=\"string\"==typeof n&&\"string\"==typeof i?t.duration(isNaN(+i)?+n:+i,isNaN(+i)?i:n):\"string\"==typeof n?t.duration(+i,n):t.duration(n,i),st(this,r,-1),this},diff:function(n,i,r){var u,e,f=lt(n,this),o=6e4*(this.zone()-f.zone());return i=s(i),\"year\"===i||\"month\"===i?(u=432e5*(this.daysInMonth()+f.daysInMonth()),e=12*(this.year()-f.year())+(this.month()-f.month()),e+=(this-t(this).startOf(\"month\")-(f-t(f).startOf(\"month\")))/u,e-=6e4*(this.zone()-t(this).startOf(\"month\").zone()-(f.zone()-t(f).startOf(\"month\").zone()))/u,\"year\"===i&&(e/=12)):(u=this-f,e=\"second\"===i?u/1e3:\"minute\"===i?u/6e4:\"hour\"===i?u/36e5:\"day\"===i?(u-o)/864e5:\"week\"===i?(u-o)/6048e5:u),r?e:y(e)},from:function(n,i){return t.duration(this.diff(n)).lang(this.lang()._abbr).humanize(!i)},fromNow:function(n){return this.from(t(),n)},calendar:function(n){var r=n||t(),u=lt(r,this).startOf(\"day\"),i=this.diff(u,\"days\",!0),f=-6>i?\"sameElse\":-1>i?\"lastWeek\":0>i?\"lastDay\":1>i?\"sameDay\":2>i?\"nextDay\":7>i?\"nextWeek\":\"sameElse\";return this.format(this.lang().calendar(f,this))},isLeapYear:function(){return si(this.year())},isDST:function(){return this.zone()<this.clone().month(0).zone()||this.zone()<this.clone().month(5).zone()},day:function(n){var t=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=n?(n=su(n,this.lang()),this.add({d:n-t})):t},month:h(\"Month\",!0),startOf:function(n){switch(n=s(n)){case\"year\":this.month(0);case\"quarter\":case\"month\":this.date(1);case\"week\":case\"isoWeek\":case\"day\":this.hours(0);case\"hour\":this.minutes(0);case\"minute\":this.seconds(0);case\"second\":this.milliseconds(0)}return\"week\"===n?this.weekday(0):\"isoWeek\"===n&&this.isoWeekday(1),\"quarter\"===n&&this.month(3*Math.floor(this.month()/3)),this},endOf:function(n){return n=s(n),this.startOf(n).add(\"isoWeek\"===n?\"week\":n,1).subtract(\"ms\",1)},isAfter:function(n,i){return i=\"undefined\"!=typeof i?i:\"millisecond\",+this.clone().startOf(i)>+t(n).startOf(i)},isBefore:function(n,i){return i=\"undefined\"!=typeof i?i:\"millisecond\",+this.clone().startOf(i)<+t(n).startOf(i)},isSame:function(n,t){return t=t||\"ms\",+this.clone().startOf(t)==+lt(n,this).startOf(t)},min:g(\"moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548\",function(n){return n=t.apply(null,arguments),this>n?this:n}),max:g(\"moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548\",function(n){return n=t.apply(null,arguments),n>this?this:n}),zone:function(n,i){var r=this._offset||0;return null==n?this._isUTC?r:this._d.getTimezoneOffset():(\"string\"==typeof n&&(n=ai(n)),Math.abs(n)<16&&(n=60*n),this._offset=n,this._isUTC=!0,r!==n&&(!i||this._changeInProgress?st(this,t.duration(r-n,\"m\"),1,!1):this._changeInProgress||(this._changeInProgress=!0,t.updateOffset(this,!0),this._changeInProgress=null)),this)},zoneAbbr:function(){return this._isUTC?\"UTC\":\"\"},zoneName:function(){return this._isUTC?\"Coordinated Universal Time\":\"\"},parseZone:function(){return this._tzm?this.zone(this._tzm):\"string\"==typeof this._i&&this.zone(this._i),this},hasAlignedHourOffset:function(n){return n=n?t(n).zone():0,(this.zone()-n)%60==0},daysInMonth:function(){return ht(this.year(),this.month())},dayOfYear:function(n){var i=k((t(this).startOf(\"day\")-t(this).startOf(\"year\"))/864e5)+1;return null==n?i:this.add(\"d\",n-i)},quarter:function(n){return null==n?Math.ceil((this.month()+1)/3):this.month(3*(n-1)+this.month()%3)},weekYear:function(n){var t=b(this,this.lang()._week.dow,this.lang()._week.doy).year;return null==n?t:this.add(\"y\",n-t)},isoWeekYear:function(n){var t=b(this,1,4).year;return null==n?t:this.add(\"y\",n-t)},week:function(n){var t=this.lang().week(this);return null==n?t:this.add(\"d\",7*(n-t))},isoWeek:function(n){var t=b(this,1,4).week;return null==n?t:this.add(\"d\",7*(n-t))},weekday:function(n){var t=(this.day()+7-this.lang()._week.dow)%7;return null==n?t:this.add(\"d\",n-t)},isoWeekday:function(n){return null==n?this.day()||7:this.day(this.day()%7?n:n-7)},isoWeeksInYear:function(){return ei(this.year(),1,4)},weeksInYear:function(){var n=this._lang._week;return ei(this.year(),n.dow,n.doy)},get:function(n){return n=s(n),this[n]()},set:function(n,t){return n=s(n),\"function\"==typeof this[n]&&this[n](t),this},lang:function(t){return t===n?this._lang:(this._lang=f(t),this)}});t.fn.millisecond=t.fn.milliseconds=h(\"Milliseconds\",!1);t.fn.second=t.fn.seconds=h(\"Seconds\",!1);t.fn.minute=t.fn.minutes=h(\"Minutes\",!1);t.fn.hour=t.fn.hours=h(\"Hours\",!0);t.fn.date=h(\"Date\",!0);t.fn.dates=g(\"dates accessor is deprecated. Use date instead.\",h(\"Date\",!0));t.fn.year=h(\"FullYear\",!0);t.fn.years=g(\"years accessor is deprecated. Use year instead.\",h(\"FullYear\",!0));t.fn.days=t.fn.day;t.fn.months=t.fn.month;t.fn.weeks=t.fn.week;t.fn.isoWeeks=t.fn.isoWeek;t.fn.quarters=t.fn.quarter;t.fn.toJSON=t.fn.toISOString;o(t.duration.fn=ot.prototype,{_bubble:function(){var t,i,r,e,o=this._milliseconds,u=this._days,f=this._months,n=this._data;n.milliseconds=o%1e3;t=y(o/1e3);n.seconds=t%60;i=y(t/60);n.minutes=i%60;r=y(i/60);n.hours=r%24;u+=y(r/24);n.days=u%30;f+=y(u/30);n.months=f%12;e=y(f/12);n.years=e},weeks:function(){return y(this.days()/7)},valueOf:function(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*i(this._months/12)},humanize:function(n){var i=+this,t=cu(i,!n,this.lang());return n&&(t=this.lang().pastFuture(i,t)),this.lang().postformat(t)},add:function(n,i){var r=t.duration(n,i);return this._milliseconds+=r._milliseconds,this._days+=r._days,this._months+=r._months,this._bubble(),this},subtract:function(n,i){var r=t.duration(n,i);return this._milliseconds-=r._milliseconds,this._days-=r._days,this._months-=r._months,this._bubble(),this},get:function(n){return n=s(n),this[n.toLowerCase()+\"s\"]()},as:function(n){return n=s(n),this[\"as\"+n.charAt(0).toUpperCase()+n.slice(1)+\"s\"]()},lang:t.fn.lang,toIsoString:function(){var r=Math.abs(this.years()),u=Math.abs(this.months()),f=Math.abs(this.days()),n=Math.abs(this.hours()),t=Math.abs(this.minutes()),i=Math.abs(this.seconds()+this.milliseconds()/1e3);return this.asSeconds()?(this.asSeconds()<0?\"-\":\"\")+\"P\"+(r?r+\"Y\":\"\")+(u?u+\"M\":\"\")+(f?f+\"D\":\"\")+(n||t||i?\"T\":\"\")+(n?n+\"H\":\"\")+(t?t+\"M\":\"\")+(i?i+\"S\":\"\"):\"P0D\"}});for(u in ni)ni.hasOwnProperty(u)&&(ki(u,ni[u]),au(u.toLowerCase()));ki(\"Weeks\",6048e5);t.duration.fn.asMonths=function(){return(+this-31536e6*this.years())/2592e6+12*this.years()};t.lang(\"en\",{ordinal:function(n){var t=n%10,r=1===i(n%100/10)?\"th\":1===t?\"st\":2===t?\"nd\":3===t?\"rd\":\"th\";return n+r}});tr?module.exports=t:\"function\"==typeof define&&define.amd?(define(\"moment\",function(n,i,r){return r.config&&r.config()&&r.config().noGlobal===!0&&(bt.moment=gi),t}),di(!0)):di()}.call(this);!function(n){if(\"function\"==typeof define&&define.amd)define([\"jquery\",\"moment\"],n);else{if(!jQuery)throw\"bootstrap-datetimepicker requires jQuery to be loaded first\";if(!moment)throw\"bootstrap-datetimepicker requires moment.js to be loaded first\";n(jQuery,moment)}}(function(n,t){if(void 0===t)throw alert(\"momentjs is requried\"),Error(\"momentjs is required\");var u=0,r=t,f=function(t,f){var st={pickDate:!0,pickTime:!0,useMinutes:!0,useSeconds:!1,useCurrent:!0,minuteStepping:1,minDate:new r({y:1900}),maxDate:(new r).add(100,\"y\"),showToday:!0,collapse:!0,language:\"en\",defaultDate:\"\",disabledDates:!1,enabledDates:!1,icons:{},useStrict:!1,direction:\"auto\",sideBySide:!1,daysOfWeekDisabled:!1},ht={time:\"glyphicon glyphicon-time\",date:\"glyphicon glyphicon-calendar\",up:\"glyphicon glyphicon-chevron-up\",down:\"glyphicon glyphicon-chevron-down\"},e=this,ct=function(){var o,i=!1,s;if(e.options=n.extend({},st,f),e.options.icons=n.extend({},ht,e.options.icons),e.element=n(t),lt(),!e.options.pickTime&&!e.options.pickDate)throw Error(\"Must choose at least one picker\");if(e.id=u++,r.lang(e.options.language),e.date=r(),e.unset=!1,e.isInput=e.element.is(\"input\"),e.component=!1,e.element.hasClass(\"input-group\")&&(e.component=e.element.find(0==e.element.find(\".datepickerbutton\").size()?\"[class^='input-group-']\":\".datepickerbutton\")),e.format=e.options.format,o=r()._lang._longDateFormat,e.format||(e.format=e.options.pickDate?o.L:\"\",e.options.pickDate&&e.options.pickTime&&(e.format+=\" \"),e.format+=e.options.pickTime?o.LT:\"\",e.options.useSeconds&&(~o.LT.indexOf(\" A\")?e.format=e.format.split(\" A\")[0]+\":ss A\":e.format+=\":ss\")),e.use24hours=e.format.toLowerCase().indexOf(\"a\")<1,e.component&&(i=e.component.find(\"span\")),e.options.pickTime&&i&&i.addClass(e.options.icons.time),e.options.pickDate&&i&&(i.removeClass(e.options.icons.time),i.addClass(e.options.icons.date)),e.widget=n(ni()).appendTo(\"body\"),e.options.useSeconds&&!e.use24hours&&e.widget.width(300),e.minViewMode=e.options.minViewMode||0,\"string\"==typeof e.minViewMode)switch(e.minViewMode){case\"months\":e.minViewMode=1;break;case\"years\":e.minViewMode=2;break;default:e.minViewMode=0}if(e.viewMode=e.options.viewMode||0,\"string\"==typeof e.viewMode)switch(e.viewMode){case\"months\":e.viewMode=1;break;case\"years\":e.viewMode=2;break;default:e.viewMode=0}(e.options.disabledDates=d(e.options.disabledDates),e.options.enabledDates=d(e.options.enabledDates),e.startViewMode=e.viewMode,e.setMinDate(e.options.minDate),e.setMaxDate(e.options.maxDate),at(),vt(),yt(),pt(),wt(),l(),b(),ut(),\"\"!==e.options.defaultDate&&\"\"==p().val()&&e.setValue(e.options.defaultDate),1!==e.options.minuteStepping)&&(s=e.options.minuteStepping,e.date.minutes(Math.round(e.date.minutes()/s)*s%60).seconds(0))},p=function(){return e.isInput?e.element:dateStr=e.element.find(\"input\")},lt=function(){var n;e.element.is(\"input\");n=e.element.data();void 0!==n.dateFormat&&(e.options.format=n.dateFormat);void 0!==n.datePickdate&&(e.options.pickDate=n.datePickdate);void 0!==n.datePicktime&&(e.options.pickTime=n.datePicktime);void 0!==n.dateUseminutes&&(e.options.useMinutes=n.dateUseminutes);void 0!==n.dateUseseconds&&(e.options.useSeconds=n.dateUseseconds);void 0!==n.dateUsecurrent&&(e.options.useCurrent=n.dateUsecurrent);void 0!==n.dateMinutestepping&&(e.options.minuteStepping=n.dateMinutestepping);void 0!==n.dateMindate&&(e.options.minDate=n.dateMindate);void 0!==n.dateMaxdate&&(e.options.maxDate=n.dateMaxdate);void 0!==n.dateShowtoday&&(e.options.showToday=n.dateShowtoday);void 0!==n.dateCollapse&&(e.options.collapse=n.dateCollapse);void 0!==n.dateLanguage&&(e.options.language=n.dateLanguage);void 0!==n.dateDefaultdate&&(e.options.defaultDate=n.dateDefaultdate);void 0!==n.dateDisableddates&&(e.options.disabledDates=n.dateDisableddates);void 0!==n.dateEnableddates&&(e.options.enabledDates=n.dateEnableddates);void 0!==n.dateIcons&&(e.options.icons=n.dateIcons);void 0!==n.dateUsestrict&&(e.options.useStrict=n.dateUsestrict);void 0!==n.dateDirection&&(e.options.direction=n.dateDirection);void 0!==n.dateSidebyside&&(e.options.sideBySide=n.dateSidebyside)},it=function(){var u=\"absolute\",t=e.component?e.component.offset():e.element.offset(),i=n(window),r;e.width=e.component?e.component.outerWidth():e.element.outerWidth();t.top=t.top+e.element.outerHeight();\"up\"===e.options.direction?r=\"top\":\"bottom\"===e.options.direction?r=\"bottom\":\"auto\"===e.options.direction&&(r=t.top+e.widget.height()>i.height()+i.scrollTop()&&e.widget.height()+e.element.outerHeight()<t.top?\"top\":\"bottom\");\"top\"===r?(t.top-=e.widget.height()+e.element.outerHeight()+15,e.widget.addClass(\"top\").removeClass(\"bottom\")):(t.top+=1,e.widget.addClass(\"bottom\").removeClass(\"top\"));void 0!==e.options.width&&e.widget.width(e.options.width);\"left\"===e.options.orientation&&(e.widget.addClass(\"left-oriented\"),t.left=t.left-e.widget.width()+20);gt()&&(u=\"fixed\",t.top-=i.scrollTop(),t.left-=i.scrollLeft());i.width()<t.left+e.widget.outerWidth()?(t.right=i.width()-t.left-e.width,t.left=\"auto\",e.widget.addClass(\"pull-right\")):(t.right=\"auto\",e.widget.removeClass(\"pull-right\"));e.widget.css({position:u,top:t.top,left:t.left,right:t.right})},c=function(n,t){r(e.date).isSame(r(n))||(e.element.trigger({type:\"dp.change\",date:r(e.date),oldDate:r(n)}),\"change\"!==t&&e.element.change())},g=function(n){e.element.trigger({type:\"dp.error\",date:r(n)})},l=function(n){r.lang(e.options.language);var t=n;t||(t=p().val(),t&&(e.date=r(t,e.format,e.options.useStrict)),e.date||(e.date=r()));e.viewDate=r(e.date).startOf(\"month\");y();nt()},at=function(){r.lang(e.options.language);var t,i=n(\"<tr>\"),u=r.weekdaysMin();if(0==r()._lang._week.dow)for(t=0;7>t;t++)i.append('<th class=\"dow\">'+u[t]+\"<\\/th>\");else for(t=1;8>t;t++)i.append(7==t?'<th class=\"dow\">'+u[0]+\"<\\/th>\":'<th class=\"dow\">'+u[t]+\"<\\/th>\");e.widget.find(\".datepicker-days thead\").append(i)},vt=function(){r.lang(e.options.language);for(var n=\"\",t=0,i=r.monthsShort();12>t;)n+='<span class=\"month\">'+i[t++]+\"<\\/span>\";e.widget.find(\".datepicker-months td\").append(n)},y=function(){r.lang(e.options.language);var i,y,v,f,u,p,w,h,t=e.viewDate.year(),c=e.viewDate.month(),o=e.options.minDate.year(),b=e.options.minDate.month(),s=e.options.maxDate.year(),d=e.options.maxDate.month(),l=[],a=r.months();for(e.widget.find(\".datepicker-days\").find(\".disabled\").removeClass(\"disabled\"),e.widget.find(\".datepicker-months\").find(\".disabled\").removeClass(\"disabled\"),e.widget.find(\".datepicker-years\").find(\".disabled\").removeClass(\"disabled\"),e.widget.find(\".datepicker-days th:eq(1)\").text(a[c]+\" \"+t),i=r(e.viewDate).subtract(\"months\",1),p=i.daysInMonth(),i.date(p).startOf(\"week\"),(t==o&&b>=c||o>t)&&e.widget.find(\".datepicker-days th:eq(0)\").addClass(\"disabled\"),(t==s&&c>=d||t>s)&&e.widget.find(\".datepicker-days th:eq(2)\").addClass(\"disabled\"),y=r(i).add(42,\"d\");i.isBefore(y);){if(i.weekday()===r().startOf(\"week\").weekday()&&(v=n(\"<tr>\"),l.push(v)),f=\"\",i.year()<t||i.year()==t&&i.month()<c?f+=\" old\":(i.year()>t||i.year()==t&&i.month()>c)&&(f+=\" new\"),i.isSame(r({y:e.date.year(),M:e.date.month(),d:e.date.date()}))&&(f+=\" active\"),(k(i)||!ot(i))&&(f+=\" disabled\"),e.options.showToday===!0&&i.isSame(r(),\"day\")&&(f+=\" today\"),e.options.daysOfWeekDisabled)for(u in e.options.daysOfWeekDisabled)if(i.day()==e.options.daysOfWeekDisabled[u]){f+=\" disabled\";break}v.append('<td class=\"day'+f+'\">'+i.date()+\"<\\/td>\");i.add(1,\"d\")}for(e.widget.find(\".datepicker-days tbody\").empty().append(l),h=e.date.year(),a=e.widget.find(\".datepicker-months\").find(\"th:eq(1)\").text(t).end().find(\"span\").removeClass(\"active\"),h===t&&a.eq(e.date.month()).addClass(\"active\"),o>h-1&&e.widget.find(\".datepicker-months th:eq(0)\").addClass(\"disabled\"),h+1>s&&e.widget.find(\".datepicker-months th:eq(2)\").addClass(\"disabled\"),u=0;12>u;u++)t==o&&b>u||o>t?n(a[u]).addClass(\"disabled\"):(t==s&&u>d||t>s)&&n(a[u]).addClass(\"disabled\");for(l=\"\",t=10*parseInt(t/10,10),w=e.widget.find(\".datepicker-years\").find(\"th:eq(1)\").text(t+\"-\"+(t+9)).end().find(\"td\"),e.widget.find(\".datepicker-years\").find(\"th\").removeClass(\"disabled\"),o>t&&e.widget.find(\".datepicker-years\").find(\"th:eq(0)\").addClass(\"disabled\"),t+9>s&&e.widget.find(\".datepicker-years\").find(\"th:eq(2)\").addClass(\"disabled\"),t-=1,u=-1;11>u;u++)l+='<span class=\"year'+(-1===u||10===u?\" old\":\"\")+(h===t?\" active\":\"\")+(o>t||t>s?\" disabled\":\"\")+'\">'+t+\"<\\/span>\",t+=1;w.html(l)},yt=function(){r.lang(e.options.language);var t,i,u,f=e.widget.find(\".timepicker .timepicker-hours table\"),n=\"\";if(f.parent().hide(),e.use24hours)for(t=0,i=0;6>i;i+=1){for(n+=\"<tr>\",u=0;4>u;u+=1)n+='<td class=\"hour\">'+s(\"\"+t)+\"<\\/td>\",t++;n+=\"<\\/tr>\"}else for(t=1,i=0;3>i;i+=1){for(n+=\"<tr>\",u=0;4>u;u+=1)n+='<td class=\"hour\">'+s(\"\"+t)+\"<\\/td>\",t++;n+=\"<\\/tr>\"}f.html(n)},pt=function(){var i,r,f=e.widget.find(\".timepicker .timepicker-minutes table\"),n=\"\",u=0,t=e.options.minuteStepping;for(f.parent().hide(),1==t&&(t=5),i=0;i<Math.ceil(15/t);i++){for(n+=\"<tr>\",r=0;4>r;r+=1)60>u?(n+='<td class=\"minute\">'+s(\"\"+u)+\"<\\/td>\",u+=t):n+=\"<td><\\/td>\";n+=\"<\\/tr>\"}f.html(n)},wt=function(){var t,i,r=e.widget.find(\".timepicker .timepicker-seconds table\"),n=\"\",u=0;for(r.parent().hide(),t=0;3>t;t++){for(n+=\"<tr>\",i=0;4>i;i+=1)n+='<td class=\"second\">'+s(\"\"+u)+\"<\\/td>\",u+=5;n+=\"<\\/tr>\"}r.html(n)},nt=function(){if(e.date){var t=e.widget.find(\".timepicker span[data-time-component]\"),n=e.date.hours(),i=\"AM\";e.use24hours||(n>=12&&(i=\"PM\"),0===n?n=12:12!=n&&(n%=12),e.widget.find(\".timepicker [data-action=togglePeriod]\").text(i));t.filter(\"[data-time-component=hours]\").text(s(n));t.filter(\"[data-time-component=minutes]\").text(s(e.date.minutes()));t.filter(\"[data-time-component=seconds]\").text(s(e.date.second()))}},bt=function(t){t.stopPropagation();t.preventDefault();e.unset=!1;var u,f,s,h,i=n(t.target).closest(\"span, td, th\"),l=r(e.date);if(1===i.length&&!i.is(\".disabled\"))switch(i[0].nodeName.toLowerCase()){case\"th\":switch(i[0].className){case\"switch\":b(1);break;case\"prev\":case\"next\":s=o.modes[e.viewMode].navStep;\"prev\"===i[0].className&&(s=-1*s);e.viewDate.add(s,o.modes[e.viewMode].navFnc);y()}break;case\"span\":i.is(\".month\")?(u=i.parent().find(\"span\").index(i),e.viewDate.month(u)):(f=parseInt(i.text(),10)||0,e.viewDate.year(f));e.viewMode===e.minViewMode&&(e.date=r({y:e.viewDate.year(),M:e.viewDate.month(),d:e.viewDate.date(),h:e.date.hours(),m:e.date.minutes(),s:e.date.seconds()}),c(l,t.type),a());b(-1);y();break;case\"td\":i.is(\".day\")&&(h=parseInt(i.text(),10)||1,u=e.viewDate.month(),f=e.viewDate.year(),i.is(\".old\")?0===u?(u=11,f-=1):u-=1:i.is(\".new\")&&(11==u?(u=0,f+=1):u+=1),e.date=r({y:f,M:u,d:h,h:e.date.hours(),m:e.date.minutes(),s:e.date.seconds()}),e.viewDate=r({y:f,M:u,d:Math.min(28,h)}),y(),a(),c(l,t.type))}},w={incrementHours:function(){v(\"add\",\"hours\",1)},incrementMinutes:function(){v(\"add\",\"minutes\",e.options.minuteStepping)},incrementSeconds:function(){v(\"add\",\"seconds\",1)},decrementHours:function(){v(\"subtract\",\"hours\",1)},decrementMinutes:function(){v(\"subtract\",\"minutes\",e.options.minuteStepping)},decrementSeconds:function(){v(\"subtract\",\"seconds\",1)},togglePeriod:function(){var n=e.date.hours();n>=12?n-=12:n+=12;e.date.hours(n)},showPicker:function(){e.widget.find(\".timepicker > div:not(.timepicker-picker)\").hide();e.widget.find(\".timepicker .timepicker-picker\").show()},showHours:function(){e.widget.find(\".timepicker .timepicker-picker\").hide();e.widget.find(\".timepicker .timepicker-hours\").show()},showMinutes:function(){e.widget.find(\".timepicker .timepicker-picker\").hide();e.widget.find(\".timepicker .timepicker-minutes\").show()},showSeconds:function(){e.widget.find(\".timepicker .timepicker-picker\").hide();e.widget.find(\".timepicker .timepicker-seconds\").show()},selectHour:function(t){var r=e.widget.find(\".timepicker [data-action=togglePeriod]\").text(),i=parseInt(n(t.target).text(),10);\"PM\"==r&&(i+=12);e.date.hours(i);w.showPicker.call(e)},selectMinute:function(t){e.date.minutes(parseInt(n(t.target).text(),10));w.showPicker.call(e)},selectSecond:function(t){e.date.seconds(parseInt(n(t.target).text(),10));w.showPicker.call(e)}},kt=function(t){var i=r(e.date),u=n(t.currentTarget).data(\"action\"),f=w[u].apply(e,arguments);return tt(t),e.date||(e.date=r({y:1970})),a(),nt(),c(i,t.type),f},tt=function(n){n.stopPropagation();n.preventDefault()},rt=function(t){r.lang(e.options.language);var f=n(t.target),u=r(e.date),i=r(f.val(),e.format,e.options.useStrict);i.isValid()&&!k(i)&&ot(i)?(l(),e.setValue(i),c(u,t.type),a()):(e.viewDate=u,c(u,t.type),g(i),e.unset=!0)},b=function(n){n&&(e.viewMode=Math.max(e.minViewMode,Math.min(2,e.viewMode+n)));o.modes[e.viewMode].clsName;e.widget.find(\".datepicker > div\").hide().filter(\".datepicker-\"+o.modes[e.viewMode].clsName).show()},ut=function(){var i,r,t,f,u;e.widget.on(\"click\",\".datepicker *\",n.proxy(bt,this));e.widget.on(\"click\",\"[data-action]\",n.proxy(kt,this));e.widget.on(\"mousedown\",n.proxy(tt,this));e.options.pickDate&&e.options.pickTime&&e.widget.on(\"click.togglePicker\",\".accordion-toggle\",function(o){if(o.stopPropagation(),i=n(this),r=i.closest(\"ul\"),t=r.find(\".in\"),f=r.find(\".collapse:not(.in)\"),t&&t.length){if(u=t.data(\"collapse\"),u&&u.date-transitioning)return;t.collapse(\"hide\");f.collapse(\"show\");i.find(\"span\").toggleClass(e.options.icons.time+\" \"+e.options.icons.date);e.element.find(\".input-group-addon span\").toggleClass(e.options.icons.time+\" \"+e.options.icons.date)}});e.isInput?e.element.on({focus:n.proxy(e.show,this),change:n.proxy(rt,this),blur:n.proxy(e.hide,this)}):(e.element.on({change:n.proxy(rt,this)},\"input\"),e.component?e.component.on(\"click\",n.proxy(e.show,this)):e.element.on(\"click\",n.proxy(e.show,this)))},dt=function(){n(window).on(\"resize.datetimepicker\"+e.id,n.proxy(it,this));e.isInput||n(document).on(\"mousedown.datetimepicker\"+e.id,n.proxy(e.hide,this))},ft=function(){e.widget.off(\"click\",\".datepicker *\",e.click);e.widget.off(\"click\",\"[data-action]\");e.widget.off(\"mousedown\",e.stopEvent);e.options.pickDate&&e.options.pickTime&&e.widget.off(\"click.togglePicker\");e.isInput?e.element.off({focus:e.show,change:e.change}):(e.element.off({change:e.change},\"input\"),e.component?e.component.off(\"click\",e.show):e.element.off(\"click\",e.show))},et=function(){n(window).off(\"resize.datetimepicker\"+e.id);e.isInput||n(document).off(\"mousedown.datetimepicker\"+e.id)},gt=function(){if(e.element){for(var i=e.element.parents(),r=!1,t=0;t<i.length;t++)if(\"fixed\"==n(i[t]).css(\"position\")){r=!0;break}return r}return!1},a=function(){r.lang(e.options.language);var n=\"\";e.unset||(n=r(e.date).format(e.format));p().val(n);e.element.data(\"date\",n);e.options.pickTime||e.hide()},v=function(n,t,i){r.lang(e.options.language);var u;return\"add\"==n?(u=r(e.date),23==u.hours()&&u.add(i,t),u.add(i,t)):u=r(e.date).subtract(i,t),k(r(u.subtract(i,t)))||k(u)?void g(u.format(e.format)):(\"add\"==n?e.date.add(i,t):e.date.subtract(i,t),void(e.unset=!1))},k=function(n){return r.lang(e.options.language),n.isAfter(e.options.maxDate)||n.isBefore(e.options.minDate)?!0:e.options.disabledDates===!1?!1:e.options.disabledDates[r(n).format(\"YYYY-MM-DD\")]===!0},ot=function(n){return r.lang(e.options.language),e.options.enabledDates===!1?!0:e.options.enabledDates[r(n).format(\"YYYY-MM-DD\")]===!0},d=function(n){var t={},u=0;for(i=0;i<n.length;i++)dDate=r(n[i]),dDate.isValid()&&(t[dDate.format(\"YYYY-MM-DD\")]=!0,u++);return u>0?t:!1},s=function(n){return n=\"\"+n,n.length>=2?n:\"0\"+n},ni=function(){if(e.options.pickDate&&e.options.pickTime){var n=\"\";return n='<div class=\"bootstrap-datetimepicker-widget'+(e.options.sideBySide?\" timepicker-sbs\":\"\")+' dropdown-menu\" style=\"z-index:9999 !important;\">',n+=e.options.sideBySide?'<div class=\"row\"><div class=\"col-sm-6 datepicker\">'+o.template+'<\\/div><div class=\"col-sm-6 timepicker\">'+h.getTemplate()+\"<\\/div><\\/div>\":'<ul class=\"list-unstyled\"><li'+(e.options.collapse?' class=\"collapse in\"':\"\")+'><div class=\"datepicker\">'+o.template+'<\\/div><\\/li><li class=\"picker-switch accordion-toggle\"><a class=\"btn\" style=\"width:100%\"><span class=\"'+e.options.icons.time+'\"><\\/span><\\/a><\\/li><li'+(e.options.collapse?' class=\"collapse\"':\"\")+'><div class=\"timepicker\">'+h.getTemplate()+\"<\\/div><\\/li><\\/ul>\",n+\"<\\/div>\"}return e.options.pickTime?'<div class=\"bootstrap-datetimepicker-widget dropdown-menu\"><div class=\"timepicker\">'+h.getTemplate()+\"<\\/div><\\/div>\":'<div class=\"bootstrap-datetimepicker-widget dropdown-menu\"><div class=\"datepicker\">'+o.template+\"<\\/div><\\/div>\"},o={modes:[{clsName:\"days\",navFnc:\"month\",navStep:1},{clsName:\"months\",navFnc:\"year\",navStep:1},{clsName:\"years\",navFnc:\"year\",navStep:10}],headTemplate:'<thead><tr><th class=\"prev\"><i class=\"glyphicon glyphicon-chevron-left\"><\\/i><!--&lsaquo;--><\\/th><th colspan=\"5\" class=\"switch\"><\\/th><th class=\"next\"><i class=\"glyphicon glyphicon-chevron-right\"><\\/i><!--&rsaquo;--><\\/th><\\/tr><\\/thead>',contTemplate:'<tbody><tr><td colspan=\"7\"><\\/td><\\/tr><\\/tbody>'},h={hourTemplate:'<span data-action=\"showHours\"   data-time-component=\"hours\"   class=\"timepicker-hour\"><\\/span>',minuteTemplate:'<span data-action=\"showMinutes\" data-time-component=\"minutes\" class=\"timepicker-minute\"><\\/span>',secondTemplate:'<span data-action=\"showSeconds\"  data-time-component=\"seconds\" class=\"timepicker-second\"><\\/span>'};o.template='<div class=\"datepicker-days\"><table class=\"table-condensed\">'+o.headTemplate+'<tbody><\\/tbody><\\/table><\\/div><div class=\"datepicker-months\"><table class=\"table-condensed\">'+o.headTemplate+o.contTemplate+'<\\/table><\\/div><div class=\"datepicker-years\"><table class=\"table-condensed\">'+o.headTemplate+o.contTemplate+\"<\\/table><\\/div>\";h.getTemplate=function(){return'<div class=\"timepicker-picker\"><table class=\"table-condensed\"><tr><td><a href=\"#\" class=\"btn\" data-action=\"incrementHours\"><span class=\"'+e.options.icons.up+'\"><\\/span><\\/a><\\/td><td class=\"separator\"><\\/td><td>'+(e.options.useMinutes?'<a href=\"#\" class=\"btn\" data-action=\"incrementMinutes\"><span class=\"'+e.options.icons.up+'\"><\\/span><\\/a>':\"\")+\"<\\/td>\"+(e.options.useSeconds?'<td class=\"separator\"><\\/td><td><a href=\"#\" class=\"btn\" data-action=\"incrementSeconds\"><span class=\"'+e.options.icons.up+'\"><\\/span><\\/a><\\/td>':\"\")+(e.use24hours?\"\":'<td class=\"separator\"><\\/td>')+\"<\\/tr><tr><td>\"+h.hourTemplate+'<\\/td> <td class=\"separator\">:<\\/td><td>'+(e.options.useMinutes?h.minuteTemplate:'<span class=\"timepicker-minute\">00<\\/span>')+\"<\\/td> \"+(e.options.useSeconds?'<td class=\"separator\">:<\\/td><td>'+h.secondTemplate+\"<\\/td>\":\"\")+(e.use24hours?\"\":'<td class=\"separator\"><\\/td><td><button type=\"button\" class=\"btn btn-primary\" data-action=\"togglePeriod\"><\\/button><\\/td>')+'<\\/tr><tr><td><a href=\"#\" class=\"btn\" data-action=\"decrementHours\"><span class=\"'+e.options.icons.down+'\"><\\/span><\\/a><\\/td><td class=\"separator\"><\\/td><td>'+(e.options.useMinutes?'<a href=\"#\" class=\"btn\" data-action=\"decrementMinutes\"><span class=\"'+e.options.icons.down+'\"><\\/span><\\/a>':\"\")+\"<\\/td>\"+(e.options.useSeconds?'<td class=\"separator\"><\\/td><td><a href=\"#\" class=\"btn\" data-action=\"decrementSeconds\"><span class=\"'+e.options.icons.down+'\"><\\/span><\\/a><\\/td>':\"\")+(e.use24hours?\"\":'<td class=\"separator\"><\\/td>')+'<\\/tr><\\/table><\\/div><div class=\"timepicker-hours\" data-action=\"selectHour\"><table class=\"table-condensed\"><\\/table><\\/div><div class=\"timepicker-minutes\" data-action=\"selectMinute\"><table class=\"table-condensed\"><\\/table><\\/div>'+(e.options.useSeconds?'<div class=\"timepicker-seconds\" data-action=\"selectSecond\"><table class=\"table-condensed\"><\\/table><\\/div>':\"\")};e.destroy=function(){ft();et();e.widget.remove();e.element.removeData(\"DateTimePicker\");e.component&&e.component.removeData(\"DateTimePicker\")};e.show=function(n){if(e.options.useCurrent&&\"\"==p().val())if(1!==e.options.minuteStepping){var t=r(),i=e.options.minuteStepping;t.minutes(Math.round(t.minutes()/i)*i%60).seconds(0);e.setValue(t.format(e.format))}else e.setValue(r().format(e.format));e.widget.show();e.height=e.component?e.component.outerHeight():e.element.outerHeight();it();e.element.trigger({type:\"dp.show\",date:r(e.date)});dt();n&&tt(n)};e.disable=function(){var n=e.element.find(\"input\");n.prop(\"disabled\")||(n.prop(\"disabled\",!0),ft())};e.enable=function(){var n=e.element.find(\"input\");n.prop(\"disabled\")&&(n.prop(\"disabled\",!1),ut())};e.hide=function(t){if(!t||!n(t.target).is(e.element.attr(\"id\"))){for(var u,f=e.widget.find(\".collapse\"),i=0;i<f.length;i++)if(u=f.eq(i).data(\"collapse\"),u&&u.date-transitioning)return;e.widget.hide();e.viewMode=e.startViewMode;b();e.element.trigger({type:\"dp.hide\",date:r(e.date)});et()}};e.setValue=function(n){r.lang(e.options.language);n?e.unset=!1:(e.unset=!0,a());r.isMoment(n)||(n=r(n,e.format));n.isValid()?(e.date=n,a(),e.viewDate=r({y:e.date.year(),M:e.date.month()}),y(),nt()):g(n)};e.getDate=function(){return e.unset?null:e.date};e.setDate=function(n){var t=r(e.date);e.setValue(n?n:null);c(t,\"function\")};e.setDisabledDates=function(n){e.options.disabledDates=d(n);e.viewDate&&l()};e.setEnabledDates=function(n){e.options.enabledDates=d(n);e.viewDate&&l()};e.setMaxDate=function(n){void 0!=n&&(e.options.maxDate=r(n),e.viewDate&&l())};e.setMinDate=function(n){void 0!=n&&(e.options.minDate=r(n),e.viewDate&&l())};ct()};n.fn.datetimepicker=function(t){return this.each(function(){var i=n(this),r=i.data(\"DateTimePicker\");r||i.data(\"DateTimePicker\",new f(this,t))})}});!function(n){\"use strict\";n.fn.fitVids=function(t){var i={customSelector:null},r=document.createElement(\"div\"),u=document.getElementsByTagName(\"base\")[0]||document.getElementsByTagName(\"script\")[0];return r.className=\"fit-vids-style\",r.innerHTML=\"&shy;<style>.fluid-width-video-wrapper { width:100%; position:relative; padding:0; } .fluid-width-video-wrapper iframe, .fluid-width-video-wrapper object, .fluid-width-video-wrapper embed { position:absolute; top:0; left:0; width:100%; height:100%; }<\\/style>\",u.parentNode.insertBefore(r,u),t&&n.extend(i,t),this.each(function(){var t=[\"iframe[src*='player.vimeo.com']\",\"iframe[src*='www.youtube.com']\",\"iframe[src*='www.kickstarter.com']\",\"object\",\"embed\"],r;i.customSelector&&t.push(i.customSelector);r=n(this).find(t.join(\",\"));r.each(function(){var t=n(this),i;if(!(\"embed\"===this.tagName.toLowerCase()&&t.parent(\"object\").length||t.parent(\".fluid-width-video-wrapper\").length)){var r=\"object\"===this.tagName.toLowerCase()||t.attr(\"height\")&&!isNaN(parseInt(t.attr(\"height\"),10))?parseInt(t.attr(\"height\"),10):t.height(),u=isNaN(parseInt(t.attr(\"width\"),10))?t.width():parseInt(t.attr(\"width\"),10),f=r/u;t.attr(\"id\")||(i=\"fitvid\"+Math.floor(999999*Math.random()),t.attr(\"id\",i));t.wrap('<div class=\"fluid-width-video-wrapper\"><\\/div>').parent(\".fluid-width-video-wrapper\").css(\"padding-top\",100*f+\"%\");t.removeAttr(\"height\").removeAttr(\"width\")}})})}}(jQuery);!function(n){var t={},r={mode:\"horizontal\",slideSelector:\"\",infiniteLoop:!0,hideControlOnEnd:!1,speed:500,easing:null,slideMargin:0,startSlide:0,randomStart:!1,captions:!1,ticker:!1,tickerHover:!1,adaptiveHeight:!1,adaptiveHeightSpeed:500,video:!1,useCSS:!0,preloadImages:\"visible\",responsive:!0,slideZIndex:50,touchEnabled:!0,swipeThreshold:50,oneToOneTouch:!0,preventDefaultSwipeX:!0,preventDefaultSwipeY:!1,pager:!0,pagerType:\"full\",pagerShortSeparator:\" / \",pagerSelector:null,buildPager:null,pagerCustom:null,controls:!0,nextText:\"Next\",prevText:\"Prev\",nextSelector:null,prevSelector:null,autoControls:!1,startText:\"Start\",stopText:\"Stop\",autoControlsCombine:!1,autoControlsSelector:null,auto:!1,pause:4e3,autoStart:!0,autoDirection:\"next\",autoHover:!1,autoDelay:0,minSlides:1,maxSlides:1,moveSlides:0,slideWidth:0,onSliderLoad:function(){},onSlideBefore:function(){},onSlideAfter:function(){},onSlideNext:function(){},onSlidePrev:function(){},onSliderResize:function(){}};n.fn.bxSlider=function(u){var f,e;if(0==this.length)return this;if(this.length>1)return this.each(function(){n(this).bxSlider(u)}),this;f={};e=this;t.el=this;var w=n(window).width(),b=n(window).height(),k=function(){f.settings=n.extend({},r,u);f.settings.slideWidth=parseInt(f.settings.slideWidth);f.children=e.children(f.settings.slideSelector);f.children.length<f.settings.minSlides&&(f.settings.minSlides=f.children.length);f.children.length<f.settings.maxSlides&&(f.settings.maxSlides=f.children.length);f.settings.randomStart&&(f.settings.startSlide=Math.floor(Math.random()*f.children.length));f.active={index:f.settings.startSlide};f.carousel=f.settings.minSlides>1||f.settings.maxSlides>1;f.carousel&&(f.settings.preloadImages=\"all\");f.minThreshold=f.settings.minSlides*f.settings.slideWidth+(f.settings.minSlides-1)*f.settings.slideMargin;f.maxThreshold=f.settings.maxSlides*f.settings.slideWidth+(f.settings.maxSlides-1)*f.settings.slideMargin;f.working=!1;f.controls={};f.interval=null;f.animProp=\"vertical\"==f.settings.mode?\"top\":\"left\";f.usingCSS=f.settings.useCSS&&\"fade\"!=f.settings.mode&&function(){var i=document.createElement(\"div\"),n=[\"WebkitPerspective\",\"MozPerspective\",\"OPerspective\",\"msPerspective\"];for(var t in n)if(void 0!==i.style[n[t]])return f.cssPrefix=n[t].replace(\"Perspective\",\"\").toLowerCase(),f.animProp=\"-\"+f.cssPrefix+\"-transform\",!0;return!1}();\"vertical\"==f.settings.mode&&(f.settings.maxSlides=f.settings.minSlides);e.data(\"origStyle\",e.attr(\"style\"));e.children(f.settings.slideSelector).each(function(){n(this).data(\"origStyle\",n(this).attr(\"style\"))});ft()},ft=function(){e.wrap('<div class=\"bx-wrapper\"><div class=\"bx-viewport\"><\\/div><\\/div>');f.viewport=e.parent();f.loader=n('<div class=\"bx-loading\" />');f.viewport.prepend(f.loader);e.css({width:\"horizontal\"==f.settings.mode?100*f.children.length+215+\"%\":\"auto\",position:\"relative\"});f.usingCSS&&f.settings.easing?e.css(\"-\"+f.cssPrefix+\"-transition-timing-function\",f.settings.easing):f.settings.easing||(f.settings.easing=\"swing\");h();f.viewport.css({width:\"100%\",overflow:\"hidden\",position:\"relative\"});f.viewport.parent().css({maxWidth:st()});f.settings.pager||f.viewport.parent().css({margin:\"0 auto 0px\"});f.children.css({float:\"horizontal\"==f.settings.mode?\"left\":\"none\",listStyle:\"none\",position:\"relative\"});f.children.css(\"width\",d());\"horizontal\"==f.settings.mode&&f.settings.slideMargin>0&&f.children.css(\"marginRight\",f.settings.slideMargin);\"vertical\"==f.settings.mode&&f.settings.slideMargin>0&&f.children.css(\"marginBottom\",f.settings.slideMargin);\"fade\"==f.settings.mode&&(f.children.css({position:\"absolute\",zIndex:0,display:\"none\"}),f.children.eq(f.settings.startSlide).css({zIndex:f.settings.slideZIndex,display:\"block\"}));f.controls.el=n('<div class=\"bx-controls\" />');f.settings.captions&&at();f.active.last=f.settings.startSlide==s()-1;f.settings.video&&e.fitVids();var t=f.children.eq(f.settings.startSlide);\"all\"==f.settings.preloadImages&&(t=f.children);f.settings.ticker?f.settings.pager=!1:(f.settings.pager&&ht(),f.settings.controls&&ct(),f.settings.auto&&f.settings.autoControls&&lt(),(f.settings.controls||f.settings.autoControls||f.settings.pager)&&f.viewport.after(f.controls.el));et(t,ot)},et=function(t,i){var r=t.find(\"img, iframe\").length,u;if(0==r)return i(),void 0;u=0;t.find(\"img, iframe\").each(function(){n(this).one(\"load\",function(){++u==r&&i()}).each(function(){this.complete&&n(this).load()})})},ot=function(){if(f.settings.infiniteLoop&&\"fade\"!=f.settings.mode&&!f.settings.ticker){var t=\"vertical\"==f.settings.mode?f.settings.minSlides:f.settings.maxSlides,i=f.children.slice(0,t).clone().addClass(\"bx-clone\"),r=f.children.slice(-t).clone().addClass(\"bx-clone\");e.append(i).prepend(r)}f.loader.remove();g();\"vertical\"==f.settings.mode&&(f.settings.adaptiveHeight=!0);f.viewport.height(l());e.redrawSlider();f.settings.onSliderLoad(f.active.index);f.initialized=!0;f.settings.responsive&&n(window).bind(\"resize\",ut);f.settings.auto&&f.settings.autoStart&&kt();f.settings.ticker&&dt();f.settings.pager&&v(f.settings.startSlide);f.settings.controls&&tt();f.settings.touchEnabled&&!f.settings.ticker&&gt()},l=function(){var r=0,t=n(),u;if(\"vertical\"==f.settings.mode||f.settings.adaptiveHeight)if(f.carousel)for(u=1==f.settings.moveSlides?f.active.index:f.active.index*c(),t=f.children.eq(u),i=1;i<=f.settings.maxSlides-1;i++)t=u+i>=f.children.length?t.add(f.children.eq(i-1)):t.add(f.children.eq(u+i));else t=f.children.eq(f.active.index);else t=f.children;return\"vertical\"==f.settings.mode?(t.each(function(){r+=n(this).outerHeight()}),f.settings.slideMargin>0&&(r+=f.settings.slideMargin*(f.settings.minSlides-1))):r=Math.max.apply(Math,t.map(function(){return n(this).outerHeight(!1)}).get()),r},st=function(){var n=\"100%\";return f.settings.slideWidth>0&&(n=\"horizontal\"==f.settings.mode?f.settings.maxSlides*f.settings.slideWidth+(f.settings.maxSlides-1)*f.settings.slideMargin:f.settings.slideWidth),n},d=function(){var t=f.settings.slideWidth,n=f.viewport.width();return 0==f.settings.slideWidth||f.settings.slideWidth>n&&!f.carousel||\"vertical\"==f.settings.mode?t=n:f.settings.maxSlides>1&&\"horizontal\"==f.settings.mode&&(n>f.maxThreshold||n<f.minThreshold&&(t=(n-f.settings.slideMargin*(f.settings.minSlides-1))/f.settings.minSlides)),t},h=function(){var n=1,t;return\"horizontal\"==f.settings.mode&&f.settings.slideWidth>0?f.viewport.width()<f.minThreshold?n=f.settings.minSlides:f.viewport.width()>f.maxThreshold?n=f.settings.maxSlides:(t=f.children.first().width(),n=Math.floor(f.viewport.width()/t)):\"vertical\"==f.settings.mode&&(n=f.settings.minSlides),n},s=function(){var n=0,t,i;if(f.settings.moveSlides>0)if(f.settings.infiniteLoop)n=f.children.length/c();else for(t=0,i=0;t<f.children.length;)++n,t=i+h(),i+=f.settings.moveSlides<=h()?f.settings.moveSlides:h();else n=Math.ceil(f.children.length/h());return n},c=function(){return f.settings.moveSlides>0&&f.settings.moveSlides<=h()?f.settings.moveSlides:h()},g=function(){var t,i,n;f.children.length>f.settings.maxSlides&&f.active.last&&!f.settings.infiniteLoop?\"horizontal\"==f.settings.mode?(t=f.children.last(),n=t.position(),o(-(n.left-(f.viewport.width()-t.width())),\"reset\",0)):\"vertical\"==f.settings.mode&&(i=f.children.length-f.settings.minSlides,n=f.children.eq(i).position(),o(-n.top,\"reset\",0)):(n=f.children.eq(f.active.index*c()).position(),f.active.index==s()-1&&(f.active.last=!0),void 0!=n&&(\"horizontal\"==f.settings.mode?o(-n.left,\"reset\",0):\"vertical\"==f.settings.mode&&o(-n.top,\"reset\",0)))},o=function(n,t,i,r){var u,s;f.usingCSS?(u=\"vertical\"==f.settings.mode?\"translate3d(0, \"+n+\"px, 0)\":\"translate3d(\"+n+\"px, 0, 0)\",e.css(\"-\"+f.cssPrefix+\"-transition-duration\",i/1e3+\"s\"),\"slide\"==t?(e.css(f.animProp,u),e.bind(\"transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd\",function(){e.unbind(\"transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd\");y()})):\"reset\"==t?e.css(f.animProp,u):\"ticker\"==t&&(e.css(\"-\"+f.cssPrefix+\"-transition-timing-function\",\"linear\"),e.css(f.animProp,u),e.bind(\"transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd\",function(){e.unbind(\"transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd\");o(r.resetValue,\"reset\",0);a()}))):(s={},s[f.animProp]=n,\"slide\"==t?e.animate(s,i,f.settings.easing,function(){y()}):\"reset\"==t?e.css(f.animProp,n):\"ticker\"==t&&e.animate(s,speed,\"linear\",function(){o(r.resetValue,\"reset\",0);a()}))},nt=function(){for(var i,r=\"\",u=s(),t=0;u>t;t++)i=\"\",f.settings.buildPager&&n.isFunction(f.settings.buildPager)?(i=f.settings.buildPager(t),f.pagerEl.addClass(\"bx-custom-pager\")):(i=t+1,f.pagerEl.addClass(\"bx-default-pager\")),r+='<div class=\"bx-pager-item\"><a href=\"\" data-slide-index=\"'+t+'\" class=\"bx-pager-link\">'+i+\"<\\/a><\\/div>\";f.pagerEl.html(r)},ht=function(){f.settings.pagerCustom?f.pagerEl=n(f.settings.pagerCustom):(f.pagerEl=n('<div class=\"bx-pager\" />'),f.settings.pagerSelector?n(f.settings.pagerSelector).html(f.pagerEl):f.controls.el.addClass(\"bx-has-pager\").append(f.pagerEl),nt());f.pagerEl.on(\"click\",\"a\",bt)},ct=function(){f.controls.next=n('<a class=\"bx-next\" href=\"\">'+f.settings.nextText+\"<\\/a>\");f.controls.prev=n('<a class=\"bx-prev\" href=\"\">'+f.settings.prevText+\"<\\/a>\");f.controls.next.bind(\"click\",vt);f.controls.prev.bind(\"click\",yt);f.settings.nextSelector&&n(f.settings.nextSelector).append(f.controls.next);f.settings.prevSelector&&n(f.settings.prevSelector).append(f.controls.prev);f.settings.nextSelector||f.settings.prevSelector||(f.controls.directionEl=n('<div class=\"bx-controls-direction\" />'),f.controls.directionEl.append(f.controls.prev).append(f.controls.next),f.controls.el.addClass(\"bx-has-controls-direction\").append(f.controls.directionEl))},lt=function(){f.controls.start=n('<div class=\"bx-controls-auto-item\"><a class=\"bx-start\" href=\"\">'+f.settings.startText+\"<\\/a><\\/div>\");f.controls.stop=n('<div class=\"bx-controls-auto-item\"><a class=\"bx-stop\" href=\"\">'+f.settings.stopText+\"<\\/a><\\/div>\");f.controls.autoEl=n('<div class=\"bx-controls-auto\" />');f.controls.autoEl.on(\"click\",\".bx-start\",pt);f.controls.autoEl.on(\"click\",\".bx-stop\",wt);f.settings.autoControlsCombine?f.controls.autoEl.append(f.controls.start):f.controls.autoEl.append(f.controls.start).append(f.controls.stop);f.settings.autoControlsSelector?n(f.settings.autoControlsSelector).html(f.controls.autoEl):f.controls.el.addClass(\"bx-has-controls-auto\").append(f.controls.autoEl);p(f.settings.autoStart?\"stop\":\"start\")},at=function(){f.children.each(function(){var t=n(this).find(\"img:first\").attr(\"title\");void 0!=t&&(\"\"+t).length&&n(this).append('<div class=\"bx-caption\"><span>'+t+\"<\\/span><\\/div>\")})},vt=function(n){f.settings.auto&&e.stopAuto();e.goToNextSlide();n.preventDefault()},yt=function(n){f.settings.auto&&e.stopAuto();e.goToPrevSlide();n.preventDefault()},pt=function(n){e.startAuto();n.preventDefault()},wt=function(n){e.stopAuto();n.preventDefault()},bt=function(t){f.settings.auto&&e.stopAuto();var r=n(t.currentTarget),i=parseInt(r.attr(\"data-slide-index\"));i!=f.active.index&&e.goToSlide(i);t.preventDefault()},v=function(t){var i=f.children.length;return\"short\"==f.settings.pagerType?(f.settings.maxSlides>1&&(i=Math.ceil(f.children.length/f.settings.maxSlides)),f.pagerEl.html(t+1+f.settings.pagerShortSeparator+i),void 0):(f.pagerEl.find(\"a\").removeClass(\"active\"),f.pagerEl.each(function(i,r){n(r).find(\"a\").eq(t).addClass(\"active\")}),void 0)},y=function(){if(f.settings.infiniteLoop){var n=\"\";0==f.active.index?n=f.children.eq(0).position():f.active.index==s()-1&&f.carousel?n=f.children.eq((s()-1)*c()).position():f.active.index==f.children.length-1&&(n=f.children.eq(f.children.length-1).position());n&&(\"horizontal\"==f.settings.mode?o(-n.left,\"reset\",0):\"vertical\"==f.settings.mode&&o(-n.top,\"reset\",0))}f.working=!1;f.settings.onSlideAfter(f.children.eq(f.active.index),f.oldIndex,f.active.index)},p=function(n){f.settings.autoControlsCombine?f.controls.autoEl.html(f.controls[n]):(f.controls.autoEl.find(\"a\").removeClass(\"active\"),f.controls.autoEl.find(\"a:not(.bx-\"+n+\")\").addClass(\"active\"))},tt=function(){1==s()?(f.controls.prev.addClass(\"disabled\"),f.controls.next.addClass(\"disabled\")):!f.settings.infiniteLoop&&f.settings.hideControlOnEnd&&(0==f.active.index?(f.controls.prev.addClass(\"disabled\"),f.controls.next.removeClass(\"disabled\")):f.active.index==s()-1?(f.controls.next.addClass(\"disabled\"),f.controls.prev.removeClass(\"disabled\")):(f.controls.prev.removeClass(\"disabled\"),f.controls.next.removeClass(\"disabled\")))},kt=function(){f.settings.autoDelay>0?setTimeout(e.startAuto,f.settings.autoDelay):e.startAuto();f.settings.autoHover&&e.hover(function(){f.interval&&(e.stopAuto(!0),f.autoPaused=!0)},function(){f.autoPaused&&(e.startAuto(!0),f.autoPaused=null)})},dt=function(){var i=0,t;\"next\"==f.settings.autoDirection?e.append(f.children.clone().addClass(\"bx-clone\")):(e.prepend(f.children.clone().addClass(\"bx-clone\")),t=f.children.first().position(),i=\"horizontal\"==f.settings.mode?-t.left:-t.top);o(i,\"reset\",0);f.settings.pager=!1;f.settings.controls=!1;f.settings.autoControls=!1;f.settings.tickerHover&&!f.usingCSS&&f.viewport.hover(function(){e.stop()},function(){var t=0;f.children.each(function(){t+=\"horizontal\"==f.settings.mode?n(this).outerWidth(!0):n(this).outerHeight(!0)});var i=f.settings.speed/t,r=\"horizontal\"==f.settings.mode?\"left\":\"top\",u=i*(t-Math.abs(parseInt(e.css(r))));a(u)});a()},a=function(n){var t,i;speed=n?n:f.settings.speed;t={left:0,top:0};i={left:0,top:0};\"next\"==f.settings.autoDirection?t=e.find(\".bx-clone\").first().position():i=f.children.first().position();var r=\"horizontal\"==f.settings.mode?-t.left:-t.top,u=\"horizontal\"==f.settings.mode?-i.left:-i.top,s={resetValue:u};o(r,\"ticker\",speed,s)},gt=function(){f.touch={start:{x:0,y:0},end:{x:0,y:0}};f.viewport.bind(\"touchstart\",ni)},ni=function(n){if(f.working)n.preventDefault();else{f.touch.originalPos=e.position();var t=n.originalEvent;f.touch.start.x=t.changedTouches[0].pageX;f.touch.start.y=t.changedTouches[0].pageY;f.viewport.bind(\"touchmove\",it);f.viewport.bind(\"touchend\",rt)}},it=function(n){var t=n.originalEvent,u=Math.abs(t.changedTouches[0].pageX-f.touch.start.x),e=Math.abs(t.changedTouches[0].pageY-f.touch.start.y),i,r;(3*u>e&&f.settings.preventDefaultSwipeX?n.preventDefault():3*e>u&&f.settings.preventDefaultSwipeY&&n.preventDefault(),\"fade\"!=f.settings.mode&&f.settings.oneToOneTouch)&&(i=0,\"horizontal\"==f.settings.mode?(r=t.changedTouches[0].pageX-f.touch.start.x,i=f.touch.originalPos.left+r):(r=t.changedTouches[0].pageY-f.touch.start.y,i=f.touch.originalPos.top+r),o(i,\"reset\",0))},rt=function(n){var r,i,t;f.viewport.unbind(\"touchmove\",it);r=n.originalEvent;i=0;(f.touch.end.x=r.changedTouches[0].pageX,f.touch.end.y=r.changedTouches[0].pageY,\"fade\"==f.settings.mode)?(t=Math.abs(f.touch.start.x-f.touch.end.x),t>=f.settings.swipeThreshold&&(f.touch.start.x>f.touch.end.x?e.goToNextSlide():e.goToPrevSlide(),e.stopAuto())):(t=0,\"horizontal\"==f.settings.mode?(t=f.touch.end.x-f.touch.start.x,i=f.touch.originalPos.left):(t=f.touch.end.y-f.touch.start.y,i=f.touch.originalPos.top),!f.settings.infiniteLoop&&(0==f.active.index&&t>0||f.active.last&&0>t)?o(i,\"reset\",200):Math.abs(t)>=f.settings.swipeThreshold?(0>t?e.goToNextSlide():e.goToPrevSlide(),e.stopAuto()):o(i,\"reset\",200));f.viewport.unbind(\"touchend\",rt)},ut=function(){var t=n(window).width(),i=n(window).height();(w!=t||b!=i)&&(w=t,b=i,e.redrawSlider(),f.settings.onSliderResize.call(e,f.active.index))};return e.goToSlide=function(t,i){var h,r,a,p,u,w,b;f.working||f.active.index==t||((f.working=!0,f.oldIndex=f.active.index,f.active.index=0>t?s()-1:t>=s()?0:t,f.settings.onSlideBefore(f.children.eq(f.active.index),f.oldIndex,f.active.index),\"next\"==i?f.settings.onSlideNext(f.children.eq(f.active.index),f.oldIndex,f.active.index):\"prev\"==i&&f.settings.onSlidePrev(f.children.eq(f.active.index),f.oldIndex,f.active.index),f.active.last=f.active.index>=s()-1,f.settings.pager&&v(f.active.index),f.settings.controls&&tt(),\"fade\"==f.settings.mode)?(f.settings.adaptiveHeight&&f.viewport.height()!=l()&&f.viewport.animate({height:l()},f.settings.adaptiveHeightSpeed),f.children.filter(\":visible\").fadeOut(f.settings.speed).css({zIndex:0}),f.children.eq(f.active.index).css(\"zIndex\",f.settings.slideZIndex+1).fadeIn(f.settings.speed,function(){n(this).css(\"zIndex\",f.settings.slideZIndex);y()})):(f.settings.adaptiveHeight&&f.viewport.height()!=l()&&f.viewport.animate({height:l()},f.settings.adaptiveHeightSpeed),h=0,r={left:0,top:0},!f.settings.infiniteLoop&&f.carousel&&f.active.last?\"horizontal\"==f.settings.mode?(u=f.children.eq(f.children.length-1),r=u.position(),h=f.viewport.width()-u.outerWidth()):(a=f.children.length-f.settings.minSlides,r=f.children.eq(a).position()):f.carousel&&f.active.last&&\"prev\"==i?(p=1==f.settings.moveSlides?f.settings.maxSlides-c():(s()-1)*c()-(f.children.length-f.settings.maxSlides),u=e.children(\".bx-clone\").eq(p),r=u.position()):\"next\"==i&&0==f.active.index?(r=e.find(\"> .bx-clone\").eq(f.settings.maxSlides).position(),f.active.last=!1):t>=0&&(w=t*c(),r=f.children.eq(w).position()),\"undefined\"!=typeof r&&(b=\"horizontal\"==f.settings.mode?-(r.left-h):-r.top,o(b,\"slide\",f.settings.speed))))},e.goToNextSlide=function(){if(f.settings.infiniteLoop||!f.active.last){var n=parseInt(f.active.index)+1;e.goToSlide(n,\"next\")}},e.goToPrevSlide=function(){if(f.settings.infiniteLoop||0!=f.active.index){var n=parseInt(f.active.index)-1;e.goToSlide(n,\"prev\")}},e.startAuto=function(n){f.interval||(f.interval=setInterval(function(){\"next\"==f.settings.autoDirection?e.goToNextSlide():e.goToPrevSlide()},f.settings.pause),f.settings.autoControls&&1!=n&&p(\"stop\"))},e.stopAuto=function(n){f.interval&&(clearInterval(f.interval),f.interval=null,f.settings.autoControls&&1!=n&&p(\"start\"))},e.getCurrentSlide=function(){return f.active.index},e.getCurrentSlideElement=function(){return f.children.eq(f.active.index)},e.getSlideCount=function(){return f.children.length},e.redrawSlider=function(){f.children.add(e.find(\".bx-clone\")).outerWidth(d());f.viewport.css(\"height\",l());f.settings.ticker||g();f.active.last&&(f.active.index=s()-1);f.active.index>=s()&&(f.active.last=!0);f.settings.pager&&!f.settings.pagerCustom&&(nt(),v(f.active.index))},e.destroySlider=function(){f.initialized&&(f.initialized=!1,n(\".bx-clone\",this).remove(),f.children.each(function(){void 0!=n(this).data(\"origStyle\")?n(this).attr(\"style\",n(this).data(\"origStyle\")):n(this).removeAttr(\"style\")}),void 0!=n(this).data(\"origStyle\")?this.attr(\"style\",n(this).data(\"origStyle\")):n(this).removeAttr(\"style\"),n(this).unwrap().unwrap(),f.controls.el&&f.controls.el.remove(),f.controls.next&&f.controls.next.remove(),f.controls.prev&&f.controls.prev.remove(),f.pagerEl&&f.settings.controls&&f.pagerEl.remove(),n(\".bx-caption\",this).remove(),f.controls.autoEl&&f.controls.autoEl.remove(),clearInterval(f.interval),f.settings.responsive&&n(window).unbind(\"resize\",ut))},e.reloadSlider=function(n){void 0!=n&&(u=n);e.destroySlider();k()},k(),this}}(jQuery);!function(n){function f(){if(navigator.userAgent.match(/IEMobile\\/10\\.0/)){var n=document.createElement(\"style\");n.appendChild(document.createTextNode(\"@-ms-viewport{width:auto!important}\"));document.querySelector(\"head\").appendChild(n)}}function u(){n(\".equalize\").each(function(){obj=n(this);data=obj.data(\"equalize\");data?obj.eqHeights({child:data}):obj.eqHeights()})}function e(){n.cookie(\"fullscreen\")&&(n(\"html\").addClass(\"fullscreen\"),n(\".toggle-fullscreen\").addClass(\"active\"));n(\".toggle-fullscreen\").on(\"click\",function(){return n(\".header-main\").is(\":hidden\")?(n(\"html\").removeClass(\"fullscreen\"),n(this).removeClass(\"active\"),n.cookie(\"fullscreen\",\"\")):(n(\"html\").addClass(\"fullscreen\"),n(this).addClass(\"active\"),n.cookie(\"fullscreen\",\"true\")),t.length&&t.reloadSlider(),i.length&&i.reloadSlider(),r.length&&r.reloaSlider(),!1})}function o(){n(\"input, textarea\").placeholder()}function s(){if(!supports.touch)n(\".site-search\").on(\"shown.bs.collapse\",function(){n(\"input:first-child\",this).focus()})}function h(){n('[data-toggle=\"collapse\"], .btn-toggle-sidebar').click(function(){n(this).toggleClass(\"active\")});n(\".btn-toggle-sidebar\").on(\"click\",function(){n(\".main-wrapper\").toggleClass(\"in\")})}function c(){n(\".footer .year\").text((new Date).getFullYear())}function l(){n('.disabled, .disabled *, [disabled], [disabled=\"disabled\"], [disabled] *, [disabled=\"disabled\"] *').on(\"click\",function(n){n.preventDefault()}).css({cursor:\"default\"})}function a(){n('[class*=\"epicker\"]').each(function(t){var r=n(this),u=\"datetimepicker\"+t,i=r.attr(\"class\");r.attr(\"id\",u).datetimepicker({pickDate:i.indexOf(\"date\")>=0?!0:!1,pickTime:i.indexOf(\"time\")>=0?!0:!1,format:i.indexOf(\"time\")>=0?i.indexOf(\"datetime\")>=0?\"YYYY-MM-DD HH:mm\":\"HH:mm\":\"YYYY-MM-DD\",useCurrent:!1,direction:\"bottom\"})})}function v(){n(\".bx-gallery li img, .bx-slider li img, .bx-carousel li img\").each(function(){var t=n(this);t.width()/t.height()<1&&t.addClass(\"img-portrait\")});t=n(\".bx-gallery ul\").bxSlider({onSliderLoad:function(){n(\".bx-gallery ul\").css(\"visibility\",\"visible\")},mode:supports.touch?\"horizontal\":\"fade\",controls:supports.touch?!1:!0,captions:!0,video:!0,useCSS:!1,nextText:\"\",prevText:\"\"});i=n(\".bx-slider ul\").bxSlider({onSliderLoad:function(){n(\".bx-slider ul\").css(\"visibility\",\"visible\")},mode:\"horizontal\",controls:supports.touch?!1:!0,auto:supports.touch?!1:!0,autoHover:supports.touch?!1:!0,pause:7e3,nextText:\"\",prevText:\"\"});r=n(\".bx-carousel ul\").bxSlider({onSliderLoad:function(){n(\".bx-carousel ul\").css(\"visibility\",\"visible\")},controls:supports.touch?!1:!0,slideWidth:n(\".main-sidebar-first\").length?n(\".main-sidebar-second\").length?168.5:191:177,minSlides:2,maxSlides:7,slideMargin:15,nextText:\"\",prevText:\"\"})}var t,i,r;n(function(){f();e();o();s();h();c();l();a();v()});n(window).on(\"load\",function(){u()}).on(\"resize\",function(){n(\".main-wrapper\").hasClass(\"in\")&&n(\".btn-toggle-side-nav\").css(\"display\")==\"none\"&&(n(\".main-wrapper\").removeClass(\"in\"),n(\".btn-toggle-side-nav\").removeClass(\"active\"))}).on(\"debouncedresize\",function(){u()})}(jQuery);\r\n/*\r\n//# sourceMappingURL=nucleus.min.js.map\r\n*/"],"names":[],"sourceRoot":"webpack:///","x_google_ignoreList":[]}