{"version":3,"sources":["webpack:///src/assets/js/jQuery/jquery-3.4.1.min.js","webpack:///node_modules/pace-js/pace.min.js","webpack:///node_modules/tinymce/tinymce.min.js","webpack:///node_modules/tinymce/themes/modern/theme.min.js","webpack:///node_modules/tinymce/plugins/link/plugin.min.js","webpack:///node_modules/tinymce/plugins/paste/plugin.min.js","webpack:///node_modules/tinymce/plugins/table/plugin.min.js","webpack:///node_modules/echarts/dist/echarts.min.js","webpack:///node_modules/echarts/dist/extension/bmap.min.js","webpack:///node_modules/chart.js/dist/Chart.min.js","webpack:///src/assets/css/bootstrap4/bootstrap.min.js","webpack:///src/assets/js/pages/baseScript.js","webpack:///src/assets/js/pages/map.js","webpack:///src/assets/js/pages/liveview.js","webpack:///src/assets/js/pages/communication.js","webpack:///src/assets/js/pages/sos.js","webpack:///src/assets/js/baseVideo/jswlib/thlib/jquery1.8.2.js","webpack:///src/assets/js/baseVideo/jswlib/thlib/jquery-1.8.2.min.js","webpack:///src/assets/js/baseVideo/jswlib/modules/jSWProtocol.js","webpack:///src/assets/js/baseVideo/jswlib/modules/jSWUtils.js","webpack:///src/assets/js/baseVideo/jswlib/modules/CmdParse.js","webpack:///src/assets/js/baseVideo/jswlib/modules/HandleResponse.js","webpack:///src/assets/js/baseVideo/jswlib/modules/HttpFlv.js","webpack:///src/assets/js/baseVideo/jswlib/modules/HTTPNruFile.js","webpack:///src/assets/js/baseVideo/jswlib/modules/ImModule.js","webpack:///src/assets/js/baseVideo/jswlib/modules/jswConst.js","webpack:///src/assets/js/baseVideo/jswlib/modules/oxWebSocket.js","webpack:///src/assets/js/baseVideo/jswlib/modules/PuLoad.js","webpack:///src/assets/js/baseVideo/jswlib/modules/Conference/Conference.js","webpack:///src/assets/js/baseVideo/jswlib/modules/Conference/HandleConfSpeak.js","webpack:///src/assets/js/baseVideo/jswlib/thlib/vue-2.6.10.min.js","webpack:///src/assets/js/baseVideo/jswlib/thlib/HttpFlv/flv.js","webpack:///src/assets/js/baseVideo/jswlib/thlib/HttpFlv/flv.min.js","webpack:///src/assets/js/baseVideo/jswlib/thlib/pcm/pcm-player.js","webpack:///src/assets/js/baseVideo/jswlib/thlib/pcm/pcm-player.min.js","webpack:///src/assets/js/baseVideo/jswlib/utils/Base64.js","webpack:///src/assets/js/baseVideo/jswlib/utils/BigInt.js","webpack:///src/assets/js/baseVideo/jswlib/utils/jn_rsa.js","webpack:///src/assets/js/baseVideo/jswlib/bv.js","webpack:///node_modules/ztree/js/jquery.ztree.core.js","webpack:///node_modules/ztree/js/jquery.ztree.exhide.min.js","webpack:///src/assets/js/toasterJquery/toast.script.js","webpack:///src/assets/js/eva/eva.min.js","webpack:///src/assets/js/RecordRTC/RecordRTC.js","webpack:///src/assets/js/RecordRTC/screenshot.js"],"names":[],"mappings":"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AACA,KAAK;AACL;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,yBAAyB;;AAEzB;AACA;AACA;AACA,wBAAwB,2BAA2B;AACnD;AACA;AACA;AACA;;AAEA;;AAEA;AACA,iBAAiB;AACjB,aAAa;AACb,+DAA+D;AAC/D;AACA,SAAS;AACT;;AAEA;;AAEA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,kBAAkB;;AAElB;;AAEA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oBAAoB,YAAY;AAChC;AACA;AACA;AACA;;;;AAIA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,mBAAmB;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4DAA4D;AAC5D;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA,sBAAsB,QAAQ;AAC9B;;AAEA,cAAc,QAAQ,GAAG,QAAQ;AACjC;;AAEA;AACA,WAAW,uBAAuB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,+BAA+B;AAC/B;AACA,iBAAiB;AACjB;AACA;AACA;AACA;;;AAGA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,S;AACA;;AAEA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;;AAEA;AACA,SAAS;;AAET;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB;;AAEzB;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;;AAEA;AACA,aAAa;;AAEb;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA,aAAa;;AAEb;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;;AAGA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA,S;;AAEA;AACA,KAAK;;AAEL;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA,SAAS;AACT;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,yCAAyC;AACzC;AACA;AACA;;AAEA,2BAA2B;AAC3B,2BAA2B;AAC3B,2BAA2B;AAC3B;AACA;;AAEA;AACA;AACA;AACA;AACA,kBAAkB,mBAAmB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,O;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,mCAAmC,mCAAmC;AACtE;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK,IAAI;AACT,C;CCzvBA;AACA;AACA;AACA;AACA;AACA;;;;AAIA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;;AAGA;;AAEA;;AAEA;;AAEA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAuB;;AAEvB,qBAAqB;AACrB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,+CAA+C;;AAE/C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,4CAA4C;;AAE5C;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,aAAa;;AAEb;;AAEA;AACA;AACA,SAAS;;AAET;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA,KAAK;;AAEL;;AAEA;;AAEA;AACA;AACA;;AAEA,GAAG;AACH;;AAEA;;AAEA;;AAEA;AACA,OAAO;AACP,KAAK;;AAEL;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,kBAAkB;;AAElB;AACA;AACA,GAAG;AACH;;AAEA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,iBAAiB;;AAEjB;AACA;;AAEA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,2BAA2B,kCAAkC;AAC7D;AACA;AACA,aAAa;;AAEb;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yEAAyE;AACzE;AACA;AACA;;AAEA;;AAEA;;AAEA,eAAe;;AAEf;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,GAAG;AACH;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA,K;AACA,GAAG;AACH;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,aAAa;;AAEb;AACA;;AAEA;;AAEA;AACA,aAAa;;AAEb;AACA;AACA,KAAK;;AAEL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;;AAEA;;;AAGA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,OAAO;;AAEP;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,OAAO;;AAEP;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW;;AAEX;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA,WAAW;;AAEX;;AAEA;;AAEA;;AAEA;;;AAGA;;AAEA;AACA,WAAW;;AAEX;;AAEA;;AAEA;;AAEA;;AAEA;AACA,eAAe;AACf,aAAa;AACb;AACA;AACA;AACA;AACA,GAAG;AACH;;;AAGA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,C;CCvrBA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;;AAGA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,aAAa;;AAEb,WAAW;AACX;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,uCAAuC;;AAEvC;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,oCAAoC;;AAEpC;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA,OAAO;;AAEP;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW;AACX;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,OAAO;AACP;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,aAAa,QAAQ;;AAErB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA,aAAa,OAAO;;AAEpB;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,aAAa;;AAEb;AACA;AACA;;AAEA;;AAEA;AACA,WAAW;;AAEX;AACA,OAAO;;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;;AAGA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO;;AAEP;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA,OAAO;;AAEP;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW;;AAEX;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA,WAAW;;AAEX;;AAEA;;AAEA;;AAEA;;;AAGA;;AAEA;AACA,WAAW;;AAEX;;AAEA;AACA;;AAEA;;AAEA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA,KAAK;;AAEL;;AAEA;AACA,OAAO;AACP;;AAEA,GAAG;;AAEH;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA,GAAG;;AAEH;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;;;AAGA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;;;AAGA;;AAEA;AACA;AACA;;AAEA,SAAS;AACT,OAAO;;AAEP;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;;;AAGA;;AAEA;AACA;AACA;;AAEA,aAAa;AACb,WAAW;;AAEX;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,GAAG;AACH;AACA;AACA;;;AAGA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,oCAAoC;AAC3D;AACA;AACA,WAAW;;;AAGX;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA,WAAW;;AAEX,WAAW;;AAEX;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,oBAAoB;;AAEpB;AACA;AACA,GAAG;AACH;;AAEA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,C;CCp/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc,OAAO;;AAErB;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;;AAGA;;AAEA;AACA;AACA;AACA;;AAEA,yD;;AAEA;;AAEA;AACA,GAAG;;AAEH;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA,aAAa;;AAEb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe;AACf,aAAa;;AAEb;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA,SAAS;;AAET;;AAEA;;AAEA,oD;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;;AAET;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;;AAErB,mBAAmB;AACnB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,6CAA6C;;AAE7C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,0CAA0C;;AAE1C;AACA;AACA;;AAEA;AACA,aAAa;AACb;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;;AAGA;;AAEA;;AAEA;;AAEA;;AAEA;AACA,GAAG;;AAEH;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;;AAGA;AACA;;AAEA,GAAG;;AAEH;;AAEA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL,G;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,KAAK;AACL;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA;;AAEA;;AAEA;AACA;AACA,WAAW;AACX;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,0CAA0C;;AAE1C;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA,0CAA0C;;AAE1C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EA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA,gBAAgB,cAAc;AAC9B;AACA;AACA;;AAEA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA,KAAK;;AAEL;;AAEA;;AAEA;;AAEA;;AAEA;AACA,6BAA6B,sDAAsD;AACnF;AACA,SAAS;;AAET;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,eAAe;;AAEf;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA;AACA,OAAO;AACP,KAAK;;AAEL;AACA;AACA;;AAEA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA,uDAAuD,cAAc;AACrE;AACA;AACA,mBAAmB;AACnB;AACA,mBAAmB;AACnB;AACA;AACA,aAAa;AACb;AACA,OAAO;;AAEP;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA,+CAA+C,cAAc;AAC7D;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb,SAAS;;AAET;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA,KAAK;AACL;;;AAGA,C;CCrsDA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;;;AAGA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;;;AAGA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,qBAAqB;;AAErB;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iDAAiD,gCAAgC;AACjF;AACA,uCAAuC;;AAEvC;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iDAAiD,gCAAgC;AACjF;AACA,mCAAmC;AACnC;AACA,+BAA+B;;AAE/B;AACA;AACA;AACA;AACA,uBAAuB;AACvB,mBAAmB;;AAEnB;AACA;AACA,eAAe;AACf;AACA,KAAK;AACL;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;AACT;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;;AAGA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;;AAGA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,WAAW;;AAEX;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;;AAET;;AAEA;;AAEA;AACA;AACA,WAAW;;AAEX;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe;;AAEf;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,eAAe;;AAEf;;AAEA;;AAEA;;AAEA;;;AAGA;;AAEA;AACA,eAAe;;AAEf;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,C;CC1aA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,wBAAwB;AACxB;AACA,+CAA+C,EAAE;AACjD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,IAAI;AACJ;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,IAAI;AACJ;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,QAAQ,YAAY;AACpB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,MAAM;AACN;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B;AACA;AACA,IAAI,OAAO;AACX;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF,oBAAoB;;AAEpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,EAAE;;AAEF,gCAAgC;AAChC;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,WAAW,YAAY;AACvB;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,WAAW,YAAY;AACvB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,UAAU,SAAS;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA,UAAU,OAAO;AACjB;AACA;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS,YAAY;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,YAAY;AACtB;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA,UAAU,YAAY;AACtB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mBAAmB;;AAEnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU,oCAAoC;AAC9C;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA,OAAO;AACP,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA,SAAS;AACT;AACA;AACA,OAAO;AACP;AACA,MAAM;AACN,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,8CAA8C;AAC9C,KAAK;AACL;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,IAAI;;AAEJ;;AAEA,4CAA4C;AAC5C;AACA;AACA;AACA;AACA,UAAU,YAAY;AACtB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,4BAA4B,WAAW;;AAEvC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,yBAAyB,SAAS,SAAS,cAAc,gBAAgB;AACzE;;AAEA;AACA;AACA;AACA;;AAEA;AACA,+CAA+C,SAAS,QAAQ,SAAS,gBAAgB,MAAM;AAC/F;;AAEA;AACA;AACA;;AAEA;AACA;AACA,eAAe;AACf;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA,sCAAsC,SAAS,SAAS;AACxD;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,6CAA6C,2BAA2B,8BAA8B,YAAY,WAAW,cAAc,UAAU,cAAc,kBAAkB,OAAO;AAC5L;AACA;;AAEA;AACA;AACA;AACA,uEAAuE;AACvE,0EAA0E,eAAe;;AAEzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mEAAmE;AACnE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,6CAA6C,YAAY,eAAe;AACxE;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA,CAAC;AACD,mBAAmB,SAAS;AAC5B;;AAEA;AACA,UAAU;;AAEV;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,kDAAkD;AAClD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,wEAAwE;AACxE;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,MAAM;;AAEN;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA,iCAAiC,OAAO;AACxC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA,GAAG;AACH;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA,kDAAkD;AAClD;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,2BAA2B,OAAO;AAClC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;;AAEA,GAAG;AACH;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ,EAAE;AACF;AACA;AACA;AACA,GAAG;AACH,EAAE;AACF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,GAAG;AACH,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;;AAEA,gCAAgC,OAAO;AACvC;;AAEA;AACA;AACA;;AAEA,MAAM;AACN;;AAEA,0CAA0C,QAAQ;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA,gCAAgC,OAAO;AACvC;AACA;;AAEA;;AAEA;AACA,sCAAsC,QAAQ;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA,SAAS,OAAO;AAChB;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;;AAEA,iCAAiC;AACjC;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA,KAAK;AACL;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,SAAS;AACpB;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,IAAI;;AAEJ;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF,wDAAwD;AACxD,WAAW;;AAEX;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,IAAI;AACJ;;AAEA,IAAI;AACJ;AACA;AACA;;AAEA,GAAG;AACH;;AAEA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;;AAEA;;AAEA,UAAU,sBAAsB;AAChC;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,IAAI;AACJ;AACA;;AAEA,GAAG;AACH;AACA;;AAEA,IAAI;AACJ;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,cAAc,kBAAkB;;AAEhC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF,WAAW;;AAEX;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,2CAA2C;AAC3C;AACA,cAAc,kBAAkB;AAChC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe,sBAAsB;AACrC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,sCAAsC;AACtC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA,yCAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,2CAA2C;AAC3C;AACA;;AAEA;AACA;AACA,oBAAoB,KAAK;AACzB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc,uDAAuD;;AAErE;AACA;;AAEA,iDAAiD;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;;AAEA;AACA;;AAEA;AACA,qDAAqD;AACrD;AACA;AACA;AACA,qDAAqD;AACrD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,4BAA4B,aAAa;;AAEzC;AACA;AACA;AACA;AACA,iBAAiB,mBAAmB;AACpC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB,8BAA8B;AACvD;AACA;AACA;AACA;;AAEA;AACA;AACA,sBAAsB,uDAAuD;AAC7E;;AAEA,yBAAyB;AACzB,cAAc,0DAA0D;AACxE;AACA;;AAEA,eAAe,sEAAsE;AACrF;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,8DAA8D;AAC9D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA,aAAa;;AAEb;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,sCAAsC,cAAc;AACpD;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,sDAAsD;AACtD;;AAEA;;AAEA,wBAAwB,GAAG;AAC3B;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,2EAA2E;AAC3E;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,sCAAsC;AACtC;AACA;;AAEA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,IAAI;AACJ;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA,gCAAgC;AAChC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA,0DAA0D;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,sBAAsB;AACtB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,IAAI;AACJ,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,cAAc,qCAAqC;;AAEnD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,wCAAwC;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;AACF;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,GAAG;AACH,EAAE;;AAEF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,GAAG;AACH,EAAE;AACF;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,SAAS;AAClB;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA,gBAAgB;AAChB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA,SAAS,kBAAkB;AAC3B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,IAAI;AACJ;AACA;;AAEA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;AACF;;AAEA;AACA;AACA,WAAW,cAAc;AACzB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,iCAAiC,MAAM;AACvC;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;;AAEF;AACA,SAAS,kBAAkB;AAC3B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,YAAY,qBAAqB;AACjC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA,QAAQ,iCAAiC;AACzC,QAAQ,oBAAoB;AAC5B,QAAQ,sCAAsC;AAC9C,QAAQ;AACR,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,IAAI;AACJ;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA,uBAAuB,aAAa;AACpC;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,qCAAqC,MAAM;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA,mBAAmB,YAAY;AAC/B;AACA;AACA;AACA,GAAG;;AAEH;AACA,mBAAmB,YAAY;AAC/B;AACA;AACA;AACA,GAAG;;AAEH;AACA,6DAA6D,UAAU;AACvE;AACA;AACA;AACA,GAAG;;AAEH;AACA,6DAA6D,cAAc;AAC3E;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;AAEA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,kBAAkB,kBAAkB;AACpC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,SAAS,qBAAqB;AAC9B;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,QAAQ,SAAS;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH,QAAQ,SAAS;AACjB;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,UAAU,2BAA2B;AACrC;AACA,iBAAiB,gCAAgC;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gBAAgB,4BAA4B;AAC5C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,QAAQ,SAAS;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,wEAAwE,QAAQ;AAChF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,IAAI;;AAEJ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;;AAEA;AACA;AACA;AACA,EAAE;AACF;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,iCAAiC,OAAO;AACxC;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;;AAEA,+BAA+B,OAAO;AACtC;AACA;;AAEA;AACA;AACA,qBAAqB,gBAAgB;AACrC,iBAAiB,YAAY;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAS,OAAO;AAChB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA,gDAAgD;AAChD,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA,SAAS,GAAG;AACZ;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH,EAAE;AACF;AACA;AACA,GAAG;;AAEH,EAAE;AACF;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iDAAiD,EAAE;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,IAAI;AACJ;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,IAAI;AACJ;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;;AAEA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA,SAAS,0BAA0B;AACnC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA,SAAS,0BAA0B;AACnC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA,2BAA2B;AAC3B;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,GAAG;AACH,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,gDAAgD,OAAO;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR,OAAO;AACP;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,0CAA0C,OAAO;AACjD;AACA;AACA;AACA;;AAEA;AACA;AACA,kCAAkC;AAClC;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,EAAE;AACF;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA,EAAE;AACF;;AAEA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAS;AACT;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH,UAAU,OAAO;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA,EAAE;AACF;;AAEA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,gBAAgB;AAC/B,oDAAoD;AACpD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,gBAAgB,gBAAgB;AAChC;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,cAAc,2BAA2B;AACzC;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iCAAiC,SAAS;AAC1C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,yBAAyB;AACxC;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAe,yBAAyB;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAS,2BAA2B;;AAEpC;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,OAAO;AACP;;AAEA,OAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB,YAAY,+DAA+D;AAC3E;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,QAAQ,gBAAgB;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,gBAAgB;AACjC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,QAAQ,OAAO;AACf;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN,KAAK;AACL;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,4BAA4B;AAC3D;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;;AAEA;AACA;AACA;;AAEA,eAAe,OAAO;AACtB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd,MAAM;AACN,MAAM;AACN,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH,EAAE;AACF;AACA;AACA;AACA;;AAEA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;;AAEhB;AACA;AACA;AACA;AACA;AACA,gBAAgB;;AAEhB,gDAAgD;AAChD;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,UAAU,YAAY;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,QAAQ,6CAA6C;AACrD;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD;AACxD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA,sBAAsB;AACtB,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mFAAmF;AACnF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,cAAc,oCAAoC;AAClD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA,EAAE;;AAEF;AACA;;AAEA;AACA,iBAAiB;AACjB;;AAEA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,QAAQ,4BAA4B;;AAEpC;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,OAAO;AACP,eAAe;AACf;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,GAAG;;AAEH;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF,CAAC;;AAED;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;;AAEN;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,UAAU;AACV;;AAEA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,UAAU;AACV;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS,gBAAgB;AACzB;;AAEA;AACA;AACA;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA,UAAU,iBAAiB;AAC3B;AACA;;AAEA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,2BAA2B;AAC3B,+BAA+B,kBAAkB,EAAE;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA,WAAW,iBAAiB;AAC5B;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;;AAEA,QAAQ,iBAAiB;AACzB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA,SAAS,iBAAiB;AAC1B;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,+EAA+E;AAC/E;AACA;AACA,GAAG;AACH;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,mBAAmB,iBAAiB;AACpC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;AACA,mBAAmB,cAAc;AACjC,EAAE;AACF;AACA;AACA;AACA;AACA;AACA,iDAAiD;;AAEjD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;;AAEA,+BAA+B,SAAS;AACxC;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;AACA,WAAW,eAAe;AAC1B;;AAEA;AACA;AACA;AACA,OAAO,QAAQ;AACf;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,UAAU,kBAAkB;AAC5B,WAAW,kBAAkB;AAC7B,cAAc;AACd,CAAC;AACD;AACA;AACA;AACA,CAAC;;AAED;AACA,iEAAiE;AACjE;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,QAAQ,mBAAmB;AAC3B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;;AAEA;AACA,SAAS,kBAAkB;AAC3B;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,UAAU;AACV,EAAE;;AAEF;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa,kBAAkB;;AAE/B;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,yDAAyD,kBAAkB;;AAE3E;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,EAAE;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,CAAC;;;AAGD;AACA,cAAc,oDAAoD;AAClE;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,mCAAmC;AACjD,eAAe,6DAA6D;AAC5E;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA,EAAE;AACF,CAAC;AACD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC,eAAe,EAAE;AACrD;;AAEA,CAAC;;CC7uSD;AACA,eAAe,cAAc,cAAc,uCAAuC,QAAQ,IAAI,kBAAkB,0BAA0B,+CAA+C,oBAAoB,uBAAuB,IAAI,uFAAuF,UAAU,cAAc,SAAS,SAAS,cAAc,MAAM,YAAY,8CAA8C,yBAAyB,SAAS,cAAc,SAAS,cAAc,SAAS,eAAe,oDAAoD,iBAAiB,UAAU,yBAAyB,SAAS,mBAAmB,OAAO,iDAAiD,sBAAsB,aAAa,EAAE,4CAA4C,iBAAiB,EAAE,uBA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C,2HAA2H,KAAK,KAAK,iOAAiO,cAAc,oBAAoB,mBAAmB,8EAA8E,aAAa,YAAY,wMAAwM,oCAAoC,yBAAyB,2BAA2B,gCAAgC,+EAA+E,iBAAiB,GAAG,UAAU,iDAAiD,eAAe,kBAAkB,oBAAoB,qCAAqC,YAAY,iEAAiE,gEAAgE,6BAA6B,UAAU,8BAA8B,eAAe,QAAQ,yCAAyC,eAAe,sBAAsB,yFAAyF,qCAAqC,MAAM,iOAAiO,kBAAkB,EAAE,yGAAyG,SAAS,EAAE,U;CCDzr2F;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,qBAAqB;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,4BAA4B,eAAe;AAC3C;AACA,wCAAwC,yBAAyB;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,0BAA0B;AACnE;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,2DAA2D;AAC3D;AACA,8DAA8D;AAC9D;AACA,8DAA8D;AAC9D;AACA,iEAAiE;AACjE;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA,yBAAyB,gBAAgB;AACzC,sCAAsC,6BAA6B;AACnE,sCAAsC,6BAA6B;AACnE,kCAAkC,yBAAyB;AAC3D,sCAAsC,6BAA6B;AACnE,qDAAqD,4CAA4C;AACjG,8BAA8B,qBAAqB;AACnD,uCAAuC,4BAA4B;AACnE,0CAA0C;AAC1C,aAAa;AACb;AACA,mCAAmC,0BAA0B;AAC7D,kCAAkC,yBAAyB;AAC3D,mCAAmC,0BAA0B;AAC7D,iCAAiC,wBAAwB;AACzD,yCAAyC,gCAAgC;AACzE,0CAA0C,iCAAiC;AAC3E,4CAA4C,mCAAmC;AAC/E,0CAA0C,iCAAiC;AAC3E,2CAA2C,kCAAkC;AAC7E,yCAAyC,gCAAgC;AACzE,oCAAoC,2BAA2B;AAC/D,uCAAuC,8BAA8B;AACrE,2CAA2C,kCAAkC;AAC7E,4CAA4C,mCAAmC;AAC/E,2CAA2C,kCAAkC;AAC7E,8BAA8B,qBAAqB;AACnD,mCAAmC,0BAA0B;AAC7D,iCAAiC;AACjC,aAAa;AACb,6BAA6B,sBAAsB;AACnD,qBAAqB,gBAAgB;AACrC,oBAAoB,eAAe;AACnC,qBAAqB,gBAAgB;AACrC,uBAAuB,kBAAkB;AACzC,qBAAqB,gBAAgB;AACrC,yBAAyB,oBAAoB;AAC7C,4BAA4B,uBAAuB;AACnD,6BAA6B,wBAAwB;AACrD,4BAA4B,uBAAuB;AACnD,6BAA6B,wBAAwB;AACrD,0BAA0B,qBAAqB;AAC/C,wBAAwB,mBAAmB;AAC3C,yBAAyB,oBAAoB;AAC7C,6BAA6B,wBAAwB;AACrD,kBAAkB,aAAa;AAC/B,uBAAuB,kBAAkB;AACzC,yBAAyB,oBAAoB;AAC7C,yBAAyB,oBAAoB;AAC7C,sBAAsB,iBAAiB;AACvC,0BAA0B,qBAAqB;AAC/C,0BAA0B,qBAAqB;AAC/C,8BAA8B,yBAAyB;AACvD,yBAAyB,oBAAoB;AAC7C,4BAA4B,uBAAuB;AACnD,yBAAyB,oBAAoB;AAC7C,yBAAyB,oBAAoB;AAC7C,4BAA4B,uBAAuB;AACnD,+BAA+B,0BAA0B;AACzD,4BAA4B,uBAAuB;AACnD,+BAA+B,0BAA0B;AACzD,wBAAwB,mBAAmB;AAC3C,sBAAsB,iBAAiB;AACvC,0BAA0B,qBAAqB;AAC/C,4BAA4B,uBAAuB;AACnD,wBAAwB,mBAAmB;AAC3C,yBAAyB,oBAAoB;AAC7C;AACA,kCAAkC,yBAAyB;AAC3D,gCAAgC,uBAAuB;AACvD,oCAAoC,2BAA2B;AAC/D,4BAA4B,mBAAmB;AAC/C,6BAA6B,oBAAoB;AACjD,qCAAqC,4BAA4B;AACjE,oCAAoC,2BAA2B;AAC/D,sCAAsC,6BAA6B;AACnE,+BAA+B,sBAAsB;AACrD,+BAA+B,sBAAsB;AACrD,+BAA+B,sBAAsB;AACrD,+BAA+B;AAC/B,aAAa;;AAEb;AACA,+BAA+B,sBAAsB;AACrD,8BAA8B,qBAAqB;AACnD,6BAA6B,oBAAoB;AACjD,2BAA2B,kBAAkB;AAC7C,0BAA0B,iBAAiB;AAC3C,2BAA2B,kBAAkB;AAC7C,0BAA0B,iBAAiB;AAC3C,+BAA+B;AAC/B,aAAa;;AAEb;AACA,uBAAuB,yBAAyB;AAChD,wBAAwB,0BAA0B;AAClD,2BAA2B;AAC3B,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wCAAwC,4BAA4B;;AAEpE;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;;AAEA;AACA;AACA,8BAA8B;AAC9B,+BAA+B;AAC/B,8BAA8B;AAC9B,wBAAwB;AACxB,0BAA0B;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gCAAgC,4BAA4B;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,gCAAgC,4BAA4B;AAC5D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,2BAA2B,oBAAoB;AAC/C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,uBAAuB;AACnD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,0BAA0B;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;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,mCAAmC;AACnC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,wCAAwC;AACxC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,4CAA4C;AAC5C;AACA;AACA;AACA,kBAAkB,kCAAkC;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,kBAAkB,sCAAsC;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;AACvD,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa;AACb;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;;;AAIA,KAAK;;AAEL;AACA;;AAEA;AACA,CAAC,qB;CC7iDD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,CAAC;;;AAGD;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,4CAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;;AAGA;AACA;AACA,2BAA2B,kBAAkB;AAC7C;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,2BAA2B,SAAS;AACpC;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;;AAEA;AACA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;AACA,8CAA8C,EAAE;AAChD,wDAAwD,EAAE;AAC1D,SAAS,GAAG;AACZ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB,wBAAwB;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,oBAAoB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA,KAAK;;;AAGL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK,uCAAuC;;;AAG5C;AACA;;AAEA;AACA,CAAC;;;;AAID;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA,+BAA+B;AAC/B;AACA,SAAS;;AAET;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA,2EAA2E;AAC3E,SAAS;;AAET;AACA;;AAEA,wCAAwC,IAAI,eAAe;;AAE3D;AACA;;AAEA;AACA,SAAS;;AAET;AACA;;AAEA,wCAAwC,IAAI,eAAe;AAC3D;AACA;;AAEA;AACA,SAAS;;AAET;AACA;;AAEA,wCAAwC,IAAI,eAAe;AAC3D;AACA;;AAEA;AACA,SAAS;;AAET;AACA;;AAEA,wCAAwC,IAAI,eAAe;AAC3D;AACA;;AAEA;AACA,SAAS;;AAET;AACA;;AAEA,wCAAwC,IAAI,eAAe;AAC3D;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB,mBAAmB;AAC1C;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,SAAS;AACxC;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,+BAA+B,kCAAkC;AACjE;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,CAAC,oB;CCrlBD;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oEAAoE;AACpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,2FAA2F;;AAE3F;AACA;AACA;AACA;;AAEA;AACA;AACA,+EAA+E;;AAE/E;AACA;AACA,gFAAgF;;AAEhF;AACA,yEAAyE;AACzE,uFAAuF;AACvF,6EAA6E;;AAE7E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6EAA6E;AAC7E,qEAAqE;AACrE,0FAA0F;AAC1F,kFAAkF;AAClF,yFAAyF;AACzF;AACA,uFAAuF;AACvF,qEAAqE;AACrE,uFAAuF;AACvF,oFAAoF;AACpF,8EAA8E;AAC9E;AACA,+EAA+E;;AAE/E;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,uDAAuD;AACvD,2FAA2F;AAC3F,qDAAqD;;AAErD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,8GAA8G;AAC9G;AACA;AACA;AACA;AACA;AACA,yHAAyH;AACzH;AACA;AACA,uHAAuH;AACvH;AACA;AACA;AACA,4IAA4I;AAC5I;AACA,kIAAkI;AAClI;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,2FAA2F;AAC3F,gFAAgF;AAChF,qFAAqF,OAAO;AAC5F,4EAA4E;;AAE5E;AACA,+EAA+E,oBAAoB;;AAEnG;AACA,mFAAmF;AACnF,yEAAyE;AACzE,yEAAyE,OAAO;;AAEhF;AACA,oFAAoF;AACpF,0EAA0E;AAC1E,0EAA0E;;AAE1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,eAAe;;;AAGf;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL,CAAC,qB;CCphBD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,8G;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,2DAA2D,gCAAgC;AAC3F;AACA;;AAEA;AACA;AACA;AACA,yCAAyC;AACzC;AACA;;AAEA;;AAEA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,mCAAmC;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC,mCAAmC;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA,iB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,+CAA+C,iEAAiE;AAChH;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,uCAAuC,kDAAkD;AACzF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,uCAAuC,qDAAqD;AAC5F;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA,uCAAuC,2BAA2B;AAClE;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,4CAA4C,mCAAmC;AAC/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,iBAAiB;AACjB;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,iBAAiB;AACjB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA,iBAAiB;AACjB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,iBAAiB;;AAEjB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA,iBAAiB;AACjB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA;AACA;AACA;AACA,uCAAuC,qDAAqD;AAC5F;AACA;AACA;;AAEA;AACA;AACA,iBAAiB;AACjB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA,4EAA4E;AAC5E;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,yBAAyB;AACzB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,CAAC,qB;CC19CD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC,qB;CC/GD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,kBAAkB;AACzC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,+BAA+B,kBAAkB;AACjD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,+BAA+B,mBAAmB;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;;AAGA;AACA;;AAEA;AACA,CAAC,qB;CC5LD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,8FAA8F;AAC9F;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,oEAAoE;AACpE,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA,eAAe,EAAE;AACjB,eAAe,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,gI;AACA;;AAEA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA,aAAa;AACb,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;;AAEA,iCAAiC;AACjC,CAAC,qB;CClWD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,4DAA4D,YAAY;AACxE,4DAA4D,YAAY;AACxE,2DAA2D,YAAY;AACvE,2DAA2D,YAAY;AACvE,4DAA4D,cAAc;AAC1E,6DAA6D,cAAc;AAC3E,6DAA6D,cAAc;AAC3E,8DAA8D,cAAc;;AAE5E;AACA,mEAAmE,gBAAgB;AACnF,mEAAmE,gBAAgB;AACnF,kEAAkE,gBAAgB;AAClF,kEAAkE,gBAAgB;AAClF,qEAAqE,gBAAgB;AACrF,qEAAqE,gBAAgB;;AAErF;AACA,kEAAkE,cAAc;AAChF,wEAAwE,cAAc;AACtF,wEAAwE,cAAc;AACtF,kEAAkE,gBAAgB;;AAElF;AACA,gEAAgE,gBAAgB;AAChF,kEAAkE,gBAAgB;AAClF,qEAAqE,6BAA6B;AAClG,mEAAmE,gBAAgB;;AAEnF;AACA,8DAA8D,mBAAmB;;AAEjF;AACA;AACA,+DAA+D,gBAAgB;AAC/E;;AAEA,iCAAiC;AACjC,CAAC,qB;CCnMD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qEAAqE;AACrE;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,KAAK;AACL,CAAC,I;CC5GD;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA,aAAa;AACb;AACA,wCAAwC;AACxC;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA,0CAA0C;AAC1C;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,CAAC,qB;CCnJD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,2DAA2D;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA,SAAS;;AAET;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA,SAAS;;AAET;;AAEA;AACA,oCAAoC,uCAAuC;AAC3E;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;;AAEA;AACA,oCAAoC,uCAAuC;AAC3E;;AAEA;AACA;AACA;AACA;;AAEA;AACA,SAAS;;AAET;AACA;AACA,2BAA2B,qBAAqB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA,2BAA2B,kCAAkC;AAC7D;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;;AAEA,2BAA2B,kBAAkB;AAC7C;AACA;AACA;;AAEA;AACA,2BAA2B,kCAAkC;AAC7D;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,2CAA2C,cAAc,GAAG,gCAAgC;AAC5F;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,iBAAiB;AACjB;AACA,aAAa;;AAEb;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA,gCAAgC,uCAAuC;AACvE;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,UAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;;AAEA,yCAAyC,8BAA8B;;AAEvE;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA,SAAS;;AAET;;AAEA;AACA;AACA;AACA;;AAEA,yCAAyC,8BAA8B;;;AAGvE;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA,SAAS;;AAET;AACA;AACA;AACA,2BAA2B,kCAAkC;AAC7D;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb,SAAS;;AAET;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA,oCAAoC,uCAAuC;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;;AAEA,qCAAqC,4BAA4B;AACjE;AACA;AACA,oCAAoC,wCAAwC;AAC5E;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,mCAAmC,wBAAwB;AAC3D;AACA;AACA;AACA;AACA;AACA,oCAAoC,wCAAwC;AAC5E;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,gCAAgC,+BAA+B;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA,SAAS;;AAET;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA,SAAS;;AAET;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,wE;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;;AAET;;AAEA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;;AAET;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA;AACA;AACA,uEAAuE,EAAE;;AAEzE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,mBAAmB;AACzD;AACA;AACA;AACA,qBAAqB;AACrB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;;AAET;AACA;AACA,gCAAgC,wCAAwC;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;;AAET;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,+BAA+B;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA,0EAA0E;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA,SAAS;;AAET;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA,gCAAgC,+BAA+B;AAC/D;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA,4BAA4B,2BAA2B;AACvD;AACA,oCAAoC,wCAAwC;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA,gCAAgC,wCAAwC;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;;AAET;AACA;AACA,gCAAgC,wCAAwC;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA,SAAS;;AAET;AACA;AACA,SAAS;;AAET;AACA;AACA,gCAAgC,wCAAwC;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,2BAA2B;AACnE;AACA;AACA;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,2BAA2B;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACrB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,8BAA8B;AACtE;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,mDAAmD,EAAE;AACrD,CAAC,qB;CCjyDD;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC,qB;CCnBD;AACA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CA;AACA;;AAEA;AACA;AACA;AACA,gFAAgF;;AAEhF;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,0BAA0B,sBAAsB;;AAEhD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,SAAS;AAC1B;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;;AAGA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA,UAAU,IAAI;AACd;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA,uBAAuB;;AAEvB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,iBAAiB,wBAAwB;AACzC;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,mBAAmB,6CAA6C;AAChE;AACA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA,OAAO;AACP;AACA;AACA;AACA,OAAO;AACP;AACA;AACA,SAAS;AACT;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA,OAAO;AACP;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;AACA;AACA,UAAU,MAAM;AAChB,UAAU,OAAO;AACjB;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA;AACA,KAAK;AACL,GAAG;;AAEH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,UAAU,MAAM;AAChB;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL,GAAG;AACH;AACA;AACA,qBAAqB,YAAY;AACjC;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;AACA;AACA,UAAU,IAAI;AACd;AACA,WAAW,QAAQ;AACnB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;;AAEA;AACA,UAAU,SAAS;AACnB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;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,KAAK;AACL;AACA;AACA;AACA;AACA,WAAW;AACX;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,UAAU,SAAS;AACnB,UAAU,SAAS;AACnB;AACA,WAAW;AACX;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,UAAU,SAAS;AACnB;AACA,WAAW;AACX;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAA0B;AAC1B,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;;AAEA;AACA,YAAY,SAAS;AACrB,aAAa;AACb;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT,OAAO;AACP;AACA;AACA,SAAS;AACT,OAAO;AACP;;AAEA;AACA;;AAEA;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA,CAAC;;;;;;AAMD,CAAC,yJAAyJ;;AAE1J,CAAC,EAAE,aAAa;AAChB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,OAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,eAAe,SAAS;AACxB;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,GAAG;AACH,oBAAoB,SAAS;AAC7B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,CAAC,GAAG;AACJ;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qCAAqC;;AAErC;AACA;AACA;;AAEA,2BAA2B;AAC3B;AACA;AACA;AACA,4BAA4B,UAAU;;AAEtC,CAAC,GAAG;AACJ;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA,yCAAyC,OAAO;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,6CAA6C,OAAO;AACpD;AACA;AACA;AACA;AACA,8CAA8C,iBAAiB,EAAE;AACjE;AACA;AACA;AACA;;AAEA,oBAAoB;AACpB;AACA,0CAA0C;AAC1C;AACA,sDAAsD;AACtD,+CAA+C;AAC/C,UAAU;AACV;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,YAAY,GAAG;AACf;;AAEA;;AAEA,gCAAgC,0BAA0B;AAC1D,kCAAkC,aAAa;AAC/C;AACA;AACA;AACA;AACA;;AAEA,CAAC,GAAG;AACJ;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,2BAA2B;AAC3B;;AAEA,CAAC,GAAG;AACJ;;AAEA;AACA;AACA,CAAC;;AAED,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE,GAAG;AACpjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uFAAuF;AACvF;AACA,KAAK;AACL;AACA;AACA,qDAAqD;AACrD;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,qDAAqD;AACrD;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,4FAA4F;AAC5F,6FAA6F;AAC7F,6FAA6F;;AAE7F;AACA;AACA,KAAK;;AAEL;AACA,CAAC;;AAED;;AAEA,CAAC,EAAE,6CAA6C;AAChD;;AAEA;AACA;AACA,CAAC;;AAED,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,oCAAoC;AACpC;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA,CAAC;;AAED;;AAEA,CAAC,GAAG;AACJ;;AAEA;AACA;AACA,CAAC;;AAED,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,gCAAgC;AAChC,+BAA+B;AAC/B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,CAAC;;AAED;;;AAGA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,CAAC;;AAED;;;AAGA;AACA;AACA;;AAEA;AACA;AACA,sCAAsC;AACtC;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,8CAA8C;AAC9C,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,CAAC;;AAED,CAAC,GAAG;AACJ;;AAEA;AACA;AACA,CAAC;;AAED,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE,GAAG;AACpjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,8BAA8B;AAC9B;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,uEAAuE,uCAAuC;AAC9G;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qEAAqE;AACrE;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,+BAA+B,wBAAwB;AACvD;AACA;AACA,0DAA0D,yBAAyB;AACnF;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;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,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,mCAAmC,qBAAqB;AACxD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,sEAAsE,+BAA+B;AACrG;AACA,yBAAyB;AACzB;AACA,kEAAkE,yBAAyB;AAC3F;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,0EAA0E;;AAE1E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA,2EAA2E,uCAAuC;AAClH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,CAAC;;AAED;;AAEA,CAAC,EAAE,wIAAwI;AAC3I;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,CAAC,GAAG;AACJ;;AAEA;AACA;AACA,CAAC;;AAED,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE,GAAG;AACpjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,gDAAgD;AAC1F;AACA;AACA;AACA;AACA,0CAA0C,qEAAqE;AAC/G,aAAa;AACb;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,8CAA8C,iBAAiB;AAC/D;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,0CAA0C,eAAe;AACzD,aAAa;AACb;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,0CAA0C,cAAc;AACxD,aAAa;AACb;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,0CAA0C,mCAAmC;AAC7E,aAAa;AACb;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,0CAA0C,eAAe;AACzD,aAAa;AACb;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,0CAA0C,gBAAgB;AAC1D,aAAa;AACb;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA,KAAK;AACL;AACA;AACA;AACA,0CAA0C,uCAAuC;AACjF;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,CAAC;;AAED;;AAEA,CAAC,EAAE,kMAAkM;AACrM;;AAEA;AACA;AACA,CAAC;;AAED,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE,GAAG;AACpjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA,2BAA2B,qBAAqB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,kDAAkD;AAClD;AACA;AACA;AACA;AACA;;AAEA,8CAA8C;AAC9C;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,6CAA6C;;AAE7C;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA,CAAC;;AAED;;AAEA,CAAC,EAAE,sPAAsP;AACzP;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,CAAC,GAAG;AACJ;;AAEA;AACA;AACA,CAAC;;AAED;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,mBAAmB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAkD;AAClD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mDAAmD;AACnD;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,CAAC,EAAE,iJAAiJ;AACpJ;;AAEA;AACA;AACA,CAAC;;AAED,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE,GAAG;AACpjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ;AACA;AACA,6CAA6C;AAC7C,0CAA0C;AAC1C,CAAC;;AAED;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qDAAqD;;AAErD;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;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;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC;AACxC,8CAA8C;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,uBAAuB;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,CAAC;;AAED;;AAEA,CAAC,EAAE,8EAA8E;AACjF;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,CAAC,GAAG;AACJ;;AAEA;AACA;AACA,CAAC;;AAED,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE,GAAG;AACpjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,gCAAgC,2CAA2C;AAC3E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,KAAK;;AAEL;AACA,CAAC;;AAED;;AAEA,CAAC,EAAE,2BAA2B;AAC9B;;AAEA;AACA;AACA,CAAC;;AAED,oGAAoG,mBAAmB,EAAE,mBAAmB,8HAA8H;;AAE1Q,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE,GAAG;AACpjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,gCAAgC;AAChC;AACA,2BAA2B;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,4BAA4B;AAC5B,4BAA4B;;AAE5B;AACA;AACA,qDAAqD;AACrD,kDAAkD;AAClD,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,4CAA4C;AAC5C;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,0BAA0B;AAC1B;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,4DAA4D;AAC5D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,8DAA8D;AAC9D;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA,2BAA2B,4BAA4B;AACvD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA,kDAAkD;AAClD;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;AACvD;AACA,qBAAqB;AACrB,mDAAmD;AACnD;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,qCAAqC;AACrC;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAwD;AACxD;AACA,qBAAqB;AACrB,oDAAoD;AACpD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,qCAAqC;;AAErC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,6CAA6C;;AAE7C;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA,wCAAwC;AACxC,2CAA2C;AAC3C,qDAAqD;AACrD,yCAAyC;;AAEzC;AACA;AACA;AACA;;AAEA,2DAA2D;AAC3D;AACA;AACA;AACA;AACA;;AAEA,8CAA8C;AAC9C;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;;AAEA,2BAA2B,cAAc;AACzC,mDAAmD;AACnD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,+BAA+B,OAAO;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mDAAmD;AACnD;AACA,iBAAiB;AACjB,+CAA+C;AAC/C;AACA;AACA;AACA;AACA;;AAEA,8CAA8C;AAC9C;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;;AAEA,4BAA4B,eAAe;AAC3C,oDAAoD;AACpD;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,2CAA2C;;AAE3C;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA,wDAAwD;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,4BAA4B;AAC5B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;;AAEA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;;AAEA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;;AAEA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;;AAEA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,4BAA4B;;AAE5B;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,CAAC;;AAED;;AAEA,CAAC,EAAE,8IAA8I;AACjJ;;AAEA;AACA;AACA,CAAC;;AAED,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE,GAAG;AACpjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,2BAA2B,gBAAgB;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA,4CAA4C;AAC5C,0BAA0B;AAC1B,0CAA0C;AAC1C,yBAAyB;;AAEzB;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,mCAAmC;AACnC;AACA;AACA;AACA;;AAEA,6CAA6C;AAC7C,6BAA6B;AAC7B,+BAA+B;AAC/B;AACA;AACA;AACA,mCAAmC,wBAAwB;AAC3D;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,6BAA6B;AAC7B,aAAa;AACb,+BAA+B;AAC/B,6BAA6B;AAC7B,6BAA6B;AAC7B;AACA,gCAAgC,4CAA4C;AAC5E,iCAAiC;AACjC;AACA;AACA,0CAA0C;AAC1C,2BAA2B;;AAE3B;AACA;;AAEA;AACA;AACA,+BAA+B;AAC/B;AACA,2BAA2B;;AAE3B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA,mCAAmC;AACnC;AACA;AACA,wCAAwC;AACxC;AACA;AACA;AACA;AACA,iCAAiC;AACjC,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA,8CAA8C;;AAE9C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,2BAA2B,WAAW;AACtC;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;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,CAAC;;AAED;;AAEA,CAAC,EAAE,qBAAqB;AACxB;;AAEA;AACA;AACA,CAAC;;AAED,oGAAoG,mBAAmB,EAAE,mBAAmB,8HAA8H,GAAG;AAC7Q;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;;AAEA,CAAC,EAAE,uPAAuP;AAC1P;;AAEA;;AAEA;AACA;;AAEA,CAAC,EAAE,cAAc;AACjB;;AAEA;AACA;AACA,CAAC;;AAED,oGAAoG,mBAAmB,EAAE,mBAAmB,8HAA8H;;AAE1Q,qDAAqD,kDAAkD,8DAA8D,0BAA0B,4CAA4C,uBAAuB,kBAAkB,EAAE,OAAO,wCAAwC,EAAE,EAAE,4BAA4B,mBAAmB,EAAE,OAAO,uBAAuB,4BAA4B,kBAAkB,EAAE,8BAA8B,EAAE;;AAExe,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,iDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,0CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH,EAAE;AAC9e;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB;AACjB;AACA;AACA,wFAAwF,wCAAwC;AAChI,qBAAqB;AACrB;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,qEAAqE,2BAA2B;AAChG,iBAAiB;AACjB;AACA;AACA,aAAa;AACb;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAoC;AACpC;AACA;AACA,yBAAyB;AACzB;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,4BAA4B;AAC5B,iBAAiB;AACjB;AACA,4BAA4B;AAC5B;;AAEA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb;AACA,KAAK;;AAEL;AACA,CAAC;;AAED;;AAEA,CAAC,EAAE,6FAA6F;AAChG;;AAEA;AACA;AACA,CAAC;;AAED,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE,GAAG;AACpjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,4CAA4C;AAC5C;AACA;AACA;AACA;;AAEA;AACA;AACA,2CAA2C;AAC3C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,kCAAkC;AAClC;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,gEAAgE;AAChE;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,gCAAgC;AAChC,kCAAkC;;AAElC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA,6CAA6C;AAC7C;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA;AACA;AACA;;AAEA,kEAAkE;AAClE;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;;AAEA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA,4DAA4D,0BAA0B;;AAEtF,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,CAAC;;AAED;;AAEA,CAAC,EAAE,ySAAyS;AAC5S;;AAEA;AACA;AACA,CAAC;AACD;;AAEA,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE,GAAG;AACpjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uDAAuD,0BAA0B;AACjF;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;;;AAGA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;;AAEL;AACA,CAAC;;AAED,CAAC,EAAE,2BAA2B;AAC9B;;AAEA;AACA;AACA,CAAC;;AAED,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA,+BAA+B,kBAAkB;AACjD;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA,CAAC;;AAED;;AAEA,CAAC,GAAG;AACJ;;AAEA;AACA;AACA,CAAC;;AAED,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,CAAC;;AAED;;AAEA,CAAC,GAAG;AACJ;;AAEA;AACA;AACA,CAAC;;AAED,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,CAAC;;AAED;;AAEA,CAAC,GAAG;AACJ;;AAEA;AACA;AACA,CAAC;;AAED,qDAAqD,kDAAkD,8DAA8D,0BAA0B,4CAA4C,uBAAuB,kBAAkB,EAAE,OAAO,wCAAwC,EAAE,EAAE,4BAA4B,mBAAmB,EAAE,OAAO,uBAAuB,4BAA4B,kBAAkB,EAAE,8BAA8B,EAAE;;AAExe,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,iDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,0CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH,EAAE;AAC9e;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,aAAa;AACb;;AAEA,4BAA4B;;AAE5B;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,4BAA4B;;AAE5B;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,KAAK;;AAEL;AACA,CAAC;;AAED;;AAEA,CAAC,EAAE,oEAAoE;AACvE;;AAEA;AACA;AACA,CAAC;;AAED,oGAAoG,mBAAmB,EAAE,mBAAmB,8HAA8H;;AAE1Q,qDAAqD,kDAAkD,8DAA8D,0BAA0B,4CAA4C,uBAAuB,kBAAkB,EAAE,OAAO,wCAAwC,EAAE,EAAE,4BAA4B,mBAAmB,EAAE,OAAO,uBAAuB,4BAA4B,kBAAkB,EAAE,8BAA8B,EAAE;;AAExe,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,iDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,0CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH,EAAE;AAC9e;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,sFAAsF,wCAAwC;AAC9H,qBAAqB;AACrB;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,wBAAwB;AACxB,aAAa;AACb;AACA,wBAAwB;AACxB;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,KAAK;;AAEL;AACA,CAAC;;AAED;;AAEA,CAAC,EAAE,oEAAoE;AACvE;;AAEA;AACA;AACA,CAAC;;AAED,oGAAoG,mBAAmB,EAAE,mBAAmB,8HAA8H;;AAE1Q,qDAAqD,kDAAkD,8DAA8D,0BAA0B,4CAA4C,uBAAuB,kBAAkB,EAAE,OAAO,wCAAwC,EAAE,EAAE,4BAA4B,mBAAmB,EAAE,OAAO,uBAAuB,4BAA4B,kBAAkB,EAAE,8BAA8B,EAAE;;AAExe,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,iDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,0CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH,EAAE;AAC9e;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,6BAA6B;;AAE7B;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA,8CAA8C;AAC9C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,sFAAsF,wCAAwC;AAC9H,qBAAqB;AACrB;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,wBAAwB;;AAExB;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,wBAAwB;AACxB,aAAa;AACb;AACA,wBAAwB;AACxB;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,KAAK;;AAEL;AACA,CAAC;;AAED;;AAEA,CAAC,EAAE,oEAAoE;AACvE;;AAEA;AACA;AACA,CAAC;;AAED,oGAAoG,mBAAmB,EAAE,mBAAmB,8HAA8H;;AAE1Q,qDAAqD,kDAAkD,8DAA8D,0BAA0B,4CAA4C,uBAAuB,kBAAkB,EAAE,OAAO,wCAAwC,EAAE,EAAE,4BAA4B,mBAAmB,EAAE,OAAO,uBAAuB,4BAA4B,kBAAkB,EAAE,8BAA8B,EAAE;;AAExe,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ,iDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,0CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH,EAAE;AAC9e;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,kCAAkC;AAClC,oCAAoC;AACpC,kCAAkC;AAClC,kCAAkC;AAClC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,sDAAsD,kBAAkB;AACxE,aAAa;AACb;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA,yCAAyC;AACzC;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,sFAAsF,wCAAwC;AAC9H,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,wBAAwB;AACxB,aAAa;AACb;AACA,wBAAwB;AACxB;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,CAAC;;AAED;;AAEA,CAAC,EAAE,4FAA4F;AAC/F;;AAEA;AACA;AACA,CAAC;;AAED,oGAAoG,mBAAmB,EAAE,mBAAmB,8HAA8H;;AAE1Q,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE,GAAG;AACpjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;;AAEA,qCAAqC;AACrC;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;;AAEb;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA,kHAAkH,sBAAsB;AACxI,aAAa;AACb;AACA;AACA,wFAAwF;AACxF,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA,6FAA6F;AAC7F,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,2BAA2B,qBAAqB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA,2BAA2B,qBAAqB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA,2BAA2B,qBAAqB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,kEAAkE;AAClE;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;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,mCAAmC;AACnC;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC;AACnC;AACA,KAAK;;AAEL;AACA,CAAC;;AAED;;AAEA,CAAC,EAAE,+QAA+Q;AAClR;;AAEA;AACA;AACA,CAAC;;AAED,oGAAoG,mBAAmB,EAAE,mBAAmB,8HAA8H;;AAE1Q,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE,GAAG;AACpjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA,aAAa;AACb;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA,CAAC;;AAED;;AAEA,CAAC,EAAE,+EAA+E;AAClF;;AAEA;AACA;AACA,CAAC;AACD;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA,CAAC,EAAE,mDAAmD;AACtD;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,CAAC,GAAG;AACJ;;AAEA;AACA;AACA,CAAC;;AAED,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,CAAC;;AAED;;AAEA,CAAC,GAAG;AACJ;;AAEA;AACA;AACA,CAAC;;AAED,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA,2BAA2B,gBAAgB;AAC3C;AACA;;AAEA;AACA,2CAA2C;AAC3C;AACA;AACA;;AAEA,gCAAgC;;AAEhC;AACA,4BAA4B,iBAAiB;AAC7C;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;;AAEA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,CAAC;;AAED;;AAEA;;AAEA,CAAC,GAAG;AACJ;;AAEA;AACA;AACA,CAAC;;AAED,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE,GAAG;AACpjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,2BAA2B;AAC3B;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,uCAAuC;AAChF;AACA,qBAAqB;AACrB,iBAAiB;AACjB;AACA;AACA;;AAEA;;AAEA;AACA,2BAA2B,oBAAoB;AAC/C;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,8DAA8D;;AAE9D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,mCAAmC,gBAAgB;AACnD,4DAA4D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,gEAAgE,UAAU,cAAc,eAAe;AACvG,wBAAwB;;AAExB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,4BAA4B,wBAAwB;AACpD;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,2BAA2B,oBAAoB;AAC/C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,6BAA6B,yBAAyB;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,KAAK;;AAEL;AACA,CAAC;;AAED;;AAEA,CAAC,EAAE,2JAA2J;AAC9J;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA,CAAC,GAAG;AACJ;;AAEA;AACA;AACA,CAAC;;AAED,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB,iDAAiD,aAAa,uFAAuF,EAAE,uFAAuF;;AAE9O,0CAA0C,+DAA+D,qGAAqG,EAAE,yEAAyE,eAAe,yEAAyE,EAAE,EAAE,uHAAuH;;AAE5e,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,CAAC;;AAED;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,CAAC;;AAED,CAAC,GAAG;AACJ;;AAEA;AACA;AACA,CAAC;;AAED,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE,GAAG;AACpjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;AACA,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA,CAAC,EAAE,WAAW;AACd;;AAEA;AACA;AACA,CAAC;;AAED,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE,GAAG;AACpjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;;AAEA,sCAAsC,uCAAuC,gBAAgB;;AAE7F,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,CAAC;;AAED;;AAEA;;AAEA,CAAC,EAAE,4BAA4B;AAC/B;;AAEA;AACA;AACA,CAAC;;AAED,gCAAgC,2CAA2C,gBAAgB,kBAAkB,OAAO,2BAA2B,wDAAwD,gCAAgC,uDAAuD,2DAA2D,EAAE,EAAE,yDAAyD,qEAAqE,6DAA6D,oBAAoB,GAAG,EAAE;;AAEjjB,iDAAiD,0CAA0C,0DAA0D,EAAE;;AAEvJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,+BAA+B,sBAAsB;AACrD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,CAAC;;AAED;;AAEA;;AAEA,CAAC,EAAE,gBAAgB;AACnB;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA,CAAC,GA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AACA;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,eAAe,iBAAiB;AAChC;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qBAAqB,gCAAgC;AACrD;AACA;AACA;AACA,mBAAmB,YAAY;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,E;CC7HA,sBAAsB,aAAa,qCAAqC,4BAA4B,EAAE,+DAA+D,6NAA6N,4CAA4C,OAAO,qEAAqE,qEAAqE,8CAA8C,OAAO,2FAA2F,qEAAqE,8CAA8C,gOAAgO,8CAA8C,iEAAiE,sCAAsC,yBAAyB,2BAA2B,qDAAqD,mEAAmE,kDAAkD,gCAAgC,mCAAmC,QAAQ,WAAW,4BAA4B,SAAS,wCAAwC,2BAA2B,wCAAwC,uGAAuG,sCAAsC,wBAAwB,0KAA0K,QAAQ,uBAAuB,2CAA2C,IAAI,oGAAoG,sT;;ACC5nE;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,4BAA4B,6BAA6B;AACzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,uBAAuB,mBAAmB;AAC1C;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;CCtMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,yBAAyB,yBAAyB;AAClD;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,kCAAkC,QAAQ;AAC1C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,qCAAqC,QAAQ;AAC7C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,+BAA+B,OAAO;AACtC;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,4BAA4B;AAC5B,kCAAkC,YAAY;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,qBAAqB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA,2BAA2B,qBAAqB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,qBAAqB;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,wBAAwB,2BAA2B;AACnD;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA,uBAAuB,QAAQ;AAC/B;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,QAAQ;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,6CAA6C,OAAO;AACpD;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D,OAAO;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAmC,8BAA8B;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,yCAAyC,QAAQ;AACjD;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA,uBAAuB,OAAO;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,I;CCrlBD;AACA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,4CAA4C;;AAE5C;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA,SAAS;AACT,0CAA0C;AAC1C,kCAAkC;AAClC;AACA;AACA,SAAS;AACT,cAAc;AACd;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,gBAAgB;AAChB;AACA;AACA;;;;AAIA;AACA;AACA;AACA,mBAAmB,wBAAwB;AAC3C;AACA;AACA;AACA,SAAS;AACT,mBAAmB,UAAU;AAC7B;AACA;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA,mCAAmC;AACnC,mDAAmD;AACnD,4BAA4B;AAC5B,SAAS,sCAAsC;;AAE/C,oBAAoB;AACpB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,0BAA0B;AAC1B;AACA;AACA;AACA;AACA,sBAAsB;AACtB;AACA;AACA;AACA;AACA;AACA,wCAAwC,qC;AACxC;AACA,0BAA0B;AAC1B;AACA;AACA;AACA,0CAA0C;AAC1C,aAAa;AACb;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA,sCAAsC;AACtC;AACA;AACA;AACA;AACA,8CAA8C;AAC9C,8BAA8B;AAC9B,SAAS;;AAET;;AAEA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;;AAEA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,mBAAmB,YAAY;AAC/B;AACA,oEAAoE;AACpE;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA,mBAAmB,YAAY;AAC/B;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,mBAAmB,YAAY;AAC/B;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,mBAAmB,YAAY;AAC/B;AACA,oEAAoE;AACpE;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,mBAAmB,YAAY;AAC/B;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,oCAAoC,gBAAgB;AACpD;AACA;AACA,gBAAgB,sBAAsB;AACtC;AACA;AACA;AACA;;AAEA,CAAC;;;;;;;;;;;CCrWD,aAAa,SAAS,cAAc,4BAA4B,YAAY,qBAAqB,2DAA2D,gCAAgC,qCAAqC,oBAAoB,EAAE,iBAAiB,4FAA4F,eAAe,wCAAwC,SAAS,EAAE,mBAAmB,8BAA8B,qDAAqD,0BAA0B,6CAA6C,sBAAsB,6DAA6D,YAAY,eAAe,SAAS,iBAAiB,iCAAiC,iBAAiB,YAAY,UAAU,sBAAsB,mBAAmB,iDAAiD,kBAAkB,+CAA+C,yBAAyB,aAAa,QAAQ,uBAAuB,0EAA0E,qEAAqE,8FAA8F,qDAAqD,kDAAkD,uCAAuC,gKAAgK,kCAAkC,+EAA+E,yBAAyB,sBAAsB,QAAQ,OAAO,gBAAgB,mBAAmB,qBAAqB,EAAE,WAAW,uCAAuC,eAAe,mBAAmB,iBAAiB,SAAS,uCAAuC,+EAA+E,gCAAgC,cAAc,+GAA+G,2CAA2C,gCAAgC,eAAe,gCAAgC,yCAAyC,0DAA0D,WAAW,gBAAgB,eAAe,UAAU,OAAO,yBAAyB,yBAAyB,OAAO,sBAAsB,YAAY,uFAAuF,SAAS,GAAG,sCAAsC,mCAAmC,uBAAuB,IAAI,KAAK,WAAW,0BAA0B,SAAS,OAAO,eAAe,oCAAoC,qDAAqD,UAAU,SAAS,4IAA4I,mBAAmB,2BAA2B,4BAA4B,IAAI,2BAA2B,SAAS,8BAA8B,qCAAqC,kCAAkC,oDAAoD,YAAY,EAAE,4CAA4C,8GAA8G,kDAAkD,EAAE,0CAA0C,8DAA8D,+BAA+B,kDAAkD,SAAS,EAAE,uCAAuC,wDAAwD,iCAAiC,oDAAoD,SAAS,EAAE,yCAAyC,4DAA4D,0CAA0C,kBAAkB,yEAAyE,IAAI,sDAAsD,oCAAoC,IAAI,8CAA8C,YAAY,6CAA6C,oEAAoE,oCAAoC,qBAAqB,uGAAuG,IAAI,cAAc,YAAY,uCAAuC,wDAAwD,kCAAkC,wCAAwC,uCAAuC,wDAAwD,uCAAuC,wCAAwC,4CAA4C,kEAAkE,qEAAqE,yCAAyC,yBAAyB,qEAAqE,IAAI,mBAAmB,IAAI,2CAA2C,oCAAoC,IAAI,UAAU,IAAI,6BAA6B,6BAA6B,sHAAsH,SAAS,UAAU,yBAAyB,gBAAgB,oDAAoD,0BAA0B,UAAU,mBAAmB,gCAAgC,yCAAyC,wCAAwC,8EAA8E,2EAA2E,qGAAqG,0CAA0C,6OAA6O,wCAAwC,aAAa,qEAAqE,uCAAuC,gDAAgD,uCAAuC,2DAA2D,0CAA0C,kDAAkD,sBAAsB,EAAE,uCAAuC,kDAAkD,aAAa,EAAE,yCAAyC,kDAAkD,eAAe,EAAE,6CAA6C,2BAA2B,mBAAmB,oCAAoC,yCAAyC,wCAAwC,kEAAkE,WAAW,KAAK,WAAW,wCAAwC,6BAA6B,OAAO,mCAAmC,yCAAyC,iBAAiB,gBAAgB,MAAM,KAAK,gBAAgB,cAAc,KAAK,eAAe,kBAAkB,oBAAoB,OAAO,OAAO,wBAAwB,uFAAuF,SAAS,GAAG,2DAA2D,SAAS,kCAAkC,+BAA+B,uCAAuC,iCAAiC,gDAAgD,8BAA8B,EAAE,UAAU,2DAA2D,kEAAkE,2BAA2B,gBAAgB,EAAE,iBAAiB,eAAe,+BAA+B,gCAAgC,gUAAgU,EAAE,8BAA8B,gCAAgC,mCAAmC,QAAQ,kKAAkK,iCAAiC,gDAAgD,yDAAyD,+BAA+B,8CAA8C,gCAAgC,6BAA6B,+BAA+B,4BAA4B,gCAAgC,8BAA8B,4BAA4B,KAAK,4BAA4B,SAAS,qBAAqB,gCAAgC,8BAA8B,wBAAwB,KAAK,oBAAoB,SAAS,qBAAqB,+BAA+B,gDAAgD,+BAA+B,wDAAwD,+BAA+B,8BAA8B,6CAA6C,gBAAgB,gCAAgC,gDAAgD,gCAAgC,8BAA8B,6CAA6C,gBAAgB,gCAAgC,oEAAoE,oCAAoC,wBAAwB,8CAA8C,QAAQ,mBAAmB,yCAAyC,sBAAsB,4BAA4B,mBAAmB,oCAAoC,sBAAsB,kBAAkB,mBAAmB,kCAAkC,oBAAoB,gCAAgC,2DAA2D,8BAA8B,gBAAgB,+BAA+B,kBAAkB,YAAY,gCAAgC,gBAAgB,kCAAkC,qCAAqC,yDAAyD,sCAAsC,sDAAsD,kCAAkC,mCAAmC,0CAA0C,iFAAiF,4KAA4K,qCAAqC,YAAY,mBAAmB,KAAK,mBAAmB,2EAA2E,SAAS,iCAAiC,wCAAwC,qEAAqE,yCAAyC,yBAAyB,qEAAqE,IAAI,mBAAmB,IAAI,qCAAqC,wDAAwD,IAAI,yBAAyB,6BAA6B,yIAAyI,SAAS,UAAU,yBAAyB,gCAAgC,0BAA0B,UAAU,mBAAmB,mBAAmB,yBAAyB,uCAAuC,wDAAwD,0CAA0C,wDAAwD,wCAAwC,8BAA8B,uCAAuC,wBAAwB,0CAA0C,2BAA2B,yCAAyC,0BAA0B,6CAA6C,WAAW,8BAA8B,uBAAuB,EAAE,gCAAgC,uOAAuO,EAAE,kCAAkC,yCAAyC,4GAA4G,wHAAwH,YAAY,0CAA0C,iBAAiB,mBAAmB,KAAK,2BAA2B,mFAAmF,6HAA6H,SAAS,mCAAmC,kDAAkD,iEAAiE,KAAK,aAAa,EAAE,8BAA8B,SAAS,0CAA0C,yEAAyE,wCAAwC,kEAAkE,6BAA6B,KAAK,sBAAsB,iGAAiG,+CAA+C,wFAAwF,uCAAuC,sEAAsE,4CAA4C,+EAA+E,yCAAyC,mDAAmD,MAAM,uEAAuE,SAAS,4BAA4B,YAAY,8CAA8C,qFAAqF,uCAAuC,iDAAiD,+BAA+B,wDAAwD,SAAS,4BAA4B,YAAY,4CAA4C,gFAAgF,8BAA8B,wCAAwC,kBAAkB,kCAAkC,mFAAmF,UAAU,wBAAwB,qDAAqD,2BAA2B,QAAQ,0UAA0U,8MAA8M,qFAAqF,4BAA4B,wCAAwC,cAAc,mCAAmC,YAAY,gEAAgE,gCAAgC,sBAAsB,6EAA6E,uGAAuG,sFAAsF,qGAAqG,mDAAmD,0EAA0E,oCAAoC,6BAA6B,mCAAmC,sCAAsC,qHAAqH,gEAAgE,qCAAqC,+CAA+C,mIAAmI,yIAAyI,kDAAkD,8BAA8B,0HAA0H,kCAAkC,yCAAyC,6GAA6G,2BAA2B,iBAAiB,qCAAqC,0CAA0C,YAAY,EAAE,2CAA2C,OAAO,SAAS,8BAA8B,uBAAuB,qBAAqB,sCAAsC,8BAA8B,MAAM,uBAAuB,iCAAiC,OAAO,4CAA4C,QAAQ,OAAO,sCAAsC,uBAAuB,4DAA4D,kDAAkD,0BAA0B,cAAc,oKAAoK,6BAA6B,+BAA+B,uCAAuC,0EAA0E,gDAAgD,gCAAgC,6CAA6C,qCAAqC,yBAAyB,sIAAsI,0HAA0H,+GAA+G,eAAe,cAAc,YAAY,WAAW,WAAW,aAAa,iCAAiC,2BAA2B,4BAA4B,+BAA+B,yFAAyF,0GAA0G,KAAK,KAAK,uDAAuD,+BAA+B,8BAA8B,QAAQ,kCAAkC,mGAAmG,sHAAsH,4DAA4D,uCAAuC,uDAAuD,+IAA+I,sCAAsC,aAAa,QAAQ,eAAe,EAAE,yBAAyB,oCAAoC,iCAAiC,QAAQ,0BAA0B,uBAAuB,YAAY,IAAI,0CAA0C,2CAA2C,sIAAsI,oCAAoC,4HAA4H,uCAAuC,2KAA2K,SAAS,4CAA4C,qCAAqC,qCAAqC,0DAA0D,oCAAoC,+BAA+B,6BAA6B,8BAA8B,IAAI,MAAM,4BAA4B,4CAA4C,2CAA2C,EAAE,KAAK,8DAA8D,iDAAiD,yCAAyC,oEAAoE,4JAA4J,QAAQ,2BAA2B,wCAAwC,kBAAkB,sCAAsC,oFAAoF,uCAAuC,uDAAuD,6EAA6E,oCAAoC,2BAA2B,2BAA2B,0EAA0E,iCAAiC,wDAAwD,sBAAsB,wVAAwV,SAAS,mEAAmE,gGAAgG,gCAAgC,aAAa,sBAAsB,kBAAkB,sCAAsC,uFAAuF,mEAAmE,mBAAmB,6BAA6B,QAAQ,WAAW,KAAK,WAAW,iCAAiC,8BAA8B,qCAAqC,WAAW,KAAK,6EAA6E,0FAA0F,0BAA0B,mCAAmC,gFAAgF,gIAAgI,eAAe,YAAY,WAAW,iFAAiF,mBAAmB,gCAAgC,mFAAmF,qCAAqC,kDAAkD,yCAAyC,cAAc,QAAQ,yBAAyB,sFAAsF,8CAA8C,+GAA+G,yBAAyB,eAAe,gBAAgB,mBAAmB,oCAAoC,gCAAgC,wCAAwC,uCAAuC,uJAAuJ,8HAA8H,sDAAsD,SAAS,yBAAyB,gBAAgB,kCAAkC,eAAe,0BAA0B,8BAA8B,8BAA8B,qBAAqB,yDAAyD,6BAA6B,0DAA0D,2BAA2B,yBAAyB,4BAA4B,0BAA0B,2BAA2B,yBAAyB,6BAA6B,iCAAiC,2BAA2B,eAAe,0CAA0C,yBAAyB,yEAAyE,yBAAyB,8BAA8B,4BAA4B,uEAAuE,IAAI,6BAA6B,WAAW,2KAA2K,6CAA6C,4BAA4B,yBAAyB,uCAAuC,SAAS,SAAS,kCAAkC,sCAAsC,8BAA8B,oBAAoB,uBAAuB,8CAA8C,kBAAkB,4CAA4C,wDAAwD,kBAAkB,6BAA6B,2BAA2B,gLAAgL,4BAA4B,8CAA8C,kBAAkB,gBAAgB,kDAAkD,0BAA0B,yBAAyB,kDAAkD,gBAAgB,6BAA6B,iEAAiE,KAAK,kEAAkE,2EAA2E,oCAAoC,IAAI,8BAA8B,UAAU,6BAA6B,kCAAkC,iDAAiD,KAAK,uDAAuD,qHAAqH,8DAA8D,kBAAkB,kCAAkC,eAAe,eAAe,iBAAiB,WAAW,oBAAoB,oBAAoB,6EAA6E,UAAU,yBAAyB,sCAAsC,mDAAmD,wIAAwI,0BAA0B,MAAM,IAAI,iBAAiB,8BAA8B,KAAK,uCAAuC,SAAS,mCAAmC,wBAAwB,qCAAqC,OAAO,6BAA6B,cAAc,qHAAqH,wCAAwC,mBAAmB,wBAAwB,kCAAkC,2BAA2B,8BAA8B,yMAAyM,kBAAkB,wCAAwC,mBAAmB,wBAAwB,4CAA4C,oCAAoC,mBAAmB,wBAAwB,KAAK,wBAAwB,EAAE,sEAAsE,2CAA2C,yDAAyD,0FAA0F,wBAAwB,oBAAoB,0EAA0E,gCAAgC,yDAAyD,yEAAyE,gPAAgP,2GAA2G,2EAA2E,+EAA+E,iBAAiB,oCAAoC,2FAA2F,SAAS,SAAS,sMAAsM,sEAAsE,YAAY,mDAAmD,0GAA0G,qCAAqC,0GAA0G,wFAAwF,4DAA4D,iCAAiC,+LAA+L,6DAA6D,8EAA8E,wCAAwC,uBAAuB,UAAU,uCAAuC,oFAAoF,uBAAuB,wFAAwF,gDAAgD,kCAAkC,iBAAiB,sDAAsD,SAAS,8CAA8C,gEAAgE,0BAA0B,KAAK,uBAAuB,wDAAwD,4GAA4G,cAAc,iBAAiB,wCAAwC,MAAM,wCAAwC,MAAM,gCAAgC,MAAM,8BAA8B,MAAM,iDAAiD,4CAA4C,sGAAsG,iLAAiL,sEAAsE,mDAAmD,oHAAoH,OAAO,+DAA+D,gDAAgD,6DAA6D,eAAe,YAAY,iBAAiB,IAAI,yGAAyG,YAAY,+DAA+D,SAAS,GAAG,WAAW,yDAAyD,WAAW,qJAAqJ,SAAS,GAAG,YAAY,oBAAoB,yKAAyK,cAAc,8BAA8B,0EAA0E,KAAK,oBAAoB,kBAAkB,wDAAwD,mGAAmG,yGAAyG,SAAS,sCAAsC,6BAA6B,oCAAoC,wBAAwB,+BAA+B,qDAAqD,qEAAqE,mDAAmD,qFAAqF,iDAAiD,wCAAwC,gCAAgC,uEAAuE,qBAAqB,wBAAwB,sBAAsB,4CAA4C,4DAA4D,6CAA6C,4BAA4B,uCAAuC,mBAAmB,qGAAqG,gEAAgE,0GAA0G,4BAA4B,iCAAiC,2BAA2B,mCAAmC,wBAAwB,wCAAwC,8BAA8B,iCAAiC,aAAa,uCAAuC,mDAAmD,uCAAuC,uCAAuC,8CAA8C,uCAAuC,6CAA6C,iCAAiC,yCAAyC,qCAAqC,gDAAgD,2EAA2E,uEAAuE,gBAAgB,aAAa,8CAA8C,kCAAkC,kCAAkC,mCAAmC,kCAAkC,kDAAkD,wDAAwD,uBAAuB,iDAAiD,iBAAiB,eAAe,eAAe,gGAAgG,IAAI,KAAK,OAAO,WAAW,0FAA0F,qDAAqD,2CAA2C,uDAAuD,6CAA6C,6DAA6D,6FAA6F,qCAAqC,mCAAmC,gDAAgD,uCAAuC,oDAAoD,sCAAsC,2CAA2C,mCAAmC,mCAAmC,uCAAuC,8CAA8C,qCAAqC,6EAA6E,IAAI,KAAK,yCAAyC,2DAA2D,6DAA6D,6DAA6D,iEAAiE,wEAAwE,gEAAgE,kGAAkG,IAAI,SAAS,uTAAuT,2LAA2L,wDAAwD,gFAAgF,qDAAqD,SAAS,MAAM,WAAW,WAAW,aAAa,OAAO,qIAAqI,WAAW,cAAc,qBAAqB,8BAA8B,qCAAqC,0EAA0E,EAAE,kDAAkD,uBAAuB,IAAI,iBAAiB,UAAU,oBAAoB,mBAAmB,mBAAmB,qBAAqB,6BAA6B,8BAA8B,2CAA2C,UAAU,EAAE,wCAAwC,QAAQ,+CAA+C,uDAAuD,MAAM,wCAAwC,8DAA8D,uCAAuC,uBAAuB,IAAI,KAAK,yBAAyB,4EAA4E,SAAS,sCAAsC,0HAA0H,8CAA8C,yDAAyD,WAAW,iBAAiB,0CAA0C,8FAA8F,0CAA0C,kCAAkC,6GAA6G,6BAA6B,UAAU,+BAA+B,YAAY,oBAAoB,WAAW,KAAK,oCAAoC,qFAAqF,8BAA8B,sCAAsC,iBAAiB,WAAW,6CAA6C,kBAAkB,oCAAoC,wEAAwE,gHAAgH,wBAAwB,4JAA4J,oCAAoC,uBAAuB,mDAAmD,6DAA6D,mCAAmC,kCAAkC,sCAAsC,QAAQ,6EAA6E,kCAAkC,iDAAiD,uBAAuB,qCAAqC,kDAAkD,uBAAuB,sCAAsC,qCAAqC,qDAAqD,0DAA0D,mBAAmB,eAAe,0BAA0B,uCAAuC,4HAA4H,kCAAkC,4BAA4B,qCAAqC,+CAA+C,wCAAwC,gIAAgI,2CAA2C,gIAAgI,UAAU,KAAK,oFAAoF,GAAG,oDAAoD,wCAAwC,qCAAqC,yCAAyC,0IAA0I,YAAY,SAAS,4CAA4C,sBAAsB,kCAAkC,gBAAgB,WAAW,+BAA+B,SAAS,uGAAuG,iDAAiD,kCAAkC,gBAAgB,sDAAsD,0CAA0C,uCAAuC,0CAA0C,iCAAiC,qCAAqC,oDAAoD,uBAAuB,EAAE,wCAAwC,yDAAyD,uCAAuC,yDAAyD,oFAAoF,yBAAyB,EAAE,oCAAoC,2EAA2E,kCAAkC,yGAAyG,wCAAwC,aAAa,aAAa,cAAc,uBAAuB,qCAAqC,wCAAwC,cAAc,iBAAiB,2DAA2D,YAAY,aAAa,WAAW,QAAQ,WAAW,KAAK,SAAS,YAAY,WAAW,6DAA6D,QAAQ,WAAW,cAAc,mBAAmB,gBAAgB,kFAAkF,wGAAwG,wKAAwK,QAAQ,+GAA+G,yBAAyB,MAAM,WAAW,QAAQ,wBAAwB,4EAA4E,0CAA0C,4DAA4D,qCAAqC,2HAA2H,iCAAiC,0JAA0J,2CAA2C,uLAAuL,2CAA2C,uLAAuL,6CAA6C,2LAA2L,2CAA2C,uLAAuL,0CAA0C,qLAAqL,4CAA4C,yLAAyL,4CAA4C,8NAA8N,iDAAiD,wNAAwN,uDAAuD,oGAAoG,mCAAmC,sMAAsM,cAAc,kHAAkH,qBAAqB,gKAAgK,+EAA+E,iBAAiB,oHAAoH,KAAK,WAAW,iCAAiC,SAAS,wIAAwI,sGAAsG,iBAAiB,sIAAsI,KAAK,KAAK,iCAAiC,SAAS,gIAAgI,wEAAwE,iBAAiB,wDAAwD,IAAI,+BAA+B,yCAAyC,gDAAgD,UAAU,KAAK,+BAA+B,8HAA8H,8EAA8E,iBAAiB,iEAAiE,IAAI,eAAe,WAAW,4BAA4B,SAAS,wHAAwH,2EAA2E,iBAAiB,mEAAmE,IAAI,sCAAsC,SAAS,gIAAgI,oGAAoG,mBAAmB,QAAQ,0CAA0C,oBAAoB,IAAI,0IAA0I,sIAAsI,mBAAmB,QAAQ,+CAA+C,oBAAoB,IAAI,0HAA0H,4EAA4E,iBAAiB,wDAAwD,IAAI,2CAA2C,SAAS,4HAA4H,6EAA6E,iBAAiB,wDAAwD,IAAI,4CAA4C,SAAS,kCAAkC,QAAQ,4CAA4C,qBAAqB,MAAM,iCAAiC,gFAAgF,sCAAsC,wDAAwD,IAAI,2CAA2C,SAAS,sCAAsC,qFAAqF,2CAA2C,gDAAgD,UAAU,KAAK,2CAA2C,SAAS,mCAAmC,kCAAkC,gCAAgC,mBAAmB,8BAA8B,yCAAyC,KAAK,gBAAgB,WAAW,iCAAiC,oCAAoC,qCAAqC,2BAA2B,0CAA0C,oDAAoD,yCAAyC,MAAM,wFAAwF,iCAAiC,gCAAgC,2CAA2C,mCAAmC,wFAAwF,qCAAqC,yEAAyE,wCAAwC,QAAQ,+CAA+C,+CAA+C,IAAI,+BAA+B,+DAA+D,6BAA6B,+DAA+D,gCAAgC,eAAe,QAAQ,uBAAuB,IAAI,cAAc,SAAS,SAAS,qEAAqE,YAAY,mBAAmB,KAAK,mBAAmB,wBAAwB,gCAAgC,aAAa,YAAY,IAAI,gBAAgB,gBAAgB,qCAAqC,yGAAyG,kCAAkC,iIAAiI,6CAA6C,OAAO,kBAAkB,mEAAmE,OAAO,KAAK,gBAAgB,WAAW,EAAE,oBAAoB,8DAA8D,WAAW,yCAAyC,qEAAqE,yCAAyC,iDAAiD,8CAA8C,yBAAyB,IAAI,EAAE,eAAe,sDAAsD,cAAc,+BAA+B,qCAAqC,qCAAqC,YAAY,WAAW,UAAU,oBAAoB,mCAAmC,oCAAoC,2CAA2C,MAAM,WAAW,oBAAoB,sCAAsC,mCAAmC,gCAAgC,oBAAoB,EAAE,6CAA6C,mCAAmC,YAAY,IAAI,qCAAqC,+BAA+B,YAAY,WAAW,KAAK,qBAAqB,yBAAyB,SAAS,mCAAmC,2EAA2E,eAAe,uCAAuC,YAAY,IAAI,8BAA8B,SAAS,qCAAqC,+BAA+B,0CAA0C,IAAI,KAAK,mBAAmB,iBAAiB,oDAAoD,yCAAyC,sBAAsB,gDAAgD,sCAAsC,iDAAiD,aAAa,yCAAyC,kFAAkF,yCAAyC,uEAAuE,mCAAmC,YAAY,KAAK,WAAW,KAAK,6BAA6B,yCAAyC,SAAS,qCAAqC,SAAS,0CAA0C,qBAAqB,IAAI,kCAAkC,iBAAiB,mDAAmD,eAAe,IAAI,eAAe,aAAa,IAAI,eAAe,SAAS,iCAAiC,iBAAiB,IAAI,WAAW,SAAS,gCAAgC,iBAAiB,mBAAmB,KAAK,mBAAmB,+BAA+B,WAAW,wFAAwF,WAAW,iBAAiB,eAAe,SAAS,iCAAiC,2KAA2K,qCAAqC,yJAAyJ,4BAA4B,8BAA8B,uCAAuC,mBAAmB,mDAAmD,QAAQ,IAAI,KAAK,iBAAiB,mBAAmB,4BAA4B,UAAU,SAAS,kCAAkC,sCAAsC,IAAI,KAAK,mCAAmC,kBAAkB,sCAAsC,SAAS,wCAAwC,aAAa,IAAI,cAAc,0CAA0C,qBAAqB,WAAW,KAAK,0BAA0B,MAAM,oBAAoB,SAAS,SAAS,0CAA0C,2DAA2D,iBAAiB,WAAW,SAAS,mCAAmC,sCAAsC,SAAS,uCAAuC,oCAAoC,2CAA2C,WAAW,uCAAuC,6EAA6E,iBAAiB,WAAW,6CAA6C,SAAS,8CAA8C,qBAAqB,WAAW,KAAK,sBAAsB,sPAAsP,SAAS,8CAA8C,qBAAqB,WAAW,EAAE,gDAAgD,sBAAsB,aAAa,2CAA2C,sBAAsB,SAAS,gEAAgE,qFAAqF,6EAA6E,kBAAkB,uCAAuC,uEAAuE,iBAAiB,WAAW,sBAAsB,SAAS,aAAa,uBAAuB,4BAA4B,+DAA+D,+CAA+C,+BAA+B,mDAAmD,6BAA6B,4IAA4I,4FAA4F,kDAAkD,2CAA2C,qDAAqD,8CAA8C,iCAAiC,+DAA+D,8CAA8C,gDAAgD,2DAA2D,0EAA0E,YAAY,kCAAkC,SAAS,gCAAgC,mDAAmD,0DAA0D,gDAAgD,uDAAuD,kDAAkD,6JAA6J,gDAAgD,uDAAuD,+CAA+C,6HAA6H,qDAAqD,4DAA4D,iDAAiD,wDAAwD,mDAAmD,0DAA0D,oDAAoD,uDAAuD,oDAAoD,mDAAmD,sZAAsZ,QAAQ,uIAAuI,4DAA4D,mFAAmF,eAAe,qCAAqC,kCAAkC,oCAAoC,WAAW,2CAA2C,SAAS,iCAAiC,WAAW,mCAAmC,SAAS,kCAAkC,8CAA8C,SAAS,mCAAmC,+CAA+C,SAAS,kCAAkC,UAAU,eAAe,SAAS,mCAAmC,wBAAwB,qCAAqC,2BAA2B,oCAAoC,sCAAsC,mCAAmC,eAAe,uBAAuB,SAAS,iCAAiC,eAAe,oBAAoB,SAAS,0CAA0C,sDAAsD,sCAAsC,KAAK,SAAS,uCAAuC,wBAAwB,yCAAyC,mCAAmC,SAAS,qCAAqC,8CAA8C,uCAAuC,2CAA2C,iCAAiC,wBAAwB,SAAS,+BAA+B,2BAA2B,kCAAkC,MAAM,gCAAgC,iCAAiC,+EAA+E,uBAAuB,iCAAiC,+BAA+B,iCAAiC,OAAO,4CAA4C,0BAA0B,wDAAwD,kCAAkC,kCAAkC,kDAAkD,iCAAiC,SAAS,+BAA+B,WAAW,qBAAqB,SAAS,qCAAqC,6CAA6C,6CAA6C,yBAAyB,8CAA8C,SAAS,SAAS,mCAAmC,WAAW,qBAAqB,SAAS,2KAA2K,gBAAgB,mBAAmB,KAAK,kCAAkC,YAAY,uCAAuC,+FAA+F,gCAAgC,uBAAuB,uFAAuF,iDAAiD,YAAY,KAAK,IAAI,oCAAoC,SAAS,mCAAmC,uBAAuB,0FAA0F,YAAY,KAAK,IAAI,uBAAuB,SAAS,6CAA6C,QAAQ,qFAAqF,yCAAyC,4CAA4C,+BAA+B,oDAAoD,wGAAwG,iDAAiD,2GAA2G,mDAAmD,uDAAuD,sDAAsD,0DAA0D,qDAAqD,kUAAkU,oDAAoD,wDAAwD,yDAAyD,ySAAyS,qDAAqD,mMAAmM,6DAA6D,2NAA2N,uvBAAuvB,uDAAuD,mDAAmD,cAAc,uCAAuC,8CAA8C,0FAA0F,mDAAmD,SAAS,iCAAiC,aAAa,EAAE,8CAA8C,2MAA2M,2DAA2D,kFAAkF,uDAAuD,kDAAkD,qCAAqC,+EAA+E,kBAAkB,MAAM,kBAAkB,MAAM,mBAAmB,MAAM,mBAAmB,aAAa,YAAY,SAAS,8BAA8B,gDAAgD,yDAAyD,iDAAiD,2GAA2G,8CAA8C,uDAAuD,gDAAgD,yGAAyG,+CAA+C,+KAA+K,kDAAkD,8CAA8C,yGAAyG,wFAAwF,0CAA0C,0BAA0B,SAAS,wDAAwD,oDAAoD,YAAY,WAAW,KAAK,WAAW,0BAA0B,0DAA0D,iFAAiF,4DAA4D,oCAAoC,eAAe,EAAE,mBAAmB,kBAAkB,keAAke,+CAA+C,wCAAwC,mCAAmC,wsBAAwsB,gFAAgF,gLAAgL,oCAAoC,yBAAyB,4xBAA4xB,yFAAyF,kJAAkJ,oCAAoC,wDAAwD,wfAAwf,gCAAgC,IAAI,WAAW,SAAS,UAAU,6CAA6C,iFAAiF,mDAAmD,2GAA2G,kDAAkD,0CAA0C,uCAAuC,QAAQ,mGAAmG,QAAQ,gEAAgE,4CAA4C,2BAA2B,+BAA+B,gGAAgG,wCAAwC,0CAA0C,8CAA8C,0LAA0L,6GAA6G,+CAA+C,6GAA6G,+DAA+D,yGAAyG,4BAA4B,g6BAAg6B,sFAAsF,2nBAA2nB,qFAAqF,wKAAwK,80BAA80B,mHAAmH,8FAA8F,WAAW,MAAM,oHAAoH,gDAAgD,kBAAkB,8CAA8C,yIAAyI,8CAA8C,uEAAuE,SAAS,6DAA6D,0BAA0B,IAAI,yDAAyD,SAAS,6DAA6D,UAAU,IAAI,wDAAwD,wHAAwH,kDAAkD,6DAA6D,SAAS,kBAAkB,uDAAuD,cAAc,KAAK,WAAW,EAAE,0DAA0D,oBAAoB,0FAA0F,SAAS,0BAA0B,aAAa,EAAE,mCAAmC,wBAAwB,6DAA6D,oCAAoC,sCAAsC,mCAAmC,oCAAoC,4CAA4C,YAAY,wCAAwC,6XAA6X,UAAU,kBAAkB,0CAA0C,8DAA8D,6CAA6C,YAAY,mBAAmB,KAAK,0BAA0B,oDAAoD,iBAAiB,uCAAuC,kBAAkB,oBAAoB,kBAAkB,yDAAyD,wBAAwB,iBAAiB,KAAK,yDAAyD,WAAW,KAAK,sBAAsB,gEAAgE,iBAAiB,iBAAiB,2CAA2C,kCAAkC,WAAW,KAAK,oCAAoC,mBAAmB,qBAAqB,0EAA0E,SAAS,qCAAqC,qBAAqB,YAAY,WAAW,KAAK,2BAA2B,WAAW,SAAS,6CAA6C,wBAAwB,2DAA2D,mCAAmC,qCAAqC,EAAE,sBAAsB,2KAA2K,YAAY,0CAA0C,iCAAiC,qCAAqC,YAAY,kBAAkB,oCAAoC,eAAe,kCAAkC,8CAA8C,4CAA4C,8BAA8B,SAAS,YAAY,WAAW,KAAK,sBAAsB,wBAAwB,SAAS,uCAAuC,8BAA8B,SAAS,YAAY,WAAW,KAAK,sBAAsB,mCAAmC,8CAA8C,oCAAoC,8BAA8B,SAAS,YAAY,WAAW,gCAAgC,8CAA8C,sCAAsC,8BAA8B,SAAS,YAAY,WAAW,6CAA6C,8CAA8C,0CAA0C,yBAAyB,SAAS,YAAY,WAAW,KAAK,sBAAsB,yCAAyC,sCAAsC,6BAA6B,wHAAwH,2CAA2C,8GAA8G,oCAAoC,uDAAuD,oCAAoC,gCAAgC,wDAAwD,yBAAyB,SAAS,YAAY,WAAW,KAAK,sBAAsB,+HAA+H,gDAAgD,0BAA0B,+BAA+B,EAAE,yBAAyB,qFAAqF,yEAAyE,2CAA2C,uBAAuB,gEAAgE,SAAS,+BAA+B,iDAAiD,6CAA6C,mFAAmF,qDAAqD,+IAA+I,4DAA4D,kBAAkB,0BAA0B,gVAAgV,uBAAuB,sCAAsC,6BAA6B,+CAA+C,+DAA+D,0KAA0K,WAAW,WAAW,0RAA0R,iFAAiF,oHAAoH,2EAA2E,wDAAwD,mBAAmB,oCAAoC,oLAAoL,6HAA6H,4BAA4B,yDAAyD,yCAAyC,6CAA6C,EAAE,2CAA2C,iBAAiB,WAAW,6BAA6B,SAAS,oDAAoD,gBAAgB,yBAAyB,4BAA4B,gEAAgE,iGAAiG,0DAA0D,gBAAgB,yBAAyB,sHAAsH,kBAAkB,iDAAiD,4KAA4K,mEAAmE,8CAA8C,sDAAsD,4BAA4B,MAAM,8HAA8H,MAAM,sMAAsM,mBAAmB,qCAAqC,eAAe,+CAA+C,6DAA6D,+FAA+F,0DAA0D,iCAAiC,oBAAoB,0DAA0D,iCAAiC,uEAAuE,uCAAuC,YAAY,WAAW,eAAe,sCAAsC,SAAS,qCAAqC,4MAA4M,oCAAoC,kLAAkL,yCAAyC,yHAAyH,wCAAwC,8HAA8H,iDAAiD,8BAA8B,wBAAwB,iCAAiC,2HAA2H,GAAG,kDAAkD,gDAAgD,yGAAyG,mCAAmC,kJAAkJ,uCAAuC,0EAA0E,mDAAmD,iEAAiE,8CAA8C,mLAAmL,6CAA6C,QAAQ,wCAAwC,iCAAiC,qEAAqE,uCAAuC,gDAAgD,+BAA+B,mBAAmB,iCAAiC,kCAAkC,sBAAsB,sDAAsD,6HAA6H,iDAAiD,+BAA+B,mBAAmB,8CAA8C,WAAW,qBAAqB,kBAAkB,8CAA8C,4BAA4B,EAAE,sBAAsB,8CAA8C,qDAAqD,4BAA4B,EAAE,sBAAsB,qDAAqD,sDAAsD,4BAA4B,UAAU,iBAAiB,WAAW,wBAAwB,8CAA8C,4DAA4D,uCAAuC,qBAAqB,gKAAgK,sCAAsC,YAAY,KAAK,WAAW,+CAA+C,SAAS,kDAAkD,+CAA+C,wBAAwB,+BAA+B,WAAW,yBAAyB,qBAAqB,2CAA2C,wCAAwC,8EAA8E,mDAAmD,kDAAkD,0BAA0B,kCAAkC,EAAE,mBAAmB,iBAAiB,0HAA0H,qBAAqB,qBAAqB,yJAAyJ,iCAAiC,mDAAmD,kCAAkC,oDAAoD,mBAAmB,0HAA0H,mBAAmB,gJAAgJ,uCAAuC,+EAA+E,+EAA+E,0DAA0D,IAAI,uDAAuD,4BAA4B,mCAAmC,wGAAwG,8CAA8C,OAAO,SAAS,WAAW,kBAAkB,kBAAkB,8DAA8D,SAAS,0CAA0C,iBAAiB,+EAA+E,kEAAkE,+BAA+B,YAAY,WAAW,2BAA2B,SAAS,0BAA0B,oDAAoD,QAAQ,IAAI,KAAK,kBAAkB,uQAAuQ,sBAAsB,QAAQ,sCAAsC,qEAAqE,0CAA0C,gDAAgD,uCAAuC,yCAAyC,uCAAuC,gCAAgC,oCAAoC,uCAAuC,2DAA2D,qCAAqC,0MAA0M,yEAAyE,WAAW,cAAc,8DAA8D,iCAAiC,MAAM,oBAAoB,8BAA8B,WAAW,uEAAuE,SAAS,uFAAuF,aAAa,sEAAsE,SAAS,gDAAgD,0CAA0C,0BAA0B,qCAAqC,2CAA2C,cAAc,iCAAiC,oBAAoB,6CAA6C,qFAAqF,mDAAmD,gFAAgF,kDAAkD,2EAA2E,4CAA4C,6BAA6B,4CAA4C,oBAAoB,6CAA6C,8BAA8B,6CAA6C,mIAAmI,6CAA6C,yHAAyH,0CAA0C,oHAAoH,cAAc,oBAAoB,0CAA0C,6CAA6C,4CAA4C,wEAAwE,6CAA6C,iBAAiB,0EAA0E,6BAA6B,qCAAqC,SAAS,iCAAiC,KAAK,UAAU,wEAAwE,YAAY,iDAAiD,oBAAoB,UAAU,EAAE,uBAAuB,gBAAgB,uBAAuB,0CAA0C,sEAAsE,WAAW,KAAK,kCAAkC,wBAAwB,0BAA0B,SAAS,8CAA8C,8CAA8C,gCAAgC,oBAAoB,4CAA4C,kIAAkI,4CAA4C,wHAAwH,6CAA6C,6CAA6C,gDAAgD,uEAAuE,wEAAwE,yCAAyC,4BAA4B,wJAAwJ,wBAAwB,qCAAqC,gCAAgC,iCAAiC,0MAA0M,gCAAgC,8EAA8E,sDAAsD,qEAAqE,UAAU,yIAAyI,6EAA6E,6DAA6D,6DAA6D,0BAA0B,muBAAmuB,qFAAqF,YAAY,wGAAwG,mCAAmC,gCAAgC,gLAAgL,sCAAsC,UAAU,kEAAkE,6BAA6B,sGAAsG,qCAAqC,gBAAgB,4mBAA4mB,qCAAqC,cAAc,oFAAoF,oFAAoF,iHAAiH,4CAA4C,0BAA0B,oGAAoG,KAAK,uCAAuC,gMAAgM,oCAAoC,kIAAkI,yHAAyH,qCAAqC,0CAA0C,oCAAoC,mBAAmB,2CAA2C,iCAAiC,cAAc,uCAAuC,UAAU,4DAA4D,iCAAiC,cAAc,sCAAsC,2CAA2C,2FAA2F,sCAAsC,+EAA+E,8GAA8G,qCAAqC,gHAAgH,mGAAmG,cAAc,kBAAkB,IAAI,KAAK,wBAAwB,2BAA2B,4DAA4D,sGAAsG,4EAA4E,kCAAkC,+CAA+C,kDAAkD,mBAAmB,oCAAoC,gDAAgD,iBAAiB,gDAAgD,0BAA0B,qDAAqD,2FAA2F,sDAAsD,8BAA8B,WAAW,kDAAkD,SAAS,8CAA8C,gBAAgB,YAAY,kBAAkB,KAAK,eAAe,oBAAoB,gCAAgC,SAAS,gCAAgC,gCAAgC,WAAW,0CAA0C,sBAAsB,YAAY,IAAI,mBAAmB,2CAA2C,2CAA2C,4DAA4D,0CAA0C,gBAAgB,kBAAkB,YAAY,IAAI,KAAK,wBAAwB,kEAAkE,kBAAkB,0CAA0C,kHAAkH,iBAAiB,IAAI,KAAK,gFAAgF,gCAAgC,SAAS,yCAAyC,0BAA0B,qDAAqD,8DAA8D,uCAAuC,oGAAoG,yCAAyC,gBAAgB,IAAI,eAAe,aAAa,gDAAgD,QAAQ,yDAAyD,eAAe,UAAU,EAAE,aAAa,oBAAoB,UAAU,IAAI,EAAE,QAAQ,MAAM,EAAE,8BAA8B,UAAU,mBAAmB,QAAQ,oBAAoB,GAAG,SAAS,kDAAkD,QAAQ,cAAc,eAAe,UAAU,UAAU,IAAI,EAAE,YAAY,MAAM,EAAE,gCAAgC,MAAM,mBAAmB,SAAS,SAAS,iDAAiD,uFAAuF,iDAAiD,uFAAuF,mDAAmD,QAAQ,kDAAkD,IAAI,EAAE,YAAY,MAAM,EAAE,gCAAgC,MAAM,mBAAmB,IAAI,gBAAgB,wCAAwC,EAAE,KAAK,SAAS,+CAA+C,UAAU,MAAM,uCAAuC,YAAY,WAAW,oDAAoD,aAAa,gDAAgD,0DAA0D,0CAA0C,uCAAuC,WAAW,KAAK,sBAAsB,0FAA0F,OAAO,SAAS,+CAA+C,mRAAmR,+BAA+B,gBAAgB,gDAAgD,2BAA2B,6CAA6C,mBAAmB,yBAAyB,+DAA+D,wMAAwM,WAAW,yDAAyD,qBAAqB,8DAA8D,4OAA4O,gEAAgE,sGAAsG,MAAM,qCAAqC,qBAAqB,8DAA8D,sKAAsK,KAAK,YAAY,IAAI,uCAAuC,sBAAsB,gEAAgE,iMAAiM,8DAA8D,+NAA+N,8DAA8D,6KAA6K,8DAA8D,kOAAkO,oEAAoE,yCAAyC,qDAAqD,oGAAoG,sDAAsD,mIAAmI,sDAAsD,wNAAwN,sDAAsD,6MAA6M,oDAAoD,uGAAuG,qDAAqD,wIAAwI,qDAAqD,sPAAsP,qDAAqD,8NAA8N,2DAA2D,mQAAmQ,qDAAqD,kKAAkK,sDAAsD,2MAA2M,oDAAoD,gEAAgE,oDAAoD,4JAA4J,qDAAqD,wCAAwC,4DAA4D,gGAAgG,2DAA2D,2GAA2G,sDAAsD,kCAAkC,WAAW,KAAK,sBAAsB,8BAA8B,uEAAuE,qDAAqD,wBAAwB,iLAAiL,6FAA6F,6BAA6B,8BAA8B,4FAA4F,2DAA2D,0BAA0B,+EAA+E,yDAAyD,4KAA4K,uDAAuD,cAAc,6CAA6C,8BAA8B,MAAM,8CAA8C,8BAA8B,oEAAoE,wCAAwC,yEAAyE,8DAA8D,8CAA8C,2EAA2E,wDAAwD,+CAA+C,qGAAqG,IAAI,KAAK,WAAW,uBAAuB,wGAAwG,8DAA8D,iEAAiE,yDAAyD,8CAA8C,sDAAsD,yFAAyF,6DAA6D,uFAAuF,sDAAsD,qCAAqC,UAAU,oCAAoC,MAAM,kCAAkC,MAAM,kCAAkC,MAAM,oCAAoC,MAAM,kCAAkC,MAAM,sCAAsC,MAAM,sCAAsC,MAAM,gCAAgC,MAAM,oCAAoC,MAAM,+EAA+E,MAAM,mFAAmF,MAAM,kCAAkC,MAAM,oCAAoC,MAAM,gCAAgC,MAAM,wCAAwC,MAAM,wCAAwC,MAAM,oCAAoC,MAAM,oCAAoC,MAAM,0CAA0C,MAAM,2CAA2C,MAAM,+DAA+D,kEAAkE,iHAAiH,gEAAgE,+GAA+G,kEAAkE,iHAAiH,gEAAgE,+GAA+G,gEAAgE,+GAA+G,gEAAgE,+GAA+G,sEAAsE,qHAAqH,sDAAsD,oIAAoI,4DAA4D,YAAY,qBAAqB,0HAA0H,sDAAsD,oIAAoI,4DAA4D,YAAY,qCAAqC,4GAA4G,uDAAuD,wGAAwG,6DAA6D,YAAY,qBAAqB,8FAA8F,uDAAuD,wGAAwG,6DAA6D,YAAY,sCAAsC,4GAA4G,uDAAuD,oIAAoI,uDAAuD,oIAAoI,6DAA6D,4IAA4I,wDAAwD,oKAAoK,wDAAwD,oKAAoK,8DAA8D,YAAY,sCAAsC,4GAA4G,yDAAyD,iMAAiM,yDAAyD,iMAAiM,+DAA+D,YAAY,qCAAqC,4GAA4G,sDAAsD,uGAAuG,uDAAuD,wGAAwG,qDAAqD,4IAA4I,qDAAqD,yMAAyM,uDAAuD,YAAY,8BAA8B,oDAAoD,sDAAsD,YAAY,2CAA2C,2IAA2I,0DAA0D,qEAAqE,wDAAwD,2JAA2J,4DAA4D,8IAA8I,6DAA6D,8IAA8I,8DAA8D,uBAAuB,WAAW,sCAAsC,oEAAoE,uBAAuB,WAAW,kCAAkC,8DAA8D,uBAAuB,WAAW,sCAAsC,oEAAoE,uBAAuB,WAAW,kCAAkC,+DAA+D,uBAAuB,WAAW,wCAAwC,qEAAqE,uBAAuB,WAAW,mCAAmC,+DAA+D,uBAAuB,WAAW,wCAAwC,qEAAqE,uBAAuB,WAAW,mCAAmC,+DAA+D,uBAAuB,WAAW,sCAAsC,+DAA+D,uBAAuB,WAAW,sCAAsC,qEAAqE,uBAAuB,WAAW,4CAA4C,gEAAgE,uBAAuB,WAAW,8BAA8B,gEAAgE,uBAAuB,WAAW,8BAA8B,sEAAsE,uBAAuB,WAAW,oCAAoC,iEAAiE,uBAAuB,WAAW,+BAA+B,iEAAiE,uBAAuB,WAAW,+BAA+B,uEAAuE,uBAAuB,WAAW,qCAAqC,8DAA8D,uBAAuB,WAAW,4BAA4B,+DAA+D,uBAAuB,WAAW,6BAA6B,6DAA6D,uBAAuB,WAAW,2BAA2B,6DAA6D,uBAAuB,WAAW,2BAA2B,+DAA+D,uBAAuB,WAAW,6BAA6B,8DAA8D,uBAAuB,WAAW,4BAA4B,kEAAkE,uBAAuB,WAAW,KAAK,8BAA8B,oCAAoC,gEAAgE,uBAAuB,WAAW,uJAAuJ,oEAAoE,uBAAuB,WAAW,kCAAkC,qEAAqE,uBAAuB,WAAW,mCAAmC,4DAA4D,sBAAsB,sCAAsC,WAAW,4CAA4C,uBAAuB,kEAAkE,sBAAsB,sCAAsC,WAAW,yDAAyD,uBAAuB,4DAA4D,sBAAsB,sCAAsC,WAAW,4CAA4C,uBAAuB,kEAAkE,sBAAsB,sCAAsC,WAAW,KAAK,wCAAwC,4CAA4C,uBAAuB,6DAA6D,sBAAsB,sCAAsC,WAAW,8CAA8C,uBAAuB,mEAAmE,sBAAsB,sCAAsC,WAAW,2DAA2D,uBAAuB,6DAA6D,sBAAsB,sCAAsC,WAAW,8CAA8C,uBAAuB,mEAAmE,sBAAsB,sCAAsC,WAAW,KAAK,yCAAyC,4CAA4C,uBAAuB,6DAA6D,sBAAsB,sCAAsC,WAAW,4CAA4C,uBAAuB,6DAA6D,sBAAsB,sCAAsC,WAAW,4CAA4C,uBAAuB,mEAAmE,sBAAsB,sCAAsC,WAAW,yDAAyD,uBAAuB,8DAA8D,sBAAsB,kHAAkH,YAAY,WAAW,qCAAqC,8DAA8D,sBAAsB,kHAAkH,YAAY,WAAW,qCAAqC,oEAAoE,sBAAsB,kHAAkH,YAAY,WAAW,KAAK,yCAAyC,6CAA6C,+DAA+D,sBAAsB,kHAAkH,YAAY,WAAW,oCAAoC,+DAA+D,sBAAsB,kHAAkH,YAAY,WAAW,oCAAoC,qEAAqE,sBAAsB,kHAAkH,YAAY,WAAW,0CAA0C,4DAA4D,sBAAsB,kHAAkH,YAAY,WAAW,oCAAoC,6DAA6D,sBAAsB,kHAAkH,YAAY,WAAW,qCAAqC,2DAA2D,sBAAsB,gHAAgH,YAAY,WAAW,mCAAmC,2DAA2D,sBAAsB,sCAAsC,WAAW,kCAAkC,uBAAuB,kEAAkE,sBAAsB,kHAAkH,YAAY,WAAW,0CAA0C,mEAAmE,sBAAsB,sCAAsC,WAAW,0CAA0C,uBAAuB,qCAAqC,wHAAwH,qDAAqD,8JAA8J,iFAAiF,8CAA8C,+CAA+C,wBAAwB,sCAAsC,+CAA+C,0GAA0G,gDAAgD,0IAA0I,8CAA8C,uBAAuB,gDAAgD,mBAAmB,+CAA+C,sBAAsB,mRAAmR,oCAAoC,0HAA0H,+EAA+E,6CAA6C,8CAA8C,8BAA8B,qCAAqC,8CAA8C,wGAAwG,+CAA+C,+EAA+E,+CAA+C,qEAAqE,mDAAmD,mBAAmB,uDAAuD,iKAAiK,gDAAgD,iBAAiB,iDAAiD,YAAY,+CAA+C,yBAAyB,mDAAmD,oBAAoB,oDAAoD,eAAe,kDAAkD,6DAA6D,+CAA+C,+BAA+B,iDAAiD,8BAA8B,kDAAkD,2DAA2D,4DAA4D,oBAAoB,IAAI,6GAA6G,8GAA8G,KAAK,QAAQ,IAAI,mHAAmH,iFAAiF,oDAAoD,KAAK,8BAA8B,gBAAgB,eAAe,uDAAuD,KAAK,MAAM,uBAAuB,eAAe,8DAA8D,gDAAgD,81BAA81B,sKAAsK,8CAA8C,kEAAkE,4CAA4C,4DAA4D,kCAAkC,oBAAoB,8DAA8D,qFAAqF,oEAAoE,oGAAoG,4DAA4D,oFAAoF,kEAAkE,kGAAkG,4DAA4D,uFAAuF,kEAAkE,4CAA4C,mDAAmD,kCAAkC,sEAAsE,oDAAoD,gEAAgE,8EAA8E,oDAAoD,4HAA4H,gGAAgG,oDAAoD,4CAA4C,kCAAkC,0DAA0D,4CAA4C,iDAAiD,kDAAkD,kCAAkC,8EAA8E,mDAAmD,gEAAgE,wFAAwF,mDAAmD,4HAA4H,0FAA0F,mDAAmD,4CAA4C,iCAAiC,yDAAyD,4CAA4C,+CAA+C,mDAAmD,wBAAwB,mCAAmC,oDAAoD,4CAA4C,mCAAmC,kDAAkD,oCAAoC,kDAAkD,iCAAiC,qDAAqD,iCAAiC,MAAM,kBAAkB,IAAI,EAAE,4BAA4B,KAAK,kBAAkB,UAAU,aAAa,uBAAuB,eAAe,SAAS,aAAa,kCAAkC,eAAe,2EAA2E,2CAA2C,kEAAkE,2DAA2D,8DAA8D,kCAAkC,0BAA0B,oDAAoD,4HAA4H,wDAAwD,sEAAsE,0DAA0D,qFAAqF,yDAAyD,gGAAgG,SAAS,4DAA4D,mCAAmC,qPAAqP,6EAA6E,4CAA4C,6CAA6C,uCAAuC,oCAAoC,uGAAuG,0QAA0Q,uDAAuD,yBAAyB,kDAAkD,iCAAiC,kDAAkD,iCAAiC,uDAAuD,uBAAuB,oDAAoD,0BAA0B,mDAAmD,mEAAmE,iDAAiD,6CAA6C,sDAAsD,iJAAiJ,8CAA8C,yIAAyI,iDAAiD,yBAAyB,kDAAkD,kCAAkC,uEAAuE,4CAA4C,qDAAqD,qXAAqX,qDAAqD,kEAAkE,2DAA2D,sBAAsB,wBAAwB,2CAA2C,kBAAkB,2CAA2C,wDAAwD,kKAAkK,2DAA2D,8IAA8I,KAAK,2CAA2C,0BAA0B,yDAAyD,kKAAkK,yDAAyD,kKAAkK,kDAAkD,wBAAwB,GAAG,sBAAsB,0EAA0E,MAAM,yFAAyF,+FAA+F,4DAA4D,OAAO,kBAAkB,kDAAkD,2BAA2B,iEAAiE,MAAM,mEAAmE,MAAM,uEAAuE,MAAM,mEAAmE,MAAM,gEAAgE,MAAM,+DAA+D,gEAAgE,yDAAyD,wEAAwE,yDAAyD,sHAAsH,iDAAiD,+DAA+D,qCAAqC,UAAU,uCAAuC,qCAAqC,qCAAqC,uCAAuC,qCAAqC,yCAAyC,yCAAyC,mCAAmC,uCAAuC,8EAA8E,kFAAkF,qCAAqC,uCAAuC,mCAAmC,2CAA2C,2CAA2C,uCAAuC,uCAAuC,6CAA6C,8CAA8C,6DAA6D,SAAS,uDAAuD,iFAAiF,oEAAoE,8BAA8B,qFAAqF,uDAAuD,wSAAwS,wDAAwD,iFAAiF,6EAA6E,0DAA0D,oCAAoC,kDAAkD,wHAAwH,wDAAwD,8HAA8H,kDAAkD,wHAAwH,wDAAwD,8HAA8H,mDAAmD,0HAA0H,yDAAyD,gIAAgI,mDAAmD,0HAA0H,yDAAyD,gIAAgI,mDAAmD,wHAAwH,mDAAmD,wHAAwH,yDAAyD,8HAA8H,oDAAoD,iHAAiH,oDAAoD,iHAAiH,0DAA0D,uHAAuH,qDAAqD,gHAAgH,2DAA2D,2HAA2H,qDAAqD,gHAAgH,2DAA2D,sHAAsH,kDAAkD,gHAAgH,mDAAmD,iHAAiH,iDAAiD,4HAA4H,iDAAiD,wHAAwH,mDAAmD,iFAAiF,2CAA2C,mCAAmC,kDAAkD,iFAAiF,2CAA2C,kCAAkC,yDAAyD,sHAAsH,wDAAwD,sHAAsH,0DAA0D,iFAAiF,oFAAoF,4BAA4B,+BAA+B,SAAS,wDAAwD,+DAA+D,8DAA8D,qEAAqE,wDAAwD,+DAA+D,8DAA8D,qEAAqE,yDAAyD,iEAAiE,+DAA+D,uEAAuE,yDAAyD,iEAAiE,+DAA+D,uEAAuE,yDAAyD,+DAA+D,yDAAyD,+DAA+D,+DAA+D,qEAAqE,0DAA0D,uDAAuD,0DAA0D,uDAAuD,gEAAgE,6DAA6D,2DAA2D,sDAAsD,2DAA2D,sDAAsD,iEAAiE,4DAA4D,wDAAwD,sDAAsD,yDAAyD,uDAAuD,uDAAuD,qDAAqD,uDAAuD,qDAAqD,+DAA+D,6DAA6D,8DAA8D,4DAA4D,eAAe,yUAAyU,0BAA0B,4BAA4B,mEAAmE,iBAAiB,2CAA2C,0lEAA0lE,4CAA4C,6PAA6P,yDAAyD,yDAAyD,OAAO,qNAAqN,uCAAuC,iEAAiE,mEAAmE,yEAAyE,4EAA4E,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,mBAAmB,MAAM,wBAAwB,qBAAqB,MAAM,wBAAwB,qBAAqB,MAAM,wBAAwB,iBAAiB,MAAM,wBAAwB,mBAAmB,MAAM,wBAAwB,mBAAmB,MAAM,uBAAuB,SAAS,uEAAuE,yBAAyB,4FAA4F,wEAAwE,aAAa,oUAAoU,qEAAqE,+CAA+C,sEAAsE,6BAA6B,uEAAuE,kCAAkC,qEAAqE,wCAAwC,uEAAuE,+CAA+C,wEAAwE,6BAA6B,yEAAyE,kCAAkC,uEAAuE,wCAAwC,uEAAuE,+CAA+C,wEAAwE,6BAA6B,yEAAyE,kCAAkC,uEAAuE,wCAAwC,mEAAmE,+CAA+C,oEAAoE,6BAA6B,qEAAqE,kCAAkC,mEAAmE,wCAAwC,qEAAqE,+CAA+C,sEAAsE,6BAA6B,uEAAuE,kCAAkC,qEAAqE,wCAAwC,qEAAqE,+CAA+C,sEAAsE,6BAA6B,uEAAuE,kCAAkC,qEAAqE,wCAAwC,+CAA+C,yFAAyF,uTAAuT,0DAA0D,0DAA0D,OAAO,iHAAiH,uCAAuC,kEAAkE,oEAAoE,0EAA0E,6EAA6E,KAAK,+BAA+B,EAAE,2BAA2B,iEAAiE,4GAA4G,MAAM,uBAAuB,SAAS,wEAAwE,yBAAyB,6FAA6F,yEAAyE,MAAM,oIAAoI,6DAA6D,uGAAuG,6XAA6X,wEAAwE,wEAAwE,OAAO,gGAAgG,uCAAuC,gFAAgF,kFAAkF,wFAAwF,2FAA2F,KAAK,+BAA+B,EAAE,2BAA2B,kDAAkD,4FAA4F,MAAM,uBAAuB,SAAS,sFAAsF,yBAAyB,2GAA2G,uFAAuF,MAAM,oHAAoH,mFAAmF,kFAAkF,oFAAoF,4CAA4C,kFAAkF,wFAAwF,qFAAqF,sBAAsB,sEAAsE,iGAAiG,uEAAuE,4CAA4C,qEAAqE,uGAAuG,wEAAwE,uBAAuB,0CAA0C,4CAA4C,6OAA6O,qDAAqD,qDAAqD,OAAO,yLAAyL,uCAAuC,6DAA6D,+DAA+D,qEAAqE,wEAAwE,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,cAAc,MAAM,wBAAwB,eAAe,MAAM,wBAAwB,aAAa,MAAM,wBAAwB,cAAc,MAAM,wBAAwB,gBAAgB,MAAM,wBAAwB,gBAAgB,MAAM,uBAAuB,SAAS,mEAAmE,yBAAyB,wFAAwF,oEAAoE,aAAa,oUAAoU,4DAA4D,+CAA+C,6DAA6D,6BAA6B,8DAA8D,kCAAkC,4DAA4D,wCAAwC,6DAA6D,+CAA+C,8DAA8D,6BAA6B,+DAA+D,kCAAkC,6DAA6D,wCAAwC,2DAA2D,+CAA+C,4DAA4D,6BAA6B,6DAA6D,kCAAkC,2DAA2D,wCAAwC,4DAA4D,+CAA+C,6DAA6D,6BAA6B,8DAA8D,kCAAkC,4DAA4D,wCAAwC,8DAA8D,+CAA+C,+DAA+D,6BAA6B,gEAAgE,kCAAkC,8DAA8D,wCAAwC,8DAA8D,+CAA+C,+DAA+D,6BAA6B,gEAAgE,kCAAkC,8DAA8D,wCAAwC,iDAAiD,4CAA4C,yQAAyQ,4DAA4D,4DAA4D,OAAO,yFAAyF,uCAAuC,oEAAoE,sEAAsE,4EAA4E,+EAA+E,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,cAAc,MAAM,wBAAwB,cAAc,MAAM,wBAAwB,YAAY,MAAM,uBAAuB,SAAS,0EAA0E,yBAAyB,+FAA+F,2EAA2E,aAAa,kKAAkK,mEAAmE,+CAA+C,oEAAoE,6BAA6B,qEAAqE,kCAAkC,mEAAmE,wCAAwC,mEAAmE,+CAA+C,oEAAoE,6BAA6B,qEAAqE,kCAAkC,mEAAmE,wCAAwC,iEAAiE,+CAA+C,kEAAkE,6BAA6B,mEAAmE,kCAAkC,iEAAiE,wCAAwC,kDAAkD,4CAA4C,6QAA6Q,6DAA6D,6DAA6D,OAAO,qIAAqI,uCAAuC,qEAAqE,uEAAuE,6EAA6E,gFAAgF,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,sBAAsB,MAAM,wBAAwB,kBAAkB,MAAM,uBAAuB,aAAa,MAAM,wBAAwB,eAAe,MAAM,uBAAuB,SAAS,2EAA2E,yBAAyB,gGAAgG,4EAA4E,aAAa,uNAAuN,4EAA4E,+CAA+C,6EAA6E,6BAA6B,8EAA8E,kCAAkC,4EAA4E,wCAAwC,wEAAwE,+CAA+C,yEAAyE,6BAA6B,0EAA0E,kCAAkC,wEAAwE,wCAAwC,mEAAmE,+CAA+C,oEAAoE,6BAA6B,qEAAqE,kCAAkC,mEAAmE,wCAAwC,qEAAqE,gDAAgD,sEAAsE,6BAA6B,uEAAuE,kCAAkC,qEAAqE,wCAAwC,+CAA+C,yFAAyF,uTAAuT,0DAA0D,0DAA0D,SAAS,giCAAgiC,uCAAuC,kEAAkE,oEAAoE,0EAA0E,6EAA6E,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,aAAa,MAAM,wBAAwB,iBAAiB,MAAM,kDAAkD,mGAAmG,MAAM,wBAAwB,sBAAsB,MAAM,yBAAyB,uBAAuB,MAAM,yBAAyB,uBAAuB,MAAM,0CAA0C,+FAA+F,MAAM,2CAA2C,6FAA6F,MAAM,yBAAyB,sBAAsB,MAAM,kDAAkD,kGAAkG,MAAM,yBAAyB,iBAAiB,MAAM,yBAAyB,sBAAsB,MAAM,yBAAyB,sBAAsB,MAAM,yBAAyB,uBAAuB,MAAM,yBAAyB,kBAAkB,MAAM,yBAAyB,yBAAyB,MAAM,yBAAyB,sBAAsB,MAAM,yBAAyB,uBAAuB,MAAM,yBAAyB,sBAAsB,MAAM,wBAAwB,kBAAkB,MAAM,wBAAwB,mBAAmB,MAAM,wBAAwB,kBAAkB,MAAM,uBAAuB,SAAS,wEAAwE,yBAAyB,6FAA6F,yEAAyE,aAAa,05CAA05C,gEAAgE,gDAAgD,iEAAiE,6BAA6B,kEAAkE,kCAAkC,gEAAgE,wCAAwC,oEAAoE,gDAAgD,qEAAqE,6BAA6B,sEAAsE,kCAAkC,oEAAoE,wCAAwC,wEAAwE,sFAAsF,yEAAyE,4CAA4C,uEAAuE,4FAA4F,0EAA0E,yBAAyB,yEAAyE,+CAA+C,0EAA0E,6BAA6B,2EAA2E,kCAAkC,yEAAyE,wCAAwC,0EAA0E,gDAAgD,2EAA2E,8BAA8B,4EAA4E,mCAAmC,0EAA0E,yCAAyC,0EAA0E,gDAAgD,2EAA2E,8BAA8B,4EAA4E,mCAAmC,0EAA0E,yCAAyC,wEAAwE,sEAAsE,yEAAyE,oCAAoC,0EAA0E,6BAA6B,wEAAwE,wCAAwC,sEAAsE,uEAAuE,uEAAuE,qCAAqC,wEAAwE,2BAA2B,sEAAsE,yCAAyC,yEAAyE,gDAAgD,0EAA0E,8BAA8B,2EAA2E,mCAAmC,yEAAyE,yCAAyC,oEAAoE,8EAA8E,qEAAqE,qCAAqC,sEAAsE,yBAAyB,oEAAoE,yCAAyC,oEAAoE,gDAAgD,qEAAqE,8BAA8B,sEAAsE,mCAAmC,oEAAoE,yCAAyC,yEAAyE,gDAAgD,0EAA0E,8BAA8B,2EAA2E,mCAAmC,yEAAyE,yCAAyC,yEAAyE,gDAAgD,0EAA0E,8BAA8B,2EAA2E,mCAAmC,yEAAyE,yCAAyC,0EAA0E,gDAAgD,2EAA2E,8BAA8B,4EAA4E,mCAAmC,0EAA0E,yCAAyC,qEAAqE,gDAAgD,sEAAsE,8BAA8B,uEAAuE,mCAAmC,qEAAqE,yCAAyC,4EAA4E,gDAAgD,6EAA6E,8BAA8B,8EAA8E,mCAAmC,4EAA4E,yCAAyC,yEAAyE,gDAAgD,0EAA0E,8BAA8B,2EAA2E,mCAAmC,yEAAyE,yCAAyC,0EAA0E,gDAAgD,2EAA2E,8BAA8B,4EAA4E,mCAAmC,0EAA0E,yCAAyC,yEAAyE,gDAAgD,0EAA0E,8BAA8B,2EAA2E,mCAAmC,yEAAyE,yCAAyC,qEAAqE,+CAA+C,sEAAsE,6BAA6B,uEAAuE,kCAAkC,qEAAqE,wCAAwC,sEAAsE,iDAAiD,uEAAuE,6BAA6B,wEAAwE,kCAAkC,sEAAsE,wCAAwC,qEAAqE,iDAAiD,sEAAsE,6BAA6B,uEAAuE,kCAAkC,qEAAqE,wCAAwC,4CAA4C,sFAAsF,wSAAwS,uDAAuD,uDAAuD,OAAO,6lCAA6lC,uCAAuC,+DAA+D,iEAAiE,uEAAuE,0EAA0E,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,aAAa,MAAM,yBAAyB,uBAAuB,MAAM,wBAAwB,sBAAsB,MAAM,wBAAwB,0BAA0B,MAAM,wBAAwB,0BAA0B,MAAM,wBAAwB,gBAAgB,MAAM,wBAAwB,kBAAkB,MAAM,wBAAwB,uBAAuB,MAAM,wBAAwB,eAAe,MAAM,wBAAwB,mBAAmB,MAAM,yBAAyB,oBAAoB,MAAM,yBAAyB,sBAAsB,MAAM,yBAAyB,sBAAsB,MAAM,yBAAyB,sBAAsB,MAAM,yBAAyB,uBAAuB,MAAM,yBAAyB,kBAAkB,MAAM,yBAAyB,yBAAyB,MAAM,yBAAyB,sBAAsB,MAAM,yBAAyB,uBAAuB,MAAM,yBAAyB,sBAAsB,MAAM,yBAAyB,kBAAkB,MAAM,yBAAyB,oBAAoB,MAAM,yBAAyB,qBAAqB,MAAM,yBAAyB,qBAAqB,MAAM,yBAAyB,8BAA8B,MAAM,wBAAwB,mBAAmB,MAAM,wBAAwB,kBAAkB,MAAM,yBAAyB,wBAAwB,MAAM,uBAAuB,SAAS,qEAAqE,yBAAyB,0FAA0F,sEAAsE,aAAa,ohDAAohD,6DAA6D,gDAAgD,8DAA8D,6BAA6B,+DAA+D,kCAAkC,6DAA6D,wCAAwC,uEAAuE,iDAAiD,wEAAwE,8BAA8B,yEAAyE,mCAAmC,uEAAuE,yCAAyC,sEAAsE,oDAAoD,uEAAuE,6BAA6B,wEAAwE,kCAAkC,sEAAsE,wCAAwC,0EAA0E,oDAAoD,2EAA2E,6BAA6B,4EAA4E,kCAAkC,0EAA0E,wCAAwC,0EAA0E,oDAAoD,2EAA2E,6BAA6B,4EAA4E,kCAAkC,0EAA0E,wCAAwC,gEAAgE,+CAA+C,iEAAiE,6BAA6B,kEAAkE,kCAAkC,gEAAgE,wCAAwC,sEAAsE,kCAAkC,uEAAuE,iCAAiC,qEAAqE,yCAAyC,wEAAwE,0BAA0B,uEAAuE,+CAA+C,wEAAwE,6BAA6B,yEAAyE,kCAAkC,uEAAuE,wCAAwC,+DAA+D,gDAAgD,gEAAgE,6BAA6B,iEAAiE,kCAAkC,+DAA+D,wCAAwC,mEAAmE,+CAA+C,oEAAoE,6BAA6B,qEAAqE,kCAAkC,mEAAmE,wCAAwC,oEAAoE,gDAAgD,qEAAqE,8BAA8B,sEAAsE,mCAAmC,oEAAoE,yCAAyC,sEAAsE,gDAAgD,uEAAuE,8BAA8B,wEAAwE,mCAAmC,sEAAsE,yCAAyC,sEAAsE,gDAAgD,uEAAuE,8BAA8B,wEAAwE,mCAAmC,sEAAsE,yCAAyC,sEAAsE,gDAAgD,uEAAuE,8BAA8B,wEAAwE,mCAAmC,sEAAsE,yCAAyC,uEAAuE,gDAAgD,wEAAwE,8BAA8B,yEAAyE,mCAAmC,uEAAuE,yCAAyC,kEAAkE,gDAAgD,mEAAmE,8BAA8B,oEAAoE,mCAAmC,kEAAkE,yCAAyC,yEAAyE,gDAAgD,0EAA0E,8BAA8B,2EAA2E,mCAAmC,yEAAyE,yCAAyC,sEAAsE,gDAAgD,uEAAuE,8BAA8B,wEAAwE,mCAAmC,sEAAsE,yCAAyC,uEAAuE,gDAAgD,wEAAwE,8BAA8B,yEAAyE,mCAAmC,uEAAuE,yCAAyC,sEAAsE,gDAAgD,uEAAuE,8BAA8B,wEAAwE,mCAAmC,sEAAsE,yCAAyC,kEAAkE,gDAAgD,mEAAmE,8BAA8B,oEAAoE,mCAAmC,kEAAkE,yCAAyC,oEAAoE,gDAAgD,qEAAqE,8BAA8B,sEAAsE,mCAAmC,oEAAoE,yCAAyC,qEAAqE,gDAAgD,sEAAsE,8BAA8B,uEAAuE,mCAAmC,qEAAqE,yCAAyC,qEAAqE,gDAAgD,sEAAsE,8BAA8B,uEAAuE,mCAAmC,qEAAqE,yCAAyC,8EAA8E,gDAAgD,+EAA+E,8BAA8B,gFAAgF,mCAAmC,8EAA8E,yCAAyC,mEAAmE,gDAAgD,oEAAoE,8BAA8B,qEAAqE,mCAAmC,mEAAmE,yCAAyC,kEAAkE,gDAAgD,mEAAmE,8BAA8B,oEAAoE,mCAAmC,kEAAkE,yCAAyC,wEAAwE,iDAAiD,yEAAyE,8BAA8B,0EAA0E,mCAAmC,wEAAwE,yCAAyC,8CAA8C,4CAA4C,6PAA6P,yDAAyD,yDAAyD,SAAS,gNAAgN,uCAAuC,iEAAiE,mEAAmE,yEAAyE,4EAA4E,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,yBAAyB,MAAM,wBAAwB,eAAe,MAAM,wBAAwB,0BAA0B,MAAM,0CAA0C,qGAAqG,MAAM,uBAAuB,SAAS,uEAAuE,yBAAyB,4FAA4F,wEAAwE,aAAa,gRAAgR,2EAA2E,+CAA+C,4EAA4E,6BAA6B,6EAA6E,kCAAkC,2EAA2E,wCAAwC,iEAAiE,+CAA+C,kEAAkE,6BAA6B,mEAAmE,kCAAkC,iEAAiE,wCAAwC,4EAA4E,gDAAgD,6EAA6E,6BAA6B,8EAA8E,kCAAkC,4EAA4E,wCAAwC,6EAA6E,sEAAsE,8EAA8E,oCAAoC,+EAA+E,mCAAmC,6EAA6E,wCAAwC,yCAAyC,4CAA4C,yOAAyO,oDAAoD,oDAAoD,OAAO,yIAAyI,uCAAuC,4DAA4D,8DAA8D,oEAAoE,uEAAuE,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,gBAAgB,MAAM,wBAAwB,mBAAmB,MAAM,wBAAwB,mBAAmB,MAAM,wBAAwB,kBAAkB,MAAM,uBAAuB,SAAS,kEAAkE,yBAAyB,uFAAuF,mEAAmE,aAAa,wNAAwN,6DAA6D,gDAAgD,8DAA8D,6BAA6B,+DAA+D,kCAAkC,6DAA6D,wCAAwC,gEAAgE,gDAAgD,iEAAiE,6BAA6B,kEAAkE,kCAAkC,gEAAgE,wCAAwC,gEAAgE,gDAAgD,iEAAiE,6BAA6B,kEAAkE,kCAAkC,gEAAgE,wCAAwC,+DAA+D,+CAA+C,gEAAgE,6BAA6B,iEAAiE,kCAAkC,+DAA+D,wCAAwC,0CAA0C,4CAA4C,6OAA6O,qDAAqD,qDAAqD,OAAO,8OAA8O,uCAAuC,6DAA6D,+DAA+D,qEAAqE,wEAAwE,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,eAAe,MAAM,wBAAwB,gCAAgC,MAAM,wBAAwB,8BAA8B,MAAM,wBAAwB,gBAAgB,MAAM,wBAAwB,wBAAwB,MAAM,wBAAwB,wBAAwB,MAAM,uBAAuB,SAAS,mEAAmE,yBAAyB,wFAAwF,oEAAoE,aAAa,oUAAoU,6DAA6D,gDAAgD,8DAA8D,6BAA6B,+DAA+D,kCAAkC,6DAA6D,wCAAwC,8EAA8E,+CAA+C,+EAA+E,6BAA6B,gFAAgF,kCAAkC,8EAA8E,wCAAwC,4EAA4E,+CAA+C,6EAA6E,6BAA6B,8EAA8E,kCAAkC,4EAA4E,wCAAwC,8DAA8D,+CAA+C,+DAA+D,6BAA6B,gEAAgE,kCAAkC,8DAA8D,wCAAwC,sEAAsE,+CAA+C,uEAAuE,6BAA6B,wEAAwE,kCAAkC,sEAAsE,wCAAwC,sEAAsE,+CAA+C,uEAAuE,6BAA6B,wEAAwE,kCAAkC,sEAAsE,wCAAwC,yCAAyC,4CAA4C,yOAAyO,oDAAoD,oDAAoD,SAAS,sYAAsY,uCAAuC,4DAA4D,8DAA8D,oEAAoE,uEAAuE,KAAK,+BAA+B,EAAE,2BAA2B,8CAA8C,yFAAyF,MAAM,wBAAwB,mBAAmB,MAAM,wBAAwB,kBAAkB,MAAM,wBAAwB,gBAAgB,MAAM,wBAAwB,eAAe,MAAM,wBAAwB,eAAe,MAAM,wBAAwB,mBAAmB,MAAM,wBAAwB,sBAAsB,MAAM,wBAAwB,0BAA0B,MAAM,yBAAyB,yBAAyB,MAAM,uBAAuB,SAAS,kEAAkE,yBAAyB,uFAAuF,mEAAmE,aAAa,0kBAA0kB,4DAA4D,sEAAsE,6DAA6D,oCAAoC,8DAA8D,uBAAuB,4DAA4D,wCAAwC,gEAAgE,+CAA+C,iEAAiE,6BAA6B,kEAAkE,kCAAkC,gEAAgE,wCAAwC,+DAA+D,+CAA+C,gEAAgE,6BAA6B,iEAAiE,kCAAkC,+DAA+D,wCAAwC,6DAA6D,+CAA+C,8DAA8D,6BAA6B,+DAA+D,kCAAkC,6DAA6D,wCAAwC,4DAA4D,+CAA+C,6DAA6D,6BAA6B,8DAA8D,kCAAkC,4DAA4D,wCAAwC,4DAA4D,+CAA+C,6DAA6D,6BAA6B,8DAA8D,kCAAkC,4DAA4D,wCAAwC,gEAAgE,+CAA+C,iEAAiE,6BAA6B,kEAAkE,kCAAkC,gEAAgE,wCAAwC,mEAAmE,+CAA+C,oEAAoE,6BAA6B,qEAAqE,kCAAkC,mEAAmE,wCAAwC,uEAAuE,+CAA+C,wEAAwE,6BAA6B,yEAAyE,kCAAkC,uEAAuE,wCAAwC,sEAAsE,gDAAgD,uEAAuE,8BAA8B,wEAAwE,mCAAmC,sEAAsE,yCAAyC,uCAAuC,4CAA4C,iOAAiO,kDAAkD,kDAAkD,OAAO,0KAA0K,uCAAuC,0DAA0D,4DAA4D,kEAAkE,qEAAqE,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,kBAAkB,MAAM,wBAAwB,iBAAiB,MAAM,wBAAwB,iBAAiB,MAAM,wBAAwB,gBAAgB,MAAM,wBAAwB,qBAAqB,MAAM,uBAAuB,SAAS,gEAAgE,yBAAyB,qFAAqF,iEAAiE,aAAa,8QAA8Q,6DAA6D,+CAA+C,8DAA8D,6BAA6B,+DAA+D,kCAAkC,6DAA6D,wCAAwC,4DAA4D,+CAA+C,6DAA6D,6BAA6B,8DAA8D,kCAAkC,4DAA4D,wCAAwC,4DAA4D,+CAA+C,6DAA6D,6BAA6B,8DAA8D,kCAAkC,4DAA4D,wCAAwC,2DAA2D,+CAA+C,4DAA4D,6BAA6B,6DAA6D,kCAAkC,2DAA2D,wCAAwC,gEAAgE,+CAA+C,iEAAiE,6BAA6B,kEAAkE,kCAAkC,gEAAgE,wCAAwC,4CAA4C,4CAA4C,qPAAqP,uDAAuD,uDAAuD,SAAS,oIAAoI,uCAAuC,+DAA+D,iEAAiE,uEAAuE,0EAA0E,KAAK,+BAA+B,EAAE,2BAA2B,2CAA2C,uFAAuF,MAAM,uBAAuB,iBAAiB,MAAM,uBAAuB,cAAc,MAAM,uBAAuB,SAAS,qEAAqE,yBAAyB,0FAA0F,sEAAsE,aAAa,0MAA0M,gEAAgE,qEAAqE,iEAAiE,oCAAoC,kEAAkE,kCAAkC,gEAAgE,wCAAwC,iEAAiE,+CAA+C,kEAAkE,6BAA6B,mEAAmE,kCAAkC,iEAAiE,wCAAwC,8DAA8D,+CAA+C,+DAA+D,6BAA6B,gEAAgE,kCAAkC,8DAA8D,wCAAwC,6CAA6C,4CAA4C,yPAAyP,wDAAwD,wDAAwD,OAAO,4HAA4H,uCAAuC,gEAAgE,kEAAkE,wEAAwE,2EAA2E,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,gBAAgB,MAAM,wBAAwB,eAAe,MAAM,wBAAwB,kBAAkB,MAAM,uBAAuB,SAAS,sEAAsE,yBAAyB,2FAA2F,uEAAuE,aAAa,kKAAkK,iEAAiE,+CAA+C,kEAAkE,6BAA6B,mEAAmE,kCAAkC,iEAAiE,wCAAwC,gEAAgE,+CAA+C,iEAAiE,6BAA6B,kEAAkE,kCAAkC,gEAAgE,wCAAwC,mEAAmE,+CAA+C,oEAAoE,6BAA6B,qEAAqE,kCAAkC,mEAAmE,wCAAwC,wCAAwC,kFAAkF,oRAAoR,mDAAmD,mDAAmD,OAAO,gKAAgK,uCAAuC,2DAA2D,6DAA6D,mEAAmE,sEAAsE,KAAK,+BAA+B,EAAE,2BAA2B,2BAA2B,YAAY,MAAM,wBAAwB,eAAe,MAAM,6CAA6C,8FAA8F,MAAM,uBAAuB,SAAS,iEAAiE,yBAAyB,sFAAsF,kEAAkE,aAAa,iOAAiO,wDAAwD,+CAA+C,yDAAyD,6BAA6B,0DAA0D,kCAAkC,wDAAwD,wCAAwC,2DAA2D,gDAAgD,4DAA4D,6BAA6B,6DAA6D,kCAAkC,2DAA2D,wCAAwC,iEAAiE,iFAAiF,kEAAkE,4CAA4C,gEAAgE,uFAAuF,mEAAmE,yBAAyB,4CAA4C,4CAA4C,qPAAqP,uDAAuD,uDAAuD,SAAS,+QAA+Q,uCAAuC,+DAA+D,iEAAiE,uEAAuE,0EAA0E,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,oBAAoB,MAAM,wBAAwB,cAAc,MAAM,wBAAwB,gBAAgB,MAAM,wBAAwB,gBAAgB,MAAM,wBAAwB,gBAAgB,MAAM,wBAAwB,qBAAqB,MAAM,wCAAwC,yFAAyF,MAAM,uBAAuB,SAAS,qEAAqE,yBAAyB,0FAA0F,sEAAsE,aAAa,saAAsa,oEAAoE,+CAA+C,qEAAqE,6BAA6B,sEAAsE,kCAAkC,oEAAoE,wCAAwC,8DAA8D,+CAA+C,+DAA+D,6BAA6B,gEAAgE,kCAAkC,8DAA8D,wCAAwC,gEAAgE,+CAA+C,iEAAiE,6BAA6B,kEAAkE,kCAAkC,gEAAgE,wCAAwC,gEAAgE,+CAA+C,iEAAiE,6BAA6B,kEAAkE,kCAAkC,gEAAgE,wCAAwC,gEAAgE,+CAA+C,iEAAiE,6BAA6B,kEAAkE,kCAAkC,gEAAgE,wCAAwC,qEAAqE,gDAAgD,sEAAsE,6BAA6B,uEAAuE,kCAAkC,qEAAqE,wCAAwC,iEAAiE,oEAAoE,kEAAkE,oCAAoC,mEAAmE,yBAAyB,iEAAiE,wCAAwC,0CAA0C,oFAAoF,8RAA8R,qDAAqD,qDAAqD,OAAO,mVAAmV,uCAAuC,6DAA6D,+DAA+D,qEAAqE,wEAAwE,KAAK,+BAA+B,EAAE,2BAA2B,2BAA2B,cAAc,MAAM,uBAAuB,eAAe,MAAM,wBAAwB,iBAAiB,MAAM,wBAAwB,aAAa,MAAM,wBAAwB,kBAAkB,MAAM,wBAAwB,kBAAkB,MAAM,wBAAwB,cAAc,MAAM,wBAAwB,wBAAwB,MAAM,wBAAwB,wBAAwB,MAAM,yBAAyB,gBAAgB,MAAM,uBAAuB,SAAS,mEAAmE,yBAAyB,wFAAwF,oEAAoE,aAAa,giBAAgiB,4DAA4D,+CAA+C,6DAA6D,6BAA6B,8DAA8D,kCAAkC,4DAA4D,wCAAwC,6DAA6D,+CAA+C,8DAA8D,6BAA6B,+DAA+D,kCAAkC,6DAA6D,wCAAwC,+DAA+D,+CAA+C,gEAAgE,6BAA6B,iEAAiE,kCAAkC,+DAA+D,wCAAwC,2DAA2D,gDAAgD,4DAA4D,6BAA6B,6DAA6D,kCAAkC,2DAA2D,wCAAwC,gEAAgE,gDAAgD,iEAAiE,6BAA6B,kEAAkE,kCAAkC,gEAAgE,wCAAwC,gEAAgE,gDAAgD,iEAAiE,6BAA6B,kEAAkE,kCAAkC,gEAAgE,wCAAwC,gEAAgE,kCAAkC,iEAAiE,iCAAiC,+DAA+D,yCAAyC,kEAAkE,sBAAsB,sEAAsE,gDAAgD,uEAAuE,6BAA6B,wEAAwE,kCAAkC,sEAAsE,wCAAwC,sEAAsE,gDAAgD,uEAAuE,6BAA6B,wEAAwE,kCAAkC,sEAAsE,wCAAwC,8DAA8D,gDAAgD,+DAA+D,8BAA8B,gEAAgE,mCAAmC,8DAA8D,yCAAyC,6CAA6C,uFAAuF,+SAA+S,wDAAwD,wDAAwD,OAAO,iOAAiO,uCAAuC,gEAAgE,kEAAkE,wEAAwE,2EAA2E,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,sBAAsB,MAAM,wBAAwB,uBAAuB,MAAM,wBAAwB,kBAAkB,MAAM,wBAAwB,mBAAmB,MAAM,wBAAwB,mBAAmB,MAAM,uBAAuB,mBAAmB,MAAM,uBAAuB,SAAS,sEAAsE,yBAAyB,2FAA2F,uEAAuE,aAAa,uVAAuV,2EAA2E,kCAAkC,4EAA4E,iCAAiC,0EAA0E,yCAAyC,6EAA6E,8BAA8B,wEAAwE,+CAA+C,yEAAyE,6BAA6B,0EAA0E,kCAAkC,wEAAwE,wCAAwC,uEAAuE,kCAAkC,wEAAwE,iCAAiC,sEAAsE,yCAAyC,yEAAyE,0BAA0B,oEAAoE,+CAA+C,qEAAqE,6BAA6B,sEAAsE,kCAAkC,oEAAoE,wCAAwC,oEAAoE,gDAAgD,qEAAqE,6BAA6B,sEAAsE,kCAAkC,oEAAoE,wCAAwC,oEAAoE,gDAAgD,0EAA0E,kDAAkD,yEAAyE,iDAAiD,qEAAqE,6BAA6B,sEAAsE,kCAAkC,oEAAoE,wCAAwC,6CAA6C,uFAAuF,gTAAgT,wDAAwD,wDAAwD,OAAO,obAAob,uCAAuC,gEAAgE,kEAAkE,wEAAwE,2EAA2E,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,eAAe,MAAM,wBAAwB,sBAAsB,MAAM,wBAAwB,mBAAmB,MAAM,uBAAuB,iBAAiB,MAAM,uBAAuB,iBAAiB,MAAM,uBAAuB,cAAc,MAAM,uBAAuB,eAAe,MAAM,wBAAwB,iBAAiB,MAAM,wBAAwB,aAAa,MAAM,yBAAyB,kBAAkB,MAAM,yBAAyB,kBAAkB,MAAM,yBAAyB,cAAc,MAAM,yBAAyB,gBAAgB,MAAM,uBAAuB,SAAS,sEAAsE,yBAAyB,2FAA2F,uEAAuE,aAAa,itBAAitB,gEAAgE,gDAAgD,iEAAiE,6BAA6B,kEAAkE,kCAAkC,gEAAgE,wCAAwC,uEAAuE,+CAA+C,wEAAwE,6BAA6B,yEAAyE,kCAAkC,uEAAuE,wCAAwC,oEAAoE,+CAA+C,qEAAqE,6BAA6B,sEAAsE,kCAAkC,oEAAoE,wCAAwC,sEAAsE,kCAAkC,4EAA4E,wDAAwD,2EAA2E,uDAAuD,uEAAuE,iCAAiC,qEAAqE,yCAAyC,wEAAwE,yBAAyB,kEAAkE,gDAAgD,wEAAwE,gDAAgD,uEAAuE,+CAA+C,mEAAmE,6BAA6B,oEAAoE,kCAAkC,kEAAkE,wCAAwC,+DAA+D,+CAA+C,gEAAgE,6BAA6B,iEAAiE,kCAAkC,+DAA+D,wCAAwC,gEAAgE,+CAA+C,iEAAiE,6BAA6B,kEAAkE,kCAAkC,gEAAgE,wCAAwC,kEAAkE,+CAA+C,mEAAmE,6BAA6B,oEAAoE,kCAAkC,kEAAkE,wCAAwC,8DAA8D,gDAAgD,+DAA+D,6BAA6B,gEAAgE,kCAAkC,8DAA8D,wCAAwC,mEAAmE,iDAAiD,oEAAoE,8BAA8B,qEAAqE,mCAAmC,mEAAmE,yCAAyC,mEAAmE,iDAAiD,oEAAoE,8BAA8B,qEAAqE,mCAAmC,mEAAmE,yCAAyC,mEAAmE,mCAAmC,oEAAoE,kCAAkC,kEAAkE,0CAA0C,qEAAqE,sBAAsB,iEAAiE,gDAAgD,kEAAkE,8BAA8B,mEAAmE,mCAAmC,iEAAiE,yCAAyC,wCAAwC,4CAA4C,qOAAqO,mDAAmD,mDAAmD,OAAO,iaAAia,uCAAuC,2DAA2D,6DAA6D,mEAAmE,sEAAsE,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,gBAAgB,MAAM,wBAAwB,kBAAkB,MAAM,wBAAwB,eAAe,MAAM,wBAAwB,kBAAkB,MAAM,wBAAwB,mBAAmB,MAAM,wBAAwB,iBAAiB,MAAM,wBAAwB,2BAA2B,MAAM,wBAAwB,aAAa,MAAM,wBAAwB,kBAAkB,MAAM,yBAAyB,cAAc,MAAM,yBAAyB,wBAAwB,MAAM,yBAAyB,sBAAsB,MAAM,uBAAuB,SAAS,iEAAiE,yBAAyB,sFAAsF,kEAAkE,aAAa,8oBAA8oB,4DAA4D,gDAAgD,4DAA4D,6BAA6B,8DAA8D,kCAAkC,4DAA4D,wCAAwC,8DAA8D,+CAA+C,+DAA+D,6BAA6B,gEAAgE,kCAAkC,8DAA8D,wCAAwC,2DAA2D,gDAAgD,4DAA4D,6BAA6B,6DAA6D,kCAAkC,2DAA2D,wCAAwC,8DAA8D,+CAA+C,+DAA+D,6BAA6B,gEAAgE,kCAAkC,8DAA8D,wCAAwC,+DAA+D,gDAAgD,gEAAgE,6BAA6B,iEAAiE,kCAAkC,+DAA+D,wCAAwC,6DAA6D,+CAA+C,8DAA8D,6BAA6B,+DAA+D,kCAAkC,6DAA6D,wCAAwC,uEAAuE,+CAA+C,wEAAwE,6BAA6B,yEAAyE,kCAAkC,uEAAuE,wCAAwC,yDAAyD,gDAAgD,0DAA0D,6BAA6B,2DAA2D,kCAAkC,yDAAyD,wCAAwC,8DAA8D,gDAAgD,+DAA+D,6BAA6B,gEAAgE,kCAAkC,8DAA8D,wCAAwC,0DAA0D,gDAAgD,2DAA2D,8BAA8B,4DAA4D,mCAAmC,0DAA0D,yCAAyC,oEAAoE,iDAAiD,qEAAqE,8BAA8B,sEAAsE,mCAAmC,oEAAoE,yCAAyC,kEAAkE,iDAAiD,mEAAmE,8BAA8B,oEAAoE,mCAAmC,kEAAkE,yCAAyC,sCAAsC,4CAA4C,6NAA6N,iDAAiD,iDAAiD,SAAS,2WAA2W,uCAAuC,yDAAyD,2DAA2D,iEAAiE,oEAAoE,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,gBAAgB,MAAM,wBAAwB,cAAc,MAAM,wBAAwB,qBAAqB,MAAM,6CAA6C,+FAA+F,MAAM,6CAA6C,gGAAgG,MAAM,wCAAwC,yFAAyF,MAAM,wBAAwB,kBAAkB,MAAM,uBAAuB,SAAS,+DAA+D,yBAAyB,oFAAoF,gEAAgE,aAAa,2gBAA2gB,0DAA0D,+CAA+C,2DAA2D,6BAA6B,4DAA4D,kCAAkC,0DAA0D,wCAAwC,wDAAwD,+CAA+C,yDAAyD,6BAA6B,0DAA0D,kCAAkC,wDAAwD,wCAAwC,+DAA+D,+CAA+C,gEAAgE,6BAA6B,iEAAiE,kCAAkC,+DAA+D,wCAAwC,4DAA4D,yEAAyE,6DAA6D,oCAAoC,8DAA8D,0BAA0B,4DAA4D,wCAAwC,6DAA6D,yEAAyE,8DAA8D,oCAAoC,+DAA+D,2BAA2B,6DAA6D,wCAAwC,2DAA2D,oEAAoE,4DAA4D,oCAAoC,6DAA6D,yBAAyB,2DAA2D,wCAAwC,4DAA4D,gDAAgD,6DAA6D,6BAA6B,8DAA8D,kCAAkC,4DAA4D,wCAAwC,8CAA8C,wFAAwF,qTAAqT,yDAAyD,yDAAyD,SAAS,y4BAAy4B,uCAAuC,iEAAiE,mEAAmE,yEAAyE,4EAA4E,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,gBAAgB,MAAM,wBAAwB,iBAAiB,MAAM,wBAAwB,mBAAmB,MAAM,wBAAwB,qBAAqB,MAAM,wBAAwB,mBAAmB,MAAM,uBAAuB,mBAAmB,MAAM,wBAAwB,cAAc,MAAM,wBAAwB,oBAAoB,MAAM,wBAAwB,kBAAkB,MAAM,yBAAyB,gBAAgB,MAAM,yBAAyB,qBAAqB,MAAM,wBAAwB,oBAAoB,MAAM,wBAAwB,yBAAyB,MAAM,wBAAwB,uBAAuB,MAAM,yBAAyB,uBAAuB,MAAM,yBAAyB,qBAAqB,MAAM,yBAAyB,qBAAqB,MAAM,yBAAyB,sBAAsB,MAAM,yBAAyB,oBAAoB,MAAM,yBAAyB,yBAAyB,MAAM,2CAA2C,6FAA6F,MAAM,yBAAyB,kBAAkB,MAAM,yBAAyB,oCAAoC,MAAM,uBAAuB,SAAS,uEAAuE,yBAAyB,4FAA4F,wEAAwE,aAAa,kzCAAkzC,kEAAkE,+CAA+C,mEAAmE,6BAA6B,oEAAoE,kCAAkC,kEAAkE,wCAAwC,uEAAuE,kCAAkC,wEAAwE,iCAAiC,sEAAsE,yCAAyC,yEAAyE,yBAAyB,qEAAqE,+CAA+C,sEAAsE,6BAA6B,uEAAuE,kCAAkC,qEAAqE,wCAAwC,uEAAuE,gDAAgD,wEAAwE,6BAA6B,yEAAyE,kCAAkC,uEAAuE,wCAAwC,qEAAqE,gDAAgD,sEAAsE,6BAA6B,uEAAuE,kCAAkC,qEAAqE,wCAAwC,qEAAqE,gDAAgD,2EAA2E,kDAAkD,0EAA0E,iDAAiD,sEAAsE,6BAA6B,uEAAuE,kCAAkC,qEAAqE,wCAAwC,gEAAgE,gDAAgD,iEAAiE,6BAA6B,kEAAkE,kCAAkC,gEAAgE,wCAAwC,sEAAsE,gDAAgD,uEAAuE,6BAA6B,wEAAwE,kCAAkC,sEAAsE,wCAAwC,oEAAoE,gDAAgD,qEAAqE,6BAA6B,sEAAsE,kCAAkC,oEAAoE,wCAAwC,kEAAkE,gDAAgD,mEAAmE,8BAA8B,oEAAoE,mCAAmC,kEAAkE,yCAAyC,2EAA2E,mCAAmC,4EAA4E,kCAAkC,0EAA0E,0CAA0C,6EAA6E,6BAA6B,sEAAsE,gDAAgD,uEAAuE,8BAA8B,wEAAwE,mCAAmC,sEAAsE,yCAAyC,2EAA2E,gDAAgD,4EAA4E,8BAA8B,6EAA6E,mCAAmC,2EAA2E,yCAAyC,yEAAyE,gDAAgD,0EAA0E,8BAA8B,2EAA2E,mCAAmC,yEAAyE,yCAAyC,yEAAyE,gDAAgD,0EAA0E,8BAA8B,2EAA2E,mCAAmC,yEAAyE,yCAAyC,uEAAuE,gDAAgD,wEAAwE,8BAA8B,yEAAyE,mCAAmC,uEAAuE,yCAAyC,uEAAuE,gDAAgD,wEAAwE,8BAA8B,yEAAyE,mCAAmC,uEAAuE,yCAAyC,wEAAwE,gDAAgD,yEAAyE,8BAA8B,0EAA0E,mCAAmC,wEAAwE,yCAAyC,sEAAsE,gDAAgD,uEAAuE,8BAA8B,wEAAwE,mCAAmC,sEAAsE,yCAAyC,2EAA2E,gDAAgD,4EAA4E,8BAA8B,6EAA6E,mCAAmC,2EAA2E,yCAAyC,qEAAqE,uEAAuE,sEAAsE,qCAAqC,uEAAuE,2BAA2B,qEAAqE,yCAAyC,oEAAoE,gDAAgD,qEAAqE,8BAA8B,sEAAsE,mCAAmC,oEAAoE,yCAAyC,sFAAsF,gDAAgD,uFAAuF,8BAA8B,wFAAwF,mCAAmC,sFAAsF,yCAAyC,iDAAiD,2FAA2F,iUAAiU,4DAA4D,4DAA4D,OAAO,kHAAkH,uCAAuC,oEAAoE,sEAAsE,4EAA4E,+EAA+E,KAAK,+BAA+B,EAAE,2BAA2B,kDAAkD,qGAAqG,MAAM,uBAAuB,SAAS,0EAA0E,yBAAyB,+FAA+F,2EAA2E,MAAM,6HAA6H,gFAAgF,kFAAkF,iFAAiF,4CAA4C,+EAA+E,wFAAwF,kFAAkF,+BAA+B,8CAA8C,4CAA4C,6PAA6P,yDAAyD,yDAAyD,OAAO,kEAAkE,uCAAuC,iEAAiE,mEAAmE,yEAAyE,4EAA4E,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,eAAe,MAAM,wBAAwB,kBAAkB,MAAM,uBAAuB,SAAS,uEAAuE,yBAAyB,4FAA4F,wEAAwE,aAAa,4GAA4G,iEAAiE,gDAAgD,kEAAkE,6BAA6B,mEAAmE,kCAAkC,iEAAiE,wCAAwC,oEAAoE,gDAAgD,qEAAqE,6BAA6B,sEAAsE,kCAAkC,oEAAoE,wCAAwC,2CAA2C,qFAAqF,qSAAqS,sDAAsD,sDAAsD,SAAS,yWAAyW,uCAAuC,8DAA8D,gEAAgE,sEAAsE,yEAAyE,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,eAAe,MAAM,wBAAwB,kBAAkB,MAAM,8CAA8C,gGAAgG,MAAM,8CAA8C,gGAAgG,MAAM,8CAA8C,qGAAqG,MAAM,uBAAuB,SAAS,oEAAoE,yBAAyB,yFAAyF,qEAAqE,aAAa,0cAA0c,8DAA8D,gDAAgD,+DAA+D,6BAA6B,gEAAgE,kCAAkC,8DAA8D,wCAAwC,iEAAiE,gDAAgD,kEAAkE,6BAA6B,mEAAmE,kCAAkC,iEAAiE,wCAAwC,qEAAqE,kFAAkF,sEAAsE,4CAA4C,oEAAoE,wFAAwF,uEAAuE,0BAA0B,qEAAqE,kFAAkF,sEAAsE,4CAA4C,oEAAoE,wFAAwF,uEAAuE,0BAA0B,sEAAsE,0EAA0E,uEAAuE,oCAAoC,wEAAwE,+BAA+B,sEAAsE,wCAAwC,8CAA8C,4CAA4C,6PAA6P,yDAAyD,yDAAyD,OAAO,mGAAmG,uCAAuC,iEAAiE,mEAAmE,yEAAyE,4EAA4E,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,eAAe,MAAM,wBAAwB,gBAAgB,MAAM,wBAAwB,mBAAmB,MAAM,uBAAuB,SAAS,uEAAuE,yBAAyB,4FAA4F,wEAAwE,aAAa,kKAAkK,iEAAiE,+CAA+C,kEAAkE,6BAA6B,mEAAmE,kCAAkC,iEAAiE,wCAAwC,kEAAkE,+CAA+C,mEAAmE,6BAA6B,oEAAoE,kCAAkC,kEAAkE,wCAAwC,qEAAqE,gDAAgD,sEAAsE,6BAA6B,uEAAuE,kCAAkC,qEAAqE,wCAAwC,0CAA0C,4CAA4C,6OAA6O,qDAAqD,qDAAqD,OAAO,oGAAoG,uCAAuC,6DAA6D,+DAA+D,qEAAqE,wEAAwE,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,eAAe,MAAM,wBAAwB,oBAAoB,MAAM,wBAAwB,gBAAgB,MAAM,uBAAuB,SAAS,mEAAmE,yBAAyB,wFAAwF,oEAAoE,aAAa,kKAAkK,6DAA6D,+CAA+C,8DAA8D,6BAA6B,+DAA+D,kCAAkC,6DAA6D,wCAAwC,kEAAkE,+CAA+C,mEAAmE,6BAA6B,oEAAoE,kCAAkC,kEAAkE,wCAAwC,8DAA8D,gDAAgD,+DAA+D,6BAA6B,gEAAgE,kCAAkC,8DAA8D,wCAAwC,8CAA8C,4CAA4C,6PAA6P,yDAAyD,yDAAyD,OAAO,sLAAsL,uCAAuC,iEAAiE,mEAAmE,yEAAyE,4EAA4E,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,qBAAqB,MAAM,wBAAwB,qBAAqB,MAAM,wBAAwB,mBAAmB,MAAM,wBAAwB,qBAAqB,MAAM,wBAAwB,mBAAmB,MAAM,uBAAuB,SAAS,uEAAuE,yBAAyB,4FAA4F,wEAAwE,aAAa,8QAA8Q,uEAAuE,+CAA+C,wEAAwE,6BAA6B,yEAAyE,kCAAkC,uEAAuE,wCAAwC,uEAAuE,+CAA+C,wEAAwE,6BAA6B,yEAAyE,kCAAkC,uEAAuE,wCAAwC,qEAAqE,+CAA+C,sEAAsE,6BAA6B,uEAAuE,kCAAkC,qEAAqE,wCAAwC,uEAAuE,+CAA+C,wEAAwE,6BAA6B,yEAAyE,kCAAkC,uEAAuE,wCAAwC,qEAAqE,gDAAgD,sEAAsE,6BAA6B,uEAAuE,kCAAkC,qEAAqE,wCAAwC,4CAA4C,4CAA4C,qPAAqP,uDAAuD,uDAAuD,OAAO,iNAAiN,uCAAuC,+DAA+D,iEAAiE,uEAAuE,0EAA0E,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,aAAa,MAAM,wBAAwB,sBAAsB,MAAM,uBAAuB,qBAAqB,MAAM,wBAAwB,qBAAqB,MAAM,wBAAwB,gBAAgB,MAAM,wBAAwB,mBAAmB,MAAM,uBAAuB,SAAS,qEAAqE,yBAAyB,0FAA0F,sEAAsE,aAAa,mUAAmU,6DAA6D,gDAAgD,8DAA8D,6BAA6B,+DAA+D,kCAAkC,6DAA6D,wCAAwC,sEAAsE,+CAA+C,uEAAuE,6BAA6B,wEAAwE,kCAAkC,sEAAsE,wCAAwC,qEAAqE,+CAA+C,sEAAsE,6BAA6B,uEAAuE,kCAAkC,qEAAqE,wCAAwC,qEAAqE,+CAA+C,sEAAsE,6BAA6B,uEAAuE,kCAAkC,qEAAqE,wCAAwC,gEAAgE,+CAA+C,iEAAiE,6BAA6B,kEAAkE,kCAAkC,gEAAgE,wCAAwC,mEAAmE,+CAA+C,oEAAoE,6BAA6B,qEAAqE,kCAAkC,mEAAmE,wCAAwC,kDAAkD,4CAA4C,6QAA6Q,6DAA6D,6DAA6D,OAAO,6JAA6J,uCAAuC,qEAAqE,uEAAuE,6EAA6E,gFAAgF,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,gBAAgB,MAAM,wBAAwB,eAAe,MAAM,wBAAwB,cAAc,MAAM,wBAAwB,iBAAiB,MAAM,wBAAwB,cAAc,MAAM,uBAAuB,SAAS,2EAA2E,yBAAyB,gGAAgG,4EAA4E,aAAa,8QAA8Q,sEAAsE,+CAA+C,uEAAuE,6BAA6B,wEAAwE,kCAAkC,sEAAsE,wCAAwC,qEAAqE,+CAA+C,sEAAsE,6BAA6B,uEAAuE,kCAAkC,qEAAqE,wCAAwC,oEAAoE,+CAA+C,qEAAqE,6BAA6B,sEAAsE,kCAAkC,oEAAoE,wCAAwC,uEAAuE,gDAAgD,wEAAwE,6BAA6B,yEAAyE,kCAAkC,uEAAuE,wCAAwC,oEAAoE,gDAAgD,qEAAqE,6BAA6B,sEAAsE,kCAAkC,oEAAoE,wCAAwC,4CAA4C,4CAA4C,qPAAqP,uDAAuD,uDAAuD,OAAO,6FAA6F,uCAAuC,+DAA+D,iEAAiE,uEAAuE,0EAA0E,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,eAAe,MAAM,wBAAwB,gBAAgB,MAAM,wBAAwB,aAAa,MAAM,uBAAuB,SAAS,qEAAqE,yBAAyB,0FAA0F,sEAAsE,aAAa,kKAAkK,+DAA+D,gDAAgD,gEAAgE,6BAA6B,iEAAiE,kCAAkC,+DAA+D,wCAAwC,gEAAgE,+CAA+C,iEAAiE,6BAA6B,kEAAkE,kCAAkC,gEAAgE,wCAAwC,6DAA6D,+CAA+C,8DAA8D,6BAA6B,+DAA+D,kCAAkC,6DAA6D,wCAAwC,4CAA4C,4CAA4C,qPAAqP,uDAAuD,uDAAuD,SAAS,qMAAqM,uCAAuC,+DAA+D,iEAAiE,uEAAuE,0EAA0E,KAAK,+BAA+B,EAAE,2BAA2B,gDAAgD,iGAAiG,MAAM,wBAAwB,iBAAiB,MAAM,wBAAwB,wBAAwB,MAAM,wBAAwB,wBAAwB,MAAM,uBAAuB,SAAS,qEAAqE,yBAAyB,0FAA0F,sEAAsE,aAAa,4QAA4Q,qEAAqE,wEAAwE,sEAAsE,oCAAoC,uEAAuE,6BAA6B,qEAAqE,wCAAwC,iEAAiE,gDAAgD,kEAAkE,6BAA6B,mEAAmE,kCAAkC,iEAAiE,wCAAwC,wEAAwE,gDAAgD,yEAAyE,6BAA6B,0EAA0E,kCAAkC,wEAAwE,wCAAwC,wEAAwE,gDAAgD,yEAAyE,6BAA6B,0EAA0E,kCAAkC,wEAAwE,wCAAwC,yCAAyC,mFAAmF,yRAAyR,oDAAoD,oDAAoD,SAAS,6SAA6S,uCAAuC,4DAA4D,8DAA8D,oEAAoE,uEAAuE,KAAK,+BAA+B,EAAE,2BAA2B,sDAAsD,yGAAyG,MAAM,4CAA4C,6FAA6F,MAAM,wBAAwB,sBAAsB,MAAM,wBAAwB,sBAAsB,MAAM,wBAAwB,gBAAgB,MAAM,uBAAuB,SAAS,kEAAkE,yBAAyB,uFAAuF,mEAAmE,aAAa,yYAAyY,oEAAoE,8EAA8E,qEAAqE,oCAAoC,sEAAsE,+BAA+B,oEAAoE,wCAAwC,kEAAkE,gFAAgF,mEAAmE,4CAA4C,iEAAiE,sFAAsF,oEAAoE,yBAAyB,mEAAmE,gDAAgD,oEAAoE,6BAA6B,qEAAqE,kCAAkC,mEAAmE,wCAAwC,mEAAmE,gDAAgD,oEAAoE,6BAA6B,qEAAqE,kCAAkC,mEAAmE,wCAAwC,6DAA6D,gDAAgD,8DAA8D,6BAA6B,+DAA+D,kCAAkC,6DAA6D,wCAAwC,yCAAyC,4CAA4C,yOAAyO,oDAAoD,oDAAoD,OAAO,gXAAgX,uCAAuC,4DAA4D,8DAA8D,oEAAoE,uEAAuE,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,mBAAmB,MAAM,wBAAwB,mBAAmB,MAAM,wBAAwB,iBAAiB,MAAM,wBAAwB,iBAAiB,MAAM,wBAAwB,mBAAmB,MAAM,wBAAwB,uBAAuB,MAAM,wBAAwB,iBAAiB,MAAM,wBAAwB,mBAAmB,MAAM,wBAAwB,4BAA4B,MAAM,yBAAyB,4BAA4B,MAAM,uBAAuB,SAAS,kEAAkE,yBAAyB,uFAAuF,mEAAmE,aAAa,8hBAA8hB,gEAAgE,gDAAgD,iEAAiE,6BAA6B,kEAAkE,kCAAkC,gEAAgE,wCAAwC,gEAAgE,gDAAgD,iEAAiE,6BAA6B,kEAAkE,kCAAkC,gEAAgE,wCAAwC,8DAA8D,gDAAgD,+DAA+D,6BAA6B,gEAAgE,kCAAkC,8DAA8D,wCAAwC,8DAA8D,gDAAgD,+DAA+D,6BAA6B,gEAAgE,kCAAkC,8DAA8D,wCAAwC,gEAAgE,gDAAgD,iEAAiE,6BAA6B,kEAAkE,kCAAkC,gEAAgE,wCAAwC,oEAAoE,gDAAgD,qEAAqE,6BAA6B,sEAAsE,kCAAkC,oEAAoE,wCAAwC,8DAA8D,gDAAgD,+DAA+D,6BAA6B,gEAAgE,kCAAkC,8DAA8D,wCAAwC,gEAAgE,gDAAgD,iEAAiE,6BAA6B,kEAAkE,kCAAkC,gEAAgE,wCAAwC,yEAAyE,gDAAgD,0EAA0E,6BAA6B,2EAA2E,kCAAkC,yEAAyE,wCAAwC,yEAAyE,iDAAiD,0EAA0E,8BAA8B,2EAA2E,mCAAmC,yEAAyE,yCAAyC,+CAA+C,4CAA4C,iQAAiQ,0DAA0D,0DAA0D,OAAO,sIAAsI,uCAAuC,kEAAkE,oEAAoE,0EAA0E,6EAA6E,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,aAAa,MAAM,wBAAwB,mBAAmB,MAAM,wBAAwB,eAAe,MAAM,wBAAwB,sBAAsB,MAAM,uBAAuB,SAAS,wEAAwE,yBAAyB,6FAA6F,yEAAyE,aAAa,wNAAwN,gEAAgE,gDAAgD,iEAAiE,6BAA6B,kEAAkE,kCAAkC,gEAAgE,wCAAwC,sEAAsE,gDAAgD,uEAAuE,6BAA6B,wEAAwE,kCAAkC,sEAAsE,wCAAwC,kEAAkE,gDAAgD,mEAAmE,6BAA6B,oEAAoE,kCAAkC,kEAAkE,wCAAwC,yEAAyE,gDAAgD,0EAA0E,6BAA6B,2EAA2E,kCAAkC,yEAAyE,wCAAwC,0CAA0C,4CAA4C,6OAA6O,qDAAqD,qDAAqD,SAAS,wcAAwc,uCAAuC,6DAA6D,+DAA+D,qEAAqE,wEAAwE,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,aAAa,MAAM,wBAAwB,kBAAkB,MAAM,wBAAwB,eAAe,MAAM,wBAAwB,iBAAiB,MAAM,wBAAwB,mBAAmB,MAAM,wBAAwB,gBAAgB,MAAM,wBAAwB,gBAAgB,MAAM,wBAAwB,sBAAsB,MAAM,wBAAwB,eAAe,MAAM,yBAAyB,sBAAsB,MAAM,yBAAyB,uBAAuB,MAAM,2CAA2C,+FAA+F,MAAM,uBAAuB,SAAS,mEAAmE,yBAAyB,wFAAwF,oEAAoE,aAAa,+rBAA+rB,2DAA2D,gDAAgD,4DAA4D,6BAA6B,6DAA6D,kCAAkC,2DAA2D,wCAAwC,gEAAgE,gDAAgD,iEAAiE,6BAA6B,kEAAkE,kCAAkC,gEAAgE,wCAAwC,6DAA6D,gDAAgD,8DAA8D,6BAA6B,+DAA+D,kCAAkC,6DAA6D,wCAAwC,+DAA+D,gDAAgD,gEAAgE,6BAA6B,iEAAiE,kCAAkC,+DAA+D,wCAAwC,iEAAiE,gDAAgD,kEAAkE,6BAA6B,mEAAmE,kCAAkC,iEAAiE,wCAAwC,8DAA8D,gDAAgD,+DAA+D,6BAA6B,gEAAgE,kCAAkC,8DAA8D,wCAAwC,8DAA8D,gDAAgD,+DAA+D,6BAA6B,gEAAgE,kCAAkC,8DAA8D,wCAAwC,oEAAoE,gDAAgD,qEAAqE,6BAA6B,sEAAsE,kCAAkC,oEAAoE,wCAAwC,6DAA6D,gDAAgD,8DAA8D,6BAA6B,+DAA+D,kCAAkC,6DAA6D,wCAAwC,oEAAoE,gDAAgD,qEAAqE,8BAA8B,sEAAsE,mCAAmC,oEAAoE,yCAAyC,qEAAqE,iDAAiD,sEAAsE,8BAA8B,uEAAuE,mCAAmC,qEAAqE,yCAAyC,mEAAmE,uEAAuE,oEAAoE,qCAAqC,qEAAqE,6BAA6B,mEAAmE,yCAAyC,wCAAwC,iBAAiB,kDAAkD,kuBAAkuB,4CAA4C,yPAAyP,wDAAwD,wDAAwD,OAAO,6FAA6F,uCAAuC,gEAAgE,kEAAkE,wEAAwE,2EAA2E,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,YAAY,MAAM,wBAAwB,cAAc,MAAM,wBAAwB,kBAAkB,MAAM,uBAAuB,SAAS,sEAAsE,yBAAyB,2FAA2F,uEAAuE,aAAa,kKAAkK,6DAA6D,gDAAgD,8DAA8D,6BAA6B,+DAA+D,kCAAkC,6DAA6D,wCAAwC,+DAA+D,gDAAgD,gEAAgE,6BAA6B,iEAAiE,kCAAkC,+DAA+D,wCAAwC,mEAAmE,gDAAgD,oEAAoE,6BAA6B,qEAAqE,kCAAkC,mEAAmE,wCAAwC,wCAAwC,4CAA4C,qOAAqO,mDAAmD,mDAAmD,OAAO,4FAA4F,uCAAuC,2DAA2D,6DAA6D,mEAAmE,sEAAsE,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,YAAY,MAAM,wBAAwB,iBAAiB,MAAM,wBAAwB,cAAc,MAAM,uBAAuB,SAAS,iEAAiE,yBAAyB,sFAAsF,kEAAkE,aAAa,kKAAkK,wDAAwD,gDAAgD,yDAAyD,6BAA6B,0DAA0D,kCAAkC,wDAAwD,wCAAwC,6DAA6D,gDAAgD,8DAA8D,6BAA6B,+DAA+D,kCAAkC,6DAA6D,wCAAwC,0DAA0D,gDAAgD,2DAA2D,6BAA6B,4DAA4D,kCAAkC,0DAA0D,wCAAwC,iDAAiD,4CAA4C,yQAAyQ,4DAA4D,4DAA4D,OAAO,6DAA6D,uCAAuC,oEAAoE,sEAAsE,4EAA4E,+EAA+E,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,eAAe,MAAM,uBAAuB,gBAAgB,MAAM,uBAAuB,SAAS,0EAA0E,yBAAyB,+FAA+F,2EAA2E,aAAa,2GAA2G,oEAAoE,+CAA+C,qEAAqE,6BAA6B,sEAAsE,kCAAkC,oEAAoE,wCAAwC,qEAAqE,gDAAgD,2EAA2E,+CAA+C,0EAA0E,8CAA8C,sEAAsE,6BAA6B,uEAAuE,kCAAkC,qEAAqE,wCAAwC,4CAA4C,4CAA4C,qPAAqP,uDAAuD,uDAAuD,SAAS,yHAAyH,uCAAuC,+DAA+D,iEAAiE,uEAAuE,0EAA0E,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,cAAc,MAAM,iDAAiD,uGAAuG,MAAM,uBAAuB,SAAS,qEAAqE,yBAAyB,0FAA0F,sEAAsE,aAAa,sKAAsK,8DAA8D,gDAAgD,+DAA+D,6BAA6B,gEAAgE,kCAAkC,8DAA8D,wCAAwC,sEAAsE,6EAA6E,uEAAuE,oCAAoC,wEAAwE,8BAA8B,sEAAsE,wCAAwC,iDAAiD,2FAA2F,iUAAiU,4DAA4D,4DAA4D,OAAO,uOAAuO,uCAAuC,oEAAoE,sEAAsE,4EAA4E,+EAA+E,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,YAAY,MAAM,wBAAwB,cAAc,MAAM,wBAAwB,kBAAkB,MAAM,wBAAwB,qBAAqB,MAAM,4CAA4C,8FAA8F,MAAM,uBAAuB,SAAS,0EAA0E,yBAAyB,+FAA+F,2EAA2E,aAAa,8UAA8U,iEAAiE,gDAAgD,kEAAkE,6BAA6B,mEAAmE,kCAAkC,iEAAiE,wCAAwC,mEAAmE,gDAAgD,oEAAoE,6BAA6B,qEAAqE,kCAAkC,mEAAmE,wCAAwC,uEAAuE,gDAAgD,wEAAwE,6BAA6B,yEAAyE,kCAAkC,uEAAuE,wCAAwC,0EAA0E,gDAAgD,2EAA2E,6BAA6B,4EAA4E,kCAAkC,0EAA0E,wCAAwC,2EAA2E,gFAAgF,4EAA4E,4CAA4C,0EAA0E,sFAAsF,6EAA6E,0BAA0B,4CAA4C,sFAAsF,ySAAyS,uDAAuD,uDAAuD,OAAO,6eAA6e,uCAAuC,+DAA+D,iEAAiE,uEAAuE,0EAA0E,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,YAAY,MAAM,uBAAuB,gBAAgB,MAAM,wBAAwB,kBAAkB,MAAM,yBAAyB,aAAa,MAAM,wBAAwB,kBAAkB,MAAM,wBAAwB,iBAAiB,MAAM,wBAAwB,oBAAoB,MAAM,wBAAwB,oBAAoB,MAAM,wBAAwB,cAAc,MAAM,wBAAwB,eAAe,MAAM,yBAAyB,eAAe,MAAM,yBAAyB,qBAAqB,MAAM,6CAA6C,8FAA8F,MAAM,uBAAuB,SAAS,qEAAqE,yBAAyB,0FAA0F,sEAAsE,aAAa,owBAAowB,4DAA4D,gDAAgD,6DAA6D,6BAA6B,8DAA8D,kCAAkC,4DAA4D,wCAAwC,gEAAgE,gDAAgD,sEAAsE,+CAA+C,qEAAqE,8CAA8C,iEAAiE,6BAA6B,kEAAkE,kCAAkC,gEAAgE,wCAAwC,kEAAkE,+CAA+C,mEAAmE,6BAA6B,oEAAoE,kCAAkC,kEAAkE,wCAAwC,6DAA6D,gDAAgD,8DAA8D,8BAA8B,+DAA+D,mCAAmC,6DAA6D,yCAAyC,kEAAkE,gDAAgD,mEAAmE,6BAA6B,oEAAoE,kCAAkC,kEAAkE,wCAAwC,iEAAiE,gDAAgD,kEAAkE,6BAA6B,mEAAmE,kCAAkC,iEAAiE,wCAAwC,oEAAoE,+CAA+C,qEAAqE,6BAA6B,sEAAsE,kCAAkC,oEAAoE,wCAAwC,oEAAoE,gDAAgD,qEAAqE,6BAA6B,sEAAsE,kCAAkC,oEAAoE,wCAAwC,8DAA8D,gDAAgD,+DAA+D,6BAA6B,gEAAgE,kCAAkC,8DAA8D,wCAAwC,+DAA+D,gDAAgD,gEAAgE,6BAA6B,iEAAiE,kCAAkC,+DAA+D,wCAAwC,+DAA+D,iDAAiD,gEAAgE,8BAA8B,iEAAiE,mCAAmC,+DAA+D,yCAAyC,qEAAqE,iDAAiD,sEAAsE,8BAA8B,uEAAuE,mCAAmC,qEAAqE,yCAAyC,sEAAsE,iFAAiF,uEAAuE,6CAA6C,qEAAqE,uFAAuF,wEAAwE,0BAA0B,+CAA+C,4CAA4C,iQAAiQ,0DAA0D,0DAA0D,OAAO,qGAAqG,uCAAuC,kEAAkE,oEAAoE,0EAA0E,6EAA6E,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,YAAY,MAAM,uBAAuB,kBAAkB,MAAM,uBAAuB,qBAAqB,MAAM,uBAAuB,SAAS,wEAAwE,yBAAyB,6FAA6F,yEAAyE,aAAa,gKAAgK,+DAA+D,gDAAgD,gEAAgE,6BAA6B,iEAAiE,kCAAkC,+DAA+D,wCAAwC,qEAAqE,gDAAgD,2EAA2E,iDAAiD,0EAA0E,gDAAgD,sEAAsE,6BAA6B,uEAAuE,kCAAkC,qEAAqE,wCAAwC,wEAAwE,gDAAgD,8EAA8E,oDAAoD,6EAA6E,mDAAmD,yEAAyE,6BAA6B,0EAA0E,kCAAkC,wEAAwE,wCAAwC,8CAA8C,4CAA4C,6PAA6P,yDAAyD,yDAAyD,SAAS,gOAAgO,uCAAuC,iEAAiE,mEAAmE,yEAAyE,4EAA4E,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,gBAAgB,MAAM,wBAAwB,gBAAgB,MAAM,wBAAwB,eAAe,MAAM,wBAAwB,gBAAgB,MAAM,wBAAwB,mBAAmB,MAAM,wBAAwB,4EAA4E,MAAM,uBAAuB,SAAS,uEAAuE,yBAAyB,4FAA4F,wEAAwE,aAAa,mWAAmW,kEAAkE,gDAAgD,mEAAmE,6BAA6B,oEAAoE,kCAAkC,kEAAkE,wCAAwC,kEAAkE,gDAAgD,mEAAmE,6BAA6B,oEAAoE,kCAAkC,kEAAkE,wCAAwC,iEAAiE,gDAAgD,kEAAkE,6BAA6B,mEAAmE,kCAAkC,iEAAiE,wCAAwC,kEAAkE,+CAA+C,mEAAmE,6BAA6B,oEAAoE,kCAAkC,kEAAkE,wCAAwC,qEAAqE,+CAA+C,sEAAsE,6BAA6B,uEAAuE,kCAAkC,qEAAqE,wCAAwC,sEAAsE,oDAAoD,uEAAuE,oCAAoC,wEAAwE,4BAA4B,sEAAsE,wCAAwC,iDAAiD,4CAA4C,yQAAyQ,4DAA4D,4DAA4D,OAAO,iHAAiH,uCAAuC,oEAAoE,sEAAsE,4EAA4E,+EAA+E,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,sBAAsB,MAAM,uBAAuB,qBAAqB,MAAM,wBAAwB,qBAAqB,MAAM,uBAAuB,SAAS,0EAA0E,yBAAyB,+FAA+F,2EAA2E,aAAa,iKAAiK,2EAA2E,+CAA+C,4EAA4E,6BAA6B,6EAA6E,kCAAkC,2EAA2E,wCAAwC,0EAA0E,+CAA+C,2EAA2E,6BAA6B,4EAA4E,kCAAkC,0EAA0E,wCAAwC,0EAA0E,+CAA+C,2EAA2E,6BAA6B,4EAA4E,kCAAkC,0EAA0E,wCAAwC,4CAA4C,sFAAsF,wSAAwS,uDAAuD,uDAAuD,OAAO,oIAAoI,uCAAuC,+DAA+D,iEAAiE,uEAAuE,0EAA0E,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,aAAa,MAAM,iDAAiD,iGAAiG,MAAM,uBAAuB,SAAS,qEAAqE,yBAAyB,0FAA0F,sEAAsE,aAAa,+KAA+K,6DAA6D,gDAAgD,8DAA8D,6BAA6B,+DAA+D,kCAAkC,6DAA6D,wCAAwC,oEAAoE,qFAAqF,qEAAqE,4CAA4C,mEAAmE,2FAA2F,sEAAsE,wBAAwB,kDAAkD,4FAA4F,sUAAsU,6DAA6D,6DAA6D,SAAS,+KAA+K,uCAAuC,qEAAqE,uEAAuE,6EAA6E,gFAAgF,KAAK,+BAA+B,EAAE,2BAA2B,kDAAkD,6FAA6F,MAAM,4CAA4C,8FAA8F,MAAM,uBAAuB,SAAS,2EAA2E,yBAAyB,gGAAgG,4EAA4E,aAAa,4NAA4N,qEAAqE,0EAA0E,sEAAsE,oCAAoC,uEAAuE,uBAAuB,qEAAqE,wCAAwC,4EAA4E,gFAAgF,6EAA6E,4CAA4C,2EAA2E,sFAAsF,8EAA8E,0BAA0B,2CAA2C,4CAA4C,iPAAiP,sDAAsD,sDAAsD,OAAO,+MAA+M,uCAAuC,8DAA8D,gEAAgE,sEAAsE,yEAAyE,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,gBAAgB,MAAM,wBAAwB,mBAAmB,MAAM,wBAAwB,gBAAgB,MAAM,wBAAwB,yBAAyB,MAAM,wBAAwB,mBAAmB,MAAM,wBAAwB,eAAe,MAAM,uBAAuB,SAAS,oEAAoE,yBAAyB,yFAAyF,qEAAqE,aAAa,oUAAoU,+DAA+D,+CAA+C,gEAAgE,6BAA6B,iEAAiE,kCAAkC,+DAA+D,wCAAwC,kEAAkE,gDAAgD,mEAAmE,6BAA6B,oEAAoE,kCAAkC,kEAAkE,wCAAwC,+DAA+D,gDAAgD,gEAAgE,6BAA6B,iEAAiE,kCAAkC,+DAA+D,wCAAwC,wEAAwE,+CAA+C,yEAAyE,6BAA6B,0EAA0E,kCAAkC,wEAAwE,wCAAwC,kEAAkE,gDAAgD,mEAAmE,6BAA6B,oEAAoE,kCAAkC,kEAAkE,wCAAwC,8DAA8D,gDAAgD,+DAA+D,6BAA6B,gEAAgE,kCAAkC,8DAA8D,wCAAwC,0CAA0C,iBAAiB,uEAAuE,giCAAgiC,4CAA4C,6OAA6O,qDAAqD,qDAAqD,OAAO,qIAAqI,uCAAuC,6DAA6D,+DAA+D,qEAAqE,wEAAwE,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,cAAc,MAAM,wBAAwB,mBAAmB,MAAM,wBAAwB,eAAe,MAAM,wBAAwB,oBAAoB,MAAM,uBAAuB,SAAS,mEAAmE,yBAAyB,wFAAwF,oEAAoE,aAAa,wNAAwN,4DAA4D,+CAA+C,6DAA6D,6BAA6B,8DAA8D,kCAAkC,4DAA4D,wCAAwC,iEAAiE,+CAA+C,kEAAkE,6BAA6B,mEAAmE,kCAAkC,iEAAiE,wCAAwC,6DAA6D,+CAA+C,8DAA8D,6BAA6B,+DAA+D,kCAAkC,6DAA6D,wCAAwC,kEAAkE,+CAA+C,mEAAmE,6BAA6B,oEAAoE,kCAAkC,kEAAkE,wCAAwC,iDAAiD,4CAA4C,yQAAyQ,4DAA4D,4DAA4D,OAAO,ycAAyc,uCAAuC,oEAAoE,sEAAsE,4EAA4E,+EAA+E,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,eAAe,MAAM,wBAAwB,sBAAsB,MAAM,wBAAwB,qBAAqB,MAAM,wBAAwB,qBAAqB,MAAM,wBAAwB,oBAAoB,MAAM,wBAAwB,kBAAkB,MAAM,yBAAyB,uBAAuB,MAAM,wBAAwB,mBAAmB,MAAM,wBAAwB,iBAAiB,MAAM,wBAAwB,mBAAmB,MAAM,yBAAyB,gBAAgB,MAAM,yBAAyB,gBAAgB,MAAM,yBAAyB,iBAAiB,MAAM,uBAAuB,SAAS,0EAA0E,yBAAyB,+FAA+F,2EAA2E,aAAa,ssBAAssB,oEAAoE,gDAAgD,qEAAqE,6BAA6B,sEAAsE,kCAAkC,oEAAoE,wCAAwC,2EAA2E,+CAA+C,4EAA4E,6BAA6B,6EAA6E,kCAAkC,2EAA2E,wCAAwC,0EAA0E,+CAA+C,2EAA2E,6BAA6B,4EAA4E,kCAAkC,0EAA0E,wCAAwC,0EAA0E,+CAA+C,2EAA2E,6BAA6B,4EAA4E,kCAAkC,0EAA0E,wCAAwC,yEAAyE,+CAA+C,0EAA0E,6BAA6B,2EAA2E,kCAAkC,yEAAyE,wCAAwC,uEAAuE,+CAA+C,wEAAwE,6BAA6B,yEAAyE,kCAAkC,uEAAuE,wCAAwC,4EAA4E,gDAAgD,6EAA6E,8BAA8B,8EAA8E,mCAAmC,4EAA4E,yCAAyC,wEAAwE,+CAA+C,yEAAyE,6BAA6B,0EAA0E,kCAAkC,wEAAwE,wCAAwC,sEAAsE,+CAA+C,uEAAuE,6BAA6B,wEAAwE,kCAAkC,sEAAsE,wCAAwC,wEAAwE,gDAAgD,yEAAyE,6BAA6B,0EAA0E,kCAAkC,wEAAwE,wCAAwC,qEAAqE,iDAAiD,sEAAsE,8BAA8B,uEAAuE,mCAAmC,qEAAqE,yCAAyC,qEAAqE,iDAAiD,sEAAsE,8BAA8B,uEAAuE,mCAAmC,qEAAqE,yCAAyC,sEAAsE,iDAAiD,uEAAuE,8BAA8B,wEAAwE,mCAAmC,sEAAsE,yCAAyC,+CAA+C,4CAA4C,iQAAiQ,0DAA0D,0DAA0D,OAAO,2XAA2X,uCAAuC,kEAAkE,oEAAoE,0EAA0E,6EAA6E,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,mBAAmB,MAAM,wBAAwB,oBAAoB,MAAM,wBAAwB,kBAAkB,MAAM,wBAAwB,kBAAkB,MAAM,wBAAwB,kBAAkB,MAAM,wBAAwB,mBAAmB,MAAM,wBAAwB,iBAAiB,MAAM,yBAAyB,oBAAoB,MAAM,wBAAwB,gBAAgB,MAAM,wBAAwB,gBAAgB,MAAM,yBAAyB,mBAAmB,MAAM,uBAAuB,SAAS,wEAAwE,yBAAyB,6FAA6F,yEAAyE,aAAa,slBAAslB,sEAAsE,gDAAgD,uEAAuE,6BAA6B,wEAAwE,kCAAkC,sEAAsE,wCAAwC,uEAAuE,+CAA+C,wEAAwE,6BAA6B,yEAAyE,kCAAkC,uEAAuE,wCAAwC,qEAAqE,+CAA+C,sEAAsE,6BAA6B,uEAAuE,kCAAkC,qEAAqE,wCAAwC,qEAAqE,+CAA+C,sEAAsE,6BAA6B,uEAAuE,kCAAkC,qEAAqE,wCAAwC,qEAAqE,+CAA+C,sEAAsE,6BAA6B,uEAAuE,kCAAkC,qEAAqE,wCAAwC,sEAAsE,+CAA+C,uEAAuE,6BAA6B,wEAAwE,kCAAkC,sEAAsE,wCAAwC,oEAAoE,+CAA+C,qEAAqE,6BAA6B,sEAAsE,kCAAkC,oEAAoE,wCAAwC,uEAAuE,gDAAgD,wEAAwE,8BAA8B,yEAAyE,mCAAmC,uEAAuE,yCAAyC,mEAAmE,gDAAgD,oEAAoE,6BAA6B,qEAAqE,kCAAkC,mEAAmE,wCAAwC,mEAAmE,gDAAgD,oEAAoE,6BAA6B,qEAAqE,kCAAkC,mEAAmE,wCAAwC,sEAAsE,iDAAiD,uEAAuE,8BAA8B,wEAAwE,mCAAmC,sEAAsE,yCAAyC,iDAAiD,4CAA4C,yQAAyQ,4DAA4D,4DAA4D,OAAO,mTAAmT,uCAAuC,oEAAoE,sEAAsE,4EAA4E,+EAA+E,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,eAAe,MAAM,wBAAwB,mBAAmB,MAAM,wBAAwB,aAAa,MAAM,wBAAwB,cAAc,MAAM,wBAAwB,mBAAmB,MAAM,wBAAwB,oBAAoB,MAAM,wBAAwB,qBAAqB,MAAM,wBAAwB,kBAAkB,MAAM,wBAAwB,uBAAuB,MAAM,uBAAuB,SAAS,0EAA0E,yBAAyB,+FAA+F,2EAA2E,aAAa,seAAse,oEAAoE,gDAAgD,qEAAqE,6BAA6B,sEAAsE,kCAAkC,oEAAoE,wCAAwC,wEAAwE,gDAAgD,yEAAyE,6BAA6B,0EAA0E,kCAAkC,wEAAwE,wCAAwC,kEAAkE,gDAAgD,mEAAmE,6BAA6B,oEAAoE,kCAAkC,kEAAkE,wCAAwC,mEAAmE,+CAA+C,oEAAoE,6BAA6B,qEAAqE,kCAAkC,mEAAmE,wCAAwC,wEAAwE,+CAA+C,yEAAyE,6BAA6B,0EAA0E,kCAAkC,wEAAwE,wCAAwC,yEAAyE,+CAA+C,0EAA0E,6BAA6B,2EAA2E,kCAAkC,yEAAyE,wCAAwC,0EAA0E,+CAA+C,2EAA2E,6BAA6B,4EAA4E,kCAAkC,0EAA0E,wCAAwC,uEAAuE,+CAA+C,wEAAwE,6BAA6B,yEAAyE,kCAAkC,uEAAuE,wCAAwC,4EAA4E,+CAA+C,6EAA6E,6BAA6B,8EAA8E,kCAAkC,4EAA4E,wCAAwC,iDAAiD,4CAA4C,yQAAyQ,4DAA4D,4DAA4D,OAAO,gRAAgR,uCAAuC,oEAAoE,sEAAsE,4EAA4E,+EAA+E,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,eAAe,MAAM,wBAAwB,aAAa,MAAM,wBAAwB,cAAc,MAAM,wBAAwB,mBAAmB,MAAM,wBAAwB,oBAAoB,MAAM,wBAAwB,qBAAqB,MAAM,wBAAwB,kBAAkB,MAAM,wBAAwB,uBAAuB,MAAM,uBAAuB,SAAS,0EAA0E,yBAAyB,+FAA+F,2EAA2E,aAAa,gbAAgb,oEAAoE,gDAAgD,qEAAqE,6BAA6B,sEAAsE,kCAAkC,oEAAoE,wCAAwC,kEAAkE,gDAAgD,mEAAmE,6BAA6B,oEAAoE,kCAAkC,kEAAkE,wCAAwC,mEAAmE,+CAA+C,oEAAoE,6BAA6B,qEAAqE,kCAAkC,mEAAmE,wCAAwC,wEAAwE,+CAA+C,yEAAyE,6BAA6B,0EAA0E,kCAAkC,wEAAwE,wCAAwC,yEAAyE,+CAA+C,0EAA0E,6BAA6B,2EAA2E,kCAAkC,yEAAyE,wCAAwC,0EAA0E,+CAA+C,2EAA2E,6BAA6B,4EAA4E,kCAAkC,0EAA0E,wCAAwC,uEAAuE,+CAA+C,wEAAwE,6BAA6B,yEAAyE,kCAAkC,uEAAuE,wCAAwC,4EAA4E,+CAA+C,6EAA6E,6BAA6B,8EAA8E,kCAAkC,4EAA4E,wCAAwC,iDAAiD,4CAA4C,yQAAyQ,4DAA4D,4DAA4D,OAAO,mYAAmY,uCAAuC,oEAAoE,sEAAsE,4EAA4E,+EAA+E,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,gBAAgB,MAAM,wBAAwB,mBAAmB,MAAM,wBAAwB,mBAAmB,MAAM,wBAAwB,mBAAmB,MAAM,wBAAwB,mBAAmB,MAAM,wBAAwB,mBAAmB,MAAM,wBAAwB,qBAAqB,MAAM,wBAAwB,qBAAqB,MAAM,wBAAwB,iBAAiB,MAAM,yBAAyB,gBAAgB,MAAM,yBAAyB,sBAAsB,MAAM,uBAAuB,SAAS,0EAA0E,yBAAyB,+FAA+F,2EAA2E,aAAa,slBAAslB,qEAAqE,+CAA+C,sEAAsE,6BAA6B,uEAAuE,kCAAkC,qEAAqE,wCAAwC,wEAAwE,+CAA+C,yEAAyE,6BAA6B,0EAA0E,kCAAkC,wEAAwE,wCAAwC,wEAAwE,gDAAgD,yEAAyE,6BAA6B,0EAA0E,kCAAkC,wEAAwE,wCAAwC,wEAAwE,gDAAgD,yEAAyE,6BAA6B,0EAA0E,kCAAkC,wEAAwE,wCAAwC,wEAAwE,+CAA+C,yEAAyE,6BAA6B,0EAA0E,kCAAkC,wEAAwE,wCAAwC,wEAAwE,gDAAgD,yEAAyE,6BAA6B,0EAA0E,kCAAkC,wEAAwE,wCAAwC,0EAA0E,+CAA+C,2EAA2E,6BAA6B,4EAA4E,kCAAkC,0EAA0E,wCAAwC,0EAA0E,+CAA+C,2EAA2E,6BAA6B,4EAA4E,kCAAkC,0EAA0E,wCAAwC,sEAAsE,+CAA+C,uEAAuE,6BAA6B,wEAAwE,kCAAkC,sEAAsE,wCAAwC,qEAAqE,gDAAgD,sEAAsE,8BAA8B,uEAAuE,mCAAmC,qEAAqE,yCAAyC,2EAA2E,iDAAiD,4EAA4E,8BAA8B,6EAA6E,mCAAmC,2EAA2E,yCAAyC,gDAAgD,4CAA4C,qQAAqQ,2DAA2D,2DAA2D,OAAO,+VAA+V,uCAAuC,mEAAmE,qEAAqE,2EAA2E,8EAA8E,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,eAAe,MAAM,wBAAwB,sBAAsB,MAAM,wBAAwB,kBAAkB,MAAM,wBAAwB,mBAAmB,MAAM,wBAAwB,mBAAmB,MAAM,wBAAwB,mBAAmB,MAAM,wBAAwB,kBAAkB,MAAM,wBAAwB,mBAAmB,MAAM,wBAAwB,kBAAkB,MAAM,yBAAyB,sBAAsB,MAAM,uBAAuB,SAAS,yEAAyE,yBAAyB,8FAA8F,0EAA0E,aAAa,8hBAA8hB,mEAAmE,gDAAgD,oEAAoE,6BAA6B,qEAAqE,kCAAkC,mEAAmE,wCAAwC,0EAA0E,+CAA+C,2EAA2E,6BAA6B,4EAA4E,kCAAkC,0EAA0E,wCAAwC,sEAAsE,+CAA+C,uEAAuE,6BAA6B,wEAAwE,kCAAkC,sEAAsE,wCAAwC,uEAAuE,gDAAgD,wEAAwE,6BAA6B,yEAAyE,kCAAkC,uEAAuE,wCAAwC,uEAAuE,gDAAgD,wEAAwE,6BAA6B,yEAAyE,kCAAkC,uEAAuE,wCAAwC,uEAAuE,+CAA+C,wEAAwE,6BAA6B,yEAAyE,kCAAkC,uEAAuE,wCAAwC,sEAAsE,+CAA+C,uEAAuE,6BAA6B,wEAAwE,kCAAkC,sEAAsE,wCAAwC,uEAAuE,+CAA+C,wEAAwE,6BAA6B,yEAAyE,kCAAkC,uEAAuE,wCAAwC,sEAAsE,+CAA+C,uEAAuE,6BAA6B,wEAAwE,kCAAkC,sEAAsE,wCAAwC,0EAA0E,gDAAgD,2EAA2E,8BAA8B,4EAA4E,mCAAmC,0EAA0E,yCAAyC,4CAA4C,4CAA4C,qPAAqP,uDAAuD,uDAAuD,SAAS,6UAA6U,uCAAuC,+DAA+D,iEAAiE,uEAAuE,0EAA0E,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,oBAAoB,MAAM,wBAAwB,qBAAqB,MAAM,wBAAwB,iBAAiB,MAAM,wBAAwB,oBAAoB,MAAM,wBAAwB,qBAAqB,MAAM,wBAAwB,eAAe,MAAM,wBAAwB,qBAAqB,MAAM,wBAAwB,sBAAsB,MAAM,sBAAsB,oEAAoE,MAAM,uBAAuB,SAAS,qEAAqE,yBAAyB,0FAA0F,sEAAsE,aAAa,6fAA6f,oEAAoE,gDAAgD,qEAAqE,6BAA6B,sEAAsE,kCAAkC,oEAAoE,wCAAwC,qEAAqE,gDAAgD,sEAAsE,6BAA6B,uEAAuE,kCAAkC,qEAAqE,wCAAwC,iEAAiE,gDAAgD,kEAAkE,6BAA6B,mEAAmE,kCAAkC,iEAAiE,wCAAwC,oEAAoE,gDAAgD,qEAAqE,6BAA6B,sEAAsE,kCAAkC,oEAAoE,wCAAwC,qEAAqE,gDAAgD,sEAAsE,6BAA6B,uEAAuE,kCAAkC,qEAAqE,wCAAwC,+DAA+D,+CAA+C,gEAAgE,6BAA6B,iEAAiE,kCAAkC,+DAA+D,wCAAwC,qEAAqE,+CAA+C,sEAAsE,6BAA6B,uEAAuE,kCAAkC,qEAAqE,wCAAwC,sEAAsE,+CAA+C,uEAAuE,6BAA6B,wEAAwE,kCAAkC,sEAAsE,wCAAwC,8DAA8D,kDAAkD,+DAA+D,oCAAoC,gEAAgE,sBAAsB,8DAA8D,wCAAwC,6CAA6C,4CAA4C,yPAAyP,wDAAwD,wDAAwD,OAAO,0KAA0K,uCAAuC,gEAAgE,kEAAkE,wEAAwE,2EAA2E,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,gBAAgB,MAAM,wBAAwB,kBAAkB,MAAM,wBAAwB,iBAAiB,MAAM,wBAAwB,mBAAmB,MAAM,wBAAwB,mBAAmB,MAAM,uBAAuB,SAAS,sEAAsE,yBAAyB,2FAA2F,uEAAuE,aAAa,8QAA8Q,iEAAiE,gDAAgD,kEAAkE,6BAA6B,mEAAmE,kCAAkC,iEAAiE,wCAAwC,mEAAmE,gDAAgD,oEAAoE,6BAA6B,qEAAqE,kCAAkC,mEAAmE,wCAAwC,kEAAkE,gDAAgD,mEAAmE,6BAA6B,oEAAoE,kCAAkC,kEAAkE,wCAAwC,oEAAoE,gDAAgD,qEAAqE,6BAA6B,sEAAsE,kCAAkC,oEAAoE,wCAAwC,oEAAoE,+CAA+C,qEAAqE,6BAA6B,sEAAsE,kCAAkC,oEAAoE,wCAAwC,mDAAmD,4CAA4C,iRAAiR,8DAA8D,8DAA8D,OAAO,gLAAgL,uCAAuC,sEAAsE,wEAAwE,8EAA8E,iFAAiF,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,sBAAsB,MAAM,wBAAwB,mBAAmB,MAAM,wBAAwB,iBAAiB,MAAM,wBAAwB,mBAAmB,MAAM,wBAAwB,kBAAkB,MAAM,uBAAuB,SAAS,4EAA4E,yBAAyB,iGAAiG,6EAA6E,aAAa,8QAA8Q,6EAA6E,+CAA+C,8EAA8E,6BAA6B,+EAA+E,kCAAkC,6EAA6E,wCAAwC,0EAA0E,+CAA+C,2EAA2E,6BAA6B,4EAA4E,kCAAkC,0EAA0E,wCAAwC,wEAAwE,+CAA+C,yEAAyE,6BAA6B,0EAA0E,kCAAkC,wEAAwE,wCAAwC,0EAA0E,gDAAgD,2EAA2E,6BAA6B,4EAA4E,kCAAkC,0EAA0E,wCAAwC,yEAAyE,gDAAgD,0EAA0E,6BAA6B,2EAA2E,kCAAkC,yEAAyE,wCAAwC,6CAA6C,uFAAuF,6SAA6S,wDAAwD,wDAAwD,SAAS,86BAA86B,uCAAuC,gEAAgE,kEAAkE,wEAAwE,2EAA2E,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,aAAa,MAAM,wBAAwB,iBAAiB,MAAM,gCAAgC,iFAAiF,MAAM,wBAAwB,sBAAsB,MAAM,wBAAwB,uBAAuB,MAAM,wBAAwB,uBAAuB,MAAM,wBAAwB,6EAA6E,MAAM,wBAAwB,2EAA2E,MAAM,yBAAyB,sBAAsB,MAAM,+BAA+B,gFAAgF,MAAM,yBAAyB,iBAAiB,MAAM,yBAAyB,sBAAsB,MAAM,yBAAyB,sBAAsB,MAAM,yBAAyB,uBAAuB,MAAM,yBAAyB,kBAAkB,MAAM,yBAAyB,yBAAyB,MAAM,yBAAyB,sBAAsB,MAAM,yBAAyB,uBAAuB,MAAM,yBAAyB,sBAAsB,MAAM,yBAAyB,kBAAkB,MAAM,yBAAyB,mBAAmB,MAAM,yBAAyB,kBAAkB,MAAM,uBAAuB,SAAS,sEAAsE,yBAAyB,2FAA2F,uEAAuE,aAAa,k1CAAk1C,8DAA8D,gDAAgD,+DAA+D,6BAA6B,gEAAgE,kCAAkC,8DAA8D,wCAAwC,kEAAkE,gDAAgD,mEAAmE,6BAA6B,oEAAoE,kCAAkC,kEAAkE,wCAAwC,sEAAsE,oEAAoE,uEAAuE,4CAA4C,qEAAqE,4FAA4F,wEAAwE,yBAAyB,uEAAuE,+CAA+C,wEAAwE,6BAA6B,yEAAyE,kCAAkC,uEAAuE,wCAAwC,wEAAwE,+CAA+C,yEAAyE,6BAA6B,0EAA0E,kCAAkC,wEAAwE,wCAAwC,wEAAwE,+CAA+C,yEAAyE,6BAA6B,0EAA0E,kCAAkC,wEAAwE,wCAAwC,sEAAsE,oDAAoD,uEAAuE,oCAAoC,wEAAwE,6BAA6B,sEAAsE,wCAAwC,oEAAoE,oDAAoD,qEAAqE,oCAAoC,sEAAsE,2BAA2B,oEAAoE,wCAAwC,uEAAuE,gDAAgD,wEAAwE,8BAA8B,yEAAyE,mCAAmC,uEAAuE,yCAAyC,kEAAkE,2DAA2D,mEAAmE,oCAAoC,oEAAoE,yBAAyB,kEAAkE,wCAAwC,kEAAkE,gDAAgD,mEAAmE,8BAA8B,oEAAoE,mCAAmC,kEAAkE,yCAAyC,uEAAuE,gDAAgD,wEAAwE,8BAA8B,yEAAyE,mCAAmC,uEAAuE,yCAAyC,uEAAuE,gDAAgD,wEAAwE,8BAA8B,yEAAyE,mCAAmC,uEAAuE,yCAAyC,wEAAwE,gDAAgD,yEAAyE,8BAA8B,0EAA0E,mCAAmC,wEAAwE,yCAAyC,mEAAmE,gDAAgD,oEAAoE,8BAA8B,qEAAqE,mCAAmC,mEAAmE,yCAAyC,0EAA0E,gDAAgD,2EAA2E,8BAA8B,4EAA4E,mCAAmC,0EAA0E,yCAAyC,uEAAuE,gDAAgD,wEAAwE,8BAA8B,yEAAyE,mCAAmC,uEAAuE,yCAAyC,wEAAwE,gDAAgD,yEAAyE,8BAA8B,0EAA0E,mCAAmC,wEAAwE,yCAAyC,uEAAuE,gDAAgD,wEAAwE,8BAA8B,yEAAyE,mCAAmC,uEAAuE,yCAAyC,mEAAmE,gDAAgD,oEAAoE,8BAA8B,qEAAqE,mCAAmC,mEAAmE,yCAAyC,oEAAoE,gDAAgD,qEAAqE,8BAA8B,sEAAsE,mCAAmC,oEAAoE,yCAAyC,mEAAmE,gDAAgD,oEAAoE,8BAA8B,qEAAqE,mCAAmC,mEAAmE,yCAAyC,kDAAkD,4CAA4C,6QAA6Q,6DAA6D,6DAA6D,OAAO,2MAA2M,uCAAuC,qEAAqE,uEAAuE,6EAA6E,gFAAgF,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,mBAAmB,MAAM,uBAAuB,mBAAmB,MAAM,uBAAuB,mBAAmB,MAAM,wBAAwB,mBAAmB,MAAM,wBAAwB,iBAAiB,MAAM,wBAAwB,aAAa,MAAM,uBAAuB,SAAS,2EAA2E,yBAAyB,gGAAgG,4EAA4E,aAAa,kUAAkU,yEAAyE,+CAA+C,0EAA0E,6BAA6B,2EAA2E,kCAAkC,yEAAyE,wCAAwC,yEAAyE,+CAA+C,0EAA0E,6BAA6B,2EAA2E,kCAAkC,yEAAyE,wCAAwC,yEAAyE,+CAA+C,0EAA0E,6BAA6B,2EAA2E,kCAAkC,yEAAyE,wCAAwC,yEAAyE,+CAA+C,0EAA0E,6BAA6B,2EAA2E,kCAAkC,yEAAyE,wCAAwC,uEAAuE,+CAA+C,wEAAwE,6BAA6B,yEAAyE,kCAAkC,uEAAuE,wCAAwC,mEAAmE,gDAAgD,oEAAoE,6BAA6B,qEAAqE,kCAAkC,mEAAmE,wCAAwC,iDAAiD,4CAA4C,yQAAyQ,4DAA4D,4DAA4D,OAAO,mCAAmC,uCAAuC,oEAAoE,sEAAsE,4EAA4E,+EAA+E,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,kBAAkB,MAAM,uBAAuB,SAAS,0EAA0E,yBAAyB,+FAA+F,2EAA2E,MAAM,sDAAsD,uEAAuE,gDAAgD,wEAAwE,6BAA6B,yEAAyE,kCAAkC,uEAAuE,wCAAwC,kDAAkD,4CAA4C,6QAA6Q,6DAA6D,6DAA6D,OAAO,uaAAua,uCAAuC,qEAAqE,uEAAuE,6EAA6E,gFAAgF,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,oBAAoB,MAAM,wBAAwB,qBAAqB,MAAM,wBAAwB,iBAAiB,MAAM,wBAAwB,oBAAoB,MAAM,wBAAwB,qBAAqB,MAAM,yBAAyB,iBAAiB,MAAM,yBAAyB,gBAAgB,MAAM,wBAAwB,mBAAmB,MAAM,wBAAwB,iBAAiB,MAAM,wBAAwB,qBAAqB,MAAM,wBAAwB,iBAAiB,MAAM,yBAAyB,qBAAqB,MAAM,uBAAuB,SAAS,2EAA2E,yBAAyB,gGAAgG,4EAA4E,aAAa,8oBAA8oB,0EAA0E,gDAAgD,2EAA2E,6BAA6B,4EAA4E,kCAAkC,0EAA0E,wCAAwC,2EAA2E,gDAAgD,4EAA4E,6BAA6B,6EAA6E,kCAAkC,2EAA2E,wCAAwC,uEAAuE,gDAAgD,wEAAwE,6BAA6B,yEAAyE,kCAAkC,uEAAuE,wCAAwC,0EAA0E,gDAAgD,2EAA2E,6BAA6B,4EAA4E,kCAAkC,0EAA0E,wCAAwC,2EAA2E,gDAAgD,4EAA4E,6BAA6B,6EAA6E,kCAAkC,2EAA2E,wCAAwC,uEAAuE,iDAAiD,wEAAwE,8BAA8B,yEAAyE,mCAAmC,uEAAuE,yCAAyC,sEAAsE,gDAAgD,uEAAuE,8BAA8B,wEAAwE,mCAAmC,sEAAsE,yCAAyC,yEAAyE,+CAA+C,0EAA0E,6BAA6B,2EAA2E,kCAAkC,yEAAyE,wCAAwC,uEAAuE,+CAA+C,wEAAwE,6BAA6B,yEAAyE,kCAAkC,uEAAuE,wCAAwC,2EAA2E,+CAA+C,4EAA4E,6BAA6B,6EAA6E,kCAAkC,2EAA2E,wCAAwC,uEAAuE,+CAA+C,wEAAwE,6BAA6B,yEAAyE,kCAAkC,uEAAuE,wCAAwC,2EAA2E,iDAAiD,4EAA4E,8BAA8B,6EAA6E,mCAAmC,2EAA2E,yCAAyC,mDAAmD,4CAA4C,iRAAiR,8DAA8D,8DAA8D,OAAO,8EAA8E,uCAAuC,sEAAsE,wEAAwE,8EAA8E,iFAAiF,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,sBAAsB,MAAM,wBAAwB,uBAAuB,MAAM,uBAAuB,SAAS,4EAA4E,yBAAyB,iGAAiG,6EAA6E,aAAa,4GAA4G,6EAA6E,gDAAgD,8EAA8E,6BAA6B,+EAA+E,kCAAkC,6EAA6E,wCAAwC,8EAA8E,gDAAgD,+EAA+E,6BAA6B,gFAAgF,kCAAkC,8EAA8E,wCAAwC,8CAA8C,4CAA4C,6PAA6P,yDAAyD,yDAAyD,SAAS,2/BAA2/B,uCAAuC,iEAAiE,mEAAmE,yEAAyE,4EAA4E,KAAK,+BAA+B,EAAE,2BAA2B,8CAA8C,+FAA+F,MAAM,iDAAiD,sGAAsG,MAAM,iDAAiD,4GAA4G,MAAM,iDAAiD,4GAA4G,MAAM,iDAAiD,yGAAyG,MAAM,gDAAgD,0GAA0G,MAAM,mDAAmD,0GAA0G,MAAM,kDAAkD,wGAAwG,MAAM,iDAAiD,sGAAsG,MAAM,mDAAmD,wGAAwG,MAAM,oDAAoD,0GAA0G,MAAM,uBAAuB,SAAS,uEAAuE,yBAAyB,4FAA4F,wEAAwE,aAAa,+tCAA+tC,uEAAuE,sEAAsE,wEAAwE,oCAAoC,yEAAyE,6BAA6B,uEAAuE,wCAAwC,uEAAuE,6EAA6E,wEAAwE,oCAAoC,yEAAyE,6BAA6B,uEAAuE,wCAAwC,6EAA6E,6EAA6E,8EAA8E,oCAAoC,+EAA+E,mCAAmC,6EAA6E,wCAAwC,6EAA6E,6EAA6E,8EAA8E,oCAAoC,+EAA+E,mCAAmC,6EAA6E,wCAAwC,0EAA0E,6EAA6E,2EAA2E,oCAAoC,4EAA4E,gCAAgC,0EAA0E,wCAAwC,4EAA4E,4EAA4E,6EAA6E,oCAAoC,8EAA8E,kCAAkC,4EAA4E,wCAAwC,yEAAyE,+EAA+E,0EAA0E,oCAAoC,2EAA2E,+BAA+B,yEAAyE,wCAAwC,wEAAwE,8EAA8E,yEAAyE,oCAAoC,0EAA0E,8BAA8B,wEAAwE,wCAAwC,uEAAuE,6EAA6E,wEAAwE,oCAAoC,yEAAyE,6BAA6B,uEAAuE,wCAAwC,wEAAwE,+EAA+E,yEAAyE,qCAAqC,0EAA0E,8BAA8B,wEAAwE,yCAAyC,yEAAyE,gFAAgF,0EAA0E,qCAAqC,2EAA2E,+BAA+B,yEAAyE,yCAAyC,+CAA+C,yFAAyF,2UAA2U,0DAA0D,0DAA0D,SAAS,ikCAAikC,uCAAuC,kEAAkE,oEAAoE,0EAA0E,6EAA6E,KAAK,+BAA+B,EAAE,2BAA2B,8CAA8C,+FAA+F,MAAM,+CAA+C,iGAAiG,MAAM,iDAAiD,qGAAqG,MAAM,iDAAiD,qGAAqG,MAAM,iDAAiD,qGAAqG,MAAM,gDAAgD,mGAAmG,MAAM,6CAA6C,6FAA6F,MAAM,iCAAiC,mFAAmF,MAAM,oBAAoB,sEAAsE,MAAM,6CAA6C,+FAA+F,MAAM,8CAA8C,6FAA6F,MAAM,uBAAuB,SAAS,wEAAwE,yBAAyB,6FAA6F,yEAAyE,aAAa,+vCAA+vC,wEAAwE,sEAAsE,yEAAyE,oCAAoC,0EAA0E,6BAA6B,wEAAwE,wCAAwC,yEAAyE,mFAAmF,0EAA0E,4CAA4C,wEAAwE,yFAAyF,2EAA2E,0BAA0B,2EAA2E,qFAAqF,4EAA4E,4CAA4C,0EAA0E,2FAA2F,6EAA6E,4BAA4B,2EAA2E,qFAAqF,4EAA4E,4CAA4C,0EAA0E,2FAA2F,6EAA6E,4BAA4B,2EAA2E,qFAAqF,4EAA4E,4CAA4C,0EAA0E,2FAA2F,6EAA6E,4BAA4B,0EAA0E,oFAAoF,2EAA2E,4CAA4C,yEAAyE,0FAA0F,4EAA4E,2BAA2B,uEAAuE,iFAAiF,wEAAwE,4CAA4C,sEAAsE,uFAAuF,yEAAyE,wBAAwB,yEAAyE,qEAAqE,0EAA0E,4CAA4C,wEAAwE,oFAAoF,2EAA2E,0BAA0B,yEAAyE,wDAAwD,0EAA0E,4CAA4C,wEAAwE,kFAAkF,2EAA2E,0BAA0B,0EAA0E,iFAAiF,2EAA2E,6CAA6C,yEAAyE,uFAAuF,4EAA4E,2BAA2B,uEAAuE,kFAAkF,wEAAwE,6CAA6C,sEAAsE,wFAAwF,yEAAyE,wBAAwB,sCAAsC,iBAAiB,kDAAkD,siBAAsiB,4CAA4C,yNAAyN,gDAAgD,gDAAgD,OAAO,6RAA6R,uCAAuC,wDAAwD,0DAA0D,gEAAgE,mEAAmE,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,eAAe,MAAM,wBAAwB,aAAa,MAAM,wBAAwB,cAAc,MAAM,wBAAwB,oBAAoB,MAAM,uBAAuB,mBAAmB,MAAM,uBAAuB,iBAAiB,MAAM,uBAAuB,sBAAsB,MAAM,wBAAwB,sBAAsB,MAAM,uBAAuB,SAAS,8DAA8D,yBAAyB,mFAAmF,+DAA+D,aAAa,6aAA6a,wDAAwD,gDAAgD,yDAAyD,6BAA6B,0DAA0D,kCAAkC,wDAAwD,wCAAwC,sDAAsD,gDAAgD,uDAAuD,6BAA6B,wDAAwD,kCAAkC,sDAAsD,wCAAwC,uDAAuD,+CAA+C,wDAAwD,6BAA6B,yDAAyD,kCAAkC,uDAAuD,wCAAwC,6DAA6D,+CAA+C,8DAA8D,6BAA6B,+DAA+D,kCAAkC,6DAA6D,wCAAwC,4DAA4D,gDAAgD,kEAAkE,kDAAkD,iEAAiE,iDAAiD,6DAA6D,6BAA6B,8DAA8D,kCAAkC,4DAA4D,wCAAwC,0DAA0D,gDAAgD,2DAA2D,6BAA6B,4DAA4D,kCAAkC,0DAA0D,wCAAwC,+DAA+D,+CAA+C,gEAAgE,6BAA6B,iEAAiE,kCAAkC,+DAA+D,wCAAwC,+DAA+D,gDAAgD,gEAAgE,6BAA6B,iEAAiE,kCAAkC,+DAA+D,wCAAwC,6CAA6C,4CAA4C,yPAAyP,wDAAwD,wDAAwD,OAAO,4VAA4V,uCAAuC,gEAAgE,kEAAkE,wEAAwE,2EAA2E,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,aAAa,MAAM,wBAAwB,mBAAmB,MAAM,wBAAwB,eAAe,MAAM,wBAAwB,oBAAoB,MAAM,yBAAyB,mBAAmB,MAAM,wBAAwB,aAAa,MAAM,wBAAwB,yBAAyB,MAAM,wBAAwB,gBAAgB,MAAM,wBAAwB,eAAe,MAAM,wBAAwB,gBAAgB,MAAM,uBAAuB,SAAS,sEAAsE,yBAAyB,2FAA2F,uEAAuE,aAAa,8hBAA8hB,8DAA8D,gDAAgD,+DAA+D,6BAA6B,gEAAgE,kCAAkC,8DAA8D,wCAAwC,oEAAoE,gDAAgD,qEAAqE,6BAA6B,sEAAsE,kCAAkC,oEAAoE,wCAAwC,gEAAgE,gDAAgD,iEAAiE,6BAA6B,kEAAkE,kCAAkC,gEAAgE,wCAAwC,qEAAqE,gDAAgD,sEAAsE,6BAA6B,uEAAuE,kCAAkC,qEAAqE,wCAAwC,oEAAoE,gDAAgD,qEAAqE,8BAA8B,sEAAsE,mCAAmC,oEAAoE,yCAAyC,8DAA8D,+CAA+C,+DAA+D,6BAA6B,gEAAgE,kCAAkC,8DAA8D,wCAAwC,0EAA0E,+CAA+C,2EAA2E,6BAA6B,4EAA4E,kCAAkC,0EAA0E,wCAAwC,iEAAiE,+CAA+C,kEAAkE,6BAA6B,mEAAmE,kCAAkC,iEAAiE,wCAAwC,gEAAgE,+CAA+C,iEAAiE,6BAA6B,kEAAkE,kCAAkC,gEAAgE,wCAAwC,iEAAiE,iDAAiD,kEAAkE,6BAA6B,mEAAmE,kCAAkC,iEAAiE,wCAAwC,0CAA0C,oFAAoF,8RAA8R,qDAAqD,qDAAqD,OAAO,uGAAuG,uCAAuC,6DAA6D,+DAA+D,qEAAqE,wEAAwE,KAAK,+BAA+B,EAAE,2BAA2B,iDAAiD,+FAA+F,MAAM,uBAAuB,SAAS,mEAAmE,yBAAyB,wFAAwF,oEAAoE,MAAM,uHAAuH,oEAAoE,iFAAiF,qEAAqE,4CAA4C,mEAAmE,uFAAuF,sEAAsE,0BAA0B,kDAAkD,4FAA4F,sUAAsU,6DAA6D,6DAA6D,OAAO,yCAAyC,uCAAuC,qEAAqE,uEAAuE,6EAA6E,gFAAgF,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,oBAAoB,MAAM,uBAAuB,SAAS,2EAA2E,yBAAyB,gGAAgG,4EAA4E,MAAM,gEAAgE,8EAA8E,kCAAkC,+EAA+E,iCAAiC,6EAA6E,yCAAyC,gFAAgF,4BAA4B,iCAAiC,2EAA2E,iPAAiP,4CAA4C,4CAA4C,SAAS,sNAAsN,uCAAuC,oDAAoD,sDAAsD,4DAA4D,+DAA+D,KAAK,+BAA+B,EAAE,2BAA2B,yCAAyC,sFAAsF,MAAM,6CAA6C,oGAAoG,MAAM,wBAAwB,iBAAiB,MAAM,uBAAuB,SAAS,0DAA0D,yBAAyB,+EAA+E,2DAA2D,aAAa,iRAAiR,sDAAsD,iEAAiE,uDAAuD,oCAAoC,wDAAwD,yBAAyB,sDAAsD,wCAAwC,gEAAgE,iFAAiF,iEAAiE,4CAA4C,+DAA+D,uFAAuF,kEAAkE,+BAA+B,sDAAsD,+CAA+C,uDAAuD,6BAA6B,wDAAwD,kCAAkC,sDAAsD,wCAAwC,6CAA6C,4CAA4C,yPAAyP,wDAAwD,wDAAwD,OAAO,wEAAwE,uCAAuC,gEAAgE,kEAAkE,wEAAwE,2EAA2E,KAAK,+BAA+B,EAAE,2BAA2B,2BAA2B,mBAAmB,MAAM,wBAAwB,oBAAoB,MAAM,uBAAuB,SAAS,sEAAsE,yBAAyB,2FAA2F,uEAAuE,aAAa,2GAA2G,oEAAoE,gDAAgD,0EAA0E,kDAAkD,yEAAyE,iDAAiD,qEAAqE,6BAA6B,sEAAsE,kCAAkC,oEAAoE,wCAAwC,qEAAqE,gDAAgD,sEAAsE,6BAA6B,uEAAuE,kCAAkC,qEAAqE,wCAAwC,+CAA+C,4CAA4C,iQAAiQ,0DAA0D,0DAA0D,OAAO,8FAA8F,uCAAuC,kEAAkE,oEAAoE,0EAA0E,6EAA6E,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,aAAa,MAAM,wBAAwB,mBAAmB,MAAM,wBAAwB,aAAa,MAAM,uBAAuB,SAAS,wEAAwE,yBAAyB,6FAA6F,yEAAyE,aAAa,kKAAkK,gEAAgE,gDAAgD,iEAAiE,6BAA6B,kEAAkE,kCAAkC,gEAAgE,wCAAwC,sEAAsE,gDAAgD,uEAAuE,6BAA6B,wEAAwE,kCAAkC,sEAAsE,wCAAwC,gEAAgE,+CAA+C,iEAAiE,6BAA6B,kEAAkE,kCAAkC,gEAAgE,wCAAwC,gCAAgC,4CAA4C,qMAAqM,2CAA2C,2CAA2C,OAAO,qIAAqI,uCAAuC,mDAAmD,qDAAqD,2DAA2D,8DAA8D,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,aAAa,MAAM,wBAAwB,mBAAmB,MAAM,uBAAuB,kBAAkB,MAAM,uBAAuB,kBAAkB,MAAM,uBAAuB,SAAS,yDAAyD,yBAAyB,8EAA8E,0DAA0D,aAAa,sNAAsN,iDAAiD,gDAAgD,kDAAkD,6BAA6B,mDAAmD,kCAAkC,iDAAiD,wCAAwC,uDAAuD,gDAAgD,wDAAwD,6BAA6B,yDAAyD,kCAAkC,uDAAuD,wCAAwC,sDAAsD,+CAA+C,uDAAuD,6BAA6B,wDAAwD,kCAAkC,sDAAsD,wCAAwC,sDAAsD,+CAA+C,uDAAuD,6BAA6B,wDAAwD,kCAAkC,sDAAsD,wCAAwC,+BAA+B,4CAA4C,iMAAiM,0CAA0C,0CAA0C,SAAS,oLAAoL,uCAAuC,kDAAkD,oDAAoD,0DAA0D,6DAA6D,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,cAAc,MAAM,wBAAwB,kBAAkB,MAAM,uBAAuB,yEAAyE,MAAM,gCAAgC,+EAA+E,MAAM,uBAAuB,SAAS,wDAAwD,yBAAyB,6EAA6E,yDAAyD,aAAa,sRAAsR,iDAAiD,+CAA+C,kDAAkD,6BAA6B,mDAAmD,kCAAkC,iDAAiD,wCAAwC,qDAAqD,gDAAgD,sDAAsD,6BAA6B,uDAAuD,kCAAkC,qDAAqD,wCAAwC,qDAAqD,mDAAmD,sDAAsD,oCAAoC,uDAAuD,0BAA0B,qDAAqD,wCAAwC,kDAAkD,4DAA4D,mDAAmD,oCAAoC,oDAAoD,uBAAuB,kDAAkD,wCAAwC,gCAAgC,0EAA0E,4OAA4O,2CAA2C,2CAA2C,OAAO,mFAAmF,uCAAuC,mDAAmD,qDAAqD,2DAA2D,8DAA8D,KAAK,+BAA+B,EAAE,2BAA2B,mCAAmC,8EAA8E,MAAM,uBAAuB,SAAS,yDAAyD,yBAAyB,8EAA8E,0DAA0D,MAAM,sGAAsG,uDAAuD,mEAAmE,wDAAwD,4CAA4C,sDAAsD,yEAAyE,yDAAyD,uBAAuB,+BAA+B,eAAe,MAAM,aAAa,YAAY,GAAG,IAAI,iDAAiD,SAAS,oCAAoC,YAAY,iBAAiB,2CAA2C,KAAK,qLAAqL,4CAA4C,yRAAyR,gEAAgE,gEAAgE,OAAO,oIAAoI,uCAAuC,wEAAwE,0EAA0E,gFAAgF,mFAAmF,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,aAAa,MAAM,wBAAwB,mBAAmB,MAAM,wBAAwB,kBAAkB,MAAM,wBAAwB,iBAAiB,MAAM,uBAAuB,SAAS,8EAA8E,yBAAyB,mGAAmG,+EAA+E,aAAa,wNAAwN,sEAAsE,gDAAgD,uEAAuE,6BAA6B,wEAAwE,kCAAkC,sEAAsE,wCAAwC,4EAA4E,+CAA+C,6EAA6E,6BAA6B,8EAA8E,kCAAkC,4EAA4E,wCAAwC,2EAA2E,+CAA+C,4EAA4E,6BAA6B,6EAA6E,kCAAkC,2EAA2E,wCAAwC,0EAA0E,+CAA+C,2EAA2E,6BAA6B,4EAA4E,kCAAkC,0EAA0E,wCAAwC,oDAAoD,4CAA4C,qRAAqR,+DAA+D,+DAA+D,SAAS,uRAAuR,uCAAuC,uEAAuE,yEAAyE,+EAA+E,kFAAkF,KAAK,+BAA+B,EAAE,2BAA2B,yDAAyD,yGAAyG,MAAM,qDAAqD,sGAAsG,MAAM,wBAAwB,iBAAiB,MAAM,wBAAwB,sBAAsB,MAAM,wBAAwB,iBAAiB,MAAM,uBAAuB,SAAS,6EAA6E,yBAAyB,kGAAkG,8EAA8E,aAAa,mYAAmY,4EAA4E,iFAAiF,6EAA6E,oCAAoC,8EAA8E,4BAA4B,4EAA4E,wCAAwC,yEAAyE,iFAAiF,0EAA0E,oCAAoC,2EAA2E,yBAAyB,yEAAyE,wCAAwC,yEAAyE,gDAAgD,0EAA0E,6BAA6B,2EAA2E,kCAAkC,yEAAyE,wCAAwC,8EAA8E,+CAA+C,+EAA+E,6BAA6B,gFAAgF,kCAAkC,8EAA8E,wCAAwC,yEAAyE,+CAA+C,0EAA0E,6BAA6B,2EAA2E,kCAAkC,yEAAyE,wCAAwC,yCAAyC,iBAAiB,kDAAkD,2IAA2I,4CAA4C,yNAAyN,gDAAgD,gDAAgD,SAAS,sLAAsL,uCAAuC,wDAAwD,0DAA0D,gEAAgE,mEAAmE,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,mBAAmB,MAAM,wBAAwB,uEAAuE,MAAM,wBAAwB,aAAa,MAAM,wBAAwB,mBAAmB,MAAM,wBAAwB,eAAe,MAAM,uBAAuB,SAAS,8DAA8D,yBAAyB,mFAAmF,+DAA+D,aAAa,wSAAwS,4DAA4D,+CAA+C,6DAA6D,6BAA6B,8DAA8D,kCAAkC,4DAA4D,wCAAwC,wDAAwD,oDAAoD,yDAAyD,oCAAoC,0DAA0D,uBAAuB,wDAAwD,wCAAwC,sDAAsD,gDAAgD,uDAAuD,6BAA6B,wDAAwD,kCAAkC,sDAAsD,wCAAwC,4DAA4D,+CAA+C,6DAA6D,6BAA6B,8DAA8D,kCAAkC,4DAA4D,wCAAwC,wDAAwD,+CAA+C,yDAAyD,6BAA6B,0DAA0D,kCAAkC,wDAAwD,wCAAwC,0CAA0C,4CAA4C,6OAA6O,qDAAqD,qDAAqD,SAAS,wNAAwN,uCAAuC,6DAA6D,+DAA+D,qEAAqE,wEAAwE,KAAK,+BAA+B,EAAE,2BAA2B,yCAAyC,qFAAqF,MAAM,wBAAwB,oBAAoB,MAAM,wBAAwB,mBAAmB,MAAM,wBAAwB,sBAAsB,MAAM,wBAAwB,wBAAwB,MAAM,uBAAuB,SAAS,mEAAmE,yBAAyB,wFAAwF,oEAAoE,aAAa,sTAAsT,8DAA8D,iEAAiE,+DAA+D,oCAAoC,gEAAgE,wBAAwB,8DAA8D,wCAAwC,kEAAkE,+CAA+C,mEAAmE,6BAA6B,oEAAoE,kCAAkC,kEAAkE,wCAAwC,iEAAiE,+CAA+C,kEAAkE,6BAA6B,mEAAmE,kCAAkC,iEAAiE,wCAAwC,oEAAoE,gDAAgD,qEAAqE,6BAA6B,sEAAsE,kCAAkC,oEAAoE,wCAAwC,sEAAsE,gDAAgD,uEAAuE,6BAA6B,wEAAwE,kCAAkC,sEAAsE,wCAAwC,+BAA+B,iBAAiB,kDAAkD,0UAA0U,4CAA4C,6OAA6O,qDAAqD,qDAAqD,OAAO,8IAA8I,uCAAuC,6DAA6D,+DAA+D,qEAAqE,wEAAwE,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,aAAa,MAAM,wBAAwB,eAAe,MAAM,wBAAwB,2BAA2B,MAAM,wBAAwB,sBAAsB,MAAM,uBAAuB,SAAS,mEAAmE,yBAAyB,wFAAwF,oEAAoE,aAAa,wNAAwN,2DAA2D,gDAAgD,4DAA4D,6BAA6B,6DAA6D,kCAAkC,2DAA2D,wCAAwC,6DAA6D,gDAAgD,8DAA8D,6BAA6B,+DAA+D,kCAAkC,6DAA6D,wCAAwC,yEAAyE,+CAA+C,0EAA0E,6BAA6B,2EAA2E,kCAAkC,yEAAyE,wCAAwC,oEAAoE,+CAA+C,qEAAqE,6BAA6B,sEAAsE,kCAAkC,oEAAoE,wCAAwC,+CAA+C,4CAA4C,iQAAiQ,0DAA0D,0DAA0D,OAAO,qKAAqK,uCAAuC,kEAAkE,oEAAoE,0EAA0E,6EAA6E,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,aAAa,MAAM,wBAAwB,sBAAsB,MAAM,wBAAwB,eAAe,MAAM,wBAAwB,gBAAgB,MAAM,wBAAwB,kBAAkB,MAAM,uBAAuB,SAAS,wEAAwE,yBAAyB,6FAA6F,yEAAyE,aAAa,8QAA8Q,gEAAgE,gDAAgD,iEAAiE,6BAA6B,kEAAkE,kCAAkC,gEAAgE,wCAAwC,yEAAyE,+CAA+C,0EAA0E,6BAA6B,2EAA2E,kCAAkC,yEAAyE,wCAAwC,kEAAkE,+CAA+C,mEAAmE,6BAA6B,oEAAoE,kCAAkC,kEAAkE,wCAAwC,mEAAmE,+CAA+C,oEAAoE,6BAA6B,qEAAqE,kCAAkC,mEAAmE,wCAAwC,qEAAqE,+CAA+C,sEAAsE,6BAA6B,uEAAuE,kCAAkC,qEAAqE,wCAAwC,yCAAyC,mFAAmF,yRAAyR,oDAAoD,oDAAoD,OAAO,0EAA0E,uCAAuC,4DAA4D,8DAA8D,oEAAoE,uEAAuE,KAAK,+BAA+B,EAAE,2BAA2B,2BAA2B,kBAAkB,MAAM,wBAAwB,mBAAmB,MAAM,uBAAuB,SAAS,kEAAkE,yBAAyB,uFAAuF,mEAAmE,aAAa,mHAAmH,mEAAmE,kCAAkC,oEAAoE,iCAAiC,kEAAkE,yCAAyC,qEAAqE,0BAA0B,gEAAgE,gDAAgD,iEAAiE,6BAA6B,kEAAkE,kCAAkC,gEAAgE,wCAAwC,gDAAgD,0FAA0F,8TAA8T,2DAA2D,2DAA2D,OAAO,+OAA+O,uCAAuC,mEAAmE,qEAAqE,2EAA2E,8EAA8E,KAAK,+BAA+B,EAAE,2BAA2B,2BAA2B,cAAc,MAAM,iCAAiC,uFAAuF,MAAM,yCAAyC,iGAAiG,MAAM,uBAAuB,SAAS,yEAAyE,yBAAyB,8FAA8F,0EAA0E,aAAa,6RAA6R,kEAAkE,+CAA+C,mEAAmE,6BAA6B,oEAAoE,kCAAkC,kEAAkE,wCAAwC,8EAA8E,qEAAqE,+EAA+E,4CAA4C,6EAA6E,2FAA2F,gFAAgF,8BAA8B,gFAAgF,6EAA6E,iFAAiF,4CAA4C,+EAA+E,mFAAmF,kFAAkF,gCAAgC,mDAAmD,4CAA4C,iRAAiR,8DAA8D,8DAA8D,OAAO,gCAAgC,uCAAuC,sEAAsE,wEAAwE,8EAA8E,iFAAiF,KAAK,+BAA+B,EAAE,2BAA2B,2BAA2B,eAAe,MAAM,uBAAuB,SAAS,4EAA4E,yBAAyB,iGAAiG,6EAA6E,MAAM,qDAAqD,sEAAsE,+CAA+C,uEAAuE,6BAA6B,wEAAwE,kCAAkC,sEAAsE,wCAAwC,yCAAyC,eAAe,QAAQ,UAAU,qCAAqC,mCAAmC,eAAe,2BAA2B,qEAAqE,mCAAmC,IAAI,0BAA0B,8BAA8B,IAAI,0BAA0B,eAAe,KAAK,mCAAmC,sBAAsB,iCAAiC,+BAA+B,4HAA4H,mRAAmR,KAAK,+BAA+B,kBAAkB,IAAI,+BAA+B,iBAAiB,iBAAiB,aAAa,yBAAyB,yBAAyB,mBAAmB,2BAA2B,uDAAuD,mBAAmB,6BAA6B,IAAI,kJAAkJ,sEAAsE,+GAA+G,SAAS,6BAA6B,0CAA0C,IAAI,4CAA4C,0HAA0H,mBAAmB,wJAAwJ,IAAI,mCAAmC,cAAc,eAAe,2EAA2E,qBAAqB,sCAAsC,cAAc,kDAAkD,kBAAkB,mBAAmB,IAAI,uEAAuE,kBAAkB,gDAAgD,iBAAiB,aAAa;AACzy3jB;AACA;AACA;AACA;AACA;AACA;AACA,2BAA2B,aAAa,mDAAmD,gBAAgB,4DAA4D,+GAA+G,kBAAkB,mEAAmE,uBAAuB,2GAA2G,iBAAiB,qBAAqB,oBAAoB,mFAAmF,kFAAkF,sFAAsF,2EAA2E,gGAAgG,2DAA2D,SAAS,6CAA6C,uCAAuC,sFAAsF,uCAAuC,wBAAwB,SAAS,sBAAsB,kBAAkB,oBAAoB,mDAAmD,MAAM,+HAA+H,YAAY,yBAAyB,mDAAmD,0GAA0G,MAAM,cAAc,8EAA8E,oEAAoE,gBAAgB,+DAA+D,IAAI,WAAW,SAAS,gBAAgB,iCAAiC,SAAS,YAAY,IAAI,mBAAmB,SAAS,cAAc,oHAAoH,WAAW,gBAAgB,iCAAiC,iJAAiJ,6BAA6B,eAAe,kBAAkB,cAAc,WAAW,+CAA+C,sDAAsD,+DAA+D,uBAAuB,gCAAgC,gCAAgC,6BAA6B,kBAAkB,WAAW,iBAAiB,sBAAsB,yBAAyB,4JAA4J,cAAc,aAAa,aAAa,eAAe,IAAI,yFAAyF,kNAAkN,4DAA4D,sBAAsB,gCAAgC,mGAAmG,mCAAmC,mBAAmB,gBAAgB,sCAAsC,MAAM,SAAS,QAAQ,IAAI,mCAAmC,sCAAsC,0BAA0B,4BAA4B,KAAK,KAAK,iBAAiB,IAAI,0BAA0B,KAAK,MAAM,cAAc,SAAS,oBAAoB,eAAe,iBAAiB,6BAA6B,eAAe,oDAAoD,eAAe,YAAY,IAAI,KAAK,mCAAmC,qBAAqB,SAAS,SAAS,oBAAoB,gCAAgC,oBAAoB,qBAAqB,iBAAiB,WAAW,gCAAgC,SAAS,WAAW,oBAAoB,kBAAkB,oBAAoB,qBAAqB,oBAAoB,uBAAuB,uBAAuB,wBAAwB,yDAAyD,SAAS,sBAAsB,kBAAkB,4EAA4E,kBAAkB,uBAAuB,iBAAiB,IAAI,EAAE,sDAAsD,oBAAoB,oBAAoB,MAAM,4DAA4D,MAAM,mHAAmH,MAAM,6IAA6I,mGAAmG,mBAAmB,eAAe,mDAAmD,aAAa,KAAK,IAAI,sDAAsD,SAAS,IAAI,oCAAoC,aAAa,mBAAmB,8GAA8G,IAAI,wBAAwB,oBAAoB,8CAA8C,WAAW,6EAA6E,SAAS,UAAU,2DAA2D,iCAAiC,wBAAwB,qBAAqB,sMAAsM,2BAA2B,2BAA2B,yBAAyB,6FAA6F,aAAa,2BAA2B,iBAAiB,+BAA+B,iBAAiB,wBAAwB,+BAA+B,yBAAyB,mFAAmF,kBAAkB,kDAAkD,IAAI,oBAAoB,cAAc,MAAM,sBAAsB,0BAA0B,gCAAgC,iJAAiJ,kBAAkB,wBAAwB,4EAA4E,kCAAkC,MAAM,0BAA0B,WAAW,mBAAmB,2BAA2B,QAAQ,WAAW,KAAK,WAAW,qFAAqF,wBAAwB,SAAS,uEAAuE,kBAAkB,4EAA4E,YAAY,IAAI,mBAAmB,YAAY,+BAA+B,kBAAkB,4EAA4E,YAAY,IAAI,mCAAmC,YAAY,+BAA+B,kBAAkB,4EAA4E,YAAY,IAAI,mEAAmE,YAAY,iCAAiC,oBAAoB,iEAAiE,SAAS,mDAAmD,8DAA8D,+BAA+B,mBAAmB,WAAW,6BAA6B,0CAA0C,+BAA+B,6CAA6C,gCAAgC,uEAAuE,yDAAyD,6BAA6B,uBAAuB,gCAAgC,mEAAmE,uCAAuC,gCAAgC,+BAA+B,2DAA2D,EAAE,4DAA4D,yCAAyC,mEAAmE,+KAA+K,uBAAuB,iBAAiB,iBAAiB,iDAAiD,yEAAyE,IAAI,oBAAoB,cAAc,MAAM,sBAAsB,sCAAsC,+BAA+B,qCAAqC,wBAAwB,yCAAyC,wBAAwB,qCAAqC,yCAAyC,6DAA6D,KAAK,2GAA2G,8DAA8D,oBAAoB,iIAAiI,cAAc,cAAc,WAAW,+BAA+B,4CAA4C,iCAAiC,+CAA+C,kCAAkC,yEAAyE,yDAAyD,6BAA6B,+BAA+B,OAAO,mEAAmE,WAAW,kBAAkB,SAAS,uBAAuB,YAAY,IAAI,qCAAqC,SAAS,kBAAkB,SAAS,uBAAuB,YAAY,IAAI,iCAAiC,SAAS,kBAAkB,eAAe,uCAAuC,iBAAiB,IAAI,eAAe,SAAS,kBAAkB,gCAAgC,WAAW,6CAA6C,SAAS,kBAAkB,0DAA0D,uEAAuE,wBAAwB,qFAAqF,sEAAsE,2DAA2D,oBAAoB,mBAAmB,qCAAqC,IAAI,8CAA8C,oBAAoB,wBAAwB,qCAAqC,IAAI,+BAA+B,wBAAwB,2DAA2D,kDAAkD,sBAAsB,+CAA+C,sBAAsB,+CAA+C,gCAAgC,oBAAoB,wKAAwK,KAAK,UAAU,kBAAkB,YAAY,IAAI,mBAAmB,SAAS,wCAAwC,gCAAgC,0BAA0B,gBAAgB,gBAAgB,SAAS,wCAAwC,gCAAgC,0BAA0B,cAAc,kBAAkB,SAAS,qCAAqC,qCAAqC,wCAAwC,kDAAkD,wCAAwC,kDAAkD,wCAAwC,qFAAqF,wCAAwC,qFAAqF,uCAAuC,gCAAgC,0BAA0B,gBAAgB,gBAAgB,2CAA2C,uCAAuC,gCAAgC,8BAA8B,cAAc,kBAAkB,2CAA2C,oCAAoC,oEAAoE,uCAAuC,sBAAsB,2BAA2B,8BAA8B,uCAAuC,sBAAsB,2BAA2B,8BAA8B,uCAAuC,8EAA8E,uCAAuC,8EAA8E,uCAAuC,oDAAoD,uCAAuC,oDAAoD,wCAAwC,oDAAoD,wCAAwC,oDAAoD,2CAA2C,sDAAsD,YAAY,kBAAkB,gBAAgB,mBAAmB,WAAW,2CAA2C,sDAAsD,cAAc,oBAAoB,iBAAiB,mBAAmB,WAAW,wCAAwC,mGAAmG,2CAA2C,mHAAmH,2CAA2C,mHAAmH,2CAA2C,0JAA0J,2CAA2C,0JAA0J,0CAA0C,iBAAiB,wBAAwB,qBAAqB,gBAAgB,kBAAkB,gBAAgB,6DAA6D,WAAW,0CAA0C,iBAAiB,wBAAwB,qBAAqB,kBAAkB,oBAAoB,iBAAiB,6DAA6D,WAAW,uCAAuC,uHAAuH,0CAA0C,wHAAwH,0CAA0C,wHAAwH,0CAA0C,oKAAoK,0CAA0C,4LAA4L,0CAA0C,wBAAwB,0CAA0C,wBAAwB,2CAA2C,wBAAwB,2CAA2C,wBAAwB,oCAAoC,wGAAwG,0CAA0C,yDAAyD,yEAAyE,uDAAuD,gEAAgE,YAAY,gCAAgC,KAAK,qBAAqB,8CAA8C,IAAI,qBAAqB,6DAA6D,SAAS,oCAAoC,uBAAuB,oGAAoG,sBAAsB,aAAa,mFAAmF,oFAAoF,iCAAiC,gFAAgF,oBAAoB,MAAM,6EAA6E,IAAI,cAAc,KAAK,0DAA0D,QAAQ,MAAM,qBAAqB,aAAa,2BAA2B,cAAc,8CAA8C,gBAAgB,MAAM,SAAS,mCAAmC,IAAI,KAAK,uCAAuC,OAAO,YAAY,+BAA+B,SAAS,YAAY,+BAA+B,SAAS,IAAI,SAAS,YAAY,mCAAmC,SAAS,8BAA8B,uCAAuC,iBAAiB,kBAAkB,UAAU,gBAAgB,kBAAkB,0BAA0B,iBAAiB,kBAAkB,uCAAuC,KAAK,sDAAsD,kBAAkB,qDAAqD,SAAS,cAAc,iCAAiC,kBAAkB,kDAAkD,qCAAqC,KAAK,cAAc,QAAQ,SAAS,KAAK,oBAAoB,YAAY,mCAAmC,gBAAgB,UAAU,kBAAkB,iBAAiB,qFAAqF,m3EAAm3E,4CAA4C,iQAAiQ,0DAA0D,0DAA0D,OAAO,wCAAwC,uCAAuC,kEAAkE,oEAAoE,0EAA0E,6EAA6E,KAAK,+BAA+B,EAAE,2BAA2B,2BAA2B,uBAAuB,MAAM,uBAAuB,SAAS,wEAAwE,yBAAyB,6FAA6F,yEAAyE,MAAM,qDAAqD,0EAA0E,+CAA+C,2EAA2E,6BAA6B,4EAA4E,kCAAkC,0EAA0E,wCAAwC,sCAAsC,4CAA4C,6NAA6N,iDAAiD,iDAAiD,OAAO,yFAAyF,uCAAuC,yDAAyD,2DAA2D,iEAAiE,oEAAoE,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,YAAY,MAAM,wBAAwB,YAAY,MAAM,wBAAwB,gBAAgB,MAAM,uBAAuB,SAAS,+DAA+D,yBAAyB,oFAAoF,gEAAgE,aAAa,kKAAkK,sDAAsD,gDAAgD,uDAAuD,6BAA6B,wDAAwD,kCAAkC,sDAAsD,wCAAwC,sDAAsD,gDAAgD,uDAAuD,6BAA6B,wDAAwD,kCAAkC,sDAAsD,wCAAwC,0DAA0D,gDAAgD,2DAA2D,6BAA6B,4DAA4D,kCAAkC,0DAA0D,wCAAwC,mCAAmC,4CAA4C,iNAAiN,8CAA8C,8CAA8C,SAAS,wRAAwR,uCAAuC,sDAAsD,wDAAwD,8DAA8D,iEAAiE,KAAK,+BAA+B,EAAE,2BAA2B,0BAA0B,gBAAgB,MAAM,sCAAsC,mFAAmF,MAAM,uBAAuB,WAAW,MAAM,wBAAwB,iBAAiB,MAAM,uBAAuB,oBAAoB,MAAM,uBAAuB,gBAAgB,MAAM,uBAAuB,gBAAgB,MAAM,uBAAuB,aAAa,MAAM,uBAAuB,SAAS,4DAA4D,yBAAyB,iFAAiF,6DAA6D,aAAa,+cAA+c,uDAAuD,+CAA+C,wDAAwD,6BAA6B,yDAAyD,kCAAkC,uDAAuD,wCAAwC,oDAAoD,kEAAkE,qDAAqD,oCAAoC,sDAAsD,qBAAqB,oDAAoD,wCAAwC,kDAAkD,+CAA+C,mDAAmD,6BAA6B,oDAAoD,kCAAkC,kDAAkD,wCAAwC,wDAAwD,gDAAgD,yDAAyD,6BAA6B,0DAA0D,kCAAkC,wDAAwD,wCAAwC,2DAA2D,+CAA+C,4DAA4D,6BAA6B,6DAA6D,kCAAkC,2DAA2D,wCAAwC,uDAAuD,gDAAgD,6DAA6D,+CAA+C,4DAA4D,8CAA8C,wDAAwD,6BAA6B,yDAAyD,kCAAkC,uDAAuD,wCAAwC,uDAAuD,+CAA+C,wDAAwD,6BAA6B,yDAAyD,kCAAkC,uDAAuD,wCAAwC,oDAAoD,+CAA+C,qDAAqD,6BAA6B,sDAAsD,kCAAkC,oDAAoD,wCAAwC,oCAAoC,4CAA4C,qNAAqN,+CAA+C,+CAA+C,SAAS,kUAAkU,uCAAuC,uDAAuD,yDAAyD,+DAA+D,kEAAkE,KAAK,+BAA+B,EAAE,2BAA2B,0BAA0B,gBAAgB,MAAM,uBAAuB,WAAW,MAAM,uBAAuB,aAAa,MAAM,sCAAsC,mFAAmF,MAAM,wBAAwB,0BAA0B,MAAM,uBAAuB,gBAAgB,MAAM,wBAAwB,iBAAiB,MAAM,uBAAuB,oBAAoB,MAAM,uBAAuB,gBAAgB,MAAM,uBAAuB,SAAS,6DAA6D,yBAAyB,kFAAkF,8DAA8D,aAAa,qgBAAqgB,wDAAwD,+CAA+C,yDAAyD,6BAA6B,0DAA0D,kCAAkC,wDAAwD,wCAAwC,mDAAmD,+CAA+C,oDAAoD,6BAA6B,qDAAqD,kCAAkC,mDAAmD,wCAAwC,qDAAqD,+CAA+C,sDAAsD,6BAA6B,uDAAuD,kCAAkC,qDAAqD,wCAAwC,qDAAqD,kEAAkE,sDAAsD,oCAAoC,uDAAuD,qBAAqB,qDAAqD,wCAAwC,kEAAkE,gDAAgD,mEAAmE,6BAA6B,oEAAoE,kCAAkC,kEAAkE,wCAAwC,wDAAwD,gDAAgD,8DAA8D,+CAA+C,6DAA6D,8CAA8C,yDAAyD,6BAA6B,0DAA0D,kCAAkC,wDAAwD,wCAAwC,yDAAyD,gDAAgD,0DAA0D,6BAA6B,2DAA2D,kCAAkC,yDAAyD,wCAAwC,4DAA4D,+CAA+C,6DAA6D,6BAA6B,8DAA8D,kCAAkC,4DAA4D,wCAAwC,wDAAwD,+CAA+C,yDAAyD,6BAA6B,0DAA0D,kCAAkC,wDAAwD,wCAAwC,+CAA+C,yFAAyF,uTAAuT,0DAA0D,0DAA0D,OAAO,8FAA8F,uCAAuC,kEAAkE,oEAAoE,0EAA0E,6EAA6E,KAAK,+BAA+B,EAAE,2BAA2B,gCAAgC,kFAAkF,MAAM,uBAAuB,SAAS,wEAAwE,yBAAyB,6FAA6F,yEAAyE,MAAM,0GAA0G,6EAA6E,gEAAgE,8EAA8E,4CAA4C,4EAA4E,+EAA+E,+EAA+E,8BAA8B,qCAAqC,4CAA4C,yNAAyN,gDAAgD,gDAAgD,OAAO,qDAAqD,uCAAuC,wDAAwD,0DAA0D,gEAAgE,mEAAmE,KAAK,+BAA+B,EAAE,2BAA2B,2BAA2B,UAAU,MAAM,uBAAuB,UAAU,MAAM,uBAAuB,SAAS,8DAA8D,yBAAyB,mFAAmF,+DAA+D,aAAa,0GAA0G,mDAAmD,+CAA+C,oDAAoD,6BAA6B,qDAAqD,kCAAkC,mDAAmD,wCAAwC,mDAAmD,+CAA+C,oDAAoD,6BAA6B,qDAAqD,kCAAkC,mDAAmD,wCAAwC,sCAAsC,4CAA4C,6NAA6N,iDAAiD,iDAAiD,OAAO,2HAA2H,uCAAuC,yDAAyD,2DAA2D,iEAAiE,oEAAoE,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,eAAe,MAAM,uBAAuB,aAAa,MAAM,wBAAwB,aAAa,MAAM,wBAAwB,iBAAiB,MAAM,uBAAuB,SAAS,+DAA+D,yBAAyB,oFAAoF,gEAAgE,aAAa,uNAAuN,yDAAyD,gDAAgD,0DAA0D,6BAA6B,2DAA2D,kCAAkC,yDAAyD,wCAAwC,uDAAuD,+CAA+C,wDAAwD,6BAA6B,yDAAyD,kCAAkC,uDAAuD,wCAAwC,uDAAuD,gDAAgD,wDAAwD,6BAA6B,yDAAyD,kCAAkC,uDAAuD,wCAAwC,2DAA2D,gDAAgD,4DAA4D,6BAA6B,6DAA6D,kCAAkC,2DAA2D,wCAAwC,+CAA+C,4CAA4C,iQAAiQ,0DAA0D,0DAA0D,OAAO,2GAA2G,uCAAuC,kEAAkE,oEAAoE,0EAA0E,6EAA6E,KAAK,+BAA+B,EAAE,2BAA2B,2BAA2B,oBAAoB,MAAM,uBAAuB,sBAAsB,MAAM,sBAAsB,gBAAgB,MAAM,uBAAuB,SAAS,wEAAwE,yBAAyB,6FAA6F,yEAAyE,aAAa,8JAA8J,uEAAuE,+CAA+C,wEAAwE,6BAA6B,yEAAyE,kCAAkC,uEAAuE,wCAAwC,yEAAyE,+CAA+C,0EAA0E,6BAA6B,2EAA2E,kCAAkC,yEAAyE,wCAAwC,mEAAmE,gDAAgD,oEAAoE,6BAA6B,qEAAqE,kCAAkC,mEAAmE,wCAAwC,+CAA+C,4CAA4C,iQAAiQ,0DAA0D,0DAA0D,SAAS,oSAAoS,uCAAuC,kEAAkE,oEAAoE,0EAA0E,6EAA6E,KAAK,+BAA+B,EAAE,2BAA2B,2BAA2B,wBAAwB,MAAM,uBAAuB,uBAAuB,MAAM,uBAAuB,yBAAyB,MAAM,wBAAwB,kBAAkB,MAAM,wBAAwB,iBAAiB,MAAM,wBAAwB,gBAAgB,MAAM,+CAA+C,6FAA6F,MAAM,uBAAuB,SAAS,wEAAwE,yBAAyB,6FAA6F,yEAAyE,aAAa,uaAAua,2EAA2E,+CAA+C,4EAA4E,6BAA6B,6EAA6E,kCAAkC,2EAA2E,wCAAwC,0EAA0E,+CAA+C,2EAA2E,6BAA6B,4EAA4E,kCAAkC,0EAA0E,wCAAwC,4EAA4E,+CAA+C,6EAA6E,6BAA6B,8EAA8E,kCAAkC,4EAA4E,wCAAwC,qEAAqE,gDAAgD,sEAAsE,6BAA6B,uEAAuE,kCAAkC,qEAAqE,wCAAwC,oEAAoE,gDAAgD,qEAAqE,6BAA6B,sEAAsE,kCAAkC,oEAAoE,wCAAwC,mEAAmE,gDAAgD,oEAAoE,6BAA6B,qEAAqE,kCAAkC,mEAAmE,wCAAwC,iEAAiE,2EAA2E,kEAAkE,oCAAoC,mEAAmE,sBAAsB,iEAAiE,wCAAwC,0DAA0D,4CAA4C,6SAA6S,qEAAqE,qEAAqE,OAAO,iFAAiF,uCAAuC,6EAA6E,+EAA+E,qFAAqF,wFAAwF,KAAK,+BAA+B,EAAE,2BAA2B,2BAA2B,yBAAyB,MAAM,uBAAuB,uBAAuB,MAAM,uBAAuB,SAAS,mFAAmF,yBAAyB,wGAAwG,oFAAoF,aAAa,0GAA0G,uFAAuF,+CAA+C,wFAAwF,6BAA6B,yFAAyF,kCAAkC,uFAAuF,wCAAwC,qFAAqF,+CAA+C,sFAAsF,6BAA6B,uFAAuF,kCAAkC,qFAAqF,wCAAwC,0CAA0C,4CAA4C,6OAA6O,qDAAqD,qDAAqD,OAAO,2JAA2J,uCAAuC,6DAA6D,+DAA+D,qEAAqE,wEAAwE,KAAK,+BAA+B,EAAE,2BAA2B,2BAA2B,eAAe,MAAM,uBAAuB,iBAAiB,MAAM,uBAAuB,aAAa,MAAM,uBAAuB,cAAc,MAAM,uBAAuB,eAAe,MAAM,uBAAuB,SAAS,mEAAmE,yBAAyB,wFAAwF,oEAAoE,aAAa,yQAAyQ,6DAA6D,+CAA+C,8DAA8D,6BAA6B,+DAA+D,kCAAkC,6DAA6D,wCAAwC,+DAA+D,+CAA+C,gEAAgE,6BAA6B,iEAAiE,kCAAkC,+DAA+D,wCAAwC,2DAA2D,+CAA+C,4DAA4D,6BAA6B,6DAA6D,kCAAkC,2DAA2D,wCAAwC,4DAA4D,+CAA+C,6DAA6D,6BAA6B,8DAA8D,kCAAkC,4DAA4D,wCAAwC,6DAA6D,+CAA+C,8DAA8D,6BAA6B,+DAA+D,kCAAkC,6DAA6D,wCAAwC,mDAAmD,6FAA6F,2UAA2U,8DAA8D,8DAA8D,OAAO,iFAAiF,uCAAuC,sEAAsE,wEAAwE,8EAA8E,iFAAiF,KAAK,+BAA+B,EAAE,2BAA2B,iCAAiC,4EAA4E,MAAM,uBAAuB,SAAS,4EAA4E,yBAAyB,iGAAiG,6EAA6E,MAAM,oGAAoG,0EAA0E,iEAAiE,2EAA2E,4CAA4C,yEAAyE,yFAAyF,4EAA4E,uBAAuB,4CAA4C,4CAA4C,qPAAqP,uDAAuD,uDAAuD,OAAO,0VAA0V,uCAAuC,+DAA+D,iEAAiE,uEAAuE,0EAA0E,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,WAAW,MAAM,uBAAuB,cAAc,MAAM,uBAAuB,cAAc,MAAM,uBAAuB,cAAc,MAAM,uBAAuB,cAAc,MAAM,uBAAuB,aAAa,MAAM,uBAAuB,aAAa,MAAM,uBAAuB,iBAAiB,MAAM,sBAAsB,iBAAiB,MAAM,uBAAuB,oBAAoB,MAAM,wBAAwB,oBAAoB,MAAM,uBAAuB,SAAS,qEAAqE,yBAAyB,0FAA0F,sEAAsE,aAAa,0kBAA0kB,2DAA2D,gDAAgD,4DAA4D,6BAA6B,6DAA6D,kCAAkC,2DAA2D,wCAAwC,8DAA8D,+CAA+C,+DAA+D,6BAA6B,gEAAgE,kCAAkC,8DAA8D,wCAAwC,8DAA8D,+CAA+C,+DAA+D,6BAA6B,gEAAgE,kCAAkC,8DAA8D,wCAAwC,8DAA8D,+CAA+C,+DAA+D,6BAA6B,gEAAgE,kCAAkC,8DAA8D,wCAAwC,8DAA8D,+CAA+C,+DAA+D,6BAA6B,gEAAgE,kCAAkC,8DAA8D,wCAAwC,6DAA6D,+CAA+C,8DAA8D,6BAA6B,+DAA+D,kCAAkC,6DAA6D,wCAAwC,6DAA6D,+CAA+C,8DAA8D,6BAA6B,+DAA+D,kCAAkC,6DAA6D,wCAAwC,iEAAiE,+CAA+C,kEAAkE,6BAA6B,mEAAmE,kCAAkC,iEAAiE,wCAAwC,iEAAiE,gDAAgD,kEAAkE,6BAA6B,mEAAmE,kCAAkC,iEAAiE,wCAAwC,oEAAoE,iDAAiD,qEAAqE,8BAA8B,sEAAsE,mCAAmC,oEAAoE,yCAAyC,oEAAoE,gDAAgD,qEAAqE,8BAA8B,sEAAsE,mCAAmC,oEAAoE,yCAAyC,gDAAgD,4CAA4C,qQAAqQ,2DAA2D,2DAA2D,OAAO,0DAA0D,uCAAuC,mEAAmE,qEAAqE,2EAA2E,8EAA8E,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,YAAY,MAAM,uBAAuB,aAAa,MAAM,uBAAuB,SAAS,yEAAyE,yBAAyB,8FAA8F,0EAA0E,aAAa,2GAA2G,gEAAgE,gDAAgD,iEAAiE,6BAA6B,kEAAkE,kCAAkC,gEAAgE,wCAAwC,iEAAiE,+CAA+C,kEAAkE,6BAA6B,mEAAmE,kCAAkC,iEAAiE,wCAAwC,2CAA2C,4CAA4C,iPAAiP,sDAAsD,sDAAsD,OAAO,6FAA6F,uCAAuC,8DAA8D,gEAAgE,sEAAsE,yEAAyE,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,iBAAiB,MAAM,uBAAuB,oBAAoB,MAAM,uBAAuB,aAAa,MAAM,uBAAuB,SAAS,oEAAoE,yBAAyB,yFAAyF,qEAAqE,aAAa,gKAAgK,gEAAgE,gDAAgD,iEAAiE,6BAA6B,kEAAkE,kCAAkC,gEAAgE,wCAAwC,mEAAmE,+CAA+C,oEAAoE,6BAA6B,qEAAqE,kCAAkC,mEAAmE,wCAAwC,4DAA4D,gDAAgD,kEAAkE,4CAA4C,iEAAiE,2CAA2C,6DAA6D,6BAA6B,8DAA8D,kCAAkC,4DAA4D,wCAAwC,8CAA8C,wFAAwF,kTAAkT,yDAAyD,yDAAyD,OAAO,wFAAwF,uCAAuC,iEAAiE,mEAAmE,yEAAyE,4EAA4E,KAAK,+BAA+B,EAAE,2BAA2B,gCAAgC,+EAA+E,MAAM,uBAAuB,SAAS,uEAAuE,yBAAyB,4FAA4F,wEAAwE,MAAM,uGAAuG,yEAAyE,gEAAgE,0EAA0E,4CAA4C,wEAAwE,+EAA+E,2EAA2E,2BAA2B,oDAAoD,8FAA8F,gVAAgV,+DAA+D,+DAA+D,OAAO,0FAA0F,uCAAuC,uEAAuE,yEAAyE,+EAA+E,kFAAkF,KAAK,+BAA+B,EAAE,2BAA2B,8BAA8B,+EAA+E,MAAM,uBAAuB,SAAS,6EAA6E,yBAAyB,kGAAkG,8EAA8E,MAAM,uGAAuG,iFAAiF,8DAA8D,kFAAkF,4CAA4C,gFAAgF,wFAAwF,mFAAmF,6BAA6B,iDAAiD,2FAA2F,iUAAiU,4DAA4D,4DAA4D,OAAO,0GAA0G,uCAAuC,oEAAoE,sEAAsE,4EAA4E,+EAA+E,KAAK,+BAA+B,EAAE,2BAA2B,wCAAwC,4FAA4F,MAAM,uBAAuB,SAAS,0EAA0E,yBAAyB,+FAA+F,2EAA2E,MAAM,oHAAoH,iFAAiF,wEAAwE,kFAAkF,4CAA4C,gFAAgF,uFAAuF,mFAAmF,gCAAgC,yCAAyC,mFAAmF,yRAAyR,oDAAoD,oDAAoD,OAAO,qFAAqF,uCAAuC,4DAA4D,8DAA8D,oEAAoE,uEAAuE,KAAK,+BAA+B,EAAE,2BAA2B,6BAA6B,4EAA4E,MAAM,uBAAuB,SAAS,kEAAkE,yBAAyB,uFAAuF,mEAAmE,MAAM,oGAAoG,oEAAoE,6DAA6D,qEAAqE,4CAA4C,mEAAmE,uFAAuF,sEAAsE,2BAA2B,oCAAoC,8EAA8E,gQAAgQ,+CAA+C,+CAA+C,OAAO,sEAAsE,uCAAuC,uDAAuD,yDAAyD,+DAA+D,kEAAkE,KAAK,+BAA+B,EAAE,2BAA2B,wBAAwB,kEAAkE,MAAM,uBAAuB,SAAS,6DAA6D,yBAAyB,kFAAkF,8DAA8D,MAAM,0FAA0F,0DAA0D,wDAAwD,2DAA2D,4CAA4C,yDAAyD,kFAAkF,4DAA4D,sBAAsB,2CAA2C,qFAAqF,mSAAmS,sDAAsD,sDAAsD,OAAO,yFAAyF,uCAAuC,8DAA8D,gEAAgE,sEAAsE,yEAAyE,KAAK,+BAA+B,EAAE,2BAA2B,iCAAiC,gFAAgF,MAAM,uBAAuB,SAAS,oEAAoE,yBAAyB,yFAAyF,qEAAqE,MAAM,wGAAwG,sEAAsE,iEAAiE,uEAAuE,4CAA4C,qEAAqE,yFAAyF,wEAAwE,2BAA2B,sCAAsC,gFAAgF,0QAA0Q,iDAAiD,iDAAiD,OAAO,0EAA0E,uCAAuC,yDAAyD,2DAA2D,iEAAiE,oEAAoE,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,sEAAsE,MAAM,uBAAuB,SAAS,+DAA+D,yBAAyB,oFAAoF,gEAAgE,MAAM,8FAA8F,4DAA4D,4DAA4D,6DAA6D,4CAA4C,2DAA2D,oFAAoF,8DAA8D,sBAAsB,wCAAwC,4CAA4C,qOAAqO,mDAAmD,mDAAmD,OAAO,gEAAgE,uCAAuC,2DAA2D,6DAA6D,mEAAmE,sEAAsE,KAAK,+BAA+B,EAAE,2BAA2B,2BAA2B,YAAY,MAAM,uBAAuB,0BAA0B,MAAM,uBAAuB,SAAS,iEAAiE,yBAAyB,sFAAsF,kEAAkE,aAAa,0GAA0G,wDAAwD,gDAAgD,8DAA8D,2CAA2C,6DAA6D,0CAA0C,yDAAyD,6BAA6B,0DAA0D,kCAAkC,wDAAwD,wCAAwC,sEAAsE,+CAA+C,uEAAuE,6BAA6B,wEAAwE,kCAAkC,sEAAsE,wCAAwC,sCAAsC,4CAA4C,6NAA6N,iDAAiD,iDAAiD,OAAO,2DAA2D,uCAAuC,yDAAyD,2DAA2D,iEAAiE,oEAAoE,KAAK,+BAA+B,EAAE,2BAA2B,2BAA2B,eAAe,MAAM,uBAAuB,eAAe,MAAM,uBAAuB,SAAS,+DAA+D,yBAAyB,oFAAoF,gEAAgE,aAAa,0GAA0G,yDAAyD,+CAA+C,0DAA0D,6BAA6B,2DAA2D,kCAAkC,yDAAyD,wCAAwC,yDAAyD,gDAAgD,+DAA+D,8CAA8C,8DAA8D,6CAA6C,0DAA0D,6BAA6B,2DAA2D,kCAAkC,yDAAyD,wCAAwC,mCAAmC,6EAA6E,2PAA2P,8CAA8C,8CAA8C,OAAO,uEAAuE,uCAAuC,sDAAsD,wDAAwD,8DAA8D,iEAAiE,KAAK,+BAA+B,EAAE,2BAA2B,2BAA2B,oEAAoE,MAAM,uBAAuB,SAAS,4DAA4D,yBAAyB,iFAAiF,6DAA6D,MAAM,4FAA4F,wDAAwD,2DAA2D,yDAAyD,4CAA4C,uDAAuD,oFAAoF,0DAA0D,qBAAqB,4CAA4C,4CAA4C,qPAAqP,uDAAuD,uDAAuD,OAAO,uYAAuY,uCAAuC,+DAA+D,iEAAiE,uEAAuE,0EAA0E,KAAK,+BAA+B,EAAE,2BAA2B,2BAA2B,oBAAoB,MAAM,wBAAwB,eAAe,MAAM,wBAAwB,iBAAiB,MAAM,uBAAuB,sBAAsB,MAAM,wBAAwB,sBAAsB,MAAM,uBAAuB,mBAAmB,MAAM,uBAAuB,iBAAiB,MAAM,uBAAuB,qBAAqB,MAAM,uBAAuB,qBAAqB,MAAM,wBAAwB,oBAAoB,MAAM,wBAAwB,kBAAkB,MAAM,uBAAuB,SAAS,qEAAqE,yBAAyB,0FAA0F,sEAAsE,aAAa,8kBAA8kB,oEAAoE,+CAA+C,qEAAqE,6BAA6B,sEAAsE,kCAAkC,oEAAoE,wCAAwC,+DAA+D,gDAAgD,gEAAgE,6BAA6B,iEAAiE,kCAAkC,+DAA+D,wCAAwC,iEAAiE,gDAAgD,kEAAkE,6BAA6B,mEAAmE,kCAAkC,iEAAiE,wCAAwC,sEAAsE,+CAA+C,uEAAuE,6BAA6B,wEAAwE,kCAAkC,sEAAsE,wCAAwC,sEAAsE,gDAAgD,uEAAuE,6BAA6B,wEAAwE,kCAAkC,sEAAsE,wCAAwC,mEAAmE,+CAA+C,oEAAoE,6BAA6B,qEAAqE,kCAAkC,mEAAmE,wCAAwC,iEAAiE,+CAA+C,kEAAkE,6BAA6B,mEAAmE,kCAAkC,iEAAiE,wCAAwC,qEAAqE,+CAA+C,sEAAsE,6BAA6B,uEAAuE,kCAAkC,qEAAqE,wCAAwC,qEAAqE,+CAA+C,sEAAsE,6BAA6B,uEAAuE,kCAAkC,qEAAqE,wCAAwC,oEAAoE,gDAAgD,qEAAqE,8BAA8B,sEAAsE,mCAAmC,oEAAoE,yCAAyC,kEAAkE,gDAAgD,mEAAmE,8BAA8B,oEAAoE,mCAAmC,kEAAkE,yCAAyC,uCAAuC,4CAA4C,iOAAiO,kDAAkD,kDAAkD,OAAO,6KAA6K,uCAAuC,0DAA0D,4DAA4D,kEAAkE,qEAAqE,KAAK,+BAA+B,EAAE,2BAA2B,2BAA2B,mBAAmB,MAAM,uBAAuB,mBAAmB,MAAM,uBAAuB,mBAAmB,MAAM,uBAAuB,iBAAiB,MAAM,uBAAuB,kBAAkB,MAAM,uBAAuB,SAAS,gEAAgE,yBAAyB,qFAAqF,iEAAiE,aAAa,yQAAyQ,8DAA8D,gDAAgD,oEAAoE,kDAAkD,mEAAmE,iDAAiD,+DAA+D,6BAA6B,gEAAgE,kCAAkC,8DAA8D,wCAAwC,8DAA8D,gDAAgD,oEAAoE,kDAAkD,mEAAmE,iDAAiD,+DAA+D,6BAA6B,gEAAgE,kCAAkC,8DAA8D,wCAAwC,8DAA8D,+CAA+C,+DAA+D,6BAA6B,gEAAgE,kCAAkC,8DAA8D,wCAAwC,4DAA4D,+CAA+C,6DAA6D,6BAA6B,8DAA8D,kCAAkC,4DAA4D,wCAAwC,6DAA6D,+CAA+C,8DAA8D,6BAA6B,+DAA+D,kCAAkC,6DAA6D,wCAAwC,2CAA2C,qFAAqF,mSAAmS,sDAAsD,sDAAsD,OAAO,iGAAiG,uCAAuC,8DAA8D,gEAAgE,sEAAsE,yEAAyE,KAAK,+BAA+B,EAAE,2BAA2B,2CAA2C,yFAAyF,MAAM,uBAAuB,SAAS,oEAAoE,yBAAyB,yFAAyF,qEAAqE,MAAM,iHAAiH,qEAAqE,2EAA2E,sEAAsE,4CAA4C,oEAAoE,iFAAiF,uEAAuE,0BAA0B,8CAA8C,wFAAwF,kTAAkT,yDAAyD,yDAAyD,SAAS,iNAAiN,uCAAuC,iEAAiE,mEAAmE,yEAAyE,4EAA4E,KAAK,+BAA+B,EAAE,2BAA2B,2CAA2C,wFAAwF,MAAM,uBAAuB,eAAe,MAAM,uBAAuB,iBAAiB,MAAM,uBAAuB,yEAAyE,MAAM,uBAAuB,SAAS,uEAAuE,yBAAyB,4FAA4F,wEAAwE,aAAa,4SAA4S,mEAAmE,mEAAmE,oEAAoE,oCAAoC,qEAAqE,yBAAyB,mEAAmE,wCAAwC,iEAAiE,gDAAgD,uEAAuE,8CAA8C,sEAAsE,6CAA6C,kEAAkE,6BAA6B,mEAAmE,kCAAkC,iEAAiE,wCAAwC,mEAAmE,gDAAgD,yEAAyE,gDAAgD,wEAAwE,+CAA+C,oEAAoE,6BAA6B,qEAAqE,kCAAkC,mEAAmE,wCAAwC,wEAAwE,2DAA2D,yEAAyE,4CAA4C,uEAAuE,mFAAmF,0EAA0E,0BAA0B,wCAAwC,4CAA4C,qOAAqO,mDAAmD,mDAAmD,OAAO,uGAAuG,uCAAuC,2DAA2D,6DAA6D,mEAAmE,sEAAsE,KAAK,+BAA+B,EAAE,2BAA2B,2BAA2B,gBAAgB,MAAM,uBAAuB,mBAAmB,MAAM,uBAAuB,mBAAmB,MAAM,uBAAuB,SAAS,iEAAiE,yBAAyB,sFAAsF,kEAAkE,aAAa,+JAA+J,4DAA4D,+CAA+C,6DAA6D,6BAA6B,8DAA8D,kCAAkC,4DAA4D,wCAAwC,+DAA+D,gDAAgD,qEAAqE,kDAAkD,oEAAoE,iDAAiD,gEAAgE,6BAA6B,iEAAiE,kCAAkC,+DAA+D,wCAAwC,+DAA+D,+CAA+C,gEAAgE,6BAA6B,iEAAiE,kCAAkC,+DAA+D,wCAAwC,6CAA6C,4CAA4C,yPAAyP,wDAAwD,wDAAwD,OAAO,kGAAkG,uCAAuC,gEAAgE,kEAAkE,wEAAwE,2EAA2E,KAAK,+BAA+B,EAAE,2BAA2B,2BAA2B,eAAe,MAAM,uBAAuB,sBAAsB,MAAM,uBAAuB,gBAAgB,MAAM,uBAAuB,SAAS,sEAAsE,yBAAyB,2FAA2F,uEAAuE,aAAa,+JAA+J,gEAAgE,gDAAgD,sEAAsE,8CAA8C,qEAAqE,6CAA6C,iEAAiE,6BAA6B,kEAAkE,kCAAkC,gEAAgE,wCAAwC,uEAAuE,+CAA+C,wEAAwE,6BAA6B,yEAAyE,kCAAkC,uEAAuE,wCAAwC,iEAAiE,+CAA+C,kEAAkE,6BAA6B,mEAAmE,kCAAkC,iEAAiE,wCAAwC,uCAAuC,4CAA4C,iOAAiO,kDAAkD,kDAAkD,OAAO,yEAAyE,uCAAuC,0DAA0D,4DAA4D,kEAAkE,qEAAqE,KAAK,+BAA+B,EAAE,2BAA2B,2BAA2B,mBAAmB,MAAM,uBAAuB,oBAAoB,MAAM,uBAAuB,SAAS,gEAAgE,yBAAyB,qFAAqF,iEAAiE,aAAa,0GAA0G,8DAA8D,+CAA+C,+DAA+D,6BAA6B,gEAAgE,kCAAkC,8DAA8D,wCAAwC,+DAA+D,gDAAgD,qEAAqE,mDAAmD,oEAAoE,kDAAkD,gEAAgE,6BAA6B,iEAAiE,kCAAkC,+DAA+D,wCAAwC,6CAA6C,uFAAuF,6SAA6S,wDAAwD,wDAAwD,OAAO,qGAAqG,uCAAuC,gEAAgE,kEAAkE,wEAAwE,2EAA2E,KAAK,+BAA+B,EAAE,2BAA2B,qCAAqC,wFAAwF,MAAM,uBAAuB,SAAS,sEAAsE,yBAAyB,2FAA2F,uEAAuE,MAAM,gHAAgH,4EAA4E,qEAAqE,6EAA6E,4CAA4C,2EAA2E,8FAA8F,8EAA8E,+BAA+B,0CAA0C,4CAA4C,6OAA6O,qDAAqD,qDAAqD,OAAO,2HAA2H,uCAAuC,6DAA6D,+DAA+D,qEAAqE,wEAAwE,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,6BAA6B,MAAM,wBAAwB,4BAA4B,MAAM,uBAAuB,kBAAkB,MAAM,uBAAuB,SAAS,mEAAmE,yBAAyB,wFAAwF,oEAAoE,aAAa,iKAAiK,2EAA2E,gDAAgD,4EAA4E,6BAA6B,6EAA6E,kCAAkC,2EAA2E,wCAAwC,0EAA0E,gDAAgD,2EAA2E,6BAA6B,4EAA4E,kCAAkC,0EAA0E,wCAAwC,gEAAgE,gDAAgD,sEAAsE,iDAAiD,qEAAqE,gDAAgD,iEAAiE,6BAA6B,kEAAkE,kCAAkC,gEAAgE,wCAAwC,yCAAyC,4CAA4C,yOAAyO,oDAAoD,oDAAoD,SAAS,gaAAga,uCAAuC,4DAA4D,8DAA8D,oEAAoE,uEAAuE,KAAK,+BAA+B,EAAE,2BAA2B,8CAA8C,iGAAiG,MAAM,uBAAuB,oBAAoB,MAAM,uBAAuB,oBAAoB,MAAM,uBAAuB,uBAAuB,MAAM,uBAAuB,oBAAoB,MAAM,uBAAuB,2BAA2B,MAAM,uBAAuB,4BAA4B,MAAM,uBAAuB,eAAe,MAAM,uBAAuB,gBAAgB,MAAM,yBAAyB,gBAAgB,MAAM,uBAAuB,SAAS,kEAAkE,yBAAyB,uFAAuF,mEAAmE,aAAa,0kBAA0kB,oEAAoE,sEAAsE,qEAAqE,oCAAoC,sEAAsE,+BAA+B,oEAAoE,wCAAwC,iEAAiE,+CAA+C,kEAAkE,6BAA6B,mEAAmE,kCAAkC,iEAAiE,wCAAwC,iEAAiE,+CAA+C,kEAAkE,8BAA8B,kEAAkE,kCAAkC,iEAAiE,wCAAwC,oEAAoE,+CAA+C,qEAAqE,6BAA6B,sEAAsE,kCAAkC,oEAAoE,wCAAwC,iEAAiE,+CAA+C,kEAAkE,6BAA6B,mEAAmE,kCAAkC,iEAAiE,wCAAwC,wEAAwE,+CAA+C,yEAAyE,6BAA6B,0EAA0E,kCAAkC,wEAAwE,wCAAwC,yEAAyE,+CAA+C,0EAA0E,6BAA6B,2EAA2E,kCAAkC,yEAAyE,wCAAwC,4DAA4D,+CAA+C,6DAA6D,6BAA6B,8DAA8D,kCAAkC,4DAA4D,wCAAwC,6DAA6D,+CAA+C,8DAA8D,6BAA6B,+DAA+D,kCAAkC,6DAA6D,wCAAwC,6DAA6D,iDAAiD,8DAA8D,8BAA8B,+DAA+D,mCAAmC,6DAA6D,yCAAyC,oDAAoD,4CAA4C,qRAAqR,+DAA+D,+DAA+D,OAAO,kUAAkU,uCAAuC,uEAAuE,yEAAyE,+EAA+E,kFAAkF,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,iBAAiB,MAAM,wBAAwB,cAAc,MAAM,uBAAuB,aAAa,MAAM,uBAAuB,kBAAkB,MAAM,uBAAuB,gBAAgB,MAAM,uBAAuB,cAAc,MAAM,uBAAuB,cAAc,MAAM,uBAAuB,iBAAiB,MAAM,wBAAwB,iBAAiB,MAAM,uBAAuB,oBAAoB,MAAM,uBAAuB,SAAS,6EAA6E,yBAAyB,kGAAkG,8EAA8E,aAAa,shBAAshB,yEAAyE,gDAAgD,0EAA0E,6BAA6B,2EAA2E,kCAAkC,yEAAyE,wCAAwC,sEAAsE,gDAAgD,uEAAuE,6BAA6B,wEAAwE,kCAAkC,sEAAsE,wCAAwC,qEAAqE,+CAA+C,sEAAsE,6BAA6B,uEAAuE,kCAAkC,qEAAqE,wCAAwC,0EAA0E,+CAA+C,2EAA2E,6BAA6B,4EAA4E,kCAAkC,0EAA0E,wCAAwC,wEAAwE,+CAA+C,yEAAyE,6BAA6B,0EAA0E,kCAAkC,wEAAwE,wCAAwC,sEAAsE,+CAA+C,uEAAuE,6BAA6B,wEAAwE,kCAAkC,sEAAsE,wCAAwC,sEAAsE,+CAA+C,uEAAuE,6BAA6B,wEAAwE,kCAAkC,sEAAsE,wCAAwC,yEAAyE,+CAA+C,0EAA0E,6BAA6B,2EAA2E,kCAAkC,yEAAyE,wCAAwC,yEAAyE,gDAAgD,0EAA0E,6BAA6B,2EAA2E,kCAAkC,yEAAyE,wCAAwC,4EAA4E,iDAAiD,6EAA6E,8BAA8B,8EAA8E,mCAAmC,4EAA4E,yCAAyC,6DAA6D,4CAA4C,yTAAyT,wEAAwE,wEAAwE,OAAO,+FAA+F,uCAAuC,gFAAgF,kFAAkF,wFAAwF,2FAA2F,KAAK,+BAA+B,EAAE,2BAA2B,2BAA2B,iBAAiB,MAAM,uBAAuB,YAAY,MAAM,wBAAwB,iBAAiB,MAAM,uBAAuB,SAAS,sFAAsF,yBAAyB,2GAA2G,uFAAuF,aAAa,gKAAgK,kFAAkF,+CAA+C,mFAAmF,6BAA6B,oFAAoF,kCAAkC,kFAAkF,wCAAwC,6EAA6E,+CAA+C,8EAA8E,6BAA6B,+EAA+E,kCAAkC,6EAA6E,wCAAwC,kFAAkF,gDAAgD,mFAAmF,6BAA6B,oFAAoF,kCAAkC,kFAAkF,wCAAwC,yDAAyD,4CAA4C,ySAAyS,oEAAoE,oEAAoE,OAAO,gKAAgK,uCAAuC,4EAA4E,8EAA8E,oFAAoF,uFAAuF,KAAK,+BAA+B,EAAE,2BAA2B,4BAA4B,gBAAgB,MAAM,uBAAuB,iBAAiB,MAAM,uBAAuB,iBAAiB,MAAM,uBAAuB,eAAe,MAAM,uBAAuB,cAAc,MAAM,uBAAuB,SAAS,kFAAkF,yBAAyB,uGAAuG,mFAAmF,aAAa,0QAA0Q,6EAA6E,gDAAgD,8EAA8E,6BAA6B,+EAA+E,kCAAkC,6EAA6E,wCAAwC,8EAA8E,+CAA+C,+EAA+E,6BAA6B,gFAAgF,kCAAkC,8EAA8E,wCAAwC,8EAA8E,+CAA+C,+EAA+E,6BAA6B,gFAAgF,kCAAkC,8EAA8E,wCAAwC,4EAA4E,+CAA+C,6EAA6E,6BAA6B,8EAA8E,kCAAkC,4EAA4E,wCAAwC,2EAA2E,+CAA+C,4EAA4E,6BAA6B,6EAA6E,kCAAkC,2EAA2E,wCAAwC,sCAAsC,4CAA4C,6NAA6N,iDAAiD,iDAAiD,OAAO,iCAAiC,uCAAuC,yDAAyD,2DAA2D,iEAAiE,oEAAoE,KAAK,+BAA+B,EAAE,2BAA2B,2BAA2B,gBAAgB,MAAM,uBAAuB,SAAS,+DAA+D,yBAAyB,oFAAoF,gEAAgE,MAAM,qDAAqD,0DAA0D,+CAA+C,2DAA2D,6BAA6B,4DAA4D,kCAAkC,0DAA0D,wCAAwC,oCAAoC,4CAA4C,qNAAqN,+CAA+C,+CAA+C,OAAO,4QAA4Q,uCAAuC,uDAAuD,yDAAyD,+DAA+D,kEAAkE,KAAK,+BAA+B,EAAE,2BAA2B,2BAA2B,kBAAkB,MAAM,uBAAuB,kBAAkB,MAAM,wBAAwB,mBAAmB,MAAM,wBAAwB,mBAAmB,MAAM,uBAAuB,gBAAgB,MAAM,uBAAuB,eAAe,MAAM,uBAAuB,oBAAoB,MAAM,uBAAuB,iBAAiB,MAAM,uBAAuB,SAAS,6DAA6D,yBAAyB,kFAAkF,8DAA8D,aAAa,0aAA0a,0DAA0D,+CAA+C,2DAA2D,6BAA6B,4DAA4D,kCAAkC,0DAA0D,wCAAwC,0DAA0D,+CAA+C,2DAA2D,6BAA6B,4DAA4D,kCAAkC,0DAA0D,wCAAwC,2DAA2D,gDAAgD,4DAA4D,6BAA6B,6DAA6D,kCAAkC,2DAA2D,wCAAwC,2DAA2D,gDAAgD,4DAA4D,6BAA6B,6DAA6D,kCAAkC,2DAA2D,wCAAwC,wDAAwD,gDAAgD,8DAA8D,+CAA+C,6DAA6D,8CAA8C,yDAAyD,6BAA6B,0DAA0D,kCAAkC,wDAAwD,wCAAwC,uDAAuD,+CAA+C,wDAAwD,6BAA6B,yDAAyD,kCAAkC,uDAAuD,wCAAwC,4DAA4D,+CAA+C,6DAA6D,6BAA6B,8DAA8D,kCAAkC,4DAA4D,wCAAwC,yDAAyD,+CAA+C,0DAA0D,6BAA6B,2DAA2D,kCAAkC,yDAAyD,wCAAwC,wCAAwC,4CAA4C,qOAAqO,mDAAmD,mDAAmD,OAAO,+KAA+K,uCAAuC,2DAA2D,6DAA6D,mEAAmE,sEAAsE,KAAK,+BAA+B,EAAE,2BAA2B,2BAA2B,qBAAqB,MAAM,uBAAuB,oBAAoB,MAAM,uBAAuB,kBAAkB,MAAM,uBAAuB,eAAe,MAAM,uBAAuB,mBAAmB,MAAM,uBAAuB,SAAS,iEAAiE,yBAAyB,sFAAsF,kEAAkE,aAAa,yQAAyQ,iEAAiE,+CAA+C,kEAAkE,6BAA6B,mEAAmE,kCAAkC,iEAAiE,wCAAwC,gEAAgE,gDAAgD,sEAAsE,mDAAmD,qEAAqE,kDAAkD,iEAAiE,6BAA6B,kEAAkE,kCAAkC,gEAAgE,wCAAwC,8DAA8D,+CAA+C,+DAA+D,6BAA6B,gEAAgE,kCAAkC,8DAA8D,wCAAwC,2DAA2D,+CAA+C,4DAA4D,6BAA6B,6DAA6D,kCAAkC,2DAA2D,wCAAwC,+DAA+D,+CAA+C,gEAAgE,6BAA6B,iEAAiE,kCAAkC,+DAA+D,wCAAwC,sCAAsC,4CAA4C,6NAA6N,iDAAiD,iDAAiD,OAAO,4uBAA4uB,uCAAuC,yDAAyD,2DAA2D,iEAAiE,oEAAoE,KAAK,+BAA+B,EAAE,2BAA2B,2BAA2B,oBAAoB,MAAM,uBAAuB,oBAAoB,MAAM,uBAAuB,2BAA2B,MAAM,uBAAuB,2BAA2B,MAAM,uBAAuB,0BAA0B,MAAM,uBAAuB,0BAA0B,MAAM,uBAAuB,+BAA+B,MAAM,uBAAuB,+BAA+B,MAAM,uBAAuB,8BAA8B,MAAM,wBAAwB,2BAA2B,MAAM,wBAAwB,2BAA2B,MAAM,wBAAwB,gCAAgC,MAAM,wBAAwB,gCAAgC,MAAM,wBAAwB,+BAA+B,MAAM,wBAAwB,4BAA4B,MAAM,wBAAwB,4BAA4B,MAAM,wBAAwB,wBAAwB,MAAM,uBAAuB,SAAS,+DAA+D,yBAAyB,oFAAoF,gEAAgE,aAAa,q5BAAq5B,8DAA8D,+CAA+C,+DAA+D,6BAA6B,gEAAgE,kCAAkC,8DAA8D,wCAAwC,8DAA8D,+CAA+C,+DAA+D,6BAA6B,gEAAgE,kCAAkC,8DAA8D,wCAAwC,qEAAqE,+CAA+C,sEAAsE,6BAA6B,uEAAuE,kCAAkC,qEAAqE,wCAAwC,qEAAqE,+CAA+C,sEAAsE,6BAA6B,uEAAuE,kCAAkC,qEAAqE,wCAAwC,oEAAoE,+CAA+C,qEAAqE,6BAA6B,sEAAsE,kCAAkC,oEAAoE,wCAAwC,oEAAoE,+CAA+C,qEAAqE,6BAA6B,sEAAsE,kCAAkC,oEAAoE,wCAAwC,yEAAyE,+CAA+C,0EAA0E,6BAA6B,2EAA2E,kCAAkC,yEAAyE,wCAAwC,yEAAyE,+CAA+C,0EAA0E,6BAA6B,2EAA2E,kCAAkC,yEAAyE,wCAAwC,wEAAwE,+CAA+C,yEAAyE,6BAA6B,0EAA0E,kCAAkC,wEAAwE,wCAAwC,qEAAqE,gDAAgD,sEAAsE,8BAA8B,uEAAuE,mCAAmC,qEAAqE,yCAAyC,qEAAqE,gDAAgD,sEAAsE,8BAA8B,uEAAuE,mCAAmC,qEAAqE,yCAAyC,0EAA0E,gDAAgD,2EAA2E,8BAA8B,4EAA4E,mCAAmC,0EAA0E,yCAAyC,0EAA0E,gDAAgD,2EAA2E,8BAA8B,4EAA4E,mCAAmC,0EAA0E,yCAAyC,yEAAyE,gDAAgD,0EAA0E,8BAA8B,2EAA2E,mCAAmC,yEAAyE,yCAAyC,sEAAsE,gDAAgD,uEAAuE,8BAA8B,wEAAwE,mCAAmC,sEAAsE,yCAAyC,sEAAsE,gDAAgD,uEAAuE,8BAA8B,wEAAwE,mCAAmC,sEAAsE,yCAAyC,kEAAkE,gDAAgD,mEAAmE,8BAA8B,oEAAoE,mCAAmC,kEAAkE,yCAAyC,wBAAwB,kqLAAkqL,kCAAkC,G;CCPl61K;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,YAAY,aAAa;AAC3C;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,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;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;;AAEA;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,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA,IAAI;AACJ,2CAA2C,6CAA6C;AACxF;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,0CAA0C,6CAA6C;AACvF;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,6CAA6C;AACvF,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC;AAChC,6BAA6B;AAC7B,8BAA8B;AAC9B,2BAA2B;AAC3B,0BAA0B;AAC1B;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,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,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,uCAAuC,KAAK;AAC5C;AACA;AACA,GAAG;AACH;AACA,wCAAwC,KAAK;AAC7C;AACA;AACA,GAAG;AACH;AACA,4CAA4C,KAAK;AACjD;AACA;AACA,GAAG;AACH;AACA,6CAA6C,KAAK;AAClD;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,wCAAwC,MAAM;AAC9C;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,wCAAwC,MAAM;AAC9C;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,oCAAoC,OAAO;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,oCAAoC,OAAO;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,oCAAoC,OAAO;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,oCAAoC,OAAO;AAC3C;AACA,oBAAoB;AACpB;AACA;AACA;AACA,kCAAkC;AAClC;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,sCAAsC,KAAK;AAC3C;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,GAAG;AACH;AACA,uCAAuC,KAAK;AAC5C;AACA;AACA,GAAG;AACH;AACA,sCAAsC,KAAK;AAC3C;AACA;AACA,GAAG;AACH;AACA,sCAAsC,KAAK;AAC3C;AACA;AACA,GAAG;AACH;AACA;AACA,+CAA+C,KAAK;AACpD;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,0CAA0C,KAAK;AAC/C;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,+CAA+C,KAAK;AACpD;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA,2CAA2C,KAAK;AAChD;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,iCAAiC,KAAK;AACtC;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,8BAA8B,KAAK;AACnC;AACA;AACA,8BAA8B,KAAK;AACnC;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA,qCAAqC,KAAK;AAC1C;AACA;AACA,GAAG;AACH;AACA,uCAAuC,KAAK;AAC5C;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,uCAAuC,KAAK;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,kCAAkC,KAAK;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,EAAE;AACF;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,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,sCAAsC,uBAAuB;AAC7D;AACA;AACA;AACA;AACA;AACA;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;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;;AAEA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,oCAAoC,OAAO;AAC3C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;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,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,iFAAiF;AAClG;;AAEA;AACA,kDAAkD,eAAe;AACjE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD,OAAO;AAC3D;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA,OAAO;AACP;AACA;AACA,MAAM;AACN;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,GAAG;AACH;AACA;AACA;AACA,wBAAwB,MAAM;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;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;;AAEA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yCAAyC,OAAO;AAChD;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,MAAM;AAC9B;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,yEAAyE,qBAAqB,qBAAqB;AACnH;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,yCAAyC;AACzC;AACA;AACA;AACA;AACA,sGAAsG,8CAA8C,qBAAqB,qBAAqB;AAC9L;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,sEAAsE;AACtE;AACA,8BAA8B,WAAW;AACzC;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;;AAEA,oCAAoC,OAAO;AAC3C;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,IAAI;AACJ,QAAQ,oBAAoB;AAC5B;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA,iCAAiC;AACjC,kCAAkC;;AAElC;AACA;AACA;;AAEA;AACA;AACA;;AAEA,mDAAmD,OAAO;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA,KAAK;AACL;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;AACA;AACA;AACA;AACA;AACA;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,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;;;AAGA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA,mDAAmD,OAAO;AAC1D;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,iCAAiC,KAAK;AACtC;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iFAAiF,OAAO;AACxF;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP,WAAW,kCAAkC;AAC7C;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,CAAC,U;CC5xDD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,2BAA2B,MAAM,gCAAgC,0BAA0B,EAAE,EAAE,kBAAkB,iBAAiB,uBAAuB,MAAM,sBAAsB,mBAAmB,kCAAkC,qBAAqB,EAAE,EAAE,iBAAiB,gBAAgB,0BAA0B,MAAM,uBAAuB,kBAAkB,uCAAuC,8CAA8C;AAC/c,qDAAqD,wBAAwB,cAAc,0BAA0B,cAAc,2BAA2B,mBAAmB,QAAQ,KAAK,mBAAmB,IAAI,KAAK,WAAW,oBAAoB,wBAAwB,uDAAuD,kBAAkB,iGAAiG,wBAAwB,cAAc,iBAAiB;AAClf,GAAG,0BAA0B,6BAA6B,cAAc,2BAA2B,mBAAmB,QAAQ,KAAK,mBAAmB,IAAI,KAAK,WAAW,mDAAmD,wBAAwB,uDAAuD,kBAAkB,iGAAiG,4BAA4B,wCAAwC;AACne,0DAA0D,2BAA2B,wCAAwC,iFAAiF,mCAAmC,UAAU,mBAAmB,IAAI,KAAK,OAAO,uBAAuB,gCAAgC,iBAAiB,uBAAuB,MAAM,YAAY,SAAS,mCAAmC,cAAc,mBAAmB,IAAI;AAChe,eAAe,IAAI,MAAM,oFAAoF,0BAA0B,iBAAiB,IAAI,uBAAuB,MAAM,OAAO,eAAe,kCAAkC,QAAQ,iBAAiB,KAAK,KAAK,OAAO,sBAAsB,+BAA+B,gBAAgB,uBAAuB,MAAM,YAAY,SAAS,kCAAkC,YAAY,iBAAiB,KAAK;AACtd,cAAc,IAAI,MAAM,kFAAkF,yBAAyB,gBAAgB,IAAI,uBAAuB,MAAM,OAAO,gBAAgB,OAAO,iCAAiC,wCAAwC,sEAAsE,uBAAuB,qEAAqE,kCAAkC;AAC/d,gBAAgB,yEAAyE,kBAAkB,wBAAwB,qBAAqB,uEAAuE,EAAE,uEAAuE,8BAA8B,mEAAmE,wBAAwB,0BAA0B,EAAE,yBAAyB,EAAE,8BAA8B;AACtf,cAAc,oBAAoB,yBAAyB,yBAAyB,0BAA0B,oBAAoB,yBAAyB,yBAAyB,kBAAkB,mCAAmC,yCAAyC,EAAE,iBAAiB,mCAAmC,8CAA8C,8CAA8C,4CAA4C;AAChd,wCAAwC,yBAAyB,wBAAwB,wBAAwB,iCAAiC,oBAAoB,iCAAiC,yCAAyC,4BAA4B,6CAA6C,kBAAkB,2BAA2B,0BAA0B,6BAA6B,kCAAkC,iDAAiD;AAChf,YAAY,2BAA2B,0BAA0B,6BAA6B,8BAA8B,iDAAiD,yCAAyC,2BAA2B,4CAA4C,yCAAyC,qCAAqC,kDAAkD,yCAAyC;;CCrBtc;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,wCAAwC;;AAExC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAA0D,YAAY,mBAAmB,UAAU;AACnG,6DAA6D,0BAA0B,oBAAoB;;AAE3G;AACA,SAAS;;AAET;;AAEA;;AAEA;;;;AAIA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,gDAAgD;AAChD;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;;AAEA;;AAEA,yGAAyG,WAAW,YAAY,SAAS,UAAU;AACnJ,uGAAuG,YAAY,aAAa,UAAU,YAAY;AACtJ;AACA;AACA,iBAAiB;AACjB;AACA,iB;AACA,aAAa;;AAEb;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iB;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oC;AACA;AACA;AACA;AACA;AACA,mD;AACA,0C;AACA;AACA;AACA;AACA;AACA,oC;AACA;AACA;AACA;AACA;AACA,qC;AACA;AACA;AACA;AACA;AACA,mD;AACA,0C;AACA;AACA;AACA;AACA;AACA,iB;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA,iBAAiB;AACjB;AACA,S;;AAEA;;AAEA;;AAEA;AACA;AACA,SAAS;AACT,wBAAwB,6BAA6B;AACrD;;AAEA,yB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,wDAAwD,eAAe;AACvE;AACA,G;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,qB;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,G;AACA;AACA,CAAC;;AAED,4B;AACA;AACA,C;CCnNA,eAAe,iLAAiL,+CAA+C,mBAAmB,SAAS,cAAc,4BAA4B,YAAY,qBAAqB,2DAA2D,uCAAuC,qCAAqC,oBAAoB,EAAE,iBAAiB,4FAA4F,eAAe,wCAAwC,SAAS,EAAE,mBAAmB,8BAA8B,qDA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;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,8EAA8E;;AAE9E;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uDAAuD,kCAAkC;AACzF;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,wBAAwB;;AAExB;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA,mBAAmB,SAAS;AAC5B;AACA;AACA;AACA;AACA;AACA,yDAAyD;AACzD;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC,sCAAsC;AACtC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC,sCAAsC;AACtC;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA,6CAA6C;AAC7C;AACA,YAAY;AACZ,qBAAqB,KAAK;AAC1B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;;AAET;AACA;AACA,mBAAmB,SAAS;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gBAAgB;AAChB,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ,qBAAqB,OAAO;AAC5B;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,OAAO;AAC5B;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA,mBAAmB,OAAO;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;;AAET;AACA;AACA,mBAAmB,SAAS;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAAS;;AAET;AACA;AACA,kBAAkB;AAClB,mBAAmB,MAAM;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uCAAuC;AACvC,YAAY;AACZ;AACA;AACA;AACA;;AAEA;AACA,2BAA2B,YAAY;AACvC;AACA;AACA;AACA,iBAAiB;AACjB;AACA,SAAS;;AAET;AACA;AACA,sBAAsB,KAAK;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA,iCAAiC,iCAAiC;AAClE,sBAAsB,OAAO;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA,iCAAiC,iCAAiC;AAClE,sBAAsB,OAAO;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA,YAAY,iCAAiC;AAC7C,sBAAsB,YAAY;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA,sBAAsB,OAAO;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA,sBAAsB,OAAO;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uDAAuD;AACvD,wCAAwC;AACxC,YAAY;AACZ;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,OAAO;AAC5B;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA,sBAAsB,OAAO;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA,WAAW,OAAO,YAAY;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,iBAAiB;AACjB,aAAa;AACb,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT,KAAK;AACL;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA,IAAI,6BAA6B,iCAAiC,gBAAgB;AAClF,yDAAyD,gBAAgB;AACzE,aAAa;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA,SAAS;AACT,WAAW,YAAY;AACvB,WAAW,OAAO,WAAW;AAC7B;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,IAAI,sBAAsB,iCAAiC,gBAAgB;AAC3E;AACA,aAAa;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,WAAW,YAAY;AACvB,WAAW,OAAO,WAAW;AAC7B;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,8BAA8B,gBAAgB;AAC9C;AACA,aAAa;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,WAAW,YAAY;AACvB,cAAc;AACd;;AAEA;;AAEA;AACA,mDAAmD,iBAAiB;AACpE,eAAe,YAAY;AAC3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,kBAAkB,OAAO,cAAc;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0EAA0E,oBAAoB;AAC9F,qEAAqE;AACrE,aAAa;;AAEb;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,iBAAiB;AACjB;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB,qBAAqB;AACrB,iBAAiB;AACjB,aAAa;AACb;AACA;AACA;AACA,qBAAqB;AACrB,iBAAiB;AACjB,aAAa;AACb;AACA;AACA;AACA,qBAAqB;AACrB,iBAAiB;AACjB;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;;AAEA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,mDAAmD,kCAAkC;AACrF;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,uCAAuC,iBAAiB;AACxD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA,eAAe,OAAO,SAAS;AAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,WAAW,OAAO;AAClB,WAAW,SAAS;AACpB;AACA;AACA;AACA;AACA,6BAA6B;AAC7B,6BAA6B;AAC7B,6BAA6B;AAC7B,IAAI;AACJ;AACA;;AAEA;AACA;AACA,WAAW,OAAO,YAAY;AAC9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,mCAAmC;AACnC,oCAAoC;AACpC,wCAAwC;AACxC;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,wFAAwF;AACxF;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;;AAEA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa,OAAO;AACpB;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,WAAW,KAAK;AAChB,WAAW,OAAO;AAClB;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;;AAEA,oCAAoC,UAAU,kBAAkB;AAChE;;AAEA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;AACA;;AAEA;AACA,WAAW,KAAK;AAChB,WAAW,SAAS;AACpB;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,2CAA2C,gBAAgB;AAC3D,aAAa;AACb,YAAY;AACZ;AACA;AACA,cAAc,mBAAmB;AACjC,SAAS;AACT;;AAEA;;AAEA;AACA;AACA,CAAC;AACD;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,oCAAoC;AACpC;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,oDAAoD,qFAAqF,iBAAiB,gBAAgB;AAC1K,2BAA2B,qFAAqF;AAChH,aAAa;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,SAAS;AACT,WAAW,YAAY;AACvB,WAAW,OAAO,WAAW;AAC7B;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,aAAa;;AAEb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT,qCAAqC;AACrC,8BAA8B,gBAAgB;;AAE9C;AACA;;AAEA;AACA,kCAAkC;AAClC;AACA;;AAEA;AACA,kBAAkB,MAAM;AACxB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA,oCAAoC;;AAEpC;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAAgD;AAChD;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS,mCAAmC;AAC5C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,kBAAkB,KAAK;AACvB;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,8CAA8C;AAC9C;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,iCAAiC;AACjC,KAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,sDAAsD,gBAAgB;AACtE;AACA,aAAa;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA,IAAI;AACJ,SAAS;AACT,WAAW,YAAY;AACvB,WAAW,OAAO,WAAW;AAC7B;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,kBAAkB,OAAO;AACzB;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS,mCAAmC;AAC5C;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,+BAA+B,kBAAkB;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,+BAA+B,SAAS;AACxC;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA,mCAAmC,gBAAgB;AACnD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,+BAA+B,SAAS;AACxC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,2BAA2B,SAAS;AACpC;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;;;AAGA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,cAAc,kCAAkC,kCAAkC;AAClF;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA,0BAA0B,KAAK;AAC/B;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA,aAAa;;AAEb;AACA,0BAA0B,YAAY;AACtC;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;;AAEA;AACA,0BAA0B,SAAS;AACnC;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,OAAO;AACzB;AACA;AACA;AACA;AACA,QAAQ;AACR;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;AACL;AACA,KAAK;AACL;AACA;;AAEA;AACA;;AAEA;AACA,4CAA4C;AAC5C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kBAAkB,OAAO;AACzB;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB,SAAS;AAC7B;AACA;AACA,uDAAuD;AACvD;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,iDAAiD,gBAAgB,iGAAiG,aAAa;AAC/K;AACA,aAAa;AACb,YAAY;AACZ;AACA;AACA;AACA,mDAAmD,6CAA6C;AAChG;AACA;AACA;AACA,IAAI;AACJ,SAAS;AACT,WAAW,YAAY;AACvB,WAAW,OAAO,WAAW;AAC7B;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mEAAmE;AACnE,aAAa;AACb;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,0BAA0B,KAAK;AAC/B;AACA;AACA;AACA;AACA,gBAAgB;AAChB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;AACA;AACA;;AAEA;AACA,aAAa;AACb,SAAS;AACT;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;;AAEb;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,iDAAiD,gBAAgB,uDAAuD,aAAa;AACrI;AACA,aAAa;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,SAAS;AACT,WAAW,YAAY;AACvB,WAAW,OAAO,WAAW;AAC7B;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;;AAEA;;AAEA,iDAAiD;AACjD;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,eAAe,QAAQ;AACvB;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;;;AAGA;AACA;AACA,eAAe,MAAM;AACrB,eAAe,OAAO;AACtB,eAAe,OAAO,2DAA2D;AACjF,eAAe,OAAO,6DAA6D;AACnF,iBAAiB,MAAM;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,yEAAyE;AACzE,qBAAqB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,yCAAyC,mBAAmB;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;;AAEA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,8BAA8B,KAAK;AACnC;AACA;AACA;AACA;AACA,oBAAoB;AACpB;AACA;AACA;;AAEA;AACA;AACA;AACA,yBAAyB;AACzB;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb,SAAS;AACT;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,yCAAyC,gBAAgB,uDAAuD;AAChH;AACA,aAAa;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA,wDAAwD,aAAa;AACrE;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB,eAAe,OAAO;AACtB;AACA;AACA,gCAAgC;AAChC;AACA;;AAEA;AACA;AACA;;AAEA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA,+CAA+C,kCAAkC;AACjF;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB;AACA;AACA,qBAAqB;AACrB,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA,yBAAyB;AACzB;AACA;AACA;AACA;AACA,6BAA6B;AAC7B;AACA;AACA,6BAA6B;AAC7B,yBAAyB;AACzB,qBAAqB;AACrB,iBAAiB;AACjB,aAAa;;AAEb;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA,kBAAkB;AAClB;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA;AACA;;AAEA,2BAA2B,mBAAmB;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;;AAEA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA,2BAA2B,iBAAiB;AAC5C;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,aAAa;;AAEb;AACA;;AAEA;AACA;;AAEA,yDAAyD;AACzD,mCAAmC,OAAO;AAC1C;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAmB,QAAQ;AAC3B,mBAAmB,QAAQ;AAC3B;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;;AAEA;AACA;;AAEA;AACA,+CAA+C,gBAAgB;AAC/D;AACA,aAAa;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA,iCAAiC;AACjC,iCAAiC;AACjC,iCAAiC;AACjC,IAAI;AACJ;AACA,6CAA6C;AAC7C,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB,cAAc,SAAS;AACvB,cAAc,OAAO;AACrB,SAAS;AACT;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC;AACrC,qCAAqC;AACrC,qCAAqC;AACrC,QAAQ;AACR;AACA;AACA;AACA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;;AAEL;AACA,kBAAkB,OAAO;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,4CAA4C,gBAAgB;AAC5D,aAAa;AACb,YAAY;AACZ;AACA;AACA;AACA,qEAAqE,iHAAiH;AACtL;AACA;AACA;AACA,IAAI;AACJ,SAAS;AACT,WAAW,YAAY;AACvB,WAAW,OAAO,WAAW;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,wBAAwB;AACxB;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,iBAAiB;AACjB;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,sBAAsB,KAAK;AAC3B;AACA;AACA;AACA;AACA,YAAY;AACZ;AACA;AACA;AACA,SAAS;;AAET;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,qBAAqB;AACrB,uCAAuC;AACvC,wCAAwC;AACxC,4CAA4C;AAC5C;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,KAAK;;AAEL;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,4FAA4F;AAC5F;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA;;AAEA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAa;AACb;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA,aAAa;AACb;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAS;;AAET;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA,SAAS;AACT;AACA,SAAS;AACT;AACA;;AAEA;;AAEA;AACA;AACA,SAAS;AACT;AACA,SAAS;;AAET;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA,yCAAyC;AACzC;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA,SAAS;;AAET;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA;AACA,iBAAiB;AACjB;AACA;AACA;;AAEA;AACA;AACA,iBAAiB;AACjB;;AAEA;AACA,SAAS;AACT;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB;AACjB;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,SAAS;AACT,WAAW,aAAa;AACxB,WAAW,OAAO,WAAW;AAC7B;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb,SAAS;AACT;AACA;;AAEA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,eAAe,aAAa;AAC5B;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,sDAAsD,gBAAgB,SAAS;AAC/E,0BAA0B;AAC1B,aAAa;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT,WAAW,YAAY;AACvB,WAAW,OAAO,WAAW;AAC7B;AACA,cAAc;AACd;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,kBAAkB,KAAK,iCAAiC,gBAAgB;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY;AACZ,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,oDAAoD;AACpD,QAAQ;AACR;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,iCAAiC;AACjC;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0CAA0C,oBAAoB,EAAE;AAChE,iBAAiB,OAAO;AACxB;AACA;AACA;AACA;AACA;AACA,aAAa;AACb;AACA;AACA,SAAS;AACT;;AAEA;AACA,kBAAkB,KAAK;AACvB;AACA;AACA;AACA,qCAAqC;AACrC;AACA;AACA;;AAEA;AACA;AACA,kBAAkB,OAAO;AACzB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb,YAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ,SAAS;AACT,WAAW,YAAY;AACvB,WAAW,OAAO,WAAW;AAC7B;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;AACA;AACA;AACA,SAAS;AACT;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;;AAEA;AACA;AACA;AACA,aAAa;AACb;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAiB;;AAEjB;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB;AACjB,aAAa;AACb;AACA;AACA;AACA;AACA,SAAS;AACT;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA,SAAS;;AAET;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA,kBAAkB,KAAK;AACvB;AACA;AACA;AACA;AACA,QAAQ;AACR;AACA;AACA;;AAEA;AACA;AACA;;CCjhMA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,uBAAuB,sBAAsB,yFAAyF,qBAAqB,+BAA+B,0DAA0D,oDAAoD,gHAAgH,oBAAoB,EAAE,EAAE,sBAAsB,+JAA+J,8CAA8C,wBAAwB,MAAM,qCAAqC,iEAAiE,2FAA2F,kIAAkI,WAAW,EAAE,gBAAgB,2EAA2E,gBAAgB,iNAAiN,0QAA0Q,cAAc,kMAAkM,cAAc,wMAAwM,aAAa,sBAAsB,iEAAiE,aAAa,yCAAyC,gBAAgB,sFAAsF,EAAE,sFAAsF,SAAS,0BAA0B,KAAK,+GAA+G,iPAAiP,+BAA+B,6GAA6G,6BAA6B,0GAA0G,KAAK,iKAAiK,EAAE,kBAAkB,+EAA+E,IAAI,0BAA0B,kBAAkB,0GAA0G,wBAAwB,0DAA0D,wBAAwB,EAAE,cAAc,mBAAmB,sBAAsB,IAAI,mCAAmC,SAAS,2GAA2G,IAAI,8BAA8B,SAAS,yGAAyG,8BAA8B,qBAAqB,8BAA8B,kDAAkD,UAAU,cAAc,kEAAkE,kCAAkC,EAAE,gBAAgB,oEAAoE,IAAI,2DAA2D,kIAAkI,SAAS,4CAA4C,sBAAsB,EAAE,cAAc,kEAAkE,2CAA2C,IAAI,cAAc,sCAAsC,cAAc,2BAA2B,gCAAgC,cAAc,uCAAuC,6FAA6F,cAAc,yEAAyE,gEAAgE,iBAAiB,8CAA8C,uDAAuD,GAAG,gBAAgB,oFAAoF,mnBAAmnB,aAAa,aAAa,kBAAkB,2BAA2B,kBAAkB,wCAAwC,wIAAwI,KAAK,MAAM,gDAAgD,6DAA6D,sLAAsL,EAAE,mBAAmB,iBAAiB,EAAE,cAAc,gIAAgI,gBAAgB,gCAAgC,WAAW,yDAAyD,wHAAwH,EAAE,gBAAgB,yFAAyF,cAAc,oDAAoD,8CAA8C,qDAAqD,UAAU,+BAA+B,MAAM,8BAA8B,MAAM,gCAAgC,MAAM,iCAAiC,MAAM,iCAAiC,qDAAqD,iFAAiF,+BAA+B,OAAO,iDAAiD,mNAAmN,2DAA2D,qGAAqG,OAAO,OAAO,aAAa,gNAAgN,gBAAgB,iMAAiM,eAAe,wHAAwH,cAAc,oCAAoC,uBAAuB,cAAc,6DAA6D,4BAA4B,EAAE,cAAc,qCAAqC,cAAc,4CAA4C,wJAAwJ,0DAA0D,oBAAoB,uDAAuD,sCAAsC,UAAU,8BAA8B,MAAM,mBAAmB,+BAA+B,IAAI,MAAM,mBAAmB,UAAU,kCAAkC,IAAI,MAAM,mBAAmB,yBAAyB,qEAAqE,sBAAsB,QAAQ,cAAc,0BAA0B,cAAc,qBAAqB,cAAc,4BAA4B,4EAA4E,OAAO,kIAAkI,SAAS,cAAc,wCAAwC,cAAc,OAAO,0KAA0K,sBAAsB,wJAAwJ,oBAAoB,4GAA4G,kHAAkH,6DAA6D,sLAAsL,sCAAsC,0RAA0R,kSAAkS,mNAAmN,QAAQ,QAAQ,cAAc,sCAAsC,cAAc,0CAA0C,uCAAuC,EAAE,cAAc,oBAAoB,2BAA2B,cAAc,qDAAqD,UAAU,8BAA8B,kEAAkE,0EAA0E,MAAM,0DAA0D,kEAAkE,kFAAkF,MAAM,sDAAsD,kEAAkE,sFAAsF,MAAM,8BAA8B,kEAAkE,+EAA+E,SAAS,EAAE,oBAAoB,mDAAmD,OAAO,WAAW,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,cAAc,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,iBAAiB,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,gBAAgB,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,GAAG,kBAAkB,kJAAkJ,OAAO,2qBAA2qB,oBAAoB,sBAAsB,OAAO,sCAAsC,OAAO,gEAAgE,sEAAsE,8BAA8B,qBAAqB,gDAAgD,6BAA6B,kDAAkD,0BAA0B,SAAS,sbAAsb,0BAA0B,8KAA8K,eAAe,4BAA4B,eAAe,4BAA4B,eAAe,8BAA8B,eAAe,8EAA8E,eAAe,uBAAuB,eAAe,mCAAmC,eAAe,gEAAgE,eAAe,wEAAwE,4CAA4C,0CAA0C,EAAE,eAAe,mEAAmE,eAAe,wBAAwB,wFAAwF,eAAe,mCAAmC,eAAe,8BAA8B,eAAe,qEAAqE,eAAe,WAAW,kBAAkB,6BAA6B,eAAe,2CAA2C,eAAe,6BAA6B,eAAe,wCAAwC,eAAe,qBAAqB,4FAA4F,eAAe,wBAAwB,iBAAiB,kBAAkB,6BAA6B,eAAe,sBAAsB,eAAe,eAAe,eAAe,2HAA2H,eAAe,4BAA4B,eAAe,oBAAoB,yEAAyE,eAAe,wBAAwB,SAAS,0LAA0L,SAAS,eAAe,sCAAsC,eAAe,iCAAiC,mBAAmB,mDAAmD,yBAAyB,2CAA2C,qBAAqB,EAAE,mBAAmB,yBAAyB,wDAAwD,uBAAuB,mBAAmB,EAAE,mBAAmB,iCAAiC,6CAA6C,qDAAqD,mCAAmC,SAAS,+BAA+B,SAAS,uBAAuB,EAAE,eAAe,kFAAkF,mBAAmB,sFAAsF,iBAAiB,0BAA0B,2BAA2B,kDAAkD,WAAW,uCAAuC,kGAAkG,cAAc,WAAW,EAAE,mBAAmB,mEAAmE,uBAAuB,wEAAwE,qBAAqB,+HAA+H,eAAe,2FAA2F,eAAe,2BAA2B,WAAW,8CAA8C,kEAAkE,mBAAmB,+BAA+B,iEAAiE,EAAE,EAAE,eAAe,uGAAuG,QAAQ,IAAI,6NAA6N,SAAS,iBAAiB,2BAA2B,WAAW,yCAAyC,kKAAkK,mCAAmC,+BAA+B,gEAAgE,EAAE,EAAE,iBAAiB,iBAAiB,mBAAmB,uCAAuC,eAAe,2FAA2F,eAAe,iCAAiC,yBAAyB,oCAAoC,4DAA4D,sBAAsB,8BAA8B,UAAU,EAAE,iBAAiB,2TAA2T,mDAAmD,eAAe,kBAAkB,cAAc,gBAAgB,gCAAgC,cAAc,2BAA2B,aAAa,YAAY,IAAI,gDAAgD,IAAI,cAAc,oBAAoB,IAAI,cAAc,SAAS,UAAU,kBAAkB,cAAc,6BAA6B,8BAA8B,aAAa,iBAAiB,EAAE,qBAAqB,IAAI,gBAAgB,yDAAyD,OAAO,aAAa,OAAO,EAAE,gBAAgB,wEAAwE,mGAAmG,KAAK,MAAM,IAAI,SAAS,SAAS,cAAc,0DAA0D,YAAY,cAAc,mBAAmB,gBAAgB,mDAAmD,gBAAgB,mCAAmC,oBAAoB,qBAAqB,qDAAqD,cAAc,gBAAgB,iBAAiB,sBAAsB,WAAW,uCAAuC,cAAc,aAAa,gBAAgB,oBAAoB,mBAAmB,MAAM,IAAI,OAAO,SAAS,cAAc,mIAAmI,cAAc,gEAAgE,gBAAgB,IAAI,cAAc,OAAO,aAAa,OAAO,EAAE,SAAS,QAAQ,oBAAoB,qNAAqN,cAAc,6CAA6C,mHAAmH,qKAAqK,WAAW,gDAAgD,2DAA2D,yBAAyB,yKAAyK,sDAAsD,mCAAmC,oBAAoB,cAAc,0CAA0C,oBAAoB,iBAAiB,aAAa,gBAAgB,gBAAgB,yBAAyB,sCAAsC,wBAAwB,cAAc,iBAAiB,oBAAoB,0BAA0B,YAAY,0BAA0B,wDAAwD,0BAA0B,0BAA0B,0BAA0B,4CAA4C,kBAAkB,mBAAmB,6BAA6B,aAAa,gJAAgJ,+BAA+B,aAAa,0FAA0F,2BAA2B,SAAS,6BAA6B,WAAW,uBAAuB,WAAW,aAAa,WAAW,GAAG,QAAQ,oBAAoB,4BAA4B,sBAAsB,oBAAoB,wEAAwE,uBAAuB,kBAAkB,4CAA4C,OAAO,aAAa,OAAO,EAAE,SAAS,yBAAyB,wDAAwD,oBAAoB,gBAAgB,wBAAwB,oBAAoB,gBAAgB,cAAc,iCAAiC,aAAa,oCAAoC,uCAAuC,MAAM,qBAAqB,aAAa,WAAW,EAAE,mBAAmB,SAAS,mBAAmB,2BAA2B,OAAO,8BAA8B,MAAM,0JAA0J,MAAM,iCAAiC,IAAI,OAAO,oBAAoB,yCAAyC,SAAS,iGAAiG,2IAA2I,aAAa,cAAc,uBAAuB,gBAAgB,wBAAwB,IAAI,cAAc,SAAS,gBAAgB,wBAAwB,mEAAmE,cAAc,gCAAgC,IAAI,kJAAkJ,SAAS,cAAc,uBAAuB,SAAS,0EAA0E,WAAW,cAAc,gDAAgD,gBAAgB,kCAAkC,kBAAkB,QAAQ,8BAA8B,SAAS,cAAc,0BAA0B,cAAc,oDAAoD,sCAAsC,IAAI,iEAAiE,gBAAgB,IAAI,EAAE,gBAAgB,wHAAwH,wCAAwC,sFAAsF,YAAY,cAAc,uCAAuC,sCAAsC,IAAI,+BAA+B,8BAA8B,IAAI,EAAE,YAAY,IAAI,4BAA4B,2DAA2D,IAAI,8CAA8C,YAAY,6BAA6B,gDAAgD,wCAAwC,QAAQ,kBAAkB,gIAAgI,8CAA8C,2HAA2H,wJAAwJ,0CAA0C,MAAM,sBAAsB,kBAAkB,uCAAuC,uBAAuB,+BAA+B,EAAE,uBAAuB,uBAAuB,+CAA+C,GAAG,6EAA6E,SAAS,EAAE,8CAA8C,iDAAiD,kBAAkB,OAAO,4EAA4E,4BAA4B,WAAW,WAAW,ubAAub,2FAA2F,iFAAiF,gDAAgD,2DAA2D,EAAE,oDAAoD,qJAAqJ,oKAAoK,uBAAuB,oBAAoB,4DAA4D,uBAAuB,qxCAAqxC,qBAAqB,SAAS,EAAE,4DAA4D,gCAAgC,UAAU,sFAAsF,sCAAsC,kBAAkB,gCAAgC,0CAA0C,mCAAmC,qJAAqJ,oBAAoB,EAAE,KAAK,6BAA6B,WAAW,uJAAuJ,oBAAoB,EAAE,KAAK,6BAA6B,WAAW,mKAAmK,kBAAkB,IAAI,UAAU,IAAI,UAAU,IAAI,MAAM,4BAA4B,WAAW,uGAAuG,mBAAmB,IAAI,UAAU,IAAI,UAAU,IAAI,sBAAsB,6BAA6B,WAAW,0HAA0H,iCAAiC,iIAAiI,oCAAoC,0BAA0B,yCAAyC,gFAAgF,UAAU,wBAAwB,QAAQ,m0GAAm0G,qCAAqC,kFAAkF,uCAAuC,eAAe,qDAAqD,oBAAoB,kBAAkB,oCAAoC,SAAS,8BAA8B,wBAAwB,4BAA4B,+BAA+B,GAAG,yCAAyC,qCAAqC,GAAG,SAAS,qDAAqD,+CAA+C,iHAAiH,oCAAoC,mBAAmB,2BAA2B,0HAA0H,QAAQ,4CAA4C,wBAAwB,mCAAmC,qBAAqB,gBAAgB,wFAAwF,sCAAsC,GAAG,MAAM,GAAG,8OAA8O,4NAA4N,+BAA+B,8EAA8E,uCAAuC,0BAA0B,iBAAiB,EAAE,sCAAsC,uCAAuC,mCAAmC,kDAAkD,2DAA2D,oCAAoC,kEAAkE,6CAA6C,UAAU,EAAE,EAAE,6BAA6B,WAAW,oCAAoC,oBAAoB,SAAS,+BAA+B,oHAAoH,0BAA0B,wCAAwC,aAAa,sCAAsC,EAAE,oGAAoG,mCAAmC,0DAA0D,wBAAwB,oCAAoC,IAAI,qBAAqB,yBAAyB,EAAE,0BAA0B,gBAAgB,IAAI,wEAAwE,IAAI,MAAM,IAAI,MAAM,IAAI,0BAA0B,IAAI,2CAA2C,mPAAmP,mCAAmC,8EAA8E,qCAAqC,mCAAmC,yCAAyC,8PAA8P,6BAA6B,kNAAkN,qCAAqC,8CAA8C,iCAAiC,kEAAkE,oBAAoB,uCAAuC,yEAAyE,gCAAgC,+BAA+B,oBAAoB,+BAA+B,2DAA2D,kCAAkC,8BAA8B,oBAAoB,mCAAmC,6BAA6B,uBAAuB,kBAAkB,MAAM,oBAAoB,SAAS,kCAAkC,wCAAwC,UAAU,8FAA8F,MAAM,8CAA8C,qFAAqF,mCAAmC,mCAAmC,qFAAqF,iDAAiD,2CAA2C,0CAA0C,KAAK,+BAA+B,0CAA0C,6BAA6B,iCAAiC,EAAE,gCAAgC,oBAAoB,+KAA+K,kBAAkB,uDAAuD,+CAA+C,mOAAmO,cAAc,+CAA+C,6CAA6C,yCAAyC,kCAAkC,kEAAkE,cAAc,KAAK,0CAA0C,QAAQ,sJAAsJ,EAAE,SAAS,uCAAuC,+CAA+C,wFAAwF,6CAA6C,6CAA6C,yBAAyB,mCAAmC,0BAA0B,6CAA6C,0BAA0B,8EAA8E,sCAAsC,4BAA4B,oCAAoC,iEAAiE,qCAAqC,qGAAqG,iCAAiC,0BAA0B,wJAAwJ,mHAAmH,GAAG,gMAAgM,+BAA+B,UAAU,sDAAsD,uEAAuE,iSAAiS,2CAA2C,uBAAuB,OAAO,2CAA2C,qJAAqJ,wBAAwB,UAAU,gDAAgD,gFAAgF,wBAAwB,0BAA0B,EAAE,yDAAyD,wBAAwB,0BAA0B,EAAE,GAAG,2CAA2C,wBAAwB,oCAAoC,iCAAiC,+BAA+B,4BAA4B,qCAAqC,kCAAkC,gCAAgC,8BAA8B,GAAG,wCAAwC,+BAA+B,oCAAoC,2CAA2C,YAAY,wCAAwC,6EAA6E,0BAA0B,aAAa,4CAA4C,yBAAyB,sGAAsG,mIAAmI,KAAK,KAAK,mBAAmB,gBAAgB,iJAAiJ,0BAA0B,wCAAwC,qCAAqC,+DAA+D,sEAAsE,sIAAsI,QAAQ,8CAA8C,+CAA+C,kFAAkF,+CAA+C,+BAA+B,gOAAgO,OAAO,mDAAmD,kFAAkF,uCAAuC,uBAAuB,8CAA8C,4FAA4F,yCAAyC,uBAAuB,6EAA6E,uDAAuD,mCAAmC,8CAA8C,yCAAyC,yFAAyF,mBAAmB,6FAA6F,UAAU,4CAA4C,2FAA2F,mDAAmD,kBAAkB,6BAA6B,4CAA4C,6DAA6D,iEAAiE,+BAA+B,6QAA6Q,kFAAkF,6EAA6E,OAAO,+BAA+B,IAAI,8JAA8J,SAAS,qCAAqC,mCAAmC,0SAA0S,sCAAsC,sBAAsB,+CAA+C,8DAA8D,4CAA4C,+CAA+C,sDAAsD,wBAAwB,qDAAqD,6FAA6F,MAAM,mBAAmB,iEAAiE,2CAA2C,MAAM,yHAAyH,MAAM,sDAAsD,aAAa,EAAE,MAAM,gEAAgE,OAAO,uCAAuC,sDAAsD,2CAA2C,iDAAiD,OAAO,gCAAgC,aAAa,+CAA+C,sQAAsQ,OAAO,oCAAoC,qDAAqD,+CAA+C,yMAAyM,OAAO,wCAAwC,mBAAmB,eAAe,mEAAmE,iRAAiR,IAAI,oBAAoB,SAAS,0EAA0E,EAAE,sBAAsB,6KAA6K,mCAAmC,uBAAuB,gIAAgI,+CAA+C,sHAAsH,kQAAkQ,0DAA0D,qHAAqH,OAAO,OAAO,kDAAkD,8CAA8C,oHAAoH,MAAM,4FAA4F,MAAM,sHAAsH,QAAQ,iEAAiE,qCAAqC,kFAAkF,8DAA8D,uDAAuD,0BAA0B,OAAO,sEAAsE,aAAa,OAAO,6DAA6D,qDAAqD,SAAS,gCAAgC,sZAAsZ,MAAM,kSAAkS,UAAU,gFAAgF,iCAAiC,4EAA4E,kEAAkE,6KAA6K,kCAAkC,kIAAkI,sCAAsC,yEAAyE,sNAAsN,uMAAuM,+IAA+I,+CAA+C,2FAA2F,kDAAkD,iCAAiC,mEAAmE,wCAAwC,kCAAkC,uCAAuC,uEAAuE,oDAAoD,4DAA4D,iBAAiB,2CAA2C,uGAAuG,MAAM,oEAAoE,qFAAqF,MAAM,iBAAiB,sDAAsD,OAAO,4DAA4D,oFAAoF,mCAAmC,wHAAwH,MAAM,wHAAwH,MAAM,2GAA2G,MAAM,2CAA2C,sBAAsB,aAAa,sEAAsE,yCAAyC,qDAAqD,0CAA0C,aAAa,8PAA8P,kCAAkC,wCAAwC,iCAAiC,iEAAiE,0EAA0E,IAAI,iCAAiC,SAAS,SAAS,SAAS,mCAAmC,6HAA6H,2CAA2C,6BAA6B,oFAAoF,4CAA4C,yCAAyC,eAAe,mCAAmC,uCAAuC,uCAAuC,WAAW,qBAAqB,+CAA+C,mJAAmJ,mCAAmC,gDAAgD,kHAAkH,gEAAgE,oCAAoC,qBAAqB,UAAU,uCAAuC,iEAAiE,uCAAuC,kBAAkB,6GAA6G,gFAAgF,4CAA4C,uCAAuC,uCAAuC,4HAA4H,iDAAiD,yEAAyE,sCAAsC,0CAA0C,iCAAiC,qBAAqB,qCAAqC,IAAI,iDAAiD,SAAS,uEAAuE,iBAAiB,oDAAoD,2KAA2K,mCAAmC,iDAAiD,qBAAqB,oCAAoC,gCAAgC,oDAAoD,qHAAqH,qCAAqC,yCAAyC,8DAA8D,2CAA2C,uIAAuI,qCAAqC,gDAAgD,qCAAqC,uBAAuB,uCAAuC,sIAAsI,wCAAwC,qEAAqE,mCAAmC,yBAAyB,gEAAgE,oKAAoK,yBAAyB,+CAA+C,OAAO,2DAA2D,8DAA8D,4IAA4I,qDAAqD,mBAAmB,qHAAqH,iCAAiC,0CAA0C,mDAAmD,wCAAwC,cAAc,mDAAmD,gCAAgC,sHAAsH,eAAe,gFAAgF,sIAAsI,KAAK,cAAc,+CAA+C,4CAA4C,SAAS,oIAAoI,oBAAoB,kBAAkB,onBAAonB,qBAAqB,cAAc,uBAAuB,kNAAkN,6BAA6B,6FAA6F,0EAA0E,6DAA6D,GAAG,iHAAiH,aAAa,QAAQ,IAAI,mCAAmC,qBAAqB,2BAA2B,eAAe,wBAAwB,mDAAmD,kBAAkB,MAAM,oBAAoB,qCAAqC,WAAW,SAAS,aAAa,yCAAyC,4EAA4E,kDAAkD,iDAAiD,WAAW,cAAc,QAAQ,MAAM,qBAAqB,iCAAiC,4BAA4B,8CAA8C,yBAAyB,yBAAyB,aAAa,kBAAkB,6FAA6F,qCAAqC,EAAE,gBAAgB,eAAe,gGAAgG,cAAc,SAAS,mBAAmB,iEAAiE,gBAAgB,qBAAqB,2EAA2E,IAAI,2EAA2E,YAAY,cAAc,+CAA+C,aAAa,cAAc,wBAAwB,IAAI,+CAA+C,SAAS,wBAAwB,iBAAiB,sDAAsD,8EAA8E,+DAA+D,uBAAuB,IAAI,sFAAsF,SAAS,gBAAgB,oCAAoC,EAAE,KAAK,uCAAuC,0BAA0B,+BAA+B,sBAAsB,SAAS,KAAK,mFAAmF,KAAK,aAAa,6EAA6E,qBAAqB,gEAAgE,iBAAiB,uCAAuC,UAAU,iBAAiB,YAAY,oBAAoB,mBAAmB,OAAO,KAAK,UAAU,YAAY,QAAQ,kNAAkN,kEAAkE,4EAA4E,IAAI,0CAA0C,SAAS,gCAAgC,yCAAyC,sCAAsC,GAAG,UAAU,mBAAmB,iGAAiG,sBAAsB,8BAA8B,sBAAsB,0BAA0B,6BAA6B,sBAAsB,sBAAsB,0BAA0B,0DAA0D,YAAY,oBAAoB,SAAS,mBAAmB,2BAA2B,KAAK,UAAU,YAAY,MAAM,qDAAqD,SAAS,aAAa,0BAA0B,6BAA6B,WAAW,uDAAuD,mFAAmF,cAAc,iBAAiB,0BAA0B,kDAAkD,2CAA2C,6BAA6B,mEAAmE,8BAA8B,wBAAwB,WAAW,iDAAiD,KAAK,uCAAuC,EAAE,SAAS,0FAA0F,WAAW,gCAAgC,SAAS,0BAA0B,yBAAyB,mBAAmB,iEAAiE,YAAY,0BAA0B,4DAA4D,mBAAmB,sBAAsB,SAAS,sEAAsE,4CAA4C,IAAI,8BAA8B,UAAU,gDAAgD,yCAAyC,+CAA+C,cAAc,8BAA8B,QAAQ,KAAK,qBAAqB,WAAW,qBAAqB,GAAG,kBAAkB,gBAAgB,gEAAgE,cAAc,sBAAsB,uBAAuB,cAAc,QAAQ,cAAc,sBAAsB,iCAAiC,KAAK,wBAAwB,6GAA6G,UAAU,KAAK,IAAI,iCAAiC,KAAK,+EAA+E,iBAAiB,gEAAgE,aAAa,+BAA+B,YAAY,gDAAgD,2CAA2C,uCAAuC,IAAI,2BAA2B,wBAAwB,mBAAmB,sBAAsB,8CAA8C,IAAI,+BAA+B,SAAS,gCAAgC,sCAAsC,4BAA4B,0BAA0B,oEAAoE,2BAA2B,kMAAkM,uBAAuB,IAAI,KAAK,WAAW,yDAAyD,OAAO,gCAAgC,4GAA4G,+CAA+C,YAAY,qBAAqB,gBAAgB,GAAG,GAAG,yCAAyC,gBAAgB,2CAA2C,cAAc,YAAY,KAAK,sBAAsB,aAAa,cAAc,+EAA+E,MAAM,cAAc,oCAAoC,MAAM,cAAc,kCAAkC,MAAM,cAAc,oBAAoB,MAAM,gBAAgB,0BAA0B,SAAS,gBAAgB,uBAAuB,IAAI,KAAK,WAAW,qBAAqB,8MAA8M,kBAAkB,oDAAoD,cAAc,yBAAyB,cAAc,eAAe,qBAAqB,kBAAkB,+BAA+B,cAAc,oBAAoB,yBAAyB,wBAAwB,qBAAqB,QAAQ,SAAS,gBAAgB,2BAA2B,kBAAkB,wBAAwB,kBAAkB,KAAK,aAAa,cAAc,qBAAqB,qBAAqB,aAAa,yBAAyB,gBAAgB,GAAG,IAAI,iBAAiB,SAAS,8DAA8D,4FAA4F,cAAc,uDAAuD,YAAY,wFAAwF,uBAAuB,IAAI,oBAAoB,qCAAqC,MAAM,yBAAyB,4lBAA4lB,KAAK,IAAI,wCAAwC,+JAA+J,uFAAuF,8CAA8C,oCAAoC,wEAAwE,4BAA4B,uBAAuB,IAAI,KAAK,mFAAmF,YAAY,gGAAgG,IAAI,oBAAoB,qCAAqC,6BAA6B,kCAAkC,0BAA0B,wBAAwB,IAAI,aAAa,wBAAwB,uBAAuB,QAAQ,wBAAwB,iKAAiK,4CAA4C,0FAA0F,2BAA2B,gDAAgD,6IAA6I,+GAA+G,gMAAgM,iEAAiE,0EAA0E,qDAAqD,IAAI,4BAA4B,kNAAkN,0DAA0D,uBAAuB,SAAS,gBAAgB,OAAO,EAAE,6QAA6Q,uBAAuB,IAAI,oBAAoB,qCAAqC,MAAM,yBAAyB,uPAAuP,KAAK,IAAI,2DAA2D,QAAQ,mPAAmP,2CAA2C,4BAA4B,IAAI,KAAK,OAAO,0DAA0D,kDAAkD,0CAA0C,gBAAgB,4CAA4C,gBAAgB,uCAAuC,yCAAyC,uDAAuD,wBAAwB,8CAA8C,+BAA+B,8CAA8C,2CAA2C,8GAA8G,kDAAkD,kIAAkI,cAAc,cAAc,2BAA2B,2BAA2B,cAAc,eAAe,kBAAkB,kBAAkB,kBAAkB,gBAAgB,WAAW,qBAAqB,kBAAkB,sBAAsB,sBAAsB,kBAAkB,cAAc,cAAc,aAAa,gBAAgB,aAAa,aAAa,aAAa,sBAAsB,gBAAgB,mCAAmC,eAAe,aAAa,2IAA2I,oGAAoG,QAAQ,wBAAwB,KAAK,sLAAsL,4CAA4C,0FAA0F,8DAA8D,qFAAqF,qHAAqH,2BAA2B,uHAAuH,IAAI,8DAA8D,wBAAwB,0FAA0F,QAAQ,IAAI,yCAAyC,wOAAwO,cAAc,2BAA2B,8FAA8F,uMAAuM,sBAAsB,0DAA0D,wCAAwC,OAAO,kIAAkI,wEAAwE,aAAa,aAAa,cAAc,oBAAoB,kBAAkB,mFAAmF,cAAc,iFAAiF,gBAAgB,kBAAkB,2BAA2B,iIAAiI,6BAA6B,iDAAiD,0CAA0C,gCAAgC,2EAA2E,mBAAmB,IAAI,2BAA2B,kGAAkG,kDAAkD,IAAI,qFAAqF,2GAA2G,yBAAyB,QAAQ,mCAAmC,IAAI,gBAAgB,WAAW,4EAA4E,sMAAsM,qFAAqF,sBAAsB,EAAE,qCAAqC,+KAA+K,6EAA6E,gCAAgC,MAAM,+CAA+C,IAAI,iBAAiB,mCAAmC,oHAAoH,eAAe,KAAK,EAAE,kLAAkL,mBAAmB,eAAe,8HAA8H,2BAA2B,MAAM,qFAAqF,4DAA4D,YAAY,yDAAyD,EAAE,0LAA0L,KAAK,OAAO,oCAAoC,EAAE,cAAc,gBAAgB,wHAAwH,gBAAgB,mDAAmD,sDAAsD,8FAA8F,YAAY,gBAAgB,0BAA0B,iDAAiD,+FAA+F,sBAAsB,aAAa,gBAAgB,0BAA0B,+BAA+B,MAAM,uBAAuB,IAAI,wBAAwB,EAAE,cAAc,mBAAmB,uDAAuD,sBAAsB,eAAe,kDAAkD,+BAA+B,IAAI,sCAAsC,qDAAqD,0BAA0B,wBAAwB,qGAAqG,mBAAmB,qDAAqD,IAAI,0FAA0F,qDAAqD,6BAA6B,uCAAuC,IAAI,oBAAoB,YAAY,wBAAwB,iEAAiE,kBAAkB,EAAE,kBAAkB,4BAA4B,oBAAoB,oCAAoC,iBAAiB,gCAAgC,sBAAsB,uCAAuC,uBAAuB,8CAA8C,wCAAwC,KAAK,aAAa,2CAA2C,aAAa,8BAA8B,mBAAmB,8BAA8B,4BAA4B,2CAA2C,8BAA8B,WAAW,8BAA8B,WAAW,6BAA6B,gCAAgC,oBAAoB,gCAAgC,0CAA0C,gCAAgC,+HAA+H,6BAA6B,0CAA0C,sCAAsC,kCAAkC,cAAc,IAAI,6BAA6B,uBAAuB,wCAAwC,uBAAuB,UAAU,IAAI,2BAA2B,aAAa,kCAAkC,kCAAkC,6BAA6B,gCAAgC,mCAAmC,kBAAkB,0BAA0B,SAAS,wBAAwB,8GAA8G,8BAA8B,oBAAoB,yDAAyD,IAAI,cAAc,SAAS,6BAA6B,MAAM,gCAAgC,oBAAoB,yCAAyC,sBAAsB,kFAAkF,8DAA8D,oBAAoB,kCAAkC,aAAa,iBAAiB,gCAAgC,0BAA0B,cAAc,qCAAqC,qCAAqC,6BAA6B,0CAA0C,SAAS,UAAU,kCAAkC,MAAM,oEAAoE,wCAAwC,kFAAkF,IAAI,gCAAgC,sCAAsC,0DAA0D,4DAA4D,IAAI,yDAAyD,YAAY,iCAAiC,gJAAgJ,wBAAwB,6FAA6F,6BAA6B,iDAAiD,IAAI,EAAE,sFAAsF,wBAAwB,gDAAgD,6BAA6B,+DAA+D,MAAM,2BAA2B,4CAA4C,yCAAyC,6GAA6G,IAAI,KAAK,QAAQ,YAAY,IAAI,KAAK,gBAAgB,IAAI,uBAAuB,WAAW,wDAAwD,6BAA6B,mCAAmC,IAAI,WAAW,MAAM,KAAK,iCAAiC,iCAAiC,qEAAqE,0BAA0B,MAAM,kBAAkB,2CAA2C,0BAA0B,wBAAwB,oBAAoB,4JAA4J,QAAQ,+BAA+B,UAAU,6CAA6C,qHAAqH,uCAAuC,6GAA6G,IAAI,gEAAgE,gBAAgB,kCAAkC,wBAAwB,oBAAoB,8KAA8K,+BAA+B,oBAAoB,wCAAwC,gCAAgC,QAAQ,KAAK,wBAAwB,sCAAsC,uGAAuG,IAAI,+IAA+I,cAAc,kBAAkB,oBAAoB,kCAAkC,UAAU,IAAI,2BAA2B,UAAU,IAAI,qBAAqB,UAAU,4BAA4B,mBAAmB,qBAAqB,kDAAkD,IAAI,2DAA2D,SAAS,mBAAmB,2BAA2B,WAAW,EAAE,mBAAmB,2BAA2B,YAAY,IAAI,cAAc,gBAAgB,yBAAyB,SAAS,oBAAoB,2BAA2B,WAAW,MAAM,cAAc,oBAAoB,qBAAqB,yCAAyC,4BAA4B,EAAE,0BAA0B,yEAAyE,uBAAuB,4BAA4B,uBAAuB,uBAAuB,qBAAqB,qBAAqB,KAAK,cAAc,cAAc,cAAc,+CAA+C,yEAAyE,0CAA0C,cAAc,aAAa,WAAW,4BAA4B,SAAS,qBAAqB,iIAAiI,kBAAkB,kCAAkC,8BAA8B,iCAAiC,4DAA4D,8KAA8K,mCAAmC,aAAa,sCAAsC,iCAAiC,0IAA0I,uBAAuB,IAAI,gBAAgB,+GAA+G,cAAc,cAAc,6DAA6D,QAAQ,IAAI,0EAA0E,SAAS,gBAAgB,OAAO,iCAAiC,gBAAgB,mBAAmB,qCAAqC,gBAAgB,mBAAmB,kDAAkD,IAAI,4CAA4C,kBAAkB,qDAAqD,mEAAmE,iCAAiC,QAAQ,mBAAmB,sDAAsD,GAAG,YAAY,SAAS,cAAc,YAAY,iBAAiB,QAAQ,GAAG,oQAAoQ,MAAM,qBAAqB,2BAA2B,mBAAmB,8BAA8B,uBAAuB,WAAW,qBAAqB,wBAAwB,aAAa,uDAAuD,mBAAmB,aAAa,8CAA8C,IAAI,4FAA4F,qBAAqB,WAAW,iBAAiB,YAAY,WAAW,gBAAgB,oCAAoC,gBAAgB,mBAAmB,WAAW,kDAAkD,IAAI,4BAA4B,yDAAyD,kBAAkB,wCAAwC,eAAe,yCAAyC,wCAAwC,8BAA8B,eAAe,8BAA8B,uCAAuC,2BAA2B,gGAAgG,OAAO,4BAA4B,0DAA0D,cAAc,wKAAwK,UAAU,kBAAkB,2BAA2B,qBAAqB,cAAc,gMAAgM,qCAAqC,cAAc,eAAe,gDAAgD,wEAAwE,2HAA2H,UAAU,cAAc,gBAAgB,uCAAuC,4FAA4F,SAAS,4CAA4C,oBAAoB,IAAI,gDAAgD,UAAU,kBAAkB,yCAAyC,IAAI,WAAW,SAAS,EAAE,MAAM,0FAA0F,+DAA+D,eAAe,iBAAiB,kDAAkD,YAAY,qMAAqM,gDAAgD,0JAA0J,+CAA+C,gIAAgI,cAAc,oCAAoC,qGAAqG,0CAA0C,MAAM,qGAAqG,qEAAqE,2BAA2B,mCAAmC,6DAA6D,oFAAoF,wFAAwF,yCAAyC,qGAAqG,4CAA4C,2EAA2E,0BAA0B,QAAQ,oBAAoB,wTAAwT,OAAO,cAAc,0CAA0C,gCAAgC,aAAa,IAAI,aAAa,IAAI,iFAAiF,aAAa,cAAc,+CAA+C,mIAAmI,oFAAoF,+BAA+B,cAAc,gBAAgB,kCAAkC,cAAc,iBAAiB,sBAAsB,8CAA8C,YAAY,2CAA2C,YAAY,+CAA+C,YAAY,0BAA0B,aAAa,IAAI,KAAK,sBAAsB,WAAW,GAAG,kCAAkC,QAAQ,EAAE,0EAA0E,OAAO,uCAAuC,gDAAgD,oMAAoM,0BAA0B,yBAAyB,iEAAiE,6DAA6D,2CAA2C,EAAE,cAAc,aAAa,cAAc,qBAAqB,kBAAkB,6DAA6D,wKAAwK,mBAAmB,ySAAyS,cAAc,oEAAoE,wBAAwB,oDAAoD,SAAS,gBAAgB,qKAAqK,MAAM,uCAAuC,gKAAgK,gBAAgB,QAAQ,YAAY,eAAe,uBAAuB,mBAAmB,2EAA2E,EAAE,gBAAgB,QAAQ,wFAAwF,cAAc,SAAS,8FAA8F,SAAS,gBAAgB,WAAW,gEAAgE,gBAAgB,eAAe,kDAAkD,sCAAsC,oBAAoB,gBAAgB,oEAAoE,uKAAuK,IAAI,mEAAmE,oBAAoB,cAAc,wCAAwC,SAAS,EAAE,2OAA2O,IAAI,KAAK,gBAAgB,qJAAqJ,sFAAsF,gBAAgB,yEAAyE,6CAA6C,mBAAmB,6BAA6B,8GAA8G,cAAc,4BAA4B,2BAA2B,kCAAkC,GAAG,qBAAqB,kBAAkB,6SAA6S,4BAA4B,oJAAoJ,qhBAAqhB,IAAI,2CAA2C,qCAAqC,gBAAgB,WAAW,qEAAqE,gBAAgB,oCAAoC,cAAc,gBAAgB,UAAU,gBAAgB,UAAU,gBAAgB,oCAAoC,00GAA00G,mBAAmB,sBAAsB,8BAA8B,wBAAwB,+CAA+C,sBAAsB,sCAAsC,UAAU,uBAAuB,MAAM,uDAAuD,MAAM,mBAAmB,MAAM,mBAAmB,MAAM,mBAAmB,MAAM,iBAAiB,gCAAgC,EAAE,eAAe,WAAW,sDAAsD,UAAU,iCAAiC,gBAAgB,KAAK,oBAAoB,gCAAgC,SAAS,gNAAgN,uBAAuB,MAAM,eAAe,KAAK,+GAA+G,sBAAsB,kDAAkD,mGAAmG,kDAAkD,iCAAiC,mEAAmE,IAAI,cAAc,IAAI,2BAA2B,qDAAqD,EAAE,8BAA8B,EAAE,KAAK,OAAO,iDAAiD,8FAA8F,2CAA2C,YAAY,GAAG,OAAO,kBAAkB,MAAM,iBAAiB,mBAAmB,KAAK,4BAA4B,+GAA+G,MAAM,0CAA0C,IAAI,aAAa,eAAe,IAAI,aAAa,KAAK,IAAI,2FAA2F,YAAY,4BAA4B,WAAW,aAAa,6BAA6B,SAAS,+BAA+B,MAAM,WAAW,mGAAmG,6BAA6B,0DAA0D,GAAG,EAAE,0DAA0D,iCAAiC,sCAAsC,iCAAiC,QAAQ,2BAA2B,gDAAgD,kCAAkC,kBAAkB,aAAa,iEAAiE,IAAI,aAAa,wCAAwC,EAAE,SAAS,yBAAyB,8CAA8C,gBAAgB,IAAI,KAAK,uBAAuB,gDAAgD,IAAI,UAAU,oBAAoB,gBAAgB,sBAAsB,kCAAkC,IAAI,KAAK,OAAO,yBAAyB,kBAAkB,qBAAqB,IAAI,KAAK,uDAAuD,OAAO,wCAAwC,mCAAmC,EAAE,EAAE,SAAS,gCAAgC,cAAc,oBAAoB,6QAA6Q,SAAS,oDAAoD,SAAS,IAAI,oDAAoD,sBAAsB,WAAW,uBAAuB,wBAAwB,0BAA0B,EAAE,EAAE,mCAAmC,WAAW,MAAM,kCAAkC,oBAAoB,0DAA0D,qJAAqJ,mDAAmD,OAAO,IAAI,sCAAsC,4BAA4B,IAAI,qDAAqD,oCAAoC,iCAAiC,aAAa,oFAAoF,wCAAwC,SAAS,kEAAkE,EAAE,wEAAwE,8DAA8D,kDAAkD,0GAA0G,0DAA0D,mCAAmC,IAAI,mBAAmB,sBAAsB,gCAAgC,IAAI,SAAS,4DAA4D,uDAAuD,wBAAwB,0BAA0B,SAAS,cAAc,wBAAwB,+DAA+D,kEAAkE,KAAK,oCAAoC,wIAAwI,8DAA8D,WAAW,mBAAmB,sHAAsH,+DAA+D,eAAe,qBAAqB,4BAA4B,wFAAwF,wDAAwD,yEAAyE,eAAe,iCAAiC,aAAa,aAAa,gBAAgB,kBAAkB,4BAA4B,EAAE,0EAA0E,8BAA8B,oCAAoC,uBAAuB,oCAAoC,uBAAuB,gCAAgC,6BAA6B,gCAAgC,sBAAsB,oCAAoC,4BAA4B,oCAAoC,4BAA4B,gCAAgC,kCAAkC,gCAAgC,sBAAsB,gCAAgC,4BAA4B,gCAAgC,oBAAoB,gCAAgC,0BAA0B,gCAAgC,gBAAgB,kCAAkC,gBAAgB,8BAA8B,iBAAiB,gCAAgC,gBAAgB,8BAA8B,iBAAiB,gCAAgC,oBAAoB,0DAA0D,0BAA0B,8BAA8B,0BAA0B,0BAA0B,0DAA0D,iBAAiB,wDAAwD,iBAAiB,wDAAwD,qBAAqB,yBAAyB,qBAAqB,kBAAkB,0BAA0B,sBAAsB,kBAAkB,sBAAsB,mCAAmC,EAAE,4CAA4C,aAAa,cAAc,6BAA6B,4BAA4B,EAAE,4GAA4G,wBAAwB,oBAAoB,0BAA0B,mCAAmC,oDAAoD,oIAAoI,UAAU,gBAAgB,mHAAmH,mDAAmD,SAAS,qDAAqD,+BAA+B,IAAI,KAAK,uDAAuD,yBAAyB,sDAAsD,sDAAsD,+BAA+B,IAAI,KAAK,wDAAwD,yBAAyB,sDAAsD,0DAA0D,gNAAgN,0JAA0J,EAAE,4CAA4C,aAAa,cAAc,qDAAqD,kBAAkB,kFAAkF,4BAA4B,EAAE,iFAAiF,6BAA6B,MAAM,6LAA6L,2BAA2B,qBAAqB,kEAAkE,yBAAyB,KAAK,UAAU,mCAAmC,2BAA2B,MAAM,mBAAmB,MAAM,mBAAmB,KAAK,8DAA8D,sBAAsB,oBAAoB,uBAAuB,eAAe,kBAAkB,uBAAuB,wCAAwC,mBAAmB,uBAAuB,kDAAkD,kBAAkB,wDAAwD,0CAA0C,mBAAmB,wDAAwD,oDAAoD,kBAAkB,6BAA6B,wLAAwL,qBAAqB,2BAA2B,sBAAsB,uBAAuB,qCAAqC,wBAAwB,oFAAoF,sCAAsC,0BAA0B,uEAAuE,2EAA2E,yBAAyB,6BAA6B,sEAAsE,IAAI,wCAAwC,sCAAsC,gCAAgC,IAAI,yBAAyB,IAAI,yBAAyB,IAAI,mFAAmF,IAAI,YAAY,IAAI,cAAc,IAAI,qEAAqE,EAAE,UAAU,EAAE,2BAA2B,+QAA+Q,6BAA6B,wCAAwC,mCAAmC,wBAAwB,MAAM,gNAAgN,8EAA8E,wDAAwD,wCAAwC,mCAAmC,wBAAwB,MAAM,qIAAqI,iBAAiB,KAAK,oCAAoC,yCAAyC,uFAAuF,wDAAwD,wCAAwC,mCAAmC,qBAAqB,sLAAsL,wDAAwD,gCAAgC,YAAY,wBAAwB,EAAE,2CAA2C,cAAc,+DAA+D,2DAA2D,mBAAmB,MAAM,4BAA4B,mBAAmB,IAAI,EAAE,wDAAwD,gDAAgD,iLAAiL,oCAAoC,cAAc,OAAO,kHAAkH,cAAc,OAAO,4MAA4M,kBAAkB,mBAAmB,8SAA8S,0EAA0E,gBAAgB,qDAAqD,SAAS,yCAAyC,2CAA2C,QAAQ,EAAE,SAAS,4DAA4D,wEAAwE,gQAAgQ,0BAA0B,gBAAgB,6BAA6B,sBAAsB,8CAA8C,EAAE,YAAY,qBAAqB,OAAO,wGAAwG,mBAAmB,gDAAgD,sCAAsC,yBAAyB,qKAAqK,oYAAoY,YAAY,yBAAyB,oJAAoJ,6CAA6C,WAAW,2FAA2F,oBAAoB,MAAM,cAAc,uPAAuP,qCAAqC,IAAI,KAAK,wFAAwF,yFAAyF,WAAW,6CAA6C,0BAA0B,gMAAgM,2CAA2C,mBAAmB,IAAI,iBAAiB,WAAW,2BAA2B,4DAA4D,EAAE,qFAAqF,yBAAyB,eAAe,yDAAyD,EAAE,2CAA2C,2DAA2D,WAAW,wLAAwL,KAAK,WAAW,iFAAiF,WAAW,EAAE,0BAA0B,yGAAyG,qBAAqB,MAAM,kHAAkH,uEAAuE,mBAAmB,oHAAoH,gQAAgQ,oBAAoB,+DAA+D,eAAe,mBAAmB,wBAAwB,oDAAoD,uCAAuC,cAAc,aAAa,4BAA4B,EAAE,mFAAmF,6GAA6G,6CAA6C,4BAA4B,yBAAyB,0BAA0B,uDAAuD,OAAO,0JAA0J,qBAAqB,mEAAmE,mBAAmB,oBAAoB,kYAAkY,qBAAqB,oCAAoC,2EAA2E,QAAQ,sBAAsB,kMAAkM,sHAAsH,2CAA2C,aAAa,8EAA8E,KAAK,kJAAkJ,6CAA6C,yBAAyB,QAAQ,gEAAgE,wRAAwR,2BAA2B,2bAA2b,uBAAuB,+CAA+C,iCAAiC,sDAAsD,oCAAoC,yDAAyD,+BAA+B,oDAAoD,kCAAkC,uDAAuD,+BAA+B,wBAAwB,2QAA2Q,uCAAuC,6DAA6D,qCAAqC,+BAA+B,qCAAqC,gBAAgB,WAAW,2CAA2C,yBAAyB,6DAA6D,SAAS,EAAE,sBAAsB,YAAY,iCAAiC,8CAA8C,uBAAuB,aAAa,oCAAoC,gCAAgC,oEAAoE,0BAA0B,4BAA4B,+XAA+X,gCAAgC,kSAAkS,qBAAqB,kBAAkB,sBAAsB,mBAAmB,wBAAwB,2BAA2B,QAAQ,IAAI,yBAAyB,2BAA2B,SAAS,IAAI,6BAA6B,MAAM,QAAQ,2HAA2H,0DAA0D,sCAAsC,0IAA0I,gCAAgC,0IAA0I,oBAAoB,sEAAsE,kCAAkC,0CAA0C,mCAAmC,IAAI,iCAAiC,YAAY,2BAA2B,QAAQ,4IAA4I,2DAA2D,uFAAuF,mCAAmC,IAAI,iCAAiC,YAAY,qBAAqB,sDAAsD,yBAAyB,+EAA+E,mCAAmC,IAAI,iCAAiC,YAAY,yBAAyB,yGAAyG,uBAAuB,0BAA0B,4BAA4B,YAAY,2BAA2B,YAAY,qBAAqB,MAAM,SAAS,6BAA6B,oHAAoH,4BAA4B,oFAAoF,SAAS,kBAAkB,8BAA8B,mEAAmE,SAAS,0FAA0F,SAAS,oBAAoB,0BAA0B,oDAAoD,uBAAuB,6BAA6B,kBAAkB,qRAAqR,uBAAuB,6FAA6F,kaAAka,8BAA8B,QAAQ,oCAAoC,IAAI,oFAAoF,oCAAoC,IAAI,mCAAmC,kCAAkC,MAAM,SAAS,+BAA+B,yBAAyB,uCAAuC,+BAA+B,gRAAgR,4BAA4B,wPAAwP,sBAAsB,6CAA6C,gFAAgF,4BAA4B,4EAA4E,sBAAsB,OAAO,+CAA+C,2BAA2B,gHAAgH,2BAA2B,+GAA+G,0BAA0B,uBAAuB,kFAAkF,6BAA6B,uDAAuD,4BAA4B,gCAAgC,sBAAsB,0CAA0C,8BAA8B,kDAAkD,+BAA+B,4BAA4B,6BAA6B,OAAO,8BAA8B,8IAA8I,kCAAkC,+BAA+B,mBAAmB,mFAAmF,0BAA0B,yCAAyC,6BAA6B,OAAO,2BAA2B,MAAM,gFAAgF,cAAc,+DAA+D,iCAAiC,OAAO,qHAAqH,6PAA6P,kDAAkD,QAAQ,EAAE,SAAS,wSAAwS,+BAA+B,kNAAkN,6BAA6B,UAAU,msBAAmsB,8BAA8B,4BAA4B,6BAA6B,2CAA2C,IAAI,0BAA0B,sFAAsF,mBAAmB,GAAG,qCAAqC,gDAAgD,qCAAqC,ydAAyd,wBAAwB,oFAAoF,0BAA0B,iFAAiF,6BAA6B,+BAA+B,UAAU,qCAAqC,gFAAgF,YAAY,oCAAoC,MAAM,MAAM,IAAI,cAAc,KAAK,2IAA2I,IAAI,OAAO,WAAW,SAAS,4BAA4B,+BAA+B,+BAA+B,qCAAqC,gFAAgF,YAAY,oCAAoC,MAAM,MAAM,IAAI,cAAc,uBAAuB,2IAA2I,IAAI,OAAO,WAAW,SAAS,sBAAsB,uFAAuF,oBAAoB,kEAAkE,qBAAqB,iDAAiD,wCAAwC,IAAI,uLAAuL,aAAa,qCAAqC,uBAAuB,wCAAwC,iCAAiC,yBAAyB,kBAAkB,UAAU,kDAAkD,gDAAgD,4CAA4C,+BAA+B,sCAAsC,UAAU,SAAS,sBAAsB,+EAA+E,6CAA6C,4GAA4G,6CAA6C,4BAA4B,6BAA6B,4GAA4G,uBAAuB,gBAAgB,6BAA6B,uIAAuI,yBAAyB,6BAA6B,iEAAiE,aAAa,oDAAoD,6DAA6D,uBAAuB,8BAA8B,yBAAyB,sEAAsE,yBAAyB,4FAA4F,sBAAsB,2BAA2B,gCAAgC,gCAAgC,uEAAuE,uBAAuB,qBAAqB,mBAAmB,+DAA+D,iCAAiC,gCAAgC,kBAAkB,oBAAoB,iGAAiG,qJAAqJ,kCAAkC,IAAI,KAAK,wBAAwB,0EAA0E,yCAAyC,4BAA4B,4HAA4H,gCAAgC,mDAAmD,IAAI,KAAK,wBAAwB,oEAAoE,gCAAgC,yCAAyC,wCAAwC,qFAAqF,uCAAuC,uBAAuB,IAAI,KAAK,wBAAwB,6IAA6I,sCAAsC,wBAAwB,yBAAyB,8MAA8M,gCAAgC,mCAAmC,sCAAsC,gCAAgC,oGAAoG,iDAAiD,yBAAyB,OAAO,+CAA+C,iKAAiK,OAAO,EAAE,8BAA8B,EAAE,gEAAgE,gCAAgC,6BAA6B,qBAAqB,gFAAgF,+JAA+J,yBAAyB,wGAAwG,yBAAyB,gBAAgB,sBAAsB,oCAAoC,iCAAiC,sCAAsC,IAAI,KAAK,0CAA0C,+EAA+E,EAAE,gDAAgD,0BAA0B,kCAAkC,EAAE,yEAAyE,OAAO,+HAA+H,sBAAsB,4LAA4L,kDAAkD,8DAA8D,iHAAiH,kCAAkC,yBAAyB,iIAAiI,yBAAyB,oCAAoC,sBAAsB,oCAAoC,iCAAiC,2CAA2C,IAAI,iDAAiD,IAAI,KAAK,uBAAuB,gHAAgH,EAAE,gDAAgD,yDAAyD,0BAA0B,kCAAkC,EAAE,yEAAyE,OAAO,+HAA+H,gCAAgC,cAAc,gBAAgB,IAAI,4CAA4C,SAAS,wBAAwB,SAAS,mBAAmB,6BAA6B,uBAAuB,oCAAoC,oDAAoD,2CAA2C,IAAI,KAAK,+BAA+B,kFAAkF,YAAY,2BAA2B,yBAAyB,iCAAiC,eAAe,KAAK,oOAAoO,4BAA4B,4GAA4G,8CAA8C,kEAAkE,yBAAyB,mEAAmE,wHAAwH,kCAAkC,2EAA2E,uBAAuB,wFAAwF,4BAA4B,uFAAuF,wBAAwB,qCAAqC,oCAAoC,iDAAiD,KAAK,2DAA2D,sBAAsB,QAAQ,EAAE,0DAA0D,qDAAqD,6EAA6E,6BAA6B,mBAAmB,4EAA4E,sBAAsB,uHAAuH,0FAA0F,kCAAkC,QAAQ,sNAAsN,6CAA6C,+IAA+I,8QAA8Q,8BAA8B,kPAAkP,yCAAyC,uBAAuB,gCAAgC,EAAE,iDAAiD,2IAA2I,8DAA8D,EAAE,4CAA4C,8FAA8F,yDAAyD,GAAG,2DAA2D,qCAAqC,gCAAgC,8BAA8B,MAAM,yCAAyC,aAAa,WAAW,iDAAiD,qBAAqB,UAAU,6BAA6B,cAAc,uEAAuE,+DAA+D,iBAAiB,8FAA8F,kOAAkO,YAAY,kCAAkC,WAAW,kFAAkF,sBAAsB,+DAA+D,eAAe,UAAU,iCAAiC,WAAW,oBAAoB,6BAA6B,mEAAmE,wBAAwB,mBAAmB,+BAA+B,SAAS,YAAY,0BAA0B,uBAAuB,kBAAkB,EAAE,0CAA0C,uBAAuB,kCAAkC,EAAE,qBAAqB,qCAAqC,kCAAkC,4BAA4B,QAAQ,EAAE,EAAE,8BAA8B,8CAA8C,kDAAkD,2BAA2B,oGAAoG,sBAAsB,sHAAsH,cAAc,aAAa,4BAA4B,wIAAwI,wCAAwC,+mCAA+mC,sBAAsB,2BAA2B,mGAAmG,0BAA0B,oMAAoM,2BAA2B,wCAAwC,uCAAuC,iDAAiD,wBAAwB,gCAAgC,iEAAiE,yBAAyB,iEAAiE,uDAAuD,kHAAkH,sBAAsB,sCAAsC,wwBAAwwB,6GAA6G,8BAA8B,wBAAwB,kCAAkC,wCAAwC,6CAA6C,yBAAyB,IAAI,qBAAqB,mCAAmC,iBAAiB,eAAe,wBAAwB,iCAAiC,mBAAmB,+HAA+H,oBAAoB,gVAAgV,oBAAoB,kBAAkB,+CAA+C,2BAA2B,8BAA8B,iCAAiC,8FAA8F,sBAAsB,kDAAkD,oJAAoJ,sDAAsD,2BAA2B,0BAA0B,mOAAmO,0BAA0B,2BAA2B,+DAA+D,8BAA8B,8MAA8M,4BAA4B,wEAAwE,+BAA+B,kCAAkC,6BAA6B,MAAM,4UAA4U,YAAY,wBAAwB,qJAAqJ,2BAA2B,+EAA+E,yBAAyB,cAAc,+IAA+I,kCAAkC,uBAAuB,yIAAyI,2BAA2B,sCAAsC,kRAAkR,KAAK,kCAAkC,oCAAoC,uBAAuB,wCAAwC,mCAAmC,qBAAqB,kHAAkH,0BAA0B,uBAAuB,sCAAsC,qBAAqB,OAAO,uBAAuB,QAAQ,EAAE,4DAA4D,8DAA8D,sBAAsB,kFAAkF,OAAO,iEAAiE,oGAAoG,kBAAkB,YAAY,qBAAqB,kEAAkE,oBAAoB,qBAAqB,uBAAuB,SAAS,oBAAoB,wBAAwB,2BAA2B,QAAQ,EAAE,OAAO,eAAe,wDAAwD,gCAAgC,mDAAmD,2BAA2B,mCAAmC,mBAAmB,8CAA8C,EAAE,gDAAgD,4BAA4B,yCAAyC,uBAAuB,iDAAiD,sBAAsB,+BAA+B,sBAAsB,gFAAgF,oFAAoF,oBAAoB,4CAA4C,oBAAoB,4CAA4C,mBAAmB,2CAA2C,mBAAmB,qCAAqC,+BAA+B,+BAA+B,sEAAsE,OAAO,qBAAqB,4BAA4B,wGAAwG,8BAA8B,oFAAoF,6KAA6K,2CAA2C,mCAAmC,mDAAmD,uCAAuC,iDAAiD,2RAA2R,wCAAwC,iDAAiD,2RAA2R,2BAA2B,2CAA2C,gEAAgE,gCAAgC,4BAA4B,0CAA0C,8BAA8B,iEAAiE,qWAAqW,qCAAqC,oGAAoG,yCAAyC,4BAA4B,0HAA0H,uWAAuW,+BAA+B,sEAAsE,4BAA4B,uEAAuE,yBAAyB,qGAAqG,uJAAuJ,8BAA8B,2EAA2E,EAAE,cAAc,mCAAmC,mDAAmD,8CAA8C,2JAA2J,2FAA2F,kCAAkC,cAAc,OAAO,6IAA6I,qCAAqC,uHAAuH,qCAAqC,6GAA6G,uCAAuC,qCAAqC,6BAA6B,yEAAyE,2BAA2B,qEAAqE,qBAAqB,4BAA4B,OAAO,SAAS,cAAc,YAAY,cAAc,aAAa,cAAc,WAAW,gBAAgB,gCAAgC,kBAAkB,kOAAkO,SAAS,iCAAiC,oCAAoC,kCAAkC,qCAAqC,4BAA4B,+BAA+B,wRAAwR,OAAO,2CAA2C,qBAAqB,8BAA8B,sBAAsB,+BAA+B,6BAA6B,mFAAmF,mBAAmB,6IAA6I,0BAA0B,kDAAkD,kCAAkC,2BAA2B,oDAAoD,mCAAmC,sBAAsB,wGAAwG,uCAAuC,2NAA2N,yKAAyK,yyBAAyyB,gXAAgX,8CAA8C,sDAAsD,EAAE,sDAAsD,sBAAsB,mHAAmH,yBAAyB,uHAAuH,2BAA2B,6HAA6H,0BAA0B,2HAA2H,oBAAoB,gHAAgH,qDAAqD,wBAAwB,uiBAAuiB,EAAE,sBAAsB,wBAAwB,4BAA4B,0BAA0B,2BAA2B,6BAA6B,gBAAgB,qBAAqB,mBAAmB,0EAA0E,iBAAiB,4BAA4B,uBAAuB,4kBAA4kB,mEAAmE,kCAAkC,6EAA6E,iCAAiC,SAAS,yLAAyL,qDAAqD,2BAA2B,6CAA6C,2CAA2C,OAAO,uBAAuB,gDAAgD,kCAAkC,mEAAmE,kCAAkC,YAAY,uBAAuB,4BAA4B,wBAAwB,cAAc,aAAa,gBAAgB,qFAAqF,kBAAkB,oBAAoB,gDAAgD,+DAA+D,kDAAkD,4BAA4B,4BAA4B,oBAAoB,0CAA0C,qFAAqF,yDAAyD,OAAO,yJAAyJ,6BAA6B,QAAQ,yLAAyL,oBAAoB,4DAA4D,sBAAsB,yDAAyD,EAAE,gDAAgD,sBAAsB,0DAA0D,EAAE,gDAAgD,wBAAwB,oBAAoB,4BAA4B,qBAAqB,mDAAmD,oDAAoD,8JAA8J,6BAA6B,oBAAoB,0FAA0F,iCAAiC,0HAA0H,oFAAoF,sBAAsB,uCAAuC,wEAAwE,EAAE,mBAAmB,uCAAuC,+WAA+W,uBAAuB,UAAU,+GAA+G,sFAAsF,4BAA4B,+BAA+B,4BAA4B,uBAAuB,EAAE,4CAA4C,aAAa,cAAc,+BAA+B,4BAA4B,qCAAqC,4FAA4F,8CAA8C,OAAO,+DAA+D,oBAAoB,uEAAuE,sBAAsB,uCAAuC,0BAA0B,EAAE,mBAAmB,0CAA0C,6QAA6Q,uBAAuB,qIAAqI,uBAAuB,6CAA6C,uBAAuB,6CAA6C,uBAAuB,sDAAsD,uBAAuB,UAAU,+GAA+G,QAAQ,EAAE,oDAAoD,uFAAuF,gCAAgC,2BAA2B,0CAA0C,iCAAiC,uBAAuB,EAAE,4CAA4C,aAAa,4BAA4B,EAAE,iGAAiG,uCAAuC,OAAO,2FAA2F,qBAAqB,mCAAmC,kHAAkH,iCAAiC,mCAAmC,kMAAkM,mBAAmB,wGAAwG,gJAAgJ,uBAAuB,UAAU,oCAAoC,yBAAyB,EAAE,4CAA4C,aAAa,4BAA4B,qCAAqC,+FAA+F,gDAAgD,OAAO,qJAAqJ,sBAAsB,uCAAuC,oCAAoC,EAAE,mBAAmB,0CAA0C,gRAAgR,uBAAuB,uMAAuM,uBAAuB,UAAU,qHAAqH,QAAQ,EAAE,qDAAqD,gCAAgC,4BAA4B,kCAAkC,kCAAkC,wBAAwB,EAAE,4CAA4C,aAAa,4BAA4B,yBAAyB,yDAAyD,KAAK,kDAAkD,8DAA8D,oFAAoF,OAAO,iDAAiD,sBAAsB,uEAAuE,uBAAuB,oCAAoC,2MAA2M,8VAA8V,yBAAyB,iCAAiC,gEAAgE,oQAAoQ,sBAAsB,sCAAsC,0CAA0C,EAAE,iEAAiE,mBAAmB,yDAAyD,gUAAgU,uBAAuB,UAAU,0HAA0H,kBAAkB,QAAQ,kDAAkD,+EAA+E,KAAK,+BAA+B,uBAAuB,4CAA4C,aAAa,4BAA4B,mBAAmB,iGAAiG,qDAAqD,OAAO,4EAA4E,4BAA4B,sDAAsD,8BAA8B,wDAAwD,sBAAsB,iDAAiD,mBAAmB,oEAAoE,IAAI,gEAAgE,6LAA6L,qBAAqB,MAAM,qLAAqL,iCAAiC,IAAI,uCAAuC,0CAA0C,iCAAiC,QAAQ,cAAc,iCAAiC,IAAI,yGAAyG,uBAAuB,kCAAkC,+FAA+F,kBAAkB,QAAQ,EAAE,yGAAyG,iEAAiE,mCAAmC,eAAe,8BAA8B,EAAE,4CAA4C,aAAa,4BAA4B,gFAAgF,8FAA8F,oDAAoD,OAAO,qEAAqE,4BAA4B,8DAA8D,4DAA4D,8BAA8B,gCAAgC,wDAAwD,OAAO,sBAAsB,uCAAuC,4BAA4B,EAAE,mBAAmB,oEAAoE,IAAI,gEAAgE,4LAA4L,qBAAqB,MAAM,qLAAqL,iCAAiC,IAAI,uCAAuC,+FAA+F,iCAAiC,QAAQ,cAAc,iCAAiC,IAAI,sHAAsH,cAAc,uBAAuB,2BAA2B,6FAA6F,kBAAkB,QAAQ,EAAE,wGAAwG,6CAA6C,kCAAkC,oCAAoC,EAAE,4CAA4C,aAAa,cAAc,oCAAoC,cAAc,oCAAoC,4BAA4B,+GAA+G,oCAAoC,IAAI,aAAa,qFAAqF,+CAA+C,UAAU,sEAAsE,mCAAmC,oLAAoL,6BAA6B,uHAAuH,mNAAmN,oCAAoC,OAAO,uDAAuD,uBAAuB,sHAAsH,sCAAsC,+BAA+B,IAAI,KAAK,4BAA4B,0CAA0C,MAAM,wCAAwC,MAAM,kCAAkC,MAAM,iCAAiC,MAAM,kCAAkC,MAAM,iCAAiC,MAAM,8CAA8C,MAAM,4CAA4C,MAAM,uGAAuG,MAAM,mFAAmF,MAAM,+HAA+H,MAAM,2GAA2G,MAAM,wFAAwF,MAAM,sFAAsF,MAAM,iMAAiM,MAAM,kFAAkF,MAAM,kFAAkF,MAAM,4EAA4E,MAAM,sCAAsC,KAAK,sBAAsB,iBAAiB,sDAAsD,2BAA2B,qXAAqX,qBAAqB,+CAA+C,6CAA6C,GAAG,sBAAsB,sCAAsC,+BAA+B,iBAAiB,6BAA6B,EAAE,wHAAwH,8BAA8B,uBAAuB,uEAAuE,mBAAmB,kEAAkE,IAAI,mCAAmC,kBAAkB,kMAAkM,uBAAuB,wBAAwB,uBAAuB,2GAA2G,IAAI,KAAK,kDAAkD,YAAY,cAAc,gBAAgB,uBAAuB,IAAI,2CAA2C,0CAA0C,uCAAuC,IAAI,4CAA4C,eAAe,SAAS,6BAA6B,mBAAmB,gCAAgC,sCAAsC,OAAO,oCAAoC,OAAO,8DAA8D,2CAA2C,SAAS,0HAA0H,2BAA2B,8EAA8E,wBAAwB,OAAO,oEAAoE,kCAAkC,4DAA4D,oBAAoB,gEAAgE,0BAA0B,6FAA6F,kDAAkD,6BAA6B,kBAAkB,4CAA4C,aAAa,4BAA4B,6EAA6E,kGAAkG,mDAAmD,OAAO,kBAAkB,4BAA4B,IAAI,0BAA0B,oLAAoL,oBAAoB,iBAAiB,SAAS,2BAA2B,2HAA2H,gCAAgC,IAAI,+BAA+B,4DAA4D,oBAAoB,iEAAiE,IAAI,yBAAyB,kCAAkC,sBAAsB,wBAAwB,wCAAwC,EAAE,yDAAyD,8BAA8B,uBAAuB,oDAAoD,mBAAmB,oLAAoL,IAAI,0BAA0B,mDAAmD,qBAAqB,oDAAoD,yCAAyC,GAAG,wBAAwB,2DAA2D,2CAA2C,4CAA4C,EAAE,uBAAuB,uCAAuC,4CAA4C,IAAI,uBAAuB,mBAAmB,uCAAuC,8DAA8D,cAAc,eAAe,qCAAqC,KAAK,4CAA4C,uCAAuC,EAAE,uBAAuB,4CAA4C,aAAa,4BAA4B,qFAAqF,aAAa,OAAO,qGAAqG,kDAAkD,sCAAsC,OAAO,qBAAqB,+BAA+B,IAAI,6BAA6B,qBAAqB,sJAAsJ,iCAAiC,kDAAkD,iCAAiC,+BAA+B,OAAO,6DAA6D,mEAAmE,qBAAqB,iDAAiD,2BAA2B,8KAA8K,8BAA8B,gCAAgC,8BAA8B,gLAAgL,4BAA4B,aAAa,8BAA8B,kCAAkC,sBAAsB,wIAAwI,oBAAoB,kCAAkC,2BAA2B,cAAc,IAAI,2BAA2B,eAAe,sBAAsB,uCAAuC,sCAAsC,EAAE,oBAAoB,iBAAiB,iDAAiD,mCAAmC,IAAI,2CAA2C,sCAAsC,+BAA+B,sCAAsC,mCAAmC,IAAI,wCAAwC,6BAA6B,yBAAyB,oEAAoE,iCAAiC,iEAAiE,gCAAgC,+DAA+D,OAAO,mDAAmD,0BAA0B,8BAA8B,cAAc,qCAAqC,OAAO,6BAA6B,4KAA4K,iCAAiC,kKAAkK,gCAAgC,kEAAkE,OAAO,iJAAiJ,EAAE,gCAAgC,oCAAoC,OAAO,qLAAqL,oBAAoB,uFAAuF,uBAAuB,kFAAkF,qBAAqB,kFAAkF,6BAA6B,sCAAsC,cAAc,OAAO,8BAA8B,qDAAqD,oBAAoB,4BAA4B,oBAAoB,yBAAyB,+CAA+C,IAAI,KAAK,iCAAiC,qEAAqE,iCAAiC,4BAA4B,iKAAiK,oCAAoC,yDAAyD,mBAAmB,yFAAyF,IAAI,sCAAsC,mDAAmD,iBAAiB,WAAW,0BAA0B,mCAAmC,IAAI,oCAAoC,SAAS,wFAAwF,mCAAmC,4CAA4C,wCAAwC,EAAE,mBAAmB,4CAA4C,aAAa,gCAAgC,sBAAsB,sHAAsH,qDAAqD,QAAQ,oJAAoJ,uBAAuB,qBAAqB,0BAA0B,qHAAqH,4BAA4B,2DAA2D,4BAA4B,wBAAwB,OAAO,+BAA+B,qBAAqB,4IAA4I,iCAAiC,gEAAgE,sUAAsU,sBAAsB,uCAAuC,+FAA+F,uBAAuB,+BAA+B,EAAE,mBAAmB,0CAA0C,uVAAuV,gBAAgB,sJAAsJ,mDAAmD,mBAAmB,0EAA0E,qBAAqB,wBAAwB,2BAA2B,GAAG,qBAAqB,gDAAgD,0BAA0B,0BAA0B,mFAAmF,mGAAmG,+HAA+H,gBAAgB,2JAA2J,sCAAsC,uCAAuC,uBAAuB,2IAA2I,8BAA8B,wBAAwB,sDAAsD,0BAA0B,wGAAwG,yBAAyB,QAAQ,2HAA2H,4BAA4B,6EAA6E,QAAQ,gCAAgC,6BAA6B,gKAAgK,uBAAuB,UAAU,4IAA4I,wCAAwC,yDAAyD,gBAAgB,4BAA4B,QAAQ,EAAE,qBAAqB,sCAAsC,oCAAoC,yBAAyB,wBAAwB,iJAAiJ,6DAA6D,yEAAyE,KAAK,sDAAsD,6EAA6E,0DAA0D,sCAAsC,OAAO,gBAAgB,mBAAmB,wBAAwB,cAAc,aAAa,4BAA4B,yBAAyB,0EAA0E,yCAAyC,OAAO,iCAAiC,qBAAqB,8GAA8G,IAAI,iCAAiC,sBAAsB,qBAAqB,qCAAqC,2BAA2B,GAAG,oDAAoD,0CAA0C,4CAA4C,aAAa,4BAA4B,yBAAyB,yEAAyE,wCAAwC,OAAO,gEAAgE,mCAAmC,+BAA+B,gCAAgC,wCAAwC,qBAAqB,wOAAwO,IAAI,gBAAgB,IAAI,KAAK,gDAAgD,IAAI,gBAAgB,IAAI,KAAK,oBAAoB,0BAA0B,2BAA2B,+CAA+C,4CAA4C,sBAAsB,qBAAqB,qCAAqC,sCAAsC,GAAG,mDAAmD,yCAAyC,4CAA4C,aAAa,4BAA4B,yBAAyB,oFAAoF,mDAAmD,OAAO,iCAAiC,qBAAqB,wHAAwH,IAAI,0BAA0B,sBAAsB,qBAAqB,qCAAqC,yBAAyB,GAAG,8DAA8D,oDAAoD,4CAA4C,aAAa,4BAA4B,EAAE,yEAAyE,qCAAqC,wGAAwG,IAAI,wDAAwD,uBAAuB,kDAAkD,sCAAsC,4CAA4C,aAAa,4BAA4B,EAAE,sEAAsE,kCAAkC,sFAAsF,QAAQ,IAAI,uDAAuD,uBAAuB,+CAA+C,mCAAmC,4CAA4C,aAAa,4BAA4B,yBAAyB,oEAAoE,mCAAmC,OAAO,2EAA2E,qBAAqB,cAAc,uKAAuK,uFAAuF,iEAAiE,QAAQ,IAAI,mBAAmB,uBAAuB,qBAAqB,qCAAqC,+CAA+C,GAAG,gDAAgD,wCAAwC,+DAA+D,EAAE,+BAA+B,4CAA4C,aAAa,4BAA4B,yBAAyB,qEAAqE,oCAAoC,OAAO,uBAAuB,qBAAqB,2GAA2G,IAAI,wDAAwD,sBAAsB,qBAAqB,qCAAqC,iBAAiB,GAAG,+CAA+C,qCAAqC,4CAA4C,aAAa,4BAA4B,yBAAyB,wEAAwE,uCAAuC,OAAO,+BAA+B,qBAAqB,4GAA4G,QAAQ,IAAI,0BAA0B,IAAI,mBAAmB,4CAA4C,+BAA+B,IAAI,mCAAmC,IAAI,gDAAgD,sBAAsB,qBAAqB,qCAAqC,yBAAyB,GAAG,kDAAkD,wCAAwC,4CAA4C,aAAa,4BAA4B,yBAAyB,2EAA2E,0CAA0C,OAAO,6DAA6D,qBAAqB,sJAAsJ,IAAI,sFAAsF,sBAAsB,qBAAqB,qCAAqC,gDAAgD,GAAG,qDAAqD,2CAA2C,4CAA4C,aAAa,4BAA4B,EAAE,qEAAqE,iCAAiC,wFAAwF,QAAQ,IAAI,yEAAyE,uBAAuB,8CAA8C,kCAAkC,4CAA4C,aAAa,4BAA4B,EAAE,sEAAsE,kCAAkC,4FAA4F,QAAQ,IAAI,uIAAuI,uBAAuB,+CAA+C,mCAAmC,4CAA4C,aAAa,4BAA4B,yBAAyB,oEAAoE,mCAAmC,OAAO,4GAA4G,qBAAqB,sGAAsG,2HAA2H,IAAI,mEAAmE,sBAAsB,qBAAqB,qCAAqC,sCAAsC,GAAG,8CAA8C,oCAAoC,4CAA4C,aAAa,4BAA4B,yBAAyB,wEAAwE,uCAAuC,OAAO,+BAA+B,qBAAqB,wFAAwF,8CAA8C,IAAI,sDAAsD,sBAAsB,qBAAqB,qCAAqC,iBAAiB,GAAG,kDAAkD,wCAAwC,4CAA4C,aAAa,eAAe,0CAA0C,oCAAoC,OAAO,sGAAsG,qBAAqB,4FAA4F,eAAe,KAAK,mCAAmC,oDAAoD,4BAA4B,+EAA+E,iGAAiG,uBAAuB,IAAI,+GAA+G,0DAA0D,MAAM,0EAA0E,MAAM,mFAAmF,MAAM,yFAAyF,MAAM,qCAAqC,2CAA2C,MAAM,0EAA0E,MAAM,2EAA2E,uBAAuB,+CAA+C,qCAAqC,4CAA4C,aAAa,4BAA4B,yGAAyG,mDAAmD,KAAK,kDAAkD,uLAAuL,0BAA0B,sHAAsH,6QAA6Q,OAAO,uGAAuG,4BAA4B,0BAA0B,mCAAmC,kCAAkC,qBAAqB,+CAA+C,+DAA+D,GAAG,qBAAqB,qFAAqF,8BAA8B,uCAAuC,uYAAuY,2BAA2B,oKAAoK,oCAAoC,iIAAiI,8BAA8B,oBAAoB,uBAAuB,IAAI,KAAK,8DAA8D,uBAAuB,oDAAoD,GAAG,4BAA4B,+JAA+J,8BAA8B,8CAA8C,6BAA6B,wDAAwD,IAAI,KAAK,gCAAgC,WAAW,SAAS,kCAAkC,YAAY,uCAAuC,kDAAkD,0CAA0C,gHAAgH,IAAI,uEAAuE,oCAAoC,oCAAoC,2BAA2B,sCAAsC,0BAA0B,qBAAqB,+BAA+B,yCAAyC,oBAAoB,2BAA2B,IAAI,4HAA4H,iCAAiC,iEAAiE,QAAQ,gMAAgM,uBAAuB,IAAI,6HAA6H,2BAA2B,6BAA6B,qCAAqC,qCAAqC,sEAAsE,sCAAsC,4JAA4J,0CAA0C,6BAA6B,8CAA8C,uBAAuB,IAAI,kBAAkB,8DAA8D,yHAAyH,aAAa,gCAAgC,yFAAyF,6BAA6B,mEAAmE,qCAAqC,cAAc,uBAAuB,IAAI,KAAK,wDAAwD,0EAA0E,wBAAwB,wCAAwC,2QAA2Q,gCAAgC,wLAAwL,sBAAsB,iBAAiB,8BAA8B,wEAAwE,uKAAuK,sBAAsB,sCAAsC,iSAAiS,EAAE,iEAAiE,mBAAmB,+JAA+J,mIAAmI,mCAAmC,oNAAoN,OAAO,iJAAiJ,qCAAqC,0jBAA0jB,8BAA8B,iBAAiB,4CAA4C,mBAAmB,IAAI,kBAAkB,uEAAuE,qRAAqR,SAAS,SAAS,kCAAkC,kBAAkB,kBAAkB,uBAAuB,IAAI,6IAA6I,OAAO,2BAA2B,yCAAyC,4EAA4E,4LAA4L,qCAAqC,+OAA+O,uBAAuB,mOAAmO,gCAAgC,8CAA8C,uHAAuH,oBAAoB,6MAA6M,uBAAuB,UAAU,sNAAsN,kBAAkB,kDAAkD,kDAAkD,6IAA6I,sCAAsC,6FAA6F,kDAAkD,IAAI,+BAA+B,+BAA+B,iCAAiC,gCAAgC,QAAQ,8B","file":"scripts.js","sourcesContent":["/*! jQuery v3.4.1 | (c) JS Foundation and other contributors | jquery.org/license */\r\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(C,e){\"use strict\";var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return\"function\"==typeof e&&\"number\"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement(\"script\");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+\"\":\"object\"==typeof e||\"function\"==typeof e?n[o.call(e)]||\"object\":typeof e}var f=\"3.4.1\",k=function(e,t){return new k.fn.init(e,t)},p=/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g;function d(e){var t=!!e&&\"length\"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&(\"array\"===n||0===t||\"number\"==typeof t&&0<t&&t-1 in e)}k.fn=k.prototype={jquery:f,constructor:k,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=k.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return k.each(this,e)},map:function(n){return this.pushStack(k.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},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:u,sort:t.sort,splice:t.splice},k.extend=k.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||m(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&&(k.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||k.isPlainObject(n)?n:{},i=!1,a[t]=k.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},k.extend({expando:\"jQuery\"+(f+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]\"!==o.call(e))&&(!(t=r(e))||\"function\"==typeof(n=v.call(t,\"constructor\")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t){b(e,{nonce:t&&t.nonce})},each:function(e,t){var n,r=0;if(d(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},trim:function(e){return null==e?\"\":(e+\"\").replace(p,\"\")},makeArray:function(e,t){var n=t||[];return null!=e&&(d(Object(e))?k.merge(n,\"string\"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},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(d(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.apply([],a)},guid:1,support:y}),\"function\"==typeof Symbol&&(k.fn[Symbol.iterator]=t[Symbol.iterator]),k.each(\"Boolean Number String Function Array Date RegExp Object Error Symbol\".split(\" \"),function(e,t){n[\"[object \"+t+\"]\"]=t.toLowerCase()});var h=function(n){var e,d,b,o,i,h,f,g,w,u,l,T,C,a,E,v,s,c,y,k=\"sizzle\"+1*new Date,m=n.document,S=0,r=0,p=ue(),x=ue(),N=ue(),A=ue(),D=function(e,t){return e===t&&(l=!0),0},j={}.hasOwnProperty,t=[],q=t.pop,L=t.push,H=t.push,O=t.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R=\"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped\",M=\"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\",I=\"(?:\\\\\\\\.|[\\\\w-]|[^\\0-\\\\xa0])+\",W=\"\\\\[\"+M+\"*(\"+I+\")(?:\"+M+\"*([*^$|!~]?=)\"+M+\"*(?:'((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\"|(\"+I+\"))|)\"+M+\"*\\\\]\",$=\":(\"+I+\")(?:\\\\((('((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\")|((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|\"+W+\")*)|.*)\\\\)|)\",F=new RegExp(M+\"+\",\"g\"),B=new RegExp(\"^\"+M+\"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\"+M+\"+$\",\"g\"),_=new RegExp(\"^\"+M+\"*,\"+M+\"*\"),z=new RegExp(\"^\"+M+\"*([>+~]|\"+M+\")\"+M+\"*\"),U=new RegExp(M+\"|>\"),X=new RegExp($),V=new RegExp(\"^\"+I+\"$\"),G={ID:new RegExp(\"^#(\"+I+\")\"),CLASS:new RegExp(\"^\\\\.(\"+I+\")\"),TAG:new RegExp(\"^(\"+I+\"|[*])\"),ATTR:new RegExp(\"^\"+W),PSEUDO:new RegExp(\"^\"+$),CHILD:new RegExp(\"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\"+M+\"*(even|odd|(([+-]|)(\\\\d*)n|)\"+M+\"*(?:([+-]|)\"+M+\"*(\\\\d+)|))\"+M+\"*\\\\)|)\",\"i\"),bool:new RegExp(\"^(?:\"+R+\")$\",\"i\"),needsContext:new RegExp(\"^\"+M+\"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\"+M+\"*((?:-\\\\d)?\\\\d*)\"+M+\"*\\\\)|)(?=[^-]|$)\",\"i\")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\\d$/i,K=/^[^{]+\\{\\s*\\[native \\w/,Z=/^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,ee=/[+~]/,te=new RegExp(\"\\\\\\\\([\\\\da-f]{1,6}\"+M+\"?|(\"+M+\")|.)\",\"ig\"),ne=function(e,t,n){var r=\"0x\"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\\0-\\x1f\\x7f]|^-?\\d)|^-$|[^\\0-\\x1f\\x7f-\\uFFFF\\w-]/g,ie=function(e,t){return t?\"\\0\"===e?\"\\ufffd\":e.slice(0,-1)+\"\\\\\"+e.charCodeAt(e.length-1).toString(16)+\" \":\"\\\\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&\"fieldset\"===e.nodeName.toLowerCase()},{dir:\"parentNode\",next:\"legend\"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(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&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+\" \"]&&(!v||!v.test(t))&&(1!==p||\"object\"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){(s=e.getAttribute(\"id\"))?s=s.replace(re,ie):e.setAttribute(\"id\",s=k),o=(l=h(t)).length;while(o--)l[o]=\"#\"+s+\" \"+xe(l[o]);c=l.join(\",\"),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute(\"id\")}}}return g(t.replace(B,\"$1\"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+\" \")>b.cacheLength&&delete e[r.shift()],e[t+\" \"]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement(\"fieldset\");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split(\"|\"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return\"input\"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return(\"input\"===t||\"button\"===t)&&e.type===n}}function ge(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&&ae(e)===t:e.disabled===t:\"label\"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(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 ye(e){return e&&\"undefined\"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||\"HTML\")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener(\"unload\",oe,!1):n.attachEvent&&n.attachEvent(\"onunload\",oe)),d.attributes=ce(function(e){return e.className=\"i\",!e.getAttribute(\"className\")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment(\"\")),!e.getElementsByTagName(\"*\").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute(\"id\")===t}},b.find.ID=function(e,t){if(\"undefined\"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);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&&E){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=d.getElementsByTagName?function(e,t){return\"undefined\"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if(\"*\"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if(\"undefined\"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML=\"<a id='\"+k+\"'></a><select id='\"+k+\"-\\r\\\\' msallowcapture=''><option selected=''></option></select>\",e.querySelectorAll(\"[msallowcapture^='']\").length&&v.push(\"[*^$]=\"+M+\"*(?:''|\\\"\\\")\"),e.querySelectorAll(\"[selected]\").length||v.push(\"\\\\[\"+M+\"*(?:value|\"+R+\")\"),e.querySelectorAll(\"[id~=\"+k+\"-]\").length||v.push(\"~=\"),e.querySelectorAll(\":checked\").length||v.push(\":checked\"),e.querySelectorAll(\"a#\"+k+\"+*\").length||v.push(\".#.+[+~]\")}),ce(function(e){e.innerHTML=\"<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>\";var t=C.createElement(\"input\");t.setAttribute(\"type\",\"hidden\"),e.appendChild(t).setAttribute(\"name\",\"D\"),e.querySelectorAll(\"[name=d]\").length&&v.push(\"name\"+M+\"*[*^$|!~]?=\"),2!==e.querySelectorAll(\":enabled\").length&&v.push(\":enabled\",\":disabled\"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(\":disabled\").length&&v.push(\":enabled\",\":disabled\"),e.querySelectorAll(\"*,:x\"),v.push(\",.*:\")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,\"*\"),c.call(e,\"[s!='']:x\"),s.push(\"!=\",$)}),v=v.length&&new RegExp(v.join(\"|\")),s=s.length&&new RegExp(s.join(\"|\")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+\" \"]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0<se(t,C,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!==C&&T(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!==C&&T(e);var n=b.attrHandle[t.toLowerCase()],r=n&&j.call(b.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:d.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+\"\").replace(re,ie)},se.error=function(e){throw new Error(\"Syntax error, unrecognized expression: \"+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!d.detectDuplicates,u=!d.sortStable&&e.slice(0),e.sort(D),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n=\"\",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if(\"string\"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(b=se.selectors={cacheLength:50,createPseudo:le,match:G,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(te,ne),e[3]=(e[3]||e[4]||e[5]||\"\").replace(te,ne),\"~=\"===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]||se.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]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||\"\":n&&X.test(n)&&(t=h(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(te,ne).toLowerCase();return\"*\"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+\" \"];return t||(t=new RegExp(\"(^|\"+M+\")\"+e+\"(\"+M+\"|$)\"))&&p(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=se.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(F,\" \")+\" \").indexOf(i):\"|=\"===r&&(t===i||t.slice(0,i.length+1)===i+\"-\"))}},CHILD:function(h,e,t,g,v){var y=\"nth\"!==h.slice(0,3),m=\"last\"!==h.slice(-4),x=\"of-type\"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?\"nextSibling\":\"previousSibling\",c=e.parentNode,f=x&&e.nodeName.toLowerCase(),p=!n&&!x,d=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(x?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l=\"only\"===h&&!u&&\"nextSibling\"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&p){d=(s=(r=(i=(o=(a=c)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if(1===a.nodeType&&++d&&a===e){i[h]=[S,s,d];break}}else if(p&&(d=s=(r=(i=(o=(a=e)[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===S&&r[1]),!1===d)while(a=++s&&a&&a[l]||(d=s=0)||u.pop())if((x?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++d&&(p&&((i=(o=a[k]||(a[k]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[S,d]),a===e))break;return(d-=v)===g||d%g==0&&0<=d/g}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||se.error(\"unsupported pseudo: \"+e);return a[k]?a(o):1<a.length?(t=[e,e,\"\",o],b.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=P(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace(B,\"$1\"));return s[k]?le(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:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return V.test(n||\"\")||se.error(\"unsupported lang: \"+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?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=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===C.activeElement&&(!C.hasFocus||C.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return\"input\"===t&&!!e.checked||\"option\"===t&&!!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 J.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return\"input\"===t&&\"button\"===e.type||\"button\"===t},text:function(e){var t;return\"input\"===e.nodeName.toLowerCase()&&\"text\"===e.type&&(null==(t=e.getAttribute(\"type\"))||\"text\"===t.toLowerCase())},first:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(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]=de(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=he(e);function me(){}function xe(e){for(var t=0,n=e.length,r=\"\";t<n;t++)r+=e[t].value;return r}function be(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&\"parentNode\"===c,p=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[S,p];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[k]||(e[k]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===S&&r[1]===p)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(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 Te(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 Ce(d,h,g,v,y,e){return v&&!v[k]&&(v=Ce(v)),y&&!y[k]&&(y=Ce(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||\"*\",n.nodeType?[n]:n,[]),f=!d||!e&&h?c:Te(c,s,d,n,r),p=g?y||(e?d:l||v)?[]:t:f;if(g&&g(f,p,n,r),v){i=Te(p,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(p[u[o]]=!(f[u[o]]=a))}if(e){if(y||d){if(y){i=[],o=p.length;while(o--)(a=p[o])&&i.push(f[o]=a);y(null,p=[],i,r)}o=p.length;while(o--)(a=p[o])&&-1<(i=y?P(e,a):s[o])&&(e[i]=!(t[i]=a))}}else p=Te(p===t?p.splice(l,p.length):p),y?y(null,t,p,r):H.apply(t,p)})}function Ee(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[\" \"],s=o?1:0,u=be(function(e){return e===i},a,!0),l=be(function(e){return-1<P(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=[be(we(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[k]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return Ce(1<s&&we(c),1<s&&xe(e.slice(0,s-1).concat({value:\" \"===e[s-2].type?\"*\":\"\"})).replace(B,\"$1\"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&xe(e))}c.push(t)}return we(c)}return me.prototype=b.filters=b.pseudos,b.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=x[e+\" \"];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=_.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=z.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace(B,\" \")}),a=a.slice(n.length)),b.filter)!(r=G[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?se.error(e):x(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,x,r,i=[],o=[],a=N[e+\" \"];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[k]?i.push(a):o.push(a);(a=N(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=S+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t===C||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument===C||(T(o),n=!E);while(s=v[a++])if(s(o,t||C,n)){r.push(o);break}i&&(S=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]=q.call(r));f=Te(f)}H.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(S=h,w=p),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l=\"function\"==typeof e&&e,c=!r&&h(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&&E&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=G.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(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&xe(o)))return H.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},d.sortStable=k.split(\"\").sort(D).join(\"\")===k,d.detectDuplicates=!!l,T(),d.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(C.createElement(\"fieldset\"))}),ce(function(e){return e.innerHTML=\"<a href='#'></a>\",\"#\"===e.firstChild.getAttribute(\"href\")})||fe(\"type|href|height|width\",function(e,t,n){if(!n)return e.getAttribute(t,\"type\"===t.toLowerCase()?1:2)}),d.attributes&&ce(function(e){return e.innerHTML=\"<input/>\",e.firstChild.setAttribute(\"value\",\"\"),\"\"===e.firstChild.getAttribute(\"value\")})||fe(\"value\",function(e,t,n){if(!n&&\"input\"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute(\"disabled\")})||fe(R,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(C);k.find=h,k.expr=h.selectors,k.expr[\":\"]=k.expr.pseudos,k.uniqueSort=k.unique=h.uniqueSort,k.text=h.getText,k.isXMLDoc=h.isXML,k.contains=h.contains,k.escapeSelector=h.escape;var T=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&k(e).is(n))break;r.push(e)}return r},S=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},N=k.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var D=/^<([a-z][^\\/\\0>:\\x20\\t\\r\\n\\f]*)[\\x20\\t\\r\\n\\f]*\\/?>(?:<\\/\\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):\"string\"!=typeof n?k.grep(e,function(e){return-1<i.call(n,e)!==r}):k.filter(n,e,r)}k.filter=function(e,t,n){var r=t[0];return n&&(e=\":not(\"+e+\")\"),1===t.length&&1===r.nodeType?k.find.matchesSelector(r,e)?[r]:[]:k.find.matches(e,k.grep(t,function(e){return 1===e.nodeType}))},k.fn.extend({find:function(e){var t,n,r=this.length,i=this;if(\"string\"!=typeof e)return this.pushStack(k(e).filter(function(){for(t=0;t<r;t++)if(k.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)k.find(e,i[t],n);return 1<r?k.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,\"string\"==typeof e&&N.test(e)?k(e):e||[],!1).length}});var q,L=/^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,\"string\"==typeof e){if(!(r=\"<\"===e[0]&&\">\"===e[e.length-1]&&3<=e.length?[null,e,null]:L.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 k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this)}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(k.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a=\"string\"!=typeof e&&k(e);if(!N.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&&k.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?k.uniqueSort(o):o)},index:function(e){return e?\"string\"==typeof e?i.call(k(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(k.uniqueSort(k.merge(this.get(),k(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),k.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return T(e,\"parentNode\")},parentsUntil:function(e,t,n){return T(e,\"parentNode\",n)},next:function(e){return P(e,\"nextSibling\")},prev:function(e){return P(e,\"previousSibling\")},nextAll:function(e){return T(e,\"nextSibling\")},prevAll:function(e){return T(e,\"previousSibling\")},nextUntil:function(e,t,n){return T(e,\"nextSibling\",n)},prevUntil:function(e,t,n){return T(e,\"previousSibling\",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return\"undefined\"!=typeof e.contentDocument?e.contentDocument:(A(e,\"template\")&&(e=e.content||e),k.merge([],e.childNodes))}},function(r,i){k.fn[r]=function(e,t){var n=k.map(this,i,e);return\"Until\"!==r.slice(-5)&&(t=e),t&&\"string\"==typeof t&&(n=k.filter(t,n)),1<this.length&&(O[r]||k.uniqueSort(n),H.test(r)&&n.reverse()),this.pushStack(n)}});var R=/[^\\x20\\t\\r\\n\\f]+/g;function M(e){return e}function I(e){throw e}function W(e,t,n,r){var i;try{e&&m(i=e.promise)?i.call(e).done(t).fail(n):e&&m(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}k.Callbacks=function(r){var e,n;r=\"string\"==typeof r?(e=r,n={},k.each(e.match(R)||[],function(e,t){n[t]=!0}),n):k.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){k.each(e,function(e,t){m(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&\"string\"!==w(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return k.each(arguments,function(e,t){var n;while(-1<(n=k.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<k.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},k.extend({Deferred:function(e){var o=[[\"notify\",\"progress\",k.Callbacks(\"memory\"),k.Callbacks(\"memory\"),2],[\"resolve\",\"done\",k.Callbacks(\"once memory\"),k.Callbacks(\"once memory\"),0,\"resolved\"],[\"reject\",\"fail\",k.Callbacks(\"once memory\"),k.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 k.Deferred(function(r){k.each(o,function(e,t){var n=m(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&m(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,m(t)?s?t.call(e,l(u,o,M,s),l(u,o,I,s)):(u++,t.call(e,l(u,o,M,s),l(u,o,I,s),l(u,o,M,o.notifyWith))):(a!==M&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){k.Deferred.exceptionHook&&k.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==I&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(k.Deferred.getStackHook&&(t.stackTrace=k.Deferred.getStackHook()),C.setTimeout(t))}}return k.Deferred(function(e){o[0][3].add(l(0,e,m(r)?r:M,e.notifyWith)),o[1][3].add(l(0,e,m(t)?t:M)),o[2][3].add(l(0,e,m(n)?n:I))}).promise()},promise:function(e){return null!=e?k.extend(e,a):a}},s={};return k.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=s.call(arguments),o=k.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(W(e,o.done(a(t)).resolve,o.reject,!n),\"pending\"===o.state()||m(i[t]&&i[t].then)))return o.then();while(t--)W(i[t],a(t),o.reject);return o.promise()}});var $=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;k.Deferred.exceptionHook=function(e,t){C.console&&C.console.warn&&e&&$.test(e.name)&&C.console.warn(\"jQuery.Deferred exception: \"+e.message,e.stack,t)},k.readyException=function(e){C.setTimeout(function(){throw e})};var F=k.Deferred();function B(){E.removeEventListener(\"DOMContentLoaded\",B),C.removeEventListener(\"load\",B),k.ready()}k.fn.ready=function(e){return F.then(e)[\"catch\"](function(e){k.readyException(e)}),this},k.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--k.readyWait:k.isReady)||(k.isReady=!0)!==e&&0<--k.readyWait||F.resolveWith(E,[k])}}),k.ready.then=F.then,\"complete\"===E.readyState||\"loading\"!==E.readyState&&!E.documentElement.doScroll?C.setTimeout(k.ready):(E.addEventListener(\"DOMContentLoaded\",B),C.addEventListener(\"load\",B));var _=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if(\"object\"===w(n))for(s in i=!0,n)_(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,m(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(k(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},z=/^-ms-/,U=/-([a-z])/g;function X(e,t){return t.toUpperCase()}function V(e){return e.replace(z,\"ms-\").replace(U,X)}var G=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function Y(){this.expando=k.expando+Y.uid++}Y.uid=1,Y.prototype={cache:function(e){var t=e[this.expando];return t||(t={},G(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[V(t)]=n;else for(r in t)i[V(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][V(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(V):(t=V(t))in r?[t]:t.match(R)||[]).length;while(n--)delete r[t[n]]}(void 0===t||k.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&&!k.isEmptyObject(t)}};var Q=new Y,J=new Y,K=/^(?:\\{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/,Z=/[A-Z]/g;function ee(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r=\"data-\"+t.replace(Z,\"-$&\").toLowerCase(),\"string\"==typeof(n=e.getAttribute(r))){try{n=\"true\"===(i=n)||\"false\"!==i&&(\"null\"===i?null:i===+i+\"\"?+i:K.test(i)?JSON.parse(i):i)}catch(e){}J.set(e,t,n)}else n=void 0;return n}k.extend({hasData:function(e){return J.hasData(e)||Q.hasData(e)},data:function(e,t,n){return J.access(e,t,n)},removeData:function(e,t){J.remove(e,t)},_data:function(e,t,n){return Q.access(e,t,n)},_removeData:function(e,t){Q.remove(e,t)}}),k.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=J.get(o),1===o.nodeType&&!Q.get(o,\"hasDataAttrs\"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf(\"data-\")&&(r=V(r.slice(5)),ee(o,r,i[r]));Q.set(o,\"hasDataAttrs\",!0)}return i}return\"object\"==typeof n?this.each(function(){J.set(this,n)}):_(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=J.get(o,n))?t:void 0!==(t=ee(o,n))?t:void 0;this.each(function(){J.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){J.remove(this,e)})}}),k.extend({queue:function(e,t,n){var r;if(e)return t=(t||\"fx\")+\"queue\",r=Q.get(e,t),n&&(!r||Array.isArray(n)?r=Q.access(e,t,k.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||\"fx\";var n=k.queue(e,t),r=n.length,i=n.shift(),o=k._queueHooks(e,t);\"inprogress\"===i&&(i=n.shift(),r--),i&&(\"fx\"===t&&n.unshift(\"inprogress\"),delete o.stop,i.call(e,function(){k.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+\"queueHooks\";return Q.get(e,n)||Q.access(e,n,{empty:k.Callbacks(\"once memory\").add(function(){Q.remove(e,[t+\"queue\",n])})})}}),k.fn.extend({queue:function(t,n){var e=2;return\"string\"!=typeof t&&(n=t,t=\"fx\",e--),arguments.length<e?k.queue(this[0],t):void 0===n?this:this.each(function(){var e=k.queue(this,t,n);k._queueHooks(this,t),\"fx\"===t&&\"inprogress\"!==e[0]&&k.dequeue(this,t)})},dequeue:function(e){return this.each(function(){k.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||\"fx\",[])},promise:function(e,t){var n,r=1,i=k.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=Q.get(o[a],e+\"queueHooks\"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var te=/[+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|)/.source,ne=new RegExp(\"^(?:([+-])=|)(\"+te+\")([a-z%]*)$\",\"i\"),re=[\"Top\",\"Right\",\"Bottom\",\"Left\"],ie=E.documentElement,oe=function(e){return k.contains(e.ownerDocument,e)},ae={composed:!0};ie.getRootNode&&(oe=function(e){return k.contains(e.ownerDocument,e)||e.getRootNode(ae)===e.ownerDocument});var se=function(e,t){return\"none\"===(e=t||e).style.display||\"\"===e.style.display&&oe(e)&&\"none\"===k.css(e,\"display\")},ue=function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];for(o in i=n.apply(e,r||[]),t)e.style[o]=a[o];return i};function le(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return k.css(e,t,\"\")},u=s(),l=n&&n[3]||(k.cssNumber[t]?\"\":\"px\"),c=e.nodeType&&(k.cssNumber[t]||\"px\"!==l&&+u)&&ne.exec(k.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)k.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,k.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 ce={};function fe(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]=Q.get(r,\"display\")||null,l[c]||(r.style.display=\"\")),\"\"===r.style.display&&se(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ce[s])||(o=a.body.appendChild(a.createElement(s)),u=k.css(o,\"display\"),o.parentNode.removeChild(o),\"none\"===u&&(u=\"block\"),ce[s]=u)))):\"none\"!==n&&(l[c]=\"none\",Q.set(r,\"display\",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}k.fn.extend({show:function(){return fe(this,!0)},hide:function(){return fe(this)},toggle:function(e){return\"boolean\"==typeof e?e?this.show():this.hide():this.each(function(){se(this)?k(this).show():k(this).hide()})}});var pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\\/\\0>\\x20\\t\\r\\n\\f]*)/i,he=/^$|^module$|\\/(?:java|ecma)script/i,ge={option:[1,\"<select multiple='multiple'>\",\"</select>\"],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 ve(e,t){var n;return n=\"undefined\"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||\"*\"):\"undefined\"!=typeof e.querySelectorAll?e.querySelectorAll(t||\"*\"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)Q.set(e[n],\"globalEval\",!t||Q.get(t[n],\"globalEval\"))}ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;var me,xe,be=/<|&#?\\w+;/;function we(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\"===w(o))k.merge(p,o.nodeType?[o]:o);else if(be.test(o)){a=a||f.appendChild(t.createElement(\"div\")),s=(de.exec(o)||[\"\",\"\"])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+k.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;k.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<k.inArray(o,r))i&&i.push(o);else if(l=oe(o),a=ve(f.appendChild(o),\"script\"),l&&ye(a),n){c=0;while(o=a[c++])he.test(o.type||\"\")&&n.push(o)}return f}me=E.createDocumentFragment().appendChild(E.createElement(\"div\")),(xe=E.createElement(\"input\")).setAttribute(\"type\",\"radio\"),xe.setAttribute(\"checked\",\"checked\"),xe.setAttribute(\"name\",\"t\"),me.appendChild(xe),y.checkClone=me.cloneNode(!0).cloneNode(!0).lastChild.checked,me.innerHTML=\"<textarea>x</textarea>\",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==(\"focus\"===t)}function Ae(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)Ae(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=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return\"undefined\"!=typeof k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||\"\").match(R)||[\"\"]).length;while(l--)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||\"\").split(\".\").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.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),k.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){l=(t=(t||\"\").match(R)||[\"\"]).length;while(l--)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||\"\").split(\".\").sort(),d){f=k.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)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,\"handle events\")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,\"events\")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t<arguments.length;t++)u[t]=arguments[t];if(s.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,s)){a=k.event.handlers.call(this,s,l),t=0;while((i=a[t++])&&!s.isPropagationStopped()){s.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!s.isImmediatePropagationStopped())s.rnamespace&&!1!==o.namespace&&!s.rnamespace.test(o.namespace)||(s.handleObj=o,s.data=o.data,void 0!==(r=((k.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,u))&&!1===(s.result=r)&&(s.preventDefault(),s.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,s),s.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<k(i,this).index(l):k.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(k.Event.prototype,t,{enumerable:!0,configurable:!0,get:m(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[k.expando]?e:new k.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,\"input\")&&De(t,\"click\",ke),!1},trigger:function(e){var t=this||e;return pe.test(t.type)&&t.click&&A(t,\"input\")&&De(t,\"click\"),!0},_default:function(e){var t=e.target;return pe.test(t.type)&&t.click&&A(t,\"input\")&&Q.get(t,\"click\")||A(t,\"a\")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},k.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},k.Event=function(e,t){if(!(this instanceof k.Event))return new k.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?ke:Se,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&&k.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[k.expando]=!0},k.Event.prototype={constructor:k.Event,isDefaultPrevented:Se,isPropagationStopped:Se,isImmediatePropagationStopped:Se,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=ke,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=ke,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=ke,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},k.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:function(e){var t=e.button;return null==e.which&&Te.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Ce.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},k.event.addProp),k.each({focus:\"focusin\",blur:\"focusout\"},function(e,t){k.event.special[e]={setup:function(){return De(this,e,Ne),!1},trigger:function(){return De(this,e),!0},delegateType:t}}),k.each({mouseenter:\"mouseover\",mouseleave:\"mouseout\",pointerenter:\"pointerover\",pointerleave:\"pointerout\"},function(e,i){k.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||k.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),k.fn.extend({on:function(e,t,n,r){return Ae(this,e,t,n,r)},one:function(e,t,n,r){return Ae(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,k(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=Se),this.each(function(){k.event.remove(this,e,n,t)})}});var je=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\\/\\0>\\x20\\t\\r\\n\\f]*)[^>]*)\\/>/gi,qe=/<script|<style|<link/i,Le=/checked\\s*(?:[^=]|=\\s*.checked.)/i,He=/^\\s*<!(?:\\[CDATA\\[|--)|(?:\\]\\]|--)>\\s*$/g;function Oe(e,t){return A(e,\"table\")&&A(11!==t.nodeType?t:t.firstChild,\"tr\")&&k(e).children(\"tbody\")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute(\"type\"))+\"/\"+e.type,e}function Re(e){return\"true/\"===(e.type||\"\").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute(\"type\"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n<r;n++)k.event.add(t,i,l[i][n]);J.hasData(e)&&(s=J.access(e),u=k.extend({},s),J.set(t,u))}}function Ie(n,r,i,o){r=g.apply([],r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=m(d);if(h||1<f&&\"string\"==typeof d&&!y.checkClone&&Le.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),Ie(t,r,i,o)});if(f&&(t=(e=we(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=k.map(ve(e,\"script\"),Pe)).length;c<f;c++)u=e,c!==p&&(u=k.clone(u,!0,!0),s&&k.merge(a,ve(u,\"script\"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,k.map(a,Re),c=0;c<s;c++)u=a[c],he.test(u.type||\"\")&&!Q.access(u,\"globalEval\")&&k.contains(l,u)&&(u.src&&\"module\"!==(u.type||\"\").toLowerCase()?k._evalUrl&&!u.noModule&&k._evalUrl(u.src,{nonce:u.nonce||u.getAttribute(\"nonce\")}):b(u.textContent.replace(He,\"\"),u,l))}return n}function We(e,t,n){for(var r,i=t?k.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||k.cleanData(ve(r)),r.parentNode&&(n&&oe(r)&&ye(ve(r,\"script\")),r.parentNode.removeChild(r));return e}k.extend({htmlPrefilter:function(e){return e.replace(je,\"<$1></$2>\")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r<i;r++)s=o[r],u=a[r],void 0,\"input\"===(l=u.nodeName.toLowerCase())&&pe.test(s.type)?u.checked=s.checked:\"input\"!==l&&\"textarea\"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ve(e),a=a||ve(c),r=0,i=o.length;r<i;r++)Me(o[r],a[r]);else Me(e,c);return 0<(a=ve(c,\"script\")).length&&ye(a,!f&&ve(e,\"script\")),c},cleanData:function(e){for(var t,n,r,i=k.event.special,o=0;void 0!==(n=e[o]);o++)if(G(n)){if(t=n[Q.expando]){if(t.events)for(r in t.events)i[r]?k.event.remove(n,r):k.removeEvent(n,r,t.handle);n[Q.expando]=void 0}n[J.expando]&&(n[J.expando]=void 0)}}}),k.fn.extend({detach:function(e){return We(this,e,!0)},remove:function(e){return We(this,e)},text:function(e){return _(this,function(e){return void 0===e?k.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 Ie(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Oe(this,e).appendChild(e)})},prepend:function(){return Ie(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Oe(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Ie(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Ie(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&&(k.cleanData(ve(e,!1)),e.textContent=\"\");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return k.clone(this,e,t)})},html:function(e){return _(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&&!qe.test(e)&&!ge[(de.exec(e)||[\"\",\"\"])[1].toLowerCase()]){e=k.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(k.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return Ie(this,arguments,function(e){var t=this.parentNode;k.inArray(this,n)<0&&(k.cleanData(ve(this)),t&&t.replaceChild(e,this))},n)}}),k.each({appendTo:\"append\",prependTo:\"prepend\",insertBefore:\"before\",insertAfter:\"after\",replaceAll:\"replaceWith\"},function(e,a){k.fn[e]=function(e){for(var t,n=[],r=k(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),k(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var $e=new RegExp(\"^(\"+te+\")(?!px)[a-z%]+$\",\"i\"),Fe=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=C),t.getComputedStyle(e)},Be=new RegExp(re.join(\"|\"),\"i\");function _e(e,t,n){var r,i,o,a,s=e.style;return(n=n||Fe(e))&&(\"\"!==(a=n.getPropertyValue(t)||n[t])||oe(e)||(a=k.style(e,t)),!y.pixelBoxStyles()&&$e.test(a)&&Be.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+\"\":a}function ze(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(u){s.style.cssText=\"position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0\",u.style.cssText=\"position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%\",ie.appendChild(s).appendChild(u);var e=C.getComputedStyle(u);n=\"1%\"!==e.top,a=12===t(e.marginLeft),u.style.right=\"60%\",o=36===t(e.right),r=36===t(e.width),u.style.position=\"absolute\",i=12===t(u.offsetWidth/3),ie.removeChild(s),u=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s=E.createElement(\"div\"),u=E.createElement(\"div\");u.style&&(u.style.backgroundClip=\"content-box\",u.cloneNode(!0).style.backgroundClip=\"\",y.clearCloneStyle=\"content-box\"===u.style.backgroundClip,k.extend(y,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),a},scrollboxSize:function(){return e(),i}}))}();var Ue=[\"Webkit\",\"Moz\",\"ms\"],Xe=E.createElement(\"div\").style,Ve={};function Ge(e){var t=k.cssProps[e]||Ve[e];return t||(e in Xe?e:Ve[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=Ue.length;while(n--)if((e=Ue[n]+t)in Xe)return e}(e)||e)}var Ye=/^(none|table(?!-c[ea]).+)/,Qe=/^--/,Je={position:\"absolute\",visibility:\"hidden\",display:\"block\"},Ke={letterSpacing:\"0\",fontWeight:\"400\"};function Ze(e,t,n){var r=ne.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||\"px\"):t}function et(e,t,n,r,i,o){var a=\"width\"===t?1:0,s=0,u=0;if(n===(r?\"border\":\"content\"))return 0;for(;a<4;a+=2)\"margin\"===n&&(u+=k.css(e,n+re[a],!0,i)),r?(\"content\"===n&&(u-=k.css(e,\"padding\"+re[a],!0,i)),\"margin\"!==n&&(u-=k.css(e,\"border\"+re[a]+\"Width\",!0,i))):(u+=k.css(e,\"padding\"+re[a],!0,i),\"padding\"!==n?u+=k.css(e,\"border\"+re[a]+\"Width\",!0,i):s+=k.css(e,\"border\"+re[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}function tt(e,t,n){var r=Fe(e),i=(!y.boxSizingReliable()||n)&&\"border-box\"===k.css(e,\"boxSizing\",!1,r),o=i,a=_e(e,t,r),s=\"offset\"+t[0].toUpperCase()+t.slice(1);if($e.test(a)){if(!n)return a;a=\"auto\"}return(!y.boxSizingReliable()&&i||\"auto\"===a||!parseFloat(a)&&\"inline\"===k.css(e,\"display\",!1,r))&&e.getClientRects().length&&(i=\"border-box\"===k.css(e,\"boxSizing\",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+et(e,t,n||(i?\"border\":\"content\"),o,r,a)+\"px\"}function nt(e,t,n,r,i){return new nt.prototype.init(e,t,n,r,i)}k.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=_e(e,\"opacity\");return\"\"===n?\"1\":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!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,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=V(t),u=Qe.test(t),l=e.style;if(u||(t=Ge(s)),a=k.cssHooks[t]||k.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=ne.exec(n))&&i[1]&&(n=le(e,t,i),o=\"number\"),null!=n&&n==n&&(\"number\"!==o||u||(n+=i&&i[3]||(k.cssNumber[s]?\"\":\"px\")),y.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=V(t);return Qe.test(t)||(t=Ge(s)),(a=k.cssHooks[t]||k.cssHooks[s])&&\"get\"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=_e(e,t,r)),\"normal\"===i&&t in Ke&&(i=Ke[t]),\"\"===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),k.each([\"height\",\"width\"],function(e,u){k.cssHooks[u]={get:function(e,t,n){if(t)return!Ye.test(k.css(e,\"display\"))||e.getClientRects().length&&e.getBoundingClientRect().width?tt(e,u,n):ue(e,Je,function(){return tt(e,u,n)})},set:function(e,t,n){var r,i=Fe(e),o=!y.scrollboxSize()&&\"absolute\"===i.position,a=(o||n)&&\"border-box\"===k.css(e,\"boxSizing\",!1,i),s=n?et(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e[\"offset\"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-et(e,u,\"border\",!1,i)-.5)),s&&(r=ne.exec(t))&&\"px\"!==(r[3]||\"px\")&&(e.style[u]=t,t=k.css(e,u)),Ze(0,t,s)}}}),k.cssHooks.marginLeft=ze(y.reliableMarginLeft,function(e,t){if(t)return(parseFloat(_e(e,\"marginLeft\"))||e.getBoundingClientRect().left-ue(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+\"px\"}),k.each({margin:\"\",padding:\"\",border:\"Width\"},function(i,o){k.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r=\"string\"==typeof e?e.split(\" \"):[e];t<4;t++)n[i+re[t]+o]=r[t]||r[t-2]||r[0];return n}},\"margin\"!==i&&(k.cssHooks[i+o].set=Ze)}),k.fn.extend({css:function(e,t){return _(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Fe(e),i=t.length;a<i;a++)o[t[a]]=k.css(e,t[a],!1,r);return o}return void 0!==n?k.style(e,t,n):k.css(e,t)},e,t,1<arguments.length)}}),((k.Tween=nt).prototype={constructor:nt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||k.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(k.cssNumber[n]?\"\":\"px\")},cur:function(){var e=nt.propHooks[this.prop];return e&&e.get?e.get(this):nt.propHooks._default.get(this)},run:function(e){var t,n=nt.propHooks[this.prop];return this.options.duration?this.pos=t=k.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):nt.propHooks._default.set(this),this}}).init.prototype=nt.prototype,(nt.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=k.css(e.elem,e.prop,\"\"))&&\"auto\"!==t?t:0},set:function(e){k.fx.step[e.prop]?k.fx.step[e.prop](e):1!==e.elem.nodeType||!k.cssHooks[e.prop]&&null==e.elem.style[Ge(e.prop)]?e.elem[e.prop]=e.now:k.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=nt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},k.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:\"swing\"},k.fx=nt.prototype.init,k.fx.step={};var rt,it,ot,at,st=/^(?:toggle|show|hide)$/,ut=/queueHooks$/;function lt(){it&&(!1===E.hidden&&C.requestAnimationFrame?C.requestAnimationFrame(lt):C.setTimeout(lt,k.fx.interval),k.fx.tick())}function ct(){return C.setTimeout(function(){rt=void 0}),rt=Date.now()}function ft(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i[\"margin\"+(n=re[r])]=i[\"padding\"+n]=e;return t&&(i.opacity=i.width=e),i}function pt(e,t,n){for(var r,i=(dt.tweeners[t]||[]).concat(dt.tweeners[\"*\"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function dt(o,e,t){var n,a,r=0,i=dt.prefilters.length,s=k.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=rt||ct(),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:k.extend({},e),opts:k.extend(!0,{specialEasing:{},easing:k.easing._default},t),originalProperties:e,originalOptions:t,startTime:rt||ct(),duration:t.duration,tweens:[],createTween:function(e,t){var n=k.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=V(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=k.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=dt.prefilters[r].call(l,o,c,l.opts))return m(n.stop)&&(k._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return k.map(c,pt,l),m(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),k.fx.timer(k.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}k.Animation=k.extend(dt,{tweeners:{\"*\":[function(e,t){var n=this.createTween(e,t);return le(n.elem,e,ne.exec(t),n),n}]},tweener:function(e,t){m(e)?(t=e,e=[\"*\"]):e=e.match(R);for(var n,r=0,i=e.length;r<i;r++)n=e[r],dt.tweeners[n]=dt.tweeners[n]||[],dt.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&&se(e),v=Q.get(e,\"fxshow\");for(r in n.queue||(null==(a=k._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--,k.queue(e,\"fx\").length||a.empty.fire()})})),t)if(i=t[r],st.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]||k.style(e,r)}if((u=!k.isEmptyObject(t))||!k.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=Q.get(e,\"display\")),\"none\"===(c=k.css(e,\"display\"))&&(l?c=l:(fe([e],!0),l=e.style.display||l,c=k.css(e,\"display\"),fe([e]))),(\"inline\"===c||\"inline-block\"===c&&null!=l)&&\"none\"===k.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=Q.access(e,\"fxshow\",{display:l}),o&&(v.hidden=!g),g&&fe([e],!0),p.done(function(){for(r in g||fe([e]),Q.remove(e,\"fxshow\"),d)k.style(e,r,d[r])})),u=pt(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?dt.prefilters.unshift(e):dt.prefilters.push(e)}}),k.speed=function(e,t,n){var r=e&&\"object\"==typeof e?k.extend({},e):{complete:n||!n&&t||m(e)&&e,duration:e,easing:n&&t||t&&!m(t)&&t};return k.fx.off?r.duration=0:\"number\"!=typeof r.duration&&(r.duration in k.fx.speeds?r.duration=k.fx.speeds[r.duration]:r.duration=k.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue=\"fx\"),r.old=r.complete,r.complete=function(){m(r.old)&&r.old.call(this),r.queue&&k.dequeue(this,r.queue)},r},k.fn.extend({fadeTo:function(e,t,n,r){return this.filter(se).css(\"opacity\",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=k.isEmptyObject(t),o=k.speed(e,n,r),a=function(){var e=dt(this,k.extend({},t),o);(i||Q.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&&!1!==i&&this.queue(i||\"fx\",[]),this.each(function(){var e=!0,t=null!=i&&i+\"queueHooks\",n=k.timers,r=Q.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&ut.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||k.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||\"fx\"),this.each(function(){var e,t=Q.get(this),n=t[a+\"queue\"],r=t[a+\"queueHooks\"],i=k.timers,o=n?n.length:0;for(t.finish=!0,k.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})}}),k.each([\"toggle\",\"show\",\"hide\"],function(e,r){var i=k.fn[r];k.fn[r]=function(e,t,n){return null==e||\"boolean\"==typeof e?i.apply(this,arguments):this.animate(ft(r,!0),e,t,n)}}),k.each({slideDown:ft(\"show\"),slideUp:ft(\"hide\"),slideToggle:ft(\"toggle\"),fadeIn:{opacity:\"show\"},fadeOut:{opacity:\"hide\"},fadeToggle:{opacity:\"toggle\"}},function(e,r){k.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),k.timers=[],k.fx.tick=function(){var e,t=0,n=k.timers;for(rt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||k.fx.stop(),rt=void 0},k.fx.timer=function(e){k.timers.push(e),k.fx.start()},k.fx.interval=13,k.fx.start=function(){it||(it=!0,lt())},k.fx.stop=function(){it=null},k.fx.speeds={slow:600,fast:200,_default:400},k.fn.delay=function(r,e){return r=k.fx&&k.fx.speeds[r]||r,e=e||\"fx\",this.queue(e,function(e,t){var n=C.setTimeout(e,r);t.stop=function(){C.clearTimeout(n)}})},ot=E.createElement(\"input\"),at=E.createElement(\"select\").appendChild(E.createElement(\"option\")),ot.type=\"checkbox\",y.checkOn=\"\"!==ot.value,y.optSelected=at.selected,(ot=E.createElement(\"input\")).value=\"t\",ot.type=\"radio\",y.radioValue=\"t\"===ot.value;var ht,gt=k.expr.attrHandle;k.fn.extend({attr:function(e,t){return _(this,k.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){k.removeAttr(this,e)})}}),k.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return\"undefined\"==typeof e.getAttribute?k.prop(e,t,n):(1===o&&k.isXMLDoc(e)||(i=k.attrHooks[t.toLowerCase()]||(k.expr.match.bool.test(t)?ht:void 0)),void 0!==n?null===n?void k.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=k.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!y.radioValue&&\"radio\"===t&&A(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(R);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),ht={set:function(e,t,n){return!1===t?k.removeAttr(e,n):e.setAttribute(n,n),n}},k.each(k.expr.match.bool.source.match(/\\w+/g),function(e,t){var a=gt[t]||k.find.attr;gt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=gt[o],gt[o]=r,r=null!=a(e,t,n)?o:null,gt[o]=i),r}});var vt=/^(?:input|select|textarea|button)$/i,yt=/^(?:a|area)$/i;function mt(e){return(e.match(R)||[]).join(\" \")}function xt(e){return e.getAttribute&&e.getAttribute(\"class\")||\"\"}function bt(e){return Array.isArray(e)?e:\"string\"==typeof e&&e.match(R)||[]}k.fn.extend({prop:function(e,t){return _(this,k.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[k.propFix[e]||e]})}}),k.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&k.isXMLDoc(e)||(t=k.propFix[t]||t,i=k.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=k.find.attr(e,\"tabindex\");return t?parseInt(t,10):vt.test(e.nodeName)||yt.test(e.nodeName)&&e.href?0:-1}}},propFix:{\"for\":\"htmlFor\",\"class\":\"className\"}}),y.optSelected||(k.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)}}),k.each([\"tabIndex\",\"readOnly\",\"maxLength\",\"cellSpacing\",\"cellPadding\",\"rowSpan\",\"colSpan\",\"useMap\",\"frameBorder\",\"contentEditable\"],function(){k.propFix[this.toLowerCase()]=this}),k.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).addClass(t.call(this,e,xt(this)))});if((e=bt(t)).length)while(n=this[u++])if(i=xt(n),r=1===n.nodeType&&\" \"+mt(i)+\" \"){a=0;while(o=e[a++])r.indexOf(\" \"+o+\" \")<0&&(r+=o+\" \");i!==(s=mt(r))&&n.setAttribute(\"class\",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(m(t))return this.each(function(e){k(this).removeClass(t.call(this,e,xt(this)))});if(!arguments.length)return this.attr(\"class\",\"\");if((e=bt(t)).length)while(n=this[u++])if(i=xt(n),r=1===n.nodeType&&\" \"+mt(i)+\" \"){a=0;while(o=e[a++])while(-1<r.indexOf(\" \"+o+\" \"))r=r.replace(\" \"+o+\" \",\" \");i!==(s=mt(r))&&n.setAttribute(\"class\",s)}return this},toggleClass:function(i,t){var o=typeof i,a=\"string\"===o||Array.isArray(i);return\"boolean\"==typeof t&&a?t?this.addClass(i):this.removeClass(i):m(i)?this.each(function(e){k(this).toggleClass(i.call(this,e,xt(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=k(this),r=bt(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&\"boolean\"!==o||((e=xt(this))&&Q.set(this,\"__className__\",e),this.setAttribute&&this.setAttribute(\"class\",e||!1===i?\"\":Q.get(this,\"__className__\")||\"\"))})},hasClass:function(e){var t,n,r=0;t=\" \"+e+\" \";while(n=this[r++])if(1===n.nodeType&&-1<(\" \"+mt(xt(n))+\" \").indexOf(t))return!0;return!1}});var wt=/\\r/g;k.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=m(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,k(this).val()):n)?t=\"\":\"number\"==typeof t?t+=\"\":Array.isArray(t)&&(t=k.map(t,function(e){return null==e?\"\":e+\"\"})),(r=k.valHooks[this.type]||k.valHooks[this.nodeName.toLowerCase()])&&\"set\"in r&&void 0!==r.set(this,t,\"value\")||(this.value=t))})):t?(r=k.valHooks[t.type]||k.valHooks[t.nodeName.toLowerCase()])&&\"get\"in r&&void 0!==(e=r.get(t,\"value\"))?e:\"string\"==typeof(e=t.value)?e.replace(wt,\"\"):null==e?\"\":e:void 0}}),k.extend({valHooks:{option:{get:function(e){var t=k.find.attr(e,\"value\");return null!=t?t:mt(k.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||!A(n.parentNode,\"optgroup\"))){if(t=k(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=k.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<k.inArray(k.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),k.each([\"radio\",\"checkbox\"],function(){k.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<k.inArray(k(e).val(),t)}},y.checkOn||(k.valHooks[this].get=function(e){return null===e.getAttribute(\"value\")?\"on\":e.value})}),y.focusin=\"onfocusin\"in C;var Tt=/^(?:focusinfocus|focusoutblur)$/,Ct=function(e){e.stopPropagation()};k.extend(k.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||E],d=v.call(e,\"type\")?e.type:e,h=v.call(e,\"namespace\")?e.namespace.split(\".\"):[];if(o=f=a=n=n||E,3!==n.nodeType&&8!==n.nodeType&&!Tt.test(d+k.event.triggered)&&(-1<d.indexOf(\".\")&&(d=(h=d.split(\".\")).shift(),h.sort()),u=d.indexOf(\":\")<0&&\"on\"+d,(e=e[k.expando]?e:new k.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]:k.makeArray(t,[e]),c=k.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||d,Tt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||E)&&p.push(a.defaultView||a.parentWindow||C)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(Q.get(o,\"events\")||{})[e.type]&&Q.get(o,\"handle\"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&G(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)||!G(n)||u&&m(n[d])&&!x(n)&&((a=n[u])&&(n[u]=null),k.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,Ct),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,Ct),k.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=k.extend(new k.Event,n,{type:e,isSimulated:!0});k.event.trigger(r,null,t)}}),k.fn.extend({trigger:function(e,t){return this.each(function(){k.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return k.event.trigger(e,t,n,!0)}}),y.focusin||k.each({focus:\"focusin\",blur:\"focusout\"},function(n,r){var i=function(e){k.event.simulate(r,e.target,k.event.fix(e))};k.event.special[r]={setup:function(){var e=this.ownerDocument||this,t=Q.access(e,r);t||e.addEventListener(n,i,!0),Q.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this,t=Q.access(e,r)-1;t?Q.access(e,r,t):(e.removeEventListener(n,i,!0),Q.remove(e,r))}}});var Et=C.location,kt=Date.now(),St=/\\?/;k.parseXML=function(e){var t;if(!e||\"string\"!=typeof e)return null;try{t=(new C.DOMParser).parseFromString(e,\"text/xml\")}catch(e){t=void 0}return t&&!t.getElementsByTagName(\"parsererror\").length||k.error(\"Invalid XML: \"+e),t};var Nt=/\\[\\]$/,At=/\\r?\\n/g,Dt=/^(?:submit|button|image|reset|file)$/i,jt=/^(?:input|select|textarea|keygen)/i;function qt(n,e,r,i){var t;if(Array.isArray(e))k.each(e,function(e,t){r||Nt.test(n)?i(n,t):qt(n+\"[\"+(\"object\"==typeof t&&null!=t?e:\"\")+\"]\",t,r,i)});else if(r||\"object\"!==w(e))i(n,e);else for(t in e)qt(n+\"[\"+t+\"]\",e[t],r,i)}k.param=function(e,t){var n,r=[],i=function(e,t){var n=m(t)?t():t;r[r.length]=encodeURIComponent(e)+\"=\"+encodeURIComponent(null==n?\"\":n)};if(null==e)return\"\";if(Array.isArray(e)||e.jquery&&!k.isPlainObject(e))k.each(e,function(){i(this.name,this.value)});else for(n in e)qt(n,e[n],t,i);return r.join(\"&\")},k.fn.extend({serialize:function(){return k.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=k.prop(this,\"elements\");return e?k.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!k(this).is(\":disabled\")&&jt.test(this.nodeName)&&!Dt.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=k(this).val();return null==n?null:Array.isArray(n)?k.map(n,function(e){return{name:t.name,value:e.replace(At,\"\\r\\n\")}}):{name:t.name,value:n.replace(At,\"\\r\\n\")}}).get()}});var Lt=/%20/g,Ht=/#.*$/,Ot=/([?&])_=[^&]*/,Pt=/^(.*?):[ \\t]*([^\\r\\n]*)$/gm,Rt=/^(?:GET|HEAD)$/,Mt=/^\\/\\//,It={},Wt={},$t=\"*/\".concat(\"*\"),Ft=E.createElement(\"a\");function Bt(o){return function(e,t){\"string\"!=typeof e&&(t=e,e=\"*\");var n,r=0,i=e.toLowerCase().match(R)||[];if(m(t))while(n=i[r++])\"+\"===n[0]?(n=n.slice(1)||\"*\",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function _t(t,i,o,a){var s={},u=t===Wt;function l(e){var r;return s[e]=!0,k.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 zt(e,t){var n,r,i=k.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&k.extend(!0,e,r),e}Ft.href=Et.href,k.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:{\"*\":$t,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\":k.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?zt(zt(e,k.ajaxSettings),t):zt(k.ajaxSettings,e)},ajaxPrefilter:Bt(It),ajaxTransport:Bt(Wt),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=k.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?k(y):k.event,x=k.Deferred(),b=k.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=Pt.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(Mt,Et.protocol+\"//\"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||\"*\").toLowerCase().match(R)||[\"\"],null==v.crossDomain){r=E.createElement(\"a\");try{r.href=v.url,r.href=r.href,v.crossDomain=Ft.protocol+\"//\"+Ft.host!=r.protocol+\"//\"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&\"string\"!=typeof v.data&&(v.data=k.param(v.data,v.traditional)),_t(It,v,t,T),h)return T;for(i in(g=k.event&&v.global)&&0==k.active++&&k.event.trigger(\"ajaxStart\"),v.type=v.type.toUpperCase(),v.hasContent=!Rt.test(v.type),f=v.url.replace(Ht,\"\"),v.hasContent?v.data&&v.processData&&0===(v.contentType||\"\").indexOf(\"application/x-www-form-urlencoded\")&&(v.data=v.data.replace(Lt,\"+\")):(o=v.url.slice(f.length),v.data&&(v.processData||\"string\"==typeof v.data)&&(f+=(St.test(f)?\"&\":\"?\")+v.data,delete v.data),!1===v.cache&&(f=f.replace(Ot,\"$1\"),o=(St.test(f)?\"&\":\"?\")+\"_=\"+kt+++o),v.url=f+o),v.ifModified&&(k.lastModified[f]&&T.setRequestHeader(\"If-Modified-Since\",k.lastModified[f]),k.etag[f]&&T.setRequestHeader(\"If-None-Match\",k.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]?\", \"+$t+\"; 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=_t(Wt,v,t,T)){if(T.readyState=1,g&&m.trigger(\"ajaxSend\",[T,v]),h)return T;v.async&&0<v.timeout&&(d=C.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&&C.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)),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\"))&&(k.lastModified[f]=u),(u=T.getResponseHeader(\"etag\"))&&(k.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]),--k.active||k.event.trigger(\"ajaxStop\")))}return T},getJSON:function(e,t,n){return k.get(e,t,n,\"json\")},getScript:function(e,t){return k.get(e,void 0,t,\"script\")}}),k.each([\"get\",\"post\"],function(e,i){k[i]=function(e,t,n,r){return m(t)&&(r=r||n,n=t,t=void 0),k.ajax(k.extend({url:e,type:i,dataType:r,data:t,success:n},k.isPlainObject(e)&&e))}}),k._evalUrl=function(e,t){return k.ajax({url:e,type:\"GET\",dataType:\"script\",cache:!0,async:!1,global:!1,converters:{\"text script\":function(){}},dataFilter:function(e){k.globalEval(e,t)}})},k.fn.extend({wrapAll:function(e){var t;return this[0]&&(m(e)&&(e=e.call(this[0])),t=k(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 m(n)?this.each(function(e){k(this).wrapInner(n.call(this,e))}):this.each(function(){var e=k(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=m(t);return this.each(function(e){k(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not(\"body\").each(function(){k(this).replaceWith(this.childNodes)}),this}}),k.expr.pseudos.hidden=function(e){return!k.expr.pseudos.visible(e)},k.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},k.ajaxSettings.xhr=function(){try{return new C.XMLHttpRequest}catch(e){}};var Ut={0:200,1223:204},Xt=k.ajaxSettings.xhr();y.cors=!!Xt&&\"withCredentials\"in Xt,y.ajax=Xt=!!Xt,k.ajaxTransport(function(i){var o,a;if(y.cors||Xt&&!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(Ut[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&&C.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()}}}),k.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),k.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 k.globalEval(e),e}}}),k.ajaxPrefilter(\"script\",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type=\"GET\")}),k.ajaxTransport(\"script\",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=k(\"<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)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\\?(?=&|$)|\\?\\?/;k.ajaxSetup({jsonp:\"callback\",jsonpCallback:function(){var e=Gt.pop()||k.expando+\"_\"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter(\"json jsonp\",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?\"url\":\"string\"==typeof e.data&&0===(e.contentType||\"\").indexOf(\"application/x-www-form-urlencoded\")&&Yt.test(e.data)&&\"data\");if(a||\"jsonp\"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,\"$1\"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?\"&\":\"?\")+e.jsonp+\"=\"+r),e.converters[\"script json\"]=function(){return o||k.error(r+\" was not called\"),o[0]},e.dataTypes[0]=\"json\",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),\"script\"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument(\"\").body).innerHTML=\"<form></form><form></form>\",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return\"string\"!=typeof e?[]:(\"boolean\"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument(\"\")).createElement(\"base\")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(\" \");return-1<s&&(r=mt(e.slice(s)),e=e.slice(0,s)),m(t)?(n=t,t=void 0):t&&\"object\"==typeof t&&(i=\"POST\"),0<a.length&&k.ajax({url:e,type:i||\"GET\",dataType:\"html\",data:t}).done(function(e){o=arguments,a.html(r?k(\"<div>\").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each([\"ajaxStart\",\"ajaxStop\",\"ajaxComplete\",\"ajaxError\",\"ajaxSuccess\",\"ajaxSend\"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,\"position\"),c=k(e),f={};\"static\"===l&&(e.style.position=\"relative\"),s=c.offset(),o=k.css(e,\"top\"),u=k.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),m(t)&&(t=t.call(e,n,k.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)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.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\"===k.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\"===k.css(e,\"position\"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,\"borderTopWidth\",!0),i.left+=k.css(e,\"borderLeftWidth\",!0))}return{top:t.top-i.top-k.css(r,\"marginTop\",!0),left:t.left-i.left-k.css(r,\"marginLeft\",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&\"static\"===k.css(e,\"position\"))e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:\"pageXOffset\",scrollTop:\"pageYOffset\"},function(t,i){var o=\"pageYOffset\"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(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)}}),k.each([\"top\",\"left\"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+\"px\":t})}),k.each({Height:\"height\",Width:\"width\"},function(a,s){k.each({padding:\"inner\"+a,content:s,\"\":\"outer\"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||\"boolean\"!=typeof e),i=r||(!0===e||!0===t?\"margin\":\"border\");return _(this,function(e,t,n){var r;return x(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?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.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){k.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}}),k.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),k.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)}}),k.proxy=function(e,t){var n,r,i;if(\"string\"==typeof t&&(n=e[t],t=e,e=n),m(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||k.guid++,i},k.holdReady=function(e){e?k.readyWait++:k.ready(!0)},k.isArray=Array.isArray,k.parseJSON=JSON.parse,k.nodeName=A,k.isFunction=m,k.isWindow=x,k.camelCase=V,k.type=w,k.now=Date.now,k.isNumeric=function(e){var t=k.type(e);return(\"number\"===t||\"string\"===t)&&!isNaN(e-parseFloat(e))},\"function\"==typeof define&&define.amd&&define(\"jquery\",[],function(){return k});var Qt=C.jQuery,Jt=C.$;return k.noConflict=function(e){return C.$===k&&(C.$=Jt),e&&C.jQuery===k&&(C.jQuery=Qt),k},e||(C.jQuery=C.$=k),k});\r\n","/*! pace 1.0.2 */\n(function(){var a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X=[].slice,Y={}.hasOwnProperty,Z=function(a,b){function c(){this.constructor=a}for(var d in b)Y.call(b,d)&&(a[d]=b[d]);return c.prototype=b.prototype,a.prototype=new c,a.__super__=b.prototype,a},$=[].indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(b in this&&this[b]===a)return b;return-1};for(u={catchupTime:100,initialRate:.03,minTime:250,ghostTime:100,maxProgressPerFrame:20,easeFactor:1.25,startOnPageLoad:!0,restartOnPushState:!0,restartOnRequestAfter:500,target:\"body\",elements:{checkInterval:100,selectors:[\"body\"]},eventLag:{minSamples:10,sampleCount:3,lagThreshold:3},ajax:{trackMethods:[\"GET\"],trackWebSockets:!0,ignoreURLs:[]}},C=function(){var a;return null!=(a=\"undefined\"!=typeof performance&&null!==performance&&\"function\"==typeof performance.now?performance.now():void 0)?a:+new Date},E=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame,t=window.cancelAnimationFrame||window.mozCancelAnimationFrame,null==E&&(E=function(a){return setTimeout(a,50)},t=function(a){return clearTimeout(a)}),G=function(a){var b,c;return b=C(),(c=function(){var d;return d=C()-b,d>=33?(b=C(),a(d,function(){return E(c)})):setTimeout(c,33-d)})()},F=function(){var a,b,c;return c=arguments[0],b=arguments[1],a=3<=arguments.length?X.call(arguments,2):[],\"function\"==typeof c[b]?c[b].apply(c,a):c[b]},v=function(){var a,b,c,d,e,f,g;for(b=arguments[0],d=2<=arguments.length?X.call(arguments,1):[],f=0,g=d.length;g>f;f++)if(c=d[f])for(a in c)Y.call(c,a)&&(e=c[a],null!=b[a]&&\"object\"==typeof b[a]&&null!=e&&\"object\"==typeof e?v(b[a],e):b[a]=e);return b},q=function(a){var b,c,d,e,f;for(c=b=0,e=0,f=a.length;f>e;e++)d=a[e],c+=Math.abs(d),b++;return c/b},x=function(a,b){var c,d,e;if(null==a&&(a=\"options\"),null==b&&(b=!0),e=document.querySelector(\"[data-pace-\"+a+\"]\")){if(c=e.getAttribute(\"data-pace-\"+a),!b)return c;try{return JSON.parse(c)}catch(f){return d=f,\"undefined\"!=typeof console&&null!==console?console.error(\"Error parsing inline pace options\",d):void 0}}},g=function(){function a(){}return a.prototype.on=function(a,b,c,d){var e;return null==d&&(d=!1),null==this.bindings&&(this.bindings={}),null==(e=this.bindings)[a]&&(e[a]=[]),this.bindings[a].push({handler:b,ctx:c,once:d})},a.prototype.once=function(a,b,c){return this.on(a,b,c,!0)},a.prototype.off=function(a,b){var c,d,e;if(null!=(null!=(d=this.bindings)?d[a]:void 0)){if(null==b)return delete this.bindings[a];for(c=0,e=[];c<this.bindings[a].length;)this.bindings[a][c].handler===b?e.push(this.bindings[a].splice(c,1)):e.push(c++);return e}},a.prototype.trigger=function(){var a,b,c,d,e,f,g,h,i;if(c=arguments[0],a=2<=arguments.length?X.call(arguments,1):[],null!=(g=this.bindings)?g[c]:void 0){for(e=0,i=[];e<this.bindings[c].length;)h=this.bindings[c][e],d=h.handler,b=h.ctx,f=h.once,d.apply(null!=b?b:this,a),f?i.push(this.bindings[c].splice(e,1)):i.push(e++);return i}},a}(),j=window.Pace||{},window.Pace=j,v(j,g.prototype),D=j.options=v({},u,window.paceOptions,x()),U=[\"ajax\",\"document\",\"eventLag\",\"elements\"],Q=0,S=U.length;S>Q;Q++)K=U[Q],D[K]===!0&&(D[K]=u[K]);i=function(a){function b(){return V=b.__super__.constructor.apply(this,arguments)}return Z(b,a),b}(Error),b=function(){function a(){this.progress=0}return a.prototype.getElement=function(){var a;if(null==this.el){if(a=document.querySelector(D.target),!a)throw new i;this.el=document.createElement(\"div\"),this.el.className=\"pace pace-active\",document.body.className=document.body.className.replace(/pace-done/g,\"\"),document.body.className+=\" pace-running\",this.el.innerHTML='<div class=\"pace-progress\">\\n  <div class=\"pace-progress-inner\"></div>\\n</div>\\n<div class=\"pace-activity\"></div>',null!=a.firstChild?a.insertBefore(this.el,a.firstChild):a.appendChild(this.el)}return this.el},a.prototype.finish=function(){var a;return a=this.getElement(),a.className=a.className.replace(\"pace-active\",\"\"),a.className+=\" pace-inactive\",document.body.className=document.body.className.replace(\"pace-running\",\"\"),document.body.className+=\" pace-done\"},a.prototype.update=function(a){return this.progress=a,this.render()},a.prototype.destroy=function(){try{this.getElement().parentNode.removeChild(this.getElement())}catch(a){i=a}return this.el=void 0},a.prototype.render=function(){var a,b,c,d,e,f,g;if(null==document.querySelector(D.target))return!1;for(a=this.getElement(),d=\"translate3d(\"+this.progress+\"%, 0, 0)\",g=[\"webkitTransform\",\"msTransform\",\"transform\"],e=0,f=g.length;f>e;e++)b=g[e],a.children[0].style[b]=d;return(!this.lastRenderedProgress||this.lastRenderedProgress|0!==this.progress|0)&&(a.children[0].setAttribute(\"data-progress-text\",\"\"+(0|this.progress)+\"%\"),this.progress>=100?c=\"99\":(c=this.progress<10?\"0\":\"\",c+=0|this.progress),a.children[0].setAttribute(\"data-progress\",\"\"+c)),this.lastRenderedProgress=this.progress},a.prototype.done=function(){return this.progress>=100},a}(),h=function(){function a(){this.bindings={}}return a.prototype.trigger=function(a,b){var c,d,e,f,g;if(null!=this.bindings[a]){for(f=this.bindings[a],g=[],d=0,e=f.length;e>d;d++)c=f[d],g.push(c.call(this,b));return g}},a.prototype.on=function(a,b){var c;return null==(c=this.bindings)[a]&&(c[a]=[]),this.bindings[a].push(b)},a}(),P=window.XMLHttpRequest,O=window.XDomainRequest,N=window.WebSocket,w=function(a,b){var c,d,e;e=[];for(d in b.prototype)try{null==a[d]&&\"function\"!=typeof b[d]?\"function\"==typeof Object.defineProperty?e.push(Object.defineProperty(a,d,{get:function(){return b.prototype[d]},configurable:!0,enumerable:!0})):e.push(a[d]=b.prototype[d]):e.push(void 0)}catch(f){c=f}return e},A=[],j.ignore=function(){var a,b,c;return b=arguments[0],a=2<=arguments.length?X.call(arguments,1):[],A.unshift(\"ignore\"),c=b.apply(null,a),A.shift(),c},j.track=function(){var a,b,c;return b=arguments[0],a=2<=arguments.length?X.call(arguments,1):[],A.unshift(\"track\"),c=b.apply(null,a),A.shift(),c},J=function(a){var b;if(null==a&&(a=\"GET\"),\"track\"===A[0])return\"force\";if(!A.length&&D.ajax){if(\"socket\"===a&&D.ajax.trackWebSockets)return!0;if(b=a.toUpperCase(),$.call(D.ajax.trackMethods,b)>=0)return!0}return!1},k=function(a){function b(){var a,c=this;b.__super__.constructor.apply(this,arguments),a=function(a){var b;return b=a.open,a.open=function(d,e,f){return J(d)&&c.trigger(\"request\",{type:d,url:e,request:a}),b.apply(a,arguments)}},window.XMLHttpRequest=function(b){var c;return c=new P(b),a(c),c};try{w(window.XMLHttpRequest,P)}catch(d){}if(null!=O){window.XDomainRequest=function(){var b;return b=new O,a(b),b};try{w(window.XDomainRequest,O)}catch(d){}}if(null!=N&&D.ajax.trackWebSockets){window.WebSocket=function(a,b){var d;return d=null!=b?new N(a,b):new N(a),J(\"socket\")&&c.trigger(\"request\",{type:\"socket\",url:a,protocols:b,request:d}),d};try{w(window.WebSocket,N)}catch(d){}}}return Z(b,a),b}(h),R=null,y=function(){return null==R&&(R=new k),R},I=function(a){var b,c,d,e;for(e=D.ajax.ignoreURLs,c=0,d=e.length;d>c;c++)if(b=e[c],\"string\"==typeof b){if(-1!==a.indexOf(b))return!0}else if(b.test(a))return!0;return!1},y().on(\"request\",function(b){var c,d,e,f,g;return f=b.type,e=b.request,g=b.url,I(g)?void 0:j.running||D.restartOnRequestAfter===!1&&\"force\"!==J(f)?void 0:(d=arguments,c=D.restartOnRequestAfter||0,\"boolean\"==typeof c&&(c=0),setTimeout(function(){var b,c,g,h,i,k;if(b=\"socket\"===f?e.readyState<2:0<(h=e.readyState)&&4>h){for(j.restart(),i=j.sources,k=[],c=0,g=i.length;g>c;c++){if(K=i[c],K instanceof a){K.watch.apply(K,d);break}k.push(void 0)}return k}},c))}),a=function(){function a(){var a=this;this.elements=[],y().on(\"request\",function(){return a.watch.apply(a,arguments)})}return a.prototype.watch=function(a){var b,c,d,e;return d=a.type,b=a.request,e=a.url,I(e)?void 0:(c=\"socket\"===d?new n(b):new o(b),this.elements.push(c))},a}(),o=function(){function a(a){var b,c,d,e,f,g,h=this;if(this.progress=0,null!=window.ProgressEvent)for(c=null,a.addEventListener(\"progress\",function(a){return a.lengthComputable?h.progress=100*a.loaded/a.total:h.progress=h.progress+(100-h.progress)/2},!1),g=[\"load\",\"abort\",\"timeout\",\"error\"],d=0,e=g.length;e>d;d++)b=g[d],a.addEventListener(b,function(){return h.progress=100},!1);else f=a.onreadystatechange,a.onreadystatechange=function(){var b;return 0===(b=a.readyState)||4===b?h.progress=100:3===a.readyState&&(h.progress=50),\"function\"==typeof f?f.apply(null,arguments):void 0}}return a}(),n=function(){function a(a){var b,c,d,e,f=this;for(this.progress=0,e=[\"error\",\"open\"],c=0,d=e.length;d>c;c++)b=e[c],a.addEventListener(b,function(){return f.progress=100},!1)}return a}(),d=function(){function a(a){var b,c,d,f;for(null==a&&(a={}),this.elements=[],null==a.selectors&&(a.selectors=[]),f=a.selectors,c=0,d=f.length;d>c;c++)b=f[c],this.elements.push(new e(b))}return a}(),e=function(){function a(a){this.selector=a,this.progress=0,this.check()}return a.prototype.check=function(){var a=this;return document.querySelector(this.selector)?this.done():setTimeout(function(){return a.check()},D.elements.checkInterval)},a.prototype.done=function(){return this.progress=100},a}(),c=function(){function a(){var a,b,c=this;this.progress=null!=(b=this.states[document.readyState])?b:100,a=document.onreadystatechange,document.onreadystatechange=function(){return null!=c.states[document.readyState]&&(c.progress=c.states[document.readyState]),\"function\"==typeof a?a.apply(null,arguments):void 0}}return a.prototype.states={loading:0,interactive:50,complete:100},a}(),f=function(){function a(){var a,b,c,d,e,f=this;this.progress=0,a=0,e=[],d=0,c=C(),b=setInterval(function(){var g;return g=C()-c-50,c=C(),e.push(g),e.length>D.eventLag.sampleCount&&e.shift(),a=q(e),++d>=D.eventLag.minSamples&&a<D.eventLag.lagThreshold?(f.progress=100,clearInterval(b)):f.progress=100*(3/(a+3))},50)}return a}(),m=function(){function a(a){this.source=a,this.last=this.sinceLastUpdate=0,this.rate=D.initialRate,this.catchup=0,this.progress=this.lastProgress=0,null!=this.source&&(this.progress=F(this.source,\"progress\"))}return a.prototype.tick=function(a,b){var c;return null==b&&(b=F(this.source,\"progress\")),b>=100&&(this.done=!0),b===this.last?this.sinceLastUpdate+=a:(this.sinceLastUpdate&&(this.rate=(b-this.last)/this.sinceLastUpdate),this.catchup=(b-this.progress)/D.catchupTime,this.sinceLastUpdate=0,this.last=b),b>this.progress&&(this.progress+=this.catchup*a),c=1-Math.pow(this.progress/100,D.easeFactor),this.progress+=c*this.rate*a,this.progress=Math.min(this.lastProgress+D.maxProgressPerFrame,this.progress),this.progress=Math.max(0,this.progress),this.progress=Math.min(100,this.progress),this.lastProgress=this.progress,this.progress},a}(),L=null,H=null,r=null,M=null,p=null,s=null,j.running=!1,z=function(){return D.restartOnPushState?j.restart():void 0},null!=window.history.pushState&&(T=window.history.pushState,window.history.pushState=function(){return z(),T.apply(window.history,arguments)}),null!=window.history.replaceState&&(W=window.history.replaceState,window.history.replaceState=function(){return z(),W.apply(window.history,arguments)}),l={ajax:a,elements:d,document:c,eventLag:f},(B=function(){var a,c,d,e,f,g,h,i;for(j.sources=L=[],g=[\"ajax\",\"elements\",\"document\",\"eventLag\"],c=0,e=g.length;e>c;c++)a=g[c],D[a]!==!1&&L.push(new l[a](D[a]));for(i=null!=(h=D.extraSources)?h:[],d=0,f=i.length;f>d;d++)K=i[d],L.push(new K(D));return j.bar=r=new b,H=[],M=new m})(),j.stop=function(){return j.trigger(\"stop\"),j.running=!1,r.destroy(),s=!0,null!=p&&(\"function\"==typeof t&&t(p),p=null),B()},j.restart=function(){return j.trigger(\"restart\"),j.stop(),j.start()},j.go=function(){var a;return j.running=!0,r.render(),a=C(),s=!1,p=G(function(b,c){var d,e,f,g,h,i,k,l,n,o,p,q,t,u,v,w;for(l=100-r.progress,e=p=0,f=!0,i=q=0,u=L.length;u>q;i=++q)for(K=L[i],o=null!=H[i]?H[i]:H[i]=[],h=null!=(w=K.elements)?w:[K],k=t=0,v=h.length;v>t;k=++t)g=h[k],n=null!=o[k]?o[k]:o[k]=new m(g),f&=n.done,n.done||(e++,p+=n.tick(b));return d=p/e,r.update(M.tick(b,d)),r.done()||f||s?(r.update(100),j.trigger(\"done\"),setTimeout(function(){return r.finish(),j.running=!1,j.trigger(\"hide\")},Math.max(D.ghostTime,Math.max(D.minTime-(C()-a),0)))):c()})},j.start=function(a){v(D,a),j.running=!0;try{r.render()}catch(b){i=b}return document.querySelector(\".pace\")?(j.trigger(\"start\"),j.go()):setTimeout(j.start,50)},\"function\"==typeof define&&define.amd?define([\"pace\"],function(){return j}):\"object\"==typeof exports?module.exports=j:D.startOnPageLoad&&j.start()}).call(this);","// 4.5.7 (2017-04-25)\n!function(e,t){\"use strict\";function n(e,t){for(var n,r=[],i=0;i<e.length;++i){if(n=s[e[i]]||o(e[i]),!n)throw\"module definition dependecy not found: \"+e[i];r.push(n)}t.apply(null,r)}function r(e,r,i){if(\"string\"!=typeof e)throw\"invalid module definition, module id must be defined and be a string\";if(r===t)throw\"invalid module definition, dependencies must be specified\";if(i===t)throw\"invalid module definition, definition function must be specified\";n(r,function(){s[e]=i.apply(null,arguments)})}function i(e){return!!s[e]}function o(t){for(var n=e,r=t.split(/[.\\/]/),i=0;i<r.length;++i){if(!n[r[i]])return;n=n[r[i]]}return n}function a(n){var r,i,o,a,l;for(r=0;r<n.length;r++){i=e,o=n[r],a=o.split(/[.\\/]/);for(var u=0;u<a.length-1;++u)i[a[u]]===t&&(i[a[u]]={}),i=i[a[u]];i[a[a.length-1]]=s[o]}if(e.AMDLC_TESTS){l=e.privateModules||{};for(o in s)l[o]=s[o];for(r=0;r<n.length;r++)delete l[n[r]];e.privateModules=l}}var s={},l=\"tinymce/geom/Rect\",u=\"tinymce/util/Promise\",c=\"tinymce/util/Delay\",d=\"tinymce/Env\",f=\"tinymce/dom/EventUtils\",p=\"tinymce/dom/Sizzle\",h=\"tinymce/util/Arr\",m=\"tinymce/util/Tools\",g=\"tinymce/dom/DomQuery\",v=\"tinymce/html/Styles\",y=\"tinymce/dom/TreeWalker\",b=\"tinymce/dom/Range\",C=\"tinymce/html/Entities\",x=\"tinymce/dom/StyleSheetLoader\",w=\"tinymce/dom/DOMUtils\",E=\"tinymce/dom/ScriptLoader\",N=\"tinymce/AddOnManager\",_=\"tinymce/dom/NodeType\",S=\"tinymce/text/Zwsp\",k=\"tinymce/caret/CaretContainer\",T=\"tinymce/dom/RangeUtils\",R=\"tinymce/NodeChange\",A=\"tinymce/html/Node\",B=\"tinymce/html/Schema\",D=\"tinymce/html/SaxParser\",L=\"tinymce/html/DomParser\",M=\"tinymce/html/Writer\",P=\"tinymce/html/Serializer\",O=\"tinymce/dom/Serializer\",H=\"tinymce/dom/TridentSelection\",I=\"tinymce/util/VK\",F=\"tinymce/dom/ControlSelection\",z=\"tinymce/util/Fun\",U=\"tinymce/caret/CaretCandidate\",W=\"tinymce/geom/ClientRect\",V=\"tinymce/text/ExtendingChar\",$=\"tinymce/caret/CaretPosition\",q=\"tinymce/caret/CaretBookmark\",j=\"tinymce/dom/BookmarkManager\",Y=\"tinymce/dom/Selection\",X=\"tinymce/dom/ElementUtils\",K=\"tinymce/fmt/Preview\",G=\"tinymce/fmt/Hooks\",J=\"tinymce/Formatter\",Q=\"tinymce/undo/Diff\",Z=\"tinymce/undo/Fragments\",ee=\"tinymce/undo/Levels\",te=\"tinymce/UndoManager\",ne=\"tinymce/EnterKey\",re=\"tinymce/ForceBlocks\",ie=\"tinymce/caret/CaretUtils\",oe=\"tinymce/caret/CaretWalker\",ae=\"tinymce/InsertList\",se=\"tinymce/InsertContent\",le=\"tinymce/EditorCommands\",ue=\"tinymce/util/URI\",ce=\"tinymce/util/Class\",de=\"tinymce/util/EventDispatcher\",fe=\"tinymce/data/Binding\",pe=\"tinymce/util/Observable\",he=\"tinymce/data/ObservableObject\",me=\"tinymce/ui/Selector\",ge=\"tinymce/ui/Collection\",ve=\"tinymce/ui/DomUtils\",ye=\"tinymce/ui/BoxUtils\",be=\"tinymce/ui/ClassList\",Ce=\"tinymce/ui/ReflowQueue\",xe=\"tinymce/ui/Control\",we=\"tinymce/ui/Factory\",Ee=\"tinymce/ui/KeyboardNavigation\",Ne=\"tinymce/ui/Container\",_e=\"tinymce/ui/DragHelper\",Se=\"tinymce/ui/Scrollable\",ke=\"tinymce/ui/Panel\",Te=\"tinymce/ui/Movable\",Re=\"tinymce/ui/Resizable\",Ae=\"tinymce/ui/FloatPanel\",Be=\"tinymce/ui/Window\",De=\"tinymce/ui/MessageBox\",Le=\"tinymce/WindowManager\",Me=\"tinymce/ui/Tooltip\",Pe=\"tinymce/ui/Widget\",Oe=\"tinymce/ui/Progress\",He=\"tinymce/ui/Notification\",Ie=\"tinymce/NotificationManager\",Fe=\"tinymce/dom/NodePath\",ze=\"tinymce/util/Quirks\",Ue=\"tinymce/EditorObservable\",We=\"tinymce/Mode\",Ve=\"tinymce/Shortcuts\",$e=\"tinymce/file/Uploader\",qe=\"tinymce/file/Conversions\",je=\"tinymce/file/ImageScanner\",Ye=\"tinymce/file/BlobCache\",Xe=\"tinymce/file/UploadStatus\",Ke=\"tinymce/ErrorReporter\",Ge=\"tinymce/EditorUpload\",Je=\"tinymce/caret/FakeCaret\",Qe=\"tinymce/dom/Dimensions\",Ze=\"tinymce/caret/LineWalker\",et=\"tinymce/caret/LineUtils\",tt=\"tinymce/dom/MousePosition\",nt=\"tinymce/DragDropOverrides\",rt=\"tinymce/SelectionOverrides\",it=\"tinymce/util/Uuid\",ot=\"tinymce/ui/Sidebar\",at=\"tinymce/Editor\",st=\"tinymce/util/I18n\",lt=\"tinymce/FocusManager\",ut=\"tinymce/EditorManager\",ct=\"tinymce/LegacyInput\",dt=\"tinymce/util/XHR\",ft=\"tinymce/util/JSON\",pt=\"tinymce/util/JSONRequest\",ht=\"tinymce/util/JSONP\",mt=\"tinymce/util/LocalStorage\",gt=\"tinymce/Compat\",vt=\"tinymce/ui/Layout\",yt=\"tinymce/ui/AbsoluteLayout\",bt=\"tinymce/ui/Button\",Ct=\"tinymce/ui/ButtonGroup\",xt=\"tinymce/ui/Checkbox\",wt=\"tinymce/ui/ComboBox\",Et=\"tinymce/ui/ColorBox\",Nt=\"tinymce/ui/PanelButton\",_t=\"tinymce/ui/ColorButton\",St=\"tinymce/util/Color\",kt=\"tinymce/ui/ColorPicker\",Tt=\"tinymce/ui/Path\",Rt=\"tinymce/ui/ElementPath\",At=\"tinymce/ui/FormItem\",Bt=\"tinymce/ui/Form\",Dt=\"tinymce/ui/FieldSet\",Lt=\"tinymce/content/LinkTargets\",Mt=\"tinymce/ui/FilePicker\",Pt=\"tinymce/ui/FitLayout\",Ot=\"tinymce/ui/FlexLayout\",Ht=\"tinymce/ui/FlowLayout\",It=\"tinymce/fmt/FontInfo\",Ft=\"tinymce/ui/FormatControls\",zt=\"tinymce/ui/GridLayout\",Ut=\"tinymce/ui/Iframe\",Wt=\"tinymce/ui/InfoBox\",Vt=\"tinymce/ui/Label\",$t=\"tinymce/ui/Toolbar\",qt=\"tinymce/ui/MenuBar\",jt=\"tinymce/ui/MenuButton\",Yt=\"tinymce/ui/MenuItem\",Xt=\"tinymce/ui/Throbber\",Kt=\"tinymce/ui/Menu\",Gt=\"tinymce/ui/ListBox\",Jt=\"tinymce/ui/Radio\",Qt=\"tinymce/ui/ResizeHandle\",Zt=\"tinymce/ui/SelectBox\",en=\"tinymce/ui/Slider\",tn=\"tinymce/ui/Spacer\",nn=\"tinymce/ui/SplitButton\",rn=\"tinymce/ui/StackLayout\",on=\"tinymce/ui/TabPanel\",an=\"tinymce/ui/TextBox\",sn=\"tinymce/Register\";r(l,[],function(){function e(e,t,n){var r,i,a,s,l,c;return r=t.x,i=t.y,a=e.w,s=e.h,l=t.w,c=t.h,n=(n||\"\").split(\"\"),\"b\"===n[0]&&(i+=c),\"r\"===n[1]&&(r+=l),\"c\"===n[0]&&(i+=u(c/2)),\"c\"===n[1]&&(r+=u(l/2)),\"b\"===n[3]&&(i-=s),\"r\"===n[4]&&(r-=a),\"c\"===n[3]&&(i-=u(s/2)),\"c\"===n[4]&&(r-=u(a/2)),o(r,i,a,s)}function t(t,n,r,i){var o,a;for(a=0;a<i.length;a++)if(o=e(t,n,i[a]),o.x>=r.x&&o.x+o.w<=r.w+r.x&&o.y>=r.y&&o.y+o.h<=r.h+r.y)return i[a];return null}function n(e,t,n){return o(e.x-t,e.y-n,e.w+2*t,e.h+2*n)}function r(e,t){var n,r,i,a;return n=l(e.x,t.x),r=l(e.y,t.y),i=s(e.x+e.w,t.x+t.w),a=s(e.y+e.h,t.y+t.h),i-n<0||a-r<0?null:o(n,r,i-n,a-r)}function i(e,t,n){var r,i,a,s,u,c,d,f,p,h;return u=e.x,c=e.y,d=e.x+e.w,f=e.y+e.h,p=t.x+t.w,h=t.y+t.h,r=l(0,t.x-u),i=l(0,t.y-c),a=l(0,d-p),s=l(0,f-h),u+=r,c+=i,n&&(d+=r,f+=i,u-=a,c-=s),d-=a,f-=s,o(u,c,d-u,f-c)}function o(e,t,n,r){return{x:e,y:t,w:n,h:r}}function a(e){return o(e.left,e.top,e.width,e.height)}var s=Math.min,l=Math.max,u=Math.round;return{inflate:n,relativePosition:e,findBestRelativePosition:t,intersect:r,clamp:i,create:o,fromClientRect:a}}),r(u,[],function(){function e(e,t){return function(){e.apply(t,arguments)}}function t(t){if(\"object\"!=typeof this)throw new TypeError(\"Promises must be constructed via new\");if(\"function\"!=typeof t)throw new TypeError(\"not a function\");this._state=null,this._value=null,this._deferreds=[],s(t,e(r,this),e(i,this))}function n(e){var t=this;return null===this._state?void this._deferreds.push(e):void l(function(){var n=t._state?e.onFulfilled:e.onRejected;if(null===n)return void(t._state?e.resolve:e.reject)(t._value);var r;try{r=n(t._value)}catch(i){return void e.reject(i)}e.resolve(r)})}function r(t){try{if(t===this)throw new TypeError(\"A promise cannot be resolved with itself.\");if(t&&(\"object\"==typeof t||\"function\"==typeof t)){var n=t.then;if(\"function\"==typeof n)return void s(e(n,t),e(r,this),e(i,this))}this._state=!0,this._value=t,o.call(this)}catch(a){i.call(this,a)}}function i(e){this._state=!1,this._value=e,o.call(this)}function o(){for(var e=0,t=this._deferreds.length;e<t;e++)n.call(this,this._deferreds[e]);this._deferreds=null}function a(e,t,n,r){this.onFulfilled=\"function\"==typeof e?e:null,this.onRejected=\"function\"==typeof t?t:null,this.resolve=n,this.reject=r}function s(e,t,n){var r=!1;try{e(function(e){r||(r=!0,t(e))},function(e){r||(r=!0,n(e))})}catch(i){if(r)return;r=!0,n(i)}}if(window.Promise)return window.Promise;var l=t.immediateFn||\"function\"==typeof setImmediate&&setImmediate||function(e){setTimeout(e,1)},u=Array.isArray||function(e){return\"[object Array]\"===Object.prototype.toString.call(e)};return t.prototype[\"catch\"]=function(e){return this.then(null,e)},t.prototype.then=function(e,r){var i=this;return new t(function(t,o){n.call(i,new a(e,r,t,o))})},t.all=function(){var e=Array.prototype.slice.call(1===arguments.length&&u(arguments[0])?arguments[0]:arguments);return new t(function(t,n){function r(o,a){try{if(a&&(\"object\"==typeof a||\"function\"==typeof a)){var s=a.then;if(\"function\"==typeof s)return void s.call(a,function(e){r(o,e)},n)}e[o]=a,0===--i&&t(e)}catch(l){n(l)}}if(0===e.length)return t([]);for(var i=e.length,o=0;o<e.length;o++)r(o,e[o])})},t.resolve=function(e){return e&&\"object\"==typeof e&&e.constructor===t?e:new t(function(t){t(e)})},t.reject=function(e){return new t(function(t,n){n(e)})},t.race=function(e){return new t(function(t,n){for(var r=0,i=e.length;r<i;r++)e[r].then(t,n)})},t}),r(c,[u],function(e){function t(e,t){function n(e){window.setTimeout(e,0)}var r,i=window.requestAnimationFrame,o=[\"ms\",\"moz\",\"webkit\"];for(r=0;r<o.length&&!i;r++)i=window[o[r]+\"RequestAnimationFrame\"];i||(i=n),i(e,t)}function n(e,t){return\"number\"!=typeof t&&(t=0),setTimeout(e,t)}function r(e,t){return\"number\"!=typeof t&&(t=1),setInterval(e,t)}function i(e){return clearTimeout(e)}function o(e){return clearInterval(e)}function a(e,t){var r,i;return i=function(){var i=arguments;clearTimeout(r),r=n(function(){e.apply(this,i)},t)},i.stop=function(){clearTimeout(r)},i}var s;return{requestAnimationFrame:function(n,r){return s?void s.then(n):void(s=new e(function(e){r||(r=document.body),t(e,r)}).then(n))},setTimeout:n,setInterval:r,setEditorTimeout:function(e,t,r){return n(function(){e.removed||t()},r)},setEditorInterval:function(e,t,n){var i;return i=r(function(){e.removed?clearInterval(i):t()},n)},debounce:a,throttle:a,clearInterval:o,clearTimeout:i}}),r(d,[],function(){function e(e){return\"matchMedia\"in window&&matchMedia(e).matches}var t=navigator,n=t.userAgent,r,i,o,a,s,l,u,c,d,f,p,h,m;r=window.opera&&window.opera.buildNumber,d=/Android/.test(n),i=/WebKit/.test(n),o=!i&&!r&&/MSIE/gi.test(n)&&/Explorer/gi.test(t.appName),o=o&&/MSIE (\\w+)\\./.exec(n)[1],a=n.indexOf(\"Trident/\")!=-1&&(n.indexOf(\"rv:\")!=-1||t.appName.indexOf(\"Netscape\")!=-1)&&11,s=n.indexOf(\"Edge/\")!=-1&&!o&&!a&&12,o=o||a||s,l=!i&&!a&&/Gecko/.test(n),u=n.indexOf(\"Mac\")!=-1,c=/(iPad|iPhone)/.test(n),f=\"FormData\"in window&&\"FileReader\"in window&&\"URL\"in window&&!!URL.createObjectURL,p=e(\"only screen and (max-device-width: 480px)\")&&(d||c),h=e(\"only screen and (min-width: 800px)\")&&(d||c),m=n.indexOf(\"Windows Phone\")!=-1,s&&(i=!1);var g=!c||f||n.match(/AppleWebKit\\/(\\d*)/)[1]>=534;return{opera:r,webkit:i,ie:o,gecko:l,mac:u,iOS:c,android:d,contentEditable:g,transparentSrc:\"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\",caretAfter:8!=o,range:window.getSelection&&\"Range\"in window,documentMode:o&&!s?document.documentMode||7:10,fileApi:f,ceFalse:o===!1||o>8,canHaveCSP:o===!1||o>11,desktop:!p&&!h,windowsPhone:m}}),r(f,[c,d],function(e,t){function n(e,t,n,r){e.addEventListener?e.addEventListener(t,n,r||!1):e.attachEvent&&e.attachEvent(\"on\"+t,n)}function r(e,t,n,r){e.removeEventListener?e.removeEventListener(t,n,r||!1):e.detachEvent&&e.detachEvent(\"on\"+t,n)}function i(e,t){var n,r=t;return n=e.path,n&&n.length>0&&(r=n[0]),e.deepPath&&(n=e.deepPath(),n&&n.length>0&&(r=n[0])),r}function o(e,n){function r(){return!1}function o(){return!0}var a,s=n||{},l;for(a in e)c[a]||(s[a]=e[a]);if(s.target||(s.target=s.srcElement||document),t.experimentalShadowDom&&(s.target=i(e,s.target)),e&&u.test(e.type)&&e.pageX===l&&e.clientX!==l){var d=s.target.ownerDocument||document,f=d.documentElement,p=d.body;s.pageX=e.clientX+(f&&f.scrollLeft||p&&p.scrollLeft||0)-(f&&f.clientLeft||p&&p.clientLeft||0),s.pageY=e.clientY+(f&&f.scrollTop||p&&p.scrollTop||0)-(f&&f.clientTop||p&&p.clientTop||0)}return s.preventDefault=function(){s.isDefaultPrevented=o,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},s.stopPropagation=function(){s.isPropagationStopped=o,e&&(e.stopPropagation?e.stopPropagation():e.cancelBubble=!0)},s.stopImmediatePropagation=function(){s.isImmediatePropagationStopped=o,s.stopPropagation()},s.isDefaultPrevented||(s.isDefaultPrevented=r,s.isPropagationStopped=r,s.isImmediatePropagationStopped=r),\"undefined\"==typeof s.metaKey&&(s.metaKey=!1),s}function a(t,i,o){function a(){o.domLoaded||(o.domLoaded=!0,i(c))}function s(){(\"complete\"===u.readyState||\"interactive\"===u.readyState&&u.body)&&(r(u,\"readystatechange\",s),a())}function l(){try{u.documentElement.doScroll(\"left\")}catch(t){return void e.setTimeout(l)}a()}var u=t.document,c={type:\"ready\"};return o.domLoaded?void i(c):(u.addEventListener?\"complete\"===u.readyState?a():n(t,\"DOMContentLoaded\",a):(n(u,\"readystatechange\",s),u.documentElement.doScroll&&t.self===t.top&&l()),void n(t,\"load\",a))}function s(){function e(e,t){var n,r,o,a,s=i[t];if(n=s&&s[e.type])for(r=0,o=n.length;r<o;r++)if(a=n[r],a&&a.func.call(a.scope,e)===!1&&e.preventDefault(),e.isImmediatePropagationStopped())return}var t=this,i={},s,u,c,d,f;u=l+(+new Date).toString(32),d=\"onmouseenter\"in document.documentElement,c=\"onfocusin\"in document.documentElement,f={mouseenter:\"mouseover\",mouseleave:\"mouseout\"},s=1,t.domLoaded=!1,t.events=i,t.bind=function(r,l,p,h){function m(t){e(o(t||E.event),g)}var g,v,y,b,C,x,w,E=window;if(r&&3!==r.nodeType&&8!==r.nodeType){for(r[u]?g=r[u]:(g=s++,r[u]=g,i[g]={}),h=h||r,l=l.split(\" \"),y=l.length;y--;)b=l[y],x=m,C=w=!1,\"DOMContentLoaded\"===b&&(b=\"ready\"),t.domLoaded&&\"ready\"===b&&\"complete\"==r.readyState?p.call(h,o({type:b})):(d||(C=f[b],C&&(x=function(t){var n,r;if(n=t.currentTarget,r=t.relatedTarget,r&&n.contains)r=n.contains(r);else for(;r&&r!==n;)r=r.parentNode;r||(t=o(t||E.event),t.type=\"mouseout\"===t.type?\"mouseleave\":\"mouseenter\",t.target=n,e(t,g))})),c||\"focusin\"!==b&&\"focusout\"!==b||(w=!0,C=\"focusin\"===b?\"focus\":\"blur\",x=function(t){t=o(t||E.event),t.type=\"focus\"===t.type?\"focusin\":\"focusout\",e(t,g)}),v=i[g][b],v?\"ready\"===b&&t.domLoaded?p({type:b}):v.push({func:p,scope:h}):(i[g][b]=v=[{func:p,scope:h}],v.fakeName=C,v.capture=w,v.nativeHandler=x,\"ready\"===b?a(r,x,t):n(r,C||b,x,w)));return r=v=0,p}},t.unbind=function(e,n,o){var a,s,l,c,d,f;if(!e||3===e.nodeType||8===e.nodeType)return t;if(a=e[u]){if(f=i[a],n){for(n=n.split(\" \"),l=n.length;l--;)if(d=n[l],s=f[d]){if(o)for(c=s.length;c--;)if(s[c].func===o){var p=s.nativeHandler,h=s.fakeName,m=s.capture;s=s.slice(0,c).concat(s.slice(c+1)),s.nativeHandler=p,s.fakeName=h,s.capture=m,f[d]=s}o&&0!==s.length||(delete f[d],r(e,s.fakeName||d,s.nativeHandler,s.capture))}}else{for(d in f)s=f[d],r(e,s.fakeName||d,s.nativeHandler,s.capture);f={}}for(d in f)return t;delete i[a];try{delete e[u]}catch(g){e[u]=null}}return t},t.fire=function(n,r,i){var a;if(!n||3===n.nodeType||8===n.nodeType)return t;i=o(null,i),i.type=r,i.target=n;do a=n[u],a&&e(i,a),n=n.parentNode||n.ownerDocument||n.defaultView||n.parentWindow;while(n&&!i.isPropagationStopped());return t},t.clean=function(e){var n,r,i=t.unbind;if(!e||3===e.nodeType||8===e.nodeType)return t;if(e[u]&&i(e),e.getElementsByTagName||(e=e.document),e&&e.getElementsByTagName)for(i(e),r=e.getElementsByTagName(\"*\"),n=r.length;n--;)e=r[n],e[u]&&i(e);return t},t.destroy=function(){i={}},t.cancel=function(e){return e&&(e.preventDefault(),e.stopImmediatePropagation()),!1}}var l=\"mce-data-\",u=/^(?:mouse|contextmenu)|click/,c={keyLocation:1,layerX:1,layerY:1,returnValue:1,webkitMovementX:1,webkitMovementY:1,keyIdentifier:1};return s.Event=new s,s.Event.bind(window,\"ready\",function(){}),s}),r(p,[],function(){function e(e,t,n,r){var i,o,a,s,l,u,d,p,h,m;if((t?t.ownerDocument||t:z)!==D&&B(t),t=t||D,n=n||[],!e||\"string\"!=typeof e)return n;if(1!==(s=t.nodeType)&&9!==s)return[];if(M&&!r){if(i=ve.exec(e))if(a=i[1]){if(9===s){if(o=t.getElementById(a),!o||!o.parentNode)return n;if(o.id===a)return n.push(o),n}else if(t.ownerDocument&&(o=t.ownerDocument.getElementById(a))&&I(t,o)&&o.id===a)return n.push(o),n}else{if(i[2])return Z.apply(n,t.getElementsByTagName(e)),n;if((a=i[3])&&x.getElementsByClassName)return Z.apply(n,t.getElementsByClassName(a)),n}if(x.qsa&&(!P||!P.test(e))){if(p=d=F,h=t,m=9===s&&e,1===s&&\"object\"!==t.nodeName.toLowerCase()){for(u=_(e),(d=t.getAttribute(\"id\"))?p=d.replace(be,\"\\\\$&\"):t.setAttribute(\"id\",p),p=\"[id='\"+p+\"'] \",l=u.length;l--;)u[l]=p+f(u[l]);h=ye.test(e)&&c(t.parentNode)||t,m=u.join(\",\")}if(m)try{return Z.apply(n,h.querySelectorAll(m)),n}catch(g){}finally{d||t.removeAttribute(\"id\")}}}return k(e.replace(se,\"$1\"),t,n,r)}function n(){function e(n,r){return t.push(n+\" \")>w.cacheLength&&delete e[t.shift()],e[n+\" \"]=r}var t=[];return e}function r(e){return e[F]=!0,e}function i(e){var t=D.createElement(\"div\");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function o(e,t){for(var n=e.split(\"|\"),r=e.length;r--;)w.attrHandle[n[r]]=t}function a(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||X)-(~e.sourceIndex||X);if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function s(e){return function(t){var n=t.nodeName.toLowerCase();return\"input\"===n&&t.type===e}}function l(e){return function(t){var n=t.nodeName.toLowerCase();return(\"input\"===n||\"button\"===n)&&t.type===e}}function u(e){return r(function(t){return t=+t,r(function(n,r){for(var i,o=e([],n.length,t),a=o.length;a--;)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function c(e){return e&&typeof e.getElementsByTagName!==Y&&e}function d(){}function f(e){for(var t=0,n=e.length,r=\"\";t<n;t++)r+=e[t].value;return r}function p(e,t,n){var r=t.dir,i=n&&\"parentNode\"===r,o=W++;return t.first?function(t,n,o){for(;t=t[r];)if(1===t.nodeType||i)return e(t,n,o)}:function(t,n,a){var s,l,u=[U,o];if(a){for(;t=t[r];)if((1===t.nodeType||i)&&e(t,n,a))return!0}else for(;t=t[r];)if(1===t.nodeType||i){if(l=t[F]||(t[F]={}),(s=l[r])&&s[0]===U&&s[1]===o)return u[2]=s[2];if(l[r]=u,u[2]=e(t,n,a))return!0}}}function h(e){return e.length>1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function m(t,n,r){for(var i=0,o=n.length;i<o;i++)e(t,n[i],r);return r}function g(e,t,n,r,i){for(var o,a=[],s=0,l=e.length,u=null!=t;s<l;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),u&&t.push(s)));return a}function v(e,t,n,i,o,a){return i&&!i[F]&&(i=v(i)),o&&!o[F]&&(o=v(o,a)),r(function(r,a,s,l){var u,c,d,f=[],p=[],h=a.length,v=r||m(t||\"*\",s.nodeType?[s]:s,[]),y=!e||!r&&t?v:g(v,f,e,s,l),b=n?o||(r?e:h||i)?[]:a:y;if(n&&n(y,b,s,l),i)for(u=g(b,p),i(u,[],s,l),c=u.length;c--;)(d=u[c])&&(b[p[c]]=!(y[p[c]]=d));if(r){if(o||e){if(o){for(u=[],c=b.length;c--;)(d=b[c])&&u.push(y[c]=d);o(null,b=[],u,l)}for(c=b.length;c--;)(d=b[c])&&(u=o?te.call(r,d):f[c])>-1&&(r[u]=!(a[u]=d))}}else b=g(b===a?b.splice(h,b.length):b),o?o(null,a,b,l):Z.apply(a,b)})}function y(e){for(var t,n,r,i=e.length,o=w.relative[e[0].type],a=o||w.relative[\" \"],s=o?1:0,l=p(function(e){return e===t},a,!0),u=p(function(e){return te.call(t,e)>-1},a,!0),c=[function(e,n,r){return!o&&(r||n!==T)||((t=n).nodeType?l(e,n,r):u(e,n,r))}];s<i;s++)if(n=w.relative[e[s].type])c=[p(h(c),n)];else{if(n=w.filter[e[s].type].apply(null,e[s].matches),n[F]){for(r=++s;r<i&&!w.relative[e[r].type];r++);return v(s>1&&h(c),s>1&&f(e.slice(0,s-1).concat({value:\" \"===e[s-2].type?\"*\":\"\"})).replace(se,\"$1\"),n,s<r&&y(e.slice(s,r)),r<i&&y(e=e.slice(r)),r<i&&f(e))}c.push(n)}return h(c)}function b(t,n){var i=n.length>0,o=t.length>0,a=function(r,a,s,l,u){var c,d,f,p=0,h=\"0\",m=r&&[],v=[],y=T,b=r||o&&w.find.TAG(\"*\",u),C=U+=null==y?1:Math.random()||.1,x=b.length;for(u&&(T=a!==D&&a);h!==x&&null!=(c=b[h]);h++){if(o&&c){for(d=0;f=t[d++];)if(f(c,a,s)){l.push(c);break}u&&(U=C)}i&&((c=!f&&c)&&p--,r&&m.push(c))}if(p+=h,i&&h!==p){for(d=0;f=n[d++];)f(m,v,a,s);if(r){if(p>0)for(;h--;)m[h]||v[h]||(v[h]=J.call(l));v=g(v)}Z.apply(l,v),u&&!r&&v.length>0&&p+n.length>1&&e.uniqueSort(l)}return u&&(U=C,T=y),m};return i?r(a):a}var C,x,w,E,N,_,S,k,T,R,A,B,D,L,M,P,O,H,I,F=\"sizzle\"+-new Date,z=window.document,U=0,W=0,V=n(),$=n(),q=n(),j=function(e,t){return e===t&&(A=!0),0},Y=typeof t,X=1<<31,K={}.hasOwnProperty,G=[],J=G.pop,Q=G.push,Z=G.push,ee=G.slice,te=G.indexOf||function(e){for(var t=0,n=this.length;t<n;t++)if(this[t]===e)return t;return-1},ne=\"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped\",re=\"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\",ie=\"(?:\\\\\\\\.|[\\\\w-]|[^\\\\x00-\\\\xa0])+\",oe=\"\\\\[\"+re+\"*(\"+ie+\")(?:\"+re+\"*([*^$|!~]?=)\"+re+\"*(?:'((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\"|(\"+ie+\"))|)\"+re+\"*\\\\]\",ae=\":(\"+ie+\")(?:\\\\((('((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\")|((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|\"+oe+\")*)|.*)\\\\)|)\",se=new RegExp(\"^\"+re+\"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\"+re+\"+$\",\"g\"),le=new RegExp(\"^\"+re+\"*,\"+re+\"*\"),ue=new RegExp(\"^\"+re+\"*([>+~]|\"+re+\")\"+re+\"*\"),ce=new RegExp(\"=\"+re+\"*([^\\\\]'\\\"]*?)\"+re+\"*\\\\]\",\"g\"),de=new RegExp(ae),fe=new RegExp(\"^\"+ie+\"$\"),pe={ID:new RegExp(\"^#(\"+ie+\")\"),CLASS:new RegExp(\"^\\\\.(\"+ie+\")\"),TAG:new RegExp(\"^(\"+ie+\"|[*])\"),ATTR:new RegExp(\"^\"+oe),PSEUDO:new RegExp(\"^\"+ae),CHILD:new RegExp(\"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\"+re+\"*(even|odd|(([+-]|)(\\\\d*)n|)\"+re+\"*(?:([+-]|)\"+re+\"*(\\\\d+)|))\"+re+\"*\\\\)|)\",\"i\"),bool:new RegExp(\"^(?:\"+ne+\")$\",\"i\"),needsContext:new RegExp(\"^\"+re+\"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\"+re+\"*((?:-\\\\d)?\\\\d*)\"+re+\"*\\\\)|)(?=[^-]|$)\",\"i\")},he=/^(?:input|select|textarea|button)$/i,me=/^h\\d$/i,ge=/^[^{]+\\{\\s*\\[native \\w/,ve=/^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,ye=/[+~]/,be=/'|\\\\/g,Ce=new RegExp(\"\\\\\\\\([\\\\da-f]{1,6}\"+re+\"?|(\"+re+\")|.)\",\"ig\"),xe=function(e,t,n){var r=\"0x\"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)};try{Z.apply(G=ee.call(z.childNodes),z.childNodes),G[z.childNodes.length].nodeType}catch(we){Z={apply:G.length?function(e,t){Q.apply(e,ee.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}x=e.support={},N=e.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&\"HTML\"!==t.nodeName},B=e.setDocument=function(e){function t(e){try{return e.top}catch(t){}return null}var n,r=e?e.ownerDocument||e:z,o=r.defaultView;return r!==D&&9===r.nodeType&&r.documentElement?(D=r,L=r.documentElement,M=!N(r),o&&o!==t(o)&&(o.addEventListener?o.addEventListener(\"unload\",function(){B()},!1):o.attachEvent&&o.attachEvent(\"onunload\",function(){B()})),x.attributes=i(function(e){return e.className=\"i\",!e.getAttribute(\"className\")}),x.getElementsByTagName=i(function(e){return e.appendChild(r.createComment(\"\")),!e.getElementsByTagName(\"*\").length}),x.getElementsByClassName=ge.test(r.getElementsByClassName),x.getById=i(function(e){return L.appendChild(e).id=F,!r.getElementsByName||!r.getElementsByName(F).length}),x.getById?(w.find.ID=function(e,t){if(typeof t.getElementById!==Y&&M){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},w.filter.ID=function(e){var t=e.replace(Ce,xe);return function(e){return e.getAttribute(\"id\")===t}}):(delete w.find.ID,w.filter.ID=function(e){var t=e.replace(Ce,xe);return function(e){var n=typeof e.getAttributeNode!==Y&&e.getAttributeNode(\"id\");return n&&n.value===t}}),w.find.TAG=x.getElementsByTagName?function(e,t){if(typeof t.getElementsByTagName!==Y)return t.getElementsByTagName(e)}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if(\"*\"===e){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},w.find.CLASS=x.getElementsByClassName&&function(e,t){if(M)return t.getElementsByClassName(e)},O=[],P=[],(x.qsa=ge.test(r.querySelectorAll))&&(i(function(e){e.innerHTML=\"<select msallowcapture=''><option selected=''></option></select>\",e.querySelectorAll(\"[msallowcapture^='']\").length&&P.push(\"[*^$]=\"+re+\"*(?:''|\\\"\\\")\"),e.querySelectorAll(\"[selected]\").length||P.push(\"\\\\[\"+re+\"*(?:value|\"+ne+\")\"),e.querySelectorAll(\":checked\").length||P.push(\":checked\")}),i(function(e){var t=r.createElement(\"input\");t.setAttribute(\"type\",\"hidden\"),e.appendChild(t).setAttribute(\"name\",\"D\"),e.querySelectorAll(\"[name=d]\").length&&P.push(\"name\"+re+\"*[*^$|!~]?=\"),e.querySelectorAll(\":enabled\").length||P.push(\":enabled\",\":disabled\"),e.querySelectorAll(\"*,:x\"),P.push(\",.*:\")})),(x.matchesSelector=ge.test(H=L.matches||L.webkitMatchesSelector||L.mozMatchesSelector||L.oMatchesSelector||L.msMatchesSelector))&&i(function(e){x.disconnectedMatch=H.call(e,\"div\"),H.call(e,\"[s!='']:x\"),O.push(\"!=\",ae)}),P=P.length&&new RegExp(P.join(\"|\")),O=O.length&&new RegExp(O.join(\"|\")),n=ge.test(L.compareDocumentPosition),I=n||ge.test(L.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},j=n?function(e,t){if(e===t)return A=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n?n:(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,1&n||!x.sortDetached&&t.compareDocumentPosition(e)===n?e===r||e.ownerDocument===z&&I(z,e)?-1:t===r||t.ownerDocument===z&&I(z,t)?1:R?te.call(R,e)-te.call(R,t):0:4&n?-1:1)}:function(e,t){if(e===t)return A=!0,0;var n,i=0,o=e.parentNode,s=t.parentNode,l=[e],u=[t];if(!o||!s)return e===r?-1:t===r?1:o?-1:s?1:R?te.call(R,e)-te.call(R,t):0;if(o===s)return a(e,t);for(n=e;n=n.parentNode;)l.unshift(n);for(n=t;n=n.parentNode;)u.unshift(n);for(;l[i]===u[i];)i++;return i?a(l[i],u[i]):l[i]===z?-1:u[i]===z?1:0},r):D},e.matches=function(t,n){return e(t,null,null,n)},e.matchesSelector=function(t,n){if((t.ownerDocument||t)!==D&&B(t),n=n.replace(ce,\"='$1']\"),x.matchesSelector&&M&&(!O||!O.test(n))&&(!P||!P.test(n)))try{var r=H.call(t,n);if(r||x.disconnectedMatch||t.document&&11!==t.document.nodeType)return r}catch(i){}return e(n,D,null,[t]).length>0},e.contains=function(e,t){return(e.ownerDocument||e)!==D&&B(e),I(e,t)},e.attr=function(e,n){(e.ownerDocument||e)!==D&&B(e);var r=w.attrHandle[n.toLowerCase()],i=r&&K.call(w.attrHandle,n.toLowerCase())?r(e,n,!M):t;return i!==t?i:x.attributes||!M?e.getAttribute(n):(i=e.getAttributeNode(n))&&i.specified?i.value:null},e.error=function(e){throw new Error(\"Syntax error, unrecognized expression: \"+e)},e.uniqueSort=function(e){var t,n=[],r=0,i=0;if(A=!x.detectDuplicates,R=!x.sortStable&&e.slice(0),e.sort(j),A){for(;t=e[i++];)t===e[i]&&(r=n.push(i));for(;r--;)e.splice(n[r],1)}return R=null,e},E=e.getText=function(e){var t,n=\"\",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if(\"string\"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=E(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r++];)n+=E(t);return n},w=e.selectors={cacheLength:50,createPseudo:r,match:pe,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(Ce,xe),e[3]=(e[3]||e[4]||e[5]||\"\").replace(Ce,xe),\"~=\"===e[2]&&(e[3]=\" \"+e[3]+\" \"),e.slice(0,4)},CHILD:function(t){return t[1]=t[1].toLowerCase(),\"nth\"===t[1].slice(0,3)?(t[3]||e.error(t[0]),t[4]=+(t[4]?t[5]+(t[6]||1):2*(\"even\"===t[3]||\"odd\"===t[3])),t[5]=+(t[7]+t[8]||\"odd\"===t[3])):t[3]&&e.error(t[0]),t},PSEUDO:function(e){var t,n=!e[6]&&e[2];return pe.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||\"\":n&&de.test(n)&&(t=_(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(Ce,xe).toLowerCase();return\"*\"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=V[e+\" \"];return t||(t=new RegExp(\"(^|\"+re+\")\"+e+\"(\"+re+\"|$)\"))&&V(e,function(e){return t.test(\"string\"==typeof e.className&&e.className||typeof e.getAttribute!==Y&&e.getAttribute(\"class\")||\"\")})},ATTR:function(t,n,r){return function(i){var o=e.attr(i,t);return null==o?\"!=\"===n:!n||(o+=\"\",\"=\"===n?o===r:\"!=\"===n?o!==r:\"^=\"===n?r&&0===o.indexOf(r):\"*=\"===n?r&&o.indexOf(r)>-1:\"$=\"===n?r&&o.slice(-r.length)===r:\"~=\"===n?(\" \"+o+\" \").indexOf(r)>-1:\"|=\"===n&&(o===r||o.slice(0,r.length+1)===r+\"-\"))}},CHILD:function(e,t,n,r,i){var o=\"nth\"!==e.slice(0,3),a=\"last\"!==e.slice(-4),s=\"of-type\"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,l){var u,c,d,f,p,h,m=o!==a?\"nextSibling\":\"previousSibling\",g=t.parentNode,v=s&&t.nodeName.toLowerCase(),y=!l&&!s;if(g){if(o){for(;m;){for(d=t;d=d[m];)if(s?d.nodeName.toLowerCase()===v:1===d.nodeType)return!1;h=m=\"only\"===e&&!h&&\"nextSibling\"}return!0}if(h=[a?g.firstChild:g.lastChild],a&&y){for(c=g[F]||(g[F]={}),u=c[e]||[],p=u[0]===U&&u[1],f=u[0]===U&&u[2],d=p&&g.childNodes[p];d=++p&&d&&d[m]||(f=p=0)||h.pop();)if(1===d.nodeType&&++f&&d===t){c[e]=[U,p,f];break}}else if(y&&(u=(t[F]||(t[F]={}))[e])&&u[0]===U)f=u[1];else for(;(d=++p&&d&&d[m]||(f=p=0)||h.pop())&&((s?d.nodeName.toLowerCase()!==v:1!==d.nodeType)||!++f||(y&&((d[F]||(d[F]={}))[e]=[U,f]),d!==t)););return f-=i,f===r||f%r===0&&f/r>=0}}},PSEUDO:function(t,n){var i,o=w.pseudos[t]||w.setFilters[t.toLowerCase()]||e.error(\"unsupported pseudo: \"+t);return o[F]?o(n):o.length>1?(i=[t,t,\"\",n],w.setFilters.hasOwnProperty(t.toLowerCase())?r(function(e,t){for(var r,i=o(e,n),a=i.length;a--;)r=te.call(e,i[a]),e[r]=!(t[r]=i[a])}):function(e){return o(e,0,i)}):o}},pseudos:{not:r(function(e){var t=[],n=[],i=S(e.replace(se,\"$1\"));return i[F]?r(function(e,t,n,r){for(var o,a=i(e,null,r,[]),s=e.length;s--;)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,r,o){return t[0]=e,i(t,null,o,n),!n.pop()}}),has:r(function(t){return function(n){return e(t,n).length>0}}),contains:r(function(e){return e=e.replace(Ce,xe),function(t){return(t.textContent||t.innerText||E(t)).indexOf(e)>-1}}),lang:r(function(t){return fe.test(t||\"\")||e.error(\"unsupported lang: \"+t),t=t.replace(Ce,xe).toLowerCase(),function(e){var n;do if(n=M?e.lang:e.getAttribute(\"xml:lang\")||e.getAttribute(\"lang\"))return n=n.toLowerCase(),n===t||0===n.indexOf(t+\"-\");while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=window.location&&window.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===L},focus:function(e){return e===D.activeElement&&(!D.hasFocus||D.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return\"input\"===t&&!!e.checked||\"option\"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!w.pseudos.empty(e)},header:function(e){return me.test(e.nodeName)},input:function(e){return he.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return\"input\"===t&&\"button\"===e.type||\"button\"===t},text:function(e){var t;return\"input\"===e.nodeName.toLowerCase()&&\"text\"===e.type&&(null==(t=e.getAttribute(\"type\"))||\"text\"===t.toLowerCase())},first:u(function(){return[0]}),last:u(function(e,t){return[t-1]}),eq:u(function(e,t,n){return[n<0?n+t:n]}),even:u(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:u(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:u(function(e,t,n){for(var r=n<0?n+t:n;--r>=0;)e.push(r);return e}),gt:u(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}},w.pseudos.nth=w.pseudos.eq;for(C in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})w.pseudos[C]=s(C);for(C in{submit:!0,reset:!0})w.pseudos[C]=l(C);return d.prototype=w.filters=w.pseudos,w.setFilters=new d,_=e.tokenize=function(t,n){var r,i,o,a,s,l,u,c=$[t+\" \"];if(c)return n?0:c.slice(0);for(s=t,l=[],u=w.preFilter;s;){r&&!(i=le.exec(s))||(i&&(s=s.slice(i[0].length)||s),l.push(o=[])),r=!1,(i=ue.exec(s))&&(r=i.shift(),o.push({value:r,type:i[0].replace(se,\" \")}),s=s.slice(r.length));for(a in w.filter)!(i=pe[a].exec(s))||u[a]&&!(i=u[a](i))||(r=i.shift(),o.push({value:r,type:a,matches:i}),s=s.slice(r.length));if(!r)break}return n?s.length:s?e.error(t):$(t,l).slice(0)},S=e.compile=function(e,t){var n,r=[],i=[],o=q[e+\" \"];if(!o){for(t||(t=_(e)),n=t.length;n--;)o=y(t[n]),o[F]?r.push(o):i.push(o);o=q(e,b(i,r)),o.selector=e}return o},k=e.select=function(e,t,n,r){var i,o,a,s,l,u=\"function\"==typeof e&&e,d=!r&&_(e=u.selector||e);\nif(n=n||[],1===d.length){if(o=d[0]=d[0].slice(0),o.length>2&&\"ID\"===(a=o[0]).type&&x.getById&&9===t.nodeType&&M&&w.relative[o[1].type]){if(t=(w.find.ID(a.matches[0].replace(Ce,xe),t)||[])[0],!t)return n;u&&(t=t.parentNode),e=e.slice(o.shift().value.length)}for(i=pe.needsContext.test(e)?0:o.length;i--&&(a=o[i],!w.relative[s=a.type]);)if((l=w.find[s])&&(r=l(a.matches[0].replace(Ce,xe),ye.test(o[0].type)&&c(t.parentNode)||t))){if(o.splice(i,1),e=r.length&&f(o),!e)return Z.apply(n,r),n;break}}return(u||S(e,d))(r,t,!M,n,ye.test(e)&&c(t.parentNode)||t),n},x.sortStable=F.split(\"\").sort(j).join(\"\")===F,x.detectDuplicates=!!A,B(),x.sortDetached=i(function(e){return 1&e.compareDocumentPosition(D.createElement(\"div\"))}),i(function(e){return e.innerHTML=\"<a href='#'></a>\",\"#\"===e.firstChild.getAttribute(\"href\")})||o(\"type|href|height|width\",function(e,t,n){if(!n)return e.getAttribute(t,\"type\"===t.toLowerCase()?1:2)}),x.attributes&&i(function(e){return e.innerHTML=\"<input/>\",e.firstChild.setAttribute(\"value\",\"\"),\"\"===e.firstChild.getAttribute(\"value\")})||o(\"value\",function(e,t,n){if(!n&&\"input\"===e.nodeName.toLowerCase())return e.defaultValue}),i(function(e){return null==e.getAttribute(\"disabled\")})||o(ne,function(e,t,n){var r;if(!n)return e[t]===!0?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),e}),r(h,[],function(){function e(e){var t=e,n,r;if(!c(e))for(t=[],n=0,r=e.length;n<r;n++)t[n]=e[n];return t}function n(e,n,r){var i,o;if(!e)return 0;if(r=r||e,e.length!==t){for(i=0,o=e.length;i<o;i++)if(n.call(r,e[i],i,e)===!1)return 0}else for(i in e)if(e.hasOwnProperty(i)&&n.call(r,e[i],i,e)===!1)return 0;return 1}function r(e,t){var r=[];return n(e,function(n,i){r.push(t(n,i,e))}),r}function i(e,t){var r=[];return n(e,function(n,i){t&&!t(n,i,e)||r.push(n)}),r}function o(e,t){var n,r;if(e)for(n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1}function a(e,t,n,r){var i=0;for(arguments.length<3&&(n=e[0]);i<e.length;i++)n=t.call(r,n,e[i],i);return n}function s(e,t,n){var r,i;for(r=0,i=e.length;r<i;r++)if(t.call(n,e[r],r,e))return r;return-1}function l(e,n,r){var i=s(e,n,r);return i!==-1?e[i]:t}function u(e){return e[e.length-1]}var c=Array.isArray||function(e){return\"[object Array]\"===Object.prototype.toString.call(e)};return{isArray:c,toArray:e,each:n,map:r,filter:i,indexOf:o,reduce:a,findIndex:s,find:l,last:u}}),r(m,[d,h],function(e,n){function r(e){return null===e||e===t?\"\":(\"\"+e).replace(h,\"\")}function i(e,r){return r?!(\"array\"!=r||!n.isArray(e))||typeof e==r:e!==t}function o(e,t,n){var r;for(e=e||[],t=t||\",\",\"string\"==typeof e&&(e=e.split(t)),n=n||{},r=e.length;r--;)n[e[r]]={};return n}function a(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function s(e,t,n){var r=this,i,o,a,s,l,u=0;if(e=/^((static) )?([\\w.]+)(:([\\w.]+))?/.exec(e),a=e[3].match(/(^|\\.)(\\w+)$/i)[2],o=r.createNS(e[3].replace(/\\.\\w+$/,\"\"),n),!o[a]){if(\"static\"==e[2])return o[a]=t,void(this.onCreate&&this.onCreate(e[2],e[3],o[a]));t[a]||(t[a]=function(){},u=1),o[a]=t[a],r.extend(o[a].prototype,t),e[5]&&(i=r.resolve(e[5]).prototype,s=e[5].match(/\\.(\\w+)$/i)[1],l=o[a],u?o[a]=function(){return i[s].apply(this,arguments)}:o[a]=function(){return this.parent=i[s],l.apply(this,arguments)},o[a].prototype[a]=o[a],r.each(i,function(e,t){o[a].prototype[t]=i[t]}),r.each(t,function(e,t){i[t]?o[a].prototype[t]=function(){return this.parent=i[t],e.apply(this,arguments)}:t!=a&&(o[a].prototype[t]=e)})),r.each(t[\"static\"],function(e,t){o[a][t]=e})}}function l(e,n){var r,i,o,a=arguments,s;for(r=1,i=a.length;r<i;r++){n=a[r];for(o in n)n.hasOwnProperty(o)&&(s=n[o],s!==t&&(e[o]=s))}return e}function u(e,t,r,i){i=i||this,e&&(r&&(e=e[r]),n.each(e,function(e,n){return t.call(i,e,n,r)!==!1&&void u(e,t,r,i)}))}function c(e,t){var n,r;for(t=t||window,e=e.split(\".\"),n=0;n<e.length;n++)r=e[n],t[r]||(t[r]={}),t=t[r];return t}function d(e,t){var n,r;for(t=t||window,e=e.split(\".\"),n=0,r=e.length;n<r&&(t=t[e[n]],t);n++);return t}function f(e,t){return!e||i(e,\"array\")?e:n.map(e.split(t||\",\"),r)}function p(t){var n=e.cacheSuffix;return n&&(t+=(t.indexOf(\"?\")===-1?\"?\":\"&\")+n),t}var h=/^\\s*|\\s*$/g;return{trim:r,isArray:n.isArray,is:i,toArray:n.toArray,makeMap:o,each:n.each,map:n.map,grep:n.filter,inArray:n.indexOf,hasOwn:a,extend:l,create:s,walk:u,createNS:c,resolve:d,explode:f,_addCacheSuffix:p}}),r(g,[f,p,m,d],function(e,n,r,i){function o(e){return\"undefined\"!=typeof e}function a(e){return\"string\"==typeof e}function s(e){return e&&e==e.window}function l(e,t){var n,r,i;for(t=t||w,i=t.createElement(\"div\"),n=t.createDocumentFragment(),i.innerHTML=e;r=i.firstChild;)n.appendChild(r);return n}function u(e,t,n,r){var i;if(a(t))t=l(t,v(e[0]));else if(t.length&&!t.nodeType){if(t=f.makeArray(t),r)for(i=t.length-1;i>=0;i--)u(e,t[i],n,r);else for(i=0;i<t.length;i++)u(e,t[i],n,r);return e}if(t.nodeType)for(i=e.length;i--;)n.call(e[i],t);return e}function c(e,t){return e&&t&&(\" \"+e.className+\" \").indexOf(\" \"+t+\" \")!==-1}function d(e,t,n){var r,i;return t=f(t)[0],e.each(function(){var e=this;n&&r==e.parentNode?i.appendChild(e):(r=e.parentNode,i=t.cloneNode(!1),e.parentNode.insertBefore(i,e),i.appendChild(e))}),e}function f(e,t){return new f.fn.init(e,t)}function p(e,t){var n;if(t.indexOf)return t.indexOf(e);for(n=t.length;n--;)if(t[n]===e)return n;return-1}function h(e){return null===e||e===k?\"\":(\"\"+e).replace(P,\"\")}function m(e,t){var n,r,i,o,a;if(e)if(n=e.length,n===o){for(r in e)if(e.hasOwnProperty(r)&&(a=e[r],t.call(a,r,a)===!1))break}else for(i=0;i<n&&(a=e[i],t.call(a,i,a)!==!1);i++);return e}function g(e,t){var n=[];return m(e,function(e,r){t(r,e)&&n.push(r)}),n}function v(e){return e?9==e.nodeType?e:e.ownerDocument:w}function y(e,n,r){var i=[],o=e[n];for(\"string\"!=typeof r&&r instanceof f&&(r=r[0]);o&&9!==o.nodeType;){if(r!==t){if(o===r)break;if(\"string\"==typeof r&&f(o).is(r))break}1===o.nodeType&&i.push(o),o=o[n]}return i}function b(e,n,r,i){var o=[];for(i instanceof f&&(i=i[0]);e;e=e[n])if(!r||e.nodeType===r){if(i!==t){if(e===i)break;if(\"string\"==typeof i&&f(e).is(i))break}o.push(e)}return o}function C(e,t,n){for(e=e[t];e;e=e[t])if(e.nodeType==n)return e;return null}function x(e,t,n){m(n,function(n,r){e[n]=e[n]||{},e[n][t]=r})}var w=document,E=Array.prototype.push,N=Array.prototype.slice,_=/^(?:[^#<]*(<[\\w\\W]+>)[^>]*$|#([\\w\\-]*)$)/,S=e.Event,k,T=r.makeMap(\"children,contents,next,prev\"),R=r.makeMap(\"fillOpacity fontWeight lineHeight opacity orphans widows zIndex zoom\",\" \"),A=r.makeMap(\"checked compact declare defer disabled ismap multiple nohref noshade nowrap readonly selected\",\" \"),B={\"for\":\"htmlFor\",\"class\":\"className\",readonly:\"readOnly\"},D={\"float\":\"cssFloat\"},L={},M={},P=/^\\s*|\\s*$/g;return f.fn=f.prototype={constructor:f,selector:\"\",context:null,length:0,init:function(e,t){var n=this,r,i;if(!e)return n;if(e.nodeType)return n.context=n[0]=e,n.length=1,n;if(t&&t.nodeType)n.context=t;else{if(t)return f(e).attr(t);n.context=t=document}if(a(e)){if(n.selector=e,r=\"<\"===e.charAt(0)&&\">\"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:_.exec(e),!r)return f(t).find(e);if(r[1])for(i=l(e,v(t)).firstChild;i;)E.call(n,i),i=i.nextSibling;else{if(i=v(t).getElementById(r[2]),!i)return n;if(i.id!==r[2])return n.find(e);n.length=1,n[0]=i}}else this.add(e,!1);return n},toArray:function(){return r.toArray(this)},add:function(e,t){var n=this,r,i;if(a(e))return n.add(f(e));if(t!==!1)for(r=f.unique(n.toArray().concat(f.makeArray(e))),n.length=r.length,i=0;i<r.length;i++)n[i]=r[i];else E.apply(n,f.makeArray(e));return n},attr:function(e,t){var n=this,r;if(\"object\"==typeof e)m(e,function(e,t){n.attr(e,t)});else{if(!o(t)){if(n[0]&&1===n[0].nodeType){if(r=L[e],r&&r.get)return r.get(n[0],e);if(A[e])return n.prop(e)?e:k;t=n[0].getAttribute(e,2),null===t&&(t=k)}return t}this.each(function(){var n;if(1===this.nodeType){if(n=L[e],n&&n.set)return void n.set(this,t);null===t?this.removeAttribute(e,2):this.setAttribute(e,t,2)}})}return n},removeAttr:function(e){return this.attr(e,null)},prop:function(e,t){var n=this;if(e=B[e]||e,\"object\"==typeof e)m(e,function(e,t){n.prop(e,t)});else{if(!o(t))return n[0]&&n[0].nodeType&&e in n[0]?n[0][e]:t;this.each(function(){1==this.nodeType&&(this[e]=t)})}return n},css:function(e,t){function n(e){return e.replace(/-(\\D)/g,function(e,t){return t.toUpperCase()})}function r(e){return e.replace(/[A-Z]/g,function(e){return\"-\"+e})}var i=this,a,s;if(\"object\"==typeof e)m(e,function(e,t){i.css(e,t)});else if(o(t))e=n(e),\"number\"!=typeof t||R[e]||(t+=\"px\"),i.each(function(){var n=this.style;if(s=M[e],s&&s.set)return void s.set(this,t);try{this.style[D[e]||e]=t}catch(i){}null!==t&&\"\"!==t||(n.removeProperty?n.removeProperty(r(e)):n.removeAttribute(e))});else{if(a=i[0],s=M[e],s&&s.get)return s.get(a);if(a.ownerDocument.defaultView)try{return a.ownerDocument.defaultView.getComputedStyle(a,null).getPropertyValue(r(e))}catch(l){return k}else if(a.currentStyle)return a.currentStyle[n(e)]}return i},remove:function(){for(var e=this,t,n=this.length;n--;)t=e[n],S.clean(t),t.parentNode&&t.parentNode.removeChild(t);return this},empty:function(){for(var e=this,t,n=this.length;n--;)for(t=e[n];t.firstChild;)t.removeChild(t.firstChild);return this},html:function(e){var t=this,n;if(o(e)){n=t.length;try{for(;n--;)t[n].innerHTML=e}catch(r){f(t[n]).empty().append(e)}return t}return t[0]?t[0].innerHTML:\"\"},text:function(e){var t=this,n;if(o(e)){for(n=t.length;n--;)\"innerText\"in t[n]?t[n].innerText=e:t[0].textContent=e;return t}return t[0]?t[0].innerText||t[0].textContent:\"\"},append:function(){return u(this,arguments,function(e){(1===this.nodeType||this.host&&1===this.host.nodeType)&&this.appendChild(e)})},prepend:function(){return u(this,arguments,function(e){(1===this.nodeType||this.host&&1===this.host.nodeType)&&this.insertBefore(e,this.firstChild)},!0)},before:function(){var e=this;return e[0]&&e[0].parentNode?u(e,arguments,function(e){this.parentNode.insertBefore(e,this)}):e},after:function(){var e=this;return e[0]&&e[0].parentNode?u(e,arguments,function(e){this.parentNode.insertBefore(e,this.nextSibling)},!0):e},appendTo:function(e){return f(e).append(this),this},prependTo:function(e){return f(e).prepend(this),this},replaceWith:function(e){return this.before(e).remove()},wrap:function(e){return d(this,e)},wrapAll:function(e){return d(this,e,!0)},wrapInner:function(e){return this.each(function(){f(this).contents().wrapAll(e)}),this},unwrap:function(){return this.parent().each(function(){f(this).replaceWith(this.childNodes)})},clone:function(){var e=[];return this.each(function(){e.push(this.cloneNode(!0))}),f(e)},addClass:function(e){return this.toggleClass(e,!0)},removeClass:function(e){return this.toggleClass(e,!1)},toggleClass:function(e,t){var n=this;return\"string\"!=typeof e?n:(e.indexOf(\" \")!==-1?m(e.split(\" \"),function(){n.toggleClass(this,t)}):n.each(function(n,r){var i,o;o=c(r,e),o!==t&&(i=r.className,o?r.className=h((\" \"+i+\" \").replace(\" \"+e+\" \",\" \")):r.className+=i?\" \"+e:e)}),n)},hasClass:function(e){return c(this[0],e)},each:function(e){return m(this,e)},on:function(e,t){return this.each(function(){S.bind(this,e,t)})},off:function(e,t){return this.each(function(){S.unbind(this,e,t)})},trigger:function(e){return this.each(function(){\"object\"==typeof e?S.fire(this,e.type,e):S.fire(this,e)})},show:function(){return this.css(\"display\",\"\")},hide:function(){return this.css(\"display\",\"none\")},slice:function(){return new f(N.apply(this,arguments))},eq:function(e){return e===-1?this.slice(e):this.slice(e,+e+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},find:function(e){var t,n,r=[];for(t=0,n=this.length;t<n;t++)f.find(e,this[t],r);return f(r)},filter:function(e){return f(\"function\"==typeof e?g(this.toArray(),function(t,n){return e(n,t)}):f.filter(e,this.toArray()))},closest:function(e){var t=[];return e instanceof f&&(e=e[0]),this.each(function(n,r){for(;r;){if(\"string\"==typeof e&&f(r).is(e)){t.push(r);break}if(r==e){t.push(r);break}r=r.parentNode}}),f(t)},offset:function(e){var t,n,r,i=0,o=0,a;return e?this.css(e):(t=this[0],t&&(n=t.ownerDocument,r=n.documentElement,t.getBoundingClientRect&&(a=t.getBoundingClientRect(),i=a.left+(r.scrollLeft||n.body.scrollLeft)-r.clientLeft,o=a.top+(r.scrollTop||n.body.scrollTop)-r.clientTop)),{left:i,top:o})},push:E,sort:[].sort,splice:[].splice},r.extend(f,{extend:r.extend,makeArray:function(e){return s(e)||e.nodeType?[e]:r.toArray(e)},inArray:p,isArray:r.isArray,each:m,trim:h,grep:g,find:n,expr:n.selectors,unique:n.uniqueSort,text:n.getText,contains:n.contains,filter:function(e,t,n){var r=t.length;for(n&&(e=\":not(\"+e+\")\");r--;)1!=t[r].nodeType&&t.splice(r,1);return t=1===t.length?f.find.matchesSelector(t[0],e)?[t[0]]:[]:f.find.matches(e,t)}}),m({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return y(e,\"parentNode\")},next:function(e){return C(e,\"nextSibling\",1)},prev:function(e){return C(e,\"previousSibling\",1)},children:function(e){return b(e.firstChild,\"nextSibling\",1)},contents:function(e){return r.toArray((\"iframe\"===e.nodeName?e.contentDocument||e.contentWindow.document:e).childNodes)}},function(e,t){f.fn[e]=function(n){var r=this,i=[];return r.each(function(){var e=t.call(i,this,n,i);e&&(f.isArray(e)?i.push.apply(i,e):i.push(e))}),this.length>1&&(T[e]||(i=f.unique(i)),0===e.indexOf(\"parents\")&&(i=i.reverse())),i=f(i),n?i.filter(n):i}}),m({parentsUntil:function(e,t){return y(e,\"parentNode\",t)},nextUntil:function(e,t){return b(e,\"nextSibling\",1,t).slice(1)},prevUntil:function(e,t){return b(e,\"previousSibling\",1,t).slice(1)}},function(e,t){f.fn[e]=function(n,r){var i=this,o=[];return i.each(function(){var e=t.call(o,this,n,o);e&&(f.isArray(e)?o.push.apply(o,e):o.push(e))}),this.length>1&&(o=f.unique(o),0!==e.indexOf(\"parents\")&&\"prevUntil\"!==e||(o=o.reverse())),o=f(o),r?o.filter(r):o}}),f.fn.is=function(e){return!!e&&this.filter(e).length>0},f.fn.init.prototype=f.fn,f.overrideDefaults=function(e){function t(r,i){return n=n||e(),0===arguments.length&&(r=n.element),i||(i=n.context),new t.fn.init(r,i)}var n;return f.extend(t,this),t},i.ie&&i.ie<8&&(x(L,\"get\",{maxlength:function(e){var t=e.maxLength;return 2147483647===t?k:t},size:function(e){var t=e.size;return 20===t?k:t},\"class\":function(e){return e.className},style:function(e){var t=e.style.cssText;return 0===t.length?k:t}}),x(L,\"set\",{\"class\":function(e,t){e.className=t},style:function(e,t){e.style.cssText=t}})),i.ie&&i.ie<9&&(D[\"float\"]=\"styleFloat\",x(M,\"set\",{opacity:function(e,t){var n=e.style;null===t||\"\"===t?n.removeAttribute(\"filter\"):(n.zoom=1,n.filter=\"alpha(opacity=\"+100*t+\")\")}})),f.attrHooks=L,f.cssHooks=M,f}),r(v,[],function(){return function(e,t){function n(e,t,n,r){function i(e){return e=parseInt(e,10).toString(16),e.length>1?e:\"0\"+e}return\"#\"+i(t)+i(n)+i(r)}var r=/rgb\\s*\\(\\s*([0-9]+)\\s*,\\s*([0-9]+)\\s*,\\s*([0-9]+)\\s*\\)/gi,i=/(?:url(?:(?:\\(\\s*\\\"([^\\\"]+)\\\"\\s*\\))|(?:\\(\\s*\\'([^\\']+)\\'\\s*\\))|(?:\\(\\s*([^)\\s]+)\\s*\\))))|(?:\\'([^\\']+)\\')|(?:\\\"([^\\\"]+)\\\")/gi,o=/\\s*([^:]+):\\s*([^;]+);?/g,a=/\\s+$/,s,l={},u,c,d,f=\"\\ufeff\";for(e=e||{},t&&(c=t.getValidStyles(),d=t.getInvalidStyles()),u=(\"\\\\\\\" \\\\' \\\\; \\\\: ; : \"+f).split(\" \"),s=0;s<u.length;s++)l[u[s]]=f+s,l[f+s]=u[s];return{toHex:function(e){return e.replace(r,n)},parse:function(t){function u(e,t,n){var r,i,o,a;if(r=y[e+\"-top\"+t],r&&(i=y[e+\"-right\"+t],i&&(o=y[e+\"-bottom\"+t],o&&(a=y[e+\"-left\"+t])))){var l=[r,i,o,a];for(s=l.length-1;s--&&l[s]===l[s+1];);s>-1&&n||(y[e+t]=s==-1?l[0]:l.join(\" \"),delete y[e+\"-top\"+t],delete y[e+\"-right\"+t],delete y[e+\"-bottom\"+t],delete y[e+\"-left\"+t])}}function c(e){var t=y[e],n;if(t){for(t=t.split(\" \"),n=t.length;n--;)if(t[n]!==t[0])return!1;return y[e]=t[0],!0}}function d(e,t,n,r){c(t)&&c(n)&&c(r)&&(y[e]=y[t]+\" \"+y[n]+\" \"+y[r],delete y[t],delete y[n],delete y[r])}function p(e){return w=!0,l[e]}function h(e,t){return w&&(e=e.replace(/\\uFEFF[0-9]/g,function(e){return l[e]})),t||(e=e.replace(/\\\\([\\'\\\";:])/g,\"$1\")),e}function m(e){return String.fromCharCode(parseInt(e.slice(1),16))}function g(e){return e.replace(/\\\\[0-9a-f]+/gi,m)}function v(t,n,r,i,o,a){if(o=o||a)return o=h(o),\"'\"+o.replace(/\\'/g,\"\\\\'\")+\"'\";if(n=h(n||r||i),!e.allow_script_urls){var s=n.replace(/[\\s\\r\\n]+/g,\"\");if(/(java|vb)script:/i.test(s))return\"\";if(!e.allow_svg_data_urls&&/^data:image\\/svg/i.test(s))return\"\"}return E&&(n=E.call(N,n,\"style\")),\"url('\"+n.replace(/\\'/g,\"\\\\'\")+\"')\"}var y={},b,C,x,w,E=e.url_converter,N=e.url_converter_scope||this;if(t){for(t=t.replace(/[\\u0000-\\u001F]/g,\"\"),t=t.replace(/\\\\[\\\"\\';:\\uFEFF]/g,p).replace(/\\\"[^\\\"]+\\\"|\\'[^\\']+\\'/g,function(e){return e.replace(/[;:]/g,p)});b=o.exec(t);)if(o.lastIndex=b.index+b[0].length,C=b[1].replace(a,\"\").toLowerCase(),x=b[2].replace(a,\"\"),C&&x){if(C=g(C),x=g(x),C.indexOf(f)!==-1||C.indexOf('\"')!==-1)continue;if(!e.allow_script_urls&&(\"behavior\"==C||/expression\\s*\\(|\\/\\*|\\*\\//.test(x)))continue;\"font-weight\"===C&&\"700\"===x?x=\"bold\":\"color\"!==C&&\"background-color\"!==C||(x=x.toLowerCase()),x=x.replace(r,n),x=x.replace(i,v),y[C]=w?h(x,!0):x}u(\"border\",\"\",!0),u(\"border\",\"-width\"),u(\"border\",\"-color\"),u(\"border\",\"-style\"),u(\"padding\",\"\"),u(\"margin\",\"\"),d(\"border\",\"border-width\",\"border-style\",\"border-color\"),\"medium none\"===y.border&&delete y.border,\"none\"===y[\"border-image\"]&&delete y[\"border-image\"]}return y},serialize:function(e,t){function n(t){var n,r,o,a;if(n=c[t])for(r=0,o=n.length;r<o;r++)t=n[r],a=e[t],a&&(i+=(i.length>0?\" \":\"\")+t+\": \"+a+\";\")}function r(e,t){var n;return n=d[\"*\"],(!n||!n[e])&&(n=d[t],!n||!n[e])}var i=\"\",o,a;if(t&&c)n(\"*\"),n(t);else for(o in e)a=e[o],!a||d&&!r(o,t)||(i+=(i.length>0?\" \":\"\")+o+\": \"+a+\";\");return i}}}}),r(y,[],function(){return function(e,t){function n(e,n,r,i){var o,a;if(e){if(!i&&e[n])return e[n];if(e!=t){if(o=e[r])return o;for(a=e.parentNode;a&&a!=t;a=a.parentNode)if(o=a[r])return o}}}function r(e,n,r,i){var o,a,s;if(e){if(o=e[r],t&&o===t)return;if(o){if(!i)for(s=o[n];s;s=s[n])if(!s[n])return s;return o}if(a=e.parentNode,a&&a!==t)return a}}var i=e;this.current=function(){return i},this.next=function(e){return i=n(i,\"firstChild\",\"nextSibling\",e)},this.prev=function(e){return i=n(i,\"lastChild\",\"previousSibling\",e)},this.prev2=function(e){return i=r(i,\"lastChild\",\"previousSibling\",e)}}}),r(b,[m],function(e){function t(n){function r(){return P.createDocumentFragment()}function i(e,t){E(F,e,t)}function o(e,t){E(z,e,t)}function a(e){i(e.parentNode,j(e))}function s(e){i(e.parentNode,j(e)+1)}function l(e){o(e.parentNode,j(e))}function u(e){o(e.parentNode,j(e)+1)}function c(e){e?(M[V]=M[W],M[$]=M[U]):(M[W]=M[V],M[U]=M[$]),M.collapsed=F}function d(e){a(e),u(e)}function f(e){i(e,0),o(e,1===e.nodeType?e.childNodes.length:e.nodeValue.length)}function p(e,t){var n=M[W],r=M[U],i=M[V],o=M[$],a=t.startContainer,s=t.startOffset,l=t.endContainer,u=t.endOffset;return 0===e?w(n,r,a,s):1===e?w(i,o,a,s):2===e?w(i,o,l,u):3===e?w(n,r,l,u):void 0}function h(){N(I)}function m(){return N(O)}function g(){return N(H)}function v(e){var t=this[W],r=this[U],i,o;3!==t.nodeType&&4!==t.nodeType||!t.nodeValue?(t.childNodes.length>0&&(o=t.childNodes[r]),o?t.insertBefore(e,o):3==t.nodeType?n.insertAfter(e,t):t.appendChild(e)):r?r>=t.nodeValue.length?n.insertAfter(e,t):(i=t.splitText(r),t.parentNode.insertBefore(e,i)):t.parentNode.insertBefore(e,t)}function y(e){var t=M.extractContents();M.insertNode(e),e.appendChild(t),M.selectNode(e)}function b(){return q(new t(n),{startContainer:M[W],startOffset:M[U],endContainer:M[V],endOffset:M[$],collapsed:M.collapsed,commonAncestorContainer:M.commonAncestorContainer})}function C(e,t){var n;if(3==e.nodeType)return e;if(t<0)return e;for(n=e.firstChild;n&&t>0;)--t,n=n.nextSibling;return n?n:e}function x(){return M[W]==M[V]&&M[U]==M[$]}function w(e,t,r,i){var o,a,s,l,u,c;if(e==r)return t==i?0:t<i?-1:1;for(o=r;o&&o.parentNode!=e;)o=o.parentNode;if(o){for(a=0,s=e.firstChild;s!=o&&a<t;)a++,s=s.nextSibling;return t<=a?-1:1}for(o=e;o&&o.parentNode!=r;)o=o.parentNode;if(o){for(a=0,s=r.firstChild;s!=o&&a<i;)a++,s=s.nextSibling;return a<i?-1:1}for(l=n.findCommonAncestor(e,r),u=e;u&&u.parentNode!=l;)u=u.parentNode;for(u||(u=l),c=r;c&&c.parentNode!=l;)c=c.parentNode;if(c||(c=l),u==c)return 0;for(s=l.firstChild;s;){if(s==u)return-1;if(s==c)return 1;s=s.nextSibling}}function E(e,t,r){var i,o;for(e?(M[W]=t,M[U]=r):(M[V]=t,M[$]=r),i=M[V];i.parentNode;)i=i.parentNode;for(o=M[W];o.parentNode;)o=o.parentNode;o==i?w(M[W],M[U],M[V],M[$])>0&&M.collapse(e):M.collapse(e),M.collapsed=x(),M.commonAncestorContainer=n.findCommonAncestor(M[W],M[V])}function N(e){var t,n=0,r=0,i,o,a,s,l,u;if(M[W]==M[V])return _(e);for(t=M[V],i=t.parentNode;i;t=i,i=i.parentNode){if(i==M[W])return S(t,e);++n}for(t=M[W],i=t.parentNode;i;t=i,i=i.parentNode){if(i==M[V])return k(t,e);++r}for(o=r-n,a=M[W];o>0;)a=a.parentNode,o--;for(s=M[V];o<0;)s=s.parentNode,o++;for(l=a.parentNode,u=s.parentNode;l!=u;l=l.parentNode,u=u.parentNode)a=l,s=u;return T(a,s,e)}function _(e){var t,n,i,o,a,s,l,u,c;if(e!=I&&(t=r()),M[U]==M[$])return t;if(3==M[W].nodeType){if(n=M[W].nodeValue,i=n.substring(M[U],M[$]),e!=H&&(o=M[W],u=M[U],c=M[$]-M[U],0===u&&c>=o.nodeValue.length-1?o.parentNode.removeChild(o):o.deleteData(u,c),M.collapse(F)),e==I)return;return i.length>0&&t.appendChild(P.createTextNode(i)),t}for(o=C(M[W],M[U]),a=M[$]-M[U];o&&a>0;)s=o.nextSibling,l=D(o,e),t&&t.appendChild(l),--a,o=s;return e!=H&&M.collapse(F),t}function S(e,t){var n,i,o,a,s,l;if(t!=I&&(n=r()),i=R(e,t),n&&n.appendChild(i),o=j(e),a=o-M[U],a<=0)return t!=H&&(M.setEndBefore(e),M.collapse(z)),n;for(i=e.previousSibling;a>0;)s=i.previousSibling,l=D(i,t),n&&n.insertBefore(l,n.firstChild),--a,i=s;return t!=H&&(M.setEndBefore(e),M.collapse(z)),n}function k(e,t){var n,i,o,a,s,l;for(t!=I&&(n=r()),o=A(e,t),n&&n.appendChild(o),i=j(e),++i,a=M[$]-i,o=e.nextSibling;o&&a>0;)s=o.nextSibling,l=D(o,t),n&&n.appendChild(l),--a,o=s;return t!=H&&(M.setStartAfter(e),M.collapse(F)),n}function T(e,t,n){var i,o,a,s,l,u,c;for(n!=I&&(o=r()),i=A(e,n),o&&o.appendChild(i),a=j(e),s=j(t),++a,l=s-a,u=e.nextSibling;l>0;)c=u.nextSibling,i=D(u,n),o&&o.appendChild(i),u=c,--l;return i=R(t,n),o&&o.appendChild(i),n!=H&&(M.setStartAfter(e),M.collapse(F)),o}function R(e,t){var n=C(M[V],M[$]-1),r,i,o,a,s,l=n!=M[V];if(n==e)return B(n,l,z,t);for(r=n.parentNode,i=B(r,z,z,t);r;){for(;n;)o=n.previousSibling,a=B(n,l,z,t),t!=I&&i.insertBefore(a,i.firstChild),l=F,n=o;if(r==e)return i;n=r.previousSibling,r=r.parentNode,s=B(r,z,z,t),t!=I&&s.appendChild(i),i=s}}function A(e,t){var n=C(M[W],M[U]),r=n!=M[W],i,o,a,s,l;if(n==e)return B(n,r,F,t);for(i=n.parentNode,o=B(i,z,F,t);i;){for(;n;)a=n.nextSibling,s=B(n,r,F,t),t!=I&&o.appendChild(s),r=F,n=a;if(i==e)return o;n=i.nextSibling,i=i.parentNode,l=B(i,z,F,t),t!=I&&l.appendChild(o),o=l}}function B(e,t,r,i){var o,a,s,l,u;if(t)return D(e,i);if(3==e.nodeType){if(o=e.nodeValue,r?(l=M[U],a=o.substring(l),s=o.substring(0,l)):(l=M[$],a=o.substring(0,l),s=o.substring(l)),i!=H&&(e.nodeValue=s),i==I)return;return u=n.clone(e,z),u.nodeValue=a,u}if(i!=I)return n.clone(e,z)}function D(e,t){return t!=I?t==H?n.clone(e,F):e:void e.parentNode.removeChild(e)}function L(){return n.create(\"body\",null,g()).outerText}var M=this,P=n.doc,O=0,H=1,I=2,F=!0,z=!1,U=\"startOffset\",W=\"startContainer\",V=\"endContainer\",$=\"endOffset\",q=e.extend,j=n.nodeIndex;return q(M,{startContainer:P,startOffset:0,endContainer:P,endOffset:0,collapsed:F,commonAncestorContainer:P,START_TO_START:0,START_TO_END:1,END_TO_END:2,END_TO_START:3,setStart:i,setEnd:o,setStartBefore:a,setStartAfter:s,setEndBefore:l,setEndAfter:u,collapse:c,selectNode:d,selectNodeContents:f,compareBoundaryPoints:p,deleteContents:h,extractContents:m,cloneContents:g,insertNode:v,surroundContents:y,cloneRange:b,toStringIE:L}),M}return t.prototype.toString=function(){return this.toStringIE()},t}),r(C,[m],function(e){function t(e){var t;return t=document.createElement(\"div\"),t.innerHTML=e,t.textContent||t.innerText||e}function n(e,t){var n,r,i,a={};if(e){for(e=e.split(\",\"),t=t||10,n=0;n<e.length;n+=2)r=String.fromCharCode(parseInt(e[n],t)),o[r]||(i=\"&\"+e[n+1]+\";\",a[r]=i,a[i]=r);return a}}var r=e.makeMap,i,o,a,s=/[&<>\\\"\\u0060\\u007E-\\uD7FF\\uE000-\\uFFEF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g,l=/[<>&\\u007E-\\uD7FF\\uE000-\\uFFEF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g,u=/[<>&\\\"\\']/g,c=/&#([a-z0-9]+);?|&([a-z0-9]+);/gi,d={128:\"\\u20ac\",130:\"\\u201a\",131:\"\\u0192\",132:\"\\u201e\",133:\"\\u2026\",134:\"\\u2020\",135:\"\\u2021\",136:\"\\u02c6\",137:\"\\u2030\",138:\"\\u0160\",139:\"\\u2039\",140:\"\\u0152\",142:\"\\u017d\",145:\"\\u2018\",146:\"\\u2019\",147:\"\\u201c\",148:\"\\u201d\",149:\"\\u2022\",150:\"\\u2013\",151:\"\\u2014\",152:\"\\u02dc\",153:\"\\u2122\",154:\"\\u0161\",155:\"\\u203a\",156:\"\\u0153\",158:\"\\u017e\",159:\"\\u0178\"};o={'\"':\"&quot;\",\"'\":\"&#39;\",\"<\":\"&lt;\",\">\":\"&gt;\",\"&\":\"&amp;\",\"`\":\"&#96;\"},a={\"&lt;\":\"<\",\"&gt;\":\">\",\"&amp;\":\"&\",\"&quot;\":'\"',\"&apos;\":\"'\"},i=n(\"50,nbsp,51,iexcl,52,cent,53,pound,54,curren,55,yen,56,brvbar,57,sect,58,uml,59,copy,5a,ordf,5b,laquo,5c,not,5d,shy,5e,reg,5f,macr,5g,deg,5h,plusmn,5i,sup2,5j,sup3,5k,acute,5l,micro,5m,para,5n,middot,5o,cedil,5p,sup1,5q,ordm,5r,raquo,5s,frac14,5t,frac12,5u,frac34,5v,iquest,60,Agrave,61,Aacute,62,Acirc,63,Atilde,64,Auml,65,Aring,66,AElig,67,Ccedil,68,Egrave,69,Eacute,6a,Ecirc,6b,Euml,6c,Igrave,6d,Iacute,6e,Icirc,6f,Iuml,6g,ETH,6h,Ntilde,6i,Ograve,6j,Oacute,6k,Ocirc,6l,Otilde,6m,Ouml,6n,times,6o,Oslash,6p,Ugrave,6q,Uacute,6r,Ucirc,6s,Uuml,6t,Yacute,6u,THORN,6v,szlig,70,agrave,71,aacute,72,acirc,73,atilde,74,auml,75,aring,76,aelig,77,ccedil,78,egrave,79,eacute,7a,ecirc,7b,euml,7c,igrave,7d,iacute,7e,icirc,7f,iuml,7g,eth,7h,ntilde,7i,ograve,7j,oacute,7k,ocirc,7l,otilde,7m,ouml,7n,divide,7o,oslash,7p,ugrave,7q,uacute,7r,ucirc,7s,uuml,7t,yacute,7u,thorn,7v,yuml,ci,fnof,sh,Alpha,si,Beta,sj,Gamma,sk,Delta,sl,Epsilon,sm,Zeta,sn,Eta,so,Theta,sp,Iota,sq,Kappa,sr,Lambda,ss,Mu,st,Nu,su,Xi,sv,Omicron,t0,Pi,t1,Rho,t3,Sigma,t4,Tau,t5,Upsilon,t6,Phi,t7,Chi,t8,Psi,t9,Omega,th,alpha,ti,beta,tj,gamma,tk,delta,tl,epsilon,tm,zeta,tn,eta,to,theta,tp,iota,tq,kappa,tr,lambda,ts,mu,tt,nu,tu,xi,tv,omicron,u0,pi,u1,rho,u2,sigmaf,u3,sigma,u4,tau,u5,upsilon,u6,phi,u7,chi,u8,psi,u9,omega,uh,thetasym,ui,upsih,um,piv,812,bull,816,hellip,81i,prime,81j,Prime,81u,oline,824,frasl,88o,weierp,88h,image,88s,real,892,trade,89l,alefsym,8cg,larr,8ch,uarr,8ci,rarr,8cj,darr,8ck,harr,8dl,crarr,8eg,lArr,8eh,uArr,8ei,rArr,8ej,dArr,8ek,hArr,8g0,forall,8g2,part,8g3,exist,8g5,empty,8g7,nabla,8g8,isin,8g9,notin,8gb,ni,8gf,prod,8gh,sum,8gi,minus,8gn,lowast,8gq,radic,8gt,prop,8gu,infin,8h0,ang,8h7,and,8h8,or,8h9,cap,8ha,cup,8hb,int,8hk,there4,8hs,sim,8i5,cong,8i8,asymp,8j0,ne,8j1,equiv,8j4,le,8j5,ge,8k2,sub,8k3,sup,8k4,nsub,8k6,sube,8k7,supe,8kl,oplus,8kn,otimes,8l5,perp,8m5,sdot,8o8,lceil,8o9,rceil,8oa,lfloor,8ob,rfloor,8p9,lang,8pa,rang,9ea,loz,9j0,spades,9j3,clubs,9j5,hearts,9j6,diams,ai,OElig,aj,oelig,b0,Scaron,b1,scaron,bo,Yuml,m6,circ,ms,tilde,802,ensp,803,emsp,809,thinsp,80c,zwnj,80d,zwj,80e,lrm,80f,rlm,80j,ndash,80k,mdash,80o,lsquo,80p,rsquo,80q,sbquo,80s,ldquo,80t,rdquo,80u,bdquo,810,dagger,811,Dagger,81g,permil,81p,lsaquo,81q,rsaquo,85c,euro\",32);var f={encodeRaw:function(e,t){return e.replace(t?s:l,function(e){return o[e]||e})},encodeAllRaw:function(e){return(\"\"+e).replace(u,function(e){return o[e]||e})},encodeNumeric:function(e,t){return e.replace(t?s:l,function(e){return e.length>1?\"&#\"+(1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320)+65536)+\";\":o[e]||\"&#\"+e.charCodeAt(0)+\";\"})},encodeNamed:function(e,t,n){return n=n||i,e.replace(t?s:l,function(e){return o[e]||n[e]||e})},getEncodeFunc:function(e,t){function a(e,n){return e.replace(n?s:l,function(e){return o[e]||t[e]||\"&#\"+e.charCodeAt(0)+\";\"||e})}function u(e,n){return f.encodeNamed(e,n,t)}return t=n(t)||i,e=r(e.replace(/\\+/g,\",\")),e.named&&e.numeric?a:e.named?t?u:f.encodeNamed:e.numeric?f.encodeNumeric:f.encodeRaw},decode:function(e){return e.replace(c,function(e,n){return n?(n=\"x\"===n.charAt(0).toLowerCase()?parseInt(n.substr(1),16):parseInt(n,10),n>65535?(n-=65536,String.fromCharCode(55296+(n>>10),56320+(1023&n))):d[n]||String.fromCharCode(n)):a[e]||i[e]||t(e)})}};return f}),r(x,[m,c],function(e,t){return function(n,r){function i(e){n.getElementsByTagName(\"head\")[0].appendChild(e)}function o(r,o,u){function c(){for(var e=b.passed,t=e.length;t--;)e[t]();b.status=2,b.passed=[],b.failed=[]}function d(){for(var e=b.failed,t=e.length;t--;)e[t]();b.status=3,b.passed=[],b.failed=[]}function f(){var e=navigator.userAgent.match(/WebKit\\/(\\d*)/);return!!(e&&e[1]<536)}function p(e,n){e()||((new Date).getTime()-y<l?t.setTimeout(n):d())}function h(){p(function(){for(var e=n.styleSheets,t,r=e.length,i;r--;)if(t=e[r],i=t.ownerNode?t.ownerNode:t.owningElement,i&&i.id===g.id)return c(),!0},h)}function m(){p(function(){try{var e=v.sheet.cssRules;return c(),!!e}catch(t){}},m)}var g,v,y,b;if(r=e._addCacheSuffix(r),s[r]?b=s[r]:(b={passed:[],failed:[]},s[r]=b),o&&b.passed.push(o),u&&b.failed.push(u),1!=b.status){if(2==b.status)return void c();if(3==b.status)return void d();if(b.status=1,g=n.createElement(\"link\"),g.rel=\"stylesheet\",g.type=\"text/css\",g.id=\"u\"+a++,g.async=!1,g.defer=!1,y=(new Date).getTime(),\"onload\"in g&&!f())g.onload=h,g.onerror=d;else{if(navigator.userAgent.indexOf(\"Firefox\")>0)return v=n.createElement(\"style\"),v.textContent='@import \"'+r+'\"',m(),void i(v);h()}i(g),g.href=r}}var a=0,s={},l;r=r||{},l=r.maxLoadTime||5e3,this.load=o}}),r(w,[p,g,v,f,y,b,C,d,m,x],function(e,n,r,i,o,a,s,l,u,c){function d(e,t){var n={},r=t.keep_values,i;return i={set:function(n,r,i){t.url_converter&&(r=t.url_converter.call(t.url_converter_scope||e,r,i,n[0])),n.attr(\"data-mce-\"+i,r).attr(i,r)},get:function(e,t){return e.attr(\"data-mce-\"+t)||e.attr(t)}},n={style:{set:function(e,t){return null!==t&&\"object\"==typeof t?void e.css(t):(r&&e.attr(\"data-mce-style\",t),void e.attr(\"style\",t))},get:function(t){var n=t.attr(\"data-mce-style\")||t.attr(\"style\");return n=e.serializeStyle(e.parseStyle(n),t[0].nodeName)}}},r&&(n.href=n.src=i),n}function f(e,t){var n=t.attr(\"style\");n=e.serializeStyle(e.parseStyle(n),t[0].nodeName),n||(n=null),t.attr(\"data-mce-style\",n)}function p(e,t){var n=0,r,i;if(e)for(r=e.nodeType,e=e.previousSibling;e;e=e.previousSibling)i=e.nodeType,(!t||3!=i||i!=r&&e.nodeValue.length)&&(n++,r=i);return n}function h(e,t){var o=this,a;o.doc=e,o.win=window,o.files={},o.counter=0,o.stdMode=!b||e.documentMode>=8,o.boxModel=!b||\"CSS1Compat\"==e.compatMode||o.stdMode,o.styleSheetLoader=new c(e),o.boundEvents=[],o.settings=t=t||{},o.schema=t.schema,o.styles=new r({url_converter:t.url_converter,url_converter_scope:t.url_converter_scope},t.schema),o.fixDoc(e),o.events=t.ownEvents?new i(t.proxy):i.Event,o.attrHooks=d(o,t),a=t.schema?t.schema.getBlockElements():{},o.$=n.overrideDefaults(function(){return{context:e,element:o.getRoot()}}),o.isBlock=function(e){if(!e)return!1;var t=e.nodeType;return t?!(1!==t||!a[e.nodeName]):!!a[e]}}var m=u.each,g=u.is,v=u.grep,y=u.trim,b=l.ie,C=/^([a-z0-9],?)+$/i,x=/^[ \\t\\r\\n]*$/;return h.prototype={$$:function(e){return\"string\"==typeof e&&(e=this.get(e)),this.$(e)},root:null,fixDoc:function(e){var t=this.settings,n;if(b&&t.schema){\"abbr article aside audio canvas details figcaption figure footer header hgroup mark menu meter nav output progress section summary time video\".replace(/\\w+/g,function(t){e.createElement(t)});for(n in t.schema.getCustomElements())e.createElement(n)}},clone:function(e,t){var n=this,r,i;return!b||1!==e.nodeType||t?e.cloneNode(t):(i=n.doc,t?r.firstChild:(r=i.createElement(e.nodeName),m(n.getAttribs(e),function(t){n.setAttrib(r,t.nodeName,n.getAttrib(e,t.nodeName))}),r))},getRoot:function(){var e=this;return e.settings.root_element||e.doc.body},getViewPort:function(e){var t,n;return e=e?e:this.win,t=e.document,n=this.boxModel?t.documentElement:t.body,{x:e.pageXOffset||n.scrollLeft,y:e.pageYOffset||n.scrollTop,w:e.innerWidth||n.clientWidth,h:e.innerHeight||n.clientHeight}},getRect:function(e){var t=this,n,r;return e=t.get(e),n=t.getPos(e),r=t.getSize(e),{x:n.x,y:n.y,w:r.w,h:r.h}},getSize:function(e){var t=this,n,r;return e=t.get(e),n=t.getStyle(e,\"width\"),r=t.getStyle(e,\"height\"),n.indexOf(\"px\")===-1&&(n=0),r.indexOf(\"px\")===-1&&(r=0),\n{w:parseInt(n,10)||e.offsetWidth||e.clientWidth,h:parseInt(r,10)||e.offsetHeight||e.clientHeight}},getParent:function(e,t,n){return this.getParents(e,t,n,!1)},getParents:function(e,n,r,i){var o=this,a,s=[];for(e=o.get(e),i=i===t,r=r||(\"BODY\"!=o.getRoot().nodeName?o.getRoot().parentNode:null),g(n,\"string\")&&(a=n,n=\"*\"===n?function(e){return 1==e.nodeType}:function(e){return o.is(e,a)});e&&e!=r&&e.nodeType&&9!==e.nodeType;){if(!n||n(e)){if(!i)return e;s.push(e)}e=e.parentNode}return i?s:null},get:function(e){var t;return e&&this.doc&&\"string\"==typeof e&&(t=e,e=this.doc.getElementById(e),e&&e.id!==t)?this.doc.getElementsByName(t)[1]:e},getNext:function(e,t){return this._findSib(e,t,\"nextSibling\")},getPrev:function(e,t){return this._findSib(e,t,\"previousSibling\")},select:function(t,n){var r=this;return e(t,r.get(n)||r.settings.root_element||r.doc,[])},is:function(n,r){var i;if(n.length===t){if(\"*\"===r)return 1==n.nodeType;if(C.test(r)){for(r=r.toLowerCase().split(/,/),n=n.nodeName.toLowerCase(),i=r.length-1;i>=0;i--)if(r[i]==n)return!0;return!1}}if(n.nodeType&&1!=n.nodeType)return!1;var o=n.nodeType?[n]:n;return e(r,o[0].ownerDocument||o[0],null,o).length>0},add:function(e,t,n,r,i){var o=this;return this.run(e,function(e){var a;return a=g(t,\"string\")?o.doc.createElement(t):t,o.setAttribs(a,n),r&&(r.nodeType?a.appendChild(r):o.setHTML(a,r)),i?a:e.appendChild(a)})},create:function(e,t,n){return this.add(this.doc.createElement(e),e,t,n,1)},createHTML:function(e,t,n){var r=\"\",i;r+=\"<\"+e;for(i in t)t.hasOwnProperty(i)&&null!==t[i]&&\"undefined\"!=typeof t[i]&&(r+=\" \"+i+'=\"'+this.encode(t[i])+'\"');return\"undefined\"!=typeof n?r+\">\"+n+\"</\"+e+\">\":r+\" />\"},createFragment:function(e){var t,n,r=this.doc,i;for(i=r.createElement(\"div\"),t=r.createDocumentFragment(),e&&(i.innerHTML=e);n=i.firstChild;)t.appendChild(n);return t},remove:function(e,t){return e=this.$$(e),t?e.each(function(){for(var e;e=this.firstChild;)3==e.nodeType&&0===e.data.length?this.removeChild(e):this.parentNode.insertBefore(e,this)}).remove():e.remove(),e.length>1?e.toArray():e[0]},setStyle:function(e,t,n){e=this.$$(e).css(t,n),this.settings.update_styles&&f(this,e)},getStyle:function(e,n,r){return e=this.$$(e),r?e.css(n):(n=n.replace(/-(\\D)/g,function(e,t){return t.toUpperCase()}),\"float\"==n&&(n=l.ie&&l.ie<12?\"styleFloat\":\"cssFloat\"),e[0]&&e[0].style?e[0].style[n]:t)},setStyles:function(e,t){e=this.$$(e).css(t),this.settings.update_styles&&f(this,e)},removeAllAttribs:function(e){return this.run(e,function(e){var t,n=e.attributes;for(t=n.length-1;t>=0;t--)e.removeAttributeNode(n.item(t))})},setAttrib:function(e,t,n){var r=this,i,o,a=r.settings;\"\"===n&&(n=null),e=r.$$(e),i=e.attr(t),e.length&&(o=r.attrHooks[t],o&&o.set?o.set(e,n,t):e.attr(t,n),i!=n&&a.onSetAttrib&&a.onSetAttrib({attrElm:e,attrName:t,attrValue:n}))},setAttribs:function(e,t){var n=this;n.$$(e).each(function(e,r){m(t,function(e,t){n.setAttrib(r,t,e)})})},getAttrib:function(e,t,n){var r=this,i,o;return e=r.$$(e),e.length&&(i=r.attrHooks[t],o=i&&i.get?i.get(e,t):e.attr(t)),\"undefined\"==typeof o&&(o=n||\"\"),o},getPos:function(e,t){var r=this,i=0,o=0,a,s=r.doc,l=s.body,u;if(e=r.get(e),t=t||l,e){if(t===l&&e.getBoundingClientRect&&\"static\"===n(l).css(\"position\"))return u=e.getBoundingClientRect(),t=r.boxModel?s.documentElement:l,i=u.left+(s.documentElement.scrollLeft||l.scrollLeft)-t.clientLeft,o=u.top+(s.documentElement.scrollTop||l.scrollTop)-t.clientTop,{x:i,y:o};for(a=e;a&&a!=t&&a.nodeType;)i+=a.offsetLeft||0,o+=a.offsetTop||0,a=a.offsetParent;for(a=e.parentNode;a&&a!=t&&a.nodeType;)i-=a.scrollLeft||0,o-=a.scrollTop||0,a=a.parentNode}return{x:i,y:o}},parseStyle:function(e){return this.styles.parse(e)},serializeStyle:function(e,t){return this.styles.serialize(e,t)},addStyle:function(e){var t=this,n=t.doc,r,i;if(t!==h.DOM&&n===document){var o=h.DOM.addedStyles;if(o=o||[],o[e])return;o[e]=!0,h.DOM.addedStyles=o}i=n.getElementById(\"mceDefaultStyles\"),i||(i=n.createElement(\"style\"),i.id=\"mceDefaultStyles\",i.type=\"text/css\",r=n.getElementsByTagName(\"head\")[0],r.firstChild?r.insertBefore(i,r.firstChild):r.appendChild(i)),i.styleSheet?i.styleSheet.cssText+=e:i.appendChild(n.createTextNode(e))},loadCSS:function(e){var t=this,n=t.doc,r;return t!==h.DOM&&n===document?void h.DOM.loadCSS(e):(e||(e=\"\"),r=n.getElementsByTagName(\"head\")[0],void m(e.split(\",\"),function(e){var i;e=u._addCacheSuffix(e),t.files[e]||(t.files[e]=!0,i=t.create(\"link\",{rel:\"stylesheet\",href:e}),b&&n.documentMode&&n.recalc&&(i.onload=function(){n.recalc&&n.recalc(),i.onload=null}),r.appendChild(i))}))},addClass:function(e,t){this.$$(e).addClass(t)},removeClass:function(e,t){this.toggleClass(e,t,!1)},hasClass:function(e,t){return this.$$(e).hasClass(t)},toggleClass:function(e,t,r){this.$$(e).toggleClass(t,r).each(function(){\"\"===this.className&&n(this).attr(\"class\",null)})},show:function(e){this.$$(e).show()},hide:function(e){this.$$(e).hide()},isHidden:function(e){return\"none\"==this.$$(e).css(\"display\")},uniqueId:function(e){return(e?e:\"mce_\")+this.counter++},setHTML:function(e,t){e=this.$$(e),b?e.each(function(e,r){if(r.canHaveHTML!==!1){for(;r.firstChild;)r.removeChild(r.firstChild);try{r.innerHTML=\"<br>\"+t,r.removeChild(r.firstChild)}catch(i){n(\"<div></div>\").html(\"<br>\"+t).contents().slice(1).appendTo(r)}return t}}):e.html(t)},getOuterHTML:function(e){return e=this.get(e),1==e.nodeType&&\"outerHTML\"in e?e.outerHTML:n(\"<div></div>\").append(n(e).clone()).html()},setOuterHTML:function(e,t){var r=this;r.$$(e).each(function(){try{if(\"outerHTML\"in this)return void(this.outerHTML=t)}catch(e){}r.remove(n(this).html(t),!0)})},decode:s.decode,encode:s.encodeAllRaw,insertAfter:function(e,t){return t=this.get(t),this.run(e,function(e){var n,r;return n=t.parentNode,r=t.nextSibling,r?n.insertBefore(e,r):n.appendChild(e),e})},replace:function(e,t,n){var r=this;return r.run(t,function(t){return g(t,\"array\")&&(e=e.cloneNode(!0)),n&&m(v(t.childNodes),function(t){e.appendChild(t)}),t.parentNode.replaceChild(e,t)})},rename:function(e,t){var n=this,r;return e.nodeName!=t.toUpperCase()&&(r=n.create(t),m(n.getAttribs(e),function(t){n.setAttrib(r,t.nodeName,n.getAttrib(e,t.nodeName))}),n.replace(r,e,1)),r||e},findCommonAncestor:function(e,t){for(var n=e,r;n;){for(r=t;r&&n!=r;)r=r.parentNode;if(n==r)break;n=n.parentNode}return!n&&e.ownerDocument?e.ownerDocument.documentElement:n},toHex:function(e){return this.styles.toHex(u.trim(e))},run:function(e,t,n){var r=this,i;return\"string\"==typeof e&&(e=r.get(e)),!!e&&(n=n||this,e.nodeType||!e.length&&0!==e.length?t.call(n,e):(i=[],m(e,function(e,o){e&&(\"string\"==typeof e&&(e=r.get(e)),i.push(t.call(n,e,o)))}),i))},getAttribs:function(e){var t;if(e=this.get(e),!e)return[];if(b){if(t=[],\"OBJECT\"==e.nodeName)return e.attributes;\"OPTION\"===e.nodeName&&this.getAttrib(e,\"selected\")&&t.push({specified:1,nodeName:\"selected\"});var n=/<\\/?[\\w:\\-]+ ?|=[\\\"][^\\\"]+\\\"|=\\'[^\\']+\\'|=[\\w\\-]+|>/gi;return e.cloneNode(!1).outerHTML.replace(n,\"\").replace(/[\\w:\\-]+/gi,function(e){t.push({specified:1,nodeName:e})}),t}return e.attributes},isEmpty:function(e,t){var n=this,r,i,a,s,l,u,c=0;if(e=e.firstChild){l=new o(e,e.parentNode),t=t||(n.schema?n.schema.getNonEmptyElements():null),s=n.schema?n.schema.getWhiteSpaceElements():{};do{if(a=e.nodeType,1===a){var d=e.getAttribute(\"data-mce-bogus\");if(d){e=l.next(\"all\"===d);continue}if(u=e.nodeName.toLowerCase(),t&&t[u]){if(\"br\"===u){c++,e=l.next();continue}return!1}for(i=n.getAttribs(e),r=i.length;r--;)if(u=i[r].nodeName,\"name\"===u||\"data-mce-bookmark\"===u)return!1}if(8==a)return!1;if(3===a&&!x.test(e.nodeValue))return!1;if(3===a&&e.parentNode&&s[e.parentNode.nodeName]&&x.test(e.nodeValue))return!1;e=l.next()}while(e)}return c<=1},createRng:function(){var e=this.doc;return e.createRange?e.createRange():new a(this)},nodeIndex:p,split:function(e,t,n){function r(e){function t(e){var t=e.previousSibling&&\"SPAN\"==e.previousSibling.nodeName,n=e.nextSibling&&\"SPAN\"==e.nextSibling.nodeName;return t&&n}var n,o=e.childNodes,a=e.nodeType;if(1!=a||\"bookmark\"!=e.getAttribute(\"data-mce-type\")){for(n=o.length-1;n>=0;n--)r(o[n]);if(9!=a){if(3==a&&e.nodeValue.length>0){var s=y(e.nodeValue).length;if(!i.isBlock(e.parentNode)||s>0||0===s&&t(e))return}else if(1==a&&(o=e.childNodes,1==o.length&&o[0]&&1==o[0].nodeType&&\"bookmark\"==o[0].getAttribute(\"data-mce-type\")&&e.parentNode.insertBefore(o[0],e),o.length||/^(br|hr|input|img)$/i.test(e.nodeName)))return;i.remove(e)}return e}}var i=this,o=i.createRng(),a,s,l;if(e&&t)return o.setStart(e.parentNode,i.nodeIndex(e)),o.setEnd(t.parentNode,i.nodeIndex(t)),a=o.extractContents(),o=i.createRng(),o.setStart(t.parentNode,i.nodeIndex(t)+1),o.setEnd(e.parentNode,i.nodeIndex(e)+1),s=o.extractContents(),l=e.parentNode,l.insertBefore(r(a),e),n?l.insertBefore(n,e):l.insertBefore(t,e),l.insertBefore(r(s),e),i.remove(e),n||t},bind:function(e,t,n,r){var i=this;if(u.isArray(e)){for(var o=e.length;o--;)e[o]=i.bind(e[o],t,n,r);return e}return!i.settings.collect||e!==i.doc&&e!==i.win||i.boundEvents.push([e,t,n,r]),i.events.bind(e,t,n,r||i)},unbind:function(e,t,n){var r=this,i;if(u.isArray(e)){for(i=e.length;i--;)e[i]=r.unbind(e[i],t,n);return e}if(r.boundEvents&&(e===r.doc||e===r.win))for(i=r.boundEvents.length;i--;){var o=r.boundEvents[i];e!=o[0]||t&&t!=o[1]||n&&n!=o[2]||this.events.unbind(o[0],o[1],o[2])}return this.events.unbind(e,t,n)},fire:function(e,t,n){return this.events.fire(e,t,n)},getContentEditable:function(e){var t;return e&&1==e.nodeType?(t=e.getAttribute(\"data-mce-contenteditable\"),t&&\"inherit\"!==t?t:\"inherit\"!==e.contentEditable?e.contentEditable:null):null},getContentEditableParent:function(e){for(var t=this.getRoot(),n=null;e&&e!==t&&(n=this.getContentEditable(e),null===n);e=e.parentNode);return n},destroy:function(){var t=this;if(t.boundEvents){for(var n=t.boundEvents.length;n--;){var r=t.boundEvents[n];this.events.unbind(r[0],r[1],r[2])}t.boundEvents=null}e.setDocument&&e.setDocument(),t.win=t.doc=t.root=t.events=t.frag=null},isChildOf:function(e,t){for(;e;){if(t===e)return!0;e=e.parentNode}return!1},dumpRng:function(e){return\"startContainer: \"+e.startContainer.nodeName+\", startOffset: \"+e.startOffset+\", endContainer: \"+e.endContainer.nodeName+\", endOffset: \"+e.endOffset},_findSib:function(e,t,n){var r=this,i=t;if(e)for(\"string\"==typeof i&&(i=function(e){return r.is(e,t)}),e=e[n];e;e=e[n])if(i(e))return e;return null}},h.DOM=new h(document),h.nodeIndex=p,h}),r(E,[w,m],function(e,t){function n(){function e(e,n,i){function o(){l.remove(c),u&&(u.onreadystatechange=u.onload=u=null),n()}function s(){a(i)?i():\"undefined\"!=typeof console&&console.log&&console.log(\"Failed to load script: \"+e)}var l=r,u,c;c=l.uniqueId(),u=document.createElement(\"script\"),u.id=c,u.type=\"text/javascript\",u.src=t._addCacheSuffix(e),\"onreadystatechange\"in u?u.onreadystatechange=function(){/loaded|complete/.test(u.readyState)&&o()}:u.onload=o,u.onerror=s,(document.getElementsByTagName(\"head\")[0]||document.body).appendChild(u)}var n=0,s=1,l=2,u=3,c={},d=[],f={},p=[],h=0,m;this.isDone=function(e){return c[e]==l},this.markDone=function(e){c[e]=l},this.add=this.load=function(e,t,r,i){var o=c[e];o==m&&(d.push(e),c[e]=n),t&&(f[e]||(f[e]=[]),f[e].push({success:t,failure:i,scope:r||this}))},this.remove=function(e){delete c[e],delete f[e]},this.loadQueue=function(e,t,n){this.loadScripts(d,e,t,n)},this.loadScripts=function(t,n,r,d){function g(e,t){i(f[t],function(t){a(t[e])&&t[e].call(t.scope)}),f[t]=m}var v,y=[];p.push({success:n,failure:d,scope:r||this}),(v=function(){var n=o(t);t.length=0,i(n,function(t){return c[t]===l?void g(\"success\",t):c[t]===u?void g(\"failure\",t):void(c[t]!==s&&(c[t]=s,h++,e(t,function(){c[t]=l,h--,g(\"success\",t),v()},function(){c[t]=u,h--,y.push(t),g(\"failure\",t),v()})))}),h||(i(p,function(e){0===y.length?a(e.success)&&e.success.call(e.scope):a(e.failure)&&e.failure.call(e.scope,y)}),p.length=0)})()}}var r=e.DOM,i=t.each,o=t.grep,a=function(e){return\"function\"==typeof e};return n.ScriptLoader=new n,n}),r(N,[E,m],function(e,n){function r(){var e=this;e.items=[],e.urls={},e.lookup={}}var i=n.each;return r.prototype={get:function(e){return this.lookup[e]?this.lookup[e].instance:t},dependencies:function(e){var t;return this.lookup[e]&&(t=this.lookup[e].dependencies),t||[]},requireLangPack:function(t,n){var i=r.language;if(i&&r.languageLoad!==!1){if(n)if(n=\",\"+n+\",\",n.indexOf(\",\"+i.substr(0,2)+\",\")!=-1)i=i.substr(0,2);else if(n.indexOf(\",\"+i+\",\")==-1)return;e.ScriptLoader.add(this.urls[t]+\"/langs/\"+i+\".js\")}},add:function(e,t,n){return this.items.push(t),this.lookup[e]={instance:t,dependencies:n},t},remove:function(e){delete this.urls[e],delete this.lookup[e]},createUrl:function(e,t){return\"object\"==typeof t?t:{prefix:e.prefix,resource:t,suffix:e.suffix}},addComponents:function(t,n){var r=this.urls[t];i(n,function(t){e.ScriptLoader.add(r+\"/\"+t)})},load:function(n,o,a,s,l){function u(){var r=c.dependencies(n);i(r,function(e){var n=c.createUrl(o,e);c.load(n.resource,n,t,t)}),a&&(s?a.call(s):a.call(e))}var c=this,d=o;c.urls[n]||(\"object\"==typeof o&&(d=o.prefix+o.resource+o.suffix),0!==d.indexOf(\"/\")&&d.indexOf(\"://\")==-1&&(d=r.baseURL+\"/\"+d),c.urls[n]=d.substring(0,d.lastIndexOf(\"/\")),c.lookup[n]?u():e.ScriptLoader.add(d,u,s,l))}},r.PluginManager=new r,r.ThemeManager=new r,r}),r(_,[],function(){function e(e){return function(t){return!!t&&t.nodeType==e}}function t(e){return e=e.toLowerCase().split(\" \"),function(t){var n,r;if(t&&t.nodeType)for(r=t.nodeName.toLowerCase(),n=0;n<e.length;n++)if(r===e[n])return!0;return!1}}function n(e,t){return t=t.toLowerCase().split(\" \"),function(n){var r,i;if(s(n))for(r=0;r<t.length;r++)if(i=getComputedStyle(n,null).getPropertyValue(e),i===t[r])return!0;return!1}}function r(e,t){return function(n){return s(n)&&n[e]===t}}function i(e,t){return function(n){return s(n)&&n.getAttribute(e)===t}}function o(e){return s(e)&&e.hasAttribute(\"data-mce-bogus\")}function a(e){return function(t){if(s(t)){if(t.contentEditable===e)return!0;if(t.getAttribute(\"data-mce-contenteditable\")===e)return!0}return!1}}var s=e(1);return{isText:e(3),isElement:s,isComment:e(8),isBr:t(\"br\"),isContentEditableTrue:a(\"true\"),isContentEditableFalse:a(\"false\"),matchNodeNames:t,hasPropValue:r,hasAttributeValue:i,matchStyleValues:n,isBogus:o}}),r(S,[],function(){function e(e){return e==n}function t(e){return e.replace(new RegExp(n,\"g\"),\"\")}var n=\"\\ufeff\";return{isZwsp:e,ZWSP:n,trim:t}}),r(k,[_,S],function(e,t){function n(e){return y(e)&&(e=e.parentNode),v(e)&&e.hasAttribute(\"data-mce-caret\")}function r(e){return y(e)&&t.isZwsp(e.data)}function i(e){return n(e)||r(e)}function o(e){var t=e.parentNode;t&&t.removeChild(e)}function a(e){try{return e.nodeValue}catch(t){return\"\"}}function s(e,t){0===t.length?o(e):e.nodeValue=t}function l(e,n){var r,o,a,s;if(r=e.ownerDocument,a=r.createTextNode(t.ZWSP),s=e.parentNode,n){if(o=e.previousSibling,y(o)){if(i(o))return o;if(h(o))return o.splitText(o.data.length-1)}s.insertBefore(a,e)}else{if(o=e.nextSibling,y(o)){if(i(o))return o;if(p(o))return o.splitText(1),o}e.nextSibling?s.insertBefore(a,e.nextSibling):s.appendChild(a)}return a}function u(){var e=document.createElement(\"br\");return e.setAttribute(\"data-mce-bogus\",\"1\"),e}function c(e,t,n){var r,i,o;return r=t.ownerDocument,i=r.createElement(e),i.setAttribute(\"data-mce-caret\",n?\"before\":\"after\"),i.setAttribute(\"data-mce-bogus\",\"all\"),i.appendChild(u()),o=t.parentNode,n?o.insertBefore(i,t):t.nextSibling?o.insertBefore(i,t.nextSibling):o.appendChild(i),i}function d(t){return t.firstChild!==t.lastChild||!e.isBr(t.firstChild)}function f(e){if(v(e)&&i(e)&&(d(e)?e.removeAttribute(\"data-mce-caret\"):o(e)),y(e)){var n=t.trim(a(e));s(e,n)}}function p(e){return y(e)&&e.data[0]==t.ZWSP}function h(e){return y(e)&&e.data[e.data.length-1]==t.ZWSP}function m(t){var n=t.getElementsByTagName(\"br\"),r=n[n.length-1];e.isBogus(r)&&r.parentNode.removeChild(r)}function g(e){return e&&e.hasAttribute(\"data-mce-caret\")?(m(e),e.removeAttribute(\"data-mce-caret\"),e.removeAttribute(\"data-mce-bogus\"),e.removeAttribute(\"style\"),e.removeAttribute(\"_moz_abspos\"),e):null}var v=e.isElement,y=e.isText;return{isCaretContainer:i,isCaretContainerBlock:n,isCaretContainerInline:r,showCaretContainerBlock:g,insertInline:l,insertBlock:c,hasContent:d,remove:f,startsWithCaretContainer:p,endsWithCaretContainer:h}}),r(T,[m,y,_,b,k],function(e,t,n,r,i){function o(e){return m(e)||g(e)}function a(e,t){var n=e.childNodes;return t--,t>n.length-1?t=n.length-1:t<0&&(t=0),n[t]||e}function s(e,t,n){for(;e&&e!==t;){if(n(e))return e;e=e.parentNode}return null}function l(e,t,n){return null!==s(e,t,n)}function u(e){return\"_mce_caret\"===e.id}function c(e,t){return v(e)&&l(e,t,u)===!1}function d(e){this.walk=function(t,n){function r(e){var t;return t=e[0],3===t.nodeType&&t===l&&u>=t.nodeValue.length&&e.splice(0,1),t=e[e.length-1],0===d&&e.length>0&&t===c&&3===t.nodeType&&e.splice(e.length-1,1),e}function i(e,t,n){for(var r=[];e&&e!=n;e=e[t])r.push(e);return r}function o(e,t){do{if(e.parentNode==t)return e;e=e.parentNode}while(e)}function s(e,t,o){var a=o?\"nextSibling\":\"previousSibling\";for(g=e,v=g.parentNode;g&&g!=t;g=v)v=g.parentNode,y=i(g==e?g:g[a],a),y.length&&(o||y.reverse(),n(r(y)))}var l=t.startContainer,u=t.startOffset,c=t.endContainer,d=t.endOffset,f,p,m,g,v,y,b;if(b=e.select(\"td[data-mce-selected],th[data-mce-selected]\"),b.length>0)return void h(b,function(e){n([e])});if(1==l.nodeType&&l.hasChildNodes()&&(l=l.childNodes[u]),1==c.nodeType&&c.hasChildNodes()&&(c=a(c,d)),l==c)return n(r([l]));for(f=e.findCommonAncestor(l,c),g=l;g;g=g.parentNode){if(g===c)return s(l,f,!0);if(g===f)break}for(g=c;g;g=g.parentNode){if(g===l)return s(c,f);if(g===f)break}p=o(l,f)||l,m=o(c,f)||c,s(l,p,!0),y=i(p==l?p:p.nextSibling,\"nextSibling\",m==c?m.nextSibling:m),y.length&&n(r(y)),s(c,m)},this.split=function(e){function t(e,t){return e.splitText(t)}var n=e.startContainer,r=e.startOffset,i=e.endContainer,o=e.endOffset;return n==i&&3==n.nodeType?r>0&&r<n.nodeValue.length&&(i=t(n,r),n=i.previousSibling,o>r?(o-=r,n=i=t(i,o).previousSibling,o=i.nodeValue.length,r=0):o=0):(3==n.nodeType&&r>0&&r<n.nodeValue.length&&(n=t(n,r),r=0),3==i.nodeType&&o>0&&o<i.nodeValue.length&&(i=t(i,o).previousSibling,o=i.nodeValue.length)),{startContainer:n,startOffset:r,endContainer:i,endOffset:o}},this.normalize=function(n){function r(r){function a(e){return e&&/^(TD|TH|CAPTION)$/.test(e.nodeName)}function s(n,r){for(var i=new t(n,e.getParent(n.parentNode,e.isBlock)||m);n=i[r?\"prev\":\"next\"]();)if(\"BR\"===n.nodeName)return!0}function l(e){for(;e&&e!=m;){if(g(e))return!0;e=e.parentNode}return!1}function u(e,t){return e.previousSibling&&e.previousSibling.nodeName==t}function d(n,r){var a,s,l;if(r=r||f,l=e.getParent(r.parentNode,e.isBlock)||m,n&&\"BR\"==r.nodeName&&x&&e.isEmpty(l))return f=r.parentNode,p=e.nodeIndex(r),void(i=!0);for(a=new t(r,l);y=a[n?\"prev\":\"next\"]();){if(\"false\"===e.getContentEditableParent(y)||c(y,e.getRoot()))return;if(3===y.nodeType&&y.nodeValue.length>0)return f=y,p=n?y.nodeValue.length:0,void(i=!0);if(e.isBlock(y)||b[y.nodeName.toLowerCase()])return;s=y}o&&s&&(f=s,i=!0,p=0)}var f,p,h,m=e.getRoot(),y,b,C,x;if(f=n[(r?\"start\":\"end\")+\"Container\"],p=n[(r?\"start\":\"end\")+\"Offset\"],x=1==f.nodeType&&p===f.childNodes.length,b=e.schema.getNonEmptyElements(),C=r,!v(f)){if(1==f.nodeType&&p>f.childNodes.length-1&&(C=!1),9===f.nodeType&&(f=e.getRoot(),p=0),f===m){if(C&&(y=f.childNodes[p>0?p-1:0])){if(v(y))return;if(b[y.nodeName]||\"TABLE\"==y.nodeName)return}if(f.hasChildNodes()){if(p=Math.min(!C&&p>0?p-1:p,f.childNodes.length-1),f=f.childNodes[p],p=0,!o&&f===m.lastChild&&\"TABLE\"===f.nodeName)return;if(l(f)||v(f))return;if(f.hasChildNodes()&&!/TABLE/.test(f.nodeName)){y=f,h=new t(f,m);do{if(g(y)||v(y)){i=!1;break}if(3===y.nodeType&&y.nodeValue.length>0){p=C?0:y.nodeValue.length,f=y,i=!0;break}if(b[y.nodeName.toLowerCase()]&&!a(y)){p=e.nodeIndex(y),f=y.parentNode,\"IMG\"!=y.nodeName||C||p++,i=!0;break}}while(y=C?h.next():h.prev())}}}o&&(3===f.nodeType&&0===p&&d(!0),1===f.nodeType&&(y=f.childNodes[p],y||(y=f.childNodes[p-1]),!y||\"BR\"!==y.nodeName||u(y,\"A\")||s(y)||s(y,!0)||d(!0,y))),C&&!o&&3===f.nodeType&&p===f.nodeValue.length&&d(!1),i&&n[\"set\"+(r?\"Start\":\"End\")](f,p)}}var i,o;return o=n.collapsed,r(!0),o||r(),i&&o&&n.collapse(!0),i}}function f(t,n,r){var i,o,a;if(i=r.elementFromPoint(t,n),o=r.body.createTextRange(),i&&\"HTML\"!=i.tagName||(i=r.body),o.moveToElementText(i),a=e.toArray(o.getClientRects()),a=a.sort(function(e,t){return e=Math.abs(Math.max(e.top-n,e.bottom-n)),t=Math.abs(Math.max(t.top-n,t.bottom-n)),e-t}),a.length>0){n=(a[0].bottom+a[0].top)/2;try{return o.moveToPoint(t,n),o.collapse(!0),o}catch(s){}}return null}function p(e,t){var n=e&&e.parentElement?e.parentElement():null;return g(s(n,t,o))?null:e}var h=e.each,m=n.isContentEditableTrue,g=n.isContentEditableFalse,v=i.isCaretContainer;return d.compareRanges=function(e,t){if(e&&t){if(!e.item&&!e.duplicate)return e.startContainer==t.startContainer&&e.startOffset==t.startOffset;if(e.item&&t.item&&e.item(0)===t.item(0))return!0;if(e.isEqual&&t.isEqual&&t.isEqual(e))return!0}return!1},d.getCaretRangeFromPoint=function(e,t,n){var r,i;if(n.caretPositionFromPoint)i=n.caretPositionFromPoint(e,t),r=n.createRange(),r.setStart(i.offsetNode,i.offset),r.collapse(!0);else if(n.caretRangeFromPoint)r=n.caretRangeFromPoint(e,t);else if(n.body.createTextRange){r=n.body.createTextRange();try{r.moveToPoint(e,t),r.collapse(!0)}catch(o){r=f(e,t,n)}return p(r,n.body)}return r},d.getSelectedNode=function(e){var t=e.startContainer,n=e.startOffset;return t.hasChildNodes()&&e.endOffset==n+1?t.childNodes[n]:null},d.getNode=function(e,t){return 1==e.nodeType&&e.hasChildNodes()&&(t>=e.childNodes.length&&(t=e.childNodes.length-1),e=e.childNodes[t]),e},d}),r(R,[T,d,c],function(e,t,n){return function(r){function i(e){var t,n;if(n=r.$(e).parentsUntil(r.getBody()).add(e),n.length===a.length){for(t=n.length;t>=0&&n[t]===a[t];t--);if(t===-1)return a=n,!0}return a=n,!1}var o,a=[];\"onselectionchange\"in r.getDoc()||r.on(\"NodeChange Click MouseUp KeyUp Focus\",function(t){var n,i;n=r.selection.getRng(),i={startContainer:n.startContainer,startOffset:n.startOffset,endContainer:n.endContainer,endOffset:n.endOffset},\"nodechange\"!=t.type&&e.compareRanges(i,o)||r.fire(\"SelectionChange\"),o=i}),r.on(\"contextmenu\",function(){r.fire(\"SelectionChange\")}),r.on(\"SelectionChange\",function(){var e=r.selection.getStart(!0);!t.range&&r.selection.isCollapsed()||!i(e)&&r.dom.isChildOf(e,r.getBody())&&r.nodeChanged({selectionChange:!0})}),r.on(\"MouseUp\",function(e){e.isDefaultPrevented()||(\"IMG\"==r.selection.getNode().nodeName?n.setEditorTimeout(r,function(){r.nodeChanged()}):r.nodeChanged())}),this.nodeChanged=function(e){var t=r.selection,n,i,o;r.initialized&&t&&!r.settings.disable_nodechange&&!r.readonly&&(o=r.getBody(),n=t.getStart()||o,n.ownerDocument==r.getDoc()&&r.dom.isChildOf(n,o)||(n=o),\"IMG\"==n.nodeName&&t.isCollapsed()&&(n=n.parentNode),i=[],r.dom.getParent(n,function(e){return e===o||void i.push(e)}),e=e||{},e.element=n,e.parents=i,r.fire(\"NodeChange\",e))}}}),r(A,[],function(){function e(e,t,n){var r,i,o=n?\"lastChild\":\"firstChild\",a=n?\"prev\":\"next\";if(e[o])return e[o];if(e!==t){if(r=e[a])return r;for(i=e.parent;i&&i!==t;i=i.parent)if(r=i[a])return r}}function t(e,t){this.name=e,this.type=t,1===t&&(this.attributes=[],this.attributes.map={})}var n=/^[ \\t\\r\\n]*$/,r={\"#text\":3,\"#comment\":8,\"#cdata\":4,\"#pi\":7,\"#doctype\":10,\"#document-fragment\":11};return t.prototype={replace:function(e){var t=this;return e.parent&&e.remove(),t.insert(e,t),t.remove(),t},attr:function(e,t){var n=this,r,i,o;if(\"string\"!=typeof e){for(i in e)n.attr(i,e[i]);return n}if(r=n.attributes){if(t!==o){if(null===t){if(e in r.map)for(delete r.map[e],i=r.length;i--;)if(r[i].name===e)return r=r.splice(i,1),n;return n}if(e in r.map){for(i=r.length;i--;)if(r[i].name===e){r[i].value=t;break}}else r.push({name:e,value:t});return r.map[e]=t,n}return r.map[e]}},clone:function(){var e=this,n=new t(e.name,e.type),r,i,o,a,s;if(o=e.attributes){for(s=[],s.map={},r=0,i=o.length;r<i;r++)a=o[r],\"id\"!==a.name&&(s[s.length]={name:a.name,value:a.value},s.map[a.name]=a.value);n.attributes=s}return n.value=e.value,n.shortEnded=e.shortEnded,n},wrap:function(e){var t=this;return t.parent.insert(e,t),e.append(t),t},unwrap:function(){var e=this,t,n;for(t=e.firstChild;t;)n=t.next,e.insert(t,e,!0),t=n;e.remove()},remove:function(){var e=this,t=e.parent,n=e.next,r=e.prev;return t&&(t.firstChild===e?(t.firstChild=n,n&&(n.prev=null)):r.next=n,t.lastChild===e?(t.lastChild=r,r&&(r.next=null)):n.prev=r,e.parent=e.next=e.prev=null),e},append:function(e){var t=this,n;return e.parent&&e.remove(),n=t.lastChild,n?(n.next=e,e.prev=n,t.lastChild=e):t.lastChild=t.firstChild=e,e.parent=t,e},insert:function(e,t,n){var r;return e.parent&&e.remove(),r=t.parent||this,n?(t===r.firstChild?r.firstChild=e:t.prev.next=e,e.prev=t.prev,e.next=t,t.prev=e):(t===r.lastChild?r.lastChild=e:t.next.prev=e,e.next=t.next,e.prev=t,t.next=e),e.parent=r,e},getAll:function(t){var n=this,r,i=[];for(r=n.firstChild;r;r=e(r,n))r.name===t&&i.push(r);return i},empty:function(){var t=this,n,r,i;if(t.firstChild){for(n=[],i=t.firstChild;i;i=e(i,t))n.push(i);for(r=n.length;r--;)i=n[r],i.parent=i.firstChild=i.lastChild=i.next=i.prev=null}return t.firstChild=t.lastChild=null,t},isEmpty:function(t,r){var i=this,o=i.firstChild,a,s;if(r=r||{},o)do{if(1===o.type){if(o.attributes.map[\"data-mce-bogus\"])continue;if(t[o.name])return!1;for(a=o.attributes.length;a--;)if(s=o.attributes[a].name,\"name\"===s||0===s.indexOf(\"data-mce-bookmark\"))return!1}if(8===o.type)return!1;if(3===o.type&&!n.test(o.value))return!1;if(3===o.type&&o.parent&&r[o.parent.name]&&n.test(o.value))return!1}while(o=e(o,i));return!0},walk:function(t){return e(this,null,t)}},t.create=function(e,n){var i,o;if(i=new t(e,r[e]||1),n)for(o in n)i.attr(o,n[o]);return i},t}),r(B,[m],function(e){function t(t,n){return t=e.trim(t),t?t.split(n||\" \"):[]}function n(e){function n(e,n,r){function i(e,t){var n={},r,i;for(r=0,i=e.length;r<i;r++)n[e[r]]=t||{};return n}var s,u,c;for(r=r||[],n=n||\"\",\"string\"==typeof r&&(r=t(r)),e=t(e),s=e.length;s--;)u=t([l,n].join(\" \")),c={attributes:i(u),attributesOrder:u,children:i(r,o)},a[e[s]]=c}function r(e,n){var r,i,o,s;for(e=t(e),r=e.length,n=t(n);r--;)for(i=a[e[r]],o=0,s=n.length;o<s;o++)i.attributes[n[o]]={},i.attributesOrder.push(n[o])}var a={},l,u,c,d,f,p;return i[e]?i[e]:(l=\"id accesskey class dir lang style tabindex title\",u=\"address blockquote div dl fieldset form h1 h2 h3 h4 h5 h6 hr menu ol p pre table ul\",c=\"a abbr b bdo br button cite code del dfn em embed i iframe img input ins kbd label map noscript object q s samp script select small span strong sub sup textarea u var #text #comment\",\"html4\"!=e&&(l+=\" contenteditable contextmenu draggable dropzone hidden spellcheck translate\",u+=\" article aside details dialog figure header footer hgroup section nav\",c+=\" audio canvas command datalist mark meter output picture progress time wbr video ruby bdi keygen\"),\"html5-strict\"!=e&&(l+=\" xml:lang\",p=\"acronym applet basefont big font strike tt\",c=[c,p].join(\" \"),s(t(p),function(e){n(e,\"\",c)}),f=\"center dir isindex noframes\",u=[u,f].join(\" \"),d=[u,c].join(\" \"),s(t(f),function(e){n(e,\"\",d)})),d=d||[u,c].join(\" \"),n(\"html\",\"manifest\",\"head body\"),n(\"head\",\"\",\"base command link meta noscript script style title\"),n(\"title hr noscript br\"),n(\"base\",\"href target\"),n(\"link\",\"href rel media hreflang type sizes hreflang\"),n(\"meta\",\"name http-equiv content charset\"),n(\"style\",\"media type scoped\"),n(\"script\",\"src async defer type charset\"),n(\"body\",\"onafterprint onbeforeprint onbeforeunload onblur onerror onfocus onhashchange onload onmessage onoffline ononline onpagehide onpageshow onpopstate onresize onscroll onstorage onunload\",d),n(\"address dt dd div caption\",\"\",d),n(\"h1 h2 h3 h4 h5 h6 pre p abbr code var samp kbd sub sup i b u bdo span legend em strong small s cite dfn\",\"\",c),n(\"blockquote\",\"cite\",d),n(\"ol\",\"reversed start type\",\"li\"),n(\"ul\",\"\",\"li\"),n(\"li\",\"value\",d),n(\"dl\",\"\",\"dt dd\"),n(\"a\",\"href target rel media hreflang type\",c),n(\"q\",\"cite\",c),n(\"ins del\",\"cite datetime\",d),n(\"img\",\"src sizes srcset alt usemap ismap width height\"),n(\"iframe\",\"src name width height\",d),n(\"embed\",\"src type width height\"),n(\"object\",\"data type typemustmatch name usemap form width height\",[d,\"param\"].join(\" \")),n(\"param\",\"name value\"),n(\"map\",\"name\",[d,\"area\"].join(\" \")),n(\"area\",\"alt coords shape href target rel media hreflang type\"),n(\"table\",\"border\",\"caption colgroup thead tfoot tbody tr\"+(\"html4\"==e?\" col\":\"\")),n(\"colgroup\",\"span\",\"col\"),n(\"col\",\"span\"),n(\"tbody thead tfoot\",\"\",\"tr\"),n(\"tr\",\"\",\"td th\"),n(\"td\",\"colspan rowspan headers\",d),n(\"th\",\"colspan rowspan headers scope abbr\",d),n(\"form\",\"accept-charset action autocomplete enctype method name novalidate target\",d),n(\"fieldset\",\"disabled form name\",[d,\"legend\"].join(\" \")),n(\"label\",\"form for\",c),n(\"input\",\"accept alt autocomplete checked dirname disabled form formaction formenctype formmethod formnovalidate formtarget height list max maxlength min multiple name pattern readonly required size src step type value width\"),n(\"button\",\"disabled form formaction formenctype formmethod formnovalidate formtarget name type value\",\"html4\"==e?d:c),n(\"select\",\"disabled form multiple name required size\",\"option optgroup\"),n(\"optgroup\",\"disabled label\",\"option\"),n(\"option\",\"disabled label selected value\"),n(\"textarea\",\"cols dirname disabled form maxlength name readonly required rows wrap\"),n(\"menu\",\"type label\",[d,\"li\"].join(\" \")),n(\"noscript\",\"\",d),\"html4\"!=e&&(n(\"wbr\"),n(\"ruby\",\"\",[c,\"rt rp\"].join(\" \")),n(\"figcaption\",\"\",d),n(\"mark rt rp summary bdi\",\"\",c),n(\"canvas\",\"width height\",d),n(\"video\",\"src crossorigin poster preload autoplay mediagroup loop muted controls width height buffered\",[d,\"track source\"].join(\" \")),n(\"audio\",\"src crossorigin preload autoplay mediagroup loop muted controls buffered volume\",[d,\"track source\"].join(\" \")),n(\"picture\",\"\",\"img source\"),n(\"source\",\"src srcset type media sizes\"),n(\"track\",\"kind src srclang label default\"),n(\"datalist\",\"\",[c,\"option\"].join(\" \")),n(\"article section nav aside header footer\",\"\",d),n(\"hgroup\",\"\",\"h1 h2 h3 h4 h5 h6\"),n(\"figure\",\"\",[d,\"figcaption\"].join(\" \")),n(\"time\",\"datetime\",c),n(\"dialog\",\"open\",d),n(\"command\",\"type label icon disabled checked radiogroup command\"),n(\"output\",\"for form name\",c),n(\"progress\",\"value max\",c),n(\"meter\",\"value min max low high optimum\",c),n(\"details\",\"open\",[d,\"summary\"].join(\" \")),n(\"keygen\",\"autofocus challenge disabled form keytype name\")),\"html5-strict\"!=e&&(r(\"script\",\"language xml:space\"),r(\"style\",\"xml:space\"),r(\"object\",\"declare classid code codebase codetype archive standby align border hspace vspace\"),r(\"embed\",\"align name hspace vspace\"),r(\"param\",\"valuetype type\"),r(\"a\",\"charset name rev shape coords\"),r(\"br\",\"clear\"),r(\"applet\",\"codebase archive code object alt name width height align hspace vspace\"),r(\"img\",\"name longdesc align border hspace vspace\"),r(\"iframe\",\"longdesc frameborder marginwidth marginheight scrolling align\"),r(\"font basefont\",\"size color face\"),r(\"input\",\"usemap align\"),r(\"select\",\"onchange\"),r(\"textarea\"),r(\"h1 h2 h3 h4 h5 h6 div p legend caption\",\"align\"),r(\"ul\",\"type compact\"),r(\"li\",\"type\"),r(\"ol dl menu dir\",\"compact\"),r(\"pre\",\"width xml:space\"),r(\"hr\",\"align noshade size width\"),r(\"isindex\",\"prompt\"),r(\"table\",\"summary width frame rules cellspacing cellpadding align bgcolor\"),r(\"col\",\"width align char charoff valign\"),r(\"colgroup\",\"width align char charoff valign\"),r(\"thead\",\"align char charoff valign\"),r(\"tr\",\"align char charoff valign bgcolor\"),r(\"th\",\"axis align char charoff valign nowrap bgcolor width height\"),r(\"form\",\"accept\"),r(\"td\",\"abbr axis scope align char charoff valign nowrap bgcolor width height\"),r(\"tfoot\",\"align char charoff valign\"),r(\"tbody\",\"align char charoff valign\"),r(\"area\",\"nohref\"),r(\"body\",\"background bgcolor text link vlink alink\")),\"html4\"!=e&&(r(\"input button select textarea\",\"autofocus\"),r(\"input textarea\",\"placeholder\"),r(\"a\",\"download\"),\nr(\"link script img\",\"crossorigin\"),r(\"iframe\",\"sandbox seamless allowfullscreen\")),s(t(\"a form meter progress dfn\"),function(e){a[e]&&delete a[e].children[e]}),delete a.caption.children.table,delete a.script,i[e]=a,a)}function r(e,t){var n;return e&&(n={},\"string\"==typeof e&&(e={\"*\":e}),s(e,function(e,r){n[r]=n[r.toUpperCase()]=\"map\"==t?a(e,/[, ]/):u(e,/[, ]/)})),n}var i={},o={},a=e.makeMap,s=e.each,l=e.extend,u=e.explode,c=e.inArray;return function(e){function o(t,n,r){var o=e[t];return o?o=a(o,/[, ]/,a(o.toUpperCase(),/[, ]/)):(o=i[t],o||(o=a(n,\" \",a(n.toUpperCase(),\" \")),o=l(o,r),i[t]=o)),o}function d(e){return new RegExp(\"^\"+e.replace(/([?+*])/g,\".$1\")+\"$\")}function f(e){var n,r,i,o,s,l,u,f,p,h,m,g,v,b,x,w,E,N,_,S=/^([#+\\-])?([^\\[!\\/]+)(?:\\/([^\\[!]+))?(?:(!?)\\[([^\\]]+)\\])?$/,k=/^([!\\-])?(\\w+::\\w+|[^=:<]+)?(?:([=:<])(.*))?$/,T=/[*?+]/;if(e)for(e=t(e,\",\"),y[\"@\"]&&(w=y[\"@\"].attributes,E=y[\"@\"].attributesOrder),n=0,r=e.length;n<r;n++)if(s=S.exec(e[n])){if(b=s[1],p=s[2],x=s[3],f=s[5],g={},v=[],l={attributes:g,attributesOrder:v},\"#\"===b&&(l.paddEmpty=!0),\"-\"===b&&(l.removeEmpty=!0),\"!\"===s[4]&&(l.removeEmptyAttrs=!0),w){for(N in w)g[N]=w[N];v.push.apply(v,E)}if(f)for(f=t(f,\"|\"),i=0,o=f.length;i<o;i++)if(s=k.exec(f[i])){if(u={},m=s[1],h=s[2].replace(/::/g,\":\"),b=s[3],_=s[4],\"!\"===m&&(l.attributesRequired=l.attributesRequired||[],l.attributesRequired.push(h),u.required=!0),\"-\"===m){delete g[h],v.splice(c(v,h),1);continue}b&&(\"=\"===b&&(l.attributesDefault=l.attributesDefault||[],l.attributesDefault.push({name:h,value:_}),u.defaultValue=_),\":\"===b&&(l.attributesForced=l.attributesForced||[],l.attributesForced.push({name:h,value:_}),u.forcedValue=_),\"<\"===b&&(u.validValues=a(_,\"?\"))),T.test(h)?(l.attributePatterns=l.attributePatterns||[],u.pattern=d(h),l.attributePatterns.push(u)):(g[h]||v.push(h),g[h]=u)}w||\"@\"!=p||(w=g,E=v),x&&(l.outputName=p,y[x]=l),T.test(p)?(l.pattern=d(p),C.push(l)):y[p]=l}}function p(e){y={},C=[],f(e),s(E,function(e,t){b[t]=e.children})}function h(e){var n=/^(~)?(.+)$/;e&&(i.text_block_elements=i.block_elements=null,s(t(e,\",\"),function(e){var t=n.exec(e),r=\"~\"===t[1],i=r?\"span\":\"div\",o=t[2];if(b[o]=b[i],M[o]=i,r||(R[o.toUpperCase()]={},R[o]={}),!y[o]){var a=y[i];a=l({},a),delete a.removeEmptyAttrs,delete a.removeEmpty,y[o]=a}s(b,function(e,t){e[i]&&(b[t]=e=l({},b[t]),e[o]=e[i])})}))}function m(n){var r=/^([+\\-]?)(\\w+)\\[([^\\]]+)\\]$/;i[e.schema]=null,n&&s(t(n,\",\"),function(e){var n=r.exec(e),i,o;n&&(o=n[1],i=o?b[n[2]]:b[n[2]]={\"#comment\":{}},i=b[n[2]],s(t(n[3],\"|\"),function(e){\"-\"===o?delete i[e]:i[e]={}}))})}function g(e){var t=y[e],n;if(t)return t;for(n=C.length;n--;)if(t=C[n],t.pattern.test(e))return t}var v=this,y={},b={},C=[],x,w,E,N,_,S,k,T,R,A,B,D,L,M={},P={};e=e||{},E=n(e.schema),e.verify_html===!1&&(e.valid_elements=\"*[*]\"),x=r(e.valid_styles),w=r(e.invalid_styles,\"map\"),T=r(e.valid_classes,\"map\"),N=o(\"whitespace_elements\",\"pre script noscript style textarea video audio iframe object code\"),_=o(\"self_closing_elements\",\"colgroup dd dt li option p td tfoot th thead tr\"),S=o(\"short_ended_elements\",\"area base basefont br col frame hr img input isindex link meta param embed source wbr track\"),k=o(\"boolean_attributes\",\"checked compact declare defer disabled ismap multiple nohref noresize noshade nowrap readonly selected autoplay loop controls\"),A=o(\"non_empty_elements\",\"td th iframe video audio object script pre code\",S),B=o(\"move_caret_before_on_enter_elements\",\"table\",A),D=o(\"text_block_elements\",\"h1 h2 h3 h4 h5 h6 p div address pre form blockquote center dir fieldset header footer article section hgroup aside nav figure\"),R=o(\"block_elements\",\"hr table tbody thead tfoot th tr td li ol ul caption dl dt dd noscript menu isindex option datalist select optgroup figcaption\",D),L=o(\"text_inline_elements\",\"span strong b em i font strike u var cite dfn code mark q sup sub samp\"),s((e.special||\"script noscript style textarea\").split(\" \"),function(e){P[e]=new RegExp(\"</\"+e+\"[^>]*>\",\"gi\")}),e.valid_elements?p(e.valid_elements):(s(E,function(e,t){y[t]={attributes:e.attributes,attributesOrder:e.attributesOrder},b[t]=e.children}),\"html5\"!=e.schema&&s(t(\"strong/b em/i\"),function(e){e=t(e,\"/\"),y[e[1]].outputName=e[0]}),s(t(\"ol ul sub sup blockquote span font a table tbody tr strong em b i\"),function(e){y[e]&&(y[e].removeEmpty=!0)}),s(t(\"p h1 h2 h3 h4 h5 h6 th td pre div address caption\"),function(e){y[e].paddEmpty=!0}),s(t(\"span\"),function(e){y[e].removeEmptyAttrs=!0})),h(e.custom_elements),m(e.valid_children),f(e.extended_valid_elements),m(\"+ol[ul|ol],+ul[ul|ol]\"),s({dd:\"dl\",dt:\"dl\",li:\"ul ol\",td:\"tr\",th:\"tr\",tr:\"tbody thead tfoot\",tbody:\"table\",thead:\"table\",tfoot:\"table\",legend:\"fieldset\",area:\"map\",param:\"video audio object\"},function(e,n){y[n]&&(y[n].parentsRequired=t(e))}),e.invalid_elements&&s(u(e.invalid_elements),function(e){y[e]&&delete y[e]}),g(\"span\")||f(\"span[!data-mce-type|*]\"),v.children=b,v.getValidStyles=function(){return x},v.getInvalidStyles=function(){return w},v.getValidClasses=function(){return T},v.getBoolAttrs=function(){return k},v.getBlockElements=function(){return R},v.getTextBlockElements=function(){return D},v.getTextInlineElements=function(){return L},v.getShortEndedElements=function(){return S},v.getSelfClosingElements=function(){return _},v.getNonEmptyElements=function(){return A},v.getMoveCaretBeforeOnEnterElements=function(){return B},v.getWhiteSpaceElements=function(){return N},v.getSpecialElements=function(){return P},v.isValidChild=function(e,t){var n=b[e];return!(!n||!n[t])},v.isValid=function(e,t){var n,r,i=g(e);if(i){if(!t)return!0;if(i.attributes[t])return!0;if(n=i.attributePatterns)for(r=n.length;r--;)if(n[r].pattern.test(e))return!0}return!1},v.getElementRule=g,v.getCustomElements=function(){return M},v.addValidElements=f,v.setValidElements=p,v.addCustomElements=h,v.addValidChildren=m,v.elements=y}}),r(D,[B,C,m],function(e,t,n){function r(e,t,n){var r=1,i,o,a,s;for(s=e.getShortEndedElements(),a=/<([!?\\/])?([A-Za-z0-9\\-_\\:\\.]+)((?:\\s+[^\"\\'>]+(?:(?:\"[^\"]*\")|(?:\\'[^\\']*\\')|[^>]*))*|\\/|\\s+)>/g,a.lastIndex=i=n;o=a.exec(t);){if(i=a.lastIndex,\"/\"===o[1])r--;else if(!o[1]){if(o[2]in s)continue;r++}if(0===r)break}return i}function i(i,a){function s(){}var l=this;i=i||{},l.schema=a=a||new e,i.fix_self_closing!==!1&&(i.fix_self_closing=!0),o(\"comment cdata text start end pi doctype\".split(\" \"),function(e){e&&(l[e]=i[e]||s)}),l.parse=function(e){function o(e){var t,n;for(t=p.length;t--&&p[t].name!==e;);if(t>=0){for(n=p.length-1;n>=t;n--)e=p[n],e.valid&&l.end(e.name);p.length=t}}function s(e,t,n,r,o){var a,s,l=/[\\s\\u0000-\\u001F]+/g;if(t=t.toLowerCase(),n=t in x?t:z(n||r||o||\"\"),E&&!y&&0!==t.indexOf(\"data-\")){if(a=T[t],!a&&R){for(s=R.length;s--&&(a=R[s],!a.pattern.test(t)););s===-1&&(a=null)}if(!a)return;if(a.validValues&&!(n in a.validValues))return}if(W[t]&&!i.allow_script_urls){var u=n.replace(l,\"\");try{u=decodeURIComponent(u)}catch(c){u=unescape(u)}if(V.test(u))return;if(!i.allow_html_data_urls&&$.test(u)&&!/^data:image\\//i.test(u))return}h.map[t]=n,h.push({name:t,value:n})}var l=this,u,c=0,d,f,p=[],h,m,g,v,y,b,C,x,w,E,N,_,S,k,T,R,A,B,D,L,M,P,O,H,I,F=0,z=t.decode,U,W=n.makeMap(\"src,href,data,background,formaction,poster\"),V=/((java|vb)script|mhtml):/i,$=/^data:/i;for(P=new RegExp(\"<(?:(?:!--([\\\\w\\\\W]*?)-->)|(?:!\\\\[CDATA\\\\[([\\\\w\\\\W]*?)\\\\]\\\\]>)|(?:!DOCTYPE([\\\\w\\\\W]*?)>)|(?:\\\\?([^\\\\s\\\\/<>]+) ?([\\\\w\\\\W]*?)[?/]>)|(?:\\\\/([^>]+)>)|(?:([A-Za-z0-9\\\\-_\\\\:\\\\.]+)((?:\\\\s+[^\\\"'>]+(?:(?:\\\"[^\\\"]*\\\")|(?:'[^']*')|[^>]*))*|\\\\/|\\\\s+)>))\",\"g\"),O=/([\\w:\\-]+)(?:\\s*=\\s*(?:(?:\\\"((?:[^\\\"])*)\\\")|(?:\\'((?:[^\\'])*)\\')|([^>\\s]+)))?/g,C=a.getShortEndedElements(),M=i.self_closing_elements||a.getSelfClosingElements(),x=a.getBoolAttrs(),E=i.validate,b=i.remove_internals,U=i.fix_self_closing,H=a.getSpecialElements();u=P.exec(e);){if(c<u.index&&l.text(z(e.substr(c,u.index-c))),d=u[6])d=d.toLowerCase(),\":\"===d.charAt(0)&&(d=d.substr(1)),o(d);else if(d=u[7]){if(d=d.toLowerCase(),\":\"===d.charAt(0)&&(d=d.substr(1)),w=d in C,U&&M[d]&&p.length>0&&p[p.length-1].name===d&&o(d),!E||(N=a.getElementRule(d))){if(_=!0,E&&(T=N.attributes,R=N.attributePatterns),(k=u[8])?(y=k.indexOf(\"data-mce-type\")!==-1,y&&b&&(_=!1),h=[],h.map={},k.replace(O,s)):(h=[],h.map={}),E&&!y){if(A=N.attributesRequired,B=N.attributesDefault,D=N.attributesForced,L=N.removeEmptyAttrs,L&&!h.length&&(_=!1),D)for(m=D.length;m--;)S=D[m],v=S.name,I=S.value,\"{$uid}\"===I&&(I=\"mce_\"+F++),h.map[v]=I,h.push({name:v,value:I});if(B)for(m=B.length;m--;)S=B[m],v=S.name,v in h.map||(I=S.value,\"{$uid}\"===I&&(I=\"mce_\"+F++),h.map[v]=I,h.push({name:v,value:I}));if(A){for(m=A.length;m--&&!(A[m]in h.map););m===-1&&(_=!1)}if(S=h.map[\"data-mce-bogus\"]){if(\"all\"===S){c=r(a,e,P.lastIndex),P.lastIndex=c;continue}_=!1}}_&&l.start(d,h,w)}else _=!1;if(f=H[d]){f.lastIndex=c=u.index+u[0].length,(u=f.exec(e))?(_&&(g=e.substr(c,u.index-c)),c=u.index+u[0].length):(g=e.substr(c),c=e.length),_&&(g.length>0&&l.text(g,!0),l.end(d)),P.lastIndex=c;continue}w||(k&&k.indexOf(\"/\")==k.length-1?_&&l.end(d):p.push({name:d,valid:_}))}else(d=u[1])?(\">\"===d.charAt(0)&&(d=\" \"+d),i.allow_conditional_comments||\"[if\"!==d.substr(0,3).toLowerCase()||(d=\" \"+d),l.comment(d)):(d=u[2])?l.cdata(d):(d=u[3])?l.doctype(d):(d=u[4])&&l.pi(d,u[5]);c=u.index+u[0].length}for(c<e.length&&l.text(z(e.substr(c))),m=p.length-1;m>=0;m--)d=p[m],d.valid&&l.end(d.name)}}var o=n.each;return i.findEndTag=r,i}),r(L,[A,B,D,m],function(e,t,n,r){var i=r.makeMap,o=r.each,a=r.explode,s=r.extend,l=function(t,n){t.padd_empty_with_br?n.empty().append(new e(\"br\",\"1\")).shortEnded=!0:n.empty().append(new e(\"#text\",\"3\")).value=\"\\xa0\"},u=function(e,t){return e&&e.firstChild===e.lastChild&&e.firstChild.name===t};return function(c,d){function f(t){var n,r,o,a,s,l,c,f,h,m,g,v,y,b,C,x;for(v=i(\"tr,td,th,tbody,thead,tfoot,table\"),m=d.getNonEmptyElements(),g=d.getWhiteSpaceElements(),y=d.getTextBlockElements(),b=d.getSpecialElements(),n=0;n<t.length;n++)if(r=t[n],r.parent&&!r.fixed)if(y[r.name]&&\"li\"==r.parent.name){for(C=r.next;C&&y[C.name];)C.name=\"li\",C.fixed=!0,r.parent.insert(C,r.parent),C=C.next;r.unwrap(r)}else{for(a=[r],o=r.parent;o&&!d.isValidChild(o.name,r.name)&&!v[o.name];o=o.parent)a.push(o);if(o&&a.length>1){for(a.reverse(),s=l=p.filterNode(a[0].clone()),h=0;h<a.length-1;h++){for(d.isValidChild(l.name,a[h].name)?(c=p.filterNode(a[h].clone()),l.append(c)):c=l,f=a[h].firstChild;f&&f!=a[h+1];)x=f.next,c.append(f),f=x;l=c}s.isEmpty(m,g)?o.insert(r,a[0],!0):(o.insert(s,a[0],!0),o.insert(r,s)),o=a[0],(o.isEmpty(m,g)||u(o,\"br\"))&&o.empty().remove()}else if(r.parent){if(\"li\"===r.name){if(C=r.prev,C&&(\"ul\"===C.name||\"ul\"===C.name)){C.append(r);continue}if(C=r.next,C&&(\"ul\"===C.name||\"ul\"===C.name)){C.insert(r,C.firstChild,!0);continue}r.wrap(p.filterNode(new e(\"ul\",1)));continue}d.isValidChild(r.parent.name,\"div\")&&d.isValidChild(\"div\",r.name)?r.wrap(p.filterNode(new e(\"div\",1))):b[r.name]?r.empty().remove():r.unwrap()}}}var p=this,h={},m=[],g={},v={};c=c||{},c.validate=!(\"validate\"in c)||c.validate,c.root_name=c.root_name||\"body\",p.schema=d=d||new t,p.filterNode=function(e){var t,n,r;n in h&&(r=g[n],r?r.push(e):g[n]=[e]),t=m.length;for(;t--;)n=m[t].name,n in e.attributes.map&&(r=v[n],r?r.push(e):v[n]=[e]);return e},p.addNodeFilter=function(e,t){o(a(e),function(e){var n=h[e];n||(h[e]=n=[]),n.push(t)})},p.addAttributeFilter=function(e,t){o(a(e),function(e){var n;for(n=0;n<m.length;n++)if(m[n].name===e)return void m[n].callbacks.push(t);m.push({name:e,callbacks:[t]})})},p.parse=function(t,r){function o(){function e(e){e&&(t=e.firstChild,t&&3==t.type&&(t.value=t.value.replace(A,\"\")),t=e.lastChild,t&&3==t.type&&(t.value=t.value.replace(L,\"\")))}var t=b.firstChild,n,r;if(d.isValidChild(b.name,F.toLowerCase())){for(;t;)n=t.next,3==t.type||1==t.type&&\"p\"!==t.name&&!R[t.name]&&!t.attr(\"data-mce-type\")?r?r.append(t):(r=a(F,1),r.attr(c.forced_root_block_attrs),b.insert(r,t),r.append(t)):(e(r),r=null),t=n;e(r)}}function a(t,n){var r=new e(t,n),i;return t in h&&(i=g[t],i?i.push(r):g[t]=[r]),r}function u(e){var t,n,r,i,o=d.getBlockElements();for(t=e.prev;t&&3===t.type;){if(r=t.value.replace(L,\"\"),r.length>0)return void(t.value=r);if(n=t.next){if(3==n.type&&n.value.length){t=t.prev;continue}if(!o[n.name]&&\"script\"!=n.name&&\"style\"!=n.name){t=t.prev;continue}}i=t.prev,t.remove(),t=i}}function p(e){var t,n={};for(t in e)\"li\"!==t&&\"p\"!=t&&(n[t]=e[t]);return n}var y,b,C,x,w,E,N,_,S,k,T,R,A,B=[],D,L,M,P,O,H,I,F;if(r=r||{},g={},v={},R=s(i(\"script,style,head,html,body,title,meta,param\"),d.getBlockElements()),I=d.getNonEmptyElements(),H=d.children,T=c.validate,F=\"forced_root_block\"in r?r.forced_root_block:c.forced_root_block,O=d.getWhiteSpaceElements(),A=/^[ \\t\\r\\n]+/,L=/[ \\t\\r\\n]+$/,M=/[ \\t\\r\\n]+/g,P=/^[ \\t\\r\\n]+$/,y=new n({validate:T,allow_script_urls:c.allow_script_urls,allow_conditional_comments:c.allow_conditional_comments,self_closing_elements:p(d.getSelfClosingElements()),cdata:function(e){C.append(a(\"#cdata\",4)).value=e},text:function(e,t){var n;D||(e=e.replace(M,\" \"),C.lastChild&&R[C.lastChild.name]&&(e=e.replace(A,\"\"))),0!==e.length&&(n=a(\"#text\",3),n.raw=!!t,C.append(n).value=e)},comment:function(e){C.append(a(\"#comment\",8)).value=e},pi:function(e,t){C.append(a(e,7)).value=t,u(C)},doctype:function(e){var t;t=C.append(a(\"#doctype\",10)),t.value=e,u(C)},start:function(e,t,n){var r,i,o,s,l;if(o=T?d.getElementRule(e):{}){for(r=a(o.outputName||e,1),r.attributes=t,r.shortEnded=n,C.append(r),l=H[C.name],l&&H[r.name]&&!l[r.name]&&B.push(r),i=m.length;i--;)s=m[i].name,s in t.map&&(S=v[s],S?S.push(r):v[s]=[r]);R[e]&&u(r),n||(C=r),!D&&O[e]&&(D=!0)}},end:function(e){var t,n,r,i,o;if(n=T?d.getElementRule(e):{}){if(R[e]&&!D){if(t=C.firstChild,t&&3===t.type)if(r=t.value.replace(A,\"\"),r.length>0)t.value=r,t=t.next;else for(i=t.next,t.remove(),t=i;t&&3===t.type;)r=t.value,i=t.next,(0===r.length||P.test(r))&&(t.remove(),t=i),t=i;if(t=C.lastChild,t&&3===t.type)if(r=t.value.replace(L,\"\"),r.length>0)t.value=r,t=t.prev;else for(i=t.prev,t.remove(),t=i;t&&3===t.type;)r=t.value,i=t.prev,(0===r.length||P.test(r))&&(t.remove(),t=i),t=i}if(D&&O[e]&&(D=!1),(n.removeEmpty||n.paddEmpty)&&C.isEmpty(I,O))if(n.paddEmpty)l(c,C);else if(!C.attributes.map.name&&!C.attributes.map.id)return o=C.parent,R[C.name]?C.empty().remove():C.unwrap(),void(C=o);C=C.parent}}},d),b=C=new e(r.context||c.root_name,11),y.parse(t),T&&B.length&&(r.context?r.invalid=!0:f(B)),F&&(\"body\"==b.name||r.isRootContent)&&o(),!r.invalid){for(k in g){for(S=h[k],x=g[k],N=x.length;N--;)x[N].parent||x.splice(N,1);for(w=0,E=S.length;w<E;w++)S[w](x,k,r)}for(w=0,E=m.length;w<E;w++)if(S=m[w],S.name in v){for(x=v[S.name],N=x.length;N--;)x[N].parent||x.splice(N,1);for(N=0,_=S.callbacks.length;N<_;N++)S.callbacks[N](x,S.name,r)}}return b},c.remove_trailing_brs&&p.addNodeFilter(\"br\",function(t){var n,r=t.length,i,o=s({},d.getBlockElements()),a=d.getNonEmptyElements(),u,f,p,h,m=d.getNonEmptyElements(),g,v;for(o.body=1,n=0;n<r;n++)if(i=t[n],u=i.parent,o[i.parent.name]&&i===u.lastChild){for(p=i.prev;p;){if(h=p.name,\"span\"!==h||\"bookmark\"!==p.attr(\"data-mce-type\")){if(\"br\"!==h)break;if(\"br\"===h){i=null;break}}p=p.prev}i&&(i.remove(),u.isEmpty(a,m)&&(g=d.getElementRule(u.name),g&&(g.removeEmpty?u.remove():g.paddEmpty&&l(c,u))))}else{for(f=i;u&&u.firstChild===f&&u.lastChild===f&&(f=u,!o[u.name]);)u=u.parent;f===u&&c.padd_empty_with_br!==!0&&(v=new e(\"#text\",3),v.value=\"\\xa0\",i.replace(v))}}),c.allow_unsafe_link_target||p.addAttributeFilter(\"href\",function(e){function t(e){return e=n(e),e?[e,l].join(\" \"):l}function n(e){var t=new RegExp(\"(\"+l.replace(\" \",\"|\")+\")\",\"g\");return e&&(e=r.trim(e.replace(t,\"\"))),e?e:null}function i(e,r){return r?t(e):n(e)}for(var o=e.length,a,s,l=\"noopener noreferrer\";o--;)a=e[o],s=a.attr(\"rel\"),\"a\"===a.name&&a.attr(\"rel\",i(s,\"_blank\"==a.attr(\"target\")))}),c.allow_html_in_named_anchor||p.addAttributeFilter(\"id,name\",function(e){for(var t=e.length,n,r,i,o;t--;)if(o=e[t],\"a\"===o.name&&o.firstChild&&!o.attr(\"href\")){i=o.parent,n=o.lastChild;do r=n.prev,i.insert(n,o),n=r;while(n)}}),c.fix_list_elements&&p.addNodeFilter(\"ul,ol\",function(t){for(var n=t.length,r,i;n--;)if(r=t[n],i=r.parent,\"ul\"===i.name||\"ol\"===i.name)if(r.prev&&\"li\"===r.prev.name)r.prev.append(r);else{var o=new e(\"li\",1);o.attr(\"style\",\"list-style-type: none\"),r.wrap(o)}}),c.validate&&d.getValidClasses()&&p.addAttributeFilter(\"class\",function(e){for(var t=e.length,n,r,i,o,a,s=d.getValidClasses(),l,u;t--;){for(n=e[t],r=n.attr(\"class\").split(\" \"),a=\"\",i=0;i<r.length;i++)o=r[i],u=!1,l=s[\"*\"],l&&l[o]&&(u=!0),l=s[n.name],!u&&l&&l[o]&&(u=!0),u&&(a&&(a+=\" \"),a+=o);a.length||(a=null),n.attr(\"class\",a)}})}}),r(M,[C,m],function(e,t){var n=t.makeMap;return function(t){var r=[],i,o,a,s,l;return t=t||{},i=t.indent,o=n(t.indent_before||\"\"),a=n(t.indent_after||\"\"),s=e.getEncodeFunc(t.entity_encoding||\"raw\",t.entities),l=\"html\"==t.element_format,{start:function(e,t,n){var u,c,d,f;if(i&&o[e]&&r.length>0&&(f=r[r.length-1],f.length>0&&\"\\n\"!==f&&r.push(\"\\n\")),r.push(\"<\",e),t)for(u=0,c=t.length;u<c;u++)d=t[u],r.push(\" \",d.name,'=\"',s(d.value,!0),'\"');!n||l?r[r.length]=\">\":r[r.length]=\" />\",n&&i&&a[e]&&r.length>0&&(f=r[r.length-1],f.length>0&&\"\\n\"!==f&&r.push(\"\\n\"))},end:function(e){var t;r.push(\"</\",e,\">\"),i&&a[e]&&r.length>0&&(t=r[r.length-1],t.length>0&&\"\\n\"!==t&&r.push(\"\\n\"))},text:function(e,t){e.length>0&&(r[r.length]=t?e:s(e))},cdata:function(e){r.push(\"<![CDATA[\",e,\"]]>\")},comment:function(e){r.push(\"<!--\",e,\"-->\")},pi:function(e,t){t?r.push(\"<?\",e,\" \",s(t),\"?>\"):r.push(\"<?\",e,\"?>\"),i&&r.push(\"\\n\")},doctype:function(e){r.push(\"<!DOCTYPE\",e,\">\",i?\"\\n\":\"\")},reset:function(){r.length=0},getContent:function(){return r.join(\"\").replace(/\\n$/,\"\")}}}}),r(P,[M,B],function(e,t){return function(n,r){var i=this,o=new e(n);n=n||{},n.validate=!(\"validate\"in n)||n.validate,i.schema=r=r||new t,i.writer=o,i.serialize=function(e){function t(e){var n=i[e.type],s,l,u,c,d,f,p,h,m;if(n)n(e);else{if(s=e.name,l=e.shortEnded,u=e.attributes,a&&u&&u.length>1&&(f=[],f.map={},m=r.getElementRule(e.name))){for(p=0,h=m.attributesOrder.length;p<h;p++)c=m.attributesOrder[p],c in u.map&&(d=u.map[c],f.map[c]=d,f.push({name:c,value:d}));for(p=0,h=u.length;p<h;p++)c=u[p].name,c in f.map||(d=u.map[c],f.map[c]=d,f.push({name:c,value:d}));u=f}if(o.start(e.name,u,l),!l){if(e=e.firstChild)do t(e);while(e=e.next);o.end(s)}}}var i,a;return a=n.validate,i={3:function(e){o.text(e.value,e.raw)},8:function(e){o.comment(e.value)},7:function(e){o.pi(e.name,e.value)},10:function(e){o.doctype(e.value)},4:function(e){o.cdata(e.value)},11:function(e){if(e=e.firstChild)do t(e);while(e=e.next)}},o.reset(),1!=e.type||n.inner?i[11](e):t(e),o.getContent()}}}),r(O,[w,L,D,C,P,A,B,d,m,S],function(e,t,n,r,i,o,a,s,l,u){function c(e){function t(e){return e&&\"br\"===e.name}var n,r;n=e.lastChild,t(n)&&(r=n.prev,t(r)&&(n.remove(),r.remove()))}var d=l.each,f=l.trim,p=e.DOM;return function(e,o){function h(e){var t=new RegExp([\"<span[^>]+data-mce-bogus[^>]+>[\\u200b\\ufeff]+<\\\\/span>\",\"\\\\s?(\"+x.join(\"|\")+')=\"[^\"]+\"'].join(\"|\"),\"gi\");return e=u.trim(e.replace(t,\"\"))}function m(e){var t=e,r=/<(\\w+) [^>]*data-mce-bogus=\"all\"[^>]*>/g,i,a,s,l,u,c=o.schema;for(t=h(t),u=c.getShortEndedElements();l=r.exec(t);)a=r.lastIndex,s=l[0].length,i=u[l[1]]?a:n.findEndTag(c,t,a),t=t.substring(0,a-s)+t.substring(i),r.lastIndex=a-s;return t}function g(){return m(o.getBody().innerHTML)}function v(e){l.inArray(x,e)===-1&&(C.addAttributeFilter(e,function(e,t){for(var n=e.length;n--;)e[n].attr(t,null)}),x.push(e))}var y,b,C,x=[\"data-mce-selected\"];return o&&(y=o.dom,b=o.schema),y=y||p,b=b||new a(e),e.entity_encoding=e.entity_encoding||\"named\",e.remove_trailing_brs=!(\"remove_trailing_brs\"in e)||e.remove_trailing_brs,C=new t(e,b),C.addAttributeFilter(\"data-mce-tabindex\",function(e,t){for(var n=e.length,r;n--;)r=e[n],r.attr(\"tabindex\",r.attributes.map[\"data-mce-tabindex\"]),r.attr(t,null)}),C.addAttributeFilter(\"src,href,style\",function(t,n){for(var r=t.length,i,o,a=\"data-mce-\"+n,s=e.url_converter,l=e.url_converter_scope,u;r--;)i=t[r],o=i.attributes.map[a],o!==u?(i.attr(n,o.length>0?o:null),i.attr(a,null)):(o=i.attributes.map[n],\"style\"===n?o=y.serializeStyle(y.parseStyle(o),i.name):s&&(o=s.call(l,o,n,i.name)),i.attr(n,o.length>0?o:null))}),C.addAttributeFilter(\"class\",function(e){for(var t=e.length,n,r;t--;)n=e[t],r=n.attr(\"class\"),r&&(r=n.attr(\"class\").replace(/(?:^|\\s)mce-item-\\w+(?!\\S)/g,\"\"),n.attr(\"class\",r.length>0?r:null))}),C.addAttributeFilter(\"data-mce-type\",function(e,t,n){for(var r=e.length,i;r--;)i=e[r],\"bookmark\"!==i.attributes.map[\"data-mce-type\"]||n.cleanup||i.remove()}),C.addNodeFilter(\"noscript\",function(e){for(var t=e.length,n;t--;)n=e[t].firstChild,n&&(n.value=r.decode(n.value))}),C.addNodeFilter(\"script,style\",function(e,t){function n(e){return e.replace(/(<!--\\[CDATA\\[|\\]\\]-->)/g,\"\\n\").replace(/^[\\r\\n]*|[\\r\\n]*$/g,\"\").replace(/^\\s*((<!--)?(\\s*\\/\\/)?\\s*<!\\[CDATA\\[|(<!--\\s*)?\\/\\*\\s*<!\\[CDATA\\[\\s*\\*\\/|(\\/\\/)?\\s*<!--|\\/\\*\\s*<!--\\s*\\*\\/)\\s*[\\r\\n]*/gi,\"\").replace(/\\s*(\\/\\*\\s*\\]\\]>\\s*\\*\\/(-->)?|\\s*\\/\\/\\s*\\]\\]>(-->)?|\\/\\/\\s*(-->)?|\\]\\]>|\\/\\*\\s*-->\\s*\\*\\/|\\s*-->\\s*)\\s*$/g,\"\")}for(var r=e.length,i,o,a;r--;)i=e[r],o=i.firstChild?i.firstChild.value:\"\",\"script\"===t?(a=i.attr(\"type\"),a&&i.attr(\"type\",\"mce-no/type\"==a?null:a.replace(/^mce\\-/,\"\")),o.length>0&&(i.firstChild.value=\"// <![CDATA[\\n\"+n(o)+\"\\n// ]]>\")):o.length>0&&(i.firstChild.value=\"<!--\\n\"+n(o)+\"\\n-->\")}),C.addNodeFilter(\"#comment\",function(e){for(var t=e.length,n;t--;)n=e[t],0===n.value.indexOf(\"[CDATA[\")?(n.name=\"#cdata\",n.type=4,n.value=n.value.replace(/^\\[CDATA\\[|\\]\\]$/g,\"\")):0===n.value.indexOf(\"mce:protected \")&&(n.name=\"#text\",n.type=3,n.raw=!0,n.value=unescape(n.value).substr(14))}),C.addNodeFilter(\"xml:namespace,input\",function(e,t){for(var n=e.length,r;n--;)r=e[n],7===r.type?r.remove():1===r.type&&(\"input\"!==t||\"type\"in r.attributes.map||r.attr(\"type\",\"text\"))}),C.addAttributeFilter(\"data-mce-src,data-mce-href,data-mce-style,data-mce-selected,data-mce-expando,data-mce-type,data-mce-resize\",function(e,t){for(var n=e.length;n--;)e[n].attr(t,null)}),{schema:b,addNodeFilter:C.addNodeFilter,addAttributeFilter:C.addAttributeFilter,serialize:function(t,n){var r=this,o,a,l,p,h,m;return s.ie&&y.select(\"script,style,select,map\").length>0?(h=t.innerHTML,t=t.cloneNode(!1),y.setHTML(t,h)):t=t.cloneNode(!0),o=document.implementation,o.createHTMLDocument&&(a=o.createHTMLDocument(\"\"),d(\"BODY\"==t.nodeName?t.childNodes:[t],function(e){a.body.appendChild(a.importNode(e,!0))}),t=\"BODY\"!=t.nodeName?a.body.firstChild:a.body,l=y.doc,y.doc=a),n=n||{},n.format=n.format||\"html\",n.selection&&(n.forced_root_block=\"\"),n.no_events||(n.node=t,r.onPreProcess(n)),m=C.parse(f(n.getInner?t.innerHTML:y.getOuterHTML(t)),n),c(m),p=new i(e,b),n.content=p.serialize(m),n.cleanup||(n.content=u.trim(n.content),n.content=n.content.replace(/\\uFEFF/g,\"\")),n.no_events||r.onPostProcess(n),l&&(y.doc=l),n.node=null,n.content},addRules:function(e){b.addValidElements(e)},setRules:function(e){b.setValidElements(e)},onPreProcess:function(e){o&&o.fire(\"PreProcess\",e)},onPostProcess:function(e){o&&o.fire(\"PostProcess\",e)},addTempAttr:v,trimHtml:h,getTrimmedContent:g,trimContent:m}}}),r(H,[],function(){function e(e){function t(t,n){var r,i=0,o,a,s,l,u,c,d=-1,f;if(r=t.duplicate(),r.collapse(n),f=r.parentElement(),f.ownerDocument===e.dom.doc){for(;\"false\"===f.contentEditable;)f=f.parentNode;if(!f.hasChildNodes())return{node:f,inside:1};for(s=f.children,o=s.length-1;i<=o;)if(c=Math.floor((i+o)/2),l=s[c],r.moveToElementText(l),d=r.compareEndPoints(n?\"StartToStart\":\"EndToEnd\",t),d>0)o=c-1;else{if(!(d<0))return{node:l};i=c+1}if(d<0)for(l?r.collapse(!1):(r.moveToElementText(f),r.collapse(!0),l=f,a=!0),u=0;0!==r.compareEndPoints(n?\"StartToStart\":\"StartToEnd\",t)&&0!==r.move(\"character\",1)&&f==r.parentElement();)u++;else for(r.collapse(!0),u=0;0!==r.compareEndPoints(n?\"StartToStart\":\"StartToEnd\",t)&&0!==r.move(\"character\",-1)&&f==r.parentElement();)u++;return{node:l,position:d,offset:u,inside:a}}}function n(){function n(e){var n=t(o,e),r,i,s=0,l,u,c;if(r=n.node,i=n.offset,n.inside&&!r.hasChildNodes())return void a[e?\"setStart\":\"setEnd\"](r,0);if(i===u)return void a[e?\"setStartBefore\":\"setEndAfter\"](r);if(n.position<0){if(l=n.inside?r.firstChild:r.nextSibling,!l)return void a[e?\"setStartAfter\":\"setEndAfter\"](r);if(!i)return void(3==l.nodeType?a[e?\"setStart\":\"setEnd\"](l,0):a[e?\"setStartBefore\":\"setEndBefore\"](l));for(;l;){if(3==l.nodeType&&(c=l.nodeValue,s+=c.length,s>=i)){r=l,s-=i,s=c.length-s;break}l=l.nextSibling}}else{if(l=r.previousSibling,!l)return a[e?\"setStartBefore\":\"setEndBefore\"](r);if(!i)return void(3==r.nodeType?a[e?\"setStart\":\"setEnd\"](l,r.nodeValue.length):a[e?\"setStartAfter\":\"setEndAfter\"](l));for(;l;){if(3==l.nodeType&&(s+=l.nodeValue.length,s>=i)){r=l,s-=i;break}l=l.previousSibling}}a[e?\"setStart\":\"setEnd\"](r,s)}var o=e.getRng(),a=i.createRng(),s,l,u,c,d;if(s=o.item?o.item(0):o.parentElement(),s.ownerDocument!=i.doc)return a;if(l=e.isCollapsed(),o.item)return a.setStart(s.parentNode,i.nodeIndex(s)),a.setEnd(a.startContainer,a.startOffset+1),a;try{n(!0),l||n()}catch(f){if(f.number!=-2147024809)throw f;d=r.getBookmark(2),u=o.duplicate(),u.collapse(!0),s=u.parentElement(),l||(u=o.duplicate(),u.collapse(!1),c=u.parentElement(),c.innerHTML=c.innerHTML),s.innerHTML=s.innerHTML,r.moveToBookmark(d),o=e.getRng(),n(!0),l||n()}return a}var r=this,i=e.dom,o=!1;this.getBookmark=function(n){function r(e){var t,n,r,o,a=[];for(t=e.parentNode,n=i.getRoot().parentNode;t!=n&&9!==t.nodeType;){for(r=t.children,o=r.length;o--;)if(e===r[o]){a.push(o);break}e=t,t=t.parentNode}return a}function o(e){var n;if(n=t(a,e))return{position:n.position,offset:n.offset,indexes:r(n.node),inside:n.inside}}var a=e.getRng(),s={};return 2===n&&(a.item?s.start={ctrl:!0,indexes:r(a.item(0))}:(s.start=o(!0),e.isCollapsed()||(s.end=o()))),s},this.moveToBookmark=function(e){function t(e){var t,n,r,o;for(t=i.getRoot(),n=e.length-1;n>=0;n--)o=t.children,r=e[n],r<=o.length-1&&(t=o[r]);return t}function n(n){var i=e[n?\"start\":\"end\"],a,s,l,u;i&&(a=i.position>0,s=o.createTextRange(),s.moveToElementText(t(i.indexes)),u=i.offset,u!==l?(s.collapse(i.inside||a),s.moveStart(\"character\",a?-u:u)):s.collapse(n),r.setEndPoint(n?\"StartToStart\":\"EndToStart\",s),n&&r.collapse(!0))}var r,o=i.doc.body;e.start&&(e.start.ctrl?(r=o.createControlRange(),r.addElement(t(e.start.indexes)),r.select()):(r=o.createTextRange(),n(!0),n(),r.select()))},this.addRange=function(t){function n(e){var t,n,a,d,h;a=i.create(\"a\"),t=e?s:u,n=e?l:c,d=r.duplicate(),t!=f&&t!=f.documentElement||(t=p,n=0),3==t.nodeType?(t.parentNode.insertBefore(a,t),d.moveToElementText(a),d.moveStart(\"character\",n),i.remove(a),r.setEndPoint(e?\"StartToStart\":\"EndToEnd\",d)):(h=t.childNodes,h.length?(n>=h.length?i.insertAfter(a,h[h.length-1]):t.insertBefore(a,h[n]),d.moveToElementText(a)):t.canHaveHTML&&(t.innerHTML=\"<span>&#xFEFF;</span>\",a=t.firstChild,d.moveToElementText(a),d.collapse(o)),r.setEndPoint(e?\"StartToStart\":\"EndToEnd\",d),i.remove(a))}var r,a,s,l,u,c,d,f=e.dom.doc,p=f.body,h,m;if(s=t.startContainer,l=t.startOffset,u=t.endContainer,c=t.endOffset,r=p.createTextRange(),s==u&&1==s.nodeType){if(l==c&&!s.hasChildNodes()){if(s.canHaveHTML)return d=s.previousSibling,d&&!d.hasChildNodes()&&i.isBlock(d)?d.innerHTML=\"&#xFEFF;\":d=null,s.innerHTML=\"<span>&#xFEFF;</span><span>&#xFEFF;</span>\",r.moveToElementText(s.lastChild),r.select(),i.doc.selection.clear(),s.innerHTML=\"\",void(d&&(d.innerHTML=\"\"));l=i.nodeIndex(s),s=s.parentNode}if(l==c-1)try{if(m=s.childNodes[l],a=p.createControlRange(),a.addElement(m),a.select(),h=e.getRng(),h.item&&m===h.item(0))return}catch(g){}}n(!0),n(),r.select()},this.getRangeAt=n}return e}),r(I,[d],function(e){return{BACKSPACE:8,DELETE:46,DOWN:40,ENTER:13,LEFT:37,RIGHT:39,SPACEBAR:32,TAB:9,UP:38,modifierPressed:function(e){return e.shiftKey||e.ctrlKey||e.altKey||this.metaKeyPressed(e)},metaKeyPressed:function(t){return e.mac?t.metaKey:t.ctrlKey&&!t.altKey}}}),r(F,[I,m,c,d,_],function(e,t,n,r,i){function o(e,t){for(;t&&t!=e;){if(s(t)||a(t))return t;t=t.parentNode}return null}var a=i.isContentEditableFalse,s=i.isContentEditableTrue;return function(i,s){function l(e){var t=s.settings.object_resizing;return t!==!1&&!r.iOS&&(\"string\"!=typeof t&&(t=\"table,img,div\"),\"false\"!==e.getAttribute(\"data-mce-resize\")&&(e!=s.getBody()&&s.dom.is(e,t)))}function u(t){var n,r,i,o,a;n=t.screenX-L,r=t.screenY-M,U=n*B[2]+H,W=r*B[3]+I,U=U<5?5:U,W=W<5?5:W,i=\"IMG\"==k.nodeName&&s.settings.resize_img_proportional!==!1?!e.modifierPressed(t):e.modifierPressed(t)||\"IMG\"==k.nodeName&&B[2]*B[3]!==0,i&&(j(n)>j(r)?(W=Y(U*F),U=Y(W/F)):(U=Y(W/F),W=Y(U*F))),_.setStyles(T,{width:U,height:W}),o=B.startPos.x+n,a=B.startPos.y+r,o=o>0?o:0,a=a>0?a:0,_.setStyles(R,{left:o,top:a,display:\"block\"}),R.innerHTML=U+\" &times; \"+W,B[2]<0&&T.clientWidth<=U&&_.setStyle(T,\"left\",P+(H-U)),B[3]<0&&T.clientHeight<=W&&_.setStyle(T,\"top\",O+(I-W)),n=X.scrollWidth-K,r=X.scrollHeight-G,n+r!==0&&_.setStyles(R,{left:o-n,top:a-r}),z||(s.fire(\"ObjectResizeStart\",{target:k,width:H,height:I}),z=!0)}function c(){function e(e,t){t&&(k.style[e]||!s.schema.isValid(k.nodeName.toLowerCase(),e)?_.setStyle(k,e,t):_.setAttrib(k,e,t))}z=!1,e(\"width\",U),e(\"height\",W),_.unbind(V,\"mousemove\",u),_.unbind(V,\"mouseup\",c),$!=V&&(_.unbind($,\"mousemove\",u),_.unbind($,\"mouseup\",c)),_.remove(T),_.remove(R),q&&\"TABLE\"!=k.nodeName||d(k),s.fire(\"ObjectResized\",{target:k,width:U,height:W}),_.setAttrib(k,\"style\",_.getAttrib(k,\"style\")),s.nodeChanged()}function d(e,t,n){var i,o,a,d,p;f(),x(),i=_.getPos(e,X),P=i.x,O=i.y,p=e.getBoundingClientRect(),o=p.width||p.right-p.left,a=p.height||p.bottom-p.top,k!=e&&(C(),k=e,U=W=0),d=s.fire(\"ObjectSelected\",{target:e}),l(e)&&!d.isDefaultPrevented()?S(A,function(e,i){function s(t){L=t.screenX,M=t.screenY,H=k.clientWidth,I=k.clientHeight,F=I/H,B=e,e.startPos={x:o*e[0]+P,y:a*e[1]+O},K=X.scrollWidth,G=X.scrollHeight,T=k.cloneNode(!0),_.addClass(T,\"mce-clonedresizable\"),_.setAttrib(T,\"data-mce-bogus\",\"all\"),T.contentEditable=!1,T.unSelectabe=!0,_.setStyles(T,{left:P,top:O,margin:0}),T.removeAttribute(\"data-mce-selected\"),X.appendChild(T),_.bind(V,\"mousemove\",u),_.bind(V,\"mouseup\",c),$!=V&&(_.bind($,\"mousemove\",u),_.bind($,\"mouseup\",c)),R=_.add(X,\"div\",{\"class\":\"mce-resize-helper\",\"data-mce-bogus\":\"all\"},H+\" &times; \"+I)}var l;return t?void(i==t&&s(n)):(l=_.get(\"mceResizeHandle\"+i),l&&_.remove(l),l=_.add(X,\"div\",{id:\"mceResizeHandle\"+i,\"data-mce-bogus\":\"all\",\"class\":\"mce-resizehandle\",unselectable:!0,style:\"cursor:\"+i+\"-resize; margin:0; padding:0\"}),r.ie&&(l.contentEditable=!1),_.bind(l,\"mousedown\",function(e){e.stopImmediatePropagation(),e.preventDefault(),s(e)}),e.elm=l,void _.setStyles(l,{left:o*e[0]+P-l.offsetWidth/2,top:a*e[1]+O-l.offsetHeight/2}))}):f(),k.setAttribute(\"data-mce-selected\",\"1\")}function f(){var e,t;x(),k&&k.removeAttribute(\"data-mce-selected\");for(e in A)t=_.get(\"mceResizeHandle\"+e),t&&(_.unbind(t),_.remove(t))}function p(e){function t(e,t){if(e)do if(e===t)return!0;while(e=e.parentNode)}var n,r;if(!z&&!s.removed)return S(_.select(\"img[data-mce-selected],hr[data-mce-selected]\"),function(e){e.removeAttribute(\"data-mce-selected\")}),r=\"mousedown\"==e.type?e.target:i.getNode(),r=_.$(r).closest(q?\"table\":\"table,img,hr\")[0],t(r,X)&&(w(),n=i.getStart(!0),t(n,r)&&t(i.getEnd(!0),r)&&(!q||r!=n&&\"IMG\"!==n.nodeName))?void d(r):void f()}function h(e,t,n){e&&e.attachEvent&&e.attachEvent(\"on\"+t,n)}function m(e,t,n){e&&e.detachEvent&&e.detachEvent(\"on\"+t,n)}function g(e){var t=e.srcElement,n,r,i,o,a,l,u;n=t.getBoundingClientRect(),l=D.clientX-n.left,u=D.clientY-n.top;for(r in A)if(i=A[r],o=t.offsetWidth*i[0],a=t.offsetHeight*i[1],j(o-l)<8&&j(a-u)<8){B=i;break}z=!0,s.fire(\"ObjectResizeStart\",{target:k,width:k.clientWidth,height:k.clientHeight}),s.getDoc().selection.empty(),d(t,r,D)}function v(e){e.preventDefault?e.preventDefault():e.returnValue=!1}function y(e){return a(o(s.getBody(),e))}function b(e){var t=e.srcElement;if(y(t))return void v(e);if(t!=k){if(s.fire(\"ObjectSelected\",{target:t}),C(),0===t.id.indexOf(\"mceResizeHandle\"))return void(e.returnValue=!1);\n\"IMG\"!=t.nodeName&&\"TABLE\"!=t.nodeName||(f(),k=t,h(t,\"resizestart\",g))}}function C(){m(k,\"resizestart\",g)}function x(){for(var e in A){var t=A[e];t.elm&&(_.unbind(t.elm),delete t.elm)}}function w(){try{s.getDoc().execCommand(\"enableObjectResizing\",!1,!1)}catch(e){}}function E(e){var t;if(q){t=V.body.createControlRange();try{return t.addElement(e),t.select(),!0}catch(n){}}}function N(){k=T=null,q&&(C(),m(X,\"controlselect\",b))}var _=s.dom,S=t.each,k,T,R,A,B,D,L,M,P,O,H,I,F,z,U,W,V=s.getDoc(),$=document,q=r.ie&&r.ie<11,j=Math.abs,Y=Math.round,X=s.getBody(),K,G;A={nw:[0,0,-1,-1],ne:[1,0,1,-1],se:[1,1,1,1],sw:[0,1,-1,1]};var J=\".mce-content-body\";return s.contentStyles.push(J+\" div.mce-resizehandle {position: absolute;border: 1px solid black;box-sizing: box-sizing;background: #FFF;width: 7px;height: 7px;z-index: 10000}\"+J+\" .mce-resizehandle:hover {background: #000}\"+J+\" img[data-mce-selected],\"+J+\" hr[data-mce-selected] {outline: 1px solid black;resize: none}\"+J+\" .mce-clonedresizable {position: absolute;\"+(r.gecko?\"\":\"outline: 1px dashed black;\")+\"opacity: .5;filter: alpha(opacity=50);z-index: 10000}\"+J+\" .mce-resize-helper {background: #555;background: rgba(0,0,0,0.75);border-radius: 3px;border: 1px;color: white;display: none;font-family: sans-serif;font-size: 12px;white-space: nowrap;line-height: 14px;margin: 5px 10px;padding: 5px;position: absolute;z-index: 10001}\"),s.on(\"init\",function(){q?(s.on(\"ObjectResized\",function(e){\"TABLE\"!=e.target.nodeName&&(f(),E(e.target))}),h(X,\"controlselect\",b),s.on(\"mousedown\",function(e){D=e})):(w(),r.ie>=11&&(s.on(\"mousedown click\",function(e){var t=e.target,n=t.nodeName;z||!/^(TABLE|IMG|HR)$/.test(n)||y(t)||(s.selection.select(t,\"TABLE\"==n),\"mousedown\"==e.type&&s.nodeChanged())}),s.dom.bind(X,\"mscontrolselect\",function(e){function t(e){n.setEditorTimeout(s,function(){s.selection.select(e)})}return y(e.target)?(e.preventDefault(),void t(e.target)):void(/^(TABLE|IMG|HR)$/.test(e.target.nodeName)&&(e.preventDefault(),\"IMG\"==e.target.tagName&&t(e.target)))})));var e=n.throttle(function(e){s.composing||p(e)});s.on(\"nodechange ResizeEditor ResizeWindow drop\",e),s.on(\"keyup compositionend\",function(t){k&&\"TABLE\"==k.nodeName&&e(t)}),s.on(\"hide blur\",f)}),s.on(\"remove\",x),{isResizable:l,showResizeRect:d,hideResizeRect:f,updateResizeRect:p,controlSelect:E,destroy:N}}}),r(z,[],function(){function e(e){return function(){return e}}function t(e){return function(t){return!e(t)}}function n(e,t){return function(n){return e(t(n))}}function r(){var e=s.call(arguments);return function(t){for(var n=0;n<e.length;n++)if(e[n](t))return!0;return!1}}function i(){var e=s.call(arguments);return function(t){for(var n=0;n<e.length;n++)if(!e[n](t))return!1;return!0}}function o(e){var t=s.call(arguments);return t.length-1>=e.length?e.apply(this,t.slice(1)):function(){var e=t.concat([].slice.call(arguments));return o.apply(this,e)}}function a(){}var s=[].slice;return{constant:e,negate:t,and:i,or:r,curry:o,compose:n,noop:a}}),r(U,[_,h,k],function(e,t,n){function r(e){return!m(e)&&(d(e)?!f(e.parentNode):p(e)||c(e)||h(e)||u(e))}function i(e,t){for(e=e.parentNode;e&&e!=t;e=e.parentNode){if(u(e))return!1;if(l(e))return!0}return!0}function o(e){return!!u(e)&&t.reduce(e.getElementsByTagName(\"*\"),function(e,t){return e||l(t)},!1)!==!0}function a(e){return p(e)||o(e)}function s(e,t){return r(e)&&i(e,t)}var l=e.isContentEditableTrue,u=e.isContentEditableFalse,c=e.isBr,d=e.isText,f=e.matchNodeNames(\"script style textarea\"),p=e.matchNodeNames(\"img input textarea hr iframe video audio object\"),h=e.matchNodeNames(\"table\"),m=n.isCaretContainer;return{isCaretCandidate:r,isInEditable:i,isAtomic:a,isEditableCaretCandidate:s}}),r(W,[],function(){function e(e){return e?{left:c(e.left),top:c(e.top),bottom:c(e.bottom),right:c(e.right),width:c(e.width),height:c(e.height)}:{left:0,top:0,bottom:0,right:0,width:0,height:0}}function t(t,n){return t=e(t),n?t.right=t.left:(t.left=t.left+t.width,t.right=t.left),t.width=0,t}function n(e,t){return e.left===t.left&&e.top===t.top&&e.bottom===t.bottom&&e.right===t.right}function r(e,t,n){return e>=0&&e<=Math.min(t.height,n.height)/2}function i(e,t){return e.bottom<t.top||!(e.top>t.bottom)&&r(t.top-e.bottom,e,t)}function o(e,t){return e.top>t.bottom||!(e.bottom<t.top)&&r(t.bottom-e.top,e,t)}function a(e,t){return e.left<t.left}function s(e,t){return e.right>t.right}function l(e,t){return i(e,t)?-1:o(e,t)?1:a(e,t)?-1:s(e,t)?1:0}function u(e,t,n){return t>=e.left&&t<=e.right&&n>=e.top&&n<=e.bottom}var c=Math.round;return{clone:e,collapse:t,isEqual:n,isAbove:i,isBelow:o,isLeft:a,isRight:s,compare:l,containsXY:u}}),r(V,[],function(){function e(e){return\"string\"==typeof e&&e.charCodeAt(0)>=768&&t.test(e)}var t=new RegExp(\"[\\u0300-\\u036f\\u0483-\\u0487\\u0488-\\u0489\\u0591-\\u05bd\\u05bf\\u05c1-\\u05c2\\u05c4-\\u05c5\\u05c7\\u0610-\\u061a\\u064b-\\u065f\\u0670\\u06d6-\\u06dc\\u06df-\\u06e4\\u06e7-\\u06e8\\u06ea-\\u06ed\\u0711\\u0730-\\u074a\\u07a6-\\u07b0\\u07eb-\\u07f3\\u0816-\\u0819\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0859-\\u085b\\u08e3-\\u0902\\u093a\\u093c\\u0941-\\u0948\\u094d\\u0951-\\u0957\\u0962-\\u0963\\u0981\\u09bc\\u09be\\u09c1-\\u09c4\\u09cd\\u09d7\\u09e2-\\u09e3\\u0a01-\\u0a02\\u0a3c\\u0a41-\\u0a42\\u0a47-\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a70-\\u0a71\\u0a75\\u0a81-\\u0a82\\u0abc\\u0ac1-\\u0ac5\\u0ac7-\\u0ac8\\u0acd\\u0ae2-\\u0ae3\\u0b01\\u0b3c\\u0b3e\\u0b3f\\u0b41-\\u0b44\\u0b4d\\u0b56\\u0b57\\u0b62-\\u0b63\\u0b82\\u0bbe\\u0bc0\\u0bcd\\u0bd7\\u0c00\\u0c3e-\\u0c40\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55-\\u0c56\\u0c62-\\u0c63\\u0c81\\u0cbc\\u0cbf\\u0cc2\\u0cc6\\u0ccc-\\u0ccd\\u0cd5-\\u0cd6\\u0ce2-\\u0ce3\\u0d01\\u0d3e\\u0d41-\\u0d44\\u0d4d\\u0d57\\u0d62-\\u0d63\\u0dca\\u0dcf\\u0dd2-\\u0dd4\\u0dd6\\u0ddf\\u0e31\\u0e34-\\u0e3a\\u0e47-\\u0e4e\\u0eb1\\u0eb4-\\u0eb9\\u0ebb-\\u0ebc\\u0ec8-\\u0ecd\\u0f18-\\u0f19\\u0f35\\u0f37\\u0f39\\u0f71-\\u0f7e\\u0f80-\\u0f84\\u0f86-\\u0f87\\u0f8d-\\u0f97\\u0f99-\\u0fbc\\u0fc6\\u102d-\\u1030\\u1032-\\u1037\\u1039-\\u103a\\u103d-\\u103e\\u1058-\\u1059\\u105e-\\u1060\\u1071-\\u1074\\u1082\\u1085-\\u1086\\u108d\\u109d\\u135d-\\u135f\\u1712-\\u1714\\u1732-\\u1734\\u1752-\\u1753\\u1772-\\u1773\\u17b4-\\u17b5\\u17b7-\\u17bd\\u17c6\\u17c9-\\u17d3\\u17dd\\u180b-\\u180d\\u18a9\\u1920-\\u1922\\u1927-\\u1928\\u1932\\u1939-\\u193b\\u1a17-\\u1a18\\u1a1b\\u1a56\\u1a58-\\u1a5e\\u1a60\\u1a62\\u1a65-\\u1a6c\\u1a73-\\u1a7c\\u1a7f\\u1ab0-\\u1abd\\u1abe\\u1b00-\\u1b03\\u1b34\\u1b36-\\u1b3a\\u1b3c\\u1b42\\u1b6b-\\u1b73\\u1b80-\\u1b81\\u1ba2-\\u1ba5\\u1ba8-\\u1ba9\\u1bab-\\u1bad\\u1be6\\u1be8-\\u1be9\\u1bed\\u1bef-\\u1bf1\\u1c2c-\\u1c33\\u1c36-\\u1c37\\u1cd0-\\u1cd2\\u1cd4-\\u1ce0\\u1ce2-\\u1ce8\\u1ced\\u1cf4\\u1cf8-\\u1cf9\\u1dc0-\\u1df5\\u1dfc-\\u1dff\\u200c-\\u200d\\u20d0-\\u20dc\\u20dd-\\u20e0\\u20e1\\u20e2-\\u20e4\\u20e5-\\u20f0\\u2cef-\\u2cf1\\u2d7f\\u2de0-\\u2dff\\u302a-\\u302d\\u302e-\\u302f\\u3099-\\u309a\\ua66f\\ua670-\\ua672\\ua674-\\ua67d\\ua69e-\\ua69f\\ua6f0-\\ua6f1\\ua802\\ua806\\ua80b\\ua825-\\ua826\\ua8c4\\ua8e0-\\ua8f1\\ua926-\\ua92d\\ua947-\\ua951\\ua980-\\ua982\\ua9b3\\ua9b6-\\ua9b9\\ua9bc\\ua9e5\\uaa29-\\uaa2e\\uaa31-\\uaa32\\uaa35-\\uaa36\\uaa43\\uaa4c\\uaa7c\\uaab0\\uaab2-\\uaab4\\uaab7-\\uaab8\\uaabe-\\uaabf\\uaac1\\uaaec-\\uaaed\\uaaf6\\uabe5\\uabe8\\uabed\\ufb1e\\ufe00-\\ufe0f\\ufe20-\\ufe2f\\uff9e-\\uff9f]\");return{isExtendingChar:e}}),r($,[z,_,w,T,U,W,V],function(e,t,n,r,i,o,a){function s(e){return\"createRange\"in e?e.createRange():n.DOM.createRng()}function l(e){return e&&/[\\r\\n\\t ]/.test(e)}function u(e){var t=e.startContainer,n=e.startOffset,r;return!!(l(e.toString())&&v(t.parentNode)&&(r=t.data,l(r[n-1])||l(r[n+1])))}function c(e){function t(e){var t=e.ownerDocument,n=s(t),r=t.createTextNode(\"\\xa0\"),i=e.parentNode,a;return i.insertBefore(r,e),n.setStart(r,0),n.setEnd(r,1),a=o.clone(n.getBoundingClientRect()),i.removeChild(r),a}function n(e){var n,r;return r=e.getClientRects(),n=r.length>0?o.clone(r[0]):o.clone(e.getBoundingClientRect()),b(e)&&0===n.left?t(e):n}function r(e,t){return e=o.collapse(e,t),e.width=1,e.right=e.left+1,e}function i(e){0!==e.height&&(c.length>0&&o.isEqual(e,c[c.length-1])||c.push(e))}function l(e,t){var o=s(e.ownerDocument);if(t<e.data.length){if(a.isExtendingChar(e.data[t]))return c;if(a.isExtendingChar(e.data[t-1])&&(o.setStart(e,t),o.setEnd(e,t+1),!u(o)))return i(r(n(o),!1)),c}t>0&&(o.setStart(e,t-1),o.setEnd(e,t),u(o)||i(r(n(o),!1))),t<e.data.length&&(o.setStart(e,t),o.setEnd(e,t+1),u(o)||i(r(n(o),!0)))}var c=[],d,p;if(y(e.container()))return l(e.container(),e.offset()),c;if(f(e.container()))if(e.isAtEnd())p=x(e.container(),e.offset()),y(p)&&l(p,p.data.length),g(p)&&!b(p)&&i(r(n(p),!1));else{if(p=x(e.container(),e.offset()),y(p)&&l(p,0),g(p)&&e.isAtEnd())return i(r(n(p),!1)),c;d=x(e.container(),e.offset()-1),g(d)&&!b(d)&&(h(d)||h(p)||!g(p))&&i(r(n(d),!1)),g(p)&&i(r(n(p),!0))}return c}function d(t,n,r){function i(){return y(t)?0===n:0===n}function o(){return y(t)?n>=t.data.length:n>=t.childNodes.length}function a(){var e;return e=s(t.ownerDocument),e.setStart(t,n),e.setEnd(t,n),e}function l(){return r||(r=c(new d(t,n))),r}function u(){return l().length>0}function f(e){return e&&t===e.container()&&n===e.offset()}function p(e){return x(t,e?n-1:n)}return{container:e.constant(t),offset:e.constant(n),toRange:a,getClientRects:l,isVisible:u,isAtStart:i,isAtEnd:o,isEqual:f,getNode:p}}var f=t.isElement,p=i.isCaretCandidate,h=t.matchStyleValues(\"display\",\"block table\"),m=t.matchStyleValues(\"float\",\"left right\"),g=e.and(f,p,e.negate(m)),v=e.negate(t.matchStyleValues(\"white-space\",\"pre pre-line pre-wrap\")),y=t.isText,b=t.isBr,C=n.nodeIndex,x=r.getNode;return d.fromRangeStart=function(e){return new d(e.startContainer,e.startOffset)},d.fromRangeEnd=function(e){return new d(e.endContainer,e.endOffset)},d.after=function(e){return new d(e.parentNode,C(e)+1)},d.before=function(e){return new d(e.parentNode,C(e))},d}),r(q,[_,w,z,h,$],function(e,t,n,r,i){function o(e){var t=e.parentNode;return v(t)?o(t):t}function a(e){return e?r.reduce(e.childNodes,function(e,t){return v(t)&&\"BR\"!=t.nodeName?e=e.concat(a(t)):e.push(t),e},[]):[]}function s(e,t){for(;(e=e.previousSibling)&&g(e);)t+=e.data.length;return t}function l(e){return function(t){return e===t}}function u(t){var n,i,s;return n=a(o(t)),i=r.findIndex(n,l(t),t),n=n.slice(0,i+1),s=r.reduce(n,function(e,t,r){return g(t)&&g(n[r-1])&&e++,e},0),n=r.filter(n,e.matchNodeNames(t.nodeName)),i=r.findIndex(n,l(t),t),i-s}function c(e){var t;return t=g(e)?\"text()\":e.nodeName.toLowerCase(),t+\"[\"+u(e)+\"]\"}function d(e,t,n){var r=[];for(t=t.parentNode;t!=e&&(!n||!n(t));t=t.parentNode)r.push(t);return r}function f(t,i){var o,a,l=[],u,f,p;return o=i.container(),a=i.offset(),g(o)?u=s(o,a):(f=o.childNodes,a>=f.length?(u=\"after\",a=f.length-1):u=\"before\",o=f[a]),l.push(c(o)),p=d(t,o),p=r.filter(p,n.negate(e.isBogus)),l=l.concat(r.map(p,function(e){return c(e)})),l.reverse().join(\"/\")+\",\"+u}function p(t,n,i){var o=a(t);return o=r.filter(o,function(e,t){return!g(e)||!g(o[t-1])}),o=r.filter(o,e.matchNodeNames(n)),o[i]}function h(e,t){for(var n=e,r=0,o;g(n);){if(o=n.data.length,t>=r&&t<=r+o){e=n,t-=r;break}if(!g(n.nextSibling)){e=n,t=o;break}r+=o,n=n.nextSibling}return t>e.data.length&&(t=e.data.length),new i(e,t)}function m(e,t){var n,o,a;return t?(n=t.split(\",\"),t=n[0].split(\"/\"),a=n.length>1?n[1]:\"before\",o=r.reduce(t,function(e,t){return(t=/([\\w\\-\\(\\)]+)\\[([0-9]+)\\]/.exec(t))?(\"text()\"===t[1]&&(t[1]=\"#text\"),p(e,t[1],parseInt(t[2],10))):null},e),o?g(o)?h(o,parseInt(a,10)):(a=\"after\"===a?y(o)+1:y(o),new i(o.parentNode,a)):null):null}var g=e.isText,v=e.isBogus,y=t.nodeIndex;return{create:f,resolve:m}}),r(j,[d,m,k,q,$,_,T],function(e,t,n,r,i,o,a){function s(s){var u=s.dom;this.getBookmark=function(e,c){function d(e,n){var r=0;return t.each(u.select(e),function(e){if(\"all\"!==e.getAttribute(\"data-mce-bogus\"))return e!=n&&void r++}),r}function f(e){function t(t){var n,r,i,o=t?\"start\":\"end\";n=e[o+\"Container\"],r=e[o+\"Offset\"],1==n.nodeType&&\"TR\"==n.nodeName&&(i=n.childNodes,n=i[Math.min(t?r:r-1,i.length-1)],n&&(r=t?0:n.childNodes.length,e[\"set\"+(t?\"Start\":\"End\")](n,r)))}return t(!0),t(),e}function p(e){function t(e,t){var r=e[t?\"startContainer\":\"endContainer\"],i=e[t?\"startOffset\":\"endOffset\"],o=[],a,s,l=0;if(3==r.nodeType){if(c)for(a=r.previousSibling;a&&3==a.nodeType;a=a.previousSibling)i+=a.nodeValue.length;o.push(i)}else s=r.childNodes,i>=s.length&&s.length&&(l=1,i=Math.max(0,s.length-1)),o.push(u.nodeIndex(s[i],c)+l);for(;r&&r!=n;r=r.parentNode)o.push(u.nodeIndex(r,c));return o}var n=u.getRoot(),r={};return r.start=t(e,!0),s.isCollapsed()||(r.end=t(e)),r}function h(e){function t(e,t){var r;if(o.isElement(e)&&(e=a.getNode(e,t),l(e)))return e;if(n.isCaretContainer(e)){if(o.isText(e)&&n.isCaretContainerBlock(e)&&(e=e.parentNode),r=e.previousSibling,l(r))return r;if(r=e.nextSibling,l(r))return r}}return t(e.startContainer,e.startOffset)||t(e.endContainer,e.endOffset)}var m,g,v,y,b,C,x=\"&#xFEFF;\",w;if(2==e)return C=s.getNode(),b=C?C.nodeName:null,m=s.getRng(),l(C)||\"IMG\"==b?{name:b,index:d(b,C)}:s.tridentSel?s.tridentSel.getBookmark(e):(C=h(m),C?(b=C.tagName,{name:b,index:d(b,C)}):p(m));if(3==e)return m=s.getRng(),{start:r.create(u.getRoot(),i.fromRangeStart(m)),end:r.create(u.getRoot(),i.fromRangeEnd(m))};if(e)return{rng:s.getRng()};if(m=s.getRng(),v=u.uniqueId(),y=s.isCollapsed(),w=\"overflow:hidden;line-height:0px\",m.duplicate||m.item){if(m.item)return C=m.item(0),b=C.nodeName,{name:b,index:d(b,C)};g=m.duplicate();try{m.collapse(),m.pasteHTML('<span data-mce-type=\"bookmark\" id=\"'+v+'_start\" style=\"'+w+'\">'+x+\"</span>\"),y||(g.collapse(!1),m.moveToElementText(g.parentElement()),0===m.compareEndPoints(\"StartToEnd\",g)&&g.move(\"character\",-1),g.pasteHTML('<span data-mce-type=\"bookmark\" id=\"'+v+'_end\" style=\"'+w+'\">'+x+\"</span>\"))}catch(E){return null}}else{if(C=s.getNode(),b=C.nodeName,\"IMG\"==b)return{name:b,index:d(b,C)};g=f(m.cloneRange()),y||(g.collapse(!1),g.insertNode(u.create(\"span\",{\"data-mce-type\":\"bookmark\",id:v+\"_end\",style:w},x))),m=f(m),m.collapse(!0),m.insertNode(u.create(\"span\",{\"data-mce-type\":\"bookmark\",id:v+\"_start\",style:w},x))}return s.moveToBookmark({id:v,keep:1}),{id:v}},this.moveToBookmark=function(n){function i(e){var t=n[e?\"start\":\"end\"],r,i,o,a;if(t){for(o=t[0],i=d,r=t.length-1;r>=1;r--){if(a=i.childNodes,t[r]>a.length-1)return;i=a[t[r]]}3===i.nodeType&&(o=Math.min(t[0],i.nodeValue.length)),1===i.nodeType&&(o=Math.min(t[0],i.childNodes.length)),e?c.setStart(i,o):c.setEnd(i,o)}return!0}function o(r){var i=u.get(n.id+\"_\"+r),o,a,s,l,c=n.keep;if(i&&(o=i.parentNode,\"start\"==r?(c?(o=i.firstChild,a=1):a=u.nodeIndex(i),f=p=o,h=m=a):(c?(o=i.firstChild,a=1):a=u.nodeIndex(i),p=o,m=a),!c)){for(l=i.previousSibling,s=i.nextSibling,t.each(t.grep(i.childNodes),function(e){3==e.nodeType&&(e.nodeValue=e.nodeValue.replace(/\\uFEFF/g,\"\"))});i=u.get(n.id+\"_\"+r);)u.remove(i,1);l&&s&&l.nodeType==s.nodeType&&3==l.nodeType&&!e.opera&&(a=l.nodeValue.length,l.appendData(s.nodeValue),u.remove(s),\"start\"==r?(f=p=l,h=m=a):(p=l,m=a))}}function a(t){return!u.isBlock(t)||t.innerHTML||e.ie||(t.innerHTML='<br data-mce-bogus=\"1\" />'),t}function l(){var e,t;return e=u.createRng(),t=r.resolve(u.getRoot(),n.start),e.setStart(t.container(),t.offset()),t=r.resolve(u.getRoot(),n.end),e.setEnd(t.container(),t.offset()),e}var c,d,f,p,h,m;if(n)if(t.isArray(n.start)){if(c=u.createRng(),d=u.getRoot(),s.tridentSel)return s.tridentSel.moveToBookmark(n);i(!0)&&i()&&s.setRng(c)}else\"string\"==typeof n.start?s.setRng(l(n)):n.id?(o(\"start\"),o(\"end\"),f&&(c=u.createRng(),c.setStart(a(f),h),c.setEnd(a(p),m),s.setRng(c))):n.name?s.select(u.select(n.name)[n.index]):n.rng&&s.setRng(n.rng)}}var l=o.isContentEditableFalse;return s.isBookmarkNode=function(e){return e&&\"SPAN\"===e.tagName&&\"bookmark\"===e.getAttribute(\"data-mce-type\")},s}),r(Y,[y,H,F,T,j,_,d,m,$],function(e,n,r,i,o,a,s,l,u){function c(e,t,i,a){var s=this;s.dom=e,s.win=t,s.serializer=i,s.editor=a,s.bookmarkManager=new o(s),s.controlSelection=new r(s,a),s.win.getSelection||(s.tridentSel=new n(s))}var d=l.each,f=l.trim,p=s.ie;return c.prototype={setCursorLocation:function(e,t){var n=this,r=n.dom.createRng();e?(r.setStart(e,t),r.setEnd(e,t),n.setRng(r),n.collapse(!1)):(n._moveEndPoint(r,n.editor.getBody(),!0),n.setRng(r))},getContent:function(e){var n=this,r=n.getRng(),i=n.dom.create(\"body\"),o=n.getSel(),a,s,l;return e=e||{},a=s=\"\",e.get=!0,e.format=e.format||\"html\",e.selection=!0,n.editor.fire(\"BeforeGetContent\",e),\"text\"==e.format?n.isCollapsed()?\"\":r.text||(o.toString?o.toString():\"\"):(r.cloneContents?(l=r.cloneContents(),l&&i.appendChild(l)):r.item!==t||r.htmlText!==t?(i.innerHTML=\"<br>\"+(r.item?r.item(0).outerHTML:r.htmlText),i.removeChild(i.firstChild)):i.innerHTML=r.toString(),/^\\s/.test(i.innerHTML)&&(a=\" \"),/\\s+$/.test(i.innerHTML)&&(s=\" \"),e.getInner=!0,e.content=n.isCollapsed()?\"\":a+n.serializer.serialize(i,e)+s,n.editor.fire(\"GetContent\",e),e.content)},setContent:function(e,t){var n=this,r=n.getRng(),i,o=n.win.document,a,s;if(t=t||{format:\"html\"},t.set=!0,t.selection=!0,t.content=e,t.no_events||n.editor.fire(\"BeforeSetContent\",t),e=t.content,r.insertNode){e+='<span id=\"__caret\">_</span>',r.startContainer==o&&r.endContainer==o?o.body.innerHTML=e:(r.deleteContents(),0===o.body.childNodes.length?o.body.innerHTML=e:r.createContextualFragment?r.insertNode(r.createContextualFragment(e)):(a=o.createDocumentFragment(),s=o.createElement(\"div\"),a.appendChild(s),s.outerHTML=e,r.insertNode(a))),i=n.dom.get(\"__caret\"),r=o.createRange(),r.setStartBefore(i),r.setEndBefore(i),n.setRng(r),n.dom.remove(\"__caret\");try{n.setRng(r)}catch(l){}}else r.item&&(o.execCommand(\"Delete\",!1,null),r=n.getRng()),/^\\s+/.test(e)?(r.pasteHTML('<span id=\"__mce_tmp\">_</span>'+e),n.dom.remove(\"__mce_tmp\")):r.pasteHTML(e);t.no_events||n.editor.fire(\"SetContent\",t)},getStart:function(e){var t=this,n=t.getRng(),r,i,o,a;if(n.duplicate||n.item){if(n.item)return n.item(0);for(o=n.duplicate(),o.collapse(1),r=o.parentElement(),r.ownerDocument!==t.dom.doc&&(r=t.dom.getRoot()),i=a=n.parentElement();a=a.parentNode;)if(a==r){r=i;break}return r}return r=n.startContainer,1==r.nodeType&&r.hasChildNodes()&&(e&&n.collapsed||(r=r.childNodes[Math.min(r.childNodes.length-1,n.startOffset)])),r&&3==r.nodeType?r.parentNode:r},getEnd:function(e){var t=this,n=t.getRng(),r,i;return n.duplicate||n.item?n.item?n.item(0):(n=n.duplicate(),n.collapse(0),r=n.parentElement(),r.ownerDocument!==t.dom.doc&&(r=t.dom.getRoot()),r&&\"BODY\"==r.nodeName?r.lastChild||r:r):(r=n.endContainer,i=n.endOffset,1==r.nodeType&&r.hasChildNodes()&&(e&&n.collapsed||(r=r.childNodes[i>0?i-1:i])),r&&3==r.nodeType?r.parentNode:r)},getBookmark:function(e,t){return this.bookmarkManager.getBookmark(e,t)},moveToBookmark:function(e){return this.bookmarkManager.moveToBookmark(e)},select:function(e,t){var n=this,r=n.dom,i=r.createRng(),o;if(n.lastFocusBookmark=null,e){if(!t&&n.controlSelection.controlSelect(e))return;o=r.nodeIndex(e),i.setStart(e.parentNode,o),i.setEnd(e.parentNode,o+1),t&&(n._moveEndPoint(i,e,!0),n._moveEndPoint(i,e)),n.setRng(i)}return e},isCollapsed:function(){var e=this,t=e.getRng(),n=e.getSel();return!(!t||t.item)&&(t.compareEndPoints?0===t.compareEndPoints(\"StartToEnd\",t):!n||t.collapsed)},collapse:function(e){var t=this,n=t.getRng(),r;n.item&&(r=n.item(0),n=t.win.document.body.createTextRange(),n.moveToElementText(r)),n.collapse(!!e),t.setRng(n)},getSel:function(){var e=this.win;return e.getSelection?e.getSelection():e.document.selection},getRng:function(e){function t(e,t,n){try{return t.compareBoundaryPoints(e,n)}catch(r){return-1}}var n=this,r,i,o,a,s,l;if(!n.win)return null;if(a=n.win.document,\"undefined\"==typeof a||null===a)return null;if(!e&&n.lastFocusBookmark){var u=n.lastFocusBookmark;return u.startContainer?(i=a.createRange(),i.setStart(u.startContainer,u.startOffset),i.setEnd(u.endContainer,u.endOffset)):i=u,i}if(e&&n.tridentSel)return n.tridentSel.getRangeAt(0);try{(r=n.getSel())&&(i=r.rangeCount>0?r.getRangeAt(0):r.createRange?r.createRange():a.createRange())}catch(c){}if(l=n.editor.fire(\"GetSelectionRange\",{range:i}),l.range!==i)return l.range;if(p&&i&&i.setStart&&a.selection){try{s=a.selection.createRange()}catch(c){}s&&s.item&&(o=s.item(0),i=a.createRange(),i.setStartBefore(o),i.setEndAfter(o))}return i||(i=a.createRange?a.createRange():a.body.createTextRange()),i.setStart&&9===i.startContainer.nodeType&&i.collapsed&&(o=n.dom.getRoot(),i.setStart(o,0),i.setEnd(o,0)),n.selectedRange&&n.explicitRange&&(0===t(i.START_TO_START,i,n.selectedRange)&&0===t(i.END_TO_END,i,n.selectedRange)?i=n.explicitRange:(n.selectedRange=null,n.explicitRange=null)),i},setRng:function(e,t){var n=this,r,i,o;if(e)if(e.select){n.explicitRange=null;try{e.select()}catch(a){}}else if(n.tridentSel){if(e.cloneRange)try{n.tridentSel.addRange(e)}catch(a){}}else{if(r=n.getSel(),o=n.editor.fire(\"SetSelectionRange\",{range:e}),e=o.range,r){n.explicitRange=e;try{r.removeAllRanges(),r.addRange(e)}catch(a){}t===!1&&r.extend&&(r.collapse(e.endContainer,e.endOffset),r.extend(e.startContainer,e.startOffset)),n.selectedRange=r.rangeCount>0?r.getRangeAt(0):null}e.collapsed||e.startContainer!=e.endContainer||!r.setBaseAndExtent||s.ie||e.endOffset-e.startOffset<2&&e.startContainer.hasChildNodes()&&(i=e.startContainer.childNodes[e.startOffset],i&&\"IMG\"==i.tagName&&(r.setBaseAndExtent(e.startContainer,e.startOffset,e.endContainer,e.endOffset),r.anchorNode===e.startContainer&&r.focusNode===e.endContainer||r.setBaseAndExtent(i,0,i,1))),n.editor.fire(\"AfterSetSelectionRange\",{range:e})}},setNode:function(e){var t=this;return t.setContent(t.dom.getOuterHTML(e)),e},getNode:function(){function e(e,t){for(var n=e;e&&3===e.nodeType&&0===e.length;)e=t?e.nextSibling:e.previousSibling;return e||n}var t=this,n=t.getRng(),r,i,o,a,s,l=t.dom.getRoot();return n?(i=n.startContainer,o=n.endContainer,a=n.startOffset,s=n.endOffset,n.setStart?(r=n.commonAncestorContainer,!n.collapsed&&(i==o&&s-a<2&&i.hasChildNodes()&&(r=i.childNodes[a]),3===i.nodeType&&3===o.nodeType&&(i=i.length===a?e(i.nextSibling,!0):i.parentNode,o=0===s?e(o.previousSibling,!1):o.parentNode,i&&i===o))?i:r&&3==r.nodeType?r.parentNode:r):(r=n.item?n.item(0):n.parentElement(),r.ownerDocument!==t.win.document&&(r=l),r)):l},getSelectedBlocks:function(t,n){var r=this,i=r.dom,o,a,s=[];if(a=i.getRoot(),t=i.getParent(t||r.getStart(),i.isBlock),n=i.getParent(n||r.getEnd(),i.isBlock),t&&t!=a&&s.push(t),t&&n&&t!=n){o=t;for(var l=new e(t,a);(o=l.next())&&o!=n;)i.isBlock(o)&&s.push(o)}return n&&t!=n&&n!=a&&s.push(n),s},isForward:function(){var e=this.dom,t=this.getSel(),n,r;return!(t&&t.anchorNode&&t.focusNode)||(n=e.createRng(),n.setStart(t.anchorNode,t.anchorOffset),n.collapse(!0),r=e.createRng(),r.setStart(t.focusNode,t.focusOffset),r.collapse(!0),n.compareBoundaryPoints(n.START_TO_START,r)<=0)},normalize:function(){var e=this,t=e.getRng();return s.range&&new i(e.dom).normalize(t)&&e.setRng(t,e.isForward()),t},selectorChanged:function(e,t){var n=this,r;return n.selectorChangedData||(n.selectorChangedData={},r={},n.editor.on(\"NodeChange\",function(e){var t=e.element,i=n.dom,o=i.getParents(t,null,i.getRoot()),a={};d(n.selectorChangedData,function(e,t){d(o,function(n){if(i.is(n,t))return r[t]||(d(e,function(e){e(!0,{node:n,selector:t,parents:o})}),r[t]=e),a[t]=e,!1})}),d(r,function(e,n){a[n]||(delete r[n],d(e,function(e){e(!1,{node:t,selector:n,parents:o})}))})})),n.selectorChangedData[e]||(n.selectorChangedData[e]=[]),n.selectorChangedData[e].push(t),n},getScrollContainer:function(){for(var e,t=this.dom.getRoot();t&&\"BODY\"!=t.nodeName;){if(t.scrollHeight>t.clientHeight){e=t;break}t=t.parentNode}return e},scrollIntoView:function(e,t){function n(e){for(var t=0,n=0,r=e;r&&r.nodeType;)t+=r.offsetLeft||0,n+=r.offsetTop||0,r=r.offsetParent;return{x:t,y:n}}var r,i,o=this,s=o.dom,l=s.getRoot(),u,c,d=0;if(a.isElement(e)){if(t===!1&&(d=e.offsetHeight),\"BODY\"!=l.nodeName){var f=o.getScrollContainer();if(f)return r=n(e).y-n(f).y+d,c=f.clientHeight,u=f.scrollTop,void((r<u||r+25>u+c)&&(f.scrollTop=r<u?r:r-c+25))}i=s.getViewPort(o.editor.getWin()),r=s.getPos(e).y+d,u=i.y,c=i.h,(r<i.y||r+25>u+c)&&o.editor.getWin().scrollTo(0,r<u?r:r-c+25)}},placeCaretAt:function(e,t){this.setRng(i.getCaretRangeFromPoint(e,t,this.editor.getDoc()))},_moveEndPoint:function(t,n,r){var i=n,o=new e(n,i),a=this.dom.schema.getNonEmptyElements();do{if(3==n.nodeType&&0!==f(n.nodeValue).length)return void(r?t.setStart(n,0):t.setEnd(n,n.nodeValue.length));if(a[n.nodeName]&&!/^(TD|TH)$/.test(n.nodeName))return void(r?t.setStartBefore(n):\"BR\"==n.nodeName?t.setEndBefore(n):t.setEndAfter(n));if(s.ie&&s.ie<11&&this.dom.isBlock(n)&&this.dom.isEmpty(n))return void(r?t.setStart(n,0):t.setEnd(n,0))}while(n=r?o.next():o.prev());\"BODY\"==i.nodeName&&(r?t.setStart(i,0):t.setEnd(i,i.childNodes.length))},getBoundingClientRect:function(){var e=this.getRng();return e.collapsed?u.fromRangeStart(e).getClientRects()[0]:e.getBoundingClientRect()},destroy:function(){this.win=null,this.controlSelection.destroy()}},c}),r(X,[j,m],function(e,t){function n(t){this.compare=function(n,i){function o(e){var n={};return r(t.getAttribs(e),function(r){var i=r.nodeName.toLowerCase();0!==i.indexOf(\"_\")&&\"style\"!==i&&0!==i.indexOf(\"data-\")&&(n[i]=t.getAttrib(e,i))}),n}function a(e,t){var n,r;for(r in e)if(e.hasOwnProperty(r)){if(n=t[r],\"undefined\"==typeof n)return!1;if(e[r]!=n)return!1;delete t[r]}for(r in t)if(t.hasOwnProperty(r))return!1;return!0}return n.nodeName==i.nodeName&&(!!a(o(n),o(i))&&(!!a(t.parseStyle(t.getAttrib(n,\"style\")),t.parseStyle(t.getAttrib(i,\"style\")))&&(!e.isBookmarkNode(n)&&!e.isBookmarkNode(i))))}}var r=t.each;return n}),r(K,[w,m,B],function(e,t,n){function r(e,r){function i(e,t){t.classes.length&&u.addClass(e,t.classes.join(\" \")),u.setAttribs(e,t.attrs)}function o(e){var t;return c=\"string\"==typeof e?{name:e,classes:[],attrs:{}}:e,t=u.create(c.name),i(t,c),t}function a(e,n){var r=\"string\"!=typeof e?e.nodeName.toLowerCase():e,i=f.getElementRule(r),o=i.parentsRequired;return!(!o||!o.length)&&(n&&t.inArray(o,n)!==-1?n:o[0])}function s(e,n,r){var i,l,c,d=n.length&&n[0],f=d&&d.name;if(c=a(e,f))f==c?(l=n[0],n=n.slice(1)):l=c;else if(d)l=n[0],n=n.slice(1);else if(!r)return e;return l&&(i=o(l),i.appendChild(e)),r&&(i||(i=u.create(\"div\"),i.appendChild(e)),t.each(r,function(t){var n=o(t);i.insertBefore(n,e)})),s(i,n,l&&l.siblings)}var l,c,d,f=r&&r.schema||new n({});return e&&e.length?(c=e[0],l=o(c),d=u.create(\"div\"),d.appendChild(s(l,e.slice(1),c.siblings)),d):\"\"}function i(e,t){return r(a(e),t)}function o(e){var n,r={classes:[],attrs:{}};return e=r.selector=t.trim(e),\"*\"!==e&&(n=e.replace(/(?:([#\\.]|::?)([\\w\\-]+)|(\\[)([^\\]]+)\\]?)/g,function(e,n,i,o,a){switch(n){case\"#\":r.attrs.id=i;break;case\".\":r.classes.push(i);break;case\":\":t.inArray(\"checked disabled enabled read-only required\".split(\" \"),i)!==-1&&(r.attrs[i]=i)}if(\"[\"==o){var s=a.match(/([\\w\\-]+)(?:\\=\\\"([^\\\"]+))?/);s&&(r.attrs[s[1]]=s[2])}return\"\"})),r.name=n||\"div\",r}function a(e){return e&&\"string\"==typeof e?(e=e.split(/\\s*,\\s*/)[0],e=e.replace(/\\s*(~\\+|~|\\+|>)\\s*/g,\"$1\"),t.map(e.split(/(?:>|\\s+(?![^\\[\\]]+\\]))/),function(e){var n=t.map(e.split(/(?:~\\+|~|\\+)/),o),r=n.pop();return n.length&&(r.siblings=n),r}).reverse()):[]}function s(e,t){function n(e){return e.replace(/%(\\w+)/g,\"\")}var i,o,s,c,d=\"\",f,p;if(p=e.settings.preview_styles,p===!1)return\"\";if(\"string\"!=typeof p&&(p=\"font-family font-size font-weight font-style text-decoration text-transform color background-color border border-radius outline text-shadow\"),\"string\"==typeof t){if(t=e.formatter.get(t),!t)return;t=t[0]}return\"preview\"in t&&(p=t.preview,p===!1)?\"\":(i=t.block||t.inline||\"span\",c=a(t.selector),c.length?(c[0].name||(c[0].name=i),i=t.selector,o=r(c,e)):o=r([i],e),s=u.select(i,o)[0]||o.firstChild,l(t.styles,function(e,t){e=n(e),e&&u.setStyle(s,t,e)}),l(t.attributes,function(e,t){e=n(e),e&&u.setAttrib(s,t,e)}),l(t.classes,function(e){e=n(e),u.hasClass(s,e)||u.addClass(s,e)}),e.fire(\"PreviewFormats\"),u.setStyles(o,{position:\"absolute\",left:-65535}),e.getBody().appendChild(o),f=u.getStyle(e.getBody(),\"fontSize\",!0),f=/px$/.test(f)?parseInt(f,10):0,l(p.split(\" \"),function(t){var n=u.getStyle(s,t,!0);if(!(\"background-color\"==t&&/transparent|rgba\\s*\\([^)]+,\\s*0\\)/.test(n)&&(n=u.getStyle(e.getBody(),t,!0),\"#ffffff\"==u.toHex(n).toLowerCase())||\"color\"==t&&\"#000000\"==u.toHex(n).toLowerCase())){if(\"font-size\"==t&&/em|%$/.test(n)){if(0===f)return;n=parseFloat(n,10)/(/%$/.test(n)?100:1),n=n*f+\"px\"}\"border\"==t&&n&&(d+=\"padding:0 2px;\"),d+=t+\":\"+n+\";\"}}),e.fire(\"AfterPreviewFormats\"),u.remove(o),d)}var l=t.each,u=e.DOM;return{getCssText:s,parseSelector:a,selectorToHtml:i}}),r(G,[h,_,g],function(e,t,n){function r(e,t){var n=o[e];n||(o[e]=n=[]),o[e].push(t)}function i(e,t){s(o[e],function(e){e(t)})}var o={},a=e.filter,s=e.each;return r(\"pre\",function(r){function i(t){return u(t.previousSibling)&&e.indexOf(c,t.previousSibling)!=-1}function o(e,t){n(t).remove(),n(e).append(\"<br><br>\").append(t.childNodes)}var l=r.selection.getRng(),u,c;u=t.matchNodeNames(\"pre\"),l.collapsed||(c=r.selection.getSelectedBlocks(),s(a(a(c,u),i),function(e){o(e.previousSibling,e)}))}),{postProcess:i}}),r(J,[y,T,j,X,z,m,K,G],function(e,t,n,r,i,o,a,s){return function(l){function u(e){return e.nodeType&&(e=e.nodeName),!!l.schema.getTextBlockElements()[e.toLowerCase()]}function c(e){return/^(TH|TD)$/.test(e.nodeName)}function d(e){return e&&/^(IMG)$/.test(e.nodeName)}function f(e,t){return Q.getParents(e,t,Q.getRoot())}function p(e){return 1===e.nodeType&&\"_mce_caret\"===e.id}function h(){v({valigntop:[{selector:\"td,th\",styles:{verticalAlign:\"top\"}}],valignmiddle:[{selector:\"td,th\",styles:{verticalAlign:\"middle\"}}],valignbottom:[{selector:\"td,th\",styles:{verticalAlign:\"bottom\"}}],alignleft:[{selector:\"figure.image\",collapsed:!1,classes:\"align-left\",ceFalseOverride:!0,preview:\"font-family font-size\"},{selector:\"figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li\",styles:{textAlign:\"left\"},inherit:!1,preview:!1,defaultBlock:\"div\"},{selector:\"img,table\",collapsed:!1,styles:{\"float\":\"left\"},preview:\"font-family font-size\"}],aligncenter:[{selector:\"figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li\",styles:{textAlign:\"center\"},inherit:!1,preview:!1,defaultBlock:\"div\"},{selector:\"figure.image\",collapsed:!1,classes:\"align-center\",ceFalseOverride:!0,preview:\"font-family font-size\"},{selector:\"img\",collapsed:!1,styles:{display:\"block\",marginLeft:\"auto\",marginRight:\"auto\"},preview:!1},{selector:\"table\",collapsed:!1,styles:{marginLeft:\"auto\",marginRight:\"auto\"},preview:\"font-family font-size\"}],alignright:[{selector:\"figure.image\",collapsed:!1,classes:\"align-right\",ceFalseOverride:!0,preview:\"font-family font-size\"},{selector:\"figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li\",styles:{textAlign:\"right\"},inherit:!1,preview:\"font-family font-size\",defaultBlock:\"div\"},{selector:\"img,table\",collapsed:!1,styles:{\"float\":\"right\"},preview:\"font-family font-size\"}],alignjustify:[{selector:\"figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li\",styles:{textAlign:\"justify\"},inherit:!1,defaultBlock:\"div\",preview:\"font-family font-size\"}],bold:[{inline:\"strong\",remove:\"all\"},{inline:\"span\",styles:{fontWeight:\"bold\"}},{inline:\"b\",remove:\"all\"}],italic:[{inline:\"em\",remove:\"all\"},{inline:\"span\",styles:{fontStyle:\"italic\"}},{inline:\"i\",remove:\"all\"}],underline:[{inline:\"span\",styles:{textDecoration:\"underline\"},exact:!0},{inline:\"u\",remove:\"all\"}],strikethrough:[{inline:\"span\",styles:{textDecoration:\"line-through\"},exact:!0},{inline:\"strike\",remove:\"all\"}],forecolor:{inline:\"span\",styles:{color:\"%value\"},links:!0,remove_similar:!0},hilitecolor:{inline:\"span\",styles:{backgroundColor:\"%value\"},links:!0,remove_similar:!0},fontname:{inline:\"span\",styles:{fontFamily:\"%value\"}},fontsize:{inline:\"span\",styles:{fontSize:\"%value\"}},fontsize_class:{inline:\"span\",attributes:{\"class\":\"%value\"}},blockquote:{block:\"blockquote\",wrapper:1,remove:\"all\"},subscript:{inline:\"sub\"},superscript:{inline:\"sup\"},code:{inline:\"code\"},link:{inline:\"a\",selector:\"a\",remove:\"all\",split:!0,deep:!0,onmatch:function(){return!0},onformat:function(e,t,n){me(n,function(t,n){Q.setAttrib(e,n,t)})}},removeformat:[{selector:\"b,strong,em,i,font,u,strike,sub,sup,dfn,code,samp,kbd,var,cite,mark,q,del,ins\",remove:\"all\",split:!0,expand:!1,block_expand:!0,deep:!0},{selector:\"span\",attributes:[\"style\",\"class\"],remove:\"empty\",split:!0,expand:!1,\ndeep:!0},{selector:\"*\",attributes:[\"style\",\"class\"],split:!1,expand:!1,deep:!0}]}),me(\"p h1 h2 h3 h4 h5 h6 div address pre div dt dd samp\".split(/\\s/),function(e){v(e,{block:e,remove:\"all\"})}),v(l.settings.formats)}function m(){l.addShortcut(\"meta+b\",\"bold_desc\",\"Bold\"),l.addShortcut(\"meta+i\",\"italic_desc\",\"Italic\"),l.addShortcut(\"meta+u\",\"underline_desc\",\"Underline\");for(var e=1;e<=6;e++)l.addShortcut(\"access+\"+e,\"\",[\"FormatBlock\",!1,\"h\"+e]);l.addShortcut(\"access+7\",\"\",[\"FormatBlock\",!1,\"p\"]),l.addShortcut(\"access+8\",\"\",[\"FormatBlock\",!1,\"div\"]),l.addShortcut(\"access+9\",\"\",[\"FormatBlock\",!1,\"address\"])}function g(e){return e?J[e]:J}function v(e,t){e&&(\"string\"!=typeof e?me(e,function(e,t){v(t,e)}):(t=t.length?t:[t],me(t,function(e){e.deep===ce&&(e.deep=!e.selector),e.split===ce&&(e.split=!e.selector||e.inline),e.remove===ce&&e.selector&&!e.inline&&(e.remove=\"none\"),e.selector&&e.inline&&(e.mixed=!0,e.block_expand=!0),\"string\"==typeof e.classes&&(e.classes=e.classes.split(/\\s+/))}),J[e]=t))}function y(e){return e&&J[e]&&delete J[e],J}function b(e,t){var n=g(t);if(n)for(var r=0;r<n.length;r++)if(n[r].inherit===!1&&Q.is(e,n[r].selector))return!0;return!1}function C(e){var t;return l.dom.getParent(e,function(e){return t=l.dom.getStyle(e,\"text-decoration\"),t&&\"none\"!==t}),t}function x(e){var t;1===e.nodeType&&e.parentNode&&1===e.parentNode.nodeType&&(t=C(e.parentNode),l.dom.getStyle(e,\"color\")&&t?l.dom.setStyle(e,\"text-decoration\",t):l.dom.getStyle(e,\"text-decoration\")===t&&l.dom.setStyle(e,\"text-decoration\",null))}function w(t,n,r){function i(e,t){if(t=t||f,e){if(t.onformat&&t.onformat(e,t,n,r),me(t.styles,function(t,r){Q.setStyle(e,r,F(t,n))}),t.styles){var i=Q.getAttrib(e,\"style\");i&&e.setAttribute(\"data-mce-style\",i)}me(t.attributes,function(t,r){Q.setAttrib(e,r,F(t,n))}),me(t.classes,function(t){t=F(t,n),Q.hasClass(e,t)||Q.addClass(e,t)})}}function o(e,t){var n=!1;return!!f.selector&&(me(e,function(e){if(!(\"collapsed\"in e&&e.collapsed!==v))return Q.is(t,e.selector)&&!p(t)?(i(t,e),n=!0,!1):void 0}),n)}function a(){function t(t,n){var i=new e(n);for(r=i.prev2();r;r=i.prev2()){if(3==r.nodeType&&r.data.length>0)return r;if(r.childNodes.length>1||r==t||\"BR\"==r.tagName)return r}}var n=l.selection.getRng(),i=n.startContainer,o=n.endContainer;if(i!=o&&0===n.endOffset){var a=t(i,o),s=3==a.nodeType?a.data.length:a.childNodes.length;n.setEnd(a,s)}return n}function c(e,r,a){var s=[],l,c,h=!0;l=f.inline||f.block,c=Q.create(l),i(c),ee.walk(e,function(e){function r(e){var g,v,y,b;if(b=h,g=e.nodeName.toLowerCase(),v=e.parentNode.nodeName.toLowerCase(),1===e.nodeType&&de(e)&&(b=h,h=\"true\"===de(e),y=!0),D(g,\"br\"))return m=0,void(f.block&&Q.remove(e));if(f.wrapper&&_(e,t,n))return void(m=0);if(h&&!y&&f.block&&!f.wrapper&&u(g)&&te(v,l))return e=Q.rename(e,l),i(e),s.push(e),void(m=0);if(f.selector){var C=o(d,e);if(!f.inline||C)return void(m=0)}!h||y||!te(l,g)||!te(v,l)||!a&&3===e.nodeType&&1===e.nodeValue.length&&65279===e.nodeValue.charCodeAt(0)||p(e)||f.inline&&ne(e)?(m=0,me(ge(e.childNodes),r),y&&(h=b),m=0):(m||(m=Q.clone(c,se),e.parentNode.insertBefore(m,e),s.push(m)),m.appendChild(e))}var m;me(e,r)}),f.links===!0&&me(s,function(e){function t(e){\"A\"===e.nodeName&&i(e,f),me(ge(e.childNodes),t)}t(e)}),me(s,function(e){function r(e){var t=0;return me(e.childNodes,function(e){z(e)||he(e)||t++}),t}function o(e){var t=!1;return me(e.childNodes,function(e){if(M(e))return t=e,!1}),t}function a(e,t){do{if(1!==r(e))break;if(e=o(e),!e)break;if(t(e))return e}while(e);return null}function l(e){var t,n;return t=o(e),t&&!he(t)&&B(t,f)&&(n=Q.clone(t,se),i(n),Q.replace(n,e,le),Q.remove(t,1)),n||e}var u;if(u=r(e),(s.length>1||!ne(e))&&0===u)return void Q.remove(e,1);if(f.inline||f.wrapper){if(f.exact||1!==u||(e=l(e)),me(d,function(t){me(Q.select(t.inline,e),function(e){he(e)||$(t,n,e,t.exact?e:null)})}),_(e.parentNode,t,n)&&$(f,n,e)&&(e=0),f.merge_with_parents&&Q.getParent(e.parentNode,function(r){if(_(r,t,n))return $(f,n,e)&&(e=0),le}),!ne(e)&&!H(e,\"fontSize\")){var c=a(e,P(\"fontSize\"));c&&w(\"fontsize\",{value:H(c,\"fontSize\")},e)}e&&f.merge_siblings!==!1&&(e=Y(j(e),e),e=Y(e,j(e,le)))}})}var d=g(t),f=d[0],h,m,v=!r&&Z.isCollapsed();if(\"false\"!==de(Z.getNode())){if(f){if(r)r.nodeType?o(d,r)||(m=Q.createRng(),m.setStartBefore(r),m.setEndAfter(r),c(W(m,d),null,!0)):c(r,null,!0);else if(v&&f.inline&&!Q.select(\"td[data-mce-selected],th[data-mce-selected]\").length)K(\"apply\",t,n);else{var y=l.selection.getNode();re||!d[0].defaultBlock||Q.getParent(y,Q.isBlock)||w(d[0].defaultBlock),l.selection.setRng(a()),h=Z.getBookmark(),c(W(Z.getRng(le),d),h),f.styles&&((f.styles.color||f.styles.textDecoration)&&(ve(y,x,\"childNodes\"),x(y)),f.styles.backgroundColor&&L(y,P(\"fontSize\"),O(\"backgroundColor\",F(f.styles.backgroundColor,n)))),Z.moveToBookmark(h),G(Z.getRng(le)),l.nodeChanged()}s.postProcess(t,l)}}else{r=Z.getNode();for(var b=0,C=d.length;b<C;b++)if(d[b].ceFalseOverride&&Q.is(r,d[b].selector))return void i(r,d[b])}}function E(e,t,n,r){function i(e){var n,r,o,a,s;if(1===e.nodeType&&de(e)&&(a=y,y=\"true\"===de(e),s=!0),n=ge(e.childNodes),y&&!s)for(r=0,o=p.length;r<o&&!$(p[r],t,e,e);r++);if(h.deep&&n.length){for(r=0,o=n.length;r<o;r++)i(n[r]);s&&(y=a)}}function o(n){var i;return me(f(n.parentNode).reverse(),function(n){var o;i||\"_start\"==n.id||\"_end\"==n.id||(o=_(n,e,t,r),o&&o.split!==!1&&(i=n))}),i}function a(e,n,r,i){var o,a,s,l,u,c;if(e){for(c=e.parentNode,o=n.parentNode;o&&o!=c;o=o.parentNode){for(a=Q.clone(o,se),u=0;u<p.length;u++)if($(p[u],t,a,a)){a=0;break}a&&(s&&a.appendChild(s),l||(l=a),s=a)}!i||h.mixed&&ne(e)||(n=Q.split(e,n)),s&&(r.parentNode.insertBefore(s,r),l.appendChild(r))}return n}function s(e){return a(o(e),e,e,!0)}function u(e){var t=Q.get(e?\"_start\":\"_end\"),n=t[e?\"firstChild\":\"lastChild\"];return he(n)&&(n=n[e?\"firstChild\":\"lastChild\"]),3==n.nodeType&&0===n.data.length&&(n=e?t.previousSibling||t.nextSibling:t.nextSibling||t.previousSibling),Q.remove(t,!0),n}function d(e){var t,n,r=e.commonAncestorContainer;if(e=W(e,p,le),h.split){if(t=X(e,le),n=X(e),t!=n){if(/^(TR|TH|TD)$/.test(t.nodeName)&&t.firstChild&&(t=\"TR\"==t.nodeName?t.firstChild.firstChild||t:t.firstChild||t),r&&/^T(HEAD|BODY|FOOT|R)$/.test(r.nodeName)&&c(n)&&n.firstChild&&(n=n.firstChild||n),Q.isChildOf(t,n)&&!ne(n)&&!c(t)&&!c(n))return t=U(t,\"span\",{id:\"_start\",\"data-mce-type\":\"bookmark\"}),s(t),void(t=u(le));t=U(t,\"span\",{id:\"_start\",\"data-mce-type\":\"bookmark\"}),n=U(n,\"span\",{id:\"_end\",\"data-mce-type\":\"bookmark\"}),s(t),s(n),t=u(le),n=u()}else t=n=s(t);e.startContainer=t.parentNode?t.parentNode:t,e.startOffset=ie(t),e.endContainer=n.parentNode?n.parentNode:n,e.endOffset=ie(n)+1}ee.walk(e,function(e){me(e,function(e){i(e),1===e.nodeType&&\"underline\"===l.dom.getStyle(e,\"text-decoration\")&&e.parentNode&&\"underline\"===C(e.parentNode)&&$({deep:!1,exact:!0,inline:\"span\",styles:{textDecoration:\"underline\"}},null,e)})})}var p=g(e),h=p[0],m,v,y=!0;if(n)return void(n.nodeType?(v=Q.createRng(),v.setStartBefore(n),v.setEndAfter(n),d(v)):d(n));if(\"false\"!==de(Z.getNode()))Z.isCollapsed()&&h.inline&&!Q.select(\"td[data-mce-selected],th[data-mce-selected]\").length?K(\"remove\",e,t,r):(m=Z.getBookmark(),d(Z.getRng(le)),Z.moveToBookmark(m),h.inline&&S(e,t,Z.getStart())&&G(Z.getRng(!0)),l.nodeChanged());else{n=Z.getNode();for(var b=0,x=p.length;b<x&&(!p[b].ceFalseOverride||!$(p[b],t,n,n));b++);}}function N(e,t,n){var r=g(e);!S(e,t,n)||\"toggle\"in r[0]&&!r[0].toggle?w(e,t,n):E(e,t,n)}function _(e,t,n,r){function i(e,t,i){var o,a,s=t[i],l;if(t.onmatch)return t.onmatch(e,t,i);if(s)if(s.length===ce){for(o in s)if(s.hasOwnProperty(o)){if(a=\"attributes\"===i?Q.getAttrib(e,o):H(e,o),r&&!a&&!t.exact)return;if((!r||t.exact)&&!D(a,I(F(s[o],n),o)))return}}else for(l=0;l<s.length;l++)if(\"attributes\"===i?Q.getAttrib(e,s[l]):H(e,s[l]))return t;return t}var o=g(t),a,s,l;if(o&&e)for(s=0;s<o.length;s++)if(a=o[s],B(e,a)&&i(e,a,\"attributes\")&&i(e,a,\"styles\")){if(l=a.classes)for(s=0;s<l.length;s++)if(!Q.hasClass(e,l[s]))return;return a}}function S(e,t,n){function r(n){var r=Q.getRoot();return n!==r&&(n=Q.getParent(n,function(n){return!!b(n,e)||(n.parentNode===r||!!_(n,e,t,!0))}),_(n,e,t))}var i;return n?r(n):(n=Z.getNode(),r(n)?le:(i=Z.getStart(),i!=n&&r(i)?le:se))}function k(e,t){var n,r=[],i={};return n=Z.getStart(),Q.getParent(n,function(n){var o,a;for(o=0;o<e.length;o++)a=e[o],!i[a]&&_(n,a,t)&&(i[a]=!0,r.push(a))},Q.getRoot()),r}function T(e){var t=g(e),n,r,i,o,a;if(t)for(n=Z.getStart(),r=f(n),o=t.length-1;o>=0;o--){if(a=t[o].selector,!a||t[o].defaultBlock)return le;for(i=r.length-1;i>=0;i--)if(Q.is(r[i],a))return le}return se}function R(e,t,n){var r;return ue||(ue={},r={},l.on(\"NodeChange\",function(e){var t=f(e.element),n={};t=o.grep(t,function(e){return 1==e.nodeType&&!e.getAttribute(\"data-mce-bogus\")}),me(ue,function(e,i){me(t,function(o){return _(o,i,{},e.similar)?(r[i]||(me(e,function(e){e(!0,{node:o,format:i,parents:t})}),r[i]=e),n[i]=e,!1):!b(o,i)&&void 0})}),me(r,function(i,o){n[o]||(delete r[o],me(i,function(n){n(!1,{node:e.element,format:o,parents:t})}))})})),me(e.split(\",\"),function(e){ue[e]||(ue[e]=[],ue[e].similar=n),ue[e].push(t)}),this}function A(e){return a.getCssText(l,e)}function B(e,t){return D(e,t.inline)?le:D(e,t.block)?le:t.selector?1==e.nodeType&&Q.is(e,t.selector):void 0}function D(e,t){return e=e||\"\",t=t||\"\",e=\"\"+(e.nodeName||e),t=\"\"+(t.nodeName||t),e.toLowerCase()==t.toLowerCase()}function L(e,t,n){me(e.childNodes,function(e){M(e)&&(t(e)&&n(e),e.hasChildNodes()&&L(e,t,n))})}function M(e){return 1==e.nodeType&&!he(e)&&!z(e)&&!p(e)}function P(e){return i.curry(function(e,t){return!(!t||!H(t,e))},e)}function O(e,t){return i.curry(function(e,t,n){Q.setStyle(n,e,t)},e,t)}function H(e,t){return I(Q.getStyle(e,t),t)}function I(e,t){return\"color\"!=t&&\"backgroundColor\"!=t||(e=Q.toHex(e)),\"fontWeight\"==t&&700==e&&(e=\"bold\"),\"fontFamily\"==t&&(e=e.replace(/[\\'\\\"]/g,\"\").replace(/,\\s+/g,\",\")),\"\"+e}function F(e,t){return\"string\"!=typeof e?e=e(t):t&&(e=e.replace(/%(\\w+)/g,function(e,n){return t[n]||e})),e}function z(e){return e&&3===e.nodeType&&/^([\\t \\r\\n]+|)$/.test(e.nodeValue)}function U(e,t,n){var r=Q.create(t,n);return e.parentNode.insertBefore(r,e),r.appendChild(e),r}function W(t,n,r){function i(e){function t(e){return\"BR\"==e.nodeName&&e.getAttribute(\"data-mce-bogus\")&&!e.nextSibling}var r,i,o,a,s;if(r=i=e?g:y,a=e?\"previousSibling\":\"nextSibling\",s=Q.getRoot(),3==r.nodeType&&!z(r)&&(e?v>0:b<r.nodeValue.length))return r;for(;;){if(!n[0].block_expand&&ne(i))return i;for(o=i[a];o;o=o[a])if(!he(o)&&!z(o)&&!t(o))return i;if(i==s||i.parentNode==s){r=i;break}i=i.parentNode}return r}function o(e,t){for(t===ce&&(t=3===e.nodeType?e.length:e.childNodes.length);e&&e.hasChildNodes();)e=e.childNodes[t],e&&(t=3===e.nodeType?e.length:e.childNodes.length);return{node:e,offset:t}}function a(e){for(var t=e;t;){if(1===t.nodeType&&de(t))return\"false\"===de(t)?t:e;t=t.parentNode}return e}function s(t,n,i){function o(e,t){var n,o,a=e.nodeValue;return\"undefined\"==typeof t&&(t=i?a.length:0),i?(n=a.lastIndexOf(\" \",t),o=a.lastIndexOf(\"\\xa0\",t),n=n>o?n:o,n===-1||r||n++):(n=a.indexOf(\" \",t),o=a.indexOf(\"\\xa0\",t),n=n!==-1&&(o===-1||n<o)?n:o),n}var a,s,u,c;if(3===t.nodeType){if(u=o(t,n),u!==-1)return{container:t,offset:u};c=t}for(a=new e(t,Q.getParent(t,ne)||l.getBody());s=a[i?\"prev\":\"next\"]();)if(3===s.nodeType){if(c=s,u=o(s),u!==-1)return{container:s,offset:u}}else if(ne(s))break;if(c)return n=i?0:c.length,{container:c,offset:n}}function c(e,r){var i,o,a,s;for(3==e.nodeType&&0===e.nodeValue.length&&e[r]&&(e=e[r]),i=f(e),o=0;o<i.length;o++)for(a=0;a<n.length;a++)if(s=n[a],!(\"collapsed\"in s&&s.collapsed!==t.collapsed)&&Q.is(i[o],s.selector))return i[o];return e}function d(e,t){var r,i=Q.getRoot();if(n[0].wrapper||(r=Q.getParent(e,n[0].block,i)),r||(r=Q.getParent(3==e.nodeType?e.parentNode:e,function(e){return e!=i&&u(e)})),r&&n[0].wrapper&&(r=f(r,\"ul,ol\").reverse()[0]||r),!r)for(r=e;r[t]&&!ne(r[t])&&(r=r[t],!D(r,\"br\")););return r||e}var p,h,m,g=t.startContainer,v=t.startOffset,y=t.endContainer,b=t.endOffset;if(1==g.nodeType&&g.hasChildNodes()&&(p=g.childNodes.length-1,g=g.childNodes[v>p?p:v],3==g.nodeType&&(v=0)),1==y.nodeType&&y.hasChildNodes()&&(p=y.childNodes.length-1,y=y.childNodes[b>p?p:b-1],3==y.nodeType&&(b=y.nodeValue.length)),g=a(g),y=a(y),(he(g.parentNode)||he(g))&&(g=he(g)?g:g.parentNode,g=g.nextSibling||g,3==g.nodeType&&(v=0)),(he(y.parentNode)||he(y))&&(y=he(y)?y:y.parentNode,y=y.previousSibling||y,3==y.nodeType&&(b=y.length)),n[0].inline&&(t.collapsed&&(m=s(g,v,!0),m&&(g=m.container,v=m.offset),m=s(y,b),m&&(y=m.container,b=m.offset)),h=o(y,b),h.node)){for(;h.node&&0===h.offset&&h.node.previousSibling;)h=o(h.node.previousSibling);h.node&&h.offset>0&&3===h.node.nodeType&&\" \"===h.node.nodeValue.charAt(h.offset-1)&&h.offset>1&&(y=h.node,y.splitText(h.offset-1))}return(n[0].inline||n[0].block_expand)&&(n[0].inline&&3==g.nodeType&&0!==v||(g=i(!0)),n[0].inline&&3==y.nodeType&&b!==y.nodeValue.length||(y=i())),n[0].selector&&n[0].expand!==se&&!n[0].inline&&(g=c(g,\"previousSibling\"),y=c(y,\"nextSibling\")),(n[0].block||n[0].selector)&&(g=d(g,\"previousSibling\"),y=d(y,\"nextSibling\"),n[0].block&&(ne(g)||(g=i(!0)),ne(y)||(y=i()))),1==g.nodeType&&(v=ie(g),g=g.parentNode),1==y.nodeType&&(b=ie(y)+1,y=y.parentNode),{startContainer:g,startOffset:v,endContainer:y,endOffset:b}}function V(e,t){return t.links&&\"A\"==e.tagName}function $(e,t,n,r){var i,o,a;if(!B(n,e)&&!V(n,e))return se;if(\"all\"!=e.remove)for(me(e.styles,function(i,o){i=I(F(i,t),o),\"number\"==typeof o&&(o=i,r=0),(e.remove_similar||!r||D(H(r,o),i))&&Q.setStyle(n,o,\"\"),a=1}),a&&\"\"===Q.getAttrib(n,\"style\")&&(n.removeAttribute(\"style\"),n.removeAttribute(\"data-mce-style\")),me(e.attributes,function(e,i){var o;if(e=F(e,t),\"number\"==typeof i&&(i=e,r=0),!r||D(Q.getAttrib(r,i),e)){if(\"class\"==i&&(e=Q.getAttrib(n,i),e&&(o=\"\",me(e.split(/\\s+/),function(e){/mce\\-\\w+/.test(e)&&(o+=(o?\" \":\"\")+e)}),o)))return void Q.setAttrib(n,i,o);\"class\"==i&&n.removeAttribute(\"className\"),ae.test(i)&&n.removeAttribute(\"data-mce-\"+i),n.removeAttribute(i)}}),me(e.classes,function(e){e=F(e,t),r&&!Q.hasClass(r,e)||Q.removeClass(n,e)}),o=Q.getAttribs(n),i=0;i<o.length;i++){var s=o[i].nodeName;if(0!==s.indexOf(\"_\")&&0!==s.indexOf(\"data-\"))return se}return\"none\"!=e.remove?(q(n,e),le):void 0}function q(e,t){function n(e,t,n){return e=j(e,t,n),!e||\"BR\"==e.nodeName||ne(e)}var r=e.parentNode,i;t.block&&(re?r==Q.getRoot()&&(t.list_block&&D(e,t.list_block)||me(ge(e.childNodes),function(e){te(re,e.nodeName.toLowerCase())?i?i.appendChild(e):(i=U(e,re),Q.setAttribs(i,l.settings.forced_root_block_attrs)):i=0})):ne(e)&&!ne(r)&&(n(e,se)||n(e.firstChild,le,1)||e.insertBefore(Q.create(\"br\"),e.firstChild),n(e,le)||n(e.lastChild,se,1)||e.appendChild(Q.create(\"br\")))),t.selector&&t.inline&&!D(t.inline,e)||Q.remove(e,1)}function j(e,t,n){if(e)for(t=t?\"nextSibling\":\"previousSibling\",e=n?e:e[t];e;e=e[t])if(1==e.nodeType||!z(e))return e}function Y(e,t){function n(e,t){for(i=e;i;i=i[t]){if(3==i.nodeType&&0!==i.nodeValue.length)return e;if(1==i.nodeType&&!he(i))return i}return e}var i,o,a=new r(Q);if(e&&t&&(e=n(e,\"previousSibling\"),t=n(t,\"nextSibling\"),a.compare(e,t))){for(i=e.nextSibling;i&&i!=t;)o=i,i=i.nextSibling,e.appendChild(o);return Q.remove(t),me(ge(t.childNodes),function(t){e.appendChild(t)}),e}return t}function X(t,n){var r,i,o;return r=t[n?\"startContainer\":\"endContainer\"],i=t[n?\"startOffset\":\"endOffset\"],1==r.nodeType&&(o=r.childNodes.length-1,!n&&i&&i--,r=r.childNodes[i>o?o:i]),3===r.nodeType&&n&&i>=r.nodeValue.length&&(r=new e(r,l.getBody()).next()||r),3!==r.nodeType||n||0!==i||(r=new e(r,l.getBody()).prev()||r),r}function K(t,n,r,i){function o(e){var t=Q.create(\"span\",{id:m,\"data-mce-bogus\":!0,style:v?\"color:red\":\"\"});return e&&t.appendChild(l.getDoc().createTextNode(oe)),t}function a(e,t){for(;e;){if(3===e.nodeType&&e.nodeValue!==oe||e.childNodes.length>1)return!1;t&&1===e.nodeType&&t.push(e),e=e.firstChild}return!0}function s(e){for(;e;){if(e.id===m)return e;e=e.parentNode}}function c(t){var n;if(t)for(n=new e(t,t),t=n.current();t;t=n.next())if(3===t.nodeType)return t}function d(e,t){var n,r;if(e)r=Z.getRng(!0),a(e)?(t!==!1&&(r.setStartBefore(e),r.setEndBefore(e)),Q.remove(e)):(n=c(e),n.nodeValue.charAt(0)===oe&&(n.deleteData(0,1),r.startContainer==n&&r.startOffset>0&&r.setStart(n,r.startOffset-1),r.endContainer==n&&r.endOffset>0&&r.setEnd(n,r.endOffset-1)),Q.remove(e,1)),Z.setRng(r);else if(e=s(Z.getStart()),!e)for(;e=Q.get(m);)d(e,!1)}function f(){var e,t,i,a,l,u,d;e=Z.getRng(!0),a=e.startOffset,u=e.startContainer,d=u.nodeValue,t=s(Z.getStart()),t&&(i=c(t));var f=/[^\\s\\u00a0\\u00ad\\u200b\\ufeff]/;d&&a>0&&a<d.length&&f.test(d.charAt(a))&&f.test(d.charAt(a-1))?(l=Z.getBookmark(),e.collapse(!0),e=W(e,g(n)),e=ee.split(e),w(n,r,e),Z.moveToBookmark(l)):(t&&i.nodeValue===oe?w(n,r,t):(t=o(!0),i=t.firstChild,e.insertNode(t),a=1,w(n,r,t)),Z.setCursorLocation(i,a))}function p(){var e=Z.getRng(!0),t,a,s,l,c,d,f=[],p,h;for(t=e.startContainer,a=e.startOffset,c=t,3==t.nodeType&&(a!=t.nodeValue.length&&(l=!0),c=c.parentNode);c;){if(_(c,n,r,i)){d=c;break}c.nextSibling&&(l=!0),f.push(c),c=c.parentNode}if(d)if(l)s=Z.getBookmark(),e.collapse(!0),e=W(e,g(n),!0),e=ee.split(e),E(n,r,e),Z.moveToBookmark(s);else{for(h=o(),c=h,p=f.length-1;p>=0;p--)c.appendChild(Q.clone(f[p],!1)),c=c.firstChild;c.appendChild(Q.doc.createTextNode(oe)),c=c.firstChild;var m=Q.getParent(d,u);m&&Q.isEmpty(m)?d.parentNode.replaceChild(h,d):Q.insertAfter(h,d),Z.setCursorLocation(c,1),Q.isEmpty(d)&&Q.remove(d)}}function h(){var e;e=s(Z.getStart()),e&&!Q.isEmpty(e)&&ve(e,function(e){1!=e.nodeType||e.id===m||Q.isEmpty(e)||Q.setAttrib(e,\"data-mce-bogus\",null)},\"childNodes\")}var m=\"_mce_caret\",v=l.settings.caret_debug;l._hasCaretEvents||(pe=function(){var e=[],t;if(a(s(Z.getStart()),e))for(t=e.length;t--;)Q.setAttrib(e[t],\"data-mce-bogus\",\"1\")},fe=function(e){var t=e.keyCode;d(),8==t&&Z.isCollapsed()&&Z.getStart().innerHTML==oe&&d(s(Z.getStart())),37!=t&&39!=t||d(s(Z.getStart())),h()},l.on(\"SetContent\",function(e){e.selection&&h()}),l._hasCaretEvents=!0),\"apply\"==t?f():p()}function G(t){var n=t.startContainer,r=t.startOffset,i,o,a,s,l;if((t.startContainer!=t.endContainer||!d(t.startContainer.childNodes[t.startOffset]))&&(3==n.nodeType&&r>=n.nodeValue.length&&(r=ie(n),n=n.parentNode,i=!0),1==n.nodeType))for(s=n.childNodes,n=s[Math.min(r,s.length-1)],o=new e(n,Q.getParent(n,Q.isBlock)),(r>s.length-1||i)&&o.next(),a=o.current();a;a=o.next())if(3==a.nodeType&&!z(a))return l=Q.create(\"a\",{\"data-mce-bogus\":\"all\"},oe),a.parentNode.insertBefore(l,a),t.setStart(a,0),Z.setRng(t),void Q.remove(l)}var J={},Q=l.dom,Z=l.selection,ee=new t(Q),te=l.schema.isValidChild,ne=Q.isBlock,re=l.settings.forced_root_block,ie=Q.nodeIndex,oe=\"\\ufeff\",ae=/^(src|href|style)$/,se=!1,le=!0,ue,ce,de=Q.getContentEditable,fe,pe,he=n.isBookmarkNode,me=o.each,ge=o.grep,ve=o.walk,ye=o.extend;ye(this,{get:g,register:v,unregister:y,apply:w,remove:E,toggle:N,match:S,matchAll:k,matchNode:_,canApply:T,formatChanged:R,getCssText:A}),h(),m(),l.on(\"BeforeGetContent\",function(e){pe&&\"raw\"!=e.format&&pe()}),l.on(\"mouseup keydown\",function(e){fe&&fe(e)})}}),r(Q,[],function(){var e=0,t=1,n=2,r=function(r,i){var o=r.length+i.length+2,a=new Array(o),s=new Array(o),l=function(e,t,n){return{start:e,end:t,diag:n}},u=function(o,a,s,l,c){var f=d(o,a,s,l);if(null===f||f.start===a&&f.diag===a-l||f.end===o&&f.diag===o-s)for(var p=o,h=s;p<a||h<l;)p<a&&h<l&&r[p]===i[h]?(c.push([e,r[p]]),++p,++h):a-o>l-s?(c.push([n,r[p]]),++p):(c.push([t,i[h]]),++h);else{u(o,f.start,s,f.start-f.diag,c);for(var m=f.start;m<f.end;++m)c.push([e,r[m]]);u(f.end,a,f.end-f.diag,l,c)}},c=function(e,t,n,o){for(var a=e;a-t<o&&a<n&&r[a]===i[a-t];)++a;return l(e,a,t)},d=function(e,t,n,o){var l=t-e,u=o-n;if(0===l||0===u)return null;var d=l-u,f=u+l,p=(f%2===0?f:f+1)/2;a[1+p]=e,s[1+p]=t+1;for(var h=0;h<=p;++h){for(var m=-h;m<=h;m+=2){var g=m+p;m===-h||m!=h&&a[g-1]<a[g+1]?a[g]=a[g+1]:a[g]=a[g-1]+1;for(var v=a[g],y=v-e+n-m;v<t&&y<o&&r[v]===i[y];)a[g]=++v,++y;if(d%2!=0&&d-h<=m&&m<=d+h&&s[g-d]<=a[g])return c(s[g-d],m+e-n,t,o)}for(m=d-h;m<=d+h;m+=2){for(g=m+p-d,m===d-h||m!=d+h&&s[g+1]<=s[g-1]?s[g]=s[g+1]-1:s[g]=s[g-1],v=s[g]-1,y=v-e+n-m;v>=e&&y>=n&&r[v]===i[y];)s[g]=v--,y--;if(d%2===0&&-h<=m&&m<=h&&s[g]<=a[g+d])return c(s[g],m+e-n,t,o)}}},f=[];return u(0,r.length,0,i.length,f),f};return{KEEP:e,DELETE:n,INSERT:t,diff:r}}),r(Z,[h,C,Q],function(e,t,n){var r=function(e){return 1===e.nodeType?e.outerHTML:3===e.nodeType?t.encodeRaw(e.data,!1):8===e.nodeType?\"<!--\"+e.data+\"-->\":\"\"},i=function(e){var t,n,r;for(r=document.createElement(\"div\"),t=document.createDocumentFragment(),e&&(r.innerHTML=e);n=r.firstChild;)t.appendChild(n);return t},o=function(e,t,n){var r=i(t);if(e.hasChildNodes()&&n<e.childNodes.length){var o=e.childNodes[n];o.parentNode.insertBefore(r,o)}else e.appendChild(r)},a=function(e,t){if(e.hasChildNodes()&&t<e.childNodes.length){var n=e.childNodes[t];n.parentNode.removeChild(n)}},s=function(t,r){var i=0;e.each(t,function(e){e[0]===n.KEEP?i++:e[0]===n.INSERT?(o(r,e[1],i),i++):e[0]===n.DELETE&&a(r,i)})},l=function(t){return e.map(t.childNodes,r)},u=function(t,i){var o=e.map(i.childNodes,r);return s(n.diff(o,t),i),i};return{read:l,write:u}}),r(ee,[h,Z],function(e,t){var n=function(e){return e.indexOf(\"</iframe>\")!==-1},r=function(e){return{type:\"fragmented\",fragments:e,content:\"\",bookmark:null,beforeBookmark:null}},i=function(e){return{type:\"complete\",fragments:null,content:e,bookmark:null,beforeBookmark:null}},o=function(o){var a,s,l;return a=t.read(o.getBody()),l=e.map(a,function(e){return o.serializer.trimContent(e)}),s=l.join(\"\"),n(s)?r(l):i(s)},a=function(e,n,r){\"fragmented\"===n.type?t.write(n.fragments,e.getBody()):e.setContent(n.content,{format:\"raw\"}),e.selection.moveToBookmark(r?n.beforeBookmark:n.bookmark)},s=function(e){return\"fragmented\"===e.type?e.fragments.join(\"\"):e.content},l=function(e,t){return s(e)===s(t)};return{createFragmentedLevel:r,createCompleteLevel:i,createFromEditor:o,applyToEditor:a,isEq:l}}),r(te,[I,m,ee],function(e,t,n){return function(e){function r(t){e.setDirty(t)}function i(e){a.typing=!1,a.add({},e)}function o(){a.typing&&(a.typing=!1,a.add())}var a=this,s=0,l=[],u,c,d=0;return e.on(\"init\",function(){a.add()}),e.on(\"BeforeExecCommand\",function(e){var t=e.command;\"Undo\"!==t&&\"Redo\"!==t&&\"mceRepaint\"!==t&&(o(),a.beforeChange())}),e.on(\"ExecCommand\",function(e){var t=e.command;\"Undo\"!==t&&\"Redo\"!==t&&\"mceRepaint\"!==t&&i(e)}),e.on(\"ObjectResizeStart Cut\",function(){a.beforeChange()}),e.on(\"SaveContent ObjectResized blur\",i),e.on(\"DragEnd\",i),e.on(\"KeyUp\",function(t){var o=t.keyCode;t.isDefaultPrevented()||((o>=33&&o<=36||o>=37&&o<=40||45===o||t.ctrlKey)&&(i(),e.nodeChanged()),46!==o&&8!==o||e.nodeChanged(),c&&a.typing&&(e.isDirty()||(r(l[0]&&!n.isEq(n.createFromEditor(e),l[0])),e.isDirty()&&e.fire(\"change\",{level:l[0],lastLevel:null})),e.fire(\"TypingUndo\"),c=!1,e.nodeChanged()))}),e.on(\"KeyDown\",function(e){var t=e.keyCode;if(!e.isDefaultPrevented()){if(t>=33&&t<=36||t>=37&&t<=40||45===t)return void(a.typing&&i(e));var n=e.ctrlKey&&!e.altKey||e.metaKey;!(t<16||t>20)||224===t||91===t||a.typing||n||(a.beforeChange(),a.typing=!0,a.add({},e),c=!0)}}),e.on(\"MouseDown\",function(e){a.typing&&i(e)}),e.addShortcut(\"meta+z\",\"\",\"Undo\"),e.addShortcut(\"meta+y,meta+shift+z\",\"\",\"Redo\"),e.on(\"AddUndo Undo Redo ClearUndos\",function(t){t.isDefaultPrevented()||e.nodeChanged()}),a={data:l,typing:!1,beforeChange:function(){d||(u=e.selection.getBookmark(2,!0))},add:function(i,o){var a,c=e.settings,f,p;if(p=n.createFromEditor(e),i=i||{},i=t.extend(i,p),d||e.removed)return null;if(f=l[s],e.fire(\"BeforeAddUndo\",{level:i,lastLevel:f,originalEvent:o}).isDefaultPrevented())return null;if(f&&n.isEq(f,i))return null;if(l[s]&&(l[s].beforeBookmark=u),c.custom_undo_redo_levels&&l.length>c.custom_undo_redo_levels){for(a=0;a<l.length-1;a++)l[a]=l[a+1];l.length--,s=l.length}i.bookmark=e.selection.getBookmark(2,!0),s<l.length-1&&(l.length=s+1),l.push(i),s=l.length-1;var h={level:i,lastLevel:f,originalEvent:o};return e.fire(\"AddUndo\",h),s>0&&(r(!0),e.fire(\"change\",h)),i},undo:function(){var t;return a.typing&&(a.add(),a.typing=!1),s>0&&(t=l[--s],n.applyToEditor(e,t,!0),r(!0),e.fire(\"undo\",{level:t})),t},redo:function(){var t;return s<l.length-1&&(t=l[++s],n.applyToEditor(e,t,!1),r(!0),e.fire(\"redo\",{level:t})),t},clear:function(){l=[],s=0,a.typing=!1,a.data=l,e.fire(\"ClearUndos\")},hasUndo:function(){return s>0||a.typing&&l[0]&&!n.isEq(n.createFromEditor(e),l[0])},hasRedo:function(){return s<l.length-1&&!a.typing},transact:function(e){o(),a.beforeChange();try{d++,e()}finally{d--}return a.add()},extra:function(t,r){var i,o;a.transact(t)&&(o=l[s].bookmark,i=l[s-1],n.applyToEditor(e,i,!0),a.transact(r)&&(l[s-1].beforeBookmark=o))}}}}),r(ne,[y,T,k,d],function(e,t,n,r){var i=r.ie&&r.ie<11;return function(o){function a(a){function h(e){return e&&s.isBlock(e)&&!/^(TD|TH|CAPTION|FORM)$/.test(e.nodeName)&&!/^(fixed|absolute)/i.test(e.style.position)&&\"true\"!==s.getContentEditable(e)}function m(e){return e&&/^(TD|TH|CAPTION)$/.test(e.nodeName)}function g(e){var t;s.isBlock(e)&&(t=l.getRng(),e.appendChild(s.create(\"span\",null,\"\\xa0\")),l.select(e),e.lastChild.outerHTML=\"\",l.setRng(t))}function v(e){var t=e,n=[],r;if(t){for(;t=t.firstChild;){if(s.isBlock(t))return;1!=t.nodeType||f[t.nodeName.toLowerCase()]||n.push(t)}for(r=n.length;r--;)t=n[r],!t.hasChildNodes()||t.firstChild==t.lastChild&&\"\"===t.firstChild.nodeValue?s.remove(t):\"A\"==t.nodeName&&\" \"===(t.innerText||t.textContent)&&s.remove(t)}}function y(t){function n(e){for(;e;){if(1==e.nodeType||3==e.nodeType&&e.data&&/[\\r\\n\\s]/.test(e.data))return e;e=e.nextSibling}}var i,o,a,u=t,c;if(t){if(r.ie&&r.ie<9&&P&&P.firstChild&&P.firstChild==P.lastChild&&\"BR\"==P.firstChild.tagName&&s.remove(P.firstChild),/^(LI|DT|DD)$/.test(t.nodeName)){var d=n(t.firstChild);d&&/^(UL|OL|DL)$/.test(d.nodeName)&&t.insertBefore(s.doc.createTextNode(\"\\xa0\"),t.firstChild)}if(a=s.createRng(),r.ie||t.normalize(),t.hasChildNodes()){for(i=new e(t,t);o=i.current();){if(3==o.nodeType){a.setStart(o,0),a.setEnd(o,0);break}if(p[o.nodeName.toLowerCase()]){a.setStartBefore(o),a.setEndBefore(o);break}u=o,o=i.next()}o||(a.setStart(u,0),a.setEnd(u,0))}else\"BR\"==t.nodeName?t.nextSibling&&s.isBlock(t.nextSibling)?((!O||O<9)&&(c=s.create(\"br\"),t.parentNode.insertBefore(c,t)),a.setStartBefore(t),a.setEndBefore(t)):(a.setStartAfter(t),a.setEndAfter(t)):(a.setStart(t,0),a.setEnd(t,0));l.setRng(a),s.remove(c),l.scrollIntoView(t)}}function b(e){var t=u.forced_root_block;t&&t.toLowerCase()===e.tagName.toLowerCase()&&s.setAttribs(e,u.forced_root_block_attrs)}function C(e){e.innerHTML=i?\"\":'<br data-mce-bogus=\"1\">'}function x(e){var t=L,n,r,o,a=d.getTextInlineElements();if(e||\"TABLE\"==U?(n=s.create(e||V),b(n)):n=P.cloneNode(!1),o=n,u.keep_styles!==!1)do if(a[t.nodeName]){if(\"_mce_caret\"==t.id)continue;r=t.cloneNode(!1),s.setAttrib(r,\"id\",\"\"),n.hasChildNodes()?(r.appendChild(n.firstChild),n.appendChild(r)):(o=r,n.appendChild(r))}while((t=t.parentNode)&&t!=D);return i||(o.innerHTML='<br data-mce-bogus=\"1\">'),n}function w(t){var n,r,i;if(3==L.nodeType&&(t?M>0:M<L.nodeValue.length))return!1;if(L.parentNode==P&&$&&!t)return!0;if(t&&1==L.nodeType&&L==P.firstChild)return!0;if(\"TABLE\"===L.nodeName||L.previousSibling&&\"TABLE\"==L.previousSibling.nodeName)return $&&!t||!$&&t;for(n=new e(L,P),3==L.nodeType&&(t&&0===M?n.prev():t||M!=L.nodeValue.length||n.next());r=n.current();){if(1===r.nodeType){if(!r.getAttribute(\"data-mce-bogus\")&&(i=r.nodeName.toLowerCase(),f[i]&&\"br\"!==i))return!1}else if(3===r.nodeType&&!/^[ \\t\\r\\n]*$/.test(r.nodeValue))return!1;t?n.prev():n.next()}return!0}function E(e,t){var n,r,i,a,l,u,c=V||\"P\";if(r=s.getParent(e,s.isBlock),!r||!h(r)){if(r=r||D,u=r==o.getBody()||m(r)?r.nodeName.toLowerCase():r.parentNode.nodeName.toLowerCase(),!r.hasChildNodes())return n=s.create(c),b(n),r.appendChild(n),A.setStart(n,0),A.setEnd(n,0),n;for(a=e;a.parentNode!=r;)a=a.parentNode;for(;a&&!s.isBlock(a);)i=a,a=a.previousSibling;if(i&&d.isValidChild(u,c.toLowerCase())){for(n=s.create(c),b(n),i.parentNode.insertBefore(n,i),a=i;a&&!s.isBlock(a);)l=a.nextSibling,n.appendChild(a),a=l;A.setStart(e,t),A.setEnd(e,t)}}return e}function N(){function e(e){for(var t=z[e?\"firstChild\":\"lastChild\"];t&&1!=t.nodeType;)t=t[e?\"nextSibling\":\"previousSibling\"];return t===P}function t(){var e=z.parentNode;return/^(LI|DT|DD)$/.test(e.nodeName)?e:z}if(z!=o.getBody()){var n=z.parentNode.nodeName;/^(OL|UL|LI)$/.test(n)&&(V=\"LI\"),I=V?x(V):s.create(\"BR\"),e(!0)&&e()?\"LI\"==n?s.insertAfter(I,t()):s.replace(I,z):e(!0)?\"LI\"==n?(s.insertAfter(I,t()),I.appendChild(s.doc.createTextNode(\" \")),I.appendChild(z)):z.parentNode.insertBefore(I,z):e()?(s.insertAfter(I,t()),g(I)):(z=t(),B=A.cloneRange(),B.setStartAfter(P),B.setEndAfter(z),F=B.extractContents(),\"LI\"==V&&\"LI\"==F.firstChild.nodeName?(I=F.firstChild,s.insertAfter(F,z)):(s.insertAfter(F,z),s.insertAfter(I,z))),s.remove(P),y(I),c.add()}}function _(){o.execCommand(\"InsertLineBreak\",!1,a)}function S(e){do 3===e.nodeType&&(e.nodeValue=e.nodeValue.replace(/^[\\r\\n]+/,\"\")),e=e.firstChild;while(e)}function k(e){var t=s.getRoot(),n,r;for(n=e;n!==t&&\"false\"!==s.getContentEditable(n);)\"true\"===s.getContentEditable(n)&&(r=n),n=n.parentNode;return n!==t?r:t}function T(e){var t;i||(e.normalize(),t=e.lastChild,t&&!/^(left|right)$/gi.test(s.getStyle(t,\"float\",!0))||s.add(e,\"br\"))}function R(){I=/^(H[1-6]|PRE|FIGURE)$/.test(U)&&\"HGROUP\"!=W?x(V):x(),u.end_container_on_empty_block&&h(z)&&s.isEmpty(P)?I=s.split(z,P):s.insertAfter(I,P),y(I)}var A,B,D,L,M,P,O,H,I,F,z,U,W,V,$;if(A=l.getRng(!0),!a.isDefaultPrevented()){if(!A.collapsed)return void o.execCommand(\"Delete\");if(new t(s).normalize(A),L=A.startContainer,M=A.startOffset,V=(u.force_p_newlines?\"p\":\"\")||u.forced_root_block,V=V?V.toUpperCase():\"\",O=s.doc.documentMode,H=a.shiftKey,1==L.nodeType&&L.hasChildNodes()&&($=M>L.childNodes.length-1,L=L.childNodes[Math.min(M,L.childNodes.length-1)]||L,M=$&&3==L.nodeType?L.nodeValue.length:0),D=k(L)){if(c.beforeChange(),!s.isBlock(D)&&D!=s.getRoot())return void(V&&!H||_());if((V&&!H||!V&&H)&&(L=E(L,M)),P=s.getParent(L,s.isBlock),z=P?s.getParent(P.parentNode,s.isBlock):null,U=P?P.nodeName.toUpperCase():\"\",W=z?z.nodeName.toUpperCase():\"\",\"LI\"!=W||a.ctrlKey||(P=z,U=W),o.undoManager.typing&&(o.undoManager.typing=!1,o.undoManager.add()),/^(LI|DT|DD)$/.test(U)){if(!V&&H)return void _();if(s.isEmpty(P))return void N()}if(\"PRE\"==U&&u.br_in_pre!==!1){if(!H)return void _()}else if(!V&&!H&&\"LI\"!=U||V&&H)return void _();V&&P===o.getBody()||(V=V||\"P\",n.isCaretContainerBlock(P)?(I=n.showCaretContainerBlock(P),s.isEmpty(P)&&C(P),y(I)):w()?R():w(!0)?(I=P.parentNode.insertBefore(x(),P),g(I),y(P)):(B=A.cloneRange(),B.setEndAfter(P),F=B.extractContents(),S(F),I=F.firstChild,s.insertAfter(F,P),v(I),T(P),s.isEmpty(P)&&C(P),I.normalize(),s.isEmpty(I)?(s.remove(I),R()):y(I)),s.setAttrib(I,\"id\",\"\"),o.fire(\"NewBlock\",{newBlock:I}),c.typing=!1,c.add())}}}var s=o.dom,l=o.selection,u=o.settings,c=o.undoManager,d=o.schema,f=d.getNonEmptyElements(),p=d.getMoveCaretBeforeOnEnterElements();o.on(\"keydown\",function(e){13==e.keyCode&&a(e)!==!1&&e.preventDefault()})}}),r(re,[],function(){return function(e){function t(){var t=i.getStart(),s=e.getBody(),l,u,c,d,f,p,h,m=-16777215,g,v,y,b,C;if(C=n.forced_root_block,t&&1===t.nodeType&&C){for(;t&&t!=s;){if(a[t.nodeName])return;t=t.parentNode}if(l=i.getRng(),l.setStart){u=l.startContainer,c=l.startOffset,d=l.endContainer,f=l.endOffset;try{v=e.getDoc().activeElement===s}catch(x){}}else l.item&&(t=l.item(0),l=e.getDoc().body.createTextRange(),l.moveToElementText(t)),v=l.parentElement().ownerDocument===e.getDoc(),y=l.duplicate(),y.collapse(!0),c=y.move(\"character\",m)*-1,y.collapsed||(y=l.duplicate(),y.collapse(!1),f=y.move(\"character\",m)*-1-c);for(t=s.firstChild,b=s.nodeName.toLowerCase();t;)if((3===t.nodeType||1==t.nodeType&&!a[t.nodeName])&&o.isValidChild(b,C.toLowerCase())){if(3===t.nodeType&&0===t.nodeValue.length){h=t,t=t.nextSibling,r.remove(h);continue}p||(p=r.create(C,e.settings.forced_root_block_attrs),\nt.parentNode.insertBefore(p,t),g=!0),h=t,t=t.nextSibling,p.appendChild(h)}else p=null,t=t.nextSibling;if(g&&v){if(l.setStart)l.setStart(u,c),l.setEnd(d,f),i.setRng(l);else try{l=e.getDoc().body.createTextRange(),l.moveToElementText(s),l.collapse(!0),l.moveStart(\"character\",c),f>0&&l.moveEnd(\"character\",f),l.select()}catch(x){}e.nodeChanged()}}}var n=e.settings,r=e.dom,i=e.selection,o=e.schema,a=o.getBlockElements();n.forced_root_block&&e.on(\"NodeChange\",t)}}),r(ie,[z,y,_,$,k,U],function(e,t,n,r,i,o){function a(e){return e>0}function s(e){return e<0}function l(e,t){for(var n;n=e(t);)if(!N(n))return n;return null}function u(e,n,r,i,o){var u=new t(e,i);if(s(n)){if((x(e)||N(e))&&(e=l(u.prev,!0),r(e)))return e;for(;e=l(u.prev,o);)if(r(e))return e}if(a(n)){if((x(e)||N(e))&&(e=l(u.next,!0),r(e)))return e;for(;e=l(u.next,o);)if(r(e))return e}return null}function c(e,t){for(e=e.parentNode;e&&e!=t;e=e.parentNode)if(C(e))return e;return t}function d(e,t){for(;e&&e!=t;){if(w(e))return e;e=e.parentNode}return null}function f(e,t,n){return d(e.container(),n)==d(t.container(),n)}function p(e,t,n){return c(e.container(),n)==c(t.container(),n)}function h(e,t){var n,r;return t?(n=t.container(),r=t.offset(),S(n)?n.childNodes[r+e]:null):null}function m(e,t){var n=t.ownerDocument.createRange();return e?(n.setStartBefore(t),n.setEndBefore(t)):(n.setStartAfter(t),n.setEndAfter(t)),n}function g(e,t,n){return d(t,e)==d(n,e)}function v(e,t,n){var r,i;for(i=e?\"previousSibling\":\"nextSibling\";n&&n!=t;){if(r=n[i],E(r)&&(r=r[i]),x(r)){if(g(t,r,n))return r;break}if(k(r))break;n=n.parentNode}return null}function y(e,t,r){var o,a,s,l,u=_(v,!0,t),c=_(v,!1,t);if(a=r.startContainer,s=r.startOffset,i.isCaretContainerBlock(a)){if(S(a)||(a=a.parentNode),l=a.getAttribute(\"data-mce-caret\"),\"before\"==l&&(o=a.nextSibling,x(o)))return T(o);if(\"after\"==l&&(o=a.previousSibling,x(o)))return R(o)}if(!r.collapsed)return r;if(n.isText(a)){if(E(a)){if(1===e){if(o=c(a))return T(o);if(o=u(a))return R(o)}if(e===-1){if(o=u(a))return R(o);if(o=c(a))return T(o)}return r}if(i.endsWithCaretContainer(a)&&s>=a.data.length-1)return 1===e&&(o=c(a))?T(o):r;if(i.startsWithCaretContainer(a)&&s<=1)return e===-1&&(o=u(a))?R(o):r;if(s===a.data.length)return o=c(a),o?T(o):r;if(0===s)return o=u(a),o?R(o):r}return r}function b(e,t){return x(h(e,t))}var C=n.isContentEditableTrue,x=n.isContentEditableFalse,w=n.matchStyleValues(\"display\",\"block table table-cell table-caption\"),E=i.isCaretContainer,N=i.isCaretContainerBlock,_=e.curry,S=n.isElement,k=o.isCaretCandidate,T=_(m,!0),R=_(m,!1);return{isForwards:a,isBackwards:s,findNode:u,getEditingHost:c,getParentBlock:d,isInSameBlock:f,isInSameEditingHost:p,isBeforeContentEditableFalse:_(b,0),isAfterContentEditableFalse:_(b,-1),normalizeRange:y}}),r(oe,[_,U,$,ie,h,z],function(e,t,n,r,i,o){function a(e,t){for(var n=[];e&&e!=t;)n.push(e),e=e.parentNode;return n}function s(e,t){return e.hasChildNodes()&&t<e.childNodes.length?e.childNodes[t]:null}function l(e,t){if(m(e)){if(v(t.previousSibling)&&!f(t.previousSibling))return n.before(t);if(f(t))return n(t,0)}if(g(e)){if(v(t.nextSibling)&&!f(t.nextSibling))return n.after(t);if(f(t))return n(t,t.data.length)}return g(e)?h(t)?n.before(t):n.after(t):n.before(t)}function u(t,i){var o;return!!e.isBr(t)&&(o=c(1,n.after(t),i),!!o&&!r.isInSameBlock(n.before(t),n.before(o),i))}function c(e,t,h){var C,x,w,E,N,_,S;if(!p(h)||!t)return null;if(S=t,C=S.container(),x=S.offset(),f(C)){if(g(e)&&x>0)return n(C,--x);if(m(e)&&x<C.length)return n(C,++x);w=C}else{if(g(e)&&x>0&&(E=s(C,x-1),v(E)))return!y(E)&&(N=r.findNode(E,e,b,E))?f(N)?n(N,N.data.length):n.after(N):f(E)?n(E,E.data.length):n.before(E);if(m(e)&&x<C.childNodes.length&&(E=s(C,x),v(E)))return u(E,h)?c(e,n.after(E),h):!y(E)&&(N=r.findNode(E,e,b,E))?f(N)?n(N,0):n.before(N):f(E)?n(E,0):n.after(E);w=S.getNode()}return(m(e)&&S.isAtEnd()||g(e)&&S.isAtStart())&&(w=r.findNode(w,e,o.constant(!0),h,!0),b(w))?l(e,w):(E=r.findNode(w,e,b,h),_=i.last(i.filter(a(C,h),d)),!_||E&&_.contains(E)?E?l(e,E):null:S=m(e)?n.after(_):n.before(_))}var d=e.isContentEditableFalse,f=e.isText,p=e.isElement,h=e.isBr,m=r.isForwards,g=r.isBackwards,v=t.isCaretCandidate,y=t.isAtomic,b=t.isEditableCaretCandidate;return function(e){return{next:function(t){return c(1,t,e)},prev:function(t){return c(-1,t,e)}}}}),r(ae,[m,oe,$],function(e,t,n){var r=function(e){var t=e.firstChild,n=e.lastChild;return t&&\"meta\"===t.name&&(t=t.next),n&&\"mce_marker\"===n.attr(\"id\")&&(n=n.prev),!(!t||t!==n)&&(\"ul\"===t.name||\"ol\"===t.name)},i=function(e){var t=e.firstChild,n=e.lastChild;return t&&\"META\"===t.nodeName&&t.parentNode.removeChild(t),n&&\"mce_marker\"===n.id&&n.parentNode.removeChild(n),e},o=function(e,t,n){var r=t.serialize(n),o=e.createFragment(r);return i(o)},a=function(t){return e.grep(t.childNodes,function(e){return\"LI\"===e.nodeName})},s=function(e){return!e.firstChild},l=function(e){return e.length>0&&s(e[e.length-1])?e.slice(0,-1):e},u=function(e,t){var n=e.getParent(t,e.isBlock);return n&&\"LI\"===n.nodeName?n:null},c=function(e,t){return!!u(e,t)},d=function(e,t){var n=t.cloneRange(),r=t.cloneRange();return n.setStartBefore(e),r.setEndAfter(e),[n.cloneContents(),r.cloneContents()]},f=function(e,r){var i=n.before(e),o=new t(r),a=o.next(i);return a?a.toRange():null},p=function(e,r){var i=n.after(e),o=new t(r),a=o.prev(i);return a?a.toRange():null},h=function(t,n,r,i){var o=d(t,i),a=t.parentNode;return a.insertBefore(o[0],t),e.each(n,function(e){a.insertBefore(e,t)}),a.insertBefore(o[1],t),a.removeChild(t),p(n[n.length-1],r)},m=function(t,n,r){var i=t.parentNode;return e.each(n,function(e){i.insertBefore(e,t)}),f(t,r)},g=function(e,t,n,r){return r.insertAfter(t.reverse(),e),p(t[0],n)},v=function(e,r,i,s){var c=o(r,e,s),d=u(r,i.startContainer),f=l(a(c.firstChild)),p=1,v=2,y=r.getRoot(),b=function(e){var o=n.fromRangeStart(i),a=new t(r.getRoot()),s=e===p?a.prev(o):a.next(o);return!s||u(r,s.getNode())!==d};return b(p)?m(d,f,y):b(v)?g(d,f,y,r):h(d,f,y,i)};return{isListFragment:r,insertAtCaret:v,isParentBlockLi:c,trimListItems:l,listItems:a}}),r(se,[d,m,P,oe,$,X,_,ae],function(e,t,n,r,i,o,a,s){var l=a.matchNodeNames(\"td th\"),u=function(e,t,n){if(\"all\"===n.getAttribute(\"data-mce-bogus\"))n.parentNode.insertBefore(e.dom.createFragment(t),n);else{var r=n.firstChild,i=n.lastChild;!r||r===i&&\"BR\"===r.nodeName?e.dom.setHTML(n,t):e.selection.setContent(t)}},c=function(a,c,d){function f(e){function t(e){return r[e]&&3==r[e].nodeType}var n,r,i;return n=L.getRng(!0),r=n.startContainer,i=n.startOffset,3==r.nodeType&&(i>0?e=e.replace(/^&nbsp;/,\" \"):t(\"previousSibling\")||(e=e.replace(/^ /,\"&nbsp;\")),i<r.length?e=e.replace(/&nbsp;(<br>|)$/,\" \"):t(\"nextSibling\")||(e=e.replace(/(&nbsp;| )(<br>|)$/,\"&nbsp;\"))),e}function p(){var e,t,n;e=L.getRng(!0),t=e.startContainer,n=e.startOffset,3==t.nodeType&&e.collapsed&&(\"\\xa0\"===t.data[n]?(t.deleteData(n,1),/[\\u00a0| ]$/.test(c)||(c+=\" \")):\"\\xa0\"===t.data[n-1]&&(t.deleteData(n-1,1),/[\\u00a0| ]$/.test(c)||(c=\" \"+c)))}function h(){if(B){var e=a.getBody(),n=new o(M);t.each(M.select(\"*[data-mce-fragment]\"),function(t){for(var r=t.parentNode;r&&r!=e;r=r.parentNode)D[t.nodeName.toLowerCase()]&&n.compare(r,t)&&M.remove(t,!0)})}}function m(e){for(var t=e;t=t.walk();)1===t.type&&t.attr(\"data-mce-fragment\",\"1\")}function g(e){t.each(e.getElementsByTagName(\"*\"),function(e){e.removeAttribute(\"data-mce-fragment\")})}function v(e){return!!e.getAttribute(\"data-mce-fragment\")}function y(e){return e&&!a.schema.getShortEndedElements()[e.nodeName]}function b(t){function n(e){for(var t=a.getBody();e&&e!==t;e=e.parentNode)if(\"false\"===a.dom.getContentEditable(e))return e;return null}function o(e){var t=i.fromRangeStart(e),n=new r(a.getBody());if(t=n.next(t))return t.toRange()}var s,u,c;if(t){if(L.scrollIntoView(t),s=n(t))return M.remove(t),void L.select(s);k=M.createRng(),T=t.previousSibling,T&&3==T.nodeType?(k.setStart(T,T.nodeValue.length),e.ie||(R=t.nextSibling,R&&3==R.nodeType&&(T.appendData(R.data),R.parentNode.removeChild(R)))):(k.setStartBefore(t),k.setEndBefore(t)),u=M.getParent(t,M.isBlock),M.remove(t),u&&M.isEmpty(u)&&(a.$(u).empty(),k.setStart(u,0),k.setEnd(u,0),l(u)||v(u)||!(c=o(k))?M.add(u,M.create(\"br\",{\"data-mce-bogus\":\"1\"})):(k=c,M.remove(u))),L.setRng(k)}}var C,x,w,E,N,_,S,k,T,R,A,B,D=a.schema.getTextInlineElements(),L=a.selection,M=a.dom;/^ | $/.test(c)&&(c=f(c)),C=a.parser,B=d.merge,x=new n({validate:a.settings.validate},a.schema),A='<span id=\"mce_marker\" data-mce-type=\"bookmark\">&#xFEFF;&#x200B;</span>',_={content:c,format:\"html\",selection:!0},a.fire(\"BeforeSetContent\",_),c=_.content,c.indexOf(\"{$caret}\")==-1&&(c+=\"{$caret}\"),c=c.replace(/\\{\\$caret\\}/,A),k=L.getRng();var P=k.startContainer||(k.parentElement?k.parentElement():null),O=a.getBody();P===O&&L.isCollapsed()&&M.isBlock(O.firstChild)&&y(O.firstChild)&&M.isEmpty(O.firstChild)&&(k=M.createRng(),k.setStart(O.firstChild,0),k.setEnd(O.firstChild,0),L.setRng(k)),L.isCollapsed()||(a.selection.setRng(a.selection.getRng()),a.getDoc().execCommand(\"Delete\",!1,null),p()),w=L.getNode();var H={context:w.nodeName.toLowerCase(),data:d.data};if(N=C.parse(c,H),d.paste===!0&&s.isListFragment(N)&&s.isParentBlockLi(M,w))return k=s.insertAtCaret(x,M,a.selection.getRng(!0),N),a.selection.setRng(k),void a.fire(\"SetContent\",_);if(m(N),T=N.lastChild,\"mce_marker\"==T.attr(\"id\"))for(S=T,T=T.prev;T;T=T.walk(!0))if(3==T.type||!M.isBlock(T.name)){a.schema.isValidChild(T.parent.name,\"span\")&&T.parent.insert(S,T,\"br\"===T.name);break}if(a._selectionOverrides.showBlockCaretContainer(w),H.invalid){for(L.setContent(A),w=L.getNode(),E=a.getBody(),9==w.nodeType?w=T=E:T=w;T!==E;)w=T,T=T.parentNode;c=w==E?E.innerHTML:M.getOuterHTML(w),c=x.serialize(C.parse(c.replace(/<span (id=\"mce_marker\"|id=mce_marker).+?<\\/span>/i,function(){return x.serialize(N)}))),w==E?M.setHTML(E,c):M.setOuterHTML(w,c)}else c=x.serialize(N),u(a,c,w);h(),b(M.get(\"mce_marker\")),g(a.getBody()),a.fire(\"SetContent\",_),a.addVisual()},d=function(e){var n;return\"string\"!=typeof e?(n=t.extend({paste:e.paste,data:{paste:e.paste}},e),{content:e.content,details:n}):{content:e,details:{}}},f=function(e,t){var n=d(t);c(e,n.content,n.details)};return{insertAtCaret:f}}),r(le,[d,m,T,y,se,_],function(e,n,r,i,o,a){var s=n.each,l=n.extend,u=n.map,c=n.inArray,d=n.explode,f=e.ie&&e.ie<11,p=!0,h=!1;return function(n){function m(e,t,r,i){var o,a,l=0;if(/^(mceAddUndoLevel|mceEndUndoLevel|mceBeginUndoLevel|mceRepaint)$/.test(e)||i&&i.skip_focus||n.focus(),i=n.fire(\"BeforeExecCommand\",{command:e,ui:t,value:r}),i.isDefaultPrevented())return!1;if(a=e.toLowerCase(),o=D.exec[a])return o(a,t,r),n.fire(\"ExecCommand\",{command:e,ui:t,value:r}),!0;if(s(n.plugins,function(i){if(i.execCommand&&i.execCommand(e,t,r))return n.fire(\"ExecCommand\",{command:e,ui:t,value:r}),l=!0,!1}),l)return l;if(n.theme&&n.theme.execCommand&&n.theme.execCommand(e,t,r))return n.fire(\"ExecCommand\",{command:e,ui:t,value:r}),!0;try{l=n.getDoc().execCommand(e,t,r)}catch(u){}return!!l&&(n.fire(\"ExecCommand\",{command:e,ui:t,value:r}),!0)}function g(e){var t;if(!n.quirks.isHidden()){if(e=e.toLowerCase(),t=D.state[e])return t(e);try{return n.getDoc().queryCommandState(e)}catch(r){}return!1}}function v(e){var t;if(!n.quirks.isHidden()){if(e=e.toLowerCase(),t=D.value[e])return t(e);try{return n.getDoc().queryCommandValue(e)}catch(r){}}}function y(e,t){t=t||\"exec\",s(e,function(e,n){s(n.toLowerCase().split(\",\"),function(n){D[t][n]=e})})}function b(e,t,r){e=e.toLowerCase(),D.exec[e]=function(e,i,o,a){return t.call(r||n,i,o,a)}}function C(e){if(e=e.toLowerCase(),D.exec[e])return!0;try{return n.getDoc().queryCommandSupported(e)}catch(t){}return!1}function x(e,t,r){e=e.toLowerCase(),D.state[e]=function(){return t.call(r||n)}}function w(e,t,r){e=e.toLowerCase(),D.value[e]=function(){return t.call(r||n)}}function E(e){return e=e.toLowerCase(),!!D.exec[e]}function N(e,r,i){return r===t&&(r=h),i===t&&(i=null),n.getDoc().execCommand(e,r,i)}function _(e){return B.match(e)}function S(e,r){B.toggle(e,r?{value:r}:t),n.nodeChanged()}function k(e){M=A.getBookmark(e)}function T(){A.moveToBookmark(M)}var R,A,B,D={state:{},exec:{},value:{}},L=n.settings,M;n.on(\"PreInit\",function(){R=n.dom,A=n.selection,L=n.settings,B=n.formatter}),l(this,{execCommand:m,queryCommandState:g,queryCommandValue:v,queryCommandSupported:C,addCommands:y,addCommand:b,addQueryStateHandler:x,addQueryValueHandler:w,hasCustomCommand:E}),y({\"mceResetDesignMode,mceBeginUndoLevel\":function(){},\"mceEndUndoLevel,mceAddUndoLevel\":function(){n.undoManager.add()},\"Cut,Copy,Paste\":function(t){var r=n.getDoc(),i;try{N(t)}catch(o){i=p}if(\"paste\"!==t||r.queryCommandEnabled(t)||(i=!0),i||!r.queryCommandSupported(t)){var a=n.translate(\"Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X/C/V keyboard shortcuts instead.\");e.mac&&(a=a.replace(/Ctrl\\+/g,\"\\u2318+\")),n.notificationManager.open({text:a,type:\"error\"})}},unlink:function(){if(A.isCollapsed()){var e=n.dom.getParent(n.selection.getStart(),\"a\");return void(e&&n.dom.remove(e,!0))}B.remove(\"link\")},\"JustifyLeft,JustifyCenter,JustifyRight,JustifyFull,JustifyNone\":function(e){var t=e.substring(7);\"full\"==t&&(t=\"justify\"),s(\"left,center,right,justify\".split(\",\"),function(e){t!=e&&B.remove(\"align\"+e)}),\"none\"!=t&&S(\"align\"+t)},\"InsertUnorderedList,InsertOrderedList\":function(e){var t,n;N(e),t=R.getParent(A.getNode(),\"ol,ul\"),t&&(n=t.parentNode,/^(H[1-6]|P|ADDRESS|PRE)$/.test(n.nodeName)&&(k(),R.split(n,t),T()))},\"Bold,Italic,Underline,Strikethrough,Superscript,Subscript\":function(e){S(e)},\"ForeColor,HiliteColor,FontName\":function(e,t,n){S(e,n)},FontSize:function(e,t,n){var r,i;n>=1&&n<=7&&(i=d(L.font_size_style_values),r=d(L.font_size_classes),n=r?r[n-1]||n:i[n-1]||n),S(e,n)},RemoveFormat:function(e){B.remove(e)},mceBlockQuote:function(){S(\"blockquote\")},FormatBlock:function(e,t,n){return S(n||\"p\")},mceCleanup:function(){var e=A.getBookmark();n.setContent(n.getContent({cleanup:p}),{cleanup:p}),A.moveToBookmark(e)},mceRemoveNode:function(e,t,r){var i=r||A.getNode();i!=n.getBody()&&(k(),n.dom.remove(i,p),T())},mceSelectNodeDepth:function(e,t,r){var i=0;R.getParent(A.getNode(),function(e){if(1==e.nodeType&&i++==r)return A.select(e),h},n.getBody())},mceSelectNode:function(e,t,n){A.select(n)},mceInsertContent:function(e,t,r){o.insertAtCaret(n,r)},mceInsertRawHTML:function(e,t,r){A.setContent(\"tiny_mce_marker\"),n.setContent(n.getContent().replace(/tiny_mce_marker/g,function(){return r}))},mceToggleFormat:function(e,t,n){S(n)},mceSetContent:function(e,t,r){n.setContent(r)},\"Indent,Outdent\":function(e){var t,r,i;t=L.indentation,r=/[a-z%]+$/i.exec(t),t=parseInt(t,10),g(\"InsertUnorderedList\")||g(\"InsertOrderedList\")?N(e):(L.forced_root_block||R.getParent(A.getNode(),R.isBlock)||B.apply(\"div\"),s(A.getSelectedBlocks(),function(o){if(\"false\"!==R.getContentEditable(o)&&\"LI\"!==o.nodeName){var a=n.getParam(\"indent_use_margin\",!1)?\"margin\":\"padding\";a=\"TABLE\"===o.nodeName?\"margin\":a,a+=\"rtl\"==R.getStyle(o,\"direction\",!0)?\"Right\":\"Left\",\"outdent\"==e?(i=Math.max(0,parseInt(o.style[a]||0,10)-t),R.setStyle(o,a,i?i+r:\"\")):(i=parseInt(o.style[a]||0,10)+t+r,R.setStyle(o,a,i))}}))},mceRepaint:function(){},InsertHorizontalRule:function(){n.execCommand(\"mceInsertContent\",!1,\"<hr />\")},mceToggleVisualAid:function(){n.hasVisual=!n.hasVisual,n.addVisual()},mceReplaceContent:function(e,t,r){n.execCommand(\"mceInsertContent\",!1,r.replace(/\\{\\$selection\\}/g,A.getContent({format:\"text\"})))},mceInsertLink:function(e,t,n){var r;\"string\"==typeof n&&(n={href:n}),r=R.getParent(A.getNode(),\"a\"),n.href=n.href.replace(\" \",\"%20\"),r&&n.href||B.remove(\"link\"),n.href&&B.apply(\"link\",n,r)},selectAll:function(){var e=R.getRoot(),t;if(A.getRng().setStart){var n=R.getParent(A.getStart(),a.isContentEditableTrue);n&&(t=R.createRng(),t.selectNodeContents(n),A.setRng(t))}else t=A.getRng(),t.item||(t.moveToElementText(e),t.select())},\"delete\":function(){N(\"Delete\");var e=n.getBody();R.isEmpty(e)&&(n.setContent(\"\"),e.firstChild&&R.isBlock(e.firstChild)?n.selection.setCursorLocation(e.firstChild,0):n.selection.setCursorLocation(e,0))},mceNewDocument:function(){n.setContent(\"\")},InsertLineBreak:function(e,t,o){function a(){for(var e=new i(m,v),t,r=n.schema.getNonEmptyElements();t=e.next();)if(r[t.nodeName.toLowerCase()]||t.length>0)return!0}var s=o,l,u,c,d=A.getRng(!0);new r(R).normalize(d);var h=d.startOffset,m=d.startContainer;if(1==m.nodeType&&m.hasChildNodes()){var g=h>m.childNodes.length-1;m=m.childNodes[Math.min(h,m.childNodes.length-1)]||m,h=g&&3==m.nodeType?m.nodeValue.length:0}var v=R.getParent(m,R.isBlock),y=v?v.nodeName.toUpperCase():\"\",b=v?R.getParent(v.parentNode,R.isBlock):null,C=b?b.nodeName.toUpperCase():\"\",x=s&&s.ctrlKey;\"LI\"!=C||x||(v=b,y=C),m&&3==m.nodeType&&h>=m.nodeValue.length&&(f||a()||(l=R.create(\"br\"),d.insertNode(l),d.setStartAfter(l),d.setEndAfter(l),u=!0)),l=R.create(\"br\"),d.insertNode(l);var w=R.doc.documentMode;return f&&\"PRE\"==y&&(!w||w<8)&&l.parentNode.insertBefore(R.doc.createTextNode(\"\\r\"),l),c=R.create(\"span\",{},\"&nbsp;\"),l.parentNode.insertBefore(c,l),A.scrollIntoView(c),R.remove(c),u?(d.setStartBefore(l),d.setEndBefore(l)):(d.setStartAfter(l),d.setEndAfter(l)),A.setRng(d),n.undoManager.add(),p}}),y({\"JustifyLeft,JustifyCenter,JustifyRight,JustifyFull\":function(e){var t=\"align\"+e.substring(7),n=A.isCollapsed()?[R.getParent(A.getNode(),R.isBlock)]:A.getSelectedBlocks(),r=u(n,function(e){return!!B.matchNode(e,t)});return c(r,p)!==-1},\"Bold,Italic,Underline,Strikethrough,Superscript,Subscript\":function(e){return _(e)},mceBlockQuote:function(){return _(\"blockquote\")},Outdent:function(){var e;if(L.inline_styles){if((e=R.getParent(A.getStart(),R.isBlock))&&parseInt(e.style.paddingLeft,10)>0)return p;if((e=R.getParent(A.getEnd(),R.isBlock))&&parseInt(e.style.paddingLeft,10)>0)return p}return g(\"InsertUnorderedList\")||g(\"InsertOrderedList\")||!L.inline_styles&&!!R.getParent(A.getNode(),\"BLOCKQUOTE\")},\"InsertUnorderedList,InsertOrderedList\":function(e){var t=R.getParent(A.getNode(),\"ul,ol\");return t&&(\"insertunorderedlist\"===e&&\"UL\"===t.tagName||\"insertorderedlist\"===e&&\"OL\"===t.tagName)}},\"state\"),y({\"FontSize,FontName\":function(e){var t=0,n;return(n=R.getParent(A.getNode(),\"span\"))&&(t=\"fontsize\"==e?n.style.fontSize:n.style.fontFamily.replace(/, /g,\",\").replace(/[\\'\\\"]/g,\"\").toLowerCase()),t}},\"value\"),y({Undo:function(){n.undoManager.undo()},Redo:function(){n.undoManager.redo()}})}}),r(ue,[m],function(e){function t(e,o){var a=this,s,l;if(e=r(e),o=a.settings=o||{},s=o.base_uri,/^([\\w\\-]+):([^\\/]{2})/i.test(e)||/^\\s*#/.test(e))return void(a.source=e);var u=0===e.indexOf(\"//\");0!==e.indexOf(\"/\")||u||(e=(s?s.protocol||\"http\":\"http\")+\"://mce_host\"+e),/^[\\w\\-]*:?\\/\\//.test(e)||(l=o.base_uri?o.base_uri.path:new t(location.href).directory,\"\"===o.base_uri.protocol?e=\"//mce_host\"+a.toAbsPath(l,e):(e=/([^#?]*)([#?]?.*)/.exec(e),e=(s&&s.protocol||\"http\")+\"://mce_host\"+a.toAbsPath(l,e[1])+e[2])),e=e.replace(/@@/g,\"(mce_at)\"),e=/^(?:(?![^:@]+:[^:@\\/]*@)([^:\\/?#.]+):)?(?:\\/\\/)?((?:(([^:@\\/]*):?([^:@\\/]*))?@)?([^:\\/?#]*)(?::(\\d*))?)(((\\/(?:[^?#](?![^?#\\/]*\\.[^?#\\/.]+(?:[?#]|$)))*\\/?)?([^?#\\/]*))(?:\\?([^#]*))?(?:#(.*))?)/.exec(e),n(i,function(t,n){var r=e[n];r&&(r=r.replace(/\\(mce_at\\)/g,\"@@\")),a[t]=r}),s&&(a.protocol||(a.protocol=s.protocol),a.userInfo||(a.userInfo=s.userInfo),a.port||\"mce_host\"!==a.host||(a.port=s.port),a.host&&\"mce_host\"!==a.host||(a.host=s.host),a.source=\"\"),u&&(a.protocol=\"\")}var n=e.each,r=e.trim,i=\"source protocol authority userInfo user password host port relative path directory file query anchor\".split(\" \"),o={ftp:21,http:80,https:443,mailto:25};return t.prototype={setPath:function(e){var t=this;e=/^(.*?)\\/?(\\w+)?$/.exec(e),t.path=e[0],t.directory=e[1],t.file=e[2],t.source=\"\",t.getURI()},toRelative:function(e){var n=this,r;if(\"./\"===e)return e;if(e=new t(e,{base_uri:n}),\"mce_host\"!=e.host&&n.host!=e.host&&e.host||n.port!=e.port||n.protocol!=e.protocol&&\"\"!==e.protocol)return e.getURI();var i=n.getURI(),o=e.getURI();return i==o||\"/\"==i.charAt(i.length-1)&&i.substr(0,i.length-1)==o?i:(r=n.toRelPath(n.path,e.path),e.query&&(r+=\"?\"+e.query),e.anchor&&(r+=\"#\"+e.anchor),r)},toAbsolute:function(e,n){return e=new t(e,{base_uri:this}),e.getURI(n&&this.isSameOrigin(e))},isSameOrigin:function(e){if(this.host==e.host&&this.protocol==e.protocol){if(this.port==e.port)return!0;var t=o[this.protocol];if(t&&(this.port||t)==(e.port||t))return!0}return!1},toRelPath:function(e,t){var n,r=0,i=\"\",o,a;if(e=e.substring(0,e.lastIndexOf(\"/\")),e=e.split(\"/\"),n=t.split(\"/\"),e.length>=n.length)for(o=0,a=e.length;o<a;o++)if(o>=n.length||e[o]!=n[o]){r=o+1;break}if(e.length<n.length)for(o=0,a=n.length;o<a;o++)if(o>=e.length||e[o]!=n[o]){r=o+1;break}if(1===r)return t;for(o=0,a=e.length-(r-1);o<a;o++)i+=\"../\";for(o=r-1,a=n.length;o<a;o++)i+=o!=r-1?\"/\"+n[o]:n[o];return i},toAbsPath:function(e,t){var r,i=0,o=[],a,s;for(a=/\\/$/.test(t)?\"/\":\"\",e=e.split(\"/\"),t=t.split(\"/\"),n(e,function(e){e&&o.push(e)}),e=o,r=t.length-1,o=[];r>=0;r--)0!==t[r].length&&\".\"!==t[r]&&(\"..\"!==t[r]?i>0?i--:o.push(t[r]):i++);return r=e.length-i,s=r<=0?o.reverse().join(\"/\"):e.slice(0,r).join(\"/\")+\"/\"+o.reverse().join(\"/\"),0!==s.indexOf(\"/\")&&(s=\"/\"+s),a&&s.lastIndexOf(\"/\")!==s.length-1&&(s+=a),s},getURI:function(e){var t,n=this;return n.source&&!e||(t=\"\",e||(t+=n.protocol?n.protocol+\"://\":\"//\",n.userInfo&&(t+=n.userInfo+\"@\"),n.host&&(t+=n.host),n.port&&(t+=\":\"+n.port)),n.path&&(t+=n.path),n.query&&(t+=\"?\"+n.query),n.anchor&&(t+=\"#\"+n.anchor),n.source=t),n.source}},t.parseDataUri=function(e){var t,n;return e=decodeURIComponent(e).split(\",\"),n=/data:([^;]+)/.exec(e[0]),n&&(t=n[1]),{type:t,data:e[1]}},t.getDocumentBaseUrl=function(e){var t;return t=0!==e.protocol.indexOf(\"http\")&&\"file:\"!==e.protocol?e.href:e.protocol+\"//\"+e.host+e.pathname,/^[^:]+:\\/\\/\\/?[^\\/]+\\//.test(t)&&(t=t.replace(/[\\?#].*$/,\"\").replace(/[\\/\\\\][^\\/]+$/,\"\"),/[\\/\\\\]$/.test(t)||(t+=\"/\")),t},t}),r(ce,[m],function(e){function t(){}var n=e.each,r=e.extend,i,o;return t.extend=i=function(e){function t(){var e,t,n,r=this;if(!o&&(r.init&&r.init.apply(r,arguments),t=r.Mixins))for(e=t.length;e--;)n=t[e],n.init&&n.init.apply(r,arguments)}function a(){return this}function s(e,t){return function(){var n=this,r=n._super,i;return n._super=u[e],i=t.apply(n,arguments),n._super=r,i}}var l=this,u=l.prototype,c,d,f;o=!0,c=new l,o=!1,e.Mixins&&(n(e.Mixins,function(t){for(var n in t)\"init\"!==n&&(e[n]=t[n])}),u.Mixins&&(e.Mixins=u.Mixins.concat(e.Mixins))),e.Methods&&n(e.Methods.split(\",\"),function(t){e[t]=a}),e.Properties&&n(e.Properties.split(\",\"),function(t){var n=\"_\"+t;e[t]=function(e){var t=this,r;return e!==r?(t[n]=e,t):t[n]}}),e.Statics&&n(e.Statics,function(e,n){t[n]=e}),e.Defaults&&u.Defaults&&(e.Defaults=r({},u.Defaults,e.Defaults));for(d in e)f=e[d],\"function\"==typeof f&&u[d]?c[d]=s(d,f):c[d]=f;return t.prototype=c,t.constructor=t,t.extend=i,t},t}),r(de,[m],function(e){function t(t){function n(){return!1}function r(){return!0}function i(e,i){var o,s,l,u;if(e=e.toLowerCase(),i=i||{},i.type=e,i.target||(i.target=c),i.preventDefault||(i.preventDefault=function(){i.isDefaultPrevented=r},i.stopPropagation=function(){i.isPropagationStopped=r},i.stopImmediatePropagation=function(){i.isImmediatePropagationStopped=r},i.isDefaultPrevented=n,i.isPropagationStopped=n,i.isImmediatePropagationStopped=n),t.beforeFire&&t.beforeFire(i),o=d[e])for(s=0,l=o.length;s<l;s++){if(u=o[s],u.once&&a(e,u.func),i.isImmediatePropagationStopped())return i.stopPropagation(),i;if(u.func.call(c,i)===!1)return i.preventDefault(),i}return i}function o(t,r,i,o){var a,s,l;if(r===!1&&(r=n),r)for(r={func:r},o&&e.extend(r,o),s=t.toLowerCase().split(\" \"),l=s.length;l--;)t=s[l],a=d[t],a||(a=d[t]=[],f(t,!0)),i?a.unshift(r):a.push(r);return u}function a(e,t){var n,r,i,o,a;if(e)for(o=e.toLowerCase().split(\" \"),n=o.length;n--;){if(e=o[n],r=d[e],!e){for(i in d)f(i,!1),delete d[i];return u}if(r){if(t)for(a=r.length;a--;)r[a].func===t&&(r=r.slice(0,a).concat(r.slice(a+1)),d[e]=r);else r.length=0;r.length||(f(e,!1),delete d[e])}}else{for(e in d)f(e,!1);d={}}return u}function s(e,t,n){return o(e,t,n,{once:!0})}function l(e){return e=e.toLowerCase(),!(!d[e]||0===d[e].length)}var u=this,c,d={},f;t=t||{},c=t.scope||u,f=t.toggleEvent||n,u.fire=i,u.on=o,u.off=a,u.once=s,u.has=l}var n=e.makeMap(\"focus blur focusin focusout click dblclick mousedown mouseup mousemove mouseover beforepaste paste cut copy selectionchange mouseout mouseenter mouseleave wheel keydown keypress keyup input contextmenu dragstart dragend dragover draggesture dragdrop drop drag submit compositionstart compositionend compositionupdate touchstart touchmove touchend\",\" \");return t.isNative=function(e){return!!n[e.toLowerCase()]},t}),r(fe,[],function(){function e(e){this.create=e.create}return e.create=function(t,n){return new e({create:function(e,r){function i(t){e.set(r,t.value)}function o(e){t.set(n,e.value)}var a;return e.on(\"change:\"+r,o),t.on(\"change:\"+n,i),a=e._bindings,a||(a=e._bindings=[],e.on(\"destroy\",function(){for(var e=a.length;e--;)a[e]()})),a.push(function(){t.off(\"change:\"+n,i)}),t.get(n)}})},e}),r(pe,[de],function(e){function t(t){return t._eventDispatcher||(t._eventDispatcher=new e({scope:t,toggleEvent:function(n,r){e.isNative(n)&&t.toggleNativeEvent&&t.toggleNativeEvent(n,r)}})),t._eventDispatcher}return{fire:function(e,n,r){var i=this;if(i.removed&&\"remove\"!==e)return n;if(n=t(i).fire(e,n,r),r!==!1&&i.parent)for(var o=i.parent();o&&!n.isPropagationStopped();)o.fire(e,n,!1),o=o.parent();return n},on:function(e,n,r){return t(this).on(e,n,r)},off:function(e,n){return t(this).off(e,n)},once:function(e,n){return t(this).once(e,n)},hasEventListeners:function(e){return t(this).has(e)}}}),r(he,[fe,pe,ce,m],function(e,t,n,r){function i(e){return e.nodeType>0}function o(e,t){var n,a;if(e===t)return!0;if(null===e||null===t)return e===t;if(\"object\"!=typeof e||\"object\"!=typeof t)return e===t;if(r.isArray(t)){if(e.length!==t.length)return!1;for(n=e.length;n--;)if(!o(e[n],t[n]))return!1}if(i(e)||i(t))return e===t;a={};for(n in t){if(!o(e[n],t[n]))return!1;a[n]=!0}for(n in e)if(!a[n]&&!o(e[n],t[n]))return!1;return!0}return n.extend({Mixins:[t],init:function(t){var n,r;t=t||{};for(n in t)r=t[n],r instanceof e&&(t[n]=r.create(this,n));this.data=t},set:function(t,n){var r,i,a=this.data[t];if(n instanceof e&&(n=n.create(this,t)),\"object\"==typeof t){for(r in t)this.set(r,t[r]);return this}return o(a,n)||(this.data[t]=n,i={target:this,name:t,value:n,oldValue:a},this.fire(\"change:\"+t,i),this.fire(\"change\",i)),this},get:function(e){return this.data[e]},has:function(e){return e in this.data},bind:function(t){return e.create(this,t)},destroy:function(){this.fire(\"destroy\")}})}),r(me,[ce],function(e){function t(e){for(var t=[],n=e.length,r;n--;)r=e[n],r.__checked||(t.push(r),r.__checked=1);for(n=t.length;n--;)delete t[n].__checked;return t}var n=/^([\\w\\\\*]+)?(?:#([\\w\\-\\\\]+))?(?:\\.([\\w\\\\\\.]+))?(?:\\[\\@?([\\w\\\\]+)([\\^\\$\\*!~]?=)([\\w\\\\]+)\\])?(?:\\:(.+))?/i,r=/((?:\\((?:\\([^()]+\\)|[^()]+)+\\)|\\[(?:\\[[^\\[\\]]*\\]|['\"][^'\"]*['\"]|[^\\[\\]'\"]+)+\\]|\\\\.|[^ >+~,(\\[\\\\]+)+|[>+~])(\\s*,\\s*)?((?:.|\\r|\\n)*)/g,i=/^\\s*|\\s*$/g,o,a=e.extend({init:function(e){function t(e){if(e)return e=e.toLowerCase(),function(t){return\"*\"===e||t.type===e}}function o(e){if(e)return function(t){return t._name===e}}function a(e){if(e)return e=e.split(\".\"),function(t){for(var n=e.length;n--;)if(!t.classes.contains(e[n]))return!1;return!0}}function s(e,t,n){if(e)return function(r){var i=r[e]?r[e]():\"\";return t?\"=\"===t?i===n:\"*=\"===t?i.indexOf(n)>=0:\"~=\"===t?(\" \"+i+\" \").indexOf(\" \"+n+\" \")>=0:\"!=\"===t?i!=n:\"^=\"===t?0===i.indexOf(n):\"$=\"===t&&i.substr(i.length-n.length)===n:!!n}}function l(e){var t;if(e)return e=/(?:not\\((.+)\\))|(.+)/i.exec(e),e[1]?(t=c(e[1],[]),function(e){return!d(e,t)}):(e=e[2],function(t,n,r){return\"first\"===e?0===n:\"last\"===e?n===r-1:\"even\"===e?n%2===0:\"odd\"===e?n%2===1:!!t[e]&&t[e]()})}function u(e,r,u){function c(e){e&&r.push(e)}var d;return d=n.exec(e.replace(i,\"\")),c(t(d[1])),c(o(d[2])),c(a(d[3])),c(s(d[4],d[5],d[6])),c(l(d[7])),r.pseudo=!!d[7],r.direct=u,r}function c(e,t){var n=[],i,o,a;do if(r.exec(\"\"),o=r.exec(e),o&&(e=o[3],n.push(o[1]),o[2])){i=o[3];break}while(o);for(i&&c(i,t),e=[],a=0;a<n.length;a++)\">\"!=n[a]&&e.push(u(n[a],[],\">\"===n[a-1]));return t.push(e),t}var d=this.match;this._selectors=c(e,[])},match:function(e,t){var n,r,i,o,a,s,l,u,c,d,f,p,h;for(t=t||this._selectors,n=0,r=t.length;n<r;n++){for(a=t[n],o=a.length,h=e,p=0,i=o-1;i>=0;i--)for(u=a[i];h;){if(u.pseudo)for(f=h.parent().items(),c=d=f.length;c--&&f[c]!==h;);for(s=0,l=u.length;s<l;s++)if(!u[s](h,c,d)){s=l+1;break}if(s===l){p++;break}if(i===o-1)break;h=h.parent()}if(p===o)return!0}return!1},find:function(e){function n(e,t,i){var o,a,s,l,u,c=t[i];for(o=0,a=e.length;o<a;o++){for(u=e[o],s=0,l=c.length;s<l;s++)if(!c[s](u,o,a)){s=l+1;break}if(s===l)i==t.length-1?r.push(u):u.items&&n(u.items(),t,i+1);else if(c.direct)return;u.items&&n(u.items(),t,i)}}var r=[],i,s,l=this._selectors;if(e.items){for(i=0,s=l.length;i<s;i++)n(e.items(),l[i],0);s>1&&(r=t(r))}return o||(o=a.Collection),new o(r)}});return a}),r(ge,[m,me,ce],function(e,t,n){var r,i,o=Array.prototype.push,a=Array.prototype.slice;return i={length:0,init:function(e){e&&this.add(e)},add:function(t){var n=this;return e.isArray(t)?o.apply(n,t):t instanceof r?n.add(t.toArray()):o.call(n,t),n},set:function(e){var t=this,n=t.length,r;for(t.length=0,t.add(e),r=t.length;r<n;r++)delete t[r];return t},filter:function(e){var n=this,i,o,a=[],s,l;for(\"string\"==typeof e?(e=new t(e),l=function(t){return e.match(t)}):l=e,i=0,o=n.length;i<o;i++)s=n[i],l(s)&&a.push(s);return new r(a)},slice:function(){return new r(a.apply(this,arguments))},eq:function(e){return e===-1?this.slice(e):this.slice(e,+e+1)},each:function(t){return e.each(this,t),this},toArray:function(){return e.toArray(this)},indexOf:function(e){for(var t=this,n=t.length;n--&&t[n]!==e;);return n},reverse:function(){return new r(e.toArray(this).reverse())},hasClass:function(e){return!!this[0]&&this[0].classes.contains(e)},prop:function(e,t){var n=this,r,i;return t!==r?(n.each(function(n){n[e]&&n[e](t)}),n):(i=n[0],i&&i[e]?i[e]():void 0)},exec:function(t){var n=this,r=e.toArray(arguments).slice(1);return n.each(function(e){e[t]&&e[t].apply(e,r)}),n},remove:function(){for(var e=this.length;e--;)this[e].remove();return this},addClass:function(e){return this.each(function(t){t.classes.add(e)})},removeClass:function(e){return this.each(function(t){t.classes.remove(e)})}},e.each(\"fire on off show hide append prepend before after reflow\".split(\" \"),function(t){i[t]=function(){var n=e.toArray(arguments);return this.each(function(e){t in e&&e[t].apply(e,n)}),this}}),e.each(\"text name disabled active selected checked visible parent value data\".split(\" \"),function(e){i[e]=function(t){return this.prop(e,t)}}),r=n.extend(i),t.Collection=r,r}),r(ve,[d,m,w],function(e,t,n){var r=0,i={id:function(){return\"mceu_\"+r++},create:function(e,r,i){var o=document.createElement(e);return n.DOM.setAttribs(o,r),\"string\"==typeof i?o.innerHTML=i:t.each(i,function(e){e.nodeType&&o.appendChild(e)}),o},createFragment:function(e){return n.DOM.createFragment(e)},getWindowSize:function(){return n.DOM.getViewPort()},getSize:function(e){var t,n;if(e.getBoundingClientRect){var r=e.getBoundingClientRect();t=Math.max(r.width||r.right-r.left,e.offsetWidth),n=Math.max(r.height||r.bottom-r.bottom,e.offsetHeight)}else t=e.offsetWidth,n=e.offsetHeight;return{width:t,height:n}},getPos:function(e,t){return n.DOM.getPos(e,t||i.getContainer())},getContainer:function(){return e.container?e.container:document.body},getViewPort:function(e){return n.DOM.getViewPort(e)},get:function(e){return document.getElementById(e)},addClass:function(e,t){return n.DOM.addClass(e,t)},removeClass:function(e,t){return n.DOM.removeClass(e,t)},hasClass:function(e,t){return n.DOM.hasClass(e,t)},toggleClass:function(e,t,r){return n.DOM.toggleClass(e,t,r)},css:function(e,t,r){return n.DOM.setStyle(e,t,r)},getRuntimeStyle:function(e,t){return n.DOM.getStyle(e,t,!0)},on:function(e,t,r,i){\nreturn n.DOM.bind(e,t,r,i)},off:function(e,t,r){return n.DOM.unbind(e,t,r)},fire:function(e,t,r){return n.DOM.fire(e,t,r)},innerHtml:function(e,t){n.DOM.setHTML(e,t)}};return i}),r(ye,[],function(){return{parseBox:function(e){var t,n=10;if(e)return\"number\"==typeof e?(e=e||0,{top:e,left:e,bottom:e,right:e}):(e=e.split(\" \"),t=e.length,1===t?e[1]=e[2]=e[3]=e[0]:2===t?(e[2]=e[0],e[3]=e[1]):3===t&&(e[3]=e[1]),{top:parseInt(e[0],n)||0,right:parseInt(e[1],n)||0,bottom:parseInt(e[2],n)||0,left:parseInt(e[3],n)||0})},measureBox:function(e,t){function n(t){var n=document.defaultView;return n?(t=t.replace(/[A-Z]/g,function(e){return\"-\"+e}),n.getComputedStyle(e,null).getPropertyValue(t)):e.currentStyle[t]}function r(e){var t=parseFloat(n(e),10);return isNaN(t)?0:t}return{top:r(t+\"TopWidth\"),right:r(t+\"RightWidth\"),bottom:r(t+\"BottomWidth\"),left:r(t+\"LeftWidth\")}}}}),r(be,[m],function(e){function t(){}function n(e){this.cls=[],this.cls._map={},this.onchange=e||t,this.prefix=\"\"}return e.extend(n.prototype,{add:function(e){return e&&!this.contains(e)&&(this.cls._map[e]=!0,this.cls.push(e),this._change()),this},remove:function(e){if(this.contains(e)){for(var t=0;t<this.cls.length&&this.cls[t]!==e;t++);this.cls.splice(t,1),delete this.cls._map[e],this._change()}return this},toggle:function(e,t){var n=this.contains(e);return n!==t&&(n?this.remove(e):this.add(e),this._change()),this},contains:function(e){return!!this.cls._map[e]},_change:function(){delete this.clsValue,this.onchange.call(this)}}),n.prototype.toString=function(){var e;if(this.clsValue)return this.clsValue;e=\"\";for(var t=0;t<this.cls.length;t++)t>0&&(e+=\" \"),e+=this.prefix+this.cls[t];return e},n}),r(Ce,[c],function(e){var t={},n;return{add:function(r){var i=r.parent();if(i){if(!i._layout||i._layout.isNative())return;t[i._id]||(t[i._id]=i),n||(n=!0,e.requestAnimationFrame(function(){var e,r;n=!1;for(e in t)r=t[e],r.state.get(\"rendered\")&&r.reflow();t={}},document.body))}},remove:function(e){t[e._id]&&delete t[e._id]}}}),r(xe,[ce,m,de,he,ge,ve,g,ye,be,Ce],function(e,t,n,r,i,o,a,s,l,u){function c(e){return e._eventDispatcher||(e._eventDispatcher=new n({scope:e,toggleEvent:function(t,r){r&&n.isNative(t)&&(e._nativeEvents||(e._nativeEvents={}),e._nativeEvents[t]=!0,e.state.get(\"rendered\")&&d(e))}})),e._eventDispatcher}function d(e){function t(t){var n=e.getParentCtrl(t.target);n&&n.fire(t.type,t)}function n(){var e=u._lastHoverCtrl;e&&(e.fire(\"mouseleave\",{target:e.getEl()}),e.parents().each(function(e){e.fire(\"mouseleave\",{target:e.getEl()})}),u._lastHoverCtrl=null)}function r(t){var n=e.getParentCtrl(t.target),r=u._lastHoverCtrl,i=0,o,a,s;if(n!==r){if(u._lastHoverCtrl=n,a=n.parents().toArray().reverse(),a.push(n),r){for(s=r.parents().toArray().reverse(),s.push(r),i=0;i<s.length&&a[i]===s[i];i++);for(o=s.length-1;o>=i;o--)r=s[o],r.fire(\"mouseleave\",{target:r.getEl()})}for(o=i;o<a.length;o++)n=a[o],n.fire(\"mouseenter\",{target:n.getEl()})}}function i(t){t.preventDefault(),\"mousewheel\"==t.type?(t.deltaY=-.025*t.wheelDelta,t.wheelDeltaX&&(t.deltaX=-.025*t.wheelDeltaX)):(t.deltaX=0,t.deltaY=t.detail),t=e.fire(\"wheel\",t)}var o,s,l,u,c,d;if(c=e._nativeEvents){for(l=e.parents().toArray(),l.unshift(e),o=0,s=l.length;!u&&o<s;o++)u=l[o]._eventsRoot;for(u||(u=l[l.length-1]||e),e._eventsRoot=u,s=o,o=0;o<s;o++)l[o]._eventsRoot=u;var h=u._delegates;h||(h=u._delegates={});for(d in c){if(!c)return!1;\"wheel\"!==d||p?(\"mouseenter\"===d||\"mouseleave\"===d?u._hasMouseEnter||(a(u.getEl()).on(\"mouseleave\",n).on(\"mouseover\",r),u._hasMouseEnter=1):h[d]||(a(u.getEl()).on(d,t),h[d]=!0),c[d]=!1):f?a(e.getEl()).on(\"mousewheel\",i):a(e.getEl()).on(\"DOMMouseScroll\",i)}}}var f=\"onmousewheel\"in document,p=!1,h=\"mce-\",m,g=0,v={Statics:{classPrefix:h},isRtl:function(){return m.rtl},classPrefix:h,init:function(e){function n(e){var t;for(e=e.split(\" \"),t=0;t<e.length;t++)i.classes.add(e[t])}var i=this,o,u;i.settings=e=t.extend({},i.Defaults,e),i._id=e.id||\"mceu_\"+g++,i._aria={role:e.role},i._elmCache={},i.$=a,i.state=new r({visible:!0,active:!1,disabled:!1,value:\"\"}),i.data=new r(e.data),i.classes=new l(function(){i.state.get(\"rendered\")&&(i.getEl().className=this.toString())}),i.classes.prefix=i.classPrefix,o=e.classes,o&&(i.Defaults&&(u=i.Defaults.classes,u&&o!=u&&n(u)),n(o)),t.each(\"title text name visible disabled active value\".split(\" \"),function(t){t in e&&i[t](e[t])}),i.on(\"click\",function(){if(i.disabled())return!1}),i.settings=e,i.borderBox=s.parseBox(e.border),i.paddingBox=s.parseBox(e.padding),i.marginBox=s.parseBox(e.margin),e.hidden&&i.hide()},Properties:\"parent,name\",getContainerElm:function(){return o.getContainer()},getParentCtrl:function(e){for(var t,n=this.getRoot().controlIdLookup;e&&n&&!(t=n[e.id]);)e=e.parentNode;return t},initLayoutRect:function(){var e=this,t=e.settings,n,r,i=e.getEl(),a,l,u,c,d,f,p,h;n=e.borderBox=e.borderBox||s.measureBox(i,\"border\"),e.paddingBox=e.paddingBox||s.measureBox(i,\"padding\"),e.marginBox=e.marginBox||s.measureBox(i,\"margin\"),h=o.getSize(i),f=t.minWidth,p=t.minHeight,u=f||h.width,c=p||h.height,a=t.width,l=t.height,d=t.autoResize,d=\"undefined\"!=typeof d?d:!a&&!l,a=a||u,l=l||c;var m=n.left+n.right,g=n.top+n.bottom,v=t.maxWidth||65535,y=t.maxHeight||65535;return e._layoutRect=r={x:t.x||0,y:t.y||0,w:a,h:l,deltaW:m,deltaH:g,contentW:a-m,contentH:l-g,innerW:a-m,innerH:l-g,startMinWidth:f||0,startMinHeight:p||0,minW:Math.min(u,v),minH:Math.min(c,y),maxW:v,maxH:y,autoResize:d,scrollW:0},e._lastLayoutRect={},r},layoutRect:function(e){var t=this,n=t._layoutRect,r,i,o,a,s,l;return n||(n=t.initLayoutRect()),e?(o=n.deltaW,a=n.deltaH,e.x!==s&&(n.x=e.x),e.y!==s&&(n.y=e.y),e.minW!==s&&(n.minW=e.minW),e.minH!==s&&(n.minH=e.minH),i=e.w,i!==s&&(i=i<n.minW?n.minW:i,i=i>n.maxW?n.maxW:i,n.w=i,n.innerW=i-o),i=e.h,i!==s&&(i=i<n.minH?n.minH:i,i=i>n.maxH?n.maxH:i,n.h=i,n.innerH=i-a),i=e.innerW,i!==s&&(i=i<n.minW-o?n.minW-o:i,i=i>n.maxW-o?n.maxW-o:i,n.innerW=i,n.w=i+o),i=e.innerH,i!==s&&(i=i<n.minH-a?n.minH-a:i,i=i>n.maxH-a?n.maxH-a:i,n.innerH=i,n.h=i+a),e.contentW!==s&&(n.contentW=e.contentW),e.contentH!==s&&(n.contentH=e.contentH),r=t._lastLayoutRect,r.x===n.x&&r.y===n.y&&r.w===n.w&&r.h===n.h||(l=m.repaintControls,l&&l.map&&!l.map[t._id]&&(l.push(t),l.map[t._id]=!0),r.x=n.x,r.y=n.y,r.w=n.w,r.h=n.h),t):n},repaint:function(){var e=this,t,n,r,i,o,a,s,l,u,c;u=document.createRange?function(e){return e}:Math.round,t=e.getEl().style,i=e._layoutRect,l=e._lastRepaintRect||{},o=e.borderBox,a=o.left+o.right,s=o.top+o.bottom,i.x!==l.x&&(t.left=u(i.x)+\"px\",l.x=i.x),i.y!==l.y&&(t.top=u(i.y)+\"px\",l.y=i.y),i.w!==l.w&&(c=u(i.w-a),t.width=(c>=0?c:0)+\"px\",l.w=i.w),i.h!==l.h&&(c=u(i.h-s),t.height=(c>=0?c:0)+\"px\",l.h=i.h),e._hasBody&&i.innerW!==l.innerW&&(c=u(i.innerW),r=e.getEl(\"body\"),r&&(n=r.style,n.width=(c>=0?c:0)+\"px\"),l.innerW=i.innerW),e._hasBody&&i.innerH!==l.innerH&&(c=u(i.innerH),r=r||e.getEl(\"body\"),r&&(n=n||r.style,n.height=(c>=0?c:0)+\"px\"),l.innerH=i.innerH),e._lastRepaintRect=l,e.fire(\"repaint\",{},!1)},updateLayoutRect:function(){var e=this;e.parent()._lastRect=null,o.css(e.getEl(),{width:\"\",height:\"\"}),e._layoutRect=e._lastRepaintRect=e._lastLayoutRect=null,e.initLayoutRect()},on:function(e,t){function n(e){var t,n;return\"string\"!=typeof e?e:function(i){return t||r.parentsAndSelf().each(function(r){var i=r.settings.callbacks;if(i&&(t=i[e]))return n=r,!1}),t?t.call(n,i):(i.action=e,void this.fire(\"execute\",i))}}var r=this;return c(r).on(e,n(t)),r},off:function(e,t){return c(this).off(e,t),this},fire:function(e,t,n){var r=this;if(t=t||{},t.control||(t.control=r),t=c(r).fire(e,t),n!==!1&&r.parent)for(var i=r.parent();i&&!t.isPropagationStopped();)i.fire(e,t,!1),i=i.parent();return t},hasEventListeners:function(e){return c(this).has(e)},parents:function(e){var t=this,n,r=new i;for(n=t.parent();n;n=n.parent())r.add(n);return e&&(r=r.filter(e)),r},parentsAndSelf:function(e){return new i(this).add(this.parents(e))},next:function(){var e=this.parent().items();return e[e.indexOf(this)+1]},prev:function(){var e=this.parent().items();return e[e.indexOf(this)-1]},innerHtml:function(e){return this.$el.html(e),this},getEl:function(e){var t=e?this._id+\"-\"+e:this._id;return this._elmCache[t]||(this._elmCache[t]=a(\"#\"+t)[0]),this._elmCache[t]},show:function(){return this.visible(!0)},hide:function(){return this.visible(!1)},focus:function(){try{this.getEl().focus()}catch(e){}return this},blur:function(){return this.getEl().blur(),this},aria:function(e,t){var n=this,r=n.getEl(n.ariaTarget);return\"undefined\"==typeof t?n._aria[e]:(n._aria[e]=t,n.state.get(\"rendered\")&&r.setAttribute(\"role\"==e?e:\"aria-\"+e,t),n)},encode:function(e,t){return t!==!1&&(e=this.translate(e)),(e||\"\").replace(/[&<>\"]/g,function(e){return\"&#\"+e.charCodeAt(0)+\";\"})},translate:function(e){return m.translate?m.translate(e):e},before:function(e){var t=this,n=t.parent();return n&&n.insert(e,n.items().indexOf(t),!0),t},after:function(e){var t=this,n=t.parent();return n&&n.insert(e,n.items().indexOf(t)),t},remove:function(){var e=this,t=e.getEl(),n=e.parent(),r,i;if(e.items){var o=e.items().toArray();for(i=o.length;i--;)o[i].remove()}n&&n.items&&(r=[],n.items().each(function(t){t!==e&&r.push(t)}),n.items().set(r),n._lastRect=null),e._eventsRoot&&e._eventsRoot==e&&a(t).off();var s=e.getRoot().controlIdLookup;return s&&delete s[e._id],t&&t.parentNode&&t.parentNode.removeChild(t),e.state.set(\"rendered\",!1),e.state.destroy(),e.fire(\"remove\"),e},renderBefore:function(e){return a(e).before(this.renderHtml()),this.postRender(),this},renderTo:function(e){return a(e||this.getContainerElm()).append(this.renderHtml()),this.postRender(),this},preRender:function(){},render:function(){},renderHtml:function(){return'<div id=\"'+this._id+'\" class=\"'+this.classes+'\"></div>'},postRender:function(){var e=this,t=e.settings,n,r,i,o,s;e.$el=a(e.getEl()),e.state.set(\"rendered\",!0);for(o in t)0===o.indexOf(\"on\")&&e.on(o.substr(2),t[o]);if(e._eventsRoot){for(i=e.parent();!s&&i;i=i.parent())s=i._eventsRoot;if(s)for(o in s._nativeEvents)e._nativeEvents[o]=!0}d(e),t.style&&(n=e.getEl(),n&&(n.setAttribute(\"style\",t.style),n.style.cssText=t.style)),e.settings.border&&(r=e.borderBox,e.$el.css({\"border-top-width\":r.top,\"border-right-width\":r.right,\"border-bottom-width\":r.bottom,\"border-left-width\":r.left}));var l=e.getRoot();l.controlIdLookup||(l.controlIdLookup={}),l.controlIdLookup[e._id]=e;for(var c in e._aria)e.aria(c,e._aria[c]);e.state.get(\"visible\")===!1&&(e.getEl().style.display=\"none\"),e.bindStates(),e.state.on(\"change:visible\",function(t){var n=t.value,r;e.state.get(\"rendered\")&&(e.getEl().style.display=n===!1?\"none\":\"\",e.getEl().getBoundingClientRect()),r=e.parent(),r&&(r._lastRect=null),e.fire(n?\"show\":\"hide\"),u.add(e)}),e.fire(\"postrender\",{},!1)},bindStates:function(){},scrollIntoView:function(e){function t(e,t){var n,r,i=e;for(n=r=0;i&&i!=t&&i.nodeType;)n+=i.offsetLeft||0,r+=i.offsetTop||0,i=i.offsetParent;return{x:n,y:r}}var n=this.getEl(),r=n.parentNode,i,o,a,s,l,u,c=t(n,r);return i=c.x,o=c.y,a=n.offsetWidth,s=n.offsetHeight,l=r.clientWidth,u=r.clientHeight,\"end\"==e?(i-=l-a,o-=u-s):\"center\"==e&&(i-=l/2-a/2,o-=u/2-s/2),r.scrollLeft=i,r.scrollTop=o,this},getRoot:function(){for(var e=this,t,n=[];e;){if(e.rootControl){t=e.rootControl;break}n.push(e),t=e,e=e.parent()}t||(t=this);for(var r=n.length;r--;)n[r].rootControl=t;return t},reflow:function(){u.remove(this);var e=this.parent();return e._layout&&!e._layout.isNative()&&e.reflow(),this}};return t.each(\"text title visible disabled active value\".split(\" \"),function(e){v[e]=function(t){return 0===arguments.length?this.state.get(e):(\"undefined\"!=typeof t&&this.state.set(e,t),this)}}),m=e.extend(v)}),r(we,[],function(){var e={},t;return{add:function(t,n){e[t.toLowerCase()]=n},has:function(t){return!!e[t.toLowerCase()]},create:function(n,r){var i,o,a;if(!t){a=tinymce.ui;for(o in a)e[o.toLowerCase()]=a[o];t=!0}if(\"string\"==typeof n?(r=r||{},r.type=n):(r=n,n=r.type),n=n.toLowerCase(),i=e[n],!i)throw new Error(\"Could not find control by type: \"+n);return i=new i(r),i.type=n,i}}}),r(Ee,[],function(){return function(e){function t(e){return e&&1===e.nodeType}function n(e){return e=e||C,t(e)?e.getAttribute(\"role\"):null}function r(e){for(var t,r=e||C;r=r.parentNode;)if(t=n(r))return t}function i(e){var n=C;if(t(n))return n.getAttribute(\"aria-\"+e)}function o(e){var t=e.tagName.toUpperCase();return\"INPUT\"==t||\"TEXTAREA\"==t||\"SELECT\"==t}function a(e){return!(!o(e)||e.hidden)||!!/^(button|menuitem|checkbox|tab|menuitemcheckbox|option|gridcell|slider)$/.test(n(e))}function s(e){function t(e){if(1==e.nodeType&&\"none\"!=e.style.display&&!e.disabled){a(e)&&n.push(e);for(var r=0;r<e.childNodes.length;r++)t(e.childNodes[r])}}var n=[];return t(e||b.getEl()),n}function l(e){var t,n;e=e||x,n=e.parents().toArray(),n.unshift(e);for(var r=0;r<n.length&&(t=n[r],!t.settings.ariaRoot);r++);return t}function u(e){var t=l(e),n=s(t.getEl());t.settings.ariaRemember&&\"lastAriaIndex\"in t?c(t.lastAriaIndex,n):c(0,n)}function c(e,t){return e<0?e=t.length-1:e>=t.length&&(e=0),t[e]&&t[e].focus(),e}function d(e,t){var n=-1,r=l();t=t||s(r.getEl());for(var i=0;i<t.length;i++)t[i]===C&&(n=i);n+=e,r.lastAriaIndex=c(n,t)}function f(){var e=r();\"tablist\"==e?d(-1,s(C.parentNode)):x.parent().submenu?v():d(-1)}function p(){var e=n(),t=r();\"tablist\"==t?d(1,s(C.parentNode)):\"menuitem\"==e&&\"menu\"==t&&i(\"haspopup\")?y():d(1)}function h(){d(-1)}function m(){var e=n(),t=r();\"menuitem\"==e&&\"menubar\"==t?y():\"button\"==e&&i(\"haspopup\")?y({key:\"down\"}):d(1)}function g(e){var t=r();if(\"tablist\"==t){var n=s(x.getEl(\"body\"))[0];n&&n.focus()}else d(e.shiftKey?-1:1)}function v(){x.fire(\"cancel\")}function y(e){e=e||{},x.fire(\"click\",{target:C,aria:e})}var b=e.root,C,x;try{C=document.activeElement}catch(w){C=document.body}return x=b.getParentCtrl(C),b.on(\"keydown\",function(e){function t(e,t){o(C)||\"slider\"!==n(C)&&t(e)!==!1&&e.preventDefault()}if(!e.isDefaultPrevented())switch(e.keyCode){case 37:t(e,f);break;case 39:t(e,p);break;case 38:t(e,h);break;case 40:t(e,m);break;case 27:v();break;case 14:case 13:case 32:t(e,y);break;case 9:g(e)!==!1&&e.preventDefault()}}),b.on(\"focusin\",function(e){C=e.target,x=e.control}),{focusFirst:u}}}),r(Ne,[xe,ge,me,we,Ee,m,g,be,Ce],function(e,t,n,r,i,o,a,s,l){var u={};return e.extend({init:function(e){var n=this;n._super(e),e=n.settings,e.fixed&&n.state.set(\"fixed\",!0),n._items=new t,n.isRtl()&&n.classes.add(\"rtl\"),n.bodyClasses=new s(function(){n.state.get(\"rendered\")&&(n.getEl(\"body\").className=this.toString())}),n.bodyClasses.prefix=n.classPrefix,n.classes.add(\"container\"),n.bodyClasses.add(\"container-body\"),e.containerCls&&n.classes.add(e.containerCls),n._layout=r.create((e.layout||\"\")+\"layout\"),n.settings.items?n.add(n.settings.items):n.add(n.render()),n._hasBody=!0},items:function(){return this._items},find:function(e){return e=u[e]=u[e]||new n(e),e.find(this)},add:function(e){var t=this;return t.items().add(t.create(e)).parent(t),t},focus:function(e){var t=this,n,r,i;return e&&(r=t.keyboardNav||t.parents().eq(-1)[0].keyboardNav)?void r.focusFirst(t):(i=t.find(\"*\"),t.statusbar&&i.add(t.statusbar.items()),i.each(function(e){return e.settings.autofocus?(n=null,!1):void(e.canFocus&&(n=n||e))}),n&&n.focus(),t)},replace:function(e,t){for(var n,r=this.items(),i=r.length;i--;)if(r[i]===e){r[i]=t;break}i>=0&&(n=t.getEl(),n&&n.parentNode.removeChild(n),n=e.getEl(),n&&n.parentNode.removeChild(n)),t.parent(this)},create:function(t){var n=this,i,a=[];return o.isArray(t)||(t=[t]),o.each(t,function(t){t&&(t instanceof e||(\"string\"==typeof t&&(t={type:t}),i=o.extend({},n.settings.defaults,t),t.type=i.type=i.type||t.type||n.settings.defaultType||(i.defaults?i.defaults.type:null),t=r.create(i)),a.push(t))}),a},renderNew:function(){var e=this;return e.items().each(function(t,n){var r;t.parent(e),t.state.get(\"rendered\")||(r=e.getEl(\"body\"),r.hasChildNodes()&&n<=r.childNodes.length-1?a(r.childNodes[n]).before(t.renderHtml()):a(r).append(t.renderHtml()),t.postRender(),l.add(t))}),e._layout.applyClasses(e.items().filter(\":visible\")),e._lastRect=null,e},append:function(e){return this.add(e).renderNew()},prepend:function(e){var t=this;return t.items().set(t.create(e).concat(t.items().toArray())),t.renderNew()},insert:function(e,t,n){var r=this,i,o,a;return e=r.create(e),i=r.items(),!n&&t<i.length-1&&(t+=1),t>=0&&t<i.length&&(o=i.slice(0,t).toArray(),a=i.slice(t).toArray(),i.set(o.concat(e,a))),r.renderNew()},fromJSON:function(e){var t=this;for(var n in e)t.find(\"#\"+n).value(e[n]);return t},toJSON:function(){var e=this,t={};return e.find(\"*\").each(function(e){var n=e.name(),r=e.value();n&&\"undefined\"!=typeof r&&(t[n]=r)}),t},renderHtml:function(){var e=this,t=e._layout,n=this.settings.role;return e.preRender(),t.preRender(e),'<div id=\"'+e._id+'\" class=\"'+e.classes+'\"'+(n?' role=\"'+this.settings.role+'\"':\"\")+'><div id=\"'+e._id+'-body\" class=\"'+e.bodyClasses+'\">'+(e.settings.html||\"\")+t.renderHtml(e)+\"</div></div>\"},postRender:function(){var e=this,t;return e.items().exec(\"postRender\"),e._super(),e._layout.postRender(e),e.state.set(\"rendered\",!0),e.settings.style&&e.$el.css(e.settings.style),e.settings.border&&(t=e.borderBox,e.$el.css({\"border-top-width\":t.top,\"border-right-width\":t.right,\"border-bottom-width\":t.bottom,\"border-left-width\":t.left})),e.parent()||(e.keyboardNav=new i({root:e})),e},initLayoutRect:function(){var e=this,t=e._super();return e._layout.recalc(e),t},recalc:function(){var e=this,t=e._layoutRect,n=e._lastRect;if(!n||n.w!=t.w||n.h!=t.h)return e._layout.recalc(e),t=e.layoutRect(),e._lastRect={x:t.x,y:t.y,w:t.w,h:t.h},!0},reflow:function(){var t;if(l.remove(this),this.visible()){for(e.repaintControls=[],e.repaintControls.map={},this.recalc(),t=e.repaintControls.length;t--;)e.repaintControls[t].repaint();\"flow\"!==this.settings.layout&&\"stack\"!==this.settings.layout&&this.repaint(),e.repaintControls=[]}return this}})}),r(_e,[g],function(e){function t(e){var t,n,r,i,o,a,s,l,u=Math.max;return t=e.documentElement,n=e.body,r=u(t.scrollWidth,n.scrollWidth),i=u(t.clientWidth,n.clientWidth),o=u(t.offsetWidth,n.offsetWidth),a=u(t.scrollHeight,n.scrollHeight),s=u(t.clientHeight,n.clientHeight),l=u(t.offsetHeight,n.offsetHeight),{width:r<o?i:r,height:a<l?s:a}}function n(e){var t,n;if(e.changedTouches)for(t=\"screenX screenY pageX pageY clientX clientY\".split(\" \"),n=0;n<t.length;n++)e[t[n]]=e.changedTouches[0][t[n]]}return function(r,i){function o(){return s.getElementById(i.handle||r)}var a,s=i.document||document,l,u,c,d,f,p;i=i||{},u=function(r){var u=t(s),h,m;n(r),r.preventDefault(),l=r.button,h=o(),f=r.screenX,p=r.screenY,m=window.getComputedStyle?window.getComputedStyle(h,null).getPropertyValue(\"cursor\"):h.runtimeStyle.cursor,a=e(\"<div></div>\").css({position:\"absolute\",top:0,left:0,width:u.width,height:u.height,zIndex:2147483647,opacity:1e-4,cursor:m}).appendTo(s.body),e(s).on(\"mousemove touchmove\",d).on(\"mouseup touchend\",c),i.start(r)},d=function(e){return n(e),e.button!==l?c(e):(e.deltaX=e.screenX-f,e.deltaY=e.screenY-p,e.preventDefault(),void i.drag(e))},c=function(t){n(t),e(s).off(\"mousemove touchmove\",d).off(\"mouseup touchend\",c),a.remove(),i.stop&&i.stop(t)},this.destroy=function(){e(o()).off()},e(o()).on(\"mousedown touchstart\",u)}}),r(Se,[g,_e],function(e,t){return{init:function(){var e=this;e.on(\"repaint\",e.renderScroll)},renderScroll:function(){function n(){function t(t,a,s,l,u,c){var d,f,p,h,m,g,v,y,b;if(f=i.getEl(\"scroll\"+t)){if(y=a.toLowerCase(),b=s.toLowerCase(),e(i.getEl(\"absend\")).css(y,i.layoutRect()[l]-1),!u)return void e(f).css(\"display\",\"none\");e(f).css(\"display\",\"block\"),d=i.getEl(\"body\"),p=i.getEl(\"scroll\"+t+\"t\"),h=d[\"client\"+s]-2*o,h-=n&&r?f[\"client\"+c]:0,m=d[\"scroll\"+s],g=h/m,v={},v[y]=d[\"offset\"+a]+o,v[b]=h,e(f).css(v),v={},v[y]=d[\"scroll\"+a]*g,v[b]=h*g,e(p).css(v)}}var n,r,a;a=i.getEl(\"body\"),n=a.scrollWidth>a.clientWidth,r=a.scrollHeight>a.clientHeight,t(\"h\",\"Left\",\"Width\",\"contentW\",n,\"Height\"),t(\"v\",\"Top\",\"Height\",\"contentH\",r,\"Width\")}function r(){function n(n,r,a,s,l){var u,c=i._id+\"-scroll\"+n,d=i.classPrefix;e(i.getEl()).append('<div id=\"'+c+'\" class=\"'+d+\"scrollbar \"+d+\"scrollbar-\"+n+'\"><div id=\"'+c+'t\" class=\"'+d+'scrollbar-thumb\"></div></div>'),i.draghelper=new t(c+\"t\",{start:function(){u=i.getEl(\"body\")[\"scroll\"+r],e(\"#\"+c).addClass(d+\"active\")},drag:function(e){var t,c,d,f,p=i.layoutRect();c=p.contentW>p.innerW,d=p.contentH>p.innerH,f=i.getEl(\"body\")[\"client\"+a]-2*o,f-=c&&d?i.getEl(\"scroll\"+n)[\"client\"+l]:0,t=f/i.getEl(\"body\")[\"scroll\"+a],i.getEl(\"body\")[\"scroll\"+r]=u+e[\"delta\"+s]/t},stop:function(){e(\"#\"+c).removeClass(d+\"active\")}})}i.classes.add(\"scroll\"),n(\"v\",\"Top\",\"Height\",\"Y\",\"Width\"),n(\"h\",\"Left\",\"Width\",\"X\",\"Height\")}var i=this,o=2;i.settings.autoScroll&&(i._hasScroll||(i._hasScroll=!0,r(),i.on(\"wheel\",function(e){var t=i.getEl(\"body\");t.scrollLeft+=10*(e.deltaX||0),t.scrollTop+=10*e.deltaY,n()}),e(i.getEl(\"body\")).on(\"scroll\",n)),n())}}}),r(ke,[Ne,Se],function(e,t){return e.extend({Defaults:{layout:\"fit\",containerCls:\"panel\"},Mixins:[t],renderHtml:function(){var e=this,t=e._layout,n=e.settings.html;return e.preRender(),t.preRender(e),\"undefined\"==typeof n?n='<div id=\"'+e._id+'-body\" class=\"'+e.bodyClasses+'\">'+t.renderHtml(e)+\"</div>\":(\"function\"==typeof n&&(n=n.call(e)),e._hasBody=!1),'<div id=\"'+e._id+'\" class=\"'+e.classes+'\" hidefocus=\"1\" tabindex=\"-1\" role=\"group\">'+(e._preBodyHtml||\"\")+n+\"</div>\"}})}),r(Te,[ve],function(e){function t(t,n,r){var i,o,a,s,l,u,c,d,f,p;return f=e.getViewPort(),o=e.getPos(n),a=o.x,s=o.y,t.state.get(\"fixed\")&&\"static\"==e.getRuntimeStyle(document.body,\"position\")&&(a-=f.x,s-=f.y),i=t.getEl(),p=e.getSize(i),l=p.width,u=p.height,p=e.getSize(n),c=p.width,d=p.height,r=(r||\"\").split(\"\"),\"b\"===r[0]&&(s+=d),\"r\"===r[1]&&(a+=c),\"c\"===r[0]&&(s+=Math.round(d/2)),\"c\"===r[1]&&(a+=Math.round(c/2)),\"b\"===r[3]&&(s-=u),\"r\"===r[4]&&(a-=l),\"c\"===r[3]&&(s-=Math.round(u/2)),\"c\"===r[4]&&(a-=Math.round(l/2)),{x:a,y:s,w:l,h:u}}return{testMoveRel:function(n,r){for(var i=e.getViewPort(),o=0;o<r.length;o++){var a=t(this,n,r[o]);if(this.state.get(\"fixed\")){if(a.x>0&&a.x+a.w<i.w&&a.y>0&&a.y+a.h<i.h)return r[o]}else if(a.x>i.x&&a.x+a.w<i.w+i.x&&a.y>i.y&&a.y+a.h<i.h+i.y)return r[o]}return r[0]},moveRel:function(e,n){\"string\"!=typeof n&&(n=this.testMoveRel(e,n));var r=t(this,e,n);return this.moveTo(r.x,r.y)},moveBy:function(e,t){var n=this,r=n.layoutRect();return n.moveTo(r.x+e,r.y+t),n},moveTo:function(t,n){function r(e,t,n){return e<0?0:e+n>t?(e=t-n,e<0?0:e):e}var i=this;if(i.settings.constrainToViewport){var o=e.getViewPort(window),a=i.layoutRect();t=r(t,o.w+o.x,a.w),n=r(n,o.h+o.y,a.h)}return i.state.get(\"rendered\")?i.layoutRect({x:t,y:n}).repaint():(i.settings.x=t,i.settings.y=n),i.fire(\"move\",{x:t,y:n}),i}}}),r(Re,[ve],function(e){return{resizeToContent:function(){this._layoutRect.autoResize=!0,this._lastRect=null,this.reflow()},resizeTo:function(t,n){if(t<=1||n<=1){var r=e.getWindowSize();t=t<=1?t*r.w:t,n=n<=1?n*r.h:n}return this._layoutRect.autoResize=!1,this.layoutRect({minW:t,minH:n,w:t,h:n}).reflow()},resizeBy:function(e,t){var n=this,r=n.layoutRect();return n.resizeTo(r.w+e,r.h+t)}}}),r(Ae,[ke,Te,Re,ve,g,c],function(e,t,n,r,i,o){function a(e,t){for(;e;){if(e==t)return!0;e=e.parent()}}function s(e){for(var t=v.length;t--;){var n=v[t],r=n.getParentCtrl(e.target);if(n.settings.autohide){if(r&&(a(r,n)||n.parent()===r))continue;e=n.fire(\"autohide\",{target:e.target}),e.isDefaultPrevented()||n.hide()}}}function l(){h||(h=function(e){2!=e.button&&s(e)},i(document).on(\"click touchstart\",h))}function u(){m||(m=function(){var e;for(e=v.length;e--;)d(v[e])},i(window).on(\"scroll\",m))}function c(){if(!g){var e=document.documentElement,t=e.clientWidth,n=e.clientHeight;g=function(){document.all&&t==e.clientWidth&&n==e.clientHeight||(t=e.clientWidth,n=e.clientHeight,C.hideAll())},i(window).on(\"resize\",g)}}function d(e){function t(t,n){for(var r,i=0;i<v.length;i++)if(v[i]!=e)for(r=v[i].parent();r&&(r=r.parent());)r==e&&v[i].fixed(t).moveBy(0,n).repaint()}var n=r.getViewPort().y;e.settings.autofix&&(e.state.get(\"fixed\")?e._autoFixY>n&&(e.fixed(!1).layoutRect({y:e._autoFixY}).repaint(),t(!1,e._autoFixY-n)):(e._autoFixY=e.layoutRect().y,e._autoFixY<n&&(e.fixed(!0).layoutRect({y:0}).repaint(),t(!0,n-e._autoFixY))))}function f(e,t){var n,r=C.zIndex||65535,o;if(e)y.push(t);else for(n=y.length;n--;)y[n]===t&&y.splice(n,1);if(y.length)for(n=0;n<y.length;n++)y[n].modal&&(r++,o=y[n]),y[n].getEl().style.zIndex=r,y[n].zIndex=r,r++;var a=i(\"#\"+t.classPrefix+\"modal-block\",t.getContainerElm())[0];o?i(a).css(\"z-index\",o.zIndex-1):a&&(a.parentNode.removeChild(a),b=!1),C.currentZIndex=r}function p(e){var t;for(t=v.length;t--;)v[t]===e&&v.splice(t,1);for(t=y.length;t--;)y[t]===e&&y.splice(t,1)}var h,m,g,v=[],y=[],b,C=e.extend({Mixins:[t,n],init:function(e){var t=this;t._super(e),t._eventsRoot=t,t.classes.add(\"floatpanel\"),e.autohide&&(l(),c(),v.push(t)),e.autofix&&(u(),t.on(\"move\",function(){d(this)})),t.on(\"postrender show\",function(e){if(e.control==t){var n,r=t.classPrefix;t.modal&&!b&&(n=i(\"#\"+r+\"modal-block\",t.getContainerElm()),n[0]||(n=i('<div id=\"'+r+'modal-block\" class=\"'+r+\"reset \"+r+'fade\"></div>').appendTo(t.getContainerElm())),o.setTimeout(function(){n.addClass(r+\"in\"),i(t.getEl()).addClass(r+\"in\")}),b=!0),f(!0,t)}}),t.on(\"show\",function(){t.parents().each(function(e){if(e.state.get(\"fixed\"))return t.fixed(!0),!1})}),e.popover&&(t._preBodyHtml='<div class=\"'+t.classPrefix+'arrow\"></div>',t.classes.add(\"popover\").add(\"bottom\").add(t.isRtl()?\"end\":\"start\")),t.aria(\"label\",e.ariaLabel),t.aria(\"labelledby\",t._id),t.aria(\"describedby\",t.describedBy||t._id+\"-none\")},fixed:function(e){var t=this;if(t.state.get(\"fixed\")!=e){if(t.state.get(\"rendered\")){var n=r.getViewPort();e?t.layoutRect().y-=n.y:t.layoutRect().y+=n.y}t.classes.toggle(\"fixed\",e),t.state.set(\"fixed\",e)}return t},show:function(){var e=this,t,n=e._super();for(t=v.length;t--&&v[t]!==e;);return t===-1&&v.push(e),n},hide:function(){return p(this),f(!1,this),this._super()},hideAll:function(){C.hideAll()},close:function(){var e=this;return e.fire(\"close\").isDefaultPrevented()||(e.remove(),f(!1,e)),e},remove:function(){p(this),this._super()},postRender:function(){var e=this;return e.settings.bodyRole&&this.getEl(\"body\").setAttribute(\"role\",e.settings.bodyRole),e._super()}});return C.hideAll=function(){for(var e=v.length;e--;){var t=v[e];t&&t.settings.autohide&&(t.hide(),v.splice(e,1))}},C}),r(Be,[Ae,ke,ve,g,_e,ye,d,c],function(e,t,n,r,i,o,a,s){function l(e){var t=\"width=device-width,initial-scale=1.0,user-scalable=0,minimum-scale=1.0,maximum-scale=1.0\",n=r(\"meta[name=viewport]\")[0],i;a.overrideViewPort!==!1&&(n||(n=document.createElement(\"meta\"),n.setAttribute(\"name\",\"viewport\"),document.getElementsByTagName(\"head\")[0].appendChild(n)),i=n.getAttribute(\"content\"),i&&\"undefined\"!=typeof p&&(p=i),n.setAttribute(\"content\",e?t:p))}function u(e,t){c()&&t===!1&&r([document.documentElement,document.body]).removeClass(e+\"fullscreen\")}function c(){for(var e=0;e<f.length;e++)if(f[e]._fullscreen)return!0;return!1}function d(){function e(){var e,t=n.getWindowSize(),r;for(e=0;e<f.length;e++)r=f[e].layoutRect(),f[e].moveTo(f[e].settings.x||Math.max(0,t.w/2-r.w/2),f[e].settings.y||Math.max(0,t.h/2-r.h/2))}if(!a.desktop){var t={w:window.innerWidth,h:window.innerHeight};s.setInterval(function(){var e=window.innerWidth,n=window.innerHeight;t.w==e&&t.h==n||(t={w:e,h:n},r(window).trigger(\"resize\"))},100)}r(window).on(\"resize\",e)}var f=[],p=\"\",h=e.extend({modal:!0,Defaults:{border:1,layout:\"flex\",containerCls:\"panel\",role:\"dialog\",callbacks:{submit:function(){this.fire(\"submit\",{data:this.toJSON()})},close:function(){this.close()}}},init:function(e){var r=this;r._super(e),r.isRtl()&&r.classes.add(\"rtl\"),r.classes.add(\"window\"),r.bodyClasses.add(\"window-body\"),r.state.set(\"fixed\",!0),e.buttons&&(r.statusbar=new t({layout:\"flex\",border:\"1 0 0 0\",spacing:3,padding:10,align:\"center\",pack:r.isRtl()?\"start\":\"end\",defaults:{type:\"button\"},items:e.buttons}),r.statusbar.classes.add(\"foot\"),r.statusbar.parent(r)),r.on(\"click\",function(e){var t=r.classPrefix+\"close\";(n.hasClass(e.target,t)||n.hasClass(e.target.parentNode,t))&&r.close()}),r.on(\"cancel\",function(){r.close()}),r.aria(\"describedby\",r.describedBy||r._id+\"-none\"),r.aria(\"label\",e.title),r._fullscreen=!1},recalc:function(){var e=this,t=e.statusbar,r,i,o,a;e._fullscreen&&(e.layoutRect(n.getWindowSize()),e.layoutRect().contentH=e.layoutRect().innerH),e._super(),r=e.layoutRect(),e.settings.title&&!e._fullscreen&&(i=r.headerW,i>r.w&&(o=r.x-Math.max(0,i/2),e.layoutRect({w:i,x:o}),a=!0)),t&&(t.layoutRect({w:e.layoutRect().innerW}).recalc(),i=t.layoutRect().minW+r.deltaW,i>r.w&&(o=r.x-Math.max(0,i-r.w),e.layoutRect({w:i,x:o}),a=!0)),a&&e.recalc()},initLayoutRect:function(){var e=this,t=e._super(),r=0,i;if(e.settings.title&&!e._fullscreen){i=e.getEl(\"head\");var o=n.getSize(i);t.headerW=o.width,t.headerH=o.height,r+=t.headerH}e.statusbar&&(r+=e.statusbar.layoutRect().h),t.deltaH+=r,t.minH+=r,t.h+=r;var a=n.getWindowSize();return t.x=e.settings.x||Math.max(0,a.w/2-t.w/2),t.y=e.settings.y||Math.max(0,a.h/2-t.h/2),t},renderHtml:function(){var e=this,t=e._layout,n=e._id,r=e.classPrefix,i=e.settings,o=\"\",a=\"\",s=i.html;return e.preRender(),t.preRender(e),i.title&&(o='<div id=\"'+n+'-head\" class=\"'+r+'window-head\"><div id=\"'+n+'-title\" class=\"'+r+'title\">'+e.encode(i.title)+'</div><div id=\"'+n+'-dragh\" class=\"'+r+'dragh\"></div><button type=\"button\" class=\"'+r+'close\" aria-hidden=\"true\"><i class=\"mce-ico mce-i-remove\"></i></button></div>'),i.url&&(s='<iframe src=\"'+i.url+'\" tabindex=\"-1\"></iframe>'),\"undefined\"==typeof s&&(s=t.renderHtml(e)),e.statusbar&&(a=e.statusbar.renderHtml()),'<div id=\"'+n+'\" class=\"'+e.classes+'\" hidefocus=\"1\"><div class=\"'+e.classPrefix+'reset\" role=\"application\">'+o+'<div id=\"'+n+'-body\" class=\"'+e.bodyClasses+'\">'+s+\"</div>\"+a+\"</div></div>\"},fullscreen:function(e){var t=this,i=document.documentElement,a,l=t.classPrefix,u;if(e!=t._fullscreen)if(r(window).on(\"resize\",function(){var e;if(t._fullscreen)if(a)t._timer||(t._timer=s.setTimeout(function(){var e=n.getWindowSize();t.moveTo(0,0).resizeTo(e.w,e.h),t._timer=0},50));else{e=(new Date).getTime();var r=n.getWindowSize();t.moveTo(0,0).resizeTo(r.w,r.h),(new Date).getTime()-e>50&&(a=!0)}}),u=t.layoutRect(),t._fullscreen=e,e){t._initial={x:u.x,y:u.y,w:u.w,h:u.h},t.borderBox=o.parseBox(\"0\"),t.getEl(\"head\").style.display=\"none\",u.deltaH-=u.headerH+2,r([i,document.body]).addClass(l+\"fullscreen\"),t.classes.add(\"fullscreen\");var c=n.getWindowSize();t.moveTo(0,0).resizeTo(c.w,c.h)}else t.borderBox=o.parseBox(t.settings.border),t.getEl(\"head\").style.display=\"\",u.deltaH+=u.headerH,r([i,document.body]).removeClass(l+\"fullscreen\"),t.classes.remove(\"fullscreen\"),t.moveTo(t._initial.x,t._initial.y).resizeTo(t._initial.w,t._initial.h);return t.reflow()},postRender:function(){var e=this,t;setTimeout(function(){e.classes.add(\"in\"),e.fire(\"open\")},0),e._super(),e.statusbar&&e.statusbar.postRender(),e.focus(),this.dragHelper=new i(e._id+\"-dragh\",{start:function(){t={x:e.layoutRect().x,y:e.layoutRect().y}},drag:function(n){e.moveTo(t.x+n.deltaX,t.y+n.deltaY)}}),e.on(\"submit\",function(t){t.isDefaultPrevented()||e.close()}),f.push(e),l(!0)},submit:function(){return this.fire(\"submit\",{data:this.toJSON()})},remove:function(){var e=this,t;for(e.dragHelper.destroy(),e._super(),e.statusbar&&this.statusbar.remove(),u(e.classPrefix,!1),t=f.length;t--;)f[t]===e&&f.splice(t,1);l(f.length>0)},getContentWindow:function(){var e=this.getEl().getElementsByTagName(\"iframe\")[0];return e?e.contentWindow:null}});return d(),h}),r(De,[Be],function(e){var t=e.extend({init:function(e){e={border:1,padding:20,layout:\"flex\",pack:\"center\",align:\"center\",containerCls:\"panel\",autoScroll:!0,buttons:{type:\"button\",text:\"Ok\",action:\"ok\"},items:{type:\"label\",multiline:!0,maxWidth:500,maxHeight:200}},this._super(e)},Statics:{OK:1,OK_CANCEL:2,YES_NO:3,YES_NO_CANCEL:4,msgBox:function(n){function r(e,t,n){return{type:\"button\",text:e,subtype:n?\"primary\":\"\",onClick:function(e){e.control.parents()[1].close(),o(t)}}}var i,o=n.callback||function(){};\nswitch(n.buttons){case t.OK_CANCEL:i=[r(\"Ok\",!0,!0),r(\"Cancel\",!1)];break;case t.YES_NO:case t.YES_NO_CANCEL:i=[r(\"Yes\",1,!0),r(\"No\",0)],n.buttons==t.YES_NO_CANCEL&&i.push(r(\"Cancel\",-1));break;default:i=[r(\"Ok\",!0,!0)]}return new e({padding:20,x:n.x,y:n.y,minWidth:300,minHeight:100,layout:\"flex\",pack:\"center\",align:\"center\",buttons:i,title:n.title,role:\"alertdialog\",items:{type:\"label\",multiline:!0,maxWidth:500,maxHeight:200,text:n.text},onPostRender:function(){this.aria(\"describedby\",this.items()[0]._id)},onClose:n.onClose,onCancel:function(){o(!1)}}).renderTo(document.body).reflow()},alert:function(e,n){return\"string\"==typeof e&&(e={text:e}),e.callback=n,t.msgBox(e)},confirm:function(e,n){return\"string\"==typeof e&&(e={text:e}),e.callback=n,e.buttons=t.OK_CANCEL,t.msgBox(e)}}});return t}),r(Le,[Be,De],function(e,t){return function(n){function r(){if(s.length)return s[s.length-1]}function i(e){n.fire(\"OpenWindow\",{win:e})}function o(e){n.fire(\"CloseWindow\",{win:e})}var a=this,s=[];a.windows=s,n.on(\"remove\",function(){for(var e=s.length;e--;)s[e].close()}),a.open=function(t,r){var a;return n.editorManager.setActive(n),t.title=t.title||\" \",t.url=t.url||t.file,t.url&&(t.width=parseInt(t.width||320,10),t.height=parseInt(t.height||240,10)),t.body&&(t.items={defaults:t.defaults,type:t.bodyType||\"form\",items:t.body,data:t.data,callbacks:t.commands}),t.url||t.buttons||(t.buttons=[{text:\"Ok\",subtype:\"primary\",onclick:function(){a.find(\"form\")[0].submit()}},{text:\"Cancel\",onclick:function(){a.close()}}]),a=new e(t),s.push(a),a.on(\"close\",function(){for(var e=s.length;e--;)s[e]===a&&s.splice(e,1);s.length||n.focus(),o(a)}),t.data&&a.on(\"postRender\",function(){this.find(\"*\").each(function(e){var n=e.name();n in t.data&&e.value(t.data[n])})}),a.features=t||{},a.params=r||{},1===s.length&&n.nodeChanged(),a=a.renderTo().reflow(),i(a),a},a.alert=function(e,r,a){var s;s=t.alert(e,function(){r?r.call(a||this):n.focus()}),s.on(\"close\",function(){o(s)}),i(s)},a.confirm=function(e,n,r){var a;a=t.confirm(e,function(e){n.call(r||this,e)}),a.on(\"close\",function(){o(a)}),i(a)},a.close=function(){r()&&r().close()},a.getParams=function(){return r()?r().params:null},a.setParams=function(e){r()&&(r().params=e)},a.getWindows=function(){return s}}}),r(Me,[xe,Te],function(e,t){return e.extend({Mixins:[t],Defaults:{classes:\"widget tooltip tooltip-n\"},renderHtml:function(){var e=this,t=e.classPrefix;return'<div id=\"'+e._id+'\" class=\"'+e.classes+'\" role=\"presentation\"><div class=\"'+t+'tooltip-arrow\"></div><div class=\"'+t+'tooltip-inner\">'+e.encode(e.state.get(\"text\"))+\"</div></div>\"},bindStates:function(){var e=this;return e.state.on(\"change:text\",function(t){e.getEl().lastChild.innerHTML=e.encode(t.value)}),e._super()},repaint:function(){var e=this,t,n;t=e.getEl().style,n=e._layoutRect,t.left=n.x+\"px\",t.top=n.y+\"px\",t.zIndex=131070}})}),r(Pe,[xe,Me],function(e,t){var n,r=e.extend({init:function(e){var t=this;t._super(e),e=t.settings,t.canFocus=!0,e.tooltip&&r.tooltips!==!1&&(t.on(\"mouseenter\",function(n){var r=t.tooltip().moveTo(-65535);if(n.control==t){var i=r.text(e.tooltip).show().testMoveRel(t.getEl(),[\"bc-tc\",\"bc-tl\",\"bc-tr\"]);r.classes.toggle(\"tooltip-n\",\"bc-tc\"==i),r.classes.toggle(\"tooltip-nw\",\"bc-tl\"==i),r.classes.toggle(\"tooltip-ne\",\"bc-tr\"==i),r.moveRel(t.getEl(),i)}else r.hide()}),t.on(\"mouseleave mousedown click\",function(){t.tooltip().hide()})),t.aria(\"label\",e.ariaLabel||e.tooltip)},tooltip:function(){return n||(n=new t({type:\"tooltip\"}),n.renderTo()),n},postRender:function(){var e=this,t=e.settings;e._super(),e.parent()||!t.width&&!t.height||(e.initLayoutRect(),e.repaint()),t.autofocus&&e.focus()},bindStates:function(){function e(e){n.aria(\"disabled\",e),n.classes.toggle(\"disabled\",e)}function t(e){n.aria(\"pressed\",e),n.classes.toggle(\"active\",e)}var n=this;return n.state.on(\"change:disabled\",function(t){e(t.value)}),n.state.on(\"change:active\",function(e){t(e.value)}),n.state.get(\"disabled\")&&e(!0),n.state.get(\"active\")&&t(!0),n._super()},remove:function(){this._super(),n&&(n.remove(),n=null)}});return r}),r(Oe,[Pe],function(e){return e.extend({Defaults:{value:0},init:function(e){var t=this;t._super(e),t.classes.add(\"progress\"),t.settings.filter||(t.settings.filter=function(e){return Math.round(e)})},renderHtml:function(){var e=this,t=e._id,n=this.classPrefix;return'<div id=\"'+t+'\" class=\"'+e.classes+'\"><div class=\"'+n+'bar-container\"><div class=\"'+n+'bar\"></div></div><div class=\"'+n+'text\">0%</div></div>'},postRender:function(){var e=this;return e._super(),e.value(e.settings.value),e},bindStates:function(){function e(e){e=t.settings.filter(e),t.getEl().lastChild.innerHTML=e+\"%\",t.getEl().firstChild.firstChild.style.width=e+\"%\"}var t=this;return t.state.on(\"change:value\",function(t){e(t.value)}),e(t.state.get(\"value\")),t._super()}})}),r(He,[xe,Te,Oe,c],function(e,t,n,r){return e.extend({Mixins:[t],Defaults:{classes:\"widget notification\"},init:function(e){var t=this;t._super(e),e.text&&t.text(e.text),e.icon&&(t.icon=e.icon),e.color&&(t.color=e.color),e.type&&t.classes.add(\"notification-\"+e.type),e.timeout&&(e.timeout<0||e.timeout>0)&&!e.closeButton?t.closeButton=!1:(t.classes.add(\"has-close\"),t.closeButton=!0),e.progressBar&&(t.progressBar=new n),t.on(\"click\",function(e){e.target.className.indexOf(t.classPrefix+\"close\")!=-1&&t.close()})},renderHtml:function(){var e=this,t=e.classPrefix,n=\"\",r=\"\",i=\"\",o=\"\";return e.icon&&(n='<i class=\"'+t+\"ico \"+t+\"i-\"+e.icon+'\"></i>'),e.color&&(o=' style=\"background-color: '+e.color+'\"'),e.closeButton&&(r='<button type=\"button\" class=\"'+t+'close\" aria-hidden=\"true\">\\xd7</button>'),e.progressBar&&(i=e.progressBar.renderHtml()),'<div id=\"'+e._id+'\" class=\"'+e.classes+'\"'+o+' role=\"presentation\">'+n+'<div class=\"'+t+'notification-inner\">'+e.state.get(\"text\")+\"</div>\"+i+r+\"</div>\"},postRender:function(){var e=this;return r.setTimeout(function(){e.$el.addClass(e.classPrefix+\"in\")}),e._super()},bindStates:function(){var e=this;return e.state.on(\"change:text\",function(t){e.getEl().childNodes[1].innerHTML=t.value}),e.progressBar&&e.progressBar.bindStates(),e._super()},close:function(){var e=this;return e.fire(\"close\").isDefaultPrevented()||e.remove(),e},repaint:function(){var e=this,t,n;t=e.getEl().style,n=e._layoutRect,t.left=n.x+\"px\",t.top=n.y+\"px\",t.zIndex=65534}})}),r(Ie,[He,c,m],function(e,t,n){return function(r){function i(){if(f.length)return f[f.length-1]}function o(){t.requestAnimationFrame(function(){a(),s()})}function a(){for(var e=0;e<f.length;e++)f[e].moveTo(0,0)}function s(){if(f.length>0){var e=f.slice(0,1)[0],t=r.inline?r.getElement():r.getContentAreaContainer();if(e.moveRel(t,\"tc-tc\"),f.length>1)for(var n=1;n<f.length;n++)f[n].moveRel(f[n-1].getEl(),\"bc-tc\")}}function l(e,t){if(!c(t))return null;var r=n.grep(e,function(e){return u(t,e)});return 0===r.length?null:r[0]}function u(e,t){return e.type===t.settings.type&&e.text===t.settings.text}function c(e){return!e.progressBar&&!e.timeout}var d=this,f=[];d.notifications=f,r.on(\"remove\",function(){for(var e=f.length;e--;)f[e].close()}),r.on(\"ResizeEditor\",s),r.on(\"ResizeWindow\",o),d.open=function(t){if(!r.removed){var n;r.editorManager.setActive(r);var i=l(f,t);return null===i?(n=new e(t),f.push(n),t.timeout>0&&(n.timer=setTimeout(function(){n.close()},t.timeout)),n.on(\"close\",function(){var e=f.length;for(n.timer&&r.getWin().clearTimeout(n.timer);e--;)f[e]===n&&f.splice(e,1);s()}),n.renderTo(),s()):n=i,n}},d.close=function(){i()&&i().close()},d.getNotifications=function(){return f},r.on(\"SkinLoaded\",function(){var e=r.settings.service_message;e&&r.notificationManager.open({text:e,type:\"warning\",timeout:0,icon:\"\"})})}}),r(Fe,[w],function(e){function t(t,n,r){for(var i=[];n&&n!=t;n=n.parentNode)i.push(e.nodeIndex(n,r));return i}function n(e,t){var n,r,i;for(r=e,n=t.length-1;n>=0;n--){if(i=r.childNodes,t[n]>i.length-1)return null;r=i[t[n]]}return r}return{create:t,resolve:n}}),r(ze,[I,T,y,Fe,A,C,d,m,c,k,$,oe],function(e,t,n,r,i,o,a,s,l,u,c,d){return function(f){function p(e,t){try{f.getDoc().execCommand(e,!1,t)}catch(n){}}function h(){var e=f.getDoc().documentMode;return e?e:6}function m(e){return e.isDefaultPrevented()}function g(e){var t,n;e.dataTransfer&&(f.selection.isCollapsed()&&\"IMG\"==e.target.tagName&&re.select(e.target),t=f.selection.getContent(),t.length>0&&(n=ce+escape(f.id)+\",\"+escape(t),e.dataTransfer.setData(de,n)))}function v(e){var t;return e.dataTransfer&&(t=e.dataTransfer.getData(de),t&&t.indexOf(ce)>=0)?(t=t.substr(ce.length).split(\",\"),{id:unescape(t[0]),html:unescape(t[1])}):null}function y(e){f.queryCommandSupported(\"mceInsertClipboardContent\")?f.execCommand(\"mceInsertClipboardContent\",!1,{content:e}):f.execCommand(\"mceInsertContent\",!1,e)}function b(){function i(e){var t=x.schema.getBlockElements(),n=f.getBody();if(\"BR\"!=e.nodeName)return!1;for(;e!=n&&!t[e.nodeName];e=e.parentNode)if(e.nextSibling)return!1;return!0}function o(e,t){var n;for(n=e.nextSibling;n&&n!=t;n=n.nextSibling)if((3!=n.nodeType||0!==Z.trim(n.data).length)&&n!==t)return!1;return n===t}function a(e,t,r){var o,a,s;if(x.isChildOf(e,f.getBody()))for(s=x.schema.getNonEmptyElements(),o=new n(r||e,e);a=o[t?\"next\":\"prev\"]();){if(s[a.nodeName]&&!i(a))return a;if(3==a.nodeType&&a.data.length>0)return a}}function u(e){var n,r,i,o,s;if(!e.collapsed&&(n=x.getParent(t.getNode(e.startContainer,e.startOffset),x.isBlock),r=x.getParent(t.getNode(e.endContainer,e.endOffset),x.isBlock),s=f.schema.getTextBlockElements(),n!=r&&s[n.nodeName]&&s[r.nodeName]&&\"false\"!==x.getContentEditable(n)&&\"false\"!==x.getContentEditable(r)))return e.deleteContents(),i=a(n,!1),o=a(r,!0),x.isEmpty(r)||Z(n).append(r.childNodes),Z(r).remove(),i?1==i.nodeType?\"BR\"==i.nodeName?(e.setStartBefore(i),e.setEndBefore(i)):(e.setStartAfter(i),e.setEndAfter(i)):(e.setStart(i,i.data.length),e.setEnd(i,i.data.length)):o&&(1==o.nodeType?(e.setStartBefore(o),e.setEndBefore(o)):(e.setStart(o,0),e.setEnd(o,0))),w.setRng(e),!0}function c(e,n){var r,i,s,l,u,c;if(!e.collapsed)return e;if(u=e.startContainer,c=e.startOffset,3==u.nodeType)if(n){if(c<u.data.length)return e}else if(c>0)return e;r=t.getNode(u,c),s=x.getParent(r,x.isBlock),i=a(f.getBody(),n,r),l=x.getParent(i,x.isBlock);var d=1===u.nodeType&&c>u.childNodes.length-1;if(!r||!i)return e;if(l&&s!=l)if(n){if(!o(s,l))return e;1==r.nodeType?\"BR\"==r.nodeName?e.setStartBefore(r):e.setStartAfter(r):e.setStart(r,r.data.length),1==i.nodeType?e.setEnd(i,0):e.setEndBefore(i)}else{if(!o(l,s))return e;1==i.nodeType?\"BR\"==i.nodeName?e.setStartBefore(i):e.setStartAfter(i):e.setStart(i,i.data.length),1==r.nodeType&&d?e.setEndAfter(r):e.setEndBefore(r)}return e}function d(e){var t=w.getRng();if(t=c(t,e),u(t))return!0}function p(e,t){function n(e,n){return m=Z(n).parents().filter(function(e,t){return!!f.schema.getTextInlineElements()[t.nodeName]}),l=e.cloneNode(!1),m=s.map(m,function(e){return e=e.cloneNode(!1),l.hasChildNodes()?(e.appendChild(l.firstChild),l.appendChild(e)):l.appendChild(e),l.appendChild(e),e}),m.length?(h=x.create(\"br\"),m[0].appendChild(h),x.replace(l,e),t.setStartBefore(h),t.setEndBefore(h),f.selection.setRng(t),h):null}function i(e){return e&&f.schema.getTextBlockElements()[e.tagName]}var o,a,l,u,c,d,p,h,m;if(t.collapsed&&(d=t.startContainer,p=t.startOffset,a=x.getParent(d,x.isBlock),i(a)))if(1==d.nodeType){if(d=d.childNodes[p],d&&\"BR\"!=d.tagName)return;if(c=e?a.nextSibling:a.previousSibling,x.isEmpty(a)&&i(c)&&x.isEmpty(c)&&n(a,d))return x.remove(c),!0}else if(3==d.nodeType){if(o=r.create(a,d),u=a.cloneNode(!0),d=r.resolve(u,o),e){if(p>=d.data.length)return;d.deleteData(p,1)}else{if(p<=0)return;d.deleteData(p-1,1)}if(x.isEmpty(u))return n(a,d)}}function h(e){var t,n,r;d(e)||(s.each(f.getBody().getElementsByTagName(\"*\"),function(e){\"SPAN\"==e.tagName&&e.setAttribute(\"mce-data-marked\",1),!e.hasAttribute(\"data-mce-style\")&&e.hasAttribute(\"style\")&&f.dom.setAttrib(e,\"style\",f.dom.getAttrib(e,\"style\"))}),t=new E(function(){}),t.observe(f.getDoc(),{childList:!0,attributes:!0,subtree:!0,attributeFilter:[\"style\"]}),f.getDoc().execCommand(e?\"ForwardDelete\":\"Delete\",!1,null),n=f.selection.getRng(),r=n.startContainer.parentNode,s.each(t.takeRecords(),function(e){if(x.isChildOf(e.target,f.getBody())){if(\"style\"==e.attributeName){var t=e.target.getAttribute(\"data-mce-style\");t?e.target.setAttribute(\"style\",t):e.target.removeAttribute(\"style\")}s.each(e.addedNodes,function(e){if(\"SPAN\"==e.nodeName&&!e.getAttribute(\"mce-data-marked\")){var t,i;e==r&&(t=n.startOffset,i=e.firstChild),x.remove(e,!0),i&&(n.setStart(i,t),n.setEnd(i,t),f.selection.setRng(n))}})}}),t.disconnect(),s.each(f.dom.select(\"span[mce-data-marked]\"),function(e){e.removeAttribute(\"mce-data-marked\")}))}function b(e){f.undoManager.transact(function(){h(e)})}var C=f.getDoc(),x=f.dom,w=f.selection,E=window.MutationObserver,N,_;E||(N=!0,E=function(){function e(e){var t=e.relatedNode||e.target;n.push({target:t,addedNodes:[t]})}function t(e){var t=e.relatedNode||e.target;n.push({target:t,attributeName:e.attrName})}var n=[],r;this.observe=function(n){r=n,r.addEventListener(\"DOMSubtreeModified\",e,!1),r.addEventListener(\"DOMNodeInsertedIntoDocument\",e,!1),r.addEventListener(\"DOMNodeInserted\",e,!1),r.addEventListener(\"DOMAttrModified\",t,!1)},this.disconnect=function(){r.removeEventListener(\"DOMSubtreeModified\",e,!1),r.removeEventListener(\"DOMNodeInsertedIntoDocument\",e,!1),r.removeEventListener(\"DOMNodeInserted\",e,!1),r.removeEventListener(\"DOMAttrModified\",t,!1)},this.takeRecords=function(){return n}}),f.on(\"keydown\",function(e){var t=e.keyCode==te,n=e.ctrlKey||e.metaKey;if(!m(e)&&(t||e.keyCode==ee)){var r=f.selection.getRng(),i=r.startContainer,o=r.startOffset;if(t&&e.shiftKey)return;if(p(t,r))return void e.preventDefault();if(!n&&r.collapsed&&3==i.nodeType&&(t?o<i.data.length:o>0))return;e.preventDefault(),n&&f.selection.getSel().modify(\"extend\",t?\"forward\":\"backward\",e.metaKey?\"lineboundary\":\"word\"),h(t)}}),f.on(\"keypress\",function(t){if(!m(t)&&!w.isCollapsed()&&t.charCode>31&&!e.metaKeyPressed(t)){var n,r,i,o,a,s;n=f.selection.getRng(),s=String.fromCharCode(t.charCode),t.preventDefault(),r=Z(n.startContainer).parents().filter(function(e,t){return!!f.schema.getTextInlineElements()[t.nodeName]}),h(!0),r=r.filter(function(e,t){return!Z.contains(f.getBody(),t)}),r.length?(i=x.createFragment(),r.each(function(e,t){t=t.cloneNode(!1),i.hasChildNodes()?(t.appendChild(i.firstChild),i.appendChild(t)):(a=t,i.appendChild(t)),i.appendChild(t)}),a.appendChild(f.getDoc().createTextNode(s)),o=x.getParent(n.startContainer,x.isBlock),x.isEmpty(o)?Z(o).empty().append(i):n.insertNode(i),n.setStart(a.firstChild,1),n.setEnd(a.firstChild,1),f.selection.setRng(n)):f.selection.setContent(s)}}),f.addCommand(\"Delete\",function(){h()}),f.addCommand(\"ForwardDelete\",function(){h(!0)}),N||(f.on(\"dragstart\",function(e){_=w.getRng(),g(e)}),f.on(\"drop\",function(e){if(!m(e)){var n=v(e);n&&(e.preventDefault(),l.setEditorTimeout(f,function(){var r=t.getCaretRangeFromPoint(e.x,e.y,C);_&&(w.setRng(_),_=null,b()),w.setRng(r),y(n.html)}))}}),f.on(\"cut\",function(e){m(e)||!e.clipboardData||f.selection.isCollapsed()||(e.preventDefault(),e.clipboardData.clearData(),e.clipboardData.setData(\"text/html\",f.selection.getContent()),e.clipboardData.setData(\"text/plain\",f.selection.getContent({format:\"text\"})),l.setEditorTimeout(f,function(){b(!0)}))}))}function C(){function e(e){var t=ne.create(\"body\"),n=e.cloneContents();return t.appendChild(n),re.serializer.serialize(t,{format:\"html\"})}function n(n){if(!n.setStart){if(n.item)return!1;var r=n.duplicate();return r.moveToElementText(f.getBody()),t.compareRanges(n,r)}var i=e(n),o=ne.createRng();o.selectNode(f.getBody());var a=e(o);return i===a}f.on(\"keydown\",function(e){var t=e.keyCode,r,i;if(!m(e)&&(t==te||t==ee)){if(r=f.selection.isCollapsed(),i=f.getBody(),r&&!ne.isEmpty(i))return;if(!r&&!n(f.selection.getRng()))return;e.preventDefault(),f.setContent(\"\"),i.firstChild&&ne.isBlock(i.firstChild)?f.selection.setCursorLocation(i.firstChild,0):f.selection.setCursorLocation(i,0),f.nodeChanged()}})}function x(){f.shortcuts.add(\"meta+a\",null,\"SelectAll\")}function w(){f.settings.content_editable||ne.bind(f.getDoc(),\"mousedown mouseup\",function(e){var t;if(e.target==f.getDoc().documentElement)if(t=re.getRng(),f.getBody().focus(),\"mousedown\"==e.type){if(u.isCaretContainer(t.startContainer))return;re.placeCaretAt(e.clientX,e.clientY)}else re.setRng(t)})}function E(){f.on(\"keydown\",function(e){if(!m(e)&&e.keyCode===ee){if(!f.getBody().getElementsByTagName(\"hr\").length)return;if(re.isCollapsed()&&0===re.getRng(!0).startOffset){var t=re.getNode(),n=t.previousSibling;if(\"HR\"==t.nodeName)return ne.remove(t),void e.preventDefault();n&&n.nodeName&&\"hr\"===n.nodeName.toLowerCase()&&(ne.remove(n),e.preventDefault())}}})}function N(){window.Range.prototype.getClientRects||f.on(\"mousedown\",function(e){if(!m(e)&&\"HTML\"===e.target.nodeName){var t=f.getBody();t.blur(),l.setEditorTimeout(f,function(){t.focus()})}})}function _(){f.on(\"click\",function(e){var t=e.target;/^(IMG|HR)$/.test(t.nodeName)&&\"false\"!==ne.getContentEditableParent(t)&&(e.preventDefault(),re.select(t),f.nodeChanged()),\"A\"==t.nodeName&&ne.hasClass(t,\"mce-item-anchor\")&&(e.preventDefault(),re.select(t))})}function S(){function e(){var e=ne.getAttribs(re.getStart().cloneNode(!1));return function(){var t=re.getStart();t!==f.getBody()&&(ne.setAttrib(t,\"style\",null),Q(e,function(e){t.setAttributeNode(e.cloneNode(!0))}))}}function t(){return!re.isCollapsed()&&ne.getParent(re.getStart(),ne.isBlock)!=ne.getParent(re.getEnd(),ne.isBlock)}f.on(\"keypress\",function(n){var r;if(!m(n)&&(8==n.keyCode||46==n.keyCode)&&t())return r=e(),f.getDoc().execCommand(\"delete\",!1,null),r(),n.preventDefault(),!1}),ne.bind(f.getDoc(),\"cut\",function(n){var r;!m(n)&&t()&&(r=e(),l.setEditorTimeout(f,function(){r()}))})}function k(){document.body.setAttribute(\"role\",\"application\")}function T(){f.on(\"keydown\",function(e){if(!m(e)&&e.keyCode===ee&&re.isCollapsed()&&0===re.getRng(!0).startOffset){var t=re.getNode().previousSibling;if(t&&t.nodeName&&\"table\"===t.nodeName.toLowerCase())return e.preventDefault(),!1}})}function R(){h()>7||(p(\"RespectVisibilityInDesign\",!0),f.contentStyles.push(\".mceHideBrInPre pre br {display: none}\"),ne.addClass(f.getBody(),\"mceHideBrInPre\"),oe.addNodeFilter(\"pre\",function(e){for(var t=e.length,n,r,o,a;t--;)for(n=e[t].getAll(\"br\"),r=n.length;r--;)o=n[r],a=o.prev,a&&3===a.type&&\"\\n\"!=a.value.charAt(a.value-1)?a.value+=\"\\n\":o.parent.insert(new i(\"#text\",3),o,!0).value=\"\\n\"}),ae.addNodeFilter(\"pre\",function(e){for(var t=e.length,n,r,i,o;t--;)for(n=e[t].getAll(\"br\"),r=n.length;r--;)i=n[r],o=i.prev,o&&3==o.type&&(o.value=o.value.replace(/\\r?\\n$/,\"\"))}))}function A(){ne.bind(f.getBody(),\"mouseup\",function(){var e,t=re.getNode();\"IMG\"==t.nodeName&&((e=ne.getStyle(t,\"width\"))&&(ne.setAttrib(t,\"width\",e.replace(/[^0-9%]+/g,\"\")),ne.setStyle(t,\"width\",\"\")),(e=ne.getStyle(t,\"height\"))&&(ne.setAttrib(t,\"height\",e.replace(/[^0-9%]+/g,\"\")),ne.setStyle(t,\"height\",\"\")))})}function B(){f.on(\"keydown\",function(t){var n,r,i,o,a;if(!m(t)&&t.keyCode==e.BACKSPACE&&(n=re.getRng(),r=n.startContainer,i=n.startOffset,o=ne.getRoot(),a=r,n.collapsed&&0===i)){for(;a&&a.parentNode&&a.parentNode.firstChild==a&&a.parentNode!=o;)a=a.parentNode;\"BLOCKQUOTE\"===a.tagName&&(f.formatter.toggle(\"blockquote\",null,a),n=ne.createRng(),n.setStart(r,0),n.setEnd(r,0),re.setRng(n))}})}function D(){function e(){K(),p(\"StyleWithCSS\",!1),p(\"enableInlineTableEditing\",!1),ie.object_resizing||p(\"enableObjectResizing\",!1)}ie.readonly||f.on(\"BeforeExecCommand MouseDown\",e)}function L(){function e(){Q(ne.select(\"a\"),function(e){var t=e.parentNode,n=ne.getRoot();if(t.lastChild===e){for(;t&&!ne.isBlock(t);){if(t.parentNode.lastChild!==t||t===n)return;t=t.parentNode}ne.add(t,\"br\",{\"data-mce-bogus\":1})}})}f.on(\"SetContent ExecCommand\",function(t){\"setcontent\"!=t.type&&\"mceInsertLink\"!==t.command||e()})}function M(){ie.forced_root_block&&f.on(\"init\",function(){p(\"DefaultParagraphSeparator\",ie.forced_root_block)})}function P(){f.on(\"keydown\",function(e){var t;m(e)||e.keyCode!=ee||(t=f.getDoc().selection.createRange(),t&&t.item&&(e.preventDefault(),f.undoManager.beforeChange(),ne.remove(t.item(0)),f.undoManager.add()))})}function O(){var e;h()>=10&&(e=\"\",Q(\"p div h1 h2 h3 h4 h5 h6\".split(\" \"),function(t,n){e+=(n>0?\",\":\"\")+t+\":empty\"}),f.contentStyles.push(e+\"{padding-right: 1px !important}\"))}function H(){h()<9&&(oe.addNodeFilter(\"noscript\",function(e){for(var t=e.length,n,r;t--;)n=e[t],r=n.firstChild,r&&n.attr(\"data-mce-innertext\",r.value)}),ae.addNodeFilter(\"noscript\",function(e){for(var t=e.length,n,r,a;t--;)n=e[t],r=e[t].firstChild,r?r.value=o.decode(r.value):(a=n.attributes.map[\"data-mce-innertext\"],a&&(n.attr(\"data-mce-innertext\",null),r=new i(\"#text\",3),r.value=a,r.raw=!0,n.append(r)))}))}function I(){function e(e,t){var n=i.createTextRange();try{n.moveToPoint(e,t)}catch(r){n=null}return n}function t(t){var r;t.button?(r=e(t.x,t.y),r&&(r.compareEndPoints(\"StartToStart\",a)>0?r.setEndPoint(\"StartToStart\",a):r.setEndPoint(\"EndToEnd\",a),r.select())):n()}function n(){var e=r.selection.createRange();a&&!e.item&&0===e.compareEndPoints(\"StartToEnd\",e)&&a.select(),ne.unbind(r,\"mouseup\",n),ne.unbind(r,\"mousemove\",t),a=o=0}var r=ne.doc,i=r.body,o,a,s;r.documentElement.unselectable=!0,ne.bind(r,\"mousedown contextmenu\",function(i){if(\"HTML\"===i.target.nodeName){if(o&&n(),s=r.documentElement,s.scrollHeight>s.clientHeight)return;o=1,a=e(i.x,i.y),a&&(ne.bind(r,\"mouseup\",n),ne.bind(r,\"mousemove\",t),ne.getRoot().focus(),a.select())}})}function F(){f.on(\"keyup focusin mouseup\",function(t){65==t.keyCode&&e.metaKeyPressed(t)||re.normalize()},!0)}function z(){f.contentStyles.push(\"img:-moz-broken {-moz-force-broken-image-icon:1;min-width:24px;min-height:24px}\")}function U(){f.inline||f.on(\"keydown\",function(){document.activeElement==document.body&&f.getWin().focus()})}function W(){f.inline||(f.contentStyles.push(\"body {min-height: 150px}\"),f.on(\"click\",function(e){var t;if(\"HTML\"==e.target.nodeName){if(a.ie>11)return void f.getBody().focus();t=f.selection.getRng(),f.getBody().focus(),f.selection.setRng(t),f.selection.normalize(),f.nodeChanged()}}))}function V(){a.mac&&f.on(\"keydown\",function(t){!e.metaKeyPressed(t)||t.shiftKey||37!=t.keyCode&&39!=t.keyCode||(t.preventDefault(),f.selection.getSel().modify(\"move\",37==t.keyCode?\"backward\":\"forward\",\"lineboundary\"))})}function $(){p(\"AutoUrlDetect\",!1)}function q(){f.on(\"click\",function(e){var t=e.target;do if(\"A\"===t.tagName)return void e.preventDefault();while(t=t.parentNode)}),f.contentStyles.push(\".mce-content-body {-webkit-touch-callout: none}\")}function j(){f.on(\"init\",function(){f.dom.bind(f.getBody(),\"submit\",function(e){e.preventDefault()})})}function Y(){oe.addNodeFilter(\"br\",function(e){for(var t=e.length;t--;)\"Apple-interchange-newline\"==e[t].attr(\"class\")&&e[t].remove()})}function X(){f.on(\"dragstart\",function(e){g(e)}),f.on(\"drop\",function(e){if(!m(e)){var n=v(e);if(n&&n.id!=f.id){e.preventDefault();var r=t.getCaretRangeFromPoint(e.x,e.y,f.getDoc());re.setRng(r),y(n.html)}}})}function K(){}function G(){var e;return se?(e=f.selection.getSel(),!e||!e.rangeCount||0===e.rangeCount):0}function J(){function t(e){var t=new d(e.getBody()),n=e.selection.getRng(),r=c.fromRangeStart(n),i=c.fromRangeEnd(n),o=t.prev(r),a=t.next(i);return!e.selection.isCollapsed()&&(!o||o.isAtStart()&&r.isEqual(o))&&(!a||a.isAtEnd()&&r.isEqual(a))}f.on(\"keypress\",function(n){!m(n)&&!re.isCollapsed()&&n.charCode>31&&!e.metaKeyPressed(n)&&t(f)&&(n.preventDefault(),f.setContent(String.fromCharCode(n.charCode)),f.selection.select(f.getBody(),!0),f.selection.collapse(!1),f.nodeChanged())}),f.on(\"keydown\",function(e){var n=e.keyCode;m(e)||n!=te&&n!=ee||t(f)&&(e.preventDefault(),f.setContent(\"\"),f.nodeChanged())})}var Q=s.each,Z=f.$,ee=e.BACKSPACE,te=e.DELETE,ne=f.dom,re=f.selection,ie=f.settings,oe=f.parser,ae=f.serializer,se=a.gecko,le=a.ie,ue=a.webkit,ce=\"data:text/mce-internal,\",de=le?\"Text\":\"URL\";return B(),C(),a.windowsPhone||F(),ue&&(J(),b(),w(),_(),M(),j(),T(),Y(),a.iOS?(U(),W(),q()):x()),le&&a.ie<11&&(E(),k(),R(),A(),P(),O(),H(),I()),a.ie>=11&&(W(),T()),a.ie&&(x(),$(),X()),se&&(J(),E(),N(),S(),D(),L(),z(),V(),T()),{refreshContentEditable:K,isHidden:G}}}),r(Ue,[pe,w,m],function(e,t,n){function r(e,t){return\"selectionchange\"==t?e.getDoc():!e.inline&&/^mouse|touch|click|contextmenu|drop|dragover|dragend/.test(t)?e.getDoc().documentElement:e.settings.event_root?(e.eventRoot||(e.eventRoot=o.select(e.settings.event_root)[0]),e.eventRoot):e.getBody()}function i(e,t){function n(e){return!e.hidden&&!e.readonly}var i=r(e,t),s;if(e.delegates||(e.delegates={}),!e.delegates[t])if(e.settings.event_root){if(a||(a={},e.editorManager.on(\"removeEditor\",function(){var t;if(!e.editorManager.activeEditor&&a){for(t in a)e.dom.unbind(r(e,t));a=null}})),a[t])return;s=function(r){for(var i=r.target,a=e.editorManager.editors,s=a.length;s--;){var l=a[s].getBody();(l===i||o.isChildOf(i,l))&&n(a[s])&&a[s].fire(t,r)}},a[t]=s,o.bind(i,t,s)}else s=function(r){n(e)&&e.fire(t,r)},o.bind(i,t,s),e.delegates[t]=s}var o=t.DOM,a,s={bindPendingEventDelegates:function(){var e=this;n.each(e._pendingNativeEvents,function(t){i(e,t)})},toggleNativeEvent:function(e,t){var n=this;\"focus\"!=e&&\"blur\"!=e&&(t?n.initialized?i(n,e):n._pendingNativeEvents?n._pendingNativeEvents.push(e):n._pendingNativeEvents=[e]:n.initialized&&(n.dom.unbind(r(n,e),e,n.delegates[e]),delete n.delegates[e]))},unbindAllNativeEvents:function(){var e=this,t;if(e.delegates){for(t in e.delegates)e.dom.unbind(r(e,t),t,e.delegates[t]);delete e.delegates}e.inline||(e.getBody().onload=null,e.dom.unbind(e.getWin()),e.dom.unbind(e.getDoc())),e.dom.unbind(e.getBody()),e.dom.unbind(e.getContainer())}};return s=n.extend({},e,s)}),r(We,[],function(){function e(e,t,n){try{e.getDoc().execCommand(t,!1,n)}catch(r){}}function t(e){var t,n;return t=e.getBody(),n=function(t){e.dom.getParents(t.target,\"a\").length>0&&t.preventDefault()},e.dom.bind(t,\"click\",n),{unbind:function(){e.dom.unbind(t,\"click\",n)}}}function n(n,r){n._clickBlocker&&(n._clickBlocker.unbind(),n._clickBlocker=null),r?(n._clickBlocker=t(n),n.selection.controlSelection.hideResizeRect(),n.readonly=!0,n.getBody().contentEditable=!1):(n.readonly=!1,n.getBody().contentEditable=!0,e(n,\"StyleWithCSS\",!1),e(n,\"enableInlineTableEditing\",!1),e(n,\"enableObjectResizing\",!1),n.focus(),n.nodeChanged())}function r(e,t){var r=e.readonly?\"readonly\":\"design\";t!=r&&(e.initialized?n(e,\"readonly\"==t):e.on(\"init\",function(){n(e,\"readonly\"==t)}),e.fire(\"SwitchMode\",{mode:t}))}return{setMode:r}}),r(Ve,[m,d],function(e,t){var n=e.each,r=e.explode,i={f9:120,f10:121,f11:122},o=e.makeMap(\"alt,ctrl,shift,meta,access\");return function(a){function s(e){var a,s,l={};n(r(e,\"+\"),function(e){e in o?l[e]=!0:/^[0-9]{2,}$/.test(e)?l.keyCode=parseInt(e,10):(l.charCode=e.charCodeAt(0),l.keyCode=i[e]||e.toUpperCase().charCodeAt(0))}),a=[l.keyCode];for(s in o)l[s]?a.push(s):l[s]=!1;return l.id=a.join(\",\"),l.access&&(l.alt=!0,t.mac?l.ctrl=!0:l.shift=!0),l.meta&&(t.mac?l.meta=!0:(l.ctrl=!0,l.meta=!1)),l}function l(t,n,i,o){var l;return l=e.map(r(t,\">\"),s),l[l.length-1]=e.extend(l[l.length-1],{func:i,scope:o||a}),e.extend(l[0],{desc:a.translate(n),subpatterns:l.slice(1)})}function u(e){return e.altKey||e.ctrlKey||e.metaKey}function c(e){return\"keydown\"===e.type&&e.keyCode>=112&&e.keyCode<=123}function d(e,t){return!!t&&(t.ctrl==e.ctrlKey&&t.meta==e.metaKey&&(t.alt==e.altKey&&t.shift==e.shiftKey&&(!!(e.keyCode==t.keyCode||e.charCode&&e.charCode==t.charCode)&&(e.preventDefault(),!0))))}function f(e){return e.func?e.func.call(e.scope):null}var p=this,h={},m=[];a.on(\"keyup keypress keydown\",function(e){!u(e)&&!c(e)||e.isDefaultPrevented()||(n(h,function(t){if(d(e,t))return m=t.subpatterns.slice(0),\"keydown\"==e.type&&f(t),!0}),d(e,m[0])&&(1===m.length&&\"keydown\"==e.type&&f(m[0]),m.shift()))}),p.add=function(t,i,o,s){var u;return u=o,\"string\"==typeof o?o=function(){a.execCommand(u,!1,null)}:e.isArray(u)&&(o=function(){a.execCommand(u[0],u[1],u[2])}),n(r(e.trim(t.toLowerCase())),function(e){var t=l(e,i,o,s);h[t.id]=t}),!0},p.remove=function(e){var t=l(e);return!!h[t.id]&&(delete h[t.id],!0)}}}),r($e,[u,m,z],function(e,t,n){return function(r,i){function o(e){var t,n;return n={\"image/jpeg\":\"jpg\",\"image/jpg\":\"jpg\",\"image/gif\":\"gif\",\"image/png\":\"png\"},t=n[e.blob().type.toLowerCase()]||\"dat\",e.filename()+\".\"+t}function a(e,t){return e?e.replace(/\\/$/,\"\")+\"/\"+t.replace(/^\\//,\"\"):t}function s(e){return{id:e.id,blob:e.blob,base64:e.base64,filename:n.constant(o(e))}}function l(e,t,n,r){var o,s;o=new XMLHttpRequest,o.open(\"POST\",i.url),o.withCredentials=i.credentials,o.upload.onprogress=function(e){r(e.loaded/e.total*100)},o.onerror=function(){n(\"Image upload failed due to a XHR Transport error. Code: \"+o.status)},o.onload=function(){var e;return 200!=o.status?void n(\"HTTP Error: \"+o.status):(e=JSON.parse(o.responseText),e&&\"string\"==typeof e.location?void t(a(i.basePath,e.location)):void n(\"Invalid JSON: \"+o.responseText))},s=new FormData,s.append(\"file\",e.blob(),e.filename()),o.send(s)}function u(){return new e(function(e){e([])})}function c(e,t){return{url:t,blobInfo:e,status:!0}}function d(e,t){return{url:\"\",blobInfo:e,status:!1,error:t}}function f(e,n){t.each(y[e],function(e){e(n)}),delete y[e]}function p(t,n,i){return r.markPending(t.blobUri()),new e(function(e){var o,a,l=function(){};try{var u=function(){o&&(o.close(),a=l)},p=function(n){u(),r.markUploaded(t.blobUri(),n),f(t.blobUri(),c(t,n)),e(c(t,n))},h=function(n){u(),r.removeFailed(t.blobUri()),f(t.blobUri(),d(t,n)),e(d(t,n))};a=function(e){e<0||e>100||(o||(o=i()),o.progressBar.value(e))},n(s(t),p,h,a)}catch(m){e(d(t,m.message))}})}function h(e){return e===l}function m(t){var n=t.blobUri();return new e(function(e){y[n]=y[n]||[],y[n].push(e)})}function g(n,o){return n=t.grep(n,function(e){return!r.isUploaded(e.blobUri())}),e.all(t.map(n,function(e){return r.isPending(e.blobUri())?m(e):p(e,i.handler,o)}))}function v(e,t){return!i.url&&h(i.handler)?u():g(e,t)}var y={};return i=t.extend({credentials:!1,handler:l},i),{upload:v}}}),r(qe,[u],function(e){function t(t){return new e(function(e){var n=new XMLHttpRequest;n.open(\"GET\",t,!0),n.responseType=\"blob\",n.onload=function(){200==this.status&&e(this.response)},n.send()})}function n(e){var t,n;return e=decodeURIComponent(e).split(\",\"),n=/data:([^;]+)/.exec(e[0]),n&&(t=n[1]),{type:t,data:e[1]}}function r(t){return new e(function(e){var r,i,o;t=n(t);try{r=atob(t.data)}catch(a){return void e(new Blob([]))}for(i=new Uint8Array(r.length),o=0;o<i.length;o++)i[o]=r.charCodeAt(o);e(new Blob([i],{type:t.type}))})}function i(e){return 0===e.indexOf(\"blob:\")?t(e):0===e.indexOf(\"data:\")?r(e):null}function o(t){return new e(function(e){var n=new FileReader;n.onloadend=function(){e(n.result)},n.readAsDataURL(t)})}return{uriToBlob:i,blobToDataUri:o,parseDataUri:n}}),r(je,[u,h,z,qe,d],function(e,t,n,r,i){var o=0,a=function(e){return(e||\"blobid\")+o++};return function(o,s){function l(l,c){function d(e,t){var n,i;return 0===e.src.indexOf(\"blob:\")?(i=s.getByUri(e.src),void(i?t({image:e,blobInfo:i}):r.uriToBlob(e.src).then(function(o){r.blobToDataUri(o).then(function(l){n=r.parseDataUri(l).data,i=s.create(a(),o,n),s.add(i),t({image:e,blobInfo:i})})}))):(n=r.parseDataUri(e.src).data,i=s.findFirst(function(e){return e.base64()===n}),void(i?t({image:e,blobInfo:i}):r.uriToBlob(e.src).then(function(r){i=s.create(a(),r,n),s.add(i),t({image:e,blobInfo:i})})))}var f,p;return c||(c=n.constant(!0)),f=t.filter(l.getElementsByTagName(\"img\"),function(e){var t=e.src;return!!i.fileApi&&(!e.hasAttribute(\"data-mce-bogus\")&&(!e.hasAttribute(\"data-mce-placeholder\")&&(!(!t||t==i.transparentSrc)&&(0===t.indexOf(\"blob:\")?!o.isUploaded(t):0===t.indexOf(\"data:\")&&c(e)))))}),p=t.map(f,function(t){var n;return u[t.src]?new e(function(e){u[t.src].then(function(n){e({image:t,blobInfo:n.blobInfo})})}):(n=new e(function(e){d(t,e)}).then(function(e){return delete u[e.image.src],e})[\"catch\"](function(e){return delete u[t.src],\ne}),u[t.src]=n,n)}),e.all(p)}var u={};return{findAll:l}}}),r(Ye,[h,z],function(e,t){return function(){function n(e,t,n,r){return{id:c(e),filename:c(r||e),blob:c(t),base64:c(n),blobUri:c(URL.createObjectURL(t))}}function r(e){i(e.id())||u.push(e)}function i(e){return o(function(t){return t.id()===e})}function o(t){return e.filter(u,t)[0]}function a(e){return o(function(t){return t.blobUri()==e})}function s(t){u=e.filter(u,function(e){return e.blobUri()!==t||(URL.revokeObjectURL(e.blobUri()),!1)})}function l(){e.each(u,function(e){URL.revokeObjectURL(e.blobUri())}),u=[]}var u=[],c=t.constant;return{create:n,add:r,get:i,getByUri:a,findFirst:o,removeByUri:s,destroy:l}}}),r(Xe,[],function(){return function(){function e(e,t){return{status:e,resultUri:t}}function t(e){return e in d}function n(e){var t=d[e];return t?t.resultUri:null}function r(e){return!!t(e)&&d[e].status===u}function i(e){return!!t(e)&&d[e].status===c}function o(t){d[t]=e(u,null)}function a(t,n){d[t]=e(c,n)}function s(e){delete d[e]}function l(){d={}}var u=1,c=2,d={};return{hasBlobUri:t,getResultUri:n,isPending:r,isUploaded:i,markPending:o,markUploaded:a,removeFailed:s,destroy:l}}}),r(Ke,[N],function(e){var t=e.PluginManager,n=function(e,n){for(var r in t.urls){var i=t.urls[r]+\"/plugin\"+n+\".js\";if(i===e)return r}return null},r=function(e,t){var r=n(t,e.suffix);return r?\"Failed to load plugin: \"+r+\" from url \"+t:\"Failed to load plugin url: \"+t},i=function(e,t){e.notificationManager.open({type:\"error\",text:t})},o=function(e,t){e._skinLoaded?i(e,t):e.on(\"SkinLoaded\",function(){i(e,t)})},a=function(e,t){o(e,\"Failed to upload image: \"+t)},s=function(e,t){o(e,r(e,t))};return{pluginLoadError:s,uploadError:a}}),r(Ge,[h,$e,je,Ye,Xe,Ke],function(e,t,n,r,i,o){return function(a){function s(e){return function(t){return a.selection?e(t):[]}}function l(){return\"?\"+(new Date).getTime()}function u(e,t,n){var r=0;do r=e.indexOf(t,r),r!==-1&&(e=e.substring(0,r)+n+e.substr(r+t.length),r+=n.length-t.length+1);while(r!==-1);return e}function c(e,t,n){return e=u(e,'src=\"'+t+'\"','src=\"'+n+'\"'),e=u(e,'data-mce-src=\"'+t+'\"','data-mce-src=\"'+n+'\"')}function d(t,n){e.each(a.undoManager.data,function(r){\"fragmented\"===r.type?r.fragments=e.map(r.fragments,function(e){return c(e,t,n)}):r.content=c(r.content,t,n)})}function f(){return a.notificationManager.open({text:a.translate(\"Image uploading...\"),type:\"info\",timeout:-1,progressBar:!0})}function p(e,t){C.removeByUri(e.src),d(e.src,t),a.$(e).attr({src:E.images_reuse_filename?t+l():t,\"data-mce-src\":a.convertURL(t,\"src\")})}function h(n){return x||(x=new t(N,{url:E.images_upload_url,basePath:E.images_upload_base_path,credentials:E.images_upload_credentials,handler:E.images_upload_handler})),v().then(s(function(t){var r;return r=e.map(t,function(e){return e.blobInfo}),x.upload(r,f).then(s(function(r){return r=e.map(r,function(e,n){var r=t[n].image;return e.status&&a.settings.images_replace_blob_uris!==!1?p(r,e.url):e.error&&o.uploadError(a,e.error),{element:r,status:e.status}}),n&&n(r),r}))}))}function m(e){if(E.automatic_uploads!==!1)return h(e)}function g(e){return!E.images_dataimg_filter||E.images_dataimg_filter(e)}function v(){return w||(w=new n(N,C)),w.findAll(a.getBody(),g).then(s(function(t){return e.each(t,function(e){d(e.image.src,e.blobInfo.blobUri()),e.image.src=e.blobInfo.blobUri(),e.image.removeAttribute(\"data-mce-src\")}),t}))}function y(){C.destroy(),N.destroy(),w=x=null}function b(t){return t.replace(/src=\"(blob:[^\"]+)\"/g,function(t,n){var r=N.getResultUri(n);if(r)return'src=\"'+r+'\"';var i=C.getByUri(n);return i||(i=e.reduce(a.editorManager.editors,function(e,t){return e||t.editorUpload.blobCache.getByUri(n)},null)),i?'src=\"data:'+i.blob().type+\";base64,\"+i.base64()+'\"':t})}var C=new r,x,w,E=a.settings,N=new i;return a.on(\"setContent\",function(){a.settings.automatic_uploads!==!1?m():v()}),a.on(\"RawSaveContent\",function(e){e.content=b(e.content)}),a.on(\"getContent\",function(e){e.source_view||\"raw\"==e.format||(e.content=b(e.content))}),a.on(\"PostRender\",function(){a.parser.addNodeFilter(\"img\",function(t){e.each(t,function(e){var t=e.attr(\"src\");if(!C.getByUri(t)){var n=N.getResultUri(t);n&&e.attr(\"src\",n)}})})}),{blobCache:C,uploadImages:h,uploadImagesAuto:m,scanForImages:v,destroy:y}}}),r(Je,[k,$,_,T,g,W,c],function(e,t,n,r,i,o,a){var s=n.isContentEditableFalse;return function(t,n){function r(e,n){var r=o.collapse(e.getBoundingClientRect(),n),i,a,s,l,u;return\"BODY\"==t.tagName?(i=t.ownerDocument.documentElement,a=t.scrollLeft||i.scrollLeft,s=t.scrollTop||i.scrollTop):(u=t.getBoundingClientRect(),a=t.scrollLeft-u.left,s=t.scrollTop-u.top),r.left+=a,r.right+=a,r.top+=s,r.bottom+=s,r.width=1,l=e.offsetWidth-e.clientWidth,l>0&&(n&&(l*=-1),r.left+=l,r.right+=l),r}function l(){var n,r,o,a,s;for(n=i(\"*[contentEditable=false]\",t),a=0;a<n.length;a++)r=n[a],o=r.previousSibling,e.endsWithCaretContainer(o)&&(s=o.data,1==s.length?o.parentNode.removeChild(o):o.deleteData(s.length-1,1)),o=r.nextSibling,e.startsWithCaretContainer(o)&&(s=o.data,1==s.length?o.parentNode.removeChild(o):o.deleteData(0,1));return null}function u(o,a){var l,u;return c(),n(a)?(g=e.insertBlock(\"p\",a,o),l=r(a,o),i(g).css(\"top\",l.top),m=i('<div class=\"mce-visual-caret\" data-mce-bogus=\"all\"></div>').css(l).appendTo(t),o&&m.addClass(\"mce-visual-caret-before\"),d(),u=a.ownerDocument.createRange(),u.setStart(g,0),u.setEnd(g,0),u):(g=e.insertInline(a,o),u=a.ownerDocument.createRange(),s(g.nextSibling)?(u.setStart(g,0),u.setEnd(g,0)):(u.setStart(g,1),u.setEnd(g,1)),u)}function c(){l(),g&&(e.remove(g),g=null),m&&(m.remove(),m=null),clearInterval(h)}function d(){h=a.setInterval(function(){i(\"div.mce-visual-caret\",t).toggleClass(\"mce-visual-caret-hidden\")},500)}function f(){a.clearInterval(h)}function p(){return\".mce-visual-caret {position: absolute;background-color: black;background-color: currentcolor;}.mce-visual-caret-hidden {display: none;}*[data-mce-caret] {position: absolute;left: -1000px;right: auto;top: 0;margin: 0;padding: 0;}\"}var h,m,g;return{show:u,hide:c,getCss:p,destroy:f}}}),r(Qe,[h,_,W],function(e,t,n){function r(i){function o(t){return e.map(t,function(e){return e=n.clone(e),e.node=i,e})}if(e.isArray(i))return e.reduce(i,function(e,t){return e.concat(r(t))},[]);if(t.isElement(i))return o(i.getClientRects());if(t.isText(i)){var a=i.ownerDocument.createRange();return a.setStart(i,0),a.setEnd(i,i.data.length),o(a.getClientRects())}}return{getClientRects:r}}),r(Ze,[z,h,Qe,U,ie,oe,$,W],function(e,t,n,r,i,o,a,s){function l(e,t,n,o){for(;o=i.findNode(o,e,r.isEditableCaretCandidate,t);)if(n(o))return}function u(e,r,i,o,a,s){function u(o){var s,l,u;for(u=n.getClientRects(o),e==-1&&(u=u.reverse()),s=0;s<u.length;s++)if(l=u[s],!i(l,p)){if(f.length>0&&r(l,t.last(f))&&c++,l.line=c,a(l))return!0;f.push(l)}}var c=0,d,f=[],p;return(p=t.last(s.getClientRects()))?(d=s.getNode(),u(d),l(e,o,u,d),f):f}function c(e,t){return t.line>e}function d(e,t){return t.line===e}function f(e,n,r,i){function l(n){return 1==e?t.last(n.getClientRects()):t.last(n.getClientRects())}var u=new o(n),c,d,f,p,h=[],m=0,g,v;1==e?(c=u.next,d=s.isBelow,f=s.isAbove,p=a.after(i)):(c=u.prev,d=s.isAbove,f=s.isBelow,p=a.before(i)),v=l(p);do if(p.isVisible()&&(g=l(p),!f(g,v))){if(h.length>0&&d(g,t.last(h))&&m++,g=s.clone(g),g.position=p,g.line=m,r(g))return h;h.push(g)}while(p=c(p));return h}var p=e.curry,h=p(u,-1,s.isAbove,s.isBelow),m=p(u,1,s.isBelow,s.isAbove);return{upUntil:h,downUntil:m,positionsUntil:f,isAboveLine:p(c),isLine:p(d)}}),r(et,[z,h,_,Qe,W,ie,U],function(e,t,n,r,i,o,a){function s(e,t){return Math.abs(e.left-t)}function l(e,t){return Math.abs(e.right-t)}function u(e,n){function r(e,t){return e>=t.left&&e<=t.right}return t.reduce(e,function(e,t){var i,o;return i=Math.min(s(e,n),l(e,n)),o=Math.min(s(t,n),l(t,n)),r(n,t)?t:r(n,e)?e:o==i&&m(t.node)?t:o<i?t:e})}function c(e,t,n,r){for(;r=g(r,e,a.isEditableCaretCandidate,t);)if(n(r))return}function d(e,n){function o(e,i){var o;return o=t.filter(r.getClientRects(i),function(t){return!e(t,n)}),a=a.concat(o),0===o.length}var a=[];return a.push(n),c(-1,e,v(o,i.isAbove),n.node),c(1,e,v(o,i.isBelow),n.node),a}function f(e){return t.filter(t.toArray(e.getElementsByTagName(\"*\")),m)}function p(e,t){return{node:e.node,before:s(e,t)<l(e,t)}}function h(e,n,i){var o,a;return o=r.getClientRects(f(e)),o=t.filter(o,function(e){return i>=e.top&&i<=e.bottom}),a=u(o,n),a&&(a=u(d(e,a),n),a&&m(a.node))?p(a,n):null}var m=n.isContentEditableFalse,g=o.findNode,v=e.curry;return{findClosestClientRect:u,findLineNodeRects:d,closestCaret:h}}),r(tt,[],function(){var e=function(e){var t,n,r,i;return i=e.getBoundingClientRect(),t=e.ownerDocument,n=t.documentElement,r=t.defaultView,{top:i.top+r.pageYOffset-n.clientTop,left:i.left+r.pageXOffset-n.clientLeft}},t=function(t){return t.inline?e(t.getBody()):{left:0,top:0}},n=function(e){var t=e.getBody();return e.inline?{left:t.scrollLeft,top:t.scrollTop}:{left:0,top:0}},r=function(e){var t=e.getBody(),n=e.getDoc().documentElement,r={left:t.scrollLeft,top:t.scrollTop},i={left:t.scrollLeft||n.scrollLeft,top:t.scrollTop||n.scrollTop};return e.inline?r:i},i=function(t,n){if(n.target.ownerDocument!==t.getDoc()){var i=e(t.getContentAreaContainer()),o=r(t);return{left:n.pageX-i.left+o.left,top:n.pageY-i.top+o.top}}return{left:n.pageX,top:n.pageY}},o=function(e,t,n){return{pageX:n.left-e.left+t.left,pageY:n.top-e.top+t.top}},a=function(e,r){return o(t(e),n(e),i(e,r))};return{calc:a}}),r(nt,[_,h,z,c,w,tt],function(e,t,n,r,i,o){var a=e.isContentEditableFalse,s=e.isContentEditableTrue,l=function(e,t){return a(t)&&t!==e},u=function(e,t,n){return t!==n&&!e.dom.isChildOf(t,n)&&!a(t)},c=function(e){var t=e.cloneNode(!0);return t.removeAttribute(\"data-mce-selected\"),t},d=function(e,t,n,r){var i=t.cloneNode(!0);e.dom.setStyles(i,{width:n,height:r}),e.dom.setAttrib(i,\"data-mce-selected\",null);var o=e.dom.create(\"div\",{\"class\":\"mce-drag-container\",\"data-mce-bogus\":\"all\",unselectable:\"on\",contenteditable:\"false\"});return e.dom.setStyles(o,{position:\"absolute\",opacity:.5,overflow:\"hidden\",border:0,padding:0,margin:0,width:n,height:r}),e.dom.setStyles(i,{margin:0,boxSizing:\"border-box\"}),o.appendChild(i),o},f=function(e,t){e.parentNode!==t&&t.appendChild(e)},p=function(e,t,n,r,i,o){var a=0,s=0;e.style.left=t.pageX+\"px\",e.style.top=t.pageY+\"px\",t.pageX+n>i&&(a=t.pageX+n-i),t.pageY+r>o&&(s=t.pageY+r-o),e.style.width=n-a+\"px\",e.style.height=r-s+\"px\"},h=function(e){e&&e.parentNode&&e.parentNode.removeChild(e)},m=function(e){return 0===e.button},g=function(e){return e.element},v=function(e,t){return{pageX:t.pageX-e.relX,pageY:t.pageY+5}},y=function(e,r){return function(i){if(m(i)){var o=t.find(r.dom.getParents(i.target),n.or(a,s));if(l(r.getBody(),o)){var u=r.dom.getPos(o),c=r.getBody(),f=r.getDoc().documentElement;e.element=o,e.screenX=i.screenX,e.screenY=i.screenY,e.maxX=(r.inline?c.scrollWidth:f.offsetWidth)-2,e.maxY=(r.inline?c.scrollHeight:f.offsetHeight)-2,e.relX=i.pageX-u.x,e.relY=i.pageY-u.y,e.width=o.offsetWidth,e.height=o.offsetHeight,e.ghost=d(r,o,e.width,e.height)}}}},b=function(e,t){var n=r.throttle(function(e,n){t._selectionOverrides.hideFakeCaret(),t.selection.placeCaretAt(e,n)},0);return function(r){var i=Math.max(Math.abs(r.screenX-e.screenX),Math.abs(r.screenY-e.screenY));if(g(e)&&!e.dragging&&i>10){var a=t.fire(\"dragstart\",{target:e.element});if(a.isDefaultPrevented())return;e.dragging=!0,t.focus()}if(e.dragging){var s=v(e,o.calc(t,r));f(e.ghost,t.getBody()),p(e.ghost,s,e.width,e.height,e.maxX,e.maxY),n(r.clientX,r.clientY)}}},C=function(e){var t=e.getSel().getRangeAt(0),n=t.startContainer;return 3===n.nodeType?n.parentNode:n},x=function(e,t){return function(n){if(e.dragging&&u(t,C(t.selection),e.element)){var r=c(e.element),i=t.fire(\"drop\",{targetClone:r,clientX:n.clientX,clientY:n.clientY});i.isDefaultPrevented()||(r=i.targetClone,t.undoManager.transact(function(){h(e.element),t.insertContent(t.dom.getOuterHTML(r)),t._selectionOverrides.hideFakeCaret()}))}E(e)}},w=function(e,t){return function(){E(e),e.dragging&&t.fire(\"dragend\")}},E=function(e){e.dragging=!1,e.element=null,h(e.ghost)},N=function(e){var t={},n,r,o,a,s,l;n=i.DOM,l=document,r=y(t,e),o=b(t,e),a=x(t,e),s=w(t,e),e.on(\"mousedown\",r),e.on(\"mousemove\",o),e.on(\"mouseup\",a),n.bind(l,\"mousemove\",o),n.bind(l,\"mouseup\",s),e.on(\"remove\",function(){n.unbind(l,\"mousemove\",o),n.unbind(l,\"mouseup\",s)})},_=function(e){e.on(\"drop\",function(t){var n=\"undefined\"!=typeof t.clientX?e.getDoc().elementFromPoint(t.clientX,t.clientY):null;(a(n)||a(e.dom.getContentEditableParent(n)))&&t.preventDefault()})},S=function(e){N(e),_(e)};return{init:S}}),r(rt,[d,oe,$,k,ie,Je,Ze,et,_,T,W,I,z,h,c,nt],function(e,t,n,r,i,o,a,s,l,u,c,d,f,p,h,m){function g(e,t){for(;t=e(t);)if(t.isVisible())return t;return t}function v(u){function v(e){return u.dom.hasClass(e,\"mce-offscreen-selection\")}function _(){var e=u.dom.get(ue);return e?e.getElementsByTagName(\"*\")[0]:e}function S(e){return u.dom.isBlock(e)}function k(e){e&&u.selection.setRng(e)}function T(){return u.selection.getRng()}function R(e,t){u.selection.scrollIntoView(e,t)}function A(e,t,n){var r;return r=u.fire(\"ShowCaret\",{target:t,direction:e,before:n}),r.isDefaultPrevented()?null:(R(t,e===-1),le.show(n,t))}function B(e){var t;return t=u.fire(\"BeforeObjectSelected\",{target:e}),t.isDefaultPrevented()?null:D(e)}function D(e){var t=e.ownerDocument.createRange();return t.selectNode(e),t}function L(e,t){var n=i.isInSameBlock(e,t);return!(n||!l.isBr(e.getNode()))||n}function M(e,t){return t=i.normalizeRange(e,ie,t),e==-1?n.fromRangeStart(t):n.fromRangeEnd(t)}function P(e){return r.isCaretContainerBlock(e.startContainer)}function O(e,t,n,r){var i,o,a,s;return!r.collapsed&&(i=N(r),C(i))?A(e,i,e==-1):(s=P(r),o=M(e,r),n(o)?B(o.getNode(e==-1)):(o=t(o))?n(o)?A(e,o.getNode(e==-1),1==e):(a=t(o),n(a)&&L(o,a)?A(e,a.getNode(e==-1),1==e):s?$(o.toRange()):null):s?r:null)}function H(e,t,n){var r,i,o,l,u,c,d,f,h;if(h=N(n),r=M(e,n),i=t(ie,a.isAboveLine(1),r),o=p.filter(i,a.isLine(1)),u=p.last(r.getClientRects()),E(r)&&(h=r.getNode()),w(r)&&(h=r.getNode(!0)),!u)return null;if(c=u.left,l=s.findClosestClientRect(o,c),l&&C(l.node))return d=Math.abs(c-l.left),f=Math.abs(c-l.right),A(e,l.node,d<f);if(h){var m=a.positionsUntil(e,ie,a.isAboveLine(1),h);if(l=s.findClosestClientRect(p.filter(m,a.isLine(1)),c))return $(l.position.toRange());if(l=p.last(p.filter(m,a.isLine(0))))return $(l.position.toRange())}}function I(t,r){function i(){var t=u.dom.create(u.settings.forced_root_block);return(!e.ie||e.ie>=11)&&(t.innerHTML='<br data-mce-bogus=\"1\">'),t}var o,a,s;if(r.collapsed&&u.settings.forced_root_block){if(o=u.dom.getParent(r.startContainer,\"PRE\"),!o)return;a=1==t?ae(n.fromRangeStart(r)):se(n.fromRangeStart(r)),a||(s=i(),1==t?u.$(o).after(s):u.$(o).before(s),u.selection.select(s,!0),u.selection.collapse())}}function F(e,t,n,r){var i;return(i=O(e,t,n,r))?i:(i=I(e,r),i?i:null)}function z(e,t,n){var r;return(r=H(e,t,n))?r:(r=I(e,n),r?r:null)}function U(){return de(\"*[data-mce-caret]\")[0]}function W(e){e.hasAttribute(\"data-mce-caret\")&&(r.showCaretContainerBlock(e),k(T()),R(e[0]))}function V(e){var t,r;return e=i.normalizeRange(1,ie,e),t=n.fromRangeStart(e),C(t.getNode())?A(1,t.getNode(),!t.isAtEnd()):C(t.getNode(!0))?A(1,t.getNode(!0),!1):(r=u.dom.getParent(t.getNode(),f.or(C,b)),C(r)?A(1,r,!1):null)}function $(e){var t;return e&&e.collapsed?(t=V(e),t?t:e):e}function q(e){var t,i,o,a;return C(e)?(C(e.previousSibling)&&(o=e.previousSibling),i=se(n.before(e)),i||(t=ae(n.after(e))),t&&x(t.getNode())&&(a=t.getNode()),r.remove(e.previousSibling),r.remove(e.nextSibling),u.dom.remove(e),u.dom.isEmpty(u.getBody())?(u.setContent(\"\"),void u.focus()):o?n.after(o).toRange():a?n.before(a).toRange():i?i.toRange():t?t.toRange():null):null}function j(e){var t=u.schema.getTextBlockElements();return e.nodeName in t}function Y(e){return u.dom.isEmpty(e)}function X(e,t,r){var i=u.dom,o,a,s,l;if(o=i.getParent(t.getNode(),i.isBlock),a=i.getParent(r.getNode(),i.isBlock),e===-1){if(l=r.getNode(!0),w(r)&&S(l))return j(o)?(Y(o)&&i.remove(o),n.after(l).toRange()):q(r.getNode(!0))}else if(l=t.getNode(),E(t)&&S(l))return j(a)?(Y(a)&&i.remove(a),n.before(l).toRange()):q(t.getNode());if(o===a||!j(o)||!j(a))return null;for(;s=o.firstChild;)a.appendChild(s);return u.dom.remove(o),r.toRange()}function K(e,t,n,i){var o,a,s,l;return!i.collapsed&&(o=N(i),C(o))?$(q(o)):(a=M(e,i),n(a)&&r.isCaretContainerBlock(i.startContainer)?(l=e==-1?oe.prev(a):oe.next(a),l?$(l.toRange()):i):t(a)?$(q(a.getNode(e==-1))):(s=e==-1?oe.prev(a):oe.next(a),t(s)?e===-1?X(e,a,s):X(e,s,a):void 0))}function G(){function i(e,t){if(e.isDefaultPrevented()===!1){var n=t(T());n&&(e.preventDefault(),k(n))}}function o(e){for(var t=u.getBody();e&&e!=t;){if(b(e)||C(e))return e;e=e.parentNode}return null}function l(e,t,n){return!n.collapsed&&p.reduce(n.getClientRects(),function(n,r){return n||c.containsXY(r,e,t)},!1)}function f(e){var t=!1;e.on(\"touchstart\",function(){t=!1}),e.on(\"touchmove\",function(){t=!0}),e.on(\"touchend\",function(e){var n=o(e.target);C(n)&&(t||(e.preventDefault(),ee(B(n))))})}function g(){var e,t=o(u.selection.getNode());b(t)&&S(t)&&u.dom.isEmpty(t)&&(e=u.dom.create(\"br\",{\"data-mce-bogus\":\"1\"}),u.$(t).empty().append(e),u.selection.setRng(n.before(e).toRange()))}function x(e){var t=U();if(t)return\"compositionstart\"==e.type?(e.preventDefault(),e.stopPropagation(),void W(t)):void(r.hasContent(t)&&W(t))}function N(e){var t;switch(e.keyCode){case d.DELETE:t=g();break;case d.BACKSPACE:t=g()}t&&e.preventDefault()}var R=y(F,1,ae,E),D=y(F,-1,se,w),L=y(K,1,E,w),M=y(K,-1,w,E),P=y(z,-1,a.upUntil),O=y(z,1,a.downUntil);u.on(\"mouseup\",function(){var e=T();e.collapsed&&k(V(e))}),u.on(\"click\",function(e){var t;t=o(e.target),t&&(C(t)&&(e.preventDefault(),u.focus()),b(t)&&u.dom.isChildOf(t,u.selection.getNode())&&te())}),u.on(\"blur NewBlock\",function(){te(),re()});var H=function(e){var r=new t(e);if(!e.firstChild)return!1;var i=n.before(e.firstChild),o=r.next(i);return o&&!E(o)&&!w(o)},I=function(e,t){var n=u.dom.getParent(e,u.dom.isBlock),r=u.dom.getParent(t,u.dom.isBlock);return n===r},j=function(e){return!(e.keyCode>=112&&e.keyCode<=123)},Y=function(e,t){var n=u.dom.getParent(e,u.dom.isBlock),r=u.dom.getParent(t,u.dom.isBlock);return n&&!I(n,r)&&H(n)};f(u),u.on(\"mousedown\",function(e){var t;if(t=o(e.target))C(t)?(e.preventDefault(),ee(B(t))):l(e.clientX,e.clientY,u.selection.getRng())||u.selection.placeCaretAt(e.clientX,e.clientY);else{te(),re();var n=s.closestCaret(ie,e.clientX,e.clientY);n&&(Y(e.target,n.node)||(e.preventDefault(),u.getBody().focus(),k(A(1,n.node,n.before))))}}),u.on(\"keydown\",function(e){if(!d.modifierPressed(e))switch(e.keyCode){case d.RIGHT:i(e,R);break;case d.DOWN:i(e,O);break;case d.LEFT:i(e,D);break;case d.UP:i(e,P);break;case d.DELETE:i(e,L);break;case d.BACKSPACE:i(e,M);break;default:C(u.selection.getNode())&&j(e)&&e.preventDefault()}}),u.on(\"keyup compositionstart\",function(e){x(e),N(e)},!0),u.on(\"cut\",function(){var e=u.selection.getNode();C(e)&&h.setEditorTimeout(u,function(){k($(q(e)))})}),u.on(\"getSelectionRange\",function(e){var t=e.range;if(ce){if(!ce.parentNode)return void(ce=null);t=t.cloneRange(),t.selectNode(ce),e.range=t}}),u.on(\"setSelectionRange\",function(e){var t;t=ee(e.range),t&&(e.range=t)}),u.on(\"AfterSetSelectionRange\",function(e){var t=e.range;Z(t)||re(),v(t.startContainer.parentNode)||te()}),u.on(\"focus\",function(){h.setEditorTimeout(u,function(){u.selection.setRng($(u.selection.getRng()))},0)}),u.on(\"copy\",function(t){var n=t.clipboardData;if(!t.isDefaultPrevented()&&t.clipboardData&&!e.ie){var r=_();r&&(t.preventDefault(),n.clearData(),n.setData(\"text/html\",r.outerHTML),n.setData(\"text/plain\",r.outerText))}}),m.init(u)}function J(){var e=u.contentStyles,t=\".mce-content-body\";e.push(le.getCss()),e.push(t+\" .mce-offscreen-selection {position: absolute;left: -9999999999px;max-width: 1000000px;}\"+t+\" *[contentEditable=false] {cursor: default;}\"+t+\" *[contentEditable=true] {cursor: text;}\")}function Q(e){return r.isCaretContainer(e)||r.startsWithCaretContainer(e)||r.endsWithCaretContainer(e)}function Z(e){return Q(e.startContainer)||Q(e.endContainer)}function ee(t){var n,r=u.$,i=u.dom,o,a,s,l,c,d,f,p,h;if(!t)return null;if(t.collapsed){if(!Z(t)){if(f=M(1,t),C(f.getNode()))return A(1,f.getNode(),!f.isAtEnd());if(C(f.getNode(!0)))return A(1,f.getNode(!0),!1)}return null}return s=t.startContainer,l=t.startOffset,c=t.endOffset,3==s.nodeType&&0==l&&C(s.parentNode)&&(s=s.parentNode,l=i.nodeIndex(s),s=s.parentNode),1!=s.nodeType?null:(c==l+1&&(n=s.childNodes[l]),C(n)?(p=h=n.cloneNode(!0),d=u.fire(\"ObjectSelected\",{target:n,targetClone:p}),d.isDefaultPrevented()?null:(p=d.targetClone,o=r(\"#\"+ue),0===o.length&&(o=r('<div data-mce-bogus=\"all\" class=\"mce-offscreen-selection\"></div>').attr(\"id\",ue),o.appendTo(u.getBody())),t=u.dom.createRng(),p===h&&e.ie?(o.empty().append('<p style=\"font-size: 0\" data-mce-bogus=\"all\">\\xa0</p>').append(p),t.setStartAfter(o[0].firstChild.firstChild),t.setEndAfter(p)):(o.empty().append(\"\\xa0\").append(p).append(\"\\xa0\"),t.setStart(o[0].firstChild,1),t.setEnd(o[0].lastChild,0)),o.css({top:i.getPos(n,u.getBody()).y}),o[0].focus(),a=u.selection.getSel(),a.removeAllRanges(),a.addRange(t),u.$(\"*[data-mce-selected]\").removeAttr(\"data-mce-selected\"),n.setAttribute(\"data-mce-selected\",1),ce=n,re(),t)):null)}function te(){ce&&(ce.removeAttribute(\"data-mce-selected\"),u.$(\"#\"+ue).remove(),ce=null)}function ne(){le.destroy(),ce=null}function re(){le.hide()}var ie=u.getBody(),oe=new t(ie),ae=y(g,oe.next),se=y(g,oe.prev),le=new o(u.getBody(),S),ue=\"sel-\"+u.dom.uniqueId(),ce,de=u.$;return e.ceFalse&&(G(),J()),{showBlockCaretContainer:W,hideFakeCaret:re,destroy:ne}}var y=f.curry,b=l.isContentEditableTrue,C=l.isContentEditableFalse,x=l.isElement,w=i.isAfterContentEditableFalse,E=i.isBeforeContentEditableFalse,N=u.getSelectedNode;return v}),r(it,[],function(){var e=0,t=function(){var e=function(){return Math.round(4294967295*Math.random()).toString(36)},t=(new Date).getTime();return\"s\"+t.toString(36)+e()+e()+e()},n=function(n){return n+e++ +t()};return{uuid:n}}),r(ot,[],function(){var e=function(e,t,n){var r=e.sidebars?e.sidebars:[];r.push({name:t,settings:n}),e.sidebars=r};return{add:e}}),r(at,[w,g,N,R,A,O,P,Y,J,te,ne,re,le,ue,E,f,Le,Ie,B,L,ze,d,m,c,Ue,We,Ve,Ge,rt,it,ot,Ke],function(e,n,r,i,o,a,s,l,u,c,d,f,p,h,m,g,v,y,b,C,x,w,E,N,_,S,k,T,R,A,B,D){function L(e,t,i){var o=this,a,s,l;a=o.documentBaseUrl=i.documentBaseURL,s=i.baseURI,l=i.defaultSettings,t=H({id:e,theme:\"modern\",delta_width:0,delta_height:0,popup_css:\"\",plugins:\"\",document_base_url:a,add_form_submit_trigger:!0,submit_patch:!0,add_unload_trigger:!0,convert_urls:!0,relative_urls:!0,remove_script_host:!0,object_resizing:!0,doctype:\"<!DOCTYPE html>\",visual:!0,font_size_style_values:\"xx-small,x-small,small,medium,large,x-large,xx-large\",font_size_legacy_values:\"xx-small,small,medium,large,x-large,xx-large,300%\",forced_root_block:\"p\",hidden_input:!0,padd_empty_editor:!0,render_ui:!0,indentation:\"30px\",inline_styles:!0,convert_fonts_to_spans:!0,indent:\"simple\",indent_before:\"p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,th,ul,ol,li,dl,dt,dd,area,table,thead,tfoot,tbody,tr,section,article,hgroup,aside,figure,figcaption,option,optgroup,datalist\",indent_after:\"p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,th,ul,ol,li,dl,dt,dd,area,table,thead,tfoot,tbody,tr,section,article,hgroup,aside,figure,figcaption,option,optgroup,datalist\",validate:!0,entity_encoding:\"named\",url_converter:o.convertURL,url_converter_scope:o,ie7_compat:!0},l,t),l&&l.external_plugins&&t.external_plugins&&(t.external_plugins=H({},l.external_plugins,t.external_plugins)),o.settings=t,r.language=t.language||\"en\",r.languageLoad=t.language_load,r.baseURL=i.baseURL,o.id=t.id=e,o.setDirty(!1),o.plugins={},o.documentBaseURI=new h(t.document_base_url||a,{base_uri:s}),o.baseURI=s,o.contentCSS=[],o.contentStyles=[],o.shortcuts=new k(o),o.loadedCSS={},o.editorCommands=new p(o),o.suffix=i.suffix,o.editorManager=i,o.inline=t.inline,o.settings.content_editable=o.inline,t.cache_suffix&&(w.cacheSuffix=t.cache_suffix.replace(/^[\\?\\&]+/,\"\")),t.override_viewport===!1&&(w.overrideViewPort=!1),i.fire(\"SetupEditor\",o),o.execCallback(\"setup\",o),o.$=n.overrideDefaults(function(){return{context:o.inline?o.getBody():o.getDoc(),element:o.getBody()}})}var M=e.DOM,P=r.ThemeManager,O=r.PluginManager,H=E.extend,I=E.each,F=E.explode,z=E.inArray,U=E.trim,W=E.resolve,V=g.Event,$=w.gecko,q=w.ie;return L.prototype={render:function(){function e(){M.unbind(window,\"ready\",e),n.render()}function t(){var e=m.ScriptLoader;if(r.language&&\"en\"!=r.language&&!r.language_url&&(r.language_url=n.editorManager.baseURL+\"/langs/\"+r.language+\".js\"),r.language_url&&e.add(r.language_url),r.theme&&\"function\"!=typeof r.theme&&\"-\"!=r.theme.charAt(0)&&!P.urls[r.theme]){var t=r.theme_url;t=t?n.documentBaseURI.toAbsolute(t):\"themes/\"+r.theme+\"/theme\"+o+\".js\",P.load(r.theme,t)}E.isArray(r.plugins)&&(r.plugins=r.plugins.join(\" \")),I(r.external_plugins,function(e,t){O.load(t,e),r.plugins+=\" \"+t}),I(r.plugins.split(/[ ,]/),function(e){if(e=U(e),e&&!O.urls[e])if(\"-\"==e.charAt(0)){e=e.substr(1,e.length);var t=O.dependencies(e);I(t,function(e){var t={prefix:\"plugins/\",resource:e,suffix:\"/plugin\"+o+\".js\"};e=O.createUrl(t,e),O.load(e.resource,e)})}else O.load(e,{prefix:\"plugins/\",resource:e,suffix:\"/plugin\"+o+\".js\"})}),e.loadQueue(function(){n.removed||n.init()},n,function(e){D.pluginLoadError(n,e[0]),n.removed||n.init()})}var n=this,r=n.settings,i=n.id,o=n.suffix;if(!V.domLoaded)return void M.bind(window,\"ready\",e);if(n.getElement()&&w.contentEditable){r.inline?n.inline=!0:(n.orgVisibility=n.getElement().style.visibility,n.getElement().style.visibility=\"hidden\");var a=n.getElement().form||M.getParent(i,\"form\");a&&(n.formElement=a,r.hidden_input&&!/TEXTAREA|INPUT/i.test(n.getElement().nodeName)&&(M.insertAfter(M.create(\"input\",{type:\"hidden\",name:i}),i),n.hasHiddenInput=!0),n.formEventDelegate=function(e){n.fire(e.type,e)},M.bind(a,\"submit reset\",n.formEventDelegate),n.on(\"reset\",function(){n.setContent(n.startContent,{format:\"raw\"})}),!r.submit_patch||a.submit.nodeType||a.submit.length||a._mceOldSubmit||(a._mceOldSubmit=a.submit,a.submit=function(){return n.editorManager.triggerSave(),n.setDirty(!1),a._mceOldSubmit(a)})),n.windowManager=new v(n),n.notificationManager=new y(n),\"xml\"==r.encoding&&n.on(\"GetContent\",function(e){e.save&&(e.content=M.encode(e.content))}),r.add_form_submit_trigger&&n.on(\"submit\",function(){n.initialized&&n.save()}),r.add_unload_trigger&&(n._beforeUnload=function(){!n.initialized||n.destroyed||n.isHidden()||n.save({format:\"raw\",no_events:!0,set_dirty:!1})},n.editorManager.on(\"BeforeUnload\",n._beforeUnload)),n.editorManager.add(n),t()}},init:function(){function e(n){var r=O.get(n),i,o;if(i=O.urls[n]||t.documentBaseUrl.replace(/\\/$/,\"\"),n=U(n),r&&z(m,n)===-1){if(I(O.dependencies(n),function(t){e(t)}),t.plugins[n])return;o=new r(t,i,t.$),t.plugins[n]=o,o.init&&(o.init(t,i),m.push(n))}}var t=this,n=t.settings,r=t.getElement(),i,o,a,s,l,u,c,d,f,p,h,m=[];if(t.rtl=n.rtl_ui||t.editorManager.i18n.rtl,t.editorManager.i18n.setCode(n.language),n.aria_label=n.aria_label||M.getAttrib(r,\"aria-label\",t.getLang(\"aria.rich_text_area\")),t.fire(\"ScriptsLoaded\"),n.theme&&(\"function\"!=typeof n.theme?(n.theme=n.theme.replace(/-/,\"\"),u=P.get(n.theme),t.theme=new u(t,P.urls[n.theme]),t.theme.init&&t.theme.init(t,P.urls[n.theme]||t.documentBaseUrl.replace(/\\/$/,\"\"),t.$)):t.theme=n.theme),I(n.plugins.replace(/\\-/g,\"\").split(/[ ,]/),e),n.render_ui&&t.theme&&(t.orgDisplay=r.style.display,\"function\"!=typeof n.theme?(i=n.width||r.style.width||r.offsetWidth,o=n.height||r.style.height||r.offsetHeight,a=n.min_height||100,p=/^[0-9\\.]+(|px)$/i,p.test(\"\"+i)&&(i=Math.max(parseInt(i,10),100)),p.test(\"\"+o)&&(o=Math.max(parseInt(o,10),a)),l=t.theme.renderUI({targetNode:r,width:i,height:o,deltaWidth:n.delta_width,deltaHeight:n.delta_height}),n.content_editable||(o=(l.iframeHeight||o)+(\"number\"==typeof o?l.deltaHeight||0:\"\"),o<a&&(o=a))):(l=n.theme(t,r),l.editorContainer.nodeType&&(l.editorContainer.id=l.editorContainer.id||t.id+\"_parent\"),l.iframeContainer.nodeType&&(l.iframeContainer.id=l.iframeContainer.id||t.id+\"_iframecontainer\"),o=l.iframeHeight||r.offsetHeight),t.editorContainer=l.editorContainer),n.content_css&&I(F(n.content_css),function(e){t.contentCSS.push(t.documentBaseURI.toAbsolute(e))}),n.content_style&&t.contentStyles.push(n.content_style),n.content_editable)return r=s=l=null,t.initContentBody();if(t.iframeHTML=n.doctype+\"<html><head>\",n.document_base_url!=t.documentBaseUrl&&(t.iframeHTML+='<base href=\"'+t.documentBaseURI.getURI()+'\" />'),!w.caretAfter&&n.ie7_compat&&(t.iframeHTML+='<meta http-equiv=\"X-UA-Compatible\" content=\"IE=7\" />'),t.iframeHTML+='<meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />',!/#$/.test(document.location.href))for(h=0;h<t.contentCSS.length;h++){var g=t.contentCSS[h];t.iframeHTML+='<link type=\"text/css\" rel=\"stylesheet\" href=\"'+E._addCacheSuffix(g)+'\" />',t.loadedCSS[g]=!0}d=n.body_id||\"tinymce\",d.indexOf(\"=\")!=-1&&(d=t.getParam(\"body_id\",\"\",\"hash\"),d=d[t.id]||d),f=n.body_class||\"\",f.indexOf(\"=\")!=-1&&(f=t.getParam(\"body_class\",\"\",\"hash\"),f=f[t.id]||\"\"),n.content_security_policy&&(t.iframeHTML+='<meta http-equiv=\"Content-Security-Policy\" content=\"'+n.content_security_policy+'\" />'),t.iframeHTML+='</head><body id=\"'+d+'\" class=\"mce-content-body '+f+'\" data-id=\"'+t.id+'\"><br></body></html>';var v='javascript:(function(){document.open();document.domain=\"'+document.domain+'\";var ed = window.parent.tinymce.get(\"'+t.id+'\");document.write(ed.iframeHTML);document.close();ed.initContentBody(true);})()';document.domain!=location.hostname&&w.ie&&w.ie<12&&(c=v);var y=M.create(\"iframe\",{id:t.id+\"_ifr\",frameBorder:\"0\",allowTransparency:\"true\",title:t.editorManager.translate(\"Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help\"),style:{width:\"100%\",height:o,display:\"block\"}});if(y.onload=function(){y.onload=null,t.fire(\"load\")},M.setAttrib(y,\"src\",c||'javascript:\"\"'),t.contentAreaContainer=l.iframeContainer,t.iframeElement=y,s=M.add(l.iframeContainer,y),q)try{t.getDoc()}catch(b){s.src=c=v}l.editorContainer&&(M.get(l.editorContainer).style.display=t.orgDisplay,t.hidden=M.isHidden(l.editorContainer)),t.getElement().style.display=\"none\",M.setAttrib(t.id,\"aria-hidden\",!0),c||t.initContentBody(),r=s=l=null},initContentBody:function(t){var n=this,r=n.settings,s=n.getElement(),p=n.getDoc(),h,m;r.inline||(n.getElement().style.visibility=n.orgVisibility),t||r.content_editable||(p.open(),p.write(n.iframeHTML),p.close()),r.content_editable&&(n.on(\"remove\",function(){var e=this.getBody();M.removeClass(e,\"mce-content-body\"),M.removeClass(e,\"mce-edit-focus\"),M.setAttrib(e,\"contentEditable\",null)}),M.addClass(s,\"mce-content-body\"),n.contentDocument=p=r.content_document||document,n.contentWindow=r.content_window||window,n.bodyElement=s,r.content_document=r.content_window=null,r.root_name=s.nodeName.toLowerCase()),h=n.getBody(),h.disabled=!0,n.readonly=r.readonly,n.readonly||(n.inline&&\"static\"==M.getStyle(h,\"position\",!0)&&(h.style.position=\"relative\"),h.contentEditable=n.getParam(\"content_editable_state\",!0)),h.disabled=!1,n.editorUpload=new T(n),n.schema=new b(r),n.dom=new e(p,{keep_values:!0,url_converter:n.convertURL,url_converter_scope:n,hex_colors:r.force_hex_style_colors,class_filter:r.class_filter,update_styles:!0,root_element:n.inline?n.getBody():null,collect:r.content_editable,schema:n.schema,onSetAttrib:function(e){n.fire(\"SetAttrib\",e)}}),n.parser=new C(r,n.schema),n.parser.addAttributeFilter(\"src,href,style,tabindex\",function(e,t){for(var r=e.length,i,o=n.dom,a,s;r--;)if(i=e[r],a=i.attr(t),s=\"data-mce-\"+t,!i.attributes.map[s]){if(0===a.indexOf(\"data:\")||0===a.indexOf(\"blob:\"))continue;\"style\"===t?(a=o.serializeStyle(o.parseStyle(a),i.name),a.length||(a=null),i.attr(s,a),i.attr(t,a)):\"tabindex\"===t?(i.attr(s,a),i.attr(t,null)):i.attr(s,n.convertURL(a,t,i.name));\n}}),n.parser.addNodeFilter(\"script\",function(e){for(var t=e.length,n,r;t--;)n=e[t],r=n.attr(\"type\")||\"no/type\",0!==r.indexOf(\"mce-\")&&n.attr(\"type\",\"mce-\"+r)}),n.parser.addNodeFilter(\"#cdata\",function(e){for(var t=e.length,n;t--;)n=e[t],n.type=8,n.name=\"#comment\",n.value=\"[CDATA[\"+n.value+\"]]\"}),n.parser.addNodeFilter(\"p,h1,h2,h3,h4,h5,h6,div\",function(e){for(var t=e.length,r,i=n.schema.getNonEmptyElements();t--;)r=e[t],r.isEmpty(i)&&0===r.getAll(\"br\").length&&(r.append(new o(\"br\",1)).shortEnded=!0)}),n.serializer=new a(r,n),n.selection=new l(n.dom,n.getWin(),n.serializer,n),n.formatter=new u(n),n.undoManager=new c(n),n.forceBlocks=new f(n),n.enterKey=new d(n),n._nodeChangeDispatcher=new i(n),n._selectionOverrides=new R(n),n.fire(\"PreInit\"),r.browser_spellcheck||r.gecko_spellcheck||(p.body.spellcheck=!1,M.setAttrib(h,\"spellcheck\",\"false\")),n.quirks=new x(n),n.fire(\"PostRender\"),r.directionality&&(h.dir=r.directionality),r.nowrap&&(h.style.whiteSpace=\"nowrap\"),r.protect&&n.on(\"BeforeSetContent\",function(e){I(r.protect,function(t){e.content=e.content.replace(t,function(e){return\"<!--mce:protected \"+escape(e)+\"-->\"})})}),n.on(\"SetContent\",function(){n.addVisual(n.getBody())}),r.padd_empty_editor&&n.on(\"PostProcess\",function(e){e.content=e.content.replace(/^(<p[^>]*>(&nbsp;|&#160;|\\s|\\u00a0|<br \\/>|)<\\/p>[\\r\\n]*|<br \\/>[\\r\\n]*)$/,\"\")}),n.load({initial:!0,format:\"html\"}),n.startContent=n.getContent({format:\"raw\"}),n.initialized=!0,n.bindPendingEventDelegates(),n.fire(\"init\"),n.focus(!0),n.nodeChanged({initial:!0}),n.execCallback(\"init_instance_callback\",n),n.on(\"compositionstart compositionend\",function(e){n.composing=\"compositionstart\"===e.type}),n.contentStyles.length>0&&(m=\"\",I(n.contentStyles,function(e){m+=e+\"\\r\\n\"}),n.dom.addStyle(m)),I(n.contentCSS,function(e){n.loadedCSS[e]||(n.dom.loadCSS(e),n.loadedCSS[e]=!0)}),r.auto_focus&&N.setEditorTimeout(n,function(){var e;e=r.auto_focus===!0?n:n.editorManager.get(r.auto_focus),e.destroyed||e.focus()},100),s=p=h=null},focus:function(e){function t(e){return n.dom.getParent(e,function(e){return\"true\"===n.dom.getContentEditable(e)})}var n=this,r=n.selection,i=n.settings.content_editable,o,a,s=n.getDoc(),l=n.getBody(),u;if(!e){if(o=r.getRng(),o.item&&(a=o.item(0)),n.quirks.refreshContentEditable(),u=t(r.getNode()),n.$.contains(l,u))return u.focus(),r.normalize(),void n.editorManager.setActive(n);if(i||(w.opera||n.getBody().focus(),n.getWin().focus()),$||i){if(l.setActive)try{l.setActive()}catch(c){l.focus()}else l.focus();i&&r.normalize()}a&&a.ownerDocument==s&&(o=s.body.createControlRange(),o.addElement(a),o.select())}n.editorManager.setActive(n)},execCallback:function(e){var t=this,n=t.settings[e],r;if(n)return t.callbackLookup&&(r=t.callbackLookup[e])&&(n=r.func,r=r.scope),\"string\"==typeof n&&(r=n.replace(/\\.\\w+$/,\"\"),r=r?W(r):0,n=W(n),t.callbackLookup=t.callbackLookup||{},t.callbackLookup[e]={func:n,scope:r}),n.apply(r||t,Array.prototype.slice.call(arguments,1))},translate:function(e){var t=this.settings.language||\"en\",n=this.editorManager.i18n;return e?(e=n.data[t+\".\"+e]||e.replace(/\\{\\#([^\\}]+)\\}/g,function(e,r){return n.data[t+\".\"+r]||\"{#\"+r+\"}\"}),this.editorManager.translate(e)):\"\"},getLang:function(e,n){return this.editorManager.i18n.data[(this.settings.language||\"en\")+\".\"+e]||(n!==t?n:\"{#\"+e+\"}\")},getParam:function(e,t,n){var r=e in this.settings?this.settings[e]:t,i;return\"hash\"===n?(i={},\"string\"==typeof r?I(r.indexOf(\"=\")>0?r.split(/[;,](?![^=;,]*(?:[;,]|$))/):r.split(\",\"),function(e){e=e.split(\"=\"),e.length>1?i[U(e[0])]=U(e[1]):i[U(e[0])]=U(e)}):i=r,i):r},nodeChanged:function(e){this._nodeChangeDispatcher.nodeChanged(e)},addButton:function(e,t){var n=this;t.cmd&&(t.onclick=function(){n.execCommand(t.cmd)}),t.text||t.icon||(t.icon=e),n.buttons=n.buttons||{},t.tooltip=t.tooltip||t.title,n.buttons[e]=t},addSidebar:function(e,t){return B.add(this,e,t)},addMenuItem:function(e,t){var n=this;t.cmd&&(t.onclick=function(){n.execCommand(t.cmd)}),n.menuItems=n.menuItems||{},n.menuItems[e]=t},addContextToolbar:function(e,t){var n=this,r;n.contextToolbars=n.contextToolbars||[],\"string\"==typeof e&&(r=e,e=function(e){return n.dom.is(e,r)}),n.contextToolbars.push({id:A.uuid(\"mcet\"),predicate:e,items:t})},addCommand:function(e,t,n){this.editorCommands.addCommand(e,t,n)},addQueryStateHandler:function(e,t,n){this.editorCommands.addQueryStateHandler(e,t,n)},addQueryValueHandler:function(e,t,n){this.editorCommands.addQueryValueHandler(e,t,n)},addShortcut:function(e,t,n,r){this.shortcuts.add(e,t,n,r)},execCommand:function(e,t,n,r){return this.editorCommands.execCommand(e,t,n,r)},queryCommandState:function(e){return this.editorCommands.queryCommandState(e)},queryCommandValue:function(e){return this.editorCommands.queryCommandValue(e)},queryCommandSupported:function(e){return this.editorCommands.queryCommandSupported(e)},show:function(){var e=this;e.hidden&&(e.hidden=!1,e.inline?e.getBody().contentEditable=!0:(M.show(e.getContainer()),M.hide(e.id)),e.load(),e.fire(\"show\"))},hide:function(){var e=this,t=e.getDoc();e.hidden||(q&&t&&!e.inline&&t.execCommand(\"SelectAll\"),e.save(),e.inline?(e.getBody().contentEditable=!1,e==e.editorManager.focusedEditor&&(e.editorManager.focusedEditor=null)):(M.hide(e.getContainer()),M.setStyle(e.id,\"display\",e.orgDisplay)),e.hidden=!0,e.fire(\"hide\"))},isHidden:function(){return!!this.hidden},setProgressState:function(e,t){this.fire(\"ProgressState\",{state:e,time:t})},load:function(e){var n=this,r=n.getElement(),i;if(r)return e=e||{},e.load=!0,i=n.setContent(r.value!==t?r.value:r.innerHTML,e),e.element=r,e.no_events||n.fire(\"LoadContent\",e),e.element=r=null,i},save:function(e){var t=this,n=t.getElement(),r,i;if(n&&t.initialized)return e=e||{},e.save=!0,e.element=n,r=e.content=t.getContent(e),e.no_events||t.fire(\"SaveContent\",e),\"raw\"==e.format&&t.fire(\"RawSaveContent\",e),r=e.content,/TEXTAREA|INPUT/i.test(n.nodeName)?n.value=r:(t.inline||(n.innerHTML=r),(i=M.getParent(t.id,\"form\"))&&I(i.elements,function(e){if(e.name==t.id)return e.value=r,!1})),e.element=n=null,e.set_dirty!==!1&&t.setDirty(!1),r},setContent:function(e,t){var n=this,r=n.getBody(),i,o;return t=t||{},t.format=t.format||\"html\",t.set=!0,t.content=e,t.no_events||n.fire(\"BeforeSetContent\",t),e=t.content,0===e.length||/^\\s+$/.test(e)?(o=q&&q<11?\"\":'<br data-mce-bogus=\"1\">',\"TABLE\"==r.nodeName?e=\"<tr><td>\"+o+\"</td></tr>\":/^(UL|OL)$/.test(r.nodeName)&&(e=\"<li>\"+o+\"</li>\"),i=n.settings.forced_root_block,i&&n.schema.isValidChild(r.nodeName.toLowerCase(),i.toLowerCase())?(e=o,e=n.dom.createHTML(i,n.settings.forced_root_block_attrs,e)):q||e||(e='<br data-mce-bogus=\"1\">'),n.dom.setHTML(r,e),n.fire(\"SetContent\",t)):(\"raw\"!==t.format&&(e=new s({validate:n.validate},n.schema).serialize(n.parser.parse(e,{isRootContent:!0}))),t.content=U(e),n.dom.setHTML(r,t.content),t.no_events||n.fire(\"SetContent\",t)),t.content},getContent:function(e){var t=this,n,r=t.getBody();return e=e||{},e.format=e.format||\"html\",e.get=!0,e.getInner=!0,e.no_events||t.fire(\"BeforeGetContent\",e),n=\"raw\"==e.format?E.trim(t.serializer.getTrimmedContent()):\"text\"==e.format?r.innerText||r.textContent:t.serializer.serialize(r,e),\"text\"!=e.format?e.content=U(n):e.content=n,e.no_events||t.fire(\"GetContent\",e),e.content},insertContent:function(e,t){t&&(e=H({content:e},t)),this.execCommand(\"mceInsertContent\",!1,e)},isDirty:function(){return!this.isNotDirty},setDirty:function(e){var t=!this.isNotDirty;this.isNotDirty=!e,e&&e!=t&&this.fire(\"dirty\")},setMode:function(e){S.setMode(this,e)},getContainer:function(){var e=this;return e.container||(e.container=M.get(e.editorContainer||e.id+\"_parent\")),e.container},getContentAreaContainer:function(){return this.contentAreaContainer},getElement:function(){return this.targetElm||(this.targetElm=M.get(this.id)),this.targetElm},getWin:function(){var e=this,t;return e.contentWindow||(t=e.iframeElement,t&&(e.contentWindow=t.contentWindow)),e.contentWindow},getDoc:function(){var e=this,t;return e.contentDocument||(t=e.getWin(),t&&(e.contentDocument=t.document)),e.contentDocument},getBody:function(){var e=this.getDoc();return this.bodyElement||(e?e.body:null)},convertURL:function(e,t,n){var r=this,i=r.settings;return i.urlconverter_callback?r.execCallback(\"urlconverter_callback\",e,n,!0,t):!i.convert_urls||n&&\"LINK\"==n.nodeName||0===e.indexOf(\"file:\")||0===e.length?e:i.relative_urls?r.documentBaseURI.toRelative(e):e=r.documentBaseURI.toAbsolute(e,i.remove_script_host)},addVisual:function(e){var n=this,r=n.settings,i=n.dom,o;e=e||n.getBody(),n.hasVisual===t&&(n.hasVisual=r.visual),I(i.select(\"table,a\",e),function(e){var t;switch(e.nodeName){case\"TABLE\":return o=r.visual_table_class||\"mce-item-table\",t=i.getAttrib(e,\"border\"),void(t&&\"0\"!=t||!n.hasVisual?i.removeClass(e,o):i.addClass(e,o));case\"A\":return void(i.getAttrib(e,\"href\",!1)||(t=i.getAttrib(e,\"name\")||e.id,o=r.visual_anchor_class||\"mce-item-anchor\",t&&n.hasVisual?i.addClass(e,o):i.removeClass(e,o)))}}),n.fire(\"VisualAid\",{element:e,hasVisual:n.hasVisual})},remove:function(){var e=this;e.removed||(e.save(),e.removed=1,e.unbindAllNativeEvents(),e.hasHiddenInput&&M.remove(e.getElement().nextSibling),e.inline||(q&&q<10&&e.getDoc().execCommand(\"SelectAll\",!1,null),M.setStyle(e.id,\"display\",e.orgDisplay),e.getBody().onload=null),e.fire(\"remove\"),e.editorManager.remove(e),M.remove(e.getContainer()),e._selectionOverrides.destroy(),e.editorUpload.destroy(),e.destroy())},destroy:function(e){var t=this,n;if(!t.destroyed){if(!e&&!t.removed)return void t.remove();e||(t.editorManager.off(\"beforeunload\",t._beforeUnload),t.theme&&t.theme.destroy&&t.theme.destroy(),t.selection.destroy(),t.dom.destroy()),n=t.formElement,n&&(n._mceOldSubmit&&(n.submit=n._mceOldSubmit,n._mceOldSubmit=null),M.unbind(n,\"submit reset\",t.formEventDelegate)),t.contentAreaContainer=t.formElement=t.container=t.editorContainer=null,t.bodyElement=t.contentDocument=t.contentWindow=null,t.iframeElement=t.targetElm=null,t.selection&&(t.selection=t.selection.win=t.selection.dom=t.selection.dom.doc=null),t.destroyed=1}},uploadImages:function(e){return this.editorUpload.uploadImages(e)},_scanForImages:function(){return this.editorUpload.scanForImages()}},H(L.prototype,_),L}),r(st,[m],function(e){var t={},n=\"en\";return{setCode:function(e){e&&(n=e,this.rtl=!!this.data[e]&&\"rtl\"===this.data[e]._dir)},getCode:function(){return n},rtl:!1,add:function(e,n){var r=t[e];r||(t[e]=r={});for(var i in n)r[i]=n[i];this.setCode(e)},translate:function(r){function i(t){return e.is(t,\"function\")?Object.prototype.toString.call(t):o(t)?\"\":\"\"+t}function o(t){return\"\"===t||null===t||e.is(t,\"undefined\")}function a(t){return t=i(t),e.hasOwn(s,t)?i(s[t]):t}var s=t[n]||{};if(o(r))return\"\";if(e.is(r,\"object\")&&e.hasOwn(r,\"raw\"))return i(r.raw);if(e.is(r,\"array\")){var l=r.slice(1);r=a(r[0]).replace(/\\{([0-9]+)\\}/g,function(t,n){return e.hasOwn(l,n)?i(l[n]):t})}return a(r).replace(/{context:\\w+}$/,\"\")},data:t}}),r(lt,[w,c,d],function(e,t,n){function r(e){function r(){try{return document.activeElement}catch(e){return document.body}}function u(e,t){if(t&&t.startContainer){if(!e.isChildOf(t.startContainer,e.getRoot())||!e.isChildOf(t.endContainer,e.getRoot()))return;return{startContainer:t.startContainer,startOffset:t.startOffset,endContainer:t.endContainer,endOffset:t.endOffset}}return t}function c(e,t){var n;return t.startContainer?(n=e.getDoc().createRange(),n.setStart(t.startContainer,t.startOffset),n.setEnd(t.endContainer,t.endOffset)):n=t,n}function d(d){var f=d.editor;f.on(\"init\",function(){(f.inline||n.ie)&&(\"onbeforedeactivate\"in document&&n.ie<9?f.dom.bind(f.getBody(),\"beforedeactivate\",function(e){if(e.target==f.getBody())try{f.lastRng=f.selection.getRng()}catch(t){}}):f.on(\"nodechange mouseup keyup\",function(e){var t=r();\"nodechange\"==e.type&&e.selectionChange||(t&&t.id==f.id+\"_ifr\"&&(t=f.getBody()),f.dom.isChildOf(t,f.getBody())&&(f.lastRng=f.selection.getRng()))}),n.webkit&&!i&&(i=function(){var t=e.activeEditor;if(t&&t.selection){var n=t.selection.getRng();n&&!n.collapsed&&(f.lastRng=n)}},s.bind(document,\"selectionchange\",i)))}),f.on(\"setcontent\",function(){f.lastRng=null}),f.on(\"mousedown\",function(){f.selection.lastFocusBookmark=null}),f.on(\"focusin\",function(){var t=e.focusedEditor,n;f.selection.lastFocusBookmark&&(n=c(f,f.selection.lastFocusBookmark),f.selection.lastFocusBookmark=null,f.selection.setRng(n)),t!=f&&(t&&t.fire(\"blur\",{focusedEditor:f}),e.setActive(f),e.focusedEditor=f,f.fire(\"focus\",{blurredEditor:t}),f.focus(!0)),f.lastRng=null}),f.on(\"focusout\",function(){t.setEditorTimeout(f,function(){var t=e.focusedEditor;l(f,r())||t!=f||(f.fire(\"blur\",{focusedEditor:null}),e.focusedEditor=null,f.selection&&(f.selection.lastFocusBookmark=null))})}),o||(o=function(t){var n=e.activeEditor,r;r=t.target,n&&r.ownerDocument==document&&(n.selection&&r!=n.getBody()&&(n.selection.lastFocusBookmark=u(n.dom,n.lastRng)),r==document.body||l(n,r)||e.focusedEditor!=n||(n.fire(\"blur\",{focusedEditor:null}),e.focusedEditor=null))},s.bind(document,\"focusin\",o)),f.inline&&!a&&(a=function(t){var n=e.activeEditor,r=n.dom;if(n.inline&&r&&!r.isChildOf(t.target,n.getBody())){var i=n.selection.getRng();i.collapsed||(n.lastRng=i)}},s.bind(document,\"mouseup\",a))}function f(t){e.focusedEditor==t.editor&&(e.focusedEditor=null),e.activeEditor||(s.unbind(document,\"selectionchange\",i),s.unbind(document,\"focusin\",o),s.unbind(document,\"mouseup\",a),i=o=a=null)}e.on(\"AddEditor\",d),e.on(\"RemoveEditor\",f)}var i,o,a,s=e.DOM,l=function(e,t){var n=e?e.settings.custom_ui_selector:\"\",i=s.getParent(t,function(t){return r.isEditorUIElement(t)||!!n&&e.dom.is(t,n)});return null!==i};return r.isEditorUIElement=function(e){return e.className.toString().indexOf(\"mce-\")!==-1},r._isUIElement=l,r}),r(ut,[at,g,w,ue,d,m,u,pe,st,lt,N],function(e,t,n,r,i,o,a,s,l,u,c){function d(e){v(x.editors,function(t){\"scroll\"===e.type?t.fire(\"ScrollWindow\",e):t.fire(\"ResizeWindow\",e)})}function f(e,n){n!==w&&(n?t(window).on(\"resize scroll\",d):t(window).off(\"resize scroll\",d),w=n)}function p(e){var t=x.editors,n;delete t[e.id];for(var r=0;r<t.length;r++)if(t[r]==e){t.splice(r,1),n=!0;break}return x.activeEditor==e&&(x.activeEditor=t[0]),x.focusedEditor==e&&(x.focusedEditor=null),n}function h(e){return e&&e.initialized&&!(e.getContainer()||e.getBody()).parentNode&&(p(e),e.unbindAllNativeEvents(),e.destroy(!0),e.removed=!0,e=null),e}var m=n.DOM,g=o.explode,v=o.each,y=o.extend,b=0,C,x,w=!1;return x={$:t,majorVersion:\"4\",minorVersion:\"5.7\",releaseDate:\"2017-04-25\",editors:[],i18n:l,activeEditor:null,setup:function(){var e=this,t,n,i=\"\",o,a;if(n=r.getDocumentBaseUrl(document.location),/^[^:]+:\\/\\/\\/?[^\\/]+\\//.test(n)&&(n=n.replace(/[\\?#].*$/,\"\").replace(/[\\/\\\\][^\\/]+$/,\"\"),/[\\/\\\\]$/.test(n)||(n+=\"/\")),o=window.tinymce||window.tinyMCEPreInit)t=o.base||o.baseURL,i=o.suffix;else{for(var s=document.getElementsByTagName(\"script\"),l=0;l<s.length;l++){a=s[l].src;var c=a.substring(a.lastIndexOf(\"/\"));if(/tinymce(\\.full|\\.jquery|)(\\.min|\\.dev|)\\.js/.test(a)){c.indexOf(\".min\")!=-1&&(i=\".min\"),t=a.substring(0,a.lastIndexOf(\"/\"));break}}!t&&document.currentScript&&(a=document.currentScript.src,a.indexOf(\".min\")!=-1&&(i=\".min\"),t=a.substring(0,a.lastIndexOf(\"/\")))}e.baseURL=new r(n).toAbsolute(t),e.documentBaseURL=n,e.baseURI=new r(e.baseURL),e.suffix=i,e.focusManager=new u(e)},overrideDefaults:function(e){var t,n;t=e.base_url,t&&(this.baseURL=new r(this.documentBaseURL).toAbsolute(t.replace(/\\/+$/,\"\")),this.baseURI=new r(this.baseURL)),n=e.suffix,e.suffix&&(this.suffix=n),this.defaultSettings=e;var i=e.plugin_base_urls;for(var o in i)c.PluginManager.urls[o]=i[o]},init:function(n){function r(e,t){return e.inline&&t.tagName.toLowerCase()in C}function i(e,t){window.console&&!window.test&&window.console.log(e,t)}function s(e){var t=e.id;return t||(t=e.name,t=t&&!m.get(t)?e.name:m.uniqueId(),e.setAttribute(\"id\",t)),t}function l(e){var t=n[e];if(t)return t.apply(f,Array.prototype.slice.call(arguments,2))}function u(e,t){return t.constructor===RegExp?t.test(e.className):m.hasClass(e,t)}function c(e){var t,n=[];if(e.types)return v(e.types,function(e){n=n.concat(m.select(e.selector))}),n;if(e.selector)return m.select(e.selector);if(e.target)return[e.target];switch(e.mode){case\"exact\":t=e.elements||\"\",t.length>0&&v(g(t),function(e){var t;(t=m.get(e))?n.push(t):v(document.forms,function(t){v(t.elements,function(t){t.name===e&&(e=\"mce_editor_\"+b++,m.setAttrib(t,\"id\",e),n.push(t))})})});break;case\"textareas\":case\"specific_textareas\":v(m.select(\"textarea\"),function(t){e.editor_deselector&&u(t,e.editor_deselector)||e.editor_selector&&!u(t,e.editor_selector)||n.push(t)})}return n}function d(){function a(t,n,r){var i=new e(t,n,f);p.push(i),i.on(\"init\",function(){++u===g.length&&x(p)}),i.targetElm=i.targetElm||r,i.render()}var u=0,p=[],g;return m.unbind(window,\"ready\",d),l(\"onpageload\"),g=t.unique(c(n)),n.types?void v(n.types,function(e){o.each(g,function(t){return!m.is(t,e.selector)||(a(s(t),y({},n,e),t),!1)})}):(o.each(g,function(e){h(f.get(e.id))}),g=o.grep(g,function(e){return!f.get(e.id)}),void v(g,function(e){r(n,e)?i(\"Could not initialize inline editor on invalid inline target element\",e):a(s(e),n,e)}))}var f=this,p,C;C=o.makeMap(\"area base basefont br col frame hr img input isindex link meta param embed source wbr track colgroup option tbody tfoot thead tr script noscript style textarea video audio iframe object menu\",\" \");var x=function(e){p=e};return f.settings=n,m.bind(window,\"ready\",d),new a(function(e){p?e(p):x=function(t){e(t)}})},get:function(e){return arguments.length?e in this.editors?this.editors[e]:null:this.editors},add:function(e){var t=this,n=t.editors;return n[e.id]=e,n.push(e),f(n,!0),t.activeEditor=e,t.fire(\"AddEditor\",{editor:e}),C||(C=function(){t.fire(\"BeforeUnload\")},m.bind(window,\"beforeunload\",C)),e},createEditor:function(t,n){return this.add(new e(t,n,this))},remove:function(e){var t=this,n,r=t.editors,i;{if(e)return\"string\"==typeof e?(e=e.selector||e,void v(m.select(e),function(e){i=r[e.id],i&&t.remove(i)})):(i=e,r[i.id]?(p(i)&&t.fire(\"RemoveEditor\",{editor:i}),r.length||m.unbind(window,\"beforeunload\",C),i.remove(),f(r,r.length>0),i):null);for(n=r.length-1;n>=0;n--)t.remove(r[n])}},execCommand:function(t,n,r){var i=this,o=i.get(r);switch(t){case\"mceAddEditor\":return i.get(r)||new e(r,i.settings,i).render(),!0;case\"mceRemoveEditor\":return o&&o.remove(),!0;case\"mceToggleEditor\":return o?(o.isHidden()?o.show():o.hide(),!0):(i.execCommand(\"mceAddEditor\",0,r),!0)}return!!i.activeEditor&&i.activeEditor.execCommand(t,n,r)},triggerSave:function(){v(this.editors,function(e){e.save()})},addI18n:function(e,t){l.add(e,t)},translate:function(e){return l.translate(e)},setActive:function(e){var t=this.activeEditor;this.activeEditor!=e&&(t&&t.fire(\"deactivate\",{relatedTarget:e}),e.fire(\"activate\",{relatedTarget:t})),this.activeEditor=e}},y(x,s),x.setup(),window.tinymce=window.tinyMCE=x,x}),r(ct,[ut,m],function(e,t){var n=t.each,r=t.explode;e.on(\"AddEditor\",function(e){var t=e.editor;t.on(\"preInit\",function(){function e(e,t){n(t,function(t,n){t&&s.setStyle(e,n,t)}),s.rename(e,\"span\")}function i(e){s=t.dom,l.convert_fonts_to_spans&&n(s.select(\"font,u,strike\",e.node),function(e){o[e.nodeName.toLowerCase()](s,e)})}var o,a,s,l=t.settings;l.inline_styles&&(a=r(l.font_size_legacy_values),o={font:function(t,n){e(n,{backgroundColor:n.style.backgroundColor,color:n.color,fontFamily:n.face,fontSize:a[parseInt(n.size,10)-1]})},u:function(n,r){\"html4\"===t.settings.schema&&e(r,{textDecoration:\"underline\"})},strike:function(t,n){e(n,{textDecoration:\"line-through\"})}},t.on(\"PreProcess SetContent\",i))})})}),r(dt,[pe,m],function(e,t){var n={send:function(e){function r(){!e.async||4==i.readyState||o++>1e4?(e.success&&o<1e4&&200==i.status?e.success.call(e.success_scope,\"\"+i.responseText,i,e):e.error&&e.error.call(e.error_scope,o>1e4?\"TIMED_OUT\":\"GENERAL\",i,e),i=null):setTimeout(r,10)}var i,o=0;if(e.scope=e.scope||this,e.success_scope=e.success_scope||e.scope,e.error_scope=e.error_scope||e.scope,e.async=e.async!==!1,e.data=e.data||\"\",n.fire(\"beforeInitialize\",{settings:e}),i=new XMLHttpRequest){if(i.overrideMimeType&&i.overrideMimeType(e.content_type),i.open(e.type||(e.data?\"POST\":\"GET\"),e.url,e.async),e.crossDomain&&(i.withCredentials=!0),e.content_type&&i.setRequestHeader(\"Content-Type\",e.content_type),e.requestheaders&&t.each(e.requestheaders,function(e){i.setRequestHeader(e.key,e.value)}),i.setRequestHeader(\"X-Requested-With\",\"XMLHttpRequest\"),i=n.fire(\"beforeSend\",{xhr:i,settings:e}).xhr,i.send(e.data),!e.async)return r();setTimeout(r,10)}}};return t.extend(n,e),n}),r(ft,[],function(){function e(t,n){var r,i,o,a;if(n=n||'\"',null===t)return\"null\";if(o=typeof t,\"string\"==o)return i=\"\\bb\\tt\\nn\\ff\\rr\\\"\\\"''\\\\\\\\\",n+t.replace(/([\\u0080-\\uFFFF\\x00-\\x1f\\\"\\'\\\\])/g,function(e,t){return'\"'===n&&\"'\"===e?e:(r=i.indexOf(t),r+1?\"\\\\\"+i.charAt(r+1):(e=t.charCodeAt().toString(16),\"\\\\u\"+\"0000\".substring(e.length)+e))})+n;if(\"object\"==o){if(t.hasOwnProperty&&\"[object Array]\"===Object.prototype.toString.call(t)){for(r=0,i=\"[\";r<t.length;r++)i+=(r>0?\",\":\"\")+e(t[r],n);return i+\"]\"}i=\"{\";for(a in t)t.hasOwnProperty(a)&&(i+=\"function\"!=typeof t[a]?(i.length>1?\",\"+n:n)+a+n+\":\"+e(t[a],n):\"\");return i+\"}\"}return\"\"+t}return{serialize:e,parse:function(e){try{return window[String.fromCharCode(101)+\"val\"](\"(\"+e+\")\")}catch(t){}}}}),r(pt,[ft,dt,m],function(e,t,n){function r(e){this.settings=i({},e),this.count=0}var i=n.extend;return r.sendRPC=function(e){return(new r).send(e)},r.prototype={send:function(n){var r=n.error,o=n.success;n=i(this.settings,n),n.success=function(t,i){t=e.parse(t),\"undefined\"==typeof t&&(t={error:\"JSON Parse error.\"}),t.error?r.call(n.error_scope||n.scope,t.error,i):o.call(n.success_scope||n.scope,t.result)},n.error=function(e,t){r&&r.call(n.error_scope||n.scope,e,t)},n.data=e.serialize({id:n.id||\"c\"+this.count++,method:n.method,params:n.params}),n.content_type=\"application/json\",t.send(n)}},r}),r(ht,[w],function(e){return{callbacks:{},count:0,send:function(n){var r=this,i=e.DOM,o=n.count!==t?n.count:r.count,a=\"tinymce_jsonp_\"+o;r.callbacks[o]=function(e){i.remove(a),delete r.callbacks[o],n.callback(e)},i.add(i.doc.body,\"script\",{id:a,src:n.url,type:\"text/javascript\"}),r.count++}}}),r(mt,[],function(){function e(){s=[];for(var e in a)s.push(e);i.length=s.length}function n(){function n(e){var n,r;return r=e!==t?c+e:i.indexOf(\",\",c),r===-1||r>i.length?null:(n=i.substring(c,r),c=r+1,n)}var r,i,s,c=0;if(a={},u){o.load(l),i=o.getAttribute(l)||\"\";do{var d=n();if(null===d)break;if(r=n(parseInt(d,32)||0),null!==r){if(d=n(),null===d)break;s=n(parseInt(d,32)||0),r&&(a[r]=s)}}while(null!==r);e()}}function r(){var t,n=\"\";if(u){for(var r in a)t=a[r],n+=(n?\",\":\"\")+r.length.toString(32)+\",\"+r+\",\"+t.length.toString(32)+\",\"+t;o.setAttribute(l,n);try{o.save(l)}catch(i){}e()}}var i,o,a,s,l,u;try{if(window.localStorage)return localStorage}catch(c){}return l=\"tinymce\",o=document.documentElement,u=!!o.addBehavior,u&&o.addBehavior(\"#default#userData\"),i={key:function(e){return s[e]},getItem:function(e){return e in a?a[e]:null},setItem:function(e,t){a[e]=\"\"+t,r()},removeItem:function(e){delete a[e],r()},clear:function(){a={},r()}},n(),i}),r(gt,[w,f,E,N,m,d],function(e,t,n,r,i,o){var a=window.tinymce;return a.DOM=e.DOM,a.ScriptLoader=n.ScriptLoader,a.PluginManager=r.PluginManager,a.ThemeManager=r.ThemeManager,a.dom=a.dom||{},a.dom.Event=t.Event,i.each(\"trim isArray is toArray makeMap each map grep inArray extend create walk createNS resolve explode _addCacheSuffix\".split(\" \"),function(e){a[e]=i[e]}),i.each(\"isOpera isWebKit isIE isGecko isMac\".split(\" \"),function(e){a[e]=o[e.substr(2).toLowerCase()]}),{}}),r(vt,[ce,m],function(e,t){return e.extend({Defaults:{firstControlClass:\"first\",lastControlClass:\"last\"},init:function(e){this.settings=t.extend({},this.Defaults,e)},preRender:function(e){e.bodyClasses.add(this.settings.containerClass)},applyClasses:function(e){var t=this,n=t.settings,r,i,o,a;r=n.firstControlClass,i=n.lastControlClass,e.each(function(e){e.classes.remove(r).remove(i).add(n.controlClass),e.visible()&&(o||(o=e),a=e)}),o&&o.classes.add(r),a&&a.classes.add(i)},renderHtml:function(e){var t=this,n=\"\";return t.applyClasses(e.items()),e.items().each(function(e){n+=e.renderHtml()}),n},recalc:function(){},postRender:function(){},isNative:function(){return!1}})}),r(yt,[vt],function(e){return e.extend({Defaults:{containerClass:\"abs-layout\",controlClass:\"abs-layout-item\"},recalc:function(e){e.items().filter(\":visible\").each(function(e){var t=e.settings;e.layoutRect({x:t.x,y:t.y,w:t.w,h:t.h}),e.recalc&&e.recalc()})},renderHtml:function(e){return'<div id=\"'+e._id+'-absend\" class=\"'+e.classPrefix+'abs-end\"></div>'+this._super(e)}})}),r(bt,[Pe],function(e){return e.extend({Defaults:{classes:\"widget btn\",role:\"button\"},init:function(e){var t=this,n;t._super(e),e=t.settings,n=t.settings.size,t.on(\"click mousedown\",function(e){e.preventDefault()}),t.on(\"touchstart\",function(e){t.fire(\"click\",e),e.preventDefault()}),e.subtype&&t.classes.add(e.subtype),n&&t.classes.add(\"btn-\"+n),e.icon&&t.icon(e.icon)},icon:function(e){return arguments.length?(this.state.set(\"icon\",e),this):this.state.get(\"icon\")},repaint:function(){var e=this.getEl().firstChild,t;e&&(t=e.style,t.width=t.height=\"100%\"),this._super()},renderHtml:function(){var e=this,t=e._id,n=e.classPrefix,r=e.state.get(\"icon\"),i,o=e.state.get(\"text\"),a=\"\";return i=e.settings.image,i?(r=\"none\",\"string\"!=typeof i&&(i=window.getSelection?i[0]:i[1]),i=\" style=\\\"background-image: url('\"+i+\"')\\\"\"):i=\"\",o&&(e.classes.add(\"btn-has-text\"),a='<span class=\"'+n+'txt\">'+e.encode(o)+\"</span>\"),r=r?n+\"ico \"+n+\"i-\"+r:\"\",'<div id=\"'+t+'\" class=\"'+e.classes+'\" tabindex=\"-1\" aria-labelledby=\"'+t+'\"><button role=\"presentation\" type=\"button\" tabindex=\"-1\">'+(r?'<i class=\"'+r+'\"'+i+\"></i>\":\"\")+a+\"</button></div>\"},bindStates:function(){function e(e){var i=n(\"span.\"+r,t.getEl());e?(i[0]||(n(\"button:first\",t.getEl()).append('<span class=\"'+r+'\"></span>'),i=n(\"span.\"+r,t.getEl())),i.html(t.encode(e))):i.remove(),t.classes.toggle(\"btn-has-text\",!!e)}var t=this,n=t.$,r=t.classPrefix+\"txt\";return t.state.on(\"change:text\",function(t){e(t.value)}),t.state.on(\"change:icon\",function(n){var r=n.value,i=t.classPrefix;t.settings.icon=r,r=r?i+\"ico \"+i+\"i-\"+t.settings.icon:\"\";var o=t.getEl().firstChild,a=o.getElementsByTagName(\"i\")[0];r?(a&&a==o.firstChild||(a=document.createElement(\"i\"),o.insertBefore(a,o.firstChild)),a.className=r):a&&o.removeChild(a),e(t.state.get(\"text\"))}),t._super()}})}),r(Ct,[Ne],function(e){return e.extend({Defaults:{defaultType:\"button\",role:\"group\"},renderHtml:function(){var e=this,t=e._layout;return e.classes.add(\"btn-group\"),e.preRender(),t.preRender(e),'<div id=\"'+e._id+'\" class=\"'+e.classes+'\"><div id=\"'+e._id+'-body\">'+(e.settings.html||\"\")+t.renderHtml(e)+\"</div></div>\"}})}),r(xt,[Pe],function(e){return e.extend({Defaults:{classes:\"checkbox\",role:\"checkbox\",checked:!1},init:function(e){var t=this;t._super(e),t.on(\"click mousedown\",function(e){e.preventDefault()}),t.on(\"click\",function(e){e.preventDefault(),t.disabled()||t.checked(!t.checked())}),t.checked(t.settings.checked)},checked:function(e){return arguments.length?(this.state.set(\"checked\",e),this):this.state.get(\"checked\")},value:function(e){return arguments.length?this.checked(e):this.checked()},renderHtml:function(){var e=this,t=e._id,n=e.classPrefix;return'<div id=\"'+t+'\" class=\"'+e.classes+'\" unselectable=\"on\" aria-labelledby=\"'+t+'-al\" tabindex=\"-1\"><i class=\"'+n+\"ico \"+n+'i-checkbox\"></i><span id=\"'+t+'-al\" class=\"'+n+'label\">'+e.encode(e.state.get(\"text\"))+\"</span></div>\"},bindStates:function(){function e(e){t.classes.toggle(\"checked\",e),t.aria(\"checked\",e)}var t=this;return t.state.on(\"change:text\",function(e){t.getEl(\"al\").firstChild.data=t.translate(e.value)}),t.state.on(\"change:checked change:value\",function(n){t.fire(\"change\"),e(n.value)}),t.state.on(\"change:icon\",function(e){var n=e.value,r=t.classPrefix;if(\"undefined\"==typeof n)return t.settings.icon;t.settings.icon=n,n=n?r+\"ico \"+r+\"i-\"+t.settings.icon:\"\";var i=t.getEl().firstChild,o=i.getElementsByTagName(\"i\")[0];n?(o&&o==i.firstChild||(o=document.createElement(\"i\"),i.insertBefore(o,i.firstChild)),o.className=n):o&&i.removeChild(o)}),t.state.get(\"checked\")&&e(!0),t._super()}})}),r(wt,[Pe,we,ve,g,I,m],function(e,t,n,r,i,o){return e.extend({init:function(e){var t=this;t._super(e),e=t.settings,t.classes.add(\"combobox\"),t.subinput=!0,t.ariaTarget=\"inp\",e.menu=e.menu||e.values,e.menu&&(e.icon=\"caret\"),t.on(\"click\",function(n){var i=n.target,o=t.getEl();if(r.contains(o,i)||i==o)for(;i&&i!=o;)i.id&&i.id.indexOf(\"-open\")!=-1&&(t.fire(\"action\"),e.menu&&(t.showMenu(),n.aria&&t.menu.items()[0].focus())),i=i.parentNode}),t.on(\"keydown\",function(e){var n;13==e.keyCode&&\"INPUT\"===e.target.nodeName&&(e.preventDefault(),t.parents().reverse().each(function(e){if(e.toJSON)return n=e,!1}),t.fire(\"submit\",{data:n.toJSON()}))}),t.on(\"keyup\",function(e){if(\"INPUT\"==e.target.nodeName){var n=t.state.get(\"value\"),r=e.target.value;r!==n&&(t.state.set(\"value\",r),t.fire(\"autocomplete\",e))}}),t.on(\"mouseover\",function(e){var n=t.tooltip().moveTo(-65535);if(t.statusLevel()&&e.target.className.indexOf(t.classPrefix+\"status\")!==-1){var r=t.statusMessage()||\"Ok\",i=n.text(r).show().testMoveRel(e.target,[\"bc-tc\",\"bc-tl\",\"bc-tr\"]);n.classes.toggle(\"tooltip-n\",\"bc-tc\"==i),n.classes.toggle(\"tooltip-nw\",\"bc-tl\"==i),n.classes.toggle(\"tooltip-ne\",\"bc-tr\"==i),n.moveRel(e.target,i)}})},statusLevel:function(e){return arguments.length>0&&this.state.set(\"statusLevel\",e),this.state.get(\"statusLevel\")},statusMessage:function(e){return arguments.length>0&&this.state.set(\"statusMessage\",e),this.state.get(\"statusMessage\")},showMenu:function(){var e=this,n=e.settings,r;e.menu||(r=n.menu||[],r.length?r={type:\"menu\",items:r}:r.type=r.type||\"menu\",e.menu=t.create(r).parent(e).renderTo(e.getContainerElm()),e.fire(\"createmenu\"),e.menu.reflow(),e.menu.on(\"cancel\",function(t){t.control===e.menu&&e.focus()}),e.menu.on(\"show hide\",function(t){t.control.items().each(function(t){t.active(t.value()==e.value())})}).fire(\"show\"),e.menu.on(\"select\",function(t){e.value(t.control.value())}),e.on(\"focusin\",function(t){\"INPUT\"==t.target.tagName.toUpperCase()&&e.menu.hide()}),e.aria(\"expanded\",!0)),e.menu.show(),e.menu.layoutRect({w:e.layoutRect().w}),e.menu.moveRel(e.getEl(),e.isRtl()?[\"br-tr\",\"tr-br\"]:[\"bl-tl\",\"tl-bl\"])},focus:function(){this.getEl(\"inp\").focus()},repaint:function(){var e=this,t=e.getEl(),i=e.getEl(\"open\"),o=e.layoutRect(),a,s,l=0,u=t.firstChild;e.statusLevel()&&\"none\"!==e.statusLevel()&&(l=parseInt(n.getRuntimeStyle(u,\"padding-right\"),10)-parseInt(n.getRuntimeStyle(u,\"padding-left\"),10)),a=i?o.w-n.getSize(i).width-10:o.w-10;var c=document;return c.all&&(!c.documentMode||c.documentMode<=8)&&(s=e.layoutRect().h-2+\"px\"),r(u).css({width:a-l,lineHeight:s}),e._super(),e},postRender:function(){var e=this;return r(this.getEl(\"inp\")).on(\"change\",function(t){e.state.set(\"value\",t.target.value),e.fire(\"change\",t)}),e._super()},renderHtml:function(){var e=this,t=e._id,n=e.settings,r=e.classPrefix,i=e.state.get(\"value\")||\"\",o,a,s=\"\",l=\"\",u=\"\";return\"spellcheck\"in n&&(l+=' spellcheck=\"'+n.spellcheck+'\"'),n.maxLength&&(l+=' maxlength=\"'+n.maxLength+'\"'),n.size&&(l+=' size=\"'+n.size+'\"'),n.subtype&&(l+=' type=\"'+n.subtype+'\"'),u='<i id=\"'+t+'-status\" class=\"mce-status mce-ico\" style=\"display: none\"></i>',e.disabled()&&(l+=' disabled=\"disabled\"'),o=n.icon,o&&\"caret\"!=o&&(o=r+\"ico \"+r+\"i-\"+n.icon),a=e.state.get(\"text\"),(o||a)&&(s='<div id=\"'+t+'-open\" class=\"'+r+\"btn \"+r+'open\" tabIndex=\"-1\" role=\"button\"><button id=\"'+t+'-action\" type=\"button\" hidefocus=\"1\" tabindex=\"-1\">'+(\"caret\"!=o?'<i class=\"'+o+'\"></i>':'<i class=\"'+r+'caret\"></i>')+(a?(o?\" \":\"\")+a:\"\")+\"</button></div>\",e.classes.add(\"has-open\")),'<div id=\"'+t+'\" class=\"'+e.classes+'\"><input id=\"'+t+'-inp\" class=\"'+r+'textbox\" value=\"'+e.encode(i,!1)+'\" hidefocus=\"1\"'+l+' placeholder=\"'+e.encode(n.placeholder)+'\" />'+u+s+\"</div>\"},value:function(e){return arguments.length?(this.state.set(\"value\",e),\nthis):(this.state.get(\"rendered\")&&this.state.set(\"value\",this.getEl(\"inp\").value),this.state.get(\"value\"))},showAutoComplete:function(e,n){var r=this;if(0===e.length)return void r.hideMenu();var i=function(e,t){return function(){r.fire(\"selectitem\",{title:t,value:e})}};r.menu?r.menu.items().remove():r.menu=t.create({type:\"menu\",classes:\"combobox-menu\",layout:\"flow\"}).parent(r).renderTo(),o.each(e,function(e){r.menu.add({text:e.title,url:e.previewUrl,match:n,classes:\"menu-item-ellipsis\",onclick:i(e.value,e.title)})}),r.menu.renderNew(),r.hideMenu(),r.menu.on(\"cancel\",function(e){e.control.parent()===r.menu&&(e.stopPropagation(),r.focus(),r.hideMenu())}),r.menu.on(\"select\",function(){r.focus()});var a=r.layoutRect().w;r.menu.layoutRect({w:a,minW:0,maxW:a}),r.menu.reflow(),r.menu.show(),r.menu.moveRel(r.getEl(),r.isRtl()?[\"br-tr\",\"tr-br\"]:[\"bl-tl\",\"tl-bl\"])},hideMenu:function(){this.menu&&this.menu.hide()},bindStates:function(){var e=this;e.state.on(\"change:value\",function(t){e.getEl(\"inp\").value!=t.value&&(e.getEl(\"inp\").value=t.value)}),e.state.on(\"change:disabled\",function(t){e.getEl(\"inp\").disabled=t.value}),e.state.on(\"change:statusLevel\",function(t){var r=e.getEl(\"status\"),i=e.classPrefix,o=t.value;n.css(r,\"display\",\"none\"===o?\"none\":\"\"),n.toggleClass(r,i+\"i-checkmark\",\"ok\"===o),n.toggleClass(r,i+\"i-warning\",\"warn\"===o),n.toggleClass(r,i+\"i-error\",\"error\"===o),e.classes.toggle(\"has-status\",\"none\"!==o),e.repaint()}),n.on(e.getEl(\"status\"),\"mouseleave\",function(){e.tooltip().hide()}),e.on(\"cancel\",function(t){e.menu&&e.menu.visible()&&(t.stopPropagation(),e.hideMenu())});var t=function(e,t){t&&t.items().length>0&&t.items().eq(e)[0].focus()};return e.on(\"keydown\",function(n){var r=n.keyCode;\"INPUT\"===n.target.nodeName&&(r===i.DOWN?(n.preventDefault(),e.fire(\"autocomplete\"),t(0,e.menu)):r===i.UP&&(n.preventDefault(),t(-1,e.menu)))}),e._super()},remove:function(){r(this.getEl(\"inp\")).off(),this.menu&&this.menu.remove(),this._super()}})}),r(Et,[wt],function(e){return e.extend({init:function(e){var t=this;e.spellcheck=!1,e.onaction&&(e.icon=\"none\"),t._super(e),t.classes.add(\"colorbox\"),t.on(\"change keyup postrender\",function(){t.repaintColor(t.value())})},repaintColor:function(e){var t=this.getEl(\"open\"),n=t?t.getElementsByTagName(\"i\")[0]:null;if(n)try{n.style.background=e}catch(r){}},bindStates:function(){var e=this;return e.state.on(\"change:value\",function(t){e.state.get(\"rendered\")&&e.repaintColor(t.value)}),e._super()}})}),r(Nt,[bt,Ae],function(e,t){return e.extend({showPanel:function(){var e=this,n=e.settings;if(e.active(!0),e.panel)e.panel.show();else{var r=n.panel;r.type&&(r={layout:\"grid\",items:r}),r.role=r.role||\"dialog\",r.popover=!0,r.autohide=!0,r.ariaRoot=!0,e.panel=new t(r).on(\"hide\",function(){e.active(!1)}).on(\"cancel\",function(t){t.stopPropagation(),e.focus(),e.hidePanel()}).parent(e).renderTo(e.getContainerElm()),e.panel.fire(\"show\"),e.panel.reflow()}e.panel.moveRel(e.getEl(),n.popoverAlign||(e.isRtl()?[\"bc-tr\",\"bc-tc\"]:[\"bc-tl\",\"bc-tc\"]))},hidePanel:function(){var e=this;e.panel&&e.panel.hide()},postRender:function(){var e=this;return e.aria(\"haspopup\",!0),e.on(\"click\",function(t){t.control===e&&(e.panel&&e.panel.visible()?e.hidePanel():(e.showPanel(),e.panel.focus(!!t.aria)))}),e._super()},remove:function(){return this.panel&&(this.panel.remove(),this.panel=null),this._super()}})}),r(_t,[Nt,w],function(e,t){var n=t.DOM;return e.extend({init:function(e){this._super(e),this.classes.add(\"colorbutton\")},color:function(e){return e?(this._color=e,this.getEl(\"preview\").style.backgroundColor=e,this):this._color},resetColor:function(){return this._color=null,this.getEl(\"preview\").style.backgroundColor=null,this},renderHtml:function(){var e=this,t=e._id,n=e.classPrefix,r=e.state.get(\"text\"),i=e.settings.icon?n+\"ico \"+n+\"i-\"+e.settings.icon:\"\",o=e.settings.image?\" style=\\\"background-image: url('\"+e.settings.image+\"')\\\"\":\"\",a=\"\";return r&&(e.classes.add(\"btn-has-text\"),a='<span class=\"'+n+'txt\">'+e.encode(r)+\"</span>\"),'<div id=\"'+t+'\" class=\"'+e.classes+'\" role=\"button\" tabindex=\"-1\" aria-haspopup=\"true\"><button role=\"presentation\" hidefocus=\"1\" type=\"button\" tabindex=\"-1\">'+(i?'<i class=\"'+i+'\"'+o+\"></i>\":\"\")+'<span id=\"'+t+'-preview\" class=\"'+n+'preview\"></span>'+a+'</button><button type=\"button\" class=\"'+n+'open\" hidefocus=\"1\" tabindex=\"-1\"> <i class=\"'+n+'caret\"></i></button></div>'},postRender:function(){var e=this,t=e.settings.onclick;return e.on(\"click\",function(r){r.aria&&\"down\"==r.aria.key||r.control!=e||n.getParent(r.target,\".\"+e.classPrefix+\"open\")||(r.stopImmediatePropagation(),t.call(e,r))}),delete e.settings.onclick,e._super()}})}),r(St,[],function(){function e(e){function i(e,i,o){var a,s,l,u,c,d;return a=0,s=0,l=0,e/=255,i/=255,o/=255,c=t(e,t(i,o)),d=n(e,n(i,o)),c==d?(l=c,{h:0,s:0,v:100*l}):(u=e==c?i-o:o==c?e-i:o-e,a=e==c?3:o==c?1:5,a=60*(a-u/(d-c)),s=(d-c)/d,l=d,{h:r(a),s:r(100*s),v:r(100*l)})}function o(e,i,o){var a,s,l,u;if(e=(parseInt(e,10)||0)%360,i=parseInt(i,10)/100,o=parseInt(o,10)/100,i=n(0,t(i,1)),o=n(0,t(o,1)),0===i)return void(d=f=p=r(255*o));switch(a=e/60,s=o*i,l=s*(1-Math.abs(a%2-1)),u=o-s,Math.floor(a)){case 0:d=s,f=l,p=0;break;case 1:d=l,f=s,p=0;break;case 2:d=0,f=s,p=l;break;case 3:d=0,f=l,p=s;break;case 4:d=l,f=0,p=s;break;case 5:d=s,f=0,p=l;break;default:d=f=p=0}d=r(255*(d+u)),f=r(255*(f+u)),p=r(255*(p+u))}function a(){function e(e){return e=parseInt(e,10).toString(16),e.length>1?e:\"0\"+e}return\"#\"+e(d)+e(f)+e(p)}function s(){return{r:d,g:f,b:p}}function l(){return i(d,f,p)}function u(e){var t;return\"object\"==typeof e?\"r\"in e?(d=e.r,f=e.g,p=e.b):\"v\"in e&&o(e.h,e.s,e.v):(t=/rgb\\s*\\(\\s*([0-9]+)\\s*,\\s*([0-9]+)\\s*,\\s*([0-9]+)[^\\)]*\\)/gi.exec(e))?(d=parseInt(t[1],10),f=parseInt(t[2],10),p=parseInt(t[3],10)):(t=/#([0-F]{2})([0-F]{2})([0-F]{2})/gi.exec(e))?(d=parseInt(t[1],16),f=parseInt(t[2],16),p=parseInt(t[3],16)):(t=/#([0-F])([0-F])([0-F])/gi.exec(e))&&(d=parseInt(t[1]+t[1],16),f=parseInt(t[2]+t[2],16),p=parseInt(t[3]+t[3],16)),d=d<0?0:d>255?255:d,f=f<0?0:f>255?255:f,p=p<0?0:p>255?255:p,c}var c=this,d=0,f=0,p=0;e&&u(e),c.toRgb=s,c.toHsv=l,c.toHex=a,c.parse=u}var t=Math.min,n=Math.max,r=Math.round;return e}),r(kt,[Pe,_e,ve,St],function(e,t,n,r){return e.extend({Defaults:{classes:\"widget colorpicker\"},init:function(e){this._super(e)},postRender:function(){function e(e,t){var r=n.getPos(e),i,o;return i=t.pageX-r.x,o=t.pageY-r.y,i=Math.max(0,Math.min(i/e.clientWidth,1)),o=Math.max(0,Math.min(o/e.clientHeight,1)),{x:i,y:o}}function i(e,t){var i=(360-e.h)/360;n.css(d,{top:100*i+\"%\"}),t||n.css(p,{left:e.s+\"%\",top:100-e.v+\"%\"}),f.style.background=new r({s:100,v:100,h:e.h}).toHex(),s.color().parse({s:e.s,v:e.v,h:e.h})}function o(t){var n;n=e(f,t),u.s=100*n.x,u.v=100*(1-n.y),i(u),s.fire(\"change\")}function a(t){var n;n=e(c,t),u=l.toHsv(),u.h=360*(1-n.y),i(u,!0),s.fire(\"change\")}var s=this,l=s.color(),u,c,d,f,p;c=s.getEl(\"h\"),d=s.getEl(\"hp\"),f=s.getEl(\"sv\"),p=s.getEl(\"svp\"),s._repaint=function(){u=l.toHsv(),i(u)},s._super(),s._svdraghelper=new t(s._id+\"-sv\",{start:o,drag:o}),s._hdraghelper=new t(s._id+\"-h\",{start:a,drag:a}),s._repaint()},rgb:function(){return this.color().toRgb()},value:function(e){var t=this;return arguments.length?(t.color().parse(e),void(t._rendered&&t._repaint())):t.color().toHex()},color:function(){return this._color||(this._color=new r),this._color},renderHtml:function(){function e(){var e,t,n=\"\",i,a;for(i=\"filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr=\",a=o.split(\",\"),e=0,t=a.length-1;e<t;e++)n+='<div class=\"'+r+'colorpicker-h-chunk\" style=\"height:'+100/t+\"%;\"+i+a[e]+\",endColorstr=\"+a[e+1]+\");-ms-\"+i+a[e]+\",endColorstr=\"+a[e+1]+')\"></div>';return n}var t=this,n=t._id,r=t.classPrefix,i,o=\"#ff0000,#ff0080,#ff00ff,#8000ff,#0000ff,#0080ff,#00ffff,#00ff80,#00ff00,#80ff00,#ffff00,#ff8000,#ff0000\",a=\"background: -ms-linear-gradient(top,\"+o+\");background: linear-gradient(to bottom,\"+o+\");\";return i='<div id=\"'+n+'-h\" class=\"'+r+'colorpicker-h\" style=\"'+a+'\">'+e()+'<div id=\"'+n+'-hp\" class=\"'+r+'colorpicker-h-marker\"></div></div>','<div id=\"'+n+'\" class=\"'+t.classes+'\"><div id=\"'+n+'-sv\" class=\"'+r+'colorpicker-sv\"><div class=\"'+r+'colorpicker-overlay1\"><div class=\"'+r+'colorpicker-overlay2\"><div id=\"'+n+'-svp\" class=\"'+r+'colorpicker-selector1\"><div class=\"'+r+'colorpicker-selector2\"></div></div></div></div></div>'+i+\"</div>\"}})}),r(Tt,[Pe],function(e){return e.extend({init:function(e){var t=this;e.delimiter||(e.delimiter=\"\\xbb\"),t._super(e),t.classes.add(\"path\"),t.canFocus=!0,t.on(\"click\",function(e){var n,r=e.target;(n=r.getAttribute(\"data-index\"))&&t.fire(\"select\",{value:t.row()[n],index:n})}),t.row(t.settings.row)},focus:function(){var e=this;return e.getEl().firstChild.focus(),e},row:function(e){return arguments.length?(this.state.set(\"row\",e),this):this.state.get(\"row\")},renderHtml:function(){var e=this;return'<div id=\"'+e._id+'\" class=\"'+e.classes+'\">'+e._getDataPathHtml(e.state.get(\"row\"))+\"</div>\"},bindStates:function(){var e=this;return e.state.on(\"change:row\",function(t){e.innerHtml(e._getDataPathHtml(t.value))}),e._super()},_getDataPathHtml:function(e){var t=this,n=e||[],r,i,o=\"\",a=t.classPrefix;for(r=0,i=n.length;r<i;r++)o+=(r>0?'<div class=\"'+a+'divider\" aria-hidden=\"true\"> '+t.settings.delimiter+\" </div>\":\"\")+'<div role=\"button\" class=\"'+a+\"path-item\"+(r==i-1?\" \"+a+\"last\":\"\")+'\" data-index=\"'+r+'\" tabindex=\"-1\" id=\"'+t._id+\"-\"+r+'\" aria-level=\"'+(r+1)+'\">'+n[r].name+\"</div>\";return o||(o='<div class=\"'+a+'path-item\">\\xa0</div>'),o}})}),r(Rt,[Tt],function(e){return e.extend({postRender:function(){function e(e){if(1===e.nodeType){if(\"BR\"==e.nodeName||e.getAttribute(\"data-mce-bogus\"))return!0;if(\"bookmark\"===e.getAttribute(\"data-mce-type\"))return!0}return!1}var t=this,n=t.settings.editor;return n.settings.elementpath!==!1&&(t.on(\"select\",function(e){n.focus(),n.selection.select(this.row()[e.index].element),n.nodeChanged()}),n.on(\"nodeChange\",function(r){for(var i=[],o=r.parents,a=o.length;a--;)if(1==o[a].nodeType&&!e(o[a])){var s=n.fire(\"ResolveName\",{name:o[a].nodeName.toLowerCase(),target:o[a]});if(s.isDefaultPrevented()||i.push({name:s.name,element:o[a]}),s.isPropagationStopped())break}t.row(i)})),t._super()}})}),r(At,[Ne],function(e){return e.extend({Defaults:{layout:\"flex\",align:\"center\",defaults:{flex:1}},renderHtml:function(){var e=this,t=e._layout,n=e.classPrefix;return e.classes.add(\"formitem\"),t.preRender(e),'<div id=\"'+e._id+'\" class=\"'+e.classes+'\" hidefocus=\"1\" tabindex=\"-1\">'+(e.settings.title?'<div id=\"'+e._id+'-title\" class=\"'+n+'title\">'+e.settings.title+\"</div>\":\"\")+'<div id=\"'+e._id+'-body\" class=\"'+e.bodyClasses+'\">'+(e.settings.html||\"\")+t.renderHtml(e)+\"</div></div>\"}})}),r(Bt,[Ne,At,m],function(e,t,n){return e.extend({Defaults:{containerCls:\"form\",layout:\"flex\",direction:\"column\",align:\"stretch\",flex:1,padding:20,labelGap:30,spacing:10,callbacks:{submit:function(){this.submit()}}},preRender:function(){var e=this,r=e.items();e.settings.formItemDefaults||(e.settings.formItemDefaults={layout:\"flex\",autoResize:\"overflow\",defaults:{flex:1}}),r.each(function(r){var i,o=r.settings.label;o&&(i=new t(n.extend({items:{type:\"label\",id:r._id+\"-l\",text:o,flex:0,forId:r._id,disabled:r.disabled()}},e.settings.formItemDefaults)),i.type=\"formitem\",r.aria(\"labelledby\",r._id+\"-l\"),\"undefined\"==typeof r.settings.flex&&(r.settings.flex=1),e.replace(r,i),i.add(r))})},submit:function(){return this.fire(\"submit\",{data:this.toJSON()})},postRender:function(){var e=this;e._super(),e.fromJSON(e.settings.data)},bindStates:function(){function e(){var e=0,n=[],r,i,o;if(t.settings.labelGapCalc!==!1)for(o=\"children\"==t.settings.labelGapCalc?t.find(\"formitem\"):t.items(),o.filter(\"formitem\").each(function(t){var r=t.items()[0],i=r.getEl().clientWidth;e=i>e?i:e,n.push(r)}),i=t.settings.labelGap||0,r=n.length;r--;)n[r].settings.minWidth=e+i}var t=this;t._super(),t.on(\"show\",e),e()}})}),r(Dt,[Bt],function(e){return e.extend({Defaults:{containerCls:\"fieldset\",layout:\"flex\",direction:\"column\",align:\"stretch\",flex:1,padding:\"25 15 5 15\",labelGap:30,spacing:10,border:1},renderHtml:function(){var e=this,t=e._layout,n=e.classPrefix;return e.preRender(),t.preRender(e),'<fieldset id=\"'+e._id+'\" class=\"'+e.classes+'\" hidefocus=\"1\" tabindex=\"-1\">'+(e.settings.title?'<legend id=\"'+e._id+'-title\" class=\"'+n+'fieldset-title\">'+e.settings.title+\"</legend>\":\"\")+'<div id=\"'+e._id+'-body\" class=\"'+e.bodyClasses+'\">'+(e.settings.html||\"\")+t.renderHtml(e)+\"</div></fieldset>\"}})}),r(Lt,[w,z,h,it,m,_],function(e,t,n,r,i,o){var a=i.trim,s=function(e,t,n,r,i){return{type:e,title:t,url:n,level:r,attach:i}},l=function(e){for(;e=e.parentNode;){var t=e.contentEditable;if(t&&\"inherit\"!==t)return o.isContentEditableTrue(e)}return!1},u=function(t,n){return e.DOM.select(t,n)},c=function(e){return e.innerText||e.textContent},d=function(e){return e.id?e.id:r.uuid(\"h\")},f=function(e){return e&&\"A\"===e.nodeName&&(e.id||e.name)},p=function(e){return f(e)&&m(e)},h=function(e){return e&&/^(H[1-6])$/.test(e.nodeName)},m=function(e){return l(e)&&!o.isContentEditableFalse(e)},g=function(e){return h(e)&&m(e)},v=function(e){return h(e)?parseInt(e.nodeName.substr(1),10):0},y=function(e){var t=d(e),n=function(){e.id=t};return s(\"header\",c(e),\"#\"+t,v(e),n)},b=function(e){var n=e.id||e.name,r=c(e);return s(\"anchor\",r?r:\"#\"+n,\"#\"+n,0,t.noop)},C=function(e){return n.map(n.filter(e,g),y)},x=function(e){return n.map(n.filter(e,p),b)},w=function(e){var t=u(\"h1,h2,h3,h4,h5,h6,a:not([href])\",e);return t},E=function(e){return a(e.title).length>0},N=function(e){var t=w(e);return n.filter(C(t).concat(x(t)),E)};return{find:N}}),r(Mt,[wt,m,h,z,I,Lt],function(e,t,n,r,i,o){var a={},s=5,l=function(e){return{title:e.title,value:{title:{raw:e.title},url:e.url,attach:e.attach}}},u=function(e){return t.map(e,l)},c=function(e,t){return{title:e,value:{title:e,url:t,attach:r.noop}}},d=function(e,t){var r=n.find(t,function(t){return t.url===e});return!r},f=function(e,t,n){var r=t in e?e[t]:n;return r===!1?null:r},p=function(e,i,o,s){var l={title:\"-\"},p=function(e){var a=n.filter(e[o],function(e){return d(e,i)});return t.map(a,function(e){return{title:e,value:{title:e,url:e,attach:r.noop}}})},h=function(e){var t=n.filter(i,function(t){return t.type==e});return u(t)},g=function(){var e=h(\"anchor\"),t=f(s,\"anchor_top\",\"#top\"),n=f(s,\"anchor_bottom\",\"#bottom\");return null!==t&&e.unshift(c(\"<top>\",t)),null!==n&&e.push(c(\"<bottom>\",n)),e},v=function(e){return n.reduce(e,function(e,t){var n=0===e.length||0===t.length;return n?e.concat(t):e.concat(l,t)},[])};return s.typeahead_urls===!1?[]:\"file\"===o?v([m(e,p(a)),m(e,h(\"header\")),m(e,g())]):m(e,p(a))},h=function(e,t){var r=a[t];/^https?/.test(e)&&(r?n.indexOf(r,e)===-1&&(a[t]=r.slice(0,s).concat(e)):a[t]=[e])},m=function(e,n){var r=e.toLowerCase(),i=t.grep(n,function(e){return e.title.toLowerCase().indexOf(r)!==-1});return 1===i.length&&i[0].title===e?[]:i},g=function(e){var t=e.title;return t.raw?t.raw:t},v=function(e,t,n,r){var i=function(i){var a=o.find(n),s=p(i,a,r,t);e.showAutoComplete(s,i)};e.on(\"autocomplete\",function(){i(e.value())}),e.on(\"selectitem\",function(t){var n=t.value;e.value(n.url);var i=g(n);\"image\"===r?e.fire(\"change\",{meta:{alt:i,attach:n.attach}}):e.fire(\"change\",{meta:{text:i,attach:n.attach}}),e.focus()}),e.on(\"click\",function(t){0===e.value().length&&\"INPUT\"===t.target.nodeName&&i(\"\")}),e.on(\"PostRender\",function(){e.getRoot().on(\"submit\",function(t){t.isDefaultPrevented()||h(e.value(),r)})})},y=function(e){var t=e.status,n=e.message;return\"valid\"===t?{status:\"ok\",message:n}:\"unknown\"===t?{status:\"warn\",message:n}:\"invalid\"===t?{status:\"warn\",message:n}:{status:\"none\",message:\"\"}},b=function(e,t,n){var r=t.filepicker_validator_handler;if(r){var i=function(t){return 0===t.length?void e.statusLevel(\"none\"):void r({url:t,type:n},function(t){var n=y(t);e.statusMessage(n.message),e.statusLevel(n.status)})};e.state.on(\"change:value\",function(e){i(e.value)})}};return e.extend({init:function(e){var n=this,r=tinymce.activeEditor,i=r.settings,o,a,s,l=e.filetype;e.spellcheck=!1,s=i.file_picker_types||i.file_browser_callback_types,s&&(s=t.makeMap(s,/[, ]/)),s&&!s[l]||(a=i.file_picker_callback,!a||s&&!s[l]?(a=i.file_browser_callback,!a||s&&!s[l]||(o=function(){a(n.getEl(\"inp\").id,n.value(),l,window)})):o=function(){var e=n.fire(\"beforecall\").meta;e=t.extend({filetype:l},e),a.call(r,function(e,t){n.value(e).fire(\"change\",{meta:t})},n.value(),e)}),o&&(e.icon=\"browse\",e.onaction=o),n._super(e),v(n,i,r.getBody(),l),b(n,i,l)}})}),r(Pt,[yt],function(e){return e.extend({recalc:function(e){var t=e.layoutRect(),n=e.paddingBox;e.items().filter(\":visible\").each(function(e){e.layoutRect({x:n.left,y:n.top,w:t.innerW-n.right-n.left,h:t.innerH-n.top-n.bottom}),e.recalc&&e.recalc()})}})}),r(Ot,[yt],function(e){return e.extend({recalc:function(e){var t,n,r,i,o,a,s,l,u,c,d,f,p,h,m,g,v=[],y,b,C,x,w,E,N,_,S,k,T,R,A,B,D,L,M,P,O,H,I,F,z=Math.max,U=Math.min;for(r=e.items().filter(\":visible\"),i=e.layoutRect(),o=e.paddingBox,a=e.settings,f=e.isRtl()?a.direction||\"row-reversed\":a.direction,s=a.align,l=e.isRtl()?a.pack||\"end\":a.pack,u=a.spacing||0,\"row-reversed\"!=f&&\"column-reverse\"!=f||(r=r.set(r.toArray().reverse()),f=f.split(\"-\")[0]),\"column\"==f?(S=\"y\",N=\"h\",_=\"minH\",k=\"maxH\",R=\"innerH\",T=\"top\",A=\"deltaH\",B=\"contentH\",O=\"left\",M=\"w\",D=\"x\",L=\"innerW\",P=\"minW\",H=\"right\",I=\"deltaW\",F=\"contentW\"):(S=\"x\",N=\"w\",_=\"minW\",k=\"maxW\",R=\"innerW\",T=\"left\",A=\"deltaW\",B=\"contentW\",O=\"top\",M=\"h\",D=\"y\",L=\"innerH\",P=\"minH\",H=\"bottom\",I=\"deltaH\",F=\"contentH\"),d=i[R]-o[T]-o[T],E=c=0,t=0,n=r.length;t<n;t++)p=r[t],h=p.layoutRect(),m=p.settings,g=m.flex,d-=t<n-1?u:0,g>0&&(c+=g,h[k]&&v.push(p),h.flex=g),d-=h[_],y=o[O]+h[P]+o[H],y>E&&(E=y);if(x={},d<0?x[_]=i[_]-d+i[A]:x[_]=i[R]-d+i[A],x[P]=E+i[I],x[B]=i[R]-d,x[F]=E,x.minW=U(x.minW,i.maxW),x.minH=U(x.minH,i.maxH),x.minW=z(x.minW,i.startMinWidth),x.minH=z(x.minH,i.startMinHeight),!i.autoResize||x.minW==i.minW&&x.minH==i.minH){for(C=d/c,t=0,n=v.length;t<n;t++)p=v[t],h=p.layoutRect(),b=h[k],y=h[_]+h.flex*C,y>b?(d-=h[k]-h[_],c-=h.flex,h.flex=0,h.maxFlexSize=b):h.maxFlexSize=0;for(C=d/c,w=o[T],x={},0===c&&(\"end\"==l?w=d+o[T]:\"center\"==l?(w=Math.round(i[R]/2-(i[R]-d)/2)+o[T],w<0&&(w=o[T])):\"justify\"==l&&(w=o[T],u=Math.floor(d/(r.length-1)))),x[D]=o[O],t=0,n=r.length;t<n;t++)p=r[t],h=p.layoutRect(),y=h.maxFlexSize||h[_],\"center\"===s?x[D]=Math.round(i[L]/2-h[M]/2):\"stretch\"===s?(x[M]=z(h[P]||0,i[L]-o[O]-o[H]),x[D]=o[O]):\"end\"===s&&(x[D]=i[L]-h[M]-o.top),h.flex>0&&(y+=h.flex*C),x[N]=y,x[S]=w,p.layoutRect(x),p.recalc&&p.recalc(),w+=y+u}else if(x.w=x.minW,x.h=x.minH,e.layoutRect(x),this.recalc(e),null===e._lastRect){var W=e.parent();W&&(W._lastRect=null,W.recalc())}}})}),r(Ht,[vt],function(e){return e.extend({Defaults:{containerClass:\"flow-layout\",controlClass:\"flow-layout-item\",endClass:\"break\"},recalc:function(e){e.items().filter(\":visible\").each(function(e){e.recalc&&e.recalc()})},isNative:function(){return!0}})}),r(It,[w],function(e){var n=function(e,t,n){for(;n!==t;){if(n.style[e])return n.style[e];n=n.parentNode}return\"\"},r=function(e){return/[0-9.]+px$/.test(e)?Math.round(72*parseInt(e,10)/96)+\"pt\":e},i=function(e){return e.replace(/[\\'\\\"]/g,\"\").replace(/,\\s+/g,\",\")},o=function(t,n){return e.DOM.getStyle(n,t,!0)},a=function(e,t){var r=n(\"fontSize\",e,t);return\"\"!==r?r:o(\"fontSize\",t)},s=function(e,r){var a=n(\"fontFamily\",e,r),s=\"\"!==a?a:o(\"fontFamily\",r);return s!==t?i(s):\"\"};return{getFontSize:a,getFontFamily:s,toPt:r}}),r(Ft,[xe,Pe,Ae,m,h,w,ut,d,It],function(e,t,n,r,i,o,a,s,l){function u(e){e.settings.ui_container&&(s.container=o.DOM.select(e.settings.ui_container)[0])}function c(t){t.on(\"ScriptsLoaded\",function(){t.rtl&&(e.rtl=!0)})}function d(e){function t(t,n){return function(){var r=this;e.on(\"nodeChange\",function(i){var o=e.formatter,a=null;f(i.parents,function(e){if(f(t,function(t){if(n?o.matchNode(e,n,{value:t.value})&&(a=t.value):o.matchNode(e,t.value)&&(a=t.value),a)return!1}),a)return!1}),r.value(a)})}}function i(t){return function(){var n=this,r=function(e){return e?e.split(\",\")[0]:\"\"};e.on(\"nodeChange\",function(i){var o,a=null;o=l.getFontFamily(e.getBody(),i.element),f(t,function(e){e.value.toLowerCase()===o.toLowerCase()&&(a=e.value)}),f(t,function(e){a||r(e.value).toLowerCase()!==r(o).toLowerCase()||(a=e.value)}),n.value(a),!a&&o&&n.text(r(o))})}}function o(t){return function(){var n=this;e.on(\"nodeChange\",function(r){var i,o,a=null;i=l.getFontSize(e.getBody(),r.element),o=l.toPt(i),f(t,function(e){e.value===i?a=i:e.value===o&&(a=o)}),n.value(a),a||n.text(o)})}}function a(e){e=e.replace(/;$/,\"\").split(\";\");for(var t=e.length;t--;)e[t]=e[t].split(\"=\");return e}function s(){function t(e){var n=[];if(e)return f(e,function(e){var o={text:e.title,icon:e.icon};if(e.items)o.menu=t(e.items);else{var a=e.format||\"custom\"+r++;e.format||(e.name=a,i.push(e)),o.format=a,o.cmd=e.cmd}n.push(o)}),n}function n(){var n;return n=t(e.settings.style_formats_merge?e.settings.style_formats?o.concat(e.settings.style_formats):o:e.settings.style_formats||o)}var r=0,i=[],o=[{title:\"Headings\",items:[{title:\"Heading 1\",format:\"h1\"},{title:\"Heading 2\",format:\"h2\"},{title:\"Heading 3\",format:\"h3\"},{title:\"Heading 4\",format:\"h4\"},{title:\"Heading 5\",format:\"h5\"},{title:\"Heading 6\",format:\"h6\"}]},{title:\"Inline\",items:[{title:\"Bold\",icon:\"bold\",format:\"bold\"},{title:\"Italic\",icon:\"italic\",format:\"italic\"},{title:\"Underline\",icon:\"underline\",format:\"underline\"},{title:\"Strikethrough\",icon:\"strikethrough\",format:\"strikethrough\"},{title:\"Superscript\",icon:\"superscript\",format:\"superscript\"},{title:\"Subscript\",icon:\"subscript\",format:\"subscript\"},{title:\"Code\",icon:\"code\",format:\"code\"}]},{title:\"Blocks\",items:[{title:\"Paragraph\",format:\"p\"},{title:\"Blockquote\",format:\"blockquote\"},{title:\"Div\",format:\"div\"},{title:\"Pre\",format:\"pre\"}]},{title:\"Alignment\",items:[{title:\"Left\",icon:\"alignleft\",format:\"alignleft\"},{title:\"Center\",icon:\"aligncenter\",format:\"aligncenter\"},{title:\"Right\",icon:\"alignright\",format:\"alignright\"},{title:\"Justify\",icon:\"alignjustify\",format:\"alignjustify\"}]}];return e.on(\"init\",function(){f(i,function(t){e.formatter.register(t.name,t)})}),{type:\"menu\",items:n(),onPostRender:function(t){e.fire(\"renderFormatsMenu\",{control:t.control})},itemDefaults:{preview:!0,textStyle:function(){if(this.settings.format)return e.formatter.getCssText(this.settings.format)},onPostRender:function(){var t=this;t.parent().on(\"show\",function(){var n,r;n=t.settings.format,n&&(t.disabled(!e.formatter.canApply(n)),t.active(e.formatter.match(n))),r=t.settings.cmd,r&&t.active(e.queryCommandState(r))})},onclick:function(){this.settings.format&&h(this.settings.format),this.settings.cmd&&e.execCommand(this.settings.cmd)}}}}function u(t){return function(){var n=this;e.formatter?e.formatter.formatChanged(t,function(e){n.active(e)}):e.on(\"init\",function(){e.formatter.formatChanged(t,function(e){n.active(e)})})}}function c(t){return function(){function n(){var n=\"redo\"==t?\"hasRedo\":\"hasUndo\";return!!e.undoManager&&e.undoManager[n]()}var r=this;r.disabled(!n()),e.on(\"Undo Redo AddUndo TypingUndo ClearUndos SwitchMode\",function(){r.disabled(e.readonly||!n())})}}function d(){var t=this;e.on(\"VisualAid\",function(e){t.active(e.hasVisual)}),t.active(e.hasVisual)}function h(t){t.control&&(t=t.control.value()),t&&e.execCommand(\"mceToggleFormat\",!1,t)}function m(t){var n=t.length;return r.each(t,function(t){t.menu&&(t.hidden=0===m(t.menu));var r=t.format;r&&(t.hidden=!e.formatter.canApply(r)),t.hidden&&n--}),n}function g(t){var n=t.items().length;return t.items().each(function(t){t.menu&&t.visible(g(t.menu)>0),!t.menu&&t.settings.menu&&t.visible(m(t.settings.menu)>0);var r=t.settings.format;r&&t.visible(e.formatter.canApply(r)),t.visible()||n--}),n}var v;v=s(),f({bold:\"Bold\",italic:\"Italic\",underline:\"Underline\",strikethrough:\"Strikethrough\",subscript:\"Subscript\",superscript:\"Superscript\"},function(t,n){e.addButton(n,{tooltip:t,onPostRender:u(n),onclick:function(){h(n)}})}),f({outdent:[\"Decrease indent\",\"Outdent\"],indent:[\"Increase indent\",\"Indent\"],cut:[\"Cut\",\"Cut\"],copy:[\"Copy\",\"Copy\"],paste:[\"Paste\",\"Paste\"],help:[\"Help\",\"mceHelp\"],selectall:[\"Select all\",\"SelectAll\"],removeformat:[\"Clear formatting\",\"RemoveFormat\"],visualaid:[\"Visual aids\",\"mceToggleVisualAid\"],newdocument:[\"New document\",\"mceNewDocument\"]},function(t,n){e.addButton(n,{tooltip:t[0],cmd:t[1]})}),f({blockquote:[\"Blockquote\",\"mceBlockQuote\"],subscript:[\"Subscript\",\"Subscript\"],superscript:[\"Superscript\",\"Superscript\"],alignleft:[\"Align left\",\"JustifyLeft\"],aligncenter:[\"Align center\",\"JustifyCenter\"],alignright:[\"Align right\",\"JustifyRight\"],alignjustify:[\"Justify\",\"JustifyFull\"],alignnone:[\"No alignment\",\"JustifyNone\"]},function(t,n){e.addButton(n,{tooltip:t[0],cmd:t[1],onPostRender:u(n)})});var y=function(e){var t=e;return t.length>0&&\"-\"===t[0].text&&(t=t.slice(1)),t.length>0&&\"-\"===t[t.length-1].text&&(t=t.slice(0,t.length-1)),t},b=function(t){var n,i;if(\"string\"==typeof t)i=t.split(\" \");else if(r.isArray(t))return p(r.map(t,b));return n=r.grep(i,function(t){return\"|\"===t||t in e.menuItems}),r.map(n,function(t){return\"|\"===t?{text:\"-\"}:e.menuItems[t]})},C=function(t){var n=[{text:\"-\"}],i=r.grep(e.menuItems,function(e){return e.context===t});return r.each(i,function(e){\"before\"==e.separator&&n.push({text:\"|\"}),e.prependToContext?n.unshift(e):n.push(e),\"after\"==e.separator&&n.push({text:\"|\"})}),n},x=function(e){return y(e.insert_button_items?b(e.insert_button_items):C(\"insert\"))};e.addButton(\"undo\",{tooltip:\"Undo\",onPostRender:c(\"undo\"),cmd:\"undo\"}),e.addButton(\"redo\",{tooltip:\"Redo\",onPostRender:c(\"redo\"),cmd:\"redo\"}),e.addMenuItem(\"newdocument\",{text:\"New document\",icon:\"newdocument\",cmd:\"mceNewDocument\"}),e.addMenuItem(\"undo\",{text:\"Undo\",icon:\"undo\",shortcut:\"Meta+Z\",onPostRender:c(\"undo\"),cmd:\"undo\"}),e.addMenuItem(\"redo\",{text:\"Redo\",icon:\"redo\",shortcut:\"Meta+Y\",onPostRender:c(\"redo\"),cmd:\"redo\"}),e.addMenuItem(\"visualaid\",{text:\"Visual aids\",selectable:!0,onPostRender:d,cmd:\"mceToggleVisualAid\"}),e.addButton(\"remove\",{tooltip:\"Remove\",icon:\"remove\",cmd:\"Delete\"}),e.addButton(\"insert\",{type:\"menubutton\",icon:\"insert\",menu:[],oncreatemenu:function(){this.menu.add(x(e.settings)),this.menu.renderNew()}}),f({cut:[\"Cut\",\"Cut\",\"Meta+X\"],copy:[\"Copy\",\"Copy\",\"Meta+C\"],paste:[\"Paste\",\"Paste\",\"Meta+V\"],selectall:[\"Select all\",\"SelectAll\",\"Meta+A\"],bold:[\"Bold\",\"Bold\",\"Meta+B\"],italic:[\"Italic\",\"Italic\",\"Meta+I\"],underline:[\"Underline\",\"Underline\",\"Meta+U\"],strikethrough:[\"Strikethrough\",\"Strikethrough\"],subscript:[\"Subscript\",\"Subscript\"],superscript:[\"Superscript\",\"Superscript\"],removeformat:[\"Clear formatting\",\"RemoveFormat\"]},function(t,n){e.addMenuItem(n,{text:t[0],icon:n,shortcut:t[2],cmd:t[1]})}),e.on(\"mousedown\",function(){n.hideAll()}),e.addButton(\"styleselect\",{type:\"menubutton\",text:\"Formats\",menu:v,onShowMenu:function(){e.settings.style_formats_autohide&&g(this.menu)}}),e.addButton(\"formatselect\",function(){var n=[],r=a(e.settings.block_formats||\"Paragraph=p;Heading 1=h1;Heading 2=h2;Heading 3=h3;Heading 4=h4;Heading 5=h5;Heading 6=h6;Preformatted=pre\");return f(r,function(t){n.push({text:t[0],value:t[1],textStyle:function(){return e.formatter.getCssText(t[1])}})}),{type:\"listbox\",text:r[0][0],values:n,fixedWidth:!0,onselect:h,onPostRender:t(n)}}),e.addButton(\"fontselect\",function(){var t=\"Andale Mono=andale mono,monospace;Arial=arial,helvetica,sans-serif;Arial Black=arial black,sans-serif;Book Antiqua=book antiqua,palatino,serif;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier,monospace;Georgia=georgia,palatino,serif;Helvetica=helvetica,arial,sans-serif;Impact=impact,sans-serif;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco,monospace;Times New Roman=times new roman,times,serif;Trebuchet MS=trebuchet ms,geneva,sans-serif;Verdana=verdana,geneva,sans-serif;Webdings=webdings;Wingdings=wingdings,zapf dingbats\",n=[],r=a(e.settings.font_formats||t);return f(r,function(e){n.push({text:{raw:e[0]},value:e[1],textStyle:e[1].indexOf(\"dings\")==-1?\"font-family:\"+e[1]:\"\"})}),{type:\"listbox\",text:\"Font Family\",tooltip:\"Font Family\",values:n,fixedWidth:!0,onPostRender:i(n),onselect:function(t){t.control.settings.value&&e.execCommand(\"FontName\",!1,t.control.settings.value)}}}),e.addButton(\"fontsizeselect\",function(){var t=[],n=\"8pt 10pt 12pt 14pt 18pt 24pt 36pt\",r=e.settings.fontsize_formats||n;return f(r.split(\" \"),function(e){var n=e,r=e,i=e.split(\"=\");i.length>1&&(n=i[0],r=i[1]),t.push({text:n,value:r})}),{type:\"listbox\",text:\"Font Sizes\",tooltip:\"Font Sizes\",values:t,fixedWidth:!0,onPostRender:o(t),onclick:function(t){t.control.settings.value&&e.execCommand(\"FontSize\",!1,t.control.settings.value)}}}),e.addMenuItem(\"formats\",{text:\"Formats\",menu:v})}var f=r.each,p=function(e){return i.reduce(e,function(e,t){return e.concat(t)},[])};a.on(\"AddEditor\",function(e){var t=e.editor;c(t),d(t),u(t)}),e.translate=function(e){return a.translate(e)},t.tooltips=!s.iOS}),r(zt,[yt],function(e){return e.extend({recalc:function(e){var t,n,r,i,o,a,s,l,u,c,d,f,p,h,m,g,v,y,b,C,x,w,E,N=[],_=[],S,k,T,R,A,B;t=e.settings,i=e.items().filter(\":visible\"),o=e.layoutRect(),r=t.columns||Math.ceil(Math.sqrt(i.length)),n=Math.ceil(i.length/r),y=t.spacingH||t.spacing||0,b=t.spacingV||t.spacing||0,C=t.alignH||t.align,x=t.alignV||t.align,g=e.paddingBox,A=\"reverseRows\"in t?t.reverseRows:e.isRtl(),C&&\"string\"==typeof C&&(C=[C]),x&&\"string\"==typeof x&&(x=[x]);for(d=0;d<r;d++)N.push(0);for(f=0;f<n;f++)_.push(0);for(f=0;f<n;f++)for(d=0;d<r&&(c=i[f*r+d],c);d++)u=c.layoutRect(),S=u.minW,k=u.minH,N[d]=S>N[d]?S:N[d],_[f]=k>_[f]?k:_[f];for(T=o.innerW-g.left-g.right,w=0,d=0;d<r;d++)w+=N[d]+(d>0?y:0),T-=(d>0?y:0)+N[d];for(R=o.innerH-g.top-g.bottom,E=0,f=0;f<n;f++)E+=_[f]+(f>0?b:0),R-=(f>0?b:0)+_[f];if(w+=g.left+g.right,E+=g.top+g.bottom,l={},l.minW=w+(o.w-o.innerW),l.minH=E+(o.h-o.innerH),l.contentW=l.minW-o.deltaW,l.contentH=l.minH-o.deltaH,l.minW=Math.min(l.minW,o.maxW),l.minH=Math.min(l.minH,o.maxH),l.minW=Math.max(l.minW,o.startMinWidth),l.minH=Math.max(l.minH,o.startMinHeight),!o.autoResize||l.minW==o.minW&&l.minH==o.minH){o.autoResize&&(l=e.layoutRect(l),l.contentW=l.minW-o.deltaW,l.contentH=l.minH-o.deltaH);var D;D=\"start\"==t.packV?0:R>0?Math.floor(R/n):0;var L=0,M=t.flexWidths;if(M)for(d=0;d<M.length;d++)L+=M[d];else L=r;var P=T/L;for(d=0;d<r;d++)N[d]+=M?M[d]*P:P;for(h=g.top,f=0;f<n;f++){for(p=g.left,s=_[f]+D,d=0;d<r&&(B=A?f*r+r-1-d:f*r+d,c=i[B],c);d++)m=c.settings,u=c.layoutRect(),a=Math.max(N[d],u.startMinWidth),u.x=p,u.y=h,v=m.alignH||(C?C[d]||C[0]:null),\"center\"==v?u.x=p+a/2-u.w/2:\"right\"==v?u.x=p+a-u.w:\"stretch\"==v&&(u.w=a),v=m.alignV||(x?x[d]||x[0]:null),\"center\"==v?u.y=h+s/2-u.h/2:\"bottom\"==v?u.y=h+s-u.h:\"stretch\"==v&&(u.h=s),c.layoutRect(u),p+=a+y,c.recalc&&c.recalc();h+=s+b}}else if(l.w=l.minW,l.h=l.minH,e.layoutRect(l),this.recalc(e),null===e._lastRect){var O=e.parent();O&&(O._lastRect=null,O.recalc())}}})}),r(Ut,[Pe,c],function(e,t){return e.extend({renderHtml:function(){var e=this;return e.classes.add(\"iframe\"),e.canFocus=!1,'<iframe id=\"'+e._id+'\" class=\"'+e.classes+'\" tabindex=\"-1\" src=\"'+(e.settings.url||\"javascript:''\")+'\" frameborder=\"0\"></iframe>'},src:function(e){this.getEl().src=e},html:function(e,n){var r=this,i=this.getEl().contentWindow.document.body;return i?(i.innerHTML=e,n&&n()):t.setTimeout(function(){r.html(e)}),this}})}),r(Wt,[Pe],function(e){return e.extend({init:function(e){var t=this;t._super(e),t.classes.add(\"widget\").add(\"infobox\"),t.canFocus=!1},severity:function(e){this.classes.remove(\"error\"),this.classes.remove(\"warning\"),this.classes.remove(\"success\"),this.classes.add(e)},help:function(e){this.state.set(\"help\",e)},renderHtml:function(){var e=this,t=e.classPrefix;return'<div id=\"'+e._id+'\" class=\"'+e.classes+'\"><div id=\"'+e._id+'-body\">'+e.encode(e.state.get(\"text\"))+'<button role=\"button\" tabindex=\"-1\"><i class=\"'+t+\"ico \"+t+'i-help\"></i></button></div></div>'},bindStates:function(){var e=this;return e.state.on(\"change:text\",function(t){e.getEl(\"body\").firstChild.data=e.encode(t.value),\ne.state.get(\"rendered\")&&e.updateLayoutRect()}),e.state.on(\"change:help\",function(t){e.classes.toggle(\"has-help\",t.value),e.state.get(\"rendered\")&&e.updateLayoutRect()}),e._super()}})}),r(Vt,[Pe,ve],function(e,t){return e.extend({init:function(e){var t=this;t._super(e),t.classes.add(\"widget\").add(\"label\"),t.canFocus=!1,e.multiline&&t.classes.add(\"autoscroll\"),e.strong&&t.classes.add(\"strong\")},initLayoutRect:function(){var e=this,n=e._super();if(e.settings.multiline){var r=t.getSize(e.getEl());r.width>n.maxW&&(n.minW=n.maxW,e.classes.add(\"multiline\")),e.getEl().style.width=n.minW+\"px\",n.startMinH=n.h=n.minH=Math.min(n.maxH,t.getSize(e.getEl()).height)}return n},repaint:function(){var e=this;return e.settings.multiline||(e.getEl().style.lineHeight=e.layoutRect().h+\"px\"),e._super()},severity:function(e){this.classes.remove(\"error\"),this.classes.remove(\"warning\"),this.classes.remove(\"success\"),this.classes.add(e)},renderHtml:function(){var e=this,t,n,r=e.settings.forId;return!r&&(n=e.settings.forName)&&(t=e.getRoot().find(\"#\"+n)[0],t&&(r=t._id)),r?'<label id=\"'+e._id+'\" class=\"'+e.classes+'\"'+(r?' for=\"'+r+'\"':\"\")+\">\"+e.encode(e.state.get(\"text\"))+\"</label>\":'<span id=\"'+e._id+'\" class=\"'+e.classes+'\">'+e.encode(e.state.get(\"text\"))+\"</span>\"},bindStates:function(){var e=this;return e.state.on(\"change:text\",function(t){e.innerHtml(e.encode(t.value)),e.state.get(\"rendered\")&&e.updateLayoutRect()}),e._super()}})}),r($t,[Ne],function(e){return e.extend({Defaults:{role:\"toolbar\",layout:\"flow\"},init:function(e){var t=this;t._super(e),t.classes.add(\"toolbar\")},postRender:function(){var e=this;return e.items().each(function(e){e.classes.add(\"toolbar-item\")}),e._super()}})}),r(qt,[$t],function(e){return e.extend({Defaults:{role:\"menubar\",containerCls:\"menubar\",ariaRoot:!0,defaults:{type:\"menubutton\"}}})}),r(jt,[bt,we,qt],function(e,t,n){function r(e,t){for(;e;){if(t===e)return!0;e=e.parentNode}return!1}var i=e.extend({init:function(e){var t=this;t._renderOpen=!0,t._super(e),e=t.settings,t.classes.add(\"menubtn\"),e.fixedWidth&&t.classes.add(\"fixed-width\"),t.aria(\"haspopup\",!0),t.state.set(\"menu\",e.menu||t.render())},showMenu:function(e){var n=this,r;return n.menu&&n.menu.visible()&&e!==!1?n.hideMenu():(n.menu||(r=n.state.get(\"menu\")||[],r.length?r={type:\"menu\",items:r}:r.type=r.type||\"menu\",r.renderTo?n.menu=r.parent(n).show().renderTo():n.menu=t.create(r).parent(n).renderTo(),n.fire(\"createmenu\"),n.menu.reflow(),n.menu.on(\"cancel\",function(e){e.control.parent()===n.menu&&(e.stopPropagation(),n.focus(),n.hideMenu())}),n.menu.on(\"select\",function(){n.focus()}),n.menu.on(\"show hide\",function(e){e.control==n.menu&&n.activeMenu(\"show\"==e.type),n.aria(\"expanded\",\"show\"==e.type)}).fire(\"show\")),n.menu.show(),n.menu.layoutRect({w:n.layoutRect().w}),n.menu.moveRel(n.getEl(),n.isRtl()?[\"br-tr\",\"tr-br\"]:[\"bl-tl\",\"tl-bl\"]),void n.fire(\"showmenu\"))},hideMenu:function(){var e=this;e.menu&&(e.menu.items().each(function(e){e.hideMenu&&e.hideMenu()}),e.menu.hide())},activeMenu:function(e){this.classes.toggle(\"active\",e)},renderHtml:function(){var e=this,t=e._id,r=e.classPrefix,i=e.settings.icon,o,a=e.state.get(\"text\"),s=\"\";return o=e.settings.image,o?(i=\"none\",\"string\"!=typeof o&&(o=window.getSelection?o[0]:o[1]),o=\" style=\\\"background-image: url('\"+o+\"')\\\"\"):o=\"\",a&&(e.classes.add(\"btn-has-text\"),s='<span class=\"'+r+'txt\">'+e.encode(a)+\"</span>\"),i=e.settings.icon?r+\"ico \"+r+\"i-\"+i:\"\",e.aria(\"role\",e.parent()instanceof n?\"menuitem\":\"button\"),'<div id=\"'+t+'\" class=\"'+e.classes+'\" tabindex=\"-1\" aria-labelledby=\"'+t+'\"><button id=\"'+t+'-open\" role=\"presentation\" type=\"button\" tabindex=\"-1\">'+(i?'<i class=\"'+i+'\"'+o+\"></i>\":\"\")+s+' <i class=\"'+r+'caret\"></i></button></div>'},postRender:function(){var e=this;return e.on(\"click\",function(t){t.control===e&&r(t.target,e.getEl())&&(e.focus(),e.showMenu(!t.aria),t.aria&&e.menu.items().filter(\":visible\")[0].focus())}),e.on(\"mouseenter\",function(t){var n=t.control,r=e.parent(),o;n&&r&&n instanceof i&&n.parent()==r&&(r.items().filter(\"MenuButton\").each(function(e){e.hideMenu&&e!=n&&(e.menu&&e.menu.visible()&&(o=!0),e.hideMenu())}),o&&(n.focus(),n.showMenu()))}),e._super()},bindStates:function(){var e=this;return e.state.on(\"change:menu\",function(){e.menu&&e.menu.remove(),e.menu=null}),e._super()},remove:function(){this._super(),this.menu&&this.menu.remove()}});return i}),r(Yt,[Pe,we,d,c],function(e,t,n,r){return e.extend({Defaults:{border:0,role:\"menuitem\"},init:function(e){var t=this,n;t._super(e),e=t.settings,t.classes.add(\"menu-item\"),e.menu&&t.classes.add(\"menu-item-expand\"),e.preview&&t.classes.add(\"menu-item-preview\"),n=t.state.get(\"text\"),\"-\"!==n&&\"|\"!==n||(t.classes.add(\"menu-item-sep\"),t.aria(\"role\",\"separator\"),t.state.set(\"text\",\"-\")),e.selectable&&(t.aria(\"role\",\"menuitemcheckbox\"),t.classes.add(\"menu-item-checkbox\"),e.icon=\"selected\"),e.preview||e.selectable||t.classes.add(\"menu-item-normal\"),t.on(\"mousedown\",function(e){e.preventDefault()}),e.menu&&!e.ariaHideMenu&&t.aria(\"haspopup\",!0)},hasMenus:function(){return!!this.settings.menu},showMenu:function(){var e=this,n=e.settings,r,i=e.parent();if(i.items().each(function(t){t!==e&&t.hideMenu()}),n.menu){r=e.menu,r?r.show():(r=n.menu,r.length?r={type:\"menu\",items:r}:r.type=r.type||\"menu\",i.settings.itemDefaults&&(r.itemDefaults=i.settings.itemDefaults),r=e.menu=t.create(r).parent(e).renderTo(),r.reflow(),r.on(\"cancel\",function(t){t.stopPropagation(),e.focus(),r.hide()}),r.on(\"show hide\",function(e){e.control.items&&e.control.items().each(function(e){e.active(e.settings.selected)})}).fire(\"show\"),r.on(\"hide\",function(t){t.control===r&&e.classes.remove(\"selected\")}),r.submenu=!0),r._parentMenu=i,r.classes.add(\"menu-sub\");var o=r.testMoveRel(e.getEl(),e.isRtl()?[\"tl-tr\",\"bl-br\",\"tr-tl\",\"br-bl\"]:[\"tr-tl\",\"br-bl\",\"tl-tr\",\"bl-br\"]);r.moveRel(e.getEl(),o),r.rel=o,o=\"menu-sub-\"+o,r.classes.remove(r._lastRel).add(o),r._lastRel=o,e.classes.add(\"selected\"),e.aria(\"expanded\",!0)}},hideMenu:function(){var e=this;return e.menu&&(e.menu.items().each(function(e){e.hideMenu&&e.hideMenu()}),e.menu.hide(),e.aria(\"expanded\",!1)),e},renderHtml:function(){function e(e){var t,r,i={};for(i=n.mac?{alt:\"&#x2325;\",ctrl:\"&#x2318;\",shift:\"&#x21E7;\",meta:\"&#x2318;\"}:{meta:\"Ctrl\"},e=e.split(\"+\"),t=0;t<e.length;t++)r=i[e[t].toLowerCase()],r&&(e[t]=r);return e.join(\"+\")}function t(e){return e.replace(/[.*+?^${}()|[\\]\\\\]/g,\"\\\\$&\")}function r(e){var n=s.match||\"\";return n?e.replace(new RegExp(t(n),\"gi\"),function(e){return\"!mce~match[\"+e+\"]mce~match!\"}):e}function i(e){return e.replace(new RegExp(t(\"!mce~match[\"),\"g\"),\"<b>\").replace(new RegExp(t(\"]mce~match!\"),\"g\"),\"</b>\")}var o=this,a=o._id,s=o.settings,l=o.classPrefix,u=o.state.get(\"text\"),c=o.settings.icon,d=\"\",f=s.shortcut,p=o.encode(s.url),h=\"\";return c&&o.parent().classes.add(\"menu-has-icons\"),s.image&&(d=\" style=\\\"background-image: url('\"+s.image+\"')\\\"\"),f&&(f=e(f)),c=l+\"ico \"+l+\"i-\"+(o.settings.icon||\"none\"),h=\"-\"!==u?'<i class=\"'+c+'\"'+d+\"></i>\\xa0\":\"\",u=i(o.encode(r(u))),p=i(o.encode(r(p))),'<div id=\"'+a+'\" class=\"'+o.classes+'\" tabindex=\"-1\">'+h+(\"-\"!==u?'<span id=\"'+a+'-text\" class=\"'+l+'text\">'+u+\"</span>\":\"\")+(f?'<div id=\"'+a+'-shortcut\" class=\"'+l+'menu-shortcut\">'+f+\"</div>\":\"\")+(s.menu?'<div class=\"'+l+'caret\"></div>':\"\")+(p?'<div class=\"'+l+'menu-item-link\">'+p+\"</div>\":\"\")+\"</div>\"},postRender:function(){var e=this,t=e.settings,n=t.textStyle;if(\"function\"==typeof n&&(n=n.call(this)),n){var i=e.getEl(\"text\");i&&i.setAttribute(\"style\",n)}return e.on(\"mouseenter click\",function(n){n.control===e&&(t.menu||\"click\"!==n.type?(e.showMenu(),n.aria&&e.menu.focus(!0)):(e.fire(\"select\"),r.requestAnimationFrame(function(){e.parent().hideAll()})))}),e._super(),e},hover:function(){var e=this;return e.parent().items().each(function(e){e.classes.remove(\"selected\")}),e.classes.toggle(\"selected\",!0),e},active:function(e){return\"undefined\"!=typeof e&&this.aria(\"checked\",e),this._super(e)},remove:function(){this._super(),this.menu&&this.menu.remove()}})}),r(Xt,[g,xe,c],function(e,t,n){return function(r,i){var o=this,a,s=t.classPrefix,l;o.show=function(t,u){function c(){a&&(e(r).append('<div class=\"'+s+\"throbber\"+(i?\" \"+s+\"throbber-inline\":\"\")+'\"></div>'),u&&u())}return o.hide(),a=!0,t?l=n.setTimeout(c,t):c(),o},o.hide=function(){var e=r.lastChild;return n.clearTimeout(l),e&&e.className.indexOf(\"throbber\")!=-1&&e.parentNode.removeChild(e),a=!1,o}}}),r(Kt,[Ae,Yt,Xt,m],function(e,t,n,r){return e.extend({Defaults:{defaultType:\"menuitem\",border:1,layout:\"stack\",role:\"application\",bodyRole:\"menu\",ariaRoot:!0},init:function(e){var t=this;if(e.autohide=!0,e.constrainToViewport=!0,\"function\"==typeof e.items&&(e.itemsFactory=e.items,e.items=[]),e.itemDefaults)for(var n=e.items,i=n.length;i--;)n[i]=r.extend({},e.itemDefaults,n[i]);t._super(e),t.classes.add(\"menu\")},repaint:function(){return this.classes.toggle(\"menu-align\",!0),this._super(),this.getEl().style.height=\"\",this.getEl(\"body\").style.height=\"\",this},cancel:function(){var e=this;e.hideAll(),e.fire(\"select\")},load:function(){function e(){t.throbber&&(t.throbber.hide(),t.throbber=null)}var t=this,r,i;i=t.settings.itemsFactory,i&&(t.throbber||(t.throbber=new n(t.getEl(\"body\"),!0),0===t.items().length?(t.throbber.show(),t.fire(\"loading\")):t.throbber.show(100,function(){t.items().remove(),t.fire(\"loading\")}),t.on(\"hide close\",e)),t.requestTime=r=(new Date).getTime(),t.settings.itemsFactory(function(n){return 0===n.length?void t.hide():void(t.requestTime===r&&(t.getEl().style.width=\"\",t.getEl(\"body\").style.width=\"\",e(),t.items().remove(),t.getEl(\"body\").innerHTML=\"\",t.add(n),t.renderNew(),t.fire(\"loaded\")))}))},hideAll:function(){var e=this;return this.find(\"menuitem\").exec(\"hideMenu\"),e._super()},preRender:function(){var e=this;return e.items().each(function(t){var n=t.settings;if(n.icon||n.image||n.selectable)return e._hasIcons=!0,!1}),e.settings.itemsFactory&&e.on(\"postrender\",function(){e.settings.itemsFactory&&e.load()}),e._super()}})}),r(Gt,[jt,Kt],function(e,t){return e.extend({init:function(e){function t(r){for(var a=0;a<r.length;a++){if(i=r[a].selected||e.value===r[a].value)return o=o||r[a].text,n.state.set(\"value\",r[a].value),!0;if(r[a].menu&&t(r[a].menu))return!0}}var n=this,r,i,o,a;n._super(e),e=n.settings,n._values=r=e.values,r&&(\"undefined\"!=typeof e.value&&t(r),!i&&r.length>0&&(o=r[0].text,n.state.set(\"value\",r[0].value)),n.state.set(\"menu\",r)),n.state.set(\"text\",e.text||o),n.classes.add(\"listbox\"),n.on(\"select\",function(t){var r=t.control;a&&(t.lastControl=a),e.multiple?r.active(!r.active()):n.value(t.control.value()),a=r})},bindStates:function(){function e(e,n){e instanceof t&&e.items().each(function(e){e.hasMenus()||e.active(e.value()===n)})}function n(e,t){var r;if(e)for(var i=0;i<e.length;i++){if(e[i].value===t)return e[i];if(e[i].menu&&(r=n(e[i].menu,t)))return r}}var r=this;return r.on(\"show\",function(t){e(t.control,r.value())}),r.state.on(\"change:value\",function(e){var t=n(r.state.get(\"menu\"),e.value);t?r.text(t.text):r.text(r.settings.text)}),r._super()}})}),r(Jt,[xt],function(e){return e.extend({Defaults:{classes:\"radio\",role:\"radio\"}})}),r(Qt,[Pe,_e],function(e,t){return e.extend({renderHtml:function(){var e=this,t=e.classPrefix;return e.classes.add(\"resizehandle\"),\"both\"==e.settings.direction&&e.classes.add(\"resizehandle-both\"),e.canFocus=!1,'<div id=\"'+e._id+'\" class=\"'+e.classes+'\"><i class=\"'+t+\"ico \"+t+'i-resize\"></i></div>'},postRender:function(){var e=this;e._super(),e.resizeDragHelper=new t(this._id,{start:function(){e.fire(\"ResizeStart\")},drag:function(t){\"both\"!=e.settings.direction&&(t.deltaX=0),e.fire(\"Resize\",t)},stop:function(){e.fire(\"ResizeEnd\")}})},remove:function(){return this.resizeDragHelper&&this.resizeDragHelper.destroy(),this._super()}})}),r(Zt,[Pe],function(e){function t(e){var t=\"\";if(e)for(var n=0;n<e.length;n++)t+='<option value=\"'+e[n]+'\">'+e[n]+\"</option>\";return t}return e.extend({Defaults:{classes:\"selectbox\",role:\"selectbox\",options:[]},init:function(e){var t=this;t._super(e),t.settings.size&&(t.size=t.settings.size),t.settings.options&&(t._options=t.settings.options),t.on(\"keydown\",function(e){var n;13==e.keyCode&&(e.preventDefault(),t.parents().reverse().each(function(e){if(e.toJSON)return n=e,!1}),t.fire(\"submit\",{data:n.toJSON()}))})},options:function(e){return arguments.length?(this.state.set(\"options\",e),this):this.state.get(\"options\")},renderHtml:function(){var e=this,n,r=\"\";return n=t(e._options),e.size&&(r=' size = \"'+e.size+'\"'),'<select id=\"'+e._id+'\" class=\"'+e.classes+'\"'+r+\">\"+n+\"</select>\"},bindStates:function(){var e=this;return e.state.on(\"change:options\",function(n){e.getEl().innerHTML=t(n.value)}),e._super()}})}),r(en,[Pe,_e,ve],function(e,t,n){function r(e,t,n){return e<t&&(e=t),e>n&&(e=n),e}function i(e,t,n){e.setAttribute(\"aria-\"+t,n)}function o(e,t){var r,o,a,s,l,u;\"v\"==e.settings.orientation?(s=\"top\",a=\"height\",o=\"h\"):(s=\"left\",a=\"width\",o=\"w\"),u=e.getEl(\"handle\"),r=(e.layoutRect()[o]||100)-n.getSize(u)[a],l=r*((t-e._minValue)/(e._maxValue-e._minValue))+\"px\",u.style[s]=l,u.style.height=e.layoutRect().h+\"px\",i(u,\"valuenow\",t),i(u,\"valuetext\",\"\"+e.settings.previewFilter(t)),i(u,\"valuemin\",e._minValue),i(u,\"valuemax\",e._maxValue)}return e.extend({init:function(e){var t=this;e.previewFilter||(e.previewFilter=function(e){return Math.round(100*e)/100}),t._super(e),t.classes.add(\"slider\"),\"v\"==e.orientation&&t.classes.add(\"vertical\"),t._minValue=e.minValue||0,t._maxValue=e.maxValue||100,t._initValue=t.state.get(\"value\")},renderHtml:function(){var e=this,t=e._id,n=e.classPrefix;return'<div id=\"'+t+'\" class=\"'+e.classes+'\"><div id=\"'+t+'-handle\" class=\"'+n+'slider-handle\" role=\"slider\" tabindex=\"-1\"></div></div>'},reset:function(){this.value(this._initValue).repaint()},postRender:function(){function e(e,t,n){return(n+e)/(t-e)}function i(e,t,n){return n*(t-e)-e}function o(t,n){function o(o){var a;a=s.value(),a=i(t,n,e(t,n,a)+.05*o),a=r(a,t,n),s.value(a),s.fire(\"dragstart\",{value:a}),s.fire(\"drag\",{value:a}),s.fire(\"dragend\",{value:a})}s.on(\"keydown\",function(e){switch(e.keyCode){case 37:case 38:o(-1);break;case 39:case 40:o(1)}})}function a(e,i,o){var a,l,u,h,m;s._dragHelper=new t(s._id,{handle:s._id+\"-handle\",start:function(e){a=e[c],l=parseInt(s.getEl(\"handle\").style[d],10),u=(s.layoutRect()[p]||100)-n.getSize(o)[f],s.fire(\"dragstart\",{value:m})},drag:function(t){var n=t[c]-a;h=r(l+n,0,u),o.style[d]=h+\"px\",m=e+h/u*(i-e),s.value(m),s.tooltip().text(\"\"+s.settings.previewFilter(m)).show().moveRel(o,\"bc tc\"),s.fire(\"drag\",{value:m})},stop:function(){s.tooltip().hide(),s.fire(\"dragend\",{value:m})}})}var s=this,l,u,c,d,f,p;l=s._minValue,u=s._maxValue,\"v\"==s.settings.orientation?(c=\"screenY\",d=\"top\",f=\"height\",p=\"h\"):(c=\"screenX\",d=\"left\",f=\"width\",p=\"w\"),s._super(),o(l,u,s.getEl(\"handle\")),a(l,u,s.getEl(\"handle\"))},repaint:function(){this._super(),o(this,this.value())},bindStates:function(){var e=this;return e.state.on(\"change:value\",function(t){o(e,t.value)}),e._super()}})}),r(tn,[Pe],function(e){return e.extend({renderHtml:function(){var e=this;return e.classes.add(\"spacer\"),e.canFocus=!1,'<div id=\"'+e._id+'\" class=\"'+e.classes+'\"></div>'}})}),r(nn,[jt,ve,g],function(e,t,n){return e.extend({Defaults:{classes:\"widget btn splitbtn\",role:\"button\"},repaint:function(){var e=this,r=e.getEl(),i=e.layoutRect(),o,a;return e._super(),o=r.firstChild,a=r.lastChild,n(o).css({width:i.w-t.getSize(a).width,height:i.h-2}),n(a).css({height:i.h-2}),e},activeMenu:function(e){var t=this;n(t.getEl().lastChild).toggleClass(t.classPrefix+\"active\",e)},renderHtml:function(){var e=this,t=e._id,n=e.classPrefix,r,i=e.state.get(\"icon\"),o=e.state.get(\"text\"),a=\"\";return r=e.settings.image,r?(i=\"none\",\"string\"!=typeof r&&(r=window.getSelection?r[0]:r[1]),r=\" style=\\\"background-image: url('\"+r+\"')\\\"\"):r=\"\",i=e.settings.icon?n+\"ico \"+n+\"i-\"+i:\"\",o&&(e.classes.add(\"btn-has-text\"),a='<span class=\"'+n+'txt\">'+e.encode(o)+\"</span>\"),'<div id=\"'+t+'\" class=\"'+e.classes+'\" role=\"button\" tabindex=\"-1\"><button type=\"button\" hidefocus=\"1\" tabindex=\"-1\">'+(i?'<i class=\"'+i+'\"'+r+\"></i>\":\"\")+a+'</button><button type=\"button\" class=\"'+n+'open\" hidefocus=\"1\" tabindex=\"-1\">'+(e._menuBtnText?(i?\"\\xa0\":\"\")+e._menuBtnText:\"\")+' <i class=\"'+n+'caret\"></i></button></div>'},postRender:function(){var e=this,t=e.settings.onclick;return e.on(\"click\",function(e){var n=e.target;if(e.control==this)for(;n;){if(e.aria&&\"down\"!=e.aria.key||\"BUTTON\"==n.nodeName&&n.className.indexOf(\"open\")==-1)return e.stopImmediatePropagation(),void(t&&t.call(this,e));n=n.parentNode}}),delete e.settings.onclick,e._super()}})}),r(rn,[Ht],function(e){return e.extend({Defaults:{containerClass:\"stack-layout\",controlClass:\"stack-layout-item\",endClass:\"break\"},isNative:function(){return!0}})}),r(on,[ke,g,ve],function(e,t,n){return e.extend({Defaults:{layout:\"absolute\",defaults:{type:\"panel\"}},activateTab:function(e){var n;this.activeTabId&&(n=this.getEl(this.activeTabId),t(n).removeClass(this.classPrefix+\"active\"),n.setAttribute(\"aria-selected\",\"false\")),this.activeTabId=\"t\"+e,n=this.getEl(\"t\"+e),n.setAttribute(\"aria-selected\",\"true\"),t(n).addClass(this.classPrefix+\"active\"),this.items()[e].show().fire(\"showtab\"),this.reflow(),this.items().each(function(t,n){e!=n&&t.hide()})},renderHtml:function(){var e=this,t=e._layout,n=\"\",r=e.classPrefix;return e.preRender(),t.preRender(e),e.items().each(function(t,i){var o=e._id+\"-t\"+i;t.aria(\"role\",\"tabpanel\"),t.aria(\"labelledby\",o),n+='<div id=\"'+o+'\" class=\"'+r+'tab\" unselectable=\"on\" role=\"tab\" aria-controls=\"'+t._id+'\" aria-selected=\"false\" tabIndex=\"-1\">'+e.encode(t.settings.title)+\"</div>\"}),'<div id=\"'+e._id+'\" class=\"'+e.classes+'\" hidefocus=\"1\" tabindex=\"-1\"><div id=\"'+e._id+'-head\" class=\"'+r+'tabs\" role=\"tablist\">'+n+'</div><div id=\"'+e._id+'-body\" class=\"'+e.bodyClasses+'\">'+t.renderHtml(e)+\"</div></div>\"},postRender:function(){var e=this;e._super(),e.settings.activeTab=e.settings.activeTab||0,e.activateTab(e.settings.activeTab),this.on(\"click\",function(t){var n=t.target.parentNode;if(n&&n.id==e._id+\"-head\")for(var r=n.childNodes.length;r--;)n.childNodes[r]==t.target&&e.activateTab(r)})},initLayoutRect:function(){var e=this,t,r,i;r=n.getSize(e.getEl(\"head\")).width,r=r<0?0:r,i=0,e.items().each(function(e){r=Math.max(r,e.layoutRect().minW),i=Math.max(i,e.layoutRect().minH)}),e.items().each(function(e){e.settings.x=0,e.settings.y=0,e.settings.w=r,e.settings.h=i,e.layoutRect({x:0,y:0,w:r,h:i})});var o=n.getSize(e.getEl(\"head\")).height;return e.settings.minWidth=r,e.settings.minHeight=i+o,t=e._super(),t.deltaH+=o,t.innerH=t.h-t.deltaH,t}})}),r(an,[Pe,m,ve],function(e,t,n){return e.extend({init:function(e){var t=this;t._super(e),t.classes.add(\"textbox\"),e.multiline?t.classes.add(\"multiline\"):(t.on(\"keydown\",function(e){var n;13==e.keyCode&&(e.preventDefault(),t.parents().reverse().each(function(e){if(e.toJSON)return n=e,!1}),t.fire(\"submit\",{data:n.toJSON()}))}),t.on(\"keyup\",function(e){t.state.set(\"value\",e.target.value)}))},repaint:function(){var e=this,t,n,r,i,o=0,a;t=e.getEl().style,n=e._layoutRect,a=e._lastRepaintRect||{};var s=document;return!e.settings.multiline&&s.all&&(!s.documentMode||s.documentMode<=8)&&(t.lineHeight=n.h-o+\"px\"),r=e.borderBox,i=r.left+r.right+8,o=r.top+r.bottom+(e.settings.multiline?8:0),n.x!==a.x&&(t.left=n.x+\"px\",a.x=n.x),n.y!==a.y&&(t.top=n.y+\"px\",a.y=n.y),n.w!==a.w&&(t.width=n.w-i+\"px\",a.w=n.w),n.h!==a.h&&(t.height=n.h-o+\"px\",a.h=n.h),e._lastRepaintRect=a,e.fire(\"repaint\",{},!1),e},renderHtml:function(){var e=this,r=e.settings,i,o;return i={id:e._id,hidefocus:\"1\"},t.each([\"rows\",\"spellcheck\",\"maxLength\",\"size\",\"readonly\",\"min\",\"max\",\"step\",\"list\",\"pattern\",\"placeholder\",\"required\",\"multiple\"],function(e){i[e]=r[e]}),e.disabled()&&(i.disabled=\"disabled\"),r.subtype&&(i.type=r.subtype),o=n.create(r.multiline?\"textarea\":\"input\",i),o.value=e.state.get(\"value\"),o.className=e.classes,o.outerHTML},value:function(e){return arguments.length?(this.state.set(\"value\",e),this):(this.state.get(\"rendered\")&&this.state.set(\"value\",this.getEl().value),this.state.get(\"value\"))},postRender:function(){var e=this;e.getEl().value=e.state.get(\"value\"),e._super(),e.$el.on(\"change\",function(t){e.state.set(\"value\",t.target.value),e.fire(\"change\",t)})},bindStates:function(){var e=this;return e.state.on(\"change:value\",function(t){e.getEl().value!=t.value&&(e.getEl().value=t.value)}),e.state.on(\"change:disabled\",function(t){e.getEl().disabled=t.value}),e._super()},remove:function(){this.$el.off(),this._super()}})}),r(sn,[],function(){var e=this||window,t=function(){return e.tinymce};return\"function\"==typeof e.define&&(e.define.amd||e.define(\"ephox/tinymce\",[],t)),\"object\"==typeof module&&(module.exports=window.tinymce),{}}),a([l,u,c,d,f,p,m,g,v,y,C,w,E,N,T,A,B,D,L,M,P,O,I,F,j,Y,J,te,le,ue,ce,de,pe,me,ge,Ce,xe,we,Ee,Ne,_e,Se,ke,Te,Re,Ae,Be,De,Le,Me,Pe,Oe,He,Ie,Ue,Ve,at,st,lt,ut,dt,ft,pt,ht,mt,gt,vt,yt,bt,Ct,xt,wt,Et,Nt,_t,St,kt,Tt,Rt,At,Bt,Dt,Mt,Pt,Ot,Ht,Ft,zt,Ut,Wt,Vt,$t,qt,jt,Yt,Xt,Kt,Gt,Jt,Qt,Zt,en,tn,nn,rn,on,an])}(window);","!function(){var e={},t=function(t){for(var n=e[t],i=n.deps,o=n.defn,a=i.length,s=new Array(a),l=0;l<a;++l)s[l]=r(i[l]);var c=o.apply(null,s);if(void 0===c)throw\"module [\"+t+\"] returned undefined\";n.instance=c},n=function(t,n,r){if(\"string\"!=typeof t)throw\"module id must be a string\";if(void 0===n)throw\"no dependencies for \"+t;if(void 0===r)throw\"no definition function for \"+t;e[t]={deps:n,defn:r,instance:void 0}},r=function(n){var r=e[n];if(void 0===r)throw\"module [\"+n+\"] was undefined\";return void 0===r.instance&&t(n),r.instance},i=function(e,t){for(var n=e.length,i=new Array(n),o=0;o<n;++o)i.push(r(e[o]));t.apply(null,t)},o={};o.bolt={module:{api:{define:n,require:i,demand:r}}};var a=n,s=function(e,t){a(e,[],function(){return t})};s(\"1\",tinymce.Env),s(\"2\",tinymce.EditorManager),s(\"3\",tinymce.ThemeManager),s(\"8\",tinymce.util.Tools),s(\"9\",tinymce.ui.Factory),s(\"a\",tinymce.DOM),a(\"b\",[\"8\",\"9\"],function(e,t){var n=\"undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image\",r=function(n,r,i){var o,a=[];if(r)return e.each(r.split(/[ ,]/),function(e){var r,s=function(){var t=n.selection;e.settings.stateSelector&&t.selectorChanged(e.settings.stateSelector,function(t){e.active(t)},!0),e.settings.disabledStateSelector&&t.selectorChanged(e.settings.disabledStateSelector,function(t){e.disabled(t)})};\"|\"==e?o=null:t.has(e)?(e={type:e,size:i},a.push(e),o=null):(o||(o={type:\"buttongroup\",items:[]},a.push(o)),n.buttons[e]&&(r=e,e=n.buttons[r],\"function\"==typeof e&&(e=e()),e.type=e.type||\"button\",e.size=i,e=t.create(e),o.items.push(e),n.initialized?s():n.on(\"init\",s)))}),{type:\"toolbar\",layout:\"flow\",items:a}},i=function(t,i){var o=[],a=t.settings,s=function(e){if(e)return o.push(r(t,e,i)),!0};if(e.isArray(a.toolbar)){if(0===a.toolbar.length)return;e.each(a.toolbar,function(e,t){a[\"toolbar\"+(t+1)]=e}),delete a.toolbar}for(var l=1;l<10&&s(a[\"toolbar\"+l]);l++);if(o.length||a.toolbar===!1||s(a.toolbar||n),o.length)return{type:\"panel\",layout:\"stack\",classes:\"toolbar-grp\",ariaRoot:!0,ariaRemember:!0,items:o}};return{createToolbar:r,createToolbars:i}}),a(\"c\",[\"8\"],function(e){var t={file:{title:\"File\",items:\"newdocument\"},edit:{title:\"Edit\",items:\"undo redo | cut copy paste pastetext | selectall\"},insert:{title:\"Insert\",items:\"|\"},view:{title:\"View\",items:\"visualaid |\"},format:{title:\"Format\",items:\"bold italic underline strikethrough superscript subscript | formats | removeformat\"},table:{title:\"Table\"},tools:{title:\"Tools\"}},n=function(e,t){var n;return\"|\"==t?{text:\"|\"}:n=e[t]},r=function(r,i,o){var a,s,l,c,u;if(u=e.makeMap((i.removed_menuitems||\"\").split(/[ ,]/)),i.menu?(s=i.menu[o],c=!0):s=t[o],s){a={text:s.title},l=[],e.each((s.items||\"\").split(/[ ,]/),function(e){var t=n(r,e);t&&!u[e]&&l.push(n(r,e))}),c||e.each(r,function(e){e.context==o&&(\"before\"==e.separator&&l.push({text:\"|\"}),e.prependToContext?l.unshift(e):l.push(e),\"after\"==e.separator&&l.push({text:\"|\"}))});for(var d=0;d<l.length;d++)\"|\"==l[d].text&&(0!==d&&d!=l.length-1||l.splice(d,1));if(a.menu=l,!a.menu.length)return null}return a},i=function(e){var n,i=[],o=e.settings,a=[];if(o.menu)for(n in o.menu)a.push(n);else for(n in t)a.push(n);for(var s=\"string\"==typeof o.menubar?o.menubar.split(/[ ,]/):a,l=0;l<s.length;l++){var c=s[l];c=r(e.menuItems,e.settings,c),c&&i.push(c)}return i};return{createMenuButtons:i}}),s(\"j\",tinymce.util.Delay),s(\"k\",tinymce.geom.Rect),a(\"d\",[\"a\",\"8\",\"j\",\"b\",\"9\",\"k\"],function(e,t,n,r,i,o){var a=function(e){return{left:e.x,top:e.y,width:e.w,height:e.h,right:e.x+e.w,bottom:e.y+e.h}},s=function(e){t.each(e.contextToolbars,function(e){e.panel&&e.panel.hide()})},l=function(e,t){e.moveTo(t.left,t.top)},c=function(e,n,r){n=n?n.substr(0,2):\"\",t.each({t:\"down\",b:\"up\"},function(t,i){e.classes.toggle(\"arrow-\"+t,r(i,n.substr(0,1)))}),t.each({l:\"left\",r:\"right\"},function(t,i){e.classes.toggle(\"arrow-\"+t,r(i,n.substr(1,1)))})},u=function(e,t,n,r,i,o){return o=a({x:t,y:n,w:o.w,h:o.h}),e&&(o=e({elementRect:a(r),contentAreaRect:a(i),panelRect:o})),o},d=function(a){var d,f=a.settings,p=function(){return a.contextToolbars||[]},m=function(t){var n,r,i;return n=e.getPos(a.getContentAreaContainer()),r=a.dom.getRect(t),i=a.dom.getRoot(),\"BODY\"===i.nodeName&&(r.x-=i.ownerDocument.documentElement.scrollLeft||i.scrollLeft,r.y-=i.ownerDocument.documentElement.scrollTop||i.scrollTop),r.x+=n.x,r.y+=n.y,r},g=function(t,n){var r,i,d,p,g,h,v,b,y=f.inline_toolbar_position_handler;if(!a.removed){if(!t||!t.toolbar.panel)return void s(a);v=[\"bc-tc\",\"tc-bc\",\"tl-bl\",\"bl-tl\",\"tr-br\",\"br-tr\"],g=t.toolbar.panel,n&&g.show(),d=m(t.element),i=e.getRect(g.getEl()),p=e.getRect(a.getContentAreaContainer()||a.getBody()),b=25,\"inline\"!==e.getStyle(t.element,\"display\",!0)&&(d.w=t.element.clientWidth,d.h=t.element.clientHeight),a.inline||(p.w=a.getDoc().documentElement.offsetWidth),a.selection.controlSelection.isResizable(t.element)&&d.w<b&&(d=o.inflate(d,0,8)),r=o.findBestRelativePosition(i,d,p,v),d=o.clamp(d,p),r?(h=o.relativePosition(i,d,r),l(g,u(y,h.x,h.y,d,p,i))):(p.h+=i.h,d=o.intersect(p,d),d?(r=o.findBestRelativePosition(i,d,p,[\"bc-tc\",\"bl-tl\",\"br-tr\"]),r?(h=o.relativePosition(i,d,r),l(g,u(y,h.x,h.y,d,p,i))):l(g,u(y,d.x,d.y,d,p,i))):g.hide()),c(g,r,function(e,t){return e===t})}},h=function(e){return function(){var t=function(){a.selection&&g(x(a.selection.getNode()),e)};n.requestAnimationFrame(t)}},v=function(){d||(d=a.selection.getScrollContainer()||a.getWin(),e.bind(d,\"scroll\",h(!0)),a.on(\"remove\",function(){e.unbind(d,\"scroll\")}))},b=function(e){var t;return e.toolbar.panel?(e.toolbar.panel.show(),void g(e)):(v(),t=i.create({type:\"floatpanel\",role:\"dialog\",classes:\"tinymce tinymce-inline arrow\",ariaLabel:\"Inline toolbar\",layout:\"flex\",direction:\"column\",align:\"stretch\",autohide:!1,autofix:!0,fixed:!0,border:1,items:r.createToolbar(a,e.toolbar.items),oncancel:function(){a.focus()}}),e.toolbar.panel=t,t.renderTo(document.body).reflow(),void g(e))},y=function(){t.each(p(),function(e){e.panel&&e.panel.hide()})},x=function(e){var t,n,r,i=p();for(r=a.$(e).parents().add(e),t=r.length-1;t>=0;t--)for(n=i.length-1;n>=0;n--)if(i[n].predicate(r[t]))return{toolbar:i[n],element:r[t]};return null};a.on(\"click keyup setContent ObjectResized\",function(e){(\"setcontent\"!==e.type||e.selection)&&n.setEditorTimeout(a,function(){var e;e=x(a.selection.getNode()),e?(y(),b(e)):y()})}),a.on(\"blur hide contextmenu\",y),a.on(\"ObjectResizeStart\",function(){var e=x(a.selection.getNode());e&&e.toolbar.panel&&e.toolbar.panel.hide()}),a.on(\"ResizeEditor ResizeWindow\",h(!0)),a.on(\"nodeChange\",h(!1)),a.on(\"remove\",function(){t.each(p(),function(e){e.panel&&e.panel.remove()}),a.contextToolbars={}}),a.shortcuts.add(\"ctrl+shift+e > ctrl+shift+p\",\"\",function(){var e=x(a.selection.getNode());e&&e.toolbar.panel&&e.toolbar.panel.items()[0].focus()})};return{addContextualToolbars:d}}),a(\"e\",[],function(){var e=function(e,t){return function(){var n=e.find(t)[0];n&&n.focus(!0)}},t=function(t,n){t.shortcuts.add(\"Alt+F9\",\"\",e(n,\"menubar\")),t.shortcuts.add(\"Alt+F10,F10\",\"\",e(n,\"toolbar\")),t.shortcuts.add(\"Alt+F11\",\"\",e(n,\"elementpath\")),n.on(\"cancel\",function(){t.focus()})};return{addKeys:t}}),a(\"f\",[\"8\",\"9\",\"1\"],function(e,t,n){var r=function(e){return{element:function(){return e}}},i=function(e,t,n){var i=e.settings[n];i&&i(r(t.getEl(\"body\")))},o=function(t,n,r){e.each(r,function(e){var r=n.items().filter(\"#\"+e.name)[0];r&&r.visible()&&e.name!==t&&(i(e,r,\"onhide\"),r.visible(!1))})},a=function(e){e.items().each(function(e){e.active(!1)})},s=function(t,n){return e.grep(t,function(e){return e.name===n})[0]},l=function(e,n,r){return function(l){var c=l.control,u=c.parents().filter(\"panel\")[0],d=u.find(\"#\"+n)[0],f=s(r,n);o(n,u,r),a(c.parent()),d&&d.visible()?(i(f,d,\"onhide\"),d.hide(),c.active(!1)):(d?(d.show(),i(f,d,\"onshow\")):(d=t.create({type:\"container\",name:n,layout:\"stack\",classes:\"sidebar-panel\",html:\"\"}),u.prepend(d),i(f,d,\"onrender\"),i(f,d,\"onshow\")),c.active(!0)),e.fire(\"ResizeEditor\")}},c=function(){return!n.ie||n.ie>=11},u=function(e){return!(!c()||!e.sidebars)&&e.sidebars.length>0},d=function(t){var n=e.map(t.sidebars,function(e){var n=e.settings;return{type:\"button\",icon:n.icon,image:n.image,tooltip:n.tooltip,onclick:l(t,e.name,t.sidebars)}});return{type:\"panel\",name:\"sidebar\",layout:\"stack\",classes:\"sidebar\",items:[{type:\"toolbar\",layout:\"stack\",classes:\"sidebar-toolbar\",items:n}]}};return{hasSidebar:u,createSidebar:d}}),a(\"g\",[],function(){var e=function(e){var t=function(){e._skinLoaded=!0,e.fire(\"SkinLoaded\")};return function(){e.initialized?t():e.on(\"init\",t)}};return{fireSkinLoaded:e}}),a(\"6\",[\"a\"],function(e){var t=function(e){return{width:e.clientWidth,height:e.clientHeight}},n=function(n,r,i){var o,a,s,l,c=n.settings;o=n.getContainer(),a=n.getContentAreaContainer().firstChild,s=t(o),l=t(a),null!==r&&(r=Math.max(c.min_width||100,r),r=Math.min(c.max_width||65535,r),e.setStyle(o,\"width\",r+(s.width-l.width)),e.setStyle(a,\"width\",r)),i=Math.max(c.min_height||100,i),i=Math.min(c.max_height||65535,i),e.setStyle(a,\"height\",i),n.fire(\"ResizeEditor\")},r=function(e,t,r){var i=e.getContentAreaContainer();n(e,i.clientWidth+t,i.clientHeight+r)};return{resizeTo:n,resizeBy:r}}),a(\"4\",[\"8\",\"9\",\"a\",\"b\",\"c\",\"d\",\"e\",\"f\",\"g\",\"6\"],function(e,t,n,r,i,o,a,s,l,c){var u=function(e){return function(t){e.find(\"*\").disabled(\"readonly\"===t.mode)}},d=function(e){return{type:\"panel\",name:\"iframe\",layout:\"stack\",classes:\"edit-area\",border:e,html:\"\"}},f=function(e){return{type:\"panel\",layout:\"stack\",classes:\"edit-aria-container\",border:\"1 0 0 0\",items:[d(\"0\"),s.createSidebar(e)]}},p=function(e,p,m){var g,h,v,b=e.settings;return m.skinUiCss&&n.styleSheetLoader.load(m.skinUiCss,l.fireSkinLoaded(e)),g=p.panel=t.create({type:\"panel\",role:\"application\",classes:\"tinymce\",style:\"visibility: hidden\",layout:\"stack\",border:1,items:[b.menubar===!1?null:{type:\"menubar\",border:\"0 0 1 0\",items:i.createMenuButtons(e)},r.createToolbars(e,b.toolbar_items_size),s.hasSidebar(e)?f(e):d(\"1 0 0 0\")]}),b.resize!==!1&&(h={type:\"resizehandle\",direction:b.resize,onResizeStart:function(){var t=e.getContentAreaContainer().firstChild;v={width:t.clientWidth,height:t.clientHeight}},onResize:function(t){\"both\"===b.resize?c.resizeTo(e,v.width+t.deltaX,v.height+t.deltaY):c.resizeTo(e,null,v.height+t.deltaY)}}),b.statusbar!==!1&&g.add({type:\"panel\",name:\"statusbar\",classes:\"statusbar\",layout:\"flow\",border:\"1 0 0 0\",ariaRoot:!0,items:[{type:\"elementpath\",editor:e},h]}),e.fire(\"BeforeRenderUI\"),e.on(\"SwitchMode\",u(g)),g.renderBefore(m.targetNode).reflow(),b.readonly&&e.setMode(\"readonly\"),b.width&&n.setStyle(g.getEl(),\"width\",b.width),e.on(\"remove\",function(){g.remove(),g=null}),a.addKeys(e,g),o.addContextualToolbars(e),{iframeContainer:g.find(\"#iframe\")[0].getEl(),editorContainer:g.getEl()}};return{render:p}}),s(\"h\",tinymce.ui.FloatPanel),a(\"5\",[\"8\",\"9\",\"a\",\"h\",\"b\",\"c\",\"d\",\"e\",\"g\"],function(e,t,n,r,i,o,a,s,l){var c=function(e,c,u){var d,f,p=e.settings;p.fixed_toolbar_container&&(f=n.select(p.fixed_toolbar_container)[0]);var m=function(){if(d&&d.moveRel&&d.visible()&&!d._fixed){var t=e.selection.getScrollContainer(),r=e.getBody(),i=0,o=0;if(t){var a=n.getPos(r),s=n.getPos(t);i=Math.max(0,s.x-a.x),o=Math.max(0,s.y-a.y)}d.fixed(!1).moveRel(r,e.rtl?[\"tr-br\",\"br-tr\"]:[\"tl-bl\",\"bl-tl\",\"tr-br\"]).moveBy(i,o)}},g=function(){d&&(d.show(),m(),n.addClass(e.getBody(),\"mce-edit-focus\"))},h=function(){d&&(d.hide(),r.hideAll(),n.removeClass(e.getBody(),\"mce-edit-focus\"))},v=function(){return d?void(d.visible()||g()):(d=c.panel=t.create({type:f?\"panel\":\"floatpanel\",role:\"application\",classes:\"tinymce tinymce-inline\",layout:\"flex\",direction:\"column\",align:\"stretch\",autohide:!1,autofix:!0,fixed:!!f,border:1,items:[p.menubar===!1?null:{type:\"menubar\",border:\"0 0 1 0\",items:o.createMenuButtons(e)},i.createToolbars(e,p.toolbar_items_size)]}),e.fire(\"BeforeRenderUI\"),d.renderTo(f||document.body).reflow(),s.addKeys(e,d),g(),a.addContextualToolbars(e),e.on(\"nodeChange\",m),e.on(\"activate\",g),e.on(\"deactivate\",h),void e.nodeChanged())};return p.content_editable=!0,e.on(\"focus\",function(){u.skinUiCss?n.styleSheetLoader.load(u.skinUiCss,v,v):v()}),e.on(\"blur hide\",h),e.on(\"remove\",function(){d&&(d.remove(),d=null)}),u.skinUiCss&&n.styleSheetLoader.load(u.skinUiCss,l.fireSkinLoaded(e)),{}};return{render:c}}),s(\"i\",tinymce.ui.Throbber),a(\"7\",[\"i\"],function(e){var t=function(t,n){var r;t.on(\"ProgressState\",function(t){r=r||new e(n.panel.getEl(\"body\")),t.state?r.show(t.time):r.hide()})};return{setup:t}}),a(\"0\",[\"1\",\"2\",\"3\",\"4\",\"5\",\"6\",\"7\"],function(e,t,n,r,i,o,a){var s=function(n,o,s){var l=n.settings,c=l.skin!==!1&&(l.skin||\"lightgray\");if(c){var u=l.skin_url;u=u?n.documentBaseURI.toAbsolute(u):t.baseURL+\"/skins/\"+c,e.documentMode<=7?s.skinUiCss=u+\"/skin.ie7.min.css\":s.skinUiCss=u+\"/skin.min.css\",n.contentCSS.push(u+\"/content\"+(n.inline?\".inline\":\"\")+\".min.css\")}return a.setup(n,o),l.inline?i.render(n,o,s):r.render(n,o,s)};return n.add(\"modern\",function(e){return{renderUI:function(t){return s(e,this,t)},resizeTo:function(t,n){return o.resizeTo(e,t,n)},resizeBy:function(t,n){return o.resizeBy(e,t,n)}}}),function(){}}),r(\"0\")()}();","tinymce.PluginManager.add(\"link\",function(e){function t(e){return e&&\"A\"===e.nodeName&&e.href}function n(e){return tinymce.util.Tools.grep(e,t).length>0}function r(t){return e.dom.getParent(t,\"a[href]\")}function i(){return r(e.selection.getStart())}function o(e){var t=e.getAttribute(\"data-mce-href\");return t?t:e.getAttribute(\"href\")}function a(){var t=e.plugins.contextmenu;return!!t&&t.isContextMenuVisible()}function s(n){var r,i,o;return!!(e.settings.link_context_toolbar&&!a()&&t(n)&&(r=e.selection,i=r.getRng(),o=i.startContainer,3==o.nodeType&&r.isCollapsed()&&i.startOffset>0&&i.startOffset<o.data.length))}function l(e,t){document.body.appendChild(e),e.dispatchEvent(t),document.body.removeChild(e)}function c(e){if(!tinymce.Env.ie||tinymce.Env.ie>10){var t=document.createElement(\"a\");t.target=\"_blank\",t.href=e,t.rel=\"noreferrer noopener\";var n=document.createEvent(\"MouseEvents\");n.initMouseEvent(\"click\",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),l(t,n)}else{var r=window.open(\"\",\"_blank\");if(r){r.opener=null;var i=r.document;i.open(),i.write('<meta http-equiv=\"refresh\" content=\"0; url='+tinymce.DOM.encode(e)+'\">'),i.close()}}}function u(t){if(t){var n=o(t);if(/^#/.test(n)){var r=e.$(n);r.length&&e.selection.scrollIntoView(r[0],!0)}else c(t.href)}}function d(){u(i())}function f(){var t=this,r=function(e){n(e.parents)?t.show():t.hide()};n(e.dom.getParents(e.selection.getStart()))||t.hide(),e.on(\"nodechange\",r),t.on(\"remove\",function(){e.off(\"nodechange\",r)})}function p(t){return function(){var n=e.settings.link_list;\"string\"==typeof n?tinymce.util.XHR.send({url:n,success:function(e){t(tinymce.util.JSON.parse(e))}}):\"function\"==typeof n?n(t):t(n)}}function m(e,t,n){function r(e,n){return n=n||[],tinymce.each(e,function(e){var i={text:e.text||e.title};e.menu?i.menu=r(e.menu):(i.value=e.value,t&&t(i)),n.push(i)}),n}return r(e,n||[])}function g(t){function n(e){var t=d.find(\"#text\");(!t.value()||e.lastControl&&t.value()==e.lastControl.text())&&t.value(e.control.text()),d.find(\"#href\").value(e.control.value())}function r(t){var r=[];if(tinymce.each(e.dom.select(\"a:not([href])\"),function(e){var n=e.name||e.id;n&&r.push({text:n,value:\"#\"+n,selected:t.indexOf(\"#\"+n)!=-1})}),r.length)return r.unshift({text:\"None\",value:\"\"}),{name:\"anchor\",type:\"listbox\",label:\"Anchors\",values:r,onselect:n}}function i(){!u&&0===w.text.length&&f&&this.parent().parent().find(\"#text\")[0].value(this.value())}function o(t){var n=t.meta||{};g&&g.value(e.convertURL(this.value(),\"href\")),tinymce.each(t.meta,function(e,t){var n=d.find(\"#\"+t);\"text\"===t?0===u.length&&(n.value(e),w.text=e):n.value(e)}),n.attach&&(h={href:this.value(),attach:n.attach}),n.text||i.call(this)}function a(e){var t=N.getContent();if(/</.test(t)&&(!/^<a [^>]+>[^<]+<\\/a>$/.test(t)||t.indexOf(\"href=\")==-1))return!1;if(e){var n,r=e.childNodes;if(0===r.length)return!1;for(n=r.length-1;n>=0;n--)if(3!=r[n].nodeType)return!1}return!0}function s(e){e.meta=d.toJSON()}var l,c,u,d,f,p,g,v,b,y,x,C,w={},N=e.selection,k=e.dom;l=N.getNode(),c=k.getParent(l,\"a[href]\"),f=a(),w.text=u=c?c.innerText||c.textContent:N.getContent({format:\"text\"}),w.href=c?k.getAttrib(c,\"href\"):\"\",c?w.target=k.getAttrib(c,\"target\"):e.settings.default_link_target&&(w.target=e.settings.default_link_target),(C=k.getAttrib(c,\"rel\"))&&(w.rel=C),(C=k.getAttrib(c,\"class\"))&&(w[\"class\"]=C),(C=k.getAttrib(c,\"title\"))&&(w.title=C),f&&(p={name:\"text\",type:\"textbox\",size:40,label:\"Text to display\",onchange:function(){w.text=this.value()}}),t&&(g={type:\"listbox\",label:\"Link list\",values:m(t,function(t){t.value=e.convertURL(t.value||t.url,\"href\")},[{text:\"None\",value:\"\"}]),onselect:n,value:e.convertURL(w.href,\"href\"),onPostRender:function(){g=this}}),e.settings.target_list!==!1&&(e.settings.target_list||(e.settings.target_list=[{text:\"None\",value:\"\"},{text:\"New window\",value:\"_blank\"}]),b={name:\"target\",type:\"listbox\",label:\"Target\",values:m(e.settings.target_list)}),e.settings.rel_list&&(v={name:\"rel\",type:\"listbox\",label:\"Rel\",values:m(e.settings.rel_list)}),e.settings.link_class_list&&(y={name:\"class\",type:\"listbox\",label:\"Class\",values:m(e.settings.link_class_list,function(t){t.value&&(t.textStyle=function(){return e.formatter.getCssText({inline:\"a\",classes:[t.value]})})})}),e.settings.link_title!==!1&&(x={name:\"title\",type:\"textbox\",label:\"Title\",value:w.title}),d=e.windowManager.open({title:\"Insert link\",data:w,body:[{name:\"href\",type:\"filepicker\",filetype:\"file\",size:40,autofocus:!0,label:\"Url\",onchange:o,onkeyup:i,onbeforecall:s},p,x,r(w.href),g,v,b,y],onSubmit:function(t){function n(t,n){var r=e.selection.getRng();tinymce.util.Delay.setEditorTimeout(e,function(){e.windowManager.confirm(t,function(t){e.selection.setRng(r),n(t)})})}function r(e,t){function n(e){return e=r(e),e?[e,i].join(\" \"):i}function r(e){var t=new RegExp(\"(\"+i.replace(\" \",\"|\")+\")\",\"g\");return e&&(e=tinymce.trim(e.replace(t,\"\"))),e?e:null}var i=\"noopener noreferrer\";return t?n(e):r(e)}function i(){var t={href:a,target:w.target?w.target:null,rel:w.rel?w.rel:null,\"class\":w[\"class\"]?w[\"class\"]:null,title:w.title?w.title:null};e.settings.allow_unsafe_link_target||(t.rel=r(t.rel,\"_blank\"==t.target)),a===h.href&&(h.attach(),h={}),c?(e.focus(),f&&w.text!=u&&(\"innerText\"in c?c.innerText=w.text:c.textContent=w.text),k.setAttribs(c,t),N.select(c),e.undoManager.add()):f?e.insertContent(k.createHTML(\"a\",t,k.encode(w.text))):e.execCommand(\"mceInsertLink\",!1,t)}function o(){e.undoManager.transact(i)}var a;return w=tinymce.extend(w,t.data),(a=w.href)?a.indexOf(\"@\")>0&&a.indexOf(\"//\")==-1&&a.indexOf(\"mailto:\")==-1?void n(\"The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?\",function(e){e&&(a=\"mailto:\"+a),o()}):e.settings.link_assume_external_targets&&!/^\\w+:/i.test(a)||!e.settings.link_assume_external_targets&&/^\\s*www[\\.|\\d\\.]/i.test(a)?void n(\"The URL you entered seems to be an external link. Do you want to add the required http:// prefix?\",function(e){e&&(a=\"http://\"+a),o()}):void o():void e.execCommand(\"unlink\")}})}var h={},v=function(e){return e.altKey===!0&&e.shiftKey===!1&&e.ctrlKey===!1&&e.metaKey===!1};e.addButton(\"link\",{icon:\"link\",tooltip:\"Insert/edit link\",shortcut:\"Meta+K\",onclick:p(g),stateSelector:\"a[href]\"}),e.addButton(\"unlink\",{icon:\"unlink\",tooltip:\"Remove link\",cmd:\"unlink\",stateSelector:\"a[href]\"}),e.addContextToolbar&&(e.addButton(\"openlink\",{icon:\"newtab\",tooltip:\"Open link\",onclick:d}),e.addContextToolbar(s,\"openlink | link unlink\")),e.addShortcut(\"Meta+K\",\"\",p(g)),e.addCommand(\"mceLink\",p(g)),e.on(\"click\",function(e){var t=r(e.target);t&&tinymce.util.VK.metaKeyPressed(e)&&(e.preventDefault(),u(t))}),e.on(\"keydown\",function(e){var t=i();t&&13===e.keyCode&&v(e)&&(e.preventDefault(),u(t))}),this.showDialog=g,e.addMenuItem(\"openlink\",{text:\"Open link\",icon:\"newtab\",onclick:d,onPostRender:f,prependToContext:!0}),e.addMenuItem(\"link\",{icon:\"link\",text:\"Link\",shortcut:\"Meta+K\",onclick:p(g),stateSelector:\"a[href]\",context:\"insert\",prependToContext:!0})});","!function(e,t){\"use strict\";function n(e,t){for(var n,r=[],o=0;o<e.length;++o){if(n=a[e[o]]||i(e[o]),!n)throw\"module definition dependecy not found: \"+e[o];r.push(n)}t.apply(null,r)}function r(e,r,i){if(\"string\"!=typeof e)throw\"invalid module definition, module id must be defined and be a string\";if(r===t)throw\"invalid module definition, dependencies must be specified\";if(i===t)throw\"invalid module definition, definition function must be specified\";n(r,function(){a[e]=i.apply(null,arguments)})}function i(t){for(var n=e,r=t.split(/[.\\/]/),i=0;i<r.length;++i){if(!n[r[i]])return;n=n[r[i]]}return n}function o(n){var r,i,o,s,l;for(r=0;r<n.length;r++){i=e,o=n[r],s=o.split(/[.\\/]/);for(var c=0;c<s.length-1;++c)i[s[c]]===t&&(i[s[c]]={}),i=i[s[c]];i[s[s.length-1]]=a[o]}if(e.AMDLC_TESTS){l=e.privateModules||{};for(o in a)l[o]=a[o];for(r=0;r<n.length;r++)delete l[n[r]];e.privateModules=l}}var a={};r(\"tinymce/pasteplugin/Utils\",[\"tinymce/util/Tools\",\"tinymce/html/DomParser\",\"tinymce/html/Schema\"],function(e,t,n){function r(t,n){return e.each(n,function(e){t=e.constructor==RegExp?t.replace(e,\"\"):t.replace(e[0],e[1])}),t}function i(i){function o(e){var t=e.name,n=e;if(\"br\"===t)return void(l+=\"\\n\");if(c[t]&&(l+=\" \"),u[t])return void(l+=\" \");if(3==e.type&&(l+=e.value),!e.shortEnded&&(e=e.firstChild))do o(e);while(e=e.next);d[t]&&n.next&&(l+=\"\\n\",\"p\"==t&&(l+=\"\\n\"))}var a=new n,s=new t({},a),l=\"\",c=a.getShortEndedElements(),u=e.makeMap(\"script noscript style textarea video audio iframe object\",\" \"),d=a.getBlockElements();return i=r(i,[/<!\\[[^\\]]+\\]>/g]),o(s.parse(i)),l}function o(e){function t(e,t,n){return t||n?\"\\xa0\":\" \"}return e=r(s(e),[/^[\\s\\S]*<body[^>]*>\\s*|\\s*<\\/body[^>]*>[\\s\\S]*$/gi,/<!--StartFragment-->|<!--EndFragment-->/g,[/( ?)<span class=\"Apple-converted-space\">\\u00a0<\\/span>( ?)/g,t],/<br class=\"Apple-interchange-newline\">/g,/<br>$/i])}function a(e){var t=0;return function(){return e+t++}}var s=function(e){var t=\"<!--StartFragment-->\",n=\"<!--EndFragment-->\",r=e.indexOf(t);if(r!==-1){var i=e.substr(r+t.length),o=i.indexOf(n);if(o!==-1&&/^<\\/(p|h[1-6]|li)>/i.test(i.substr(o+n.length,5)))return i.substr(0,o)}return e};return{filter:r,innerText:i,trimHtml:o,createIdGenerator:a}}),r(\"tinymce/pasteplugin/SmartPaste\",[\"tinymce/util/Tools\"],function(e){var t=function(e){return/^https?:\\/\\/[\\w\\?\\-\\/+=.&%@~#]+$/i.test(e)},n=function(e){return t(e)&&/.(gif|jpe?g|png)$/.test(e)},r=function(e,t,n){return e.undoManager.extra(function(){n(e,t)},function(){e.insertContent('<img src=\"'+t+'\">')}),!0},i=function(e,t,n){return e.undoManager.extra(function(){n(e,t)},function(){e.execCommand(\"mceInsertLink\",!1,t)}),!0},o=function(e,n,r){return!(e.selection.isCollapsed()!==!1||!t(n))&&i(e,n,r)},a=function(e,t,i){return!!n(t)&&r(e,t,i)},s=function(e,t){return e.insertContent(t,{merge:e.settings.paste_merge_formats!==!1,paste:!0}),!0},l=function(t,n){e.each([o,a,s],function(e){return e(t,n,s)!==!0})},c=function(e,t){e.settings.smart_paste===!1?s(e,t):l(e,t)};return{isImageUrl:n,isAbsoluteUrl:t,insertContent:c}}),r(\"tinymce/pasteplugin/Clipboard\",[\"tinymce/Env\",\"tinymce/dom/RangeUtils\",\"tinymce/util/VK\",\"tinymce/pasteplugin/Utils\",\"tinymce/pasteplugin/SmartPaste\",\"tinymce/util/Delay\"],function(e,t,n,r,i,o){return function(a){function s(e){var t,n=a.dom;if(t=a.fire(\"BeforePastePreProcess\",{content:e}),t=a.fire(\"PastePreProcess\",t),e=t.content,!t.isDefaultPrevented()){if(a.hasEventListeners(\"PastePostProcess\")&&!t.isDefaultPrevented()){var r=n.add(a.getBody(),\"div\",{style:\"display:none\"},e);t=a.fire(\"PastePostProcess\",{node:r}),n.remove(r),e=t.node.innerHTML}t.isDefaultPrevented()||i.insertContent(a,e)}}function l(e){e=a.dom.encode(e).replace(/\\r\\n/g,\"\\n\");var t,n=a.dom.getParent(a.selection.getStart(),a.dom.isBlock),i=a.settings.forced_root_block;i&&(t=a.dom.createHTML(i,a.settings.forced_root_block_attrs),t=t.substr(0,t.length-3)+\">\"),n&&/^(PRE|DIV)$/.test(n.nodeName)||!i?e=r.filter(e,[[/\\n/g,\"<br>\"]]):(e=r.filter(e,[[/\\n\\n/g,\"</p>\"+t],[/^(.*<\\/p>)(<p>)$/,t+\"$1\"],[/\\n/g,\"<br />\"]]),e.indexOf(\"<p>\")!=-1&&(e=t+e)),s(e)}function c(){function t(e){var t,n,i,o=e.startContainer;if(t=e.getClientRects(),t.length)return t[0];if(e.collapsed&&1==o.nodeType){for(i=o.childNodes[S.startOffset];i&&3==i.nodeType&&!i.data.length;)i=i.nextSibling;if(i)return\"BR\"==i.tagName&&(n=r.doc.createTextNode(\"\\ufeff\"),i.parentNode.insertBefore(n,i),e=r.createRng(),e.setStartBefore(n),e.setEndAfter(n),t=e.getClientRects(),r.remove(n)),t.length?t[0]:void 0}}var n,r=a.dom,i=a.getBody(),o=a.dom.getViewPort(a.getWin()),s=o.y,l=20;if(S=a.selection.getRng(),a.inline&&(n=a.selection.getScrollContainer(),n&&n.scrollTop>0&&(s=n.scrollTop)),S.getClientRects){var c=t(S);if(c)l=s+(c.top-r.getPos(i).y);else{l=s;var u=S.startContainer;u&&(3==u.nodeType&&u.parentNode!=i&&(u=u.parentNode),1==u.nodeType&&(l=r.getPos(u,n||i).y))}}k=r.add(a.getBody(),\"div\",{id:\"mcepastebin\",contentEditable:!0,\"data-mce-bogus\":\"all\",style:\"position: absolute; top: \"+l+\"px;width: 10px; height: 10px; overflow: hidden; opacity: 0\"},A),(e.ie||e.gecko)&&r.setStyle(k,\"left\",\"rtl\"==r.getStyle(i,\"direction\",!0)?65535:-65535),r.bind(k,\"beforedeactivate focusin focusout\",function(e){e.stopPropagation()}),k.focus(),a.selection.select(k,!0)}function u(){if(k){for(var e;e=a.dom.get(\"mcepastebin\");)a.dom.remove(e),a.dom.unbind(e);S&&a.selection.setRng(S)}k=S=null}function d(){var e,t,n,r,i=\"\";for(e=a.dom.select(\"div[id=mcepastebin]\"),t=0;t<e.length;t++)n=e[t],n.firstChild&&\"mcepastebin\"==n.firstChild.id&&(n=n.firstChild),r=n.innerHTML,i!=A&&(i+=r);return i}function f(e){var t={};if(e){if(e.getData){var n=e.getData(\"Text\");n&&n.length>0&&n.indexOf(B)==-1&&(t[\"text/plain\"]=n)}if(e.types)for(var r=0;r<e.types.length;r++){var i=e.types[r];t[i]=e.getData(i)}}return t}function p(e){return f(e.clipboardData||a.getDoc().dataTransfer)}function m(e){return C(e,\"text/html\")||C(e,\"text/plain\")}function g(e){var t;return t=e.indexOf(\",\"),t!==-1?e.substr(t+1):null}function h(e,t){return!e.images_dataimg_filter||e.images_dataimg_filter(t)}function v(e,t,n){e&&(a.selection.setRng(e),e=null);var r=t.result,i=g(r),o=new Image;if(o.src=r,h(a.settings,o)){var l,c,u=a.editorUpload.blobCache;c=u.findFirst(function(e){return e.base64()===i}),c?l=c:(l=u.create(P(),n,i),u.add(l)),s('<img src=\"'+l.blobUri()+'\">')}else s('<img src=\"'+r+'\">')}function b(e,t){function n(n){var r,i,o,a=!1;if(n)for(r=0;r<n.length;r++)if(i=n[r],/^image\\/(jpeg|png|gif|bmp)$/.test(i.type)){var s=i.getAsFile?i.getAsFile():i;o=new FileReader,o.onload=v.bind(null,t,o,s),o.readAsDataURL(s),e.preventDefault(),a=!0}return a}var r=e.clipboardData||e.dataTransfer;if(a.settings.paste_data_images&&r)return n(r.items)||n(r.files)}function y(e){var t=e.clipboardData;return navigator.userAgent.indexOf(\"Android\")!=-1&&t&&t.items&&0===t.items.length}function x(e){return t.getCaretRangeFromPoint(e.clientX,e.clientY,a.getDoc())}function C(e,t){return t in e&&e[t].length>0}function w(e){return n.metaKeyPressed(e)&&86==e.keyCode||e.shiftKey&&45==e.keyCode}function N(){function t(e,t,n){var i;return C(e,\"text/html\")?i=e[\"text/html\"]:(i=d(),i==A&&(n=!0)),i=r.trimHtml(i),k&&k.firstChild&&\"mcepastebin\"===k.firstChild.id&&(n=!0),u(),i.length||(n=!0),n&&(i=C(e,\"text/plain\")&&i.indexOf(\"</p>\")==-1?e[\"text/plain\"]:r.innerText(i)),i==A?void(t||a.windowManager.alert(\"Please use Ctrl+V/Cmd+V keyboard shortcuts to paste contents.\")):void(n?l(i):s(i))}function n(e){var t=e[\"text/plain\"];return!!t&&0===t.indexOf(\"file://\")}a.on(\"keydown\",function(t){function n(e){w(e)&&!e.isDefaultPrevented()&&u()}if(w(t)&&!t.isDefaultPrevented()){if(_=t.shiftKey&&86==t.keyCode,_&&e.webkit&&navigator.userAgent.indexOf(\"Version/\")!=-1)return;if(t.stopImmediatePropagation(),T=(new Date).getTime(),e.ie&&_)return t.preventDefault(),void a.fire(\"paste\",{ieFake:!0});u(),c(),a.once(\"keyup\",n),a.once(\"paste\",function(){a.off(\"keyup\",n)})}});var i=function(){return S||a.selection.getRng()};a.on(\"paste\",function(n){var r=(new Date).getTime(),s=p(n),l=(new Date).getTime()-r,f=(new Date).getTime()-T-l<1e3,g=\"text\"==E.pasteFormat||_;return _=!1,n.isDefaultPrevented()||y(n)?void u():!m(s)&&b(n,i())?void u():(f||n.preventDefault(),!e.ie||f&&!n.ieFake||(c(),a.dom.bind(k,\"paste\",function(e){e.stopPropagation()}),a.getDoc().execCommand(\"Paste\",!1,null),s[\"text/html\"]=d()),void(C(s,\"text/html\")?(n.preventDefault(),t(s,f,g)):o.setEditorTimeout(a,function(){t(s,f,g)},0)))}),a.on(\"dragstart dragend\",function(e){R=\"dragstart\"==e.type}),a.on(\"drop\",function(e){var t,i;if(i=x(e),!e.isDefaultPrevented()&&!R&&(t=f(e.dataTransfer),(m(t)&&!n(t)||!b(e,i))&&i&&a.settings.paste_filter_drop!==!1)){var c=t[\"mce-internal\"]||t[\"text/html\"]||t[\"text/plain\"];c&&(e.preventDefault(),o.setEditorTimeout(a,function(){a.undoManager.transact(function(){t[\"mce-internal\"]&&a.execCommand(\"Delete\"),a.selection.setRng(i),c=r.trimHtml(c),t[\"text/html\"]?s(c):l(c)})}))}}),a.on(\"dragover dragend\",function(e){a.settings.paste_data_images&&e.preventDefault()})}var k,S,_,E=this,T=0,R=!1,A=\"%MCEPASTEBIN%\",B=\"data:text/mce-internal,\",P=r.createIdGenerator(\"mceclip\");E.pasteHtml=s,E.pasteText=l,E.pasteImageData=b,a.on(\"preInit\",function(){N(),a.parser.addNodeFilter(\"img\",function(t,n,r){function i(e){return e.data&&e.data.paste===!0}function o(t){t.attr(\"data-mce-object\")||u===e.transparentSrc||t.remove()}function s(e){return 0===e.indexOf(\"webkit-fake-url\")}function l(e){return 0===e.indexOf(\"data:\")}if(!a.settings.paste_data_images&&i(r))for(var c=t.length;c--;){var u=t[c].attributes.map.src;u&&(s(u)?o(t[c]):!a.settings.allow_html_data_urls&&l(u)&&o(t[c]))}})})}}),r(\"tinymce/pasteplugin/WordFilter\",[\"tinymce/util/Tools\",\"tinymce/html/DomParser\",\"tinymce/html/Schema\",\"tinymce/html/Serializer\",\"tinymce/html/Node\",\"tinymce/pasteplugin/Utils\"],function(e,t,n,r,i,o){function a(e){return/<font face=\"Times New Roman\"|class=\"?Mso|style=\"[^\"]*\\bmso-|style='[^'']*\\bmso-|w:WordDocument/i.test(e)||/class=\"OutlineElement/.test(e)||/id=\"?docs\\-internal\\-guid\\-/.test(e)}function s(t){var n,r;return r=[/^[IVXLMCD]{1,2}\\.[ \\u00a0]/,/^[ivxlmcd]{1,2}\\.[ \\u00a0]/,/^[a-z]{1,2}[\\.\\)][ \\u00a0]/,/^[A-Z]{1,2}[\\.\\)][ \\u00a0]/,/^[0-9]+\\.[ \\u00a0]/,/^[\\u3007\\u4e00\\u4e8c\\u4e09\\u56db\\u4e94\\u516d\\u4e03\\u516b\\u4e5d]+\\.[ \\u00a0]/,/^[\\u58f1\\u5f10\\u53c2\\u56db\\u4f0d\\u516d\\u4e03\\u516b\\u4e5d\\u62fe]+\\.[ \\u00a0]/],t=t.replace(/^[\\u00a0 ]+/,\"\"),e.each(r,function(e){if(e.test(t))return n=!0,!1}),n}function l(e){return/^[\\s\\u00a0]*[\\u2022\\u00b7\\u00a7\\u25CF]\\s*/.test(e)}function c(c){var u=c.settings;c.on(\"BeforePastePreProcess\",function(d){function f(e){function t(e){var n=\"\";if(3===e.type)return e.value;if(e=e.firstChild)do n+=t(e);while(e=e.next);return n}function n(e,t){if(3===e.type&&t.test(e.value))return e.value=e.value.replace(t,\"\"),!1;if(e=e.firstChild)do if(!n(e,t))return!1;while(e=e.next);return!0}function r(e){if(e._listIgnore)return void e.remove();if(e=e.firstChild)do r(e);while(e=e.next)}function o(e,t,o){var s=e._listLevel||u;s!=u&&(s<u?a&&(a=a.parent.parent):(c=a,a=null)),a&&a.name==t?a.append(e):(c=c||a,a=new i(t,1),o>1&&a.attr(\"start\",\"\"+o),e.wrap(a)),e.name=\"li\",s>u&&c&&c.lastChild.append(a),u=s,r(e),n(e,/^\\u00a0+/),n(e,/^\\s*([\\u2022\\u00b7\\u00a7\\u25CF]|\\w+\\.)/),n(e,/^\\u00a0+/)}for(var a,c,u=1,d=[],f=e.firstChild;\"undefined\"!=typeof f&&null!==f;)if(d.push(f),f=f.walk(),null!==f)for(;\"undefined\"!=typeof f&&f.parent!==e;)f=f.walk();for(var p=0;p<d.length;p++)if(e=d[p],\"p\"==e.name&&e.firstChild){var m=t(e);if(l(m)){o(e,\"ul\");continue}if(s(m)){var g=/([0-9]+)\\./.exec(m),h=1;g&&(h=parseInt(g[1],10)),o(e,\"ol\",h);continue}if(e._listLevel){o(e,\"ul\",1);continue}a=null}else c=a,a=null}function p(t,n){var r,o={},a=c.dom.parseStyle(n);return e.each(a,function(e,i){switch(i){case\"mso-list\":r=/\\w+ \\w+([0-9]+)/i.exec(n),r&&(t._listLevel=parseInt(r[1],10)),/Ignore/i.test(e)&&t.firstChild&&(t._listIgnore=!0,t.firstChild._listIgnore=!0);break;case\"horiz-align\":i=\"text-align\";break;case\"vert-align\":i=\"vertical-align\";break;case\"font-color\":case\"mso-foreground\":i=\"color\";break;case\"mso-background\":case\"mso-highlight\":i=\"background\";break;case\"font-weight\":case\"font-style\":return void(\"normal\"!=e&&(o[i]=e));case\"mso-element\":if(/^(comment|comment-list)$/i.test(e))return void t.remove()}return 0===i.indexOf(\"mso-comment\")?void t.remove():void(0!==i.indexOf(\"mso-\")&&(\"all\"==m||g&&g[i])&&(o[i]=e))}),/(bold)/i.test(o[\"font-weight\"])&&(delete o[\"font-weight\"],t.wrap(new i(\"b\",1))),/(italic)/i.test(o[\"font-style\"])&&(delete o[\"font-style\"],t.wrap(new i(\"i\",1))),o=c.dom.serializeStyle(o,t.name),o?o:null}var m,g,h=d.content;if(h=h.replace(/<b[^>]+id=\"?docs-internal-[^>]*>/gi,\"\"),h=h.replace(/<br class=\"?Apple-interchange-newline\"?>/gi,\"\"),m=u.paste_retain_style_properties,m&&(g=e.makeMap(m.split(/[, ]/))),u.paste_enable_default_filters!==!1&&a(d.content)){d.wordContent=!0,h=o.filter(h,[/<!--[\\s\\S]+?-->/gi,/<(!|script[^>]*>.*?<\\/script(?=[>\\s])|\\/?(\\?xml(:\\w+)?|img|meta|link|style|\\w:\\w+)(?=[\\s\\/>]))[^>]*>/gi,[/<(\\/?)s>/gi,\"<$1strike>\"],[/&nbsp;/gi,\"\\xa0\"],[/<span\\s+style\\s*=\\s*\"\\s*mso-spacerun\\s*:\\s*yes\\s*;?\\s*\"\\s*>([\\s\\u00a0]*)<\\/span>/gi,function(e,t){return t.length>0?t.replace(/./,\" \").slice(Math.floor(t.length/2)).split(\"\").join(\"\\xa0\"):\"\"}]]);var v=u.paste_word_valid_elements;v||(v=\"-strong/b,-em/i,-u,-span,-p,-ol,-ul,-li,-h1,-h2,-h3,-h4,-h5,-h6,-p/div,-a[href|name],sub,sup,strike,br,del,table[width],tr,td[colspan|rowspan|width],th[colspan|rowspan|width],thead,tfoot,tbody\");var b=new n({valid_elements:v,valid_children:\"-li[p]\"});e.each(b.elements,function(e){e.attributes[\"class\"]||(e.attributes[\"class\"]={},e.attributesOrder.push(\"class\")),e.attributes.style||(e.attributes.style={},e.attributesOrder.push(\"style\"))});var y=new t({},b);y.addAttributeFilter(\"style\",function(e){for(var t,n=e.length;n--;)t=e[n],t.attr(\"style\",p(t,t.attr(\"style\"))),\"span\"==t.name&&t.parent&&!t.attributes.length&&t.unwrap()}),y.addAttributeFilter(\"class\",function(e){for(var t,n,r=e.length;r--;)t=e[r],n=t.attr(\"class\"),/^(MsoCommentReference|MsoCommentText|msoDel)$/i.test(n)&&t.remove(),t.attr(\"class\",null)}),y.addNodeFilter(\"del\",function(e){for(var t=e.length;t--;)e[t].remove()}),y.addNodeFilter(\"a\",function(e){for(var t,n,r,i=e.length;i--;)if(t=e[i],n=t.attr(\"href\"),r=t.attr(\"name\"),n&&n.indexOf(\"#_msocom_\")!=-1)t.remove();else if(n&&0===n.indexOf(\"file://\")&&(n=n.split(\"#\")[1],n&&(n=\"#\"+n)),n||r){if(r&&!/^_?(?:toc|edn|ftn)/i.test(r)){t.unwrap();continue}t.attr({href:n,name:r})}else t.unwrap()});var x=y.parse(h);u.paste_convert_word_fake_lists!==!1&&f(x),d.content=new r({validate:u.validate},b).serialize(x)}})}return c.isWordContent=a,c}),r(\"tinymce/pasteplugin/Quirks\",[\"tinymce/Env\",\"tinymce/util/Tools\",\"tinymce/pasteplugin/WordFilter\",\"tinymce/pasteplugin/Utils\"],function(e,t,n,r){return function(i){function o(e){i.on(\"BeforePastePreProcess\",function(t){t.content=e(t.content)})}function a(e){i.on(\"PastePostProcess\",function(t){e(t.node)})}function s(e){if(!n.isWordContent(e))return e;var o=[];t.each(i.schema.getBlockElements(),function(e,t){o.push(t)});var a=new RegExp(\"(?:<br>&nbsp;[\\\\s\\\\r\\\\n]+|<br>)*(<\\\\/?(\"+o.join(\"|\")+\")[^>]*>)(?:<br>&nbsp;[\\\\s\\\\r\\\\n]+|<br>)*\",\"g\");return e=r.filter(e,[[a,\"$1\"]]),e=r.filter(e,[[/<br><br>/g,\"<BR><BR>\"],[/<br>/g,\" \"],[/<BR><BR>/g,\"<br>\"]])}function l(e){if(n.isWordContent(e))return e;var t=i.settings.paste_webkit_styles;if(i.settings.paste_remove_styles_if_webkit===!1||\"all\"==t)return e;if(t&&(t=t.split(/[, ]/)),t){var r=i.dom,o=i.selection.getNode();e=e.replace(/(<[^>]+) style=\"([^\"]*)\"([^>]*>)/gi,function(e,n,i,a){var s=r.parseStyle(i,\"span\"),l={};if(\"none\"===t)return n+a;for(var c=0;c<t.length;c++){var u=s[t[c]],d=r.getStyle(o,t[c],!0);/color/.test(t[c])&&(u=r.toHex(u),d=r.toHex(d)),d!=u&&(l[t[c]]=u)}return l=r.serializeStyle(l,\"span\"),l?n+' style=\"'+l+'\"'+a:n+a})}else e=e.replace(/(<[^>]+) style=\"([^\"]*)\"([^>]*>)/gi,\"$1$3\");return e=e.replace(/(<[^>]+) data-mce-style=\"([^\"]+)\"([^>]*>)/gi,function(e,t,n,r){return t+' style=\"'+n+'\"'+r})}function c(e){i.$(\"a\",e).find(\"font,u\").each(function(e,t){i.dom.remove(t,!0)})}e.webkit&&o(l),e.ie&&(o(s),a(c))}}),r(\"tinymce/pasteplugin/Plugin\",[\"tinymce/PluginManager\",\"tinymce/pasteplugin/Clipboard\",\"tinymce/pasteplugin/WordFilter\",\"tinymce/pasteplugin/Quirks\"],function(e,t,n,r){var i;e.add(\"paste\",function(o){function a(){return i||o.settings.paste_plaintext_inform===!1}function s(){if(\"text\"==c.pasteFormat)c.pasteFormat=\"html\",o.fire(\"PastePlainTextToggle\",{state:!1});else if(c.pasteFormat=\"text\",o.fire(\"PastePlainTextToggle\",{state:!0}),!a()){var e=o.translate(\"Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.\");o.notificationManager.open({text:e,type:\"info\"}),i=!0}o.focus()}function l(){var e=this;e.active(\"text\"===c.pasteFormat),o.on(\"PastePlainTextToggle\",function(t){e.active(t.state)})}var c,u=this,d=o.settings;return/(^|[ ,])powerpaste([, ]|$)/.test(d.plugins)&&e.get(\"powerpaste\")?void(\"undefined\"!=typeof console&&console.log&&console.log(\"PowerPaste is incompatible with Paste plugin! Remove 'paste' from the 'plugins' option.\")):(u.clipboard=c=new t(o),u.quirks=new r(o),u.wordFilter=new n(o),o.settings.paste_as_text&&(u.clipboard.pasteFormat=\"text\"),d.paste_preprocess&&o.on(\"PastePreProcess\",function(e){d.paste_preprocess.call(u,u,e)}),d.paste_postprocess&&o.on(\"PastePostProcess\",function(e){d.paste_postprocess.call(u,u,e)}),o.addCommand(\"mceInsertClipboardContent\",function(e,t){t.content&&u.clipboard.pasteHtml(t.content),t.text&&u.clipboard.pasteText(t.text)}),o.settings.paste_block_drop&&o.on(\"dragend dragover draggesture dragdrop drop drag\",function(e){e.preventDefault(),e.stopPropagation()}),o.settings.paste_data_images||o.on(\"drop\",function(e){var t=e.dataTransfer;t&&t.files&&t.files.length>0&&e.preventDefault()}),o.addCommand(\"mceTogglePlainTextPaste\",s),o.addButton(\"pastetext\",{icon:\"pastetext\",tooltip:\"Paste as text\",onclick:s,onPostRender:l}),void o.addMenuItem(\"pastetext\",{text:\"Paste as text\",selectable:!0,active:c.pasteFormat,onclick:s,onPostRender:l}))})}),o([\"tinymce/pasteplugin/Utils\"])}(window);","!function(e,t){\"use strict\";function n(e,t){for(var n,r=[],a=0;a<e.length;++a){if(n=o[e[a]]||i(e[a]),!n)throw\"module definition dependecy not found: \"+e[a];r.push(n)}t.apply(null,r)}function r(e,r,i){if(\"string\"!=typeof e)throw\"invalid module definition, module id must be defined and be a string\";if(r===t)throw\"invalid module definition, dependencies must be specified\";if(i===t)throw\"invalid module definition, definition function must be specified\";n(r,function(){o[e]=i.apply(null,arguments)})}function i(t){for(var n=e,r=t.split(/[.\\/]/),i=0;i<r.length;++i){if(!n[r[i]])return;n=n[r[i]]}return n}var o={};r(\"tinymce/tableplugin/Utils\",[\"tinymce/Env\"],function(e){function t(t){(!e.ie||e.ie>9)&&(t.hasChildNodes()||(t.innerHTML='<br data-mce-bogus=\"1\" />'))}var n=function(e){return function(t,n){t&&(n=parseInt(n,10),1===n||0===n?t.removeAttribute(e,1):t.setAttribute(e,n,1))}},r=function(e){return function(t){return parseInt(t.getAttribute(e)||1,10)}};return{setColSpan:n(\"colSpan\"),setRowSpan:n(\"rowspan\"),getColSpan:r(\"colSpan\"),getRowSpan:r(\"rowSpan\"),setSpanVal:function(e,t,r){n(t)(e,r)},getSpanVal:function(e,t){return r(t)(e)},paddCell:t}}),r(\"tinymce/tableplugin/SplitCols\",[\"tinymce/util/Tools\",\"tinymce/tableplugin/Utils\"],function(e,t){var n=function(e,t,n){return e[n]?e[n][t]:null},r=function(e,t,r){var i=n(e,t,r);return i?i.elm:null},i=function(e,t,i,o){var a,s,l=0,c=r(e,t,i);for(a=i;(o>0?a<e.length:a>=0)&&(s=n(e,t,a),c===s.elm);a+=o)l++;return l},o=function(e,t,n){for(var r,i=e[n],o=t;o<i.length;o++)if(r=i[o],r.real)return r.elm;return null},a=function(e,n){for(var r,o=[],a=e[n],s=0;s<a.length;s++)r=a[s],o.push({elm:r.elm,above:i(e,s,n,-1)-1,below:i(e,s,n,1)-1}),s+=t.getColSpan(r.elm)-1;return o},s=function(e,n){var r=e.elm.ownerDocument,i=r.createElement(\"td\");return t.setColSpan(i,t.getColSpan(e.elm)),t.setRowSpan(i,n),t.paddCell(i),i},l=function(e,t,n,r){var i=o(e,n+1,r);i?i.parentNode.insertBefore(t,i):(i=o(e,0,r),i.parentNode.appendChild(t))},c=function(e,n,r,i){if(0!==n.above){t.setRowSpan(n.elm,n.above);var o=s(n,n.below+1);return l(e,o,r,i),o}return null},u=function(e,n,r,i){if(0!==n.below){t.setRowSpan(n.elm,n.above+1);var o=s(n,n.below);return l(e,o,r,i+1),o}return null},d=function(t,n,i,o){var s=a(t,i),l=r(t,n,i).parentNode,d=[];return e.each(s,function(e,n){var r=o?c(t,e,n,i):u(t,e,n,i);null!==r&&d.push(d)}),{cells:d,row:l}};return{splitAt:d}}),r(\"tinymce/tableplugin/TableGrid\",[\"tinymce/util/Tools\",\"tinymce/Env\",\"tinymce/tableplugin/Utils\",\"tinymce/tableplugin/SplitCols\"],function(e,n,r,i){var o=e.each,a=r.getSpanVal,s=r.setSpanVal;return function(l,c,u){function d(){l.$(\"td[data-mce-selected],th[data-mce-selected]\").removeAttr(\"data-mce-selected\")}function f(e){return e===l.getBody()}function p(t,n){return t?(n=e.map(n.split(\",\"),function(e){return e.toLowerCase()}),e.grep(t.childNodes,function(t){return e.inArray(n,t.nodeName.toLowerCase())!==-1})):[]}function m(){var e=0;Z=[],Q=0,o([\"thead\",\"tbody\",\"tfoot\"],function(t){var n=p(c,t)[0],r=p(n,\"tr\");o(r,function(n,r){r+=e,o(p(n,\"td,th\"),function(e,n){var i,o,s,l;if(Z[r])for(;Z[r][n];)n++;for(s=a(e,\"rowspan\"),l=a(e,\"colspan\"),o=r;o<r+s;o++)for(Z[o]||(Z[o]=[]),i=n;i<n+l;i++)Z[o][i]={part:t,real:o==r&&i==n,elm:e,rowspan:s,colspan:l};Q=Math.max(Q,n+1)})}),e+=r.length})}function g(e){return l.fire(\"newrow\",{node:e}),e}function h(e){return l.fire(\"newcell\",{node:e}),e}function v(e,t){return e=e.cloneNode(t),e.removeAttribute(\"id\"),e}function b(e,t){var n;if(n=Z[t])return n[e]}function y(e,t){return e[t]?e[t]:null}function x(e,t){for(var n=[],r=0;r<e.length;r++)n.push(b(t,r));return n}function C(e){return e&&(!!re.getAttrib(e.elm,\"data-mce-selected\")||e==u)}function w(){var e=[];return o(c.rows,function(t){o(t.cells,function(n){if(re.getAttrib(n,\"data-mce-selected\")||u&&n==u.elm)return e.push(t),!1})}),e}function N(){var e=0;return o(Z,function(t){if(o(t,function(t){C(t)&&e++}),e)return!1}),e}function k(){var e=re.createRng();f(c)||(e.setStartAfter(c),e.setEndAfter(c),ne.setRng(e),re.remove(c))}function S(t){var i,a={};return l.settings.table_clone_elements!==!1&&(a=e.makeMap((l.settings.table_clone_elements||\"strong em b i span font h1 h2 h3 h4 h5 h6 p div\").toUpperCase(),/[ ,]/)),e.walk(t,function(e){var r;if(3==e.nodeType)return o(re.getParents(e.parentNode,null,t).reverse(),function(e){a[e.nodeName]&&(e=v(e,!1),i?r&&r.appendChild(e):i=r=e,r=e)}),r&&(r.innerHTML=n.ie&&n.ie<10?\"&nbsp;\":'<br data-mce-bogus=\"1\" />'),!1},\"childNodes\"),t=v(t,!1),h(t),s(t,\"rowSpan\",1),s(t,\"colSpan\",1),i?t.appendChild(i):r.paddCell(t),t}function _(){var e,t=re.createRng();return o(re.select(\"tr\",c),function(e){0===e.cells.length&&re.remove(e)}),0===re.select(\"tr\",c).length?(t.setStartBefore(c),t.setEndBefore(c),ne.setRng(t),void re.remove(c)):(o(re.select(\"thead,tbody,tfoot\",c),function(e){0===e.rows.length&&re.remove(e)}),m(),void(ee&&(e=Z[Math.min(Z.length-1,ee.y)],e&&(ne.select(e[Math.min(e.length-1,ee.x)].elm,!0),ne.collapse(!0)))))}function E(e,t,n,r){var i,o,a,s,l;for(i=Z[t][e].elm.parentNode,a=1;a<=n;a++)if(i=re.getNext(i,\"tr\")){for(o=e;o>=0;o--)if(l=Z[t+a][o].elm,l.parentNode==i){for(s=1;s<=r;s++)re.insertAfter(S(l),l);break}if(o==-1)for(s=1;s<=r;s++)i.insertBefore(S(i.cells[0]),i.cells[0])}}function T(){o(Z,function(e,t){o(e,function(e,n){var r,i,o;if(C(e)&&(e=e.elm,r=a(e,\"colspan\"),i=a(e,\"rowspan\"),r>1||i>1)){for(s(e,\"rowSpan\",1),s(e,\"colSpan\",1),o=0;o<r-1;o++)re.insertAfter(S(e),e);E(n,t,i-1,r)}})})}function R(e,t,n){for(var r=[],i=0;i<e.length;i++)(i<t||i>n)&&r.push(e[i]);return r}function A(t){return e.grep(t,function(e){return e.real===!1})}function B(e){for(var t=[],n=0;n<e.length;n++){var r=e[n].elm;t[t.length-1]!==r&&t.push(r)}return t}function P(t,n,i,o,a){var s=0;if(a-i<1)return 0;for(var l=i+1;l<=a;l++){var c=R(y(t,l),n,o),u=A(c);c.length===u.length&&(e.each(B(u),function(e){r.setRowSpan(e,r.getRowSpan(e)-1)}),s++)}return s}function D(t,n,i,o,a){var s=0;if(o-n<1)return 0;for(var l=n+1;l<=o;l++){var c=R(x(t,l),i,a),u=A(c);c.length===u.length&&(e.each(B(u),function(e){r.setColSpan(e,r.getColSpan(e)-1)}),s++)}return s}function M(t,n,r){var i,a,l,c,u,d,f,p,g,h,v,y,x;if(t?(i=q(t),a=i.x,l=i.y,c=a+(n-1),u=l+(r-1)):(ee=te=null,o(Z,function(e,t){o(e,function(e,n){C(e)&&(ee||(ee={x:n,y:t}),te={x:n,y:t})})}),ee&&(a=ee.x,l=ee.y,c=te.x,u=te.y)),p=b(a,l),g=b(c,u),p&&g&&p.part==g.part){T(),m(),y=P(Z,a,l,c,u),x=D(Z,a,l,c,u),p=b(a,l).elm;var w=c-a-x+1,N=u-l-y+1;for(w===Q&&N===Z.length&&(w=1,N=1),w===Q&&N>1&&(N=1),s(p,\"colSpan\",w),s(p,\"rowSpan\",N),f=l;f<=u;f++)for(d=a;d<=c;d++)Z[f]&&Z[f][d]&&(t=Z[f][d].elm,t!=p&&(h=e.grep(t.childNodes),o(h,function(e){p.appendChild(e)}),h.length&&(h=e.grep(p.childNodes),v=0,o(h,function(e){\"BR\"==e.nodeName&&v++<h.length-1&&p.removeChild(e)})),re.remove(t)));_()}}function L(e){var n,r,i,l,c,u,d,f,p,m;if(o(Z,function(r,i){if(o(r,function(t){if(C(t)&&(t=t.elm,c=t.parentNode,u=g(v(c,!1)),n=i,e))return!1}),e)return n===t}),n!==t){for(l=0,m=0;l<Z[0].length;l+=m)if(Z[n][l]&&(r=Z[n][l].elm,m=a(r,\"colspan\"),r!=i)){if(e){if(n>0&&Z[n-1][l]&&(f=Z[n-1][l].elm,p=a(f,\"rowSpan\"),p>1)){s(f,\"rowSpan\",p+1);continue}}else if(p=a(r,\"rowspan\"),p>1){s(r,\"rowSpan\",p+1);continue}d=S(r),s(d,\"colSpan\",r.colSpan),u.appendChild(d),i=r}u.hasChildNodes()&&(e?c.parentNode.insertBefore(u,c):re.insertAfter(u,c))}}function I(e,t){t=t||w().length||1;for(var n=0;n<t;n++)L(e)}function O(e){var n,r;o(Z,function(r){if(o(r,function(t,r){if(C(t)&&(n=r,e))return!1}),e)return n===t}),o(Z,function(t,i){var o,l,c;t[n]&&(o=t[n].elm,o!=r&&(c=a(o,\"colspan\"),l=a(o,\"rowspan\"),1==c?e?(o.parentNode.insertBefore(S(o),o),E(n,i,l-1,c)):(re.insertAfter(S(o),o),E(n,i,l-1,c)):s(o,\"colSpan\",o.colSpan+1),r=o))})}function H(e,t){t=t||N()||1;for(var n=0;n<t;n++)O(e)}function F(t){return e.grep(z(t),C)}function z(e){var t=[];return o(e,function(e){o(e,function(e){t.push(e)})}),t}function W(){var t=[];if(f(c)){if(1==Z[0].length)return;if(F(Z).length==z(Z).length)return}o(Z,function(n){o(n,function(n,r){C(n)&&e.inArray(t,r)===-1&&(o(Z,function(e){var t,n=e[r].elm;t=a(n,\"colSpan\"),t>1?s(n,\"colSpan\",t-1):re.remove(n)}),t.push(r))})}),_()}function U(){function e(e){var t,n;o(e.cells,function(e){var n=a(e,\"rowSpan\");n>1&&(s(e,\"rowSpan\",n-1),t=q(e),E(t.x,t.y,1,1))}),t=q(e.cells[0]),o(Z[t.y],function(e){var t;e=e.elm,e!=n&&(t=a(e,\"rowSpan\"),t<=1?re.remove(e):s(e,\"rowSpan\",t-1),n=e)})}var t;t=w(),f(c)&&t.length==c.rows.length||(o(t.reverse(),function(t){e(t)}),_())}function V(){var e=w();if(!f(c)||e.length!=c.rows.length)return re.remove(e),_(),e}function $(){var e=w();return o(e,function(t,n){e[n]=v(t,!0)}),e}function j(t,n){var r,a,l;t&&(r=i.splitAt(Z,ee.x,ee.y,n),a=r.row,e.each(r.cells,h),l=e.map(t,function(e){return e.cloneNode(!0)}),n||l.reverse(),o(l,function(e){var t,r,i=e.cells.length;for(g(e),t=0;t<i;t++)r=e.cells[t],h(r),s(r,\"colSpan\",1),s(r,\"rowSpan\",1);for(t=i;t<Q;t++)e.appendChild(h(S(e.cells[i-1])));for(t=Q;t<i;t++)re.remove(e.cells[t]);n?a.parentNode.insertBefore(e,a):re.insertAfter(e,a)}),d())}function q(e){var t;return o(Z,function(n,r){return o(n,function(n,i){if(n.elm==e)return t={x:i,y:r},!1}),!t}),t}function Y(e){ee=q(e)}function X(){var e,t;return e=t=0,o(Z,function(n,r){o(n,function(n,i){var o,a;C(n)&&(n=Z[r][i],i>e&&(e=i),r>t&&(t=r),n.real&&(o=n.colspan-1,a=n.rowspan-1,o&&i+o>e&&(e=i+o),a&&r+a>t&&(t=r+a)))})}),{x:e,y:t}}function K(e){var t,n,r,i,o,a,s,l,c,u;if(te=q(e),ee&&te){for(t=Math.min(ee.x,te.x),n=Math.min(ee.y,te.y),r=Math.max(ee.x,te.x),i=Math.max(ee.y,te.y),o=r,a=i,u=n;u<=i;u++)for(c=t;c<=r;c++)e=Z[u][c],e.real&&(s=e.colspan-1,l=e.rowspan-1,s&&c+s>o&&(o=c+s),l&&u+l>a&&(a=u+l));for(d(),u=n;u<=a;u++)for(c=t;c<=o;c++)Z[u][c]&&re.setAttrib(Z[u][c].elm,\"data-mce-selected\",\"1\")}}function G(e,t){var n,r,i;n=q(e),r=n.y*Q+n.x;do{if(r+=t,i=b(r%Q,Math.floor(r/Q)),!i)break;if(i.elm!=e)return ne.select(i.elm,!0),re.isEmpty(i.elm)&&ne.collapse(!0),!0}while(i.elm==e);return!1}function J(t){if(ee){var n=i.splitAt(Z,ee.x,ee.y,t);e.each(n.cells,h)}}var Z,Q,ee,te,ne=l.selection,re=ne.dom;c=c||re.getParent(ne.getStart(!0),\"table\"),m(),u=u||re.getParent(ne.getStart(!0),\"th,td\"),u&&(ee=q(u),te=X(),u=b(ee.x,ee.y)),e.extend(this,{deleteTable:k,split:T,merge:M,insertRow:L,insertRows:I,insertCol:O,insertCols:H,splitCols:J,deleteCols:W,deleteRows:U,cutRows:V,copyRows:$,pasteRows:j,getPos:q,setStartCell:Y,setEndCell:K,moveRelIdx:G,refresh:m})}}),r(\"tinymce/tableplugin/Quirks\",[\"tinymce/util/VK\",\"tinymce/util/Delay\",\"tinymce/Env\",\"tinymce/util/Tools\",\"tinymce/tableplugin/Utils\"],function(e,t,n,r,i){var o=r.each,a=i.getSpanVal;return function(s){function l(){function n(n){function r(e,t){var r=e?\"previousSibling\":\"nextSibling\",o=s.dom.getParent(t,\"tr\"),a=o[r];if(a)return v(s,t,a,e),n.preventDefault(),!0;var l=s.dom.getParent(o,\"table\"),d=o.parentNode,f=d.nodeName.toLowerCase();if(\"tbody\"===f||f===(e?\"tfoot\":\"thead\")){var p=i(e,l,d,\"tbody\");if(null!==p)return c(e,p,t)}return u(e,o,r,l)}function i(e,t,n,r){var i=s.dom.select(\">\"+r,t),o=i.indexOf(n);if(e&&0===o||!e&&o===i.length-1)return l(e,t);if(o===-1){var a=\"thead\"===n.tagName.toLowerCase()?0:i.length-1;return i[a]}return i[o+(e?-1:1)]}function l(e,t){var n=e?\"thead\":\"tfoot\",r=s.dom.select(\">\"+n,t);return 0!==r.length?r[0]:null}function c(e,t,r){var i=d(t,e);return i&&v(s,r,i,e),n.preventDefault(),!0}function u(e,t,i,o){var a=o[i];if(a)return f(a),!0;var l=s.dom.getParent(o,\"td,th\");if(l)return r(e,l,n);var c=d(t,!e);return f(c),n.preventDefault(),!1}function d(e,t){var n=e&&e[t?\"lastChild\":\"firstChild\"];return n&&\"BR\"===n.nodeName?s.dom.getParent(n,\"td,th\"):n}function f(e){s.selection.setCursorLocation(e,0)}function p(){return x==e.UP||x==e.DOWN}function m(e){var t=e.selection.getNode(),n=e.dom.getParent(t,\"tr\");return null!==n}function g(e){for(var t=0,n=e;n.previousSibling;)n=n.previousSibling,t+=a(n,\"colspan\");return t}function h(e,t){var n=0,r=0;return o(e.children,function(e,i){if(n+=a(e,\"colspan\"),r=i,n>t)return!1}),r}function v(e,t,n,r){var i=g(s.dom.getParent(t,\"td,th\")),o=h(n,i),a=n.childNodes[o],l=d(a,r);f(l||a)}function b(e){var t=s.selection.getNode(),n=s.dom.getParent(t,\"td,th\"),r=s.dom.getParent(e,\"td,th\");return n&&n!==r&&y(n,r)}function y(e,t){return s.dom.getParent(e,\"TABLE\")===s.dom.getParent(t,\"TABLE\")}var x=n.keyCode;if(p()&&m(s)){var C=s.selection.getNode();t.setEditorTimeout(s,function(){b(C)&&r(!n.shiftKey&&x===e.UP,C,n)},0)}}s.on(\"KeyDown\",function(e){n(e)})}function c(){function e(e,t){var n,r=t.ownerDocument,i=r.createRange();return i.setStartBefore(t),i.setEnd(e.endContainer,e.endOffset),n=r.createElement(\"body\"),n.appendChild(i.cloneContents()),0===n.innerHTML.replace(/<(br|img|object|embed|input|textarea)[^>]*>/gi,\"-\").replace(/<[^>]+>/g,\"\").length}s.on(\"KeyDown\",function(t){var n,r,i=s.dom;37!=t.keyCode&&38!=t.keyCode||(n=s.selection.getRng(),r=i.getParent(n.startContainer,\"table\"),r&&s.getBody().firstChild==r&&e(n,r)&&(n=i.createRng(),n.setStartBefore(r),n.setEndBefore(r),s.selection.setRng(n),t.preventDefault()))})}function u(){s.on(\"KeyDown SetContent VisualAid\",function(){var e;for(e=s.getBody().lastChild;e;e=e.previousSibling)if(3==e.nodeType){if(e.nodeValue.length>0)break}else if(1==e.nodeType&&(\"BR\"==e.tagName||!e.getAttribute(\"data-mce-bogus\")))break;e&&\"TABLE\"==e.nodeName&&(s.settings.forced_root_block?s.dom.add(s.getBody(),s.settings.forced_root_block,s.settings.forced_root_block_attrs,n.ie&&n.ie<10?\"&nbsp;\":'<br data-mce-bogus=\"1\" />'):s.dom.add(s.getBody(),\"br\",{\"data-mce-bogus\":\"1\"}))}),s.on(\"PreProcess\",function(e){var t=e.node.lastChild;t&&(\"BR\"==t.nodeName||1==t.childNodes.length&&(\"BR\"==t.firstChild.nodeName||\"\\xa0\"==t.firstChild.nodeValue))&&t.previousSibling&&\"TABLE\"==t.previousSibling.nodeName&&s.dom.remove(t)})}function d(){function e(e,t,n,r){var i,o,a,s=3,l=e.dom.getParent(t.startContainer,\"TABLE\");return l&&(i=l.parentNode),o=t.startContainer.nodeType==s&&0===t.startOffset&&0===t.endOffset&&r&&(\"TR\"==n.nodeName||n==i),a=(\"TD\"==n.nodeName||\"TH\"==n.nodeName)&&!r,o||a}function t(){var t=s.selection.getRng(),n=s.selection.getNode(),r=s.dom.getParent(t.startContainer,\"TD,TH\");if(e(s,t,n,r)){r||(r=n);for(var i=r.lastChild;i.lastChild;)i=i.lastChild;3==i.nodeType&&(t.setEnd(i,i.data.length),s.selection.setRng(t))}}s.on(\"KeyDown\",function(){t()}),s.on(\"MouseDown\",function(e){2!=e.button&&t()})}function f(){function t(e){s.selection.select(e,!0),s.selection.collapse(!0)}function n(e){s.$(e).empty(),i.paddCell(e)}s.on(\"keydown\",function(i){if((i.keyCode==e.DELETE||i.keyCode==e.BACKSPACE)&&!i.isDefaultPrevented()){var o,a,l,c;if(o=s.dom.getParent(s.selection.getStart(),\"table\")){if(a=s.dom.select(\"td,th\",o),l=r.grep(a,function(e){return!!s.dom.getAttrib(e,\"data-mce-selected\")}),0===l.length)return c=s.dom.getParent(s.selection.getStart(),\"td,th\"),void(s.selection.isCollapsed()&&c&&s.dom.isEmpty(c)&&(i.preventDefault(),n(c),t(c)));i.preventDefault(),s.undoManager.transact(function(){a.length==l.length?s.execCommand(\"mceTableDelete\"):(r.each(l,n),t(l[0]))})}}})}function p(){var t=function(e){return e&&\"CAPTION\"==e.nodeName&&\"TABLE\"==e.parentNode.nodeName},r=function(e,t){var n=s.selection.getRng(),r=e.ownerDocument.createTextNode(\"\\xa0\");n.startOffset?e.insertBefore(r,e.firstChild):e.appendChild(r),t&&(s.selection.select(r,!0),s.selection.collapse(!0))},i=function(t){return(t.keyCode==e.DELETE||t.keyCode==e.BACKSPACE)&&!t.isDefaultPrevented()},o=function(e){return e.firstChild===e.lastChild&&e.firstChild},a=function(e){return e&&3===e.nodeType},l=function(e){var t=o(e);return a(t)&&1===t.data.length?t.data:null},c=function(e){var t=o(e),n=l(e);return t&&!a(t)||n&&!d(n)},u=function(e){return s.dom.isEmpty(e)||d(l(e))},d=function(e){return\"\\xa0\"===e};s.on(\"keydown\",function(e){if(i(e)){var o=s.dom.getParent(s.selection.getStart(),\"caption\");t(o)&&(n.ie&&(s.selection.isCollapsed()?c(o)&&r(o):(s.undoManager.transact(function(){s.execCommand(\"Delete\"),u(o)&&r(o,!0)}),e.preventDefault())),u(o)&&e.preventDefault())}})}f(),p(),n.webkit&&(l(),d()),n.gecko&&(c(),u()),n.ie>9&&(c(),u())}}),r(\"tinymce/tableplugin/CellSelection\",[\"tinymce/tableplugin/TableGrid\",\"tinymce/dom/TreeWalker\",\"tinymce/util/Tools\"],function(e,t,n){return function(r,i){function o(e){r.getBody().style.webkitUserSelect=\"\",(e||g)&&(r.$(\"td[data-mce-selected],th[data-mce-selected]\").removeAttr(\"data-mce-selected\"),g=!1)}function a(e,t){return!(!e||!t)&&e===m.getParent(t,\"table\")}function s(t){var n,o,s=t.target;if(!f&&!p&&s!==d&&(d=s,u&&c)){if(o=m.getParent(s,\"td,th\"),a(u,o)||(o=m.getParent(u,\"td,th\")),c===o&&!g)return;if(i(!0),a(u,o)){t.preventDefault(),l||(l=new e(r,u,c),r.getBody().style.webkitUserSelect=\"none\"),l.setEndCell(o),g=!0,n=r.selection.getSel();try{n.removeAllRanges?n.removeAllRanges():n.empty()}catch(e){}}}}var l,c,u,d,f,p,m=r.dom,g=!0,h=function(){c=l=u=d=null,i(!1)};return r.on(\"SelectionChange\",function(e){g&&e.stopImmediatePropagation()},!0),r.on(\"MouseDown\",function(e){2==e.button||f||p||(o(),c=m.getParent(e.target,\"td,th\"),u=m.getParent(c,\"table\"))}),r.on(\"mouseover\",s),r.on(\"remove\",function(){m.unbind(r.getDoc(),\"mouseover\",s),o()}),r.on(\"MouseUp\",function(){function e(e,r){var o=new t(e,e);do{if(3==e.nodeType&&0!==n.trim(e.nodeValue).length)return void(r?i.setStart(e,0):i.setEnd(e,e.nodeValue.length));if(\"BR\"==e.nodeName)return void(r?i.setStartBefore(e):i.setEndBefore(e))}while(e=r?o.next():o.prev())}var i,o,a,s,u,d=r.selection;if(c){if(l&&(r.getBody().style.webkitUserSelect=\"\"),o=m.select(\"td[data-mce-selected],th[data-mce-selected]\"),o.length>0){i=m.createRng(),s=o[0],i.setStartBefore(s),i.setEndAfter(s),e(s,1),a=new t(s,m.getParent(o[0],\"table\"));do if(\"TD\"==s.nodeName||\"TH\"==s.nodeName){if(!m.getAttrib(s,\"data-mce-selected\"))break;u=s}while(s=a.next());e(u),d.setRng(i)}r.nodeChanged(),h()}}),r.on(\"KeyUp Drop SetContent\",function(e){o(\"setcontent\"==e.type),h(),f=!1}),r.on(\"ObjectResizeStart ObjectResized\",function(e){f=\"objectresized\"!=e.type}),r.on(\"dragstart\",function(){p=!0}),r.on(\"drop dragend\",function(){p=!1}),{clear:o}}}),r(\"tinymce/tableplugin/Dialogs\",[\"tinymce/util/Tools\",\"tinymce/Env\"],function(e,t){var n=e.each;return function(r){function i(){var e=r.settings.color_picker_callback;if(e)return function(){var t=this;e.call(r,function(e){t.value(e).fire(\"change\")},t.value())}}function o(e){return{title:\"Advanced\",type:\"form\",defaults:{onchange:function(){d(e,this.parents().reverse()[0],\"style\"==this.name())}},items:[{label:\"Style\",name:\"style\",type:\"textbox\"},{type:\"form\",padding:0,formItemDefaults:{layout:\"grid\",alignH:[\"start\",\"right\"]},defaults:{size:7},items:[{label:\"Border color\",type:\"colorbox\",name:\"borderColor\",onaction:i()},{label:\"Background color\",type:\"colorbox\",name:\"backgroundColor\",onaction:i()}]}]}}function a(e){return e?e.replace(/px$/,\"\"):\"\"}function s(e){return/^[0-9]+$/.test(e)&&(e+=\"px\"),e}function l(e){n(\"left center right\".split(\" \"),function(t){r.formatter.remove(\"align\"+t,{},e)})}function c(e){n(\"top middle bottom\".split(\" \"),function(t){r.formatter.remove(\"valign\"+t,{},e)})}function u(t,n,r){function i(t,r){return r=r||[],e.each(t,function(e){var t={text:e.text||e.title};e.menu?t.menu=i(e.menu):(t.value=e.value,n&&n(t)),r.push(t)}),r}return i(t,r||[])}function d(e,t,n){var r=t.toJSON(),i=e.parseStyle(r.style);n?(t.find(\"#borderColor\").value(i[\"border-color\"]||\"\")[0].fire(\"change\"),t.find(\"#backgroundColor\").value(i[\"background-color\"]||\"\")[0].fire(\"change\")):(i[\"border-color\"]=r.borderColor,i[\"background-color\"]=r.backgroundColor),t.find(\"#style\").value(e.serializeStyle(e.parseStyle(e.serializeStyle(i))))}function f(e,t,n){var r=e.parseStyle(e.getAttrib(n,\"style\"));r[\"border-color\"]&&(t.borderColor=r[\"border-color\"]),r[\"background-color\"]&&(t.backgroundColor=r[\"background-color\"]),t.style=e.serializeStyle(r)}function p(e,t,r){var i=e.parseStyle(e.getAttrib(t,\"style\"));n(r,function(e){i[e.name]=e.value}),e.setAttrib(t,\"style\",e.serializeStyle(e.parseStyle(e.serializeStyle(i))))}var m=this;m.tableProps=function(){m.table(!0)},m.table=function(i){function c(){function n(e,t,r){if(\"TD\"===e.tagName||\"TH\"===e.tagName)C.setStyle(e,t,r);else if(e.children)for(var i=0;i<e.children.length;i++)n(e.children[i],t,r)}var i;d(C,this),w=e.extend(w,this.toJSON()),w[\"class\"]===!1&&delete w[\"class\"],r.undoManager.transact(function(){if(g||(g=r.plugins.table.insertTable(w.cols||1,w.rows||1)),r.dom.setAttribs(g,{style:w.style,\"class\":w[\"class\"]}),r.settings.table_style_by_css){if(x=[],x.push({name:\"border\",value:w.border}),x.push({name:\"border-spacing\",value:s(w.cellspacing)}),p(C,g,x),C.setAttribs(g,{\"data-mce-border-color\":w.borderColor,\"data-mce-cell-padding\":w.cellpadding,\"data-mce-border\":w.border}),g.children)for(var e=0;e<g.children.length;e++)n(g.children[e],\"border\",w.border),n(g.children[e],\"padding\",s(w.cellpadding))}else r.dom.setAttribs(g,{border:w.border,cellpadding:w.cellpadding,cellspacing:w.cellspacing});C.getAttrib(g,\"width\")&&!r.settings.table_style_by_css?C.setAttrib(g,\"width\",a(w.width)):C.setStyle(g,\"width\",s(w.width)),C.setStyle(g,\"height\",s(w.height)),i=C.select(\"caption\",g)[0],i&&!w.caption&&C.remove(i),!i&&w.caption&&(i=C.create(\"caption\"),i.innerHTML=t.ie?\"\\xa0\":'<br data-mce-bogus=\"1\"/>',g.insertBefore(i,g.firstChild)),l(g),w.align&&r.formatter.apply(\"align\"+w.align,{},g),r.focus(),r.addVisual()})}function m(e,t){function n(e,n){for(var r=0;r<n.length;r++){var i=C.getStyle(n[r],t);if(\"undefined\"==typeof e&&(e=i),e!=i)return\"\"}return e}var i,o=r.dom.select(\"td,th\",e);return i=n(i,o)}var g,h,v,b,y,x,C=r.dom,w={};i===!0?(g=C.getParent(r.selection.getStart(),\"table\"),g&&(w={width:a(C.getStyle(g,\"width\")||C.getAttrib(g,\"width\")),height:a(C.getStyle(g,\"height\")||C.getAttrib(g,\"height\")),cellspacing:a(C.getStyle(g,\"border-spacing\")||C.getAttrib(g,\"cellspacing\")),cellpadding:C.getAttrib(g,\"data-mce-cell-padding\")||C.getAttrib(g,\"cellpadding\")||m(g,\"padding\"),border:C.getAttrib(g,\"data-mce-border\")||C.getAttrib(g,\"border\")||m(g,\"border\"),borderColor:C.getAttrib(g,\"data-mce-border-color\"),caption:!!C.select(\"caption\",g)[0],\"class\":C.getAttrib(g,\"class\")},n(\"left center right\".split(\" \"),function(e){r.formatter.matchNode(g,\"align\"+e)&&(w.align=e)}))):(h={label:\"Cols\",name:\"cols\"},v={label:\"Rows\",name:\"rows\"}),r.settings.table_class_list&&(w[\"class\"]&&(w[\"class\"]=w[\"class\"].replace(/\\s*mce\\-item\\-table\\s*/g,\"\")),b={name:\"class\",type:\"listbox\",label:\"Class\",values:u(r.settings.table_class_list,function(e){e.value&&(e.textStyle=function(){return r.formatter.getCssText({block:\"table\",classes:[e.value]})})})}),y={type:\"form\",layout:\"flex\",direction:\"column\",labelGapCalc:\"children\",padding:0,items:[{type:\"form\",labelGapCalc:!1,padding:0,layout:\"grid\",columns:2,defaults:{type:\"textbox\",maxWidth:50},items:r.settings.table_appearance_options!==!1?[h,v,{label:\"Width\",name:\"width\"},{label:\"Height\",name:\"height\"},{label:\"Cell spacing\",name:\"cellspacing\"},{label:\"Cell padding\",name:\"cellpadding\"},{label:\"Border\",name:\"border\"},{label:\"Caption\",name:\"caption\",type:\"checkbox\"}]:[h,v,{label:\"Width\",name:\"width\"},{label:\"Height\",name:\"height\"}]},{label:\"Alignment\",name:\"align\",type:\"listbox\",text:\"None\",values:[{text:\"None\",value:\"\"},{text:\"Left\",value:\"left\"},{text:\"Center\",value:\"center\"},{text:\"Right\",value:\"right\"}]},b]},r.settings.table_advtab!==!1?(f(C,w,g),r.windowManager.open({title:\"Table properties\",data:w,bodyType:\"tabpanel\",body:[{title:\"General\",type:\"form\",items:y},o(C)],onsubmit:c})):r.windowManager.open({title:\"Table properties\",data:w,body:y,onsubmit:c})},m.merge=function(e,t){r.windowManager.open({title:\"Merge cells\",body:[{label:\"Cols\",name:\"cols\",type:\"textbox\",value:\"1\",size:10},{label:\"Rows\",name:\"rows\",type:\"textbox\",value:\"1\",size:10}],onsubmit:function(){var n=this.toJSON();r.undoManager.transact(function(){e.merge(t,n.cols,n.rows)})}})},m.cell=function(){function t(e,t,n){(1===b.length||n)&&v.setAttrib(e,t,n)}function i(e,t,n){(1===b.length||n)&&v.setStyle(e,t,n)}function p(){d(v,this),g=e.extend(g,this.toJSON()),r.undoManager.transact(function(){n(b,function(e){t(e,\"scope\",g.scope),t(e,\"style\",g.style),t(e,\"class\",g[\"class\"]),i(e,\"width\",s(g.width)),i(e,\"height\",s(g.height)),g.type&&e.nodeName.toLowerCase()!==g.type&&(e=v.rename(e,g.type)),1===b.length&&(l(e),c(e)),g.align&&r.formatter.apply(\"align\"+g.align,{},e),g.valign&&r.formatter.apply(\"valign\"+g.valign,{},e)}),r.focus()})}var m,g,h,v=r.dom,b=[];if(b=r.dom.select(\"td[data-mce-selected],th[data-mce-selected]\"),m=r.dom.getParent(r.selection.getStart(),\"td,th\"),!b.length&&m&&b.push(m),m=m||b[0]){b.length>1?g={width:\"\",height:\"\",scope:\"\",\"class\":\"\",align:\"\",style:\"\",type:m.nodeName.toLowerCase()}:(g={width:a(v.getStyle(m,\"width\")||v.getAttrib(m,\"width\")),height:a(v.getStyle(m,\"height\")||v.getAttrib(m,\"height\")),scope:v.getAttrib(m,\"scope\"),\"class\":v.getAttrib(m,\"class\")},g.type=m.nodeName.toLowerCase(),n(\"left center right\".split(\" \"),function(e){r.formatter.matchNode(m,\"align\"+e)&&(g.align=e)}),n(\"top middle bottom\".split(\" \"),function(e){r.formatter.matchNode(m,\"valign\"+e)&&(g.valign=e)}),f(v,g,m)),r.settings.table_cell_class_list&&(h={name:\"class\",type:\"listbox\",label:\"Class\",values:u(r.settings.table_cell_class_list,function(e){e.value&&(e.textStyle=function(){return r.formatter.getCssText({block:\"td\",classes:[e.value]})})})});var y={type:\"form\",layout:\"flex\",direction:\"column\",labelGapCalc:\"children\",padding:0,items:[{type:\"form\",layout:\"grid\",columns:2,labelGapCalc:!1,padding:0,defaults:{type:\"textbox\",maxWidth:50},items:[{label:\"Width\",name:\"width\"},{label:\"Height\",name:\"height\"},{label:\"Cell type\",name:\"type\",type:\"listbox\",text:\"None\",minWidth:90,maxWidth:null,values:[{text:\"Cell\",value:\"td\"},{text:\"Header cell\",value:\"th\"}]},{label:\"Scope\",name:\"scope\",type:\"listbox\",text:\"None\",minWidth:90,maxWidth:null,values:[{text:\"None\",value:\"\"},{text:\"Row\",value:\"row\"},{text:\"Column\",value:\"col\"},{text:\"Row group\",value:\"rowgroup\"},{text:\"Column group\",value:\"colgroup\"}]},{label:\"H Align\",name:\"align\",type:\"listbox\",text:\"None\",minWidth:90,maxWidth:null,values:[{text:\"None\",value:\"\"},{text:\"Left\",value:\"left\"},{text:\"Center\",value:\"center\"},{text:\"Right\",value:\"right\"}]},{label:\"V Align\",name:\"valign\",type:\"listbox\",text:\"None\",minWidth:90,maxWidth:null,values:[{text:\"None\",value:\"\"},{text:\"Top\",value:\"top\"},{text:\"Middle\",value:\"middle\"},{text:\"Bottom\",value:\"bottom\"}]}]},h]};r.settings.table_cell_advtab!==!1?r.windowManager.open({title:\"Cell properties\",bodyType:\"tabpanel\",data:g,body:[{title:\"General\",type:\"form\",items:y},o(v)],onsubmit:p}):r.windowManager.open({title:\"Cell properties\",data:g,body:y,onsubmit:p})}},m.row=function(){function t(e,t,n){(1===x.length||n)&&y.setAttrib(e,t,n)}function i(e,t,n){(1===x.length||n)&&y.setStyle(e,t,n)}function c(){var o,a,c;d(y,this),v=e.extend(v,this.toJSON()),r.undoManager.transact(function(){var e=v.type;n(x,function(n){t(n,\"scope\",v.scope),t(n,\"style\",v.style),t(n,\"class\",v[\"class\"]),i(n,\"height\",s(v.height)),e!==n.parentNode.nodeName.toLowerCase()&&(o=y.getParent(n,\"table\"),a=n.parentNode,c=y.select(e,o)[0],c||(c=y.create(e),o.firstChild?o.insertBefore(c,o.firstChild):o.appendChild(c)),c.appendChild(n),a.hasChildNodes()||y.remove(a)),1===x.length&&l(n),v.align&&r.formatter.apply(\"align\"+v.align,{},n)}),r.focus()})}var p,m,g,h,v,b,y=r.dom,x=[];p=r.dom.getParent(r.selection.getStart(),\"table\"),m=r.dom.getParent(r.selection.getStart(),\"td,th\"),n(p.rows,function(e){n(e.cells,function(t){if(y.getAttrib(t,\"data-mce-selected\")||t==m)return x.push(e),!1})}),g=x[0],g&&(x.length>1?v={height:\"\",scope:\"\",\"class\":\"\",align:\"\",type:g.parentNode.nodeName.toLowerCase()}:(v={height:a(y.getStyle(g,\"height\")||y.getAttrib(g,\"height\")),scope:y.getAttrib(g,\"scope\"),\"class\":y.getAttrib(g,\"class\")},v.type=g.parentNode.nodeName.toLowerCase(),n(\"left center right\".split(\" \"),function(e){r.formatter.matchNode(g,\"align\"+e)&&(v.align=e)}),f(y,v,g)),r.settings.table_row_class_list&&(h={name:\"class\",type:\"listbox\",label:\"Class\",values:u(r.settings.table_row_class_list,function(e){e.value&&(e.textStyle=function(){return r.formatter.getCssText({block:\"tr\",classes:[e.value]})})})}),b={type:\"form\",columns:2,padding:0,defaults:{type:\"textbox\"},items:[{type:\"listbox\",name:\"type\",label:\"Row type\",text:\"Header\",maxWidth:null,values:[{text:\"Header\",value:\"thead\"},{text:\"Body\",value:\"tbody\"},{text:\"Footer\",value:\"tfoot\"}]},{type:\"listbox\",name:\"align\",label:\"Alignment\",text:\"None\",maxWidth:null,values:[{text:\"None\",value:\"\"},{text:\"Left\",value:\"left\"},{text:\"Center\",value:\"center\"},{text:\"Right\",value:\"right\"}]},{label:\"Height\",name:\"height\"},h]},r.settings.table_row_advtab!==!1?r.windowManager.open({title:\"Row properties\",data:v,bodyType:\"tabpanel\",body:[{title:\"General\",type:\"form\",items:b},o(y)],onsubmit:c}):r.windowManager.open({title:\"Row properties\",data:v,body:b,onsubmit:c}))}}}),r(\"tinymce/tableplugin/ResizeBars\",[\"tinymce/util/Tools\",\"tinymce/util/VK\"],function(e,n){var r;return function(i){function o(e,t){return{index:e,y:i.dom.getPos(t).y}}function a(e,t){return{index:e,y:i.dom.getPos(t).y+t.offsetHeight}}function s(e,t){return{index:e,x:i.dom.getPos(t).x}}function l(e,t){return{index:e,x:i.dom.getPos(t).x+t.offsetWidth}}function c(){var e=i.getBody().dir;return\"rtl\"===e}function u(){return i.inline}function d(){return u?i.getBody().ownerDocument.body:i.getBody()}function f(e,t){return c()?l(e,t):s(e,t)}function p(e,t){return c()?s(e,t):l(e,t)}function m(e,t){return g(e,\"width\")/g(t,\"width\")*100}function g(e,t){var n=i.dom.getStyle(e,t,!0),r=parseInt(n,10);return r}function h(e){var t=g(e,\"width\"),n=g(e.parentElement,\"width\");return t/n*100}function v(e,t){var n=g(e,\"width\");return t/n*100}function b(e,t){var n=g(e.parentElement,\"width\");return t/n*100}function y(e,t,n){for(var r=[],i=1;i<n.length;i++){var o=n[i].element;r.push(e(i-1,o))}var a=n[n.length-1];return r.push(t(n.length-1,a.element)),r}function x(){var t=i.dom.select(\".\"+fe,d());e.each(t,function(e){i.dom.remove(e)})}function C(e){x(),B(e)}function w(e,t,n,r,i,o,a,s){var l={\"data-mce-bogus\":\"all\",\"class\":fe+\" \"+e,unselectable:\"on\",\"data-mce-resize\":!1,style:\"cursor: \"+t+\"; margin: 0; padding: 0; position: absolute; left: \"+n+\"px; top: \"+r+\"px; height: \"+i+\"px; width: \"+o+\"px; \"};return l[a]=s,l}function N(t,n,r){e.each(t,function(e){var t=r.x,o=e.y-Ce/2,a=Ce,s=n;i.dom.add(d(),\"div\",w(pe,me,t,o,a,s,ge,e.index))})}function k(t,n,r){e.each(t,function(e){var t=e.x-Ce/2,o=r.y,a=n,s=Ce;i.dom.add(d(),\"div\",w(ve,be,t,o,a,s,ye,e.index))})}function S(t){return e.map(t.rows,function(t){var n=e.map(t.cells,function(e){var t=e.hasAttribute(\"rowspan\")?parseInt(e.getAttribute(\"rowspan\"),10):1,n=e.hasAttribute(\"colspan\")?parseInt(e.getAttribute(\"colspan\"),10):1;return{element:e,rowspan:t,colspan:n}});return{element:t,cells:n}})}function _(n){function r(e,t){return e+\",\"+t}function i(e,t){return s[r(e,t)]}function o(){var t=[];return e.each(l,function(e){t=t.concat(e.cells)}),t}function a(){return l}var s={},l=[],c=0,u=0;return e.each(n,function(n,i){var o=[];e.each(n.cells,function(e){for(var n=0;s[r(i,n)]!==t;)n++;for(var a={element:e.element,colspan:e.colspan,rowspan:e.rowspan,rowIndex:i,colIndex:n},l=0;l<e.colspan;l++)for(var d=0;d<e.rowspan;d++){var f=i+d,p=n+l;s[r(f,p)]=a,c=Math.max(c,f+1),u=Math.max(u,p+1)}o.push(a)}),l.push({element:n.element,cells:o})}),{grid:{maxRows:c,maxCols:u},getAt:i,getAllCells:o,getAllRows:a}}function E(e,t){for(var n=[],r=e;r<t;r++)n.push(r);return n}function T(e,t,n){for(var r,i=e(),o=0;o<i.length;o++)t(i[o])&&(r=i[o]);return r?r:n()}function R(t){var n=E(0,t.grid.maxCols),r=E(0,t.grid.maxRows);return e.map(n,function(e){function n(){for(var n=[],i=0;i<r.length;i++){var o=t.getAt(i,e);o&&o.colIndex===e&&n.push(o)}return n}function i(e){return 1===e.colspan}function o(){for(var n,i=0;i<r.length;i++)if(n=t.getAt(i,e))return n;return null}return T(n,i,o)})}function A(t){var n=E(0,t.grid.maxCols),r=E(0,t.grid.maxRows);return e.map(r,function(e){function r(){for(var r=[],i=0;i<n.length;i++){var o=t.getAt(e,i);o&&o.rowIndex===e&&r.push(o)}return r}function i(e){return 1===e.rowspan}function o(){return t.getAt(e,0)}return T(r,i,o);\n})}function B(e){var t=S(e),n=_(t),r=A(n),s=R(n),l=i.dom.getPos(e),c=r.length>0?y(o,a,r):[],u=s.length>0?y(f,p,s):[];N(c,e.offsetWidth,l),k(u,e.offsetHeight,l)}function P(e,t,n,r){if(t<0||t>=e.length-1)return\"\";var i=e[t];if(i)i={value:i,delta:0};else for(var o=e.slice(0,t).reverse(),a=0;a<o.length;a++)o[a]&&(i={value:o[a],delta:a+1});var s=e[t+1];if(s)s={value:s,delta:1};else for(var l=e.slice(t+1),c=0;c<l.length;c++)l[c]&&(s={value:l[c],delta:c+1});var u=s.delta-i.delta,d=Math.abs(s.value-i.value)/u;return n?d/g(r,\"width\")*100:d}function D(e,t){var n=i.dom.getStyle(e,t);return n||(n=i.dom.getAttrib(e,t)),n||(n=i.dom.getStyle(e,t,!0)),n}function M(e,t,n){var r=D(e,\"width\"),i=parseInt(r,10),o=t?m(e,n):g(e,\"width\");return(t&&!V(r)||!t&&!$(r))&&(i=0),!isNaN(i)&&i>0?i:o}function L(t,n,r){for(var i=R(t),o=e.map(i,function(e){return f(e.colIndex,e.element).x}),a=[],s=0;s<i.length;s++){var l=i[s].element.hasAttribute(\"colspan\")?parseInt(i[s].element.getAttribute(\"colspan\"),10):1,c=l>1?P(o,s):M(i[s].element,n,r);c=c?c:we,a.push(c)}return a}function I(e){var t=D(e,\"height\"),n=parseInt(t,10);return V(t)&&(n=0),!isNaN(n)&&n>0?n:g(e,\"height\")}function O(t){for(var n=A(t),r=e.map(n,function(e){return o(e.rowIndex,e.element).y}),i=[],a=0;a<n.length;a++){var s=n[a].element.hasAttribute(\"rowspan\")?parseInt(n[a].element.getAttribute(\"rowspan\"),10):1,l=s>1?P(r,a):I(n[a].element);l=l?l:Ne,i.push(l)}return i}function H(t,n,r,i,o){function a(t){return e.map(t,function(){return 0})}function s(){var e;if(o)e=[100-d[0]];else{var t=Math.max(i,d[0]+r);e=[t-d[0]]}return e}function l(e,t){var n,o=a(d.slice(0,e)),s=a(d.slice(t+1));if(r>=0){var l=Math.max(i,d[t]-r);n=o.concat([r,l-d[t]]).concat(s)}else{var c=Math.max(i,d[e]+r),u=d[e]-c;n=o.concat([c-d[e],u]).concat(s)}return n}function c(e,t){var n,o=a(d.slice(0,t));if(r>=0)n=o.concat([r]);else{var s=Math.max(i,d[t]+r);n=o.concat([s-d[t]])}return n}var u,d=t.slice(0);return u=0===t.length?[]:1===t.length?s():0===n?l(0,1):n>0&&n<t.length-1?l(n,n+1):n===t.length-1?c(n-1,n):[]}function F(e,t,n){for(var r=0,i=e;i<t;i++)r+=n[i];return r}function z(t,n){var r=t.getAllCells();return e.map(r,function(e){var t=F(e.colIndex,e.colIndex+e.colspan,n);return{element:e.element,width:t,colspan:e.colspan}})}function W(t,n){var r=t.getAllCells();return e.map(r,function(e){var t=F(e.rowIndex,e.rowIndex+e.rowspan,n);return{element:e.element,height:t,rowspan:e.rowspan}})}function U(t,n){var r=t.getAllRows();return e.map(r,function(e,t){return{element:e.element,height:n[t]}})}function V(e){return Se.test(e)}function $(e){return _e.test(e)}function j(t,n,r){function o(t,n){e.each(t,function(e){i.dom.setStyle(e.element,\"width\",e.width+n),i.dom.setAttrib(e.element,\"width\",null)})}function a(){return r<u.grid.maxCols-1?h(t):h(t)+b(t,n)}function s(){return r<u.grid.maxCols-1?g(t,\"width\"):g(t,\"width\")+n}function l(e,n,o){r!=u.grid.maxCols-1&&o||(i.dom.setStyle(t,\"width\",e+n),i.dom.setAttrib(t,\"width\",null))}for(var c=S(t),u=_(c),d=V(t.width)||V(t.style.width),f=L(u,d,t),p=d?v(t,n):n,m=H(f,r,p,we,d,t),y=[],x=0;x<m.length;x++)y.push(m[x]+f[x]);var C=z(u,y),w=d?\"%\":\"px\",N=d?a():s();i.undoManager.transact(function(){o(C,w),l(N,w,d)})}function q(t,n,r){for(var o=S(t),a=_(o),s=O(a),l=[],c=0,u=0;u<s.length;u++)l.push(u===r?n+s[u]:s[u]),c+=c[u];var d=W(a,l),f=U(a,l);i.undoManager.transact(function(){e.each(f,function(e){i.dom.setStyle(e.element,\"height\",e.height+\"px\"),i.dom.setAttrib(e.element,\"height\",null)}),e.each(d,function(e){i.dom.setStyle(e.element,\"height\",e.height+\"px\"),i.dom.setAttrib(e.element,\"height\",null)}),i.dom.setStyle(t,\"height\",c+\"px\"),i.dom.setAttrib(t,\"height\",null)})}function Y(){ae=setTimeout(function(){J()},200)}function X(){clearTimeout(ae)}function K(){var e=document.createElement(\"div\");return e.setAttribute(\"style\",\"margin: 0; padding: 0; position: fixed; left: 0px; top: 0px; height: 100%; width: 100%;\"),e.setAttribute(\"data-mce-bogus\",\"all\"),e}function G(e,t){i.dom.bind(e,\"mouseup\",function(){J()}),i.dom.bind(e,\"mousemove\",function(e){X(),se&&t(e)}),i.dom.bind(e,\"mouseout\",function(){Y()})}function J(){if(i.dom.remove(le),se){i.dom.removeClass(ce,ke),se=!1;var e,t;if(Q(ce)){var n=parseInt(i.dom.getAttrib(ce,xe),10),o=i.dom.getPos(ce).x;e=parseInt(i.dom.getAttrib(ce,ye),10),t=c()?n-o:o-n,Math.abs(t)>=1&&j(r,t,e)}else if(ee(ce)){var a=parseInt(i.dom.getAttrib(ce,he),10),s=i.dom.getPos(ce).y;e=parseInt(i.dom.getAttrib(ce,ge),10),t=s-a,Math.abs(t)>=1&&q(r,t,e)}C(r),i.nodeChanged()}}function Z(e,t){le=le?le:K(),se=!0,i.dom.addClass(e,ke),ce=e,G(le,t),i.dom.add(d(),le)}function Q(e){return i.dom.hasClass(e,ve)}function ee(e){return i.dom.hasClass(e,pe)}function te(e){ue=ue!==t?ue:e.clientX;var n=e.clientX-ue;ue=e.clientX;var r=i.dom.getPos(ce).x;i.dom.setStyle(ce,\"left\",r+n+\"px\")}function ne(e){de=de!==t?de:e.clientY;var n=e.clientY-de;de=e.clientY;var r=i.dom.getPos(ce).y;i.dom.setStyle(ce,\"top\",r+n+\"px\")}function re(e){ue=t,Z(e,te)}function ie(e){de=t,Z(e,ne)}function oe(e){var t=e.target,n=i.getBody();if(i.$.contains(n,r)||r===n)if(Q(t)){e.preventDefault();var o=i.dom.getPos(t).x;i.dom.setAttrib(t,xe,o),re(t)}else if(ee(t)){e.preventDefault();var a=i.dom.getPos(t).y;i.dom.setAttrib(t,he,a),ie(t)}else x()}var ae,se,le,ce,ue,de,fe=\"mce-resize-bar\",pe=\"mce-resize-bar-row\",me=\"row-resize\",ge=\"data-row\",he=\"data-initial-top\",ve=\"mce-resize-bar-col\",be=\"col-resize\",ye=\"data-col\",xe=\"data-initial-left\",Ce=4,we=10,Ne=10,ke=\"mce-resize-bar-dragging\",Se=new RegExp(/(\\d+(\\.\\d+)?%)/),_e=new RegExp(/px|em/);return i.on(\"init\",function(){i.dom.bind(d(),\"mousedown\",oe)}),i.on(\"ObjectResized\",function(t){var n=t.target;if(\"TABLE\"===n.nodeName){var r=[];e.each(n.rows,function(t){e.each(t.cells,function(e){var t=i.dom.getStyle(e,\"width\",!0);r.push({cell:e,width:t})})}),e.each(r,function(e){i.dom.setStyle(e.cell,\"width\",e.width),i.dom.setAttrib(e.cell,\"width\",null)})}}),i.on(\"mouseover\",function(e){if(!se){var t=i.dom.getParent(e.target,\"table\");(\"TABLE\"===e.target.nodeName||t)&&(r=t,C(t))}}),i.on(\"keydown\",function(e){switch(e.keyCode){case n.LEFT:case n.RIGHT:case n.UP:case n.DOWN:x()}}),i.on(\"remove\",function(){x(),i.dom.unbind(d(),\"mousedown\",oe)}),{adjustWidth:j,adjustHeight:q,clearBars:x,drawBars:B,determineDeltas:H,getTableGrid:_,getTableDetails:S,getWidths:L,getPixelHeights:O,isPercentageBasedSize:V,isPixelBasedSize:$,recalculateWidths:z,recalculateCellHeights:W,recalculateRowHeights:U}}}),r(\"tinymce/tableplugin/Plugin\",[\"tinymce/tableplugin/TableGrid\",\"tinymce/tableplugin/Quirks\",\"tinymce/tableplugin/CellSelection\",\"tinymce/tableplugin/Dialogs\",\"tinymce/tableplugin/ResizeBars\",\"tinymce/util/Tools\",\"tinymce/dom/TreeWalker\",\"tinymce/Env\",\"tinymce/PluginManager\"],function(e,t,n,r,i,o,a,s,l){function c(o){function a(e){return function(){o.execCommand(e)}}function l(e,t){var n,r,i,a;for(i='<table id=\"__mce\"><tbody>',n=0;n<t;n++){for(i+=\"<tr>\",r=0;r<e;r++)i+=\"<td>\"+(s.ie&&s.ie<10?\"&nbsp;\":\"<br>\")+\"</td>\";i+=\"</tr>\"}return i+=\"</tbody></table>\",o.undoManager.transact(function(){o.insertContent(i),a=o.dom.get(\"__mce\"),o.dom.setAttrib(a,\"id\",null),o.$(\"tr\",a).each(function(e,t){o.fire(\"newrow\",{node:t}),o.$(\"th,td\",t).each(function(e,t){o.fire(\"newcell\",{node:t})})}),o.dom.setAttribs(a,o.settings.table_default_attributes||{}),o.dom.setStyles(a,o.settings.table_default_styles||{})}),a}function c(e,t,n){function r(){var r,i,a,s={},l=0;i=o.dom.select(\"td[data-mce-selected],th[data-mce-selected]\"),r=i[0],r||(r=o.selection.getStart()),n&&i.length>0?(u(i,function(e){return s[e.parentNode.parentNode.nodeName]=1}),u(s,function(e){l+=e}),a=1!==l):a=!o.dom.getParent(r,t),e.disabled(a),o.selection.selectorChanged(t,function(t){e.disabled(!t)})}o.initialized?r():o.on(\"init\",r)}function d(){c(this,\"table\")}function f(){c(this,\"td,th\")}function p(){c(this,\"td,th\",!0)}function m(){var e=\"\";e='<table role=\"grid\" class=\"mce-grid mce-grid-border\" aria-readonly=\"true\">';for(var t=0;t<10;t++){e+=\"<tr>\";for(var n=0;n<10;n++)e+='<td role=\"gridcell\" tabindex=\"-1\"><a id=\"mcegrid'+(10*t+n)+'\" href=\"#\" data-mce-x=\"'+n+'\" data-mce-y=\"'+t+'\"></a></td>';e+=\"</tr>\"}return e+=\"</table>\",e+='<div class=\"mce-text-center\" role=\"presentation\">1 x 1</div>'}function g(e,t,n){var r,i,a,s,l,c=n.getEl().getElementsByTagName(\"table\")[0],u=n.isRtl()||\"tl-tr\"==n.parent().rel;for(c.nextSibling.innerHTML=e+1+\" x \"+(t+1),u&&(e=9-e),i=0;i<10;i++)for(r=0;r<10;r++)s=c.rows[i].childNodes[r].firstChild,l=(u?r>=e:r<=e)&&i<=t,o.dom.toggleClass(s,\"mce-active\",l),l&&(a=s);return a.parentNode}function h(){o.addButton(\"tableprops\",{title:\"Table properties\",onclick:k.tableProps,icon:\"table\"}),o.addButton(\"tabledelete\",{title:\"Delete table\",onclick:a(\"mceTableDelete\")}),o.addButton(\"tablecellprops\",{title:\"Cell properties\",onclick:a(\"mceTableCellProps\")}),o.addButton(\"tablemergecells\",{title:\"Merge cells\",onclick:a(\"mceTableMergeCells\")}),o.addButton(\"tablesplitcells\",{title:\"Split cell\",onclick:a(\"mceTableSplitCells\")}),o.addButton(\"tableinsertrowbefore\",{title:\"Insert row before\",onclick:a(\"mceTableInsertRowBefore\")}),o.addButton(\"tableinsertrowafter\",{title:\"Insert row after\",onclick:a(\"mceTableInsertRowAfter\")}),o.addButton(\"tabledeleterow\",{title:\"Delete row\",onclick:a(\"mceTableDeleteRow\")}),o.addButton(\"tablerowprops\",{title:\"Row properties\",onclick:a(\"mceTableRowProps\")}),o.addButton(\"tablecutrow\",{title:\"Cut row\",onclick:a(\"mceTableCutRow\")}),o.addButton(\"tablecopyrow\",{title:\"Copy row\",onclick:a(\"mceTableCopyRow\")}),o.addButton(\"tablepasterowbefore\",{title:\"Paste row before\",onclick:a(\"mceTablePasteRowBefore\")}),o.addButton(\"tablepasterowafter\",{title:\"Paste row after\",onclick:a(\"mceTablePasteRowAfter\")}),o.addButton(\"tableinsertcolbefore\",{title:\"Insert column before\",onclick:a(\"mceTableInsertColBefore\")}),o.addButton(\"tableinsertcolafter\",{title:\"Insert column after\",onclick:a(\"mceTableInsertColAfter\")}),o.addButton(\"tabledeletecol\",{title:\"Delete column\",onclick:a(\"mceTableDeleteCol\")})}function v(e){var t=o.dom.is(e,\"table\")&&o.getBody().contains(e);return t}function b(){var e=o.settings.table_toolbar;\"\"!==e&&e!==!1&&(e||(e=\"tableprops tabledelete | tableinsertrowbefore tableinsertrowafter tabledeleterow | tableinsertcolbefore tableinsertcolafter tabledeletecol\"),o.addContextToolbar(v,e))}function y(){return C}function x(e){C=e}var C,w,N=this,k=new r(o);!o.settings.object_resizing||o.settings.table_resize_bars===!1||o.settings.object_resizing!==!0&&\"table\"!==o.settings.object_resizing||(w=i(o)),o.settings.table_grid===!1?o.addMenuItem(\"inserttable\",{text:\"Table\",icon:\"table\",context:\"table\",onclick:k.table}):o.addMenuItem(\"inserttable\",{text:\"Table\",icon:\"table\",context:\"table\",ariaHideMenu:!0,onclick:function(e){e.aria&&(this.parent().hideAll(),e.stopImmediatePropagation(),k.table())},onshow:function(){g(0,0,this.menu.items()[0])},onhide:function(){var e=this.menu.items()[0].getEl().getElementsByTagName(\"a\");o.dom.removeClass(e,\"mce-active\"),o.dom.addClass(e[0],\"mce-active\")},menu:[{type:\"container\",html:m(),onPostRender:function(){this.lastX=this.lastY=0},onmousemove:function(e){var t,n,r=e.target;\"A\"==r.tagName.toUpperCase()&&(t=parseInt(r.getAttribute(\"data-mce-x\"),10),n=parseInt(r.getAttribute(\"data-mce-y\"),10),(this.isRtl()||\"tl-tr\"==this.parent().rel)&&(t=9-t),t===this.lastX&&n===this.lastY||(g(t,n,e.control),this.lastX=t,this.lastY=n))},onclick:function(e){var t=this;\"A\"==e.target.tagName.toUpperCase()&&(e.preventDefault(),e.stopPropagation(),t.parent().cancel(),o.undoManager.transact(function(){l(t.lastX+1,t.lastY+1)}),o.addVisual())}}]}),o.addMenuItem(\"tableprops\",{text:\"Table properties\",context:\"table\",onPostRender:d,onclick:k.tableProps}),o.addMenuItem(\"deletetable\",{text:\"Delete table\",context:\"table\",onPostRender:d,cmd:\"mceTableDelete\"}),o.addMenuItem(\"cell\",{separator:\"before\",text:\"Cell\",context:\"table\",menu:[{text:\"Cell properties\",onclick:a(\"mceTableCellProps\"),onPostRender:f},{text:\"Merge cells\",onclick:a(\"mceTableMergeCells\"),onPostRender:p},{text:\"Split cell\",onclick:a(\"mceTableSplitCells\"),onPostRender:f}]}),o.addMenuItem(\"row\",{text:\"Row\",context:\"table\",menu:[{text:\"Insert row before\",onclick:a(\"mceTableInsertRowBefore\"),onPostRender:f},{text:\"Insert row after\",onclick:a(\"mceTableInsertRowAfter\"),onPostRender:f},{text:\"Delete row\",onclick:a(\"mceTableDeleteRow\"),onPostRender:f},{text:\"Row properties\",onclick:a(\"mceTableRowProps\"),onPostRender:f},{text:\"-\"},{text:\"Cut row\",onclick:a(\"mceTableCutRow\"),onPostRender:f},{text:\"Copy row\",onclick:a(\"mceTableCopyRow\"),onPostRender:f},{text:\"Paste row before\",onclick:a(\"mceTablePasteRowBefore\"),onPostRender:f},{text:\"Paste row after\",onclick:a(\"mceTablePasteRowAfter\"),onPostRender:f}]}),o.addMenuItem(\"column\",{text:\"Column\",context:\"table\",menu:[{text:\"Insert column before\",onclick:a(\"mceTableInsertColBefore\"),onPostRender:f},{text:\"Insert column after\",onclick:a(\"mceTableInsertColAfter\"),onPostRender:f},{text:\"Delete column\",onclick:a(\"mceTableDeleteCol\"),onPostRender:f}]});var S=[];u(\"inserttable tableprops deletetable | cell row column\".split(\" \"),function(e){\"|\"==e?S.push({text:\"-\"}):S.push(o.menuItems[e])}),o.addButton(\"table\",{type:\"menubutton\",title:\"Table\",menu:S}),s.isIE||o.on(\"click\",function(e){e=e.target,\"TABLE\"===e.nodeName&&(o.selection.select(e),o.nodeChanged())}),N.quirks=new t(o),o.on(\"Init\",function(){N.cellSelection=new n(o,function(e){e&&w&&w.clearBars()}),N.resizeBars=w}),o.on(\"PreInit\",function(){o.serializer.addAttributeFilter(\"data-mce-cell-padding,data-mce-border,data-mce-border-color\",function(e,t){for(var n=e.length;n--;)e[n].attr(t,null)})}),u({mceTableSplitCells:function(e){e.split()},mceTableMergeCells:function(e){var t;t=o.dom.getParent(o.selection.getStart(),\"th,td\"),o.dom.select(\"td[data-mce-selected],th[data-mce-selected]\").length?e.merge():k.merge(e,t)},mceTableInsertRowBefore:function(e){e.insertRows(!0)},mceTableInsertRowAfter:function(e){e.insertRows()},mceTableInsertColBefore:function(e){e.insertCols(!0)},mceTableInsertColAfter:function(e){e.insertCols()},mceTableDeleteCol:function(e){e.deleteCols()},mceTableDeleteRow:function(e){e.deleteRows()},mceTableCutRow:function(e){C=e.cutRows()},mceTableCopyRow:function(e){C=e.copyRows()},mceTablePasteRowBefore:function(e){e.pasteRows(C,!0)},mceTablePasteRowAfter:function(e){e.pasteRows(C)},mceSplitColsBefore:function(e){e.splitCols(!0)},mceSplitColsAfter:function(e){e.splitCols(!1)},mceTableDelete:function(e){w&&w.clearBars(),e.deleteTable()}},function(t,n){o.addCommand(n,function(){var n=new e(o);n&&(t(n),o.execCommand(\"mceRepaint\"),N.cellSelection.clear())})}),u({mceInsertTable:k.table,mceTableProps:function(){k.table(!0)},mceTableRowProps:k.row,mceTableCellProps:k.cell},function(e,t){o.addCommand(t,function(t,n){e(n)})}),h(),b(),o.settings.table_tab_navigation!==!1&&o.on(\"keydown\",function(t){var n,r,i;9==t.keyCode&&(n=o.dom.getParent(o.selection.getStart(),\"th,td\"),n&&(t.preventDefault(),r=new e(o),i=t.shiftKey?-1:1,o.undoManager.transact(function(){!r.moveRelIdx(n,i)&&i>0&&(r.insertRow(),r.refresh(),r.moveRelIdx(n,i))})))}),N.insertTable=l,N.setClipboardRows=x,N.getClipboardRows=y}var u=o.each;l.add(\"table\",c)})}(window);","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?e(exports):\"function\"==typeof define&&define.amd?define([\"exports\"],e):e(t.echarts={})}(this,function(t){\"use strict\";var e=2311,n=function(){return e++},v=\"object\"==typeof wx&&\"function\"==typeof wx.getSystemInfoSync?{browser:{},os:{},node:!1,wxa:!0,canvasSupported:!0,svgSupported:!1,touchEventsSupported:!0,domSupported:!1}:\"undefined\"==typeof document&&\"undefined\"!=typeof self?{browser:{},os:{},node:!1,worker:!0,canvasSupported:!0,domSupported:!1}:\"undefined\"==typeof navigator?{browser:{},os:{},node:!0,worker:!1,canvasSupported:!0,svgSupported:!0,domSupported:!1}:function(t){var e={},i=t.match(/Firefox\\/([\\d.]+)/),n=t.match(/MSIE\\s([\\d.]+)/)||t.match(/Trident\\/.+?rv:(([\\d.]+))/),o=t.match(/Edge\\/([\\d.]+)/),a=/micromessenger/i.test(t);i&&(e.firefox=!0,e.version=i[1]);n&&(e.ie=!0,e.version=n[1]);o&&(e.edge=!0,e.version=o[1]);a&&(e.weChat=!0);return{browser:e,os:{},node:!1,canvasSupported:!!document.createElement(\"canvas\").getContext,svgSupported:\"undefined\"!=typeof SVGRect,touchEventsSupported:\"ontouchstart\"in window&&!e.ie&&!e.edge,pointerEventsSupported:\"onpointerdown\"in window&&(e.edge||e.ie&&11<=e.version),domSupported:\"undefined\"!=typeof document}}(navigator.userAgent);var s={\"[object Function]\":1,\"[object RegExp]\":1,\"[object Date]\":1,\"[object Error]\":1,\"[object CanvasGradient]\":1,\"[object CanvasPattern]\":1,\"[object Image]\":1,\"[object Canvas]\":1},l={\"[object Int8Array]\":1,\"[object Uint8Array]\":1,\"[object Uint8ClampedArray]\":1,\"[object Int16Array]\":1,\"[object Uint16Array]\":1,\"[object Int32Array]\":1,\"[object Uint32Array]\":1,\"[object Float32Array]\":1,\"[object Float64Array]\":1},u=Object.prototype.toString,i=Array.prototype,r=i.forEach,h=i.filter,o=i.slice,c=i.map,d=i.reduce,a={};function f(t,e){\"createCanvas\"===t&&(g=null),a[t]=e}function k(t){if(null==t||\"object\"!=typeof t)return t;var e=t,i=u.call(t);if(\"[object Array]\"===i){if(!$(t)){e=[];for(var n=0,o=t.length;n<o;n++)e[n]=k(t[n])}}else if(l[i]){if(!$(t)){var a=t.constructor;if(t.constructor.from)e=a.from(t);else{e=new a(t.length);for(n=0,o=t.length;n<o;n++)e[n]=k(t[n])}}}else if(!s[i]&&!$(t)&&!G(t))for(var r in e={},t)t.hasOwnProperty(r)&&(e[r]=k(t[r]));return e}function m(t,e,i){if(!z(e)||!z(t))return i?k(e):t;for(var n in e)if(e.hasOwnProperty(n)){var o=t[n],a=e[n];!z(a)||!z(o)||L(a)||L(o)||G(a)||G(o)||B(a)||B(o)||$(a)||$(o)?!i&&n in t||(t[n]=k(e[n])):m(o,a,i)}return t}function p(t,e){for(var i=t[0],n=1,o=t.length;n<o;n++)i=m(i,t[n],e);return i}function P(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);return t}function D(t,e,i){for(var n in e)e.hasOwnProperty(n)&&(i?null!=e[n]:null==t[n])&&(t[n]=e[n]);return t}function y(){return a.createCanvas()}var g;function x(){return g=g||y().getContext(\"2d\")}function _(t,e){if(t){if(t.indexOf)return t.indexOf(e);for(var i=0,n=t.length;i<n;i++)if(t[i]===e)return i}return-1}function w(t,e){var i=t.prototype;function n(){}for(var o in n.prototype=e.prototype,t.prototype=new n,i)i.hasOwnProperty(o)&&(t.prototype[o]=i[o]);(t.prototype.constructor=t).superClass=e}function b(t,e,i){D(t=\"prototype\"in t?t.prototype:t,e=\"prototype\"in e?e.prototype:e,i)}function N(t){if(t)return\"string\"!=typeof t&&\"number\"==typeof t.length}function R(t,e,i){if(t&&e)if(t.forEach&&t.forEach===r)t.forEach(e,i);else if(t.length===+t.length)for(var n=0,o=t.length;n<o;n++)e.call(i,t[n],n,t);else for(var a in t)t.hasOwnProperty(a)&&e.call(i,t[a],a,t)}function O(t,e,i){if(t&&e){if(t.map&&t.map===c)return t.map(e,i);for(var n=[],o=0,a=t.length;o<a;o++)n.push(e.call(i,t[o],o,t));return n}}function S(t,e,i,n){if(t&&e){if(t.reduce&&t.reduce===d)return t.reduce(e,i,n);for(var o=0,a=t.length;o<a;o++)i=e.call(n,i,t[o],o,t);return i}}function M(t,e,i){if(t&&e){if(t.filter&&t.filter===h)return t.filter(e,i);for(var n=[],o=0,a=t.length;o<a;o++)e.call(i,t[o],o,t)&&n.push(t[o]);return n}}function I(t,e,i){if(t&&e)for(var n=0,o=t.length;n<o;n++)if(e.call(i,t[n],n,t))return t[n]}function A(t,e){var i=o.call(arguments,2);return function(){return t.apply(e,i.concat(o.call(arguments)))}}function T(t){var e=o.call(arguments,1);return function(){return t.apply(this,e.concat(o.call(arguments)))}}function L(t){return\"[object Array]\"===u.call(t)}function C(t){return\"function\"==typeof t}function E(t){return\"[object String]\"===u.call(t)}function z(t){var e=typeof t;return\"function\"==e||!!t&&\"object\"==e}function B(t){return!!s[u.call(t)]}function V(t){return!!l[u.call(t)]}function G(t){return\"object\"==typeof t&&\"number\"==typeof t.nodeType&&\"object\"==typeof t.ownerDocument}function F(t){return t!=t}function W(t){for(var e=0,i=arguments.length;e<i;e++)if(null!=arguments[e])return arguments[e]}function H(t,e){return null!=t?t:e}function Z(t,e,i){return null!=t?t:null!=e?e:i}function U(){return Function.call.apply(o,arguments)}function X(t){if(\"number\"==typeof t)return[t,t,t,t];var e=t.length;return 2===e?[t[0],t[1],t[0],t[1]]:3===e?[t[0],t[1],t[2],t[1]]:t}function Y(t,e){if(!t)throw new Error(e)}function j(t){return null==t?null:\"function\"==typeof t.trim?t.trim():t.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g,\"\")}a.createCanvas=function(){return document.createElement(\"canvas\")};var q=\"__ec_primitive__\";function K(t){t[q]=!0}function $(t){return t[q]}function J(t){var i=L(t);this.data={};var n=this;function e(t,e){i?n.set(t,e):n.set(e,t)}t instanceof J?t.each(e):t&&R(t,e)}function Q(t){return new J(t)}function tt(t,e){for(var i=new t.constructor(t.length+e.length),n=0;n<t.length;n++)i[n]=t[n];var o=t.length;for(n=0;n<e.length;n++)i[n+o]=e[n];return i}function et(){}J.prototype={constructor:J,get:function(t){return this.data.hasOwnProperty(t)?this.data[t]:null},set:function(t,e){return this.data[t]=e},each:function(t,e){for(var i in void 0!==e&&(t=A(t,e)),this.data)this.data.hasOwnProperty(i)&&t(this.data[i],i)},removeKey:function(t){delete this.data[t]}};var it=(Object.freeze||Object)({$override:f,clone:k,merge:m,mergeAll:p,extend:P,defaults:D,createCanvas:y,getContext:x,indexOf:_,inherits:w,mixin:b,isArrayLike:N,each:R,map:O,reduce:S,filter:M,find:I,bind:A,curry:T,isArray:L,isFunction:C,isString:E,isObject:z,isBuiltInObject:B,isTypedArray:V,isDom:G,eqNaN:F,retrieve:W,retrieve2:H,retrieve3:Z,slice:U,normalizeCssArray:X,assert:Y,trim:j,setAsPrimitive:K,isPrimitive:$,createHashMap:Q,concatArray:tt,noop:et}),nt=\"undefined\"==typeof Float32Array?Array:Float32Array;function ot(t,e){var i=new nt(2);return null==t&&(t=0),null==e&&(e=0),i[0]=t,i[1]=e,i}function at(t,e){return t[0]=e[0],t[1]=e[1],t}function rt(t){var e=new nt(2);return e[0]=t[0],e[1]=t[1],e}function st(t,e,i){return t[0]=e,t[1]=i,t}function lt(t,e,i){return t[0]=e[0]+i[0],t[1]=e[1]+i[1],t}function ut(t,e,i,n){return t[0]=e[0]+i[0]*n,t[1]=e[1]+i[1]*n,t}function ht(t,e,i){return t[0]=e[0]-i[0],t[1]=e[1]-i[1],t}function ct(t){return Math.sqrt(ft(t))}var dt=ct;function ft(t){return t[0]*t[0]+t[1]*t[1]}var pt=ft;function gt(t,e,i){return t[0]=e[0]*i,t[1]=e[1]*i,t}function mt(t,e){var i=ct(e);return 0===i?(t[0]=0,t[1]=0):(t[0]=e[0]/i,t[1]=e[1]/i),t}function vt(t,e){return Math.sqrt((t[0]-e[0])*(t[0]-e[0])+(t[1]-e[1])*(t[1]-e[1]))}var yt=vt;function xt(t,e){return(t[0]-e[0])*(t[0]-e[0])+(t[1]-e[1])*(t[1]-e[1])}var _t=xt;function wt(t,e,i,n){return t[0]=e[0]+n*(i[0]-e[0]),t[1]=e[1]+n*(i[1]-e[1]),t}function bt(t,e,i){var n=e[0],o=e[1];return t[0]=i[0]*n+i[2]*o+i[4],t[1]=i[1]*n+i[3]*o+i[5],t}function St(t,e,i){return t[0]=Math.min(e[0],i[0]),t[1]=Math.min(e[1],i[1]),t}function Mt(t,e,i){return t[0]=Math.max(e[0],i[0]),t[1]=Math.max(e[1],i[1]),t}var It=(Object.freeze||Object)({create:ot,copy:at,clone:rt,set:st,add:lt,scaleAndAdd:ut,sub:ht,len:ct,length:dt,lenSquare:ft,lengthSquare:pt,mul:function(t,e,i){return t[0]=e[0]*i[0],t[1]=e[1]*i[1],t},div:function(t,e,i){return t[0]=e[0]/i[0],t[1]=e[1]/i[1],t},dot:function(t,e){return t[0]*e[0]+t[1]*e[1]},scale:gt,normalize:mt,distance:vt,dist:yt,distanceSquare:xt,distSquare:_t,negate:function(t,e){return t[0]=-e[0],t[1]=-e[1],t},lerp:wt,applyTransform:bt,min:St,max:Mt});function Tt(){this.on(\"mousedown\",this._dragStart,this),this.on(\"mousemove\",this._drag,this),this.on(\"mouseup\",this._dragEnd,this)}function At(t,e){return{target:t,topTarget:e&&e.topTarget}}Tt.prototype={constructor:Tt,_dragStart:function(t){for(var e=t.target;e&&!e.draggable;)e=e.parent;e&&((this._draggingTarget=e).dragging=!0,this._x=t.offsetX,this._y=t.offsetY,this.dispatchToElement(At(e,t),\"dragstart\",t.event))},_drag:function(t){var e=this._draggingTarget;if(e){var i=t.offsetX,n=t.offsetY,o=i-this._x,a=n-this._y;this._x=i,this._y=n,e.drift(o,a,t),this.dispatchToElement(At(e,t),\"drag\",t.event);var r=this.findHover(i,n,e).target,s=this._dropTarget;e!==(this._dropTarget=r)&&(s&&r!==s&&this.dispatchToElement(At(s,t),\"dragleave\",t.event),r&&r!==s&&this.dispatchToElement(At(r,t),\"dragenter\",t.event))}},_dragEnd:function(t){var e=this._draggingTarget;e&&(e.dragging=!1),this.dispatchToElement(At(e,t),\"dragend\",t.event),this._dropTarget&&this.dispatchToElement(At(this._dropTarget,t),\"drop\",t.event),this._draggingTarget=null,this._dropTarget=null}};var Dt=Array.prototype.slice,Ct=function(t){this._$handlers={},this._$eventProcessor=t};function Lt(t,e,i,n,o,a){var r=t._$handlers;if(\"function\"==typeof i&&(o=n,n=i,i=null),!n||!e)return t;i=function(t,e){var i=t._$eventProcessor;return null!=e&&i&&i.normalizeQuery&&(e=i.normalizeQuery(e)),e}(t,i),r[e]||(r[e]=[]);for(var s=0;s<r[e].length;s++)if(r[e][s].h===n)return t;var l={h:n,one:a,query:i,ctx:o||t,callAtLast:n.zrEventfulCallAtLast},u=r[e].length-1,h=r[e][u];return h&&h.callAtLast?r[e].splice(u,0,l):r[e].push(l),t}Ct.prototype={constructor:Ct,one:function(t,e,i,n){return Lt(this,t,e,i,n,!0)},on:function(t,e,i,n){return Lt(this,t,e,i,n,!1)},isSilent:function(t){var e=this._$handlers;return!e[t]||!e[t].length},off:function(t,e){var i=this._$handlers;if(!t)return this._$handlers={},this;if(e){if(i[t]){for(var n=[],o=0,a=i[t].length;o<a;o++)i[t][o].h!==e&&n.push(i[t][o]);i[t]=n}i[t]&&0===i[t].length&&delete i[t]}else delete i[t];return this},trigger:function(t){var e=this._$handlers[t],i=this._$eventProcessor;if(e){var n=arguments,o=n.length;3<o&&(n=Dt.call(n,1));for(var a=e.length,r=0;r<a;){var s=e[r];if(i&&i.filter&&null!=s.query&&!i.filter(t,s.query))r++;else{switch(o){case 1:s.h.call(s.ctx);break;case 2:s.h.call(s.ctx,n[1]);break;case 3:s.h.call(s.ctx,n[1],n[2]);break;default:s.h.apply(s.ctx,n)}s.one?(e.splice(r,1),a--):r++}}}return i&&i.afterTrigger&&i.afterTrigger(t),this},triggerWithContext:function(t){var e=this._$handlers[t],i=this._$eventProcessor;if(e){var n=arguments,o=n.length;4<o&&(n=Dt.call(n,1,n.length-1));for(var a=n[n.length-1],r=e.length,s=0;s<r;){var l=e[s];if(i&&i.filter&&null!=l.query&&!i.filter(t,l.query))s++;else{switch(o){case 1:l.h.call(a);break;case 2:l.h.call(a,n[1]);break;case 3:l.h.call(a,n[1],n[2]);break;default:l.h.apply(a,n)}l.one?(e.splice(s,1),r--):s++}}}return i&&i.afterTrigger&&i.afterTrigger(t),this}};var kt=Math.log(2);function Pt(t,e,i,n,o,a){var r=n+\"-\"+o,s=t.length;if(a.hasOwnProperty(r))return a[r];if(1===e){var l=Math.round(Math.log((1<<s)-1&~o)/kt);return t[i][l]}for(var u=n|1<<i,h=i+1;n&1<<h;)h++;for(var c=0,d=0,f=0;d<s;d++){var p=1<<d;p&o||(c+=(f%2?-1:1)*t[i][d]*Pt(t,e-1,h,u,o|p,a),f++)}return a[r]=c}function Nt(t,e){var i=[[t[0],t[1],1,0,0,0,-e[0]*t[0],-e[0]*t[1]],[0,0,0,t[0],t[1],1,-e[1]*t[0],-e[1]*t[1]],[t[2],t[3],1,0,0,0,-e[2]*t[2],-e[2]*t[3]],[0,0,0,t[2],t[3],1,-e[3]*t[2],-e[3]*t[3]],[t[4],t[5],1,0,0,0,-e[4]*t[4],-e[4]*t[5]],[0,0,0,t[4],t[5],1,-e[5]*t[4],-e[5]*t[5]],[t[6],t[7],1,0,0,0,-e[6]*t[6],-e[6]*t[7]],[0,0,0,t[6],t[7],1,-e[7]*t[6],-e[7]*t[7]]],n={},o=Pt(i,8,0,0,0,n);if(0!==o){for(var a=[],r=0;r<8;r++)for(var s=0;s<8;s++)null==a[s]&&(a[s]=0),a[s]+=((r+s)%2?-1:1)*Pt(i,7,0===r?1:0,1<<r,1<<s,n)/o*e[r];return function(t,e,i){var n=e*a[6]+i*a[7]+1;t[0]=(e*a[0]+i*a[1]+a[2])/n,t[1]=(e*a[3]+i*a[4]+a[5])/n}}}var Ot=\"___zrEVENTSAVED\",Rt=[];function Et(t,e,i,n,o){if(e.getBoundingClientRect&&v.domSupported&&!zt(e)){var a=e[Ot]||(e[Ot]={}),r=function(t,e,i){for(var n=i?\"invTrans\":\"trans\",o=e[n],a=e.srcCoords,r=!0,s=[],l=[],u=0;u<4;u++){var h=t[u].getBoundingClientRect(),c=2*u,d=h.left,f=h.top;s.push(d,f),r=r&&a&&d===a[c]&&f===a[1+c],l.push(t[u].offsetLeft,t[u].offsetTop)}return r&&o?o:(e.srcCoords=s,e[n]=i?Nt(l,s):Nt(s,l))}(function(t,e){var i=e.markers;if(i)return i;i=e.markers=[];for(var n=[\"left\",\"right\"],o=[\"top\",\"bottom\"],a=0;a<4;a++){var r=document.createElement(\"div\"),s=r.style,l=a%2,u=(a>>1)%2;s.cssText=[\"position: absolute\",\"visibility: hidden\",\"padding: 0\",\"margin: 0\",\"border-width: 0\",\"user-select: none\",\"width:0\",\"height:0\",n[l]+\":0\",o[u]+\":0\",n[1-l]+\":auto\",o[1-u]+\":auto\",\"\"].join(\"!important;\"),t.appendChild(r),i.push(r)}return i}(e,a),a,o);if(r)return r(t,i,n),!0}return!1}function zt(t){return\"CANVAS\"===t.nodeName.toUpperCase()}var Bt=\"undefined\"!=typeof window&&!!window.addEventListener,Vt=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Gt=[];function Ft(t,e,i,n){return i=i||{},n||!v.canvasSupported?Wt(t,e,i):v.browser.firefox&&null!=e.layerX&&e.layerX!==e.offsetX?(i.zrX=e.layerX,i.zrY=e.layerY):null!=e.offsetX?(i.zrX=e.offsetX,i.zrY=e.offsetY):Wt(t,e,i),i}function Wt(t,e,i){if(v.domSupported&&t.getBoundingClientRect){var n=e.clientX,o=e.clientY;if(zt(t)){var a=t.getBoundingClientRect();return i.zrX=n-a.left,void(i.zrY=o-a.top)}if(Et(Gt,t,n,o))return i.zrX=Gt[0],void(i.zrY=Gt[1])}i.zrX=i.zrY=0}function Ht(t){return t||window.event}function Zt(t,e,i){if(null!=(e=Ht(e)).zrX)return e;var n=e.type;if(n&&0<=n.indexOf(\"touch\")){var o=\"touchend\"!==n?e.targetTouches[0]:e.changedTouches[0];o&&Ft(t,o,e,i)}else Ft(t,e,e,i),e.zrDelta=e.wheelDelta?e.wheelDelta/120:-(e.detail||0)/3;var a=e.button;return null==e.which&&void 0!==a&&Vt.test(e.type)&&(e.which=1&a?1:2&a?3:4&a?2:0),e}function Ut(t,e,i,n){Bt?t.addEventListener(e,i,n):t.attachEvent(\"on\"+e,i)}var Xt=Bt?function(t){t.preventDefault(),t.stopPropagation(),t.cancelBubble=!0}:function(t){t.returnValue=!1,t.cancelBubble=!0};function Yt(t){return 2===t.which||3===t.which}function jt(){this._track=[]}function qt(t){var e=t[1][0]-t[0][0],i=t[1][1]-t[0][1];return Math.sqrt(e*e+i*i)}jt.prototype={constructor:jt,recognize:function(t,e,i){return this._doTrack(t,e,i),this._recognize(t)},clear:function(){return this._track.length=0,this},_doTrack:function(t,e,i){var n=t.touches;if(n){for(var o={points:[],touches:[],target:e,event:t},a=0,r=n.length;a<r;a++){var s=n[a],l=Ft(i,s,{});o.points.push([l.zrX,l.zrY]),o.touches.push(s)}this._track.push(o)}},_recognize:function(t){for(var e in Kt)if(Kt.hasOwnProperty(e)){var i=Kt[e](this._track,t);if(i)return i}}};var Kt={pinch:function(t,e){var i=t.length;if(i){var n=(t[i-1]||{}).points,o=(t[i-2]||{}).points||n;if(o&&1<o.length&&n&&1<n.length){var a=qt(n)/qt(o);isFinite(a)||(a=1),e.pinchScale=a;var r=function(t){return[(t[0][0]+t[1][0])/2,(t[0][1]+t[1][1])/2]}(n);return e.pinchX=r[0],e.pinchY=r[1],{type:\"pinch\",target:t[0].target,event:e}}}}},$t=\"silent\";function Jt(){Xt(this.event)}function Qt(){}Qt.prototype.dispose=function(){};function te(t,e,i,n){Ct.call(this),this.storage=t,this.painter=e,this.painterRoot=n,i=i||new Qt,this.proxy=null,this._hovered={},this._lastTouchMoment,this._lastX,this._lastY,this._gestureMgr,Tt.call(this),this.setHandlerProxy(i)}var ee=[\"click\",\"dblclick\",\"mousewheel\",\"mouseout\",\"mouseup\",\"mousedown\",\"mousemove\",\"contextmenu\"];function ie(t,e,i){if(t[t.rectHover?\"rectContain\":\"contain\"](e,i)){for(var n,o=t;o;){if(o.clipPath&&!o.clipPath.contain(e,i))return!1;o.silent&&(n=!0),o=o.parent}return!n||$t}return!1}function ne(t,e,i){var n=t.painter;return e<0||e>n.getWidth()||i<0||i>n.getHeight()}te.prototype={constructor:te,setHandlerProxy:function(e){this.proxy&&this.proxy.dispose(),e&&(R(ee,function(t){e.on&&e.on(t,this[t],this)},this),e.handler=this),this.proxy=e},mousemove:function(t){var e=t.zrX,i=t.zrY,n=ne(this,e,i),o=this._hovered,a=o.target;a&&!a.__zr&&(a=(o=this.findHover(o.x,o.y)).target);var r=this._hovered=n?{x:e,y:i}:this.findHover(e,i),s=r.target,l=this.proxy;l.setCursor&&l.setCursor(s?s.cursor:\"default\"),a&&s!==a&&this.dispatchToElement(o,\"mouseout\",t),this.dispatchToElement(r,\"mousemove\",t),s&&s!==a&&this.dispatchToElement(r,\"mouseover\",t)},mouseout:function(t){var e=t.zrEventControl,i=t.zrIsToLocalDOM;\"only_globalout\"!==e&&this.dispatchToElement(this._hovered,\"mouseout\",t),\"no_globalout\"!==e&&(i||this.trigger(\"globalout\",{type:\"globalout\",event:t}))},resize:function(t){this._hovered={}},dispatch:function(t,e){var i=this[t];i&&i.call(this,e)},dispose:function(){this.proxy.dispose(),this.storage=this.proxy=this.painter=null},setCursorStyle:function(t){var e=this.proxy;e.setCursor&&e.setCursor(t)},dispatchToElement:function(t,e,i){var n=(t=t||{}).target;if(!n||!n.silent){for(var o=\"on\"+e,a=function(t,e,i){return{type:t,event:i,target:e.target,topTarget:e.topTarget,cancelBubble:!1,offsetX:i.zrX,offsetY:i.zrY,gestureEvent:i.gestureEvent,pinchX:i.pinchX,pinchY:i.pinchY,pinchScale:i.pinchScale,wheelDelta:i.zrDelta,zrByTouch:i.zrByTouch,which:i.which,stop:Jt}}(e,t,i);n&&(n[o]&&(a.cancelBubble=n[o].call(n,a)),n.trigger(e,a),n=n.parent,!a.cancelBubble););a.cancelBubble||(this.trigger(e,a),this.painter&&this.painter.eachOtherLayer(function(t){\"function\"==typeof t[o]&&t[o].call(t,a),t.trigger&&t.trigger(e,a)}))}},findHover:function(t,e,i){for(var n=this.storage.getDisplayList(),o={x:t,y:e},a=n.length-1;0<=a;a--){var r;if(n[a]!==i&&!n[a].ignore&&(r=ie(n[a],t,e))&&(o.topTarget||(o.topTarget=n[a]),r!==$t)){o.target=n[a];break}}return o},processGesture:function(t,e){this._gestureMgr||(this._gestureMgr=new jt);var i=this._gestureMgr;\"start\"===e&&i.clear();var n=i.recognize(t,this.findHover(t.zrX,t.zrY,null).target,this.proxy.dom);if(\"end\"===e&&i.clear(),n){var o=n.type;t.gestureEvent=o,this.dispatchToElement({target:n.target},o,n.event)}}},R([\"click\",\"mousedown\",\"mouseup\",\"mousewheel\",\"dblclick\",\"contextmenu\"],function(r){te.prototype[r]=function(t){var e,i,n=t.zrX,o=t.zrY,a=ne(this,n,o);if(\"mouseup\"===r&&a||(i=(e=this.findHover(n,o)).target),\"mousedown\"===r)this._downEl=i,this._downPoint=[t.zrX,t.zrY],this._upEl=i;else if(\"mouseup\"===r)this._upEl=i;else if(\"click\"===r){if(this._downEl!==this._upEl||!this._downPoint||4<yt(this._downPoint,[t.zrX,t.zrY]))return;this._downPoint=null}this.dispatchToElement(e,r,t)}}),b(te,Ct),b(te,Tt);var oe=\"undefined\"==typeof Float32Array?Array:Float32Array;function ae(){var t=new oe(6);return re(t),t}function re(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t}function se(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t}function le(t,e,i){var n=e[0]*i[0]+e[2]*i[1],o=e[1]*i[0]+e[3]*i[1],a=e[0]*i[2]+e[2]*i[3],r=e[1]*i[2]+e[3]*i[3],s=e[0]*i[4]+e[2]*i[5]+e[4],l=e[1]*i[4]+e[3]*i[5]+e[5];return t[0]=n,t[1]=o,t[2]=a,t[3]=r,t[4]=s,t[5]=l,t}function ue(t,e,i){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4]+i[0],t[5]=e[5]+i[1],t}function he(t,e,i){var n=e[0],o=e[2],a=e[4],r=e[1],s=e[3],l=e[5],u=Math.sin(i),h=Math.cos(i);return t[0]=n*h+r*u,t[1]=-n*u+r*h,t[2]=o*h+s*u,t[3]=-o*u+h*s,t[4]=h*a+u*l,t[5]=h*l-u*a,t}function ce(t,e,i){var n=i[0],o=i[1];return t[0]=e[0]*n,t[1]=e[1]*o,t[2]=e[2]*n,t[3]=e[3]*o,t[4]=e[4]*n,t[5]=e[5]*o,t}function de(t,e){var i=e[0],n=e[2],o=e[4],a=e[1],r=e[3],s=e[5],l=i*r-a*n;return l?(l=1/l,t[0]=r*l,t[1]=-a*l,t[2]=-n*l,t[3]=i*l,t[4]=(n*s-r*o)*l,t[5]=(a*o-i*s)*l,t):null}function fe(t){var e=ae();return se(e,t),e}var pe=(Object.freeze||Object)({create:ae,identity:re,copy:se,mul:le,translate:ue,rotate:he,scale:ce,invert:de,clone:fe}),ge=re;function me(t){return 5e-5<t||t<-5e-5}var ve=function(t){(t=t||{}).position||(this.position=[0,0]),null==t.rotation&&(this.rotation=0),t.scale||(this.scale=[1,1]),this.origin=this.origin||null},ye=ve.prototype;ye.transform=null,ye.needLocalTransform=function(){return me(this.rotation)||me(this.position[0])||me(this.position[1])||me(this.scale[0]-1)||me(this.scale[1]-1)};var xe=[];ye.updateTransform=function(){var t=this.parent,e=t&&t.transform,i=this.needLocalTransform(),n=this.transform;if(i||e){n=n||ae(),i?this.getLocalTransform(n):ge(n),e&&(i?le(n,t.transform,n):se(n,t.transform)),this.transform=n;var o=this.globalScaleRatio;if(null!=o&&1!==o){this.getGlobalScale(xe);var a=xe[0]<0?-1:1,r=xe[1]<0?-1:1,s=((xe[0]-a)*o+a)/xe[0]||0,l=((xe[1]-r)*o+r)/xe[1]||0;n[0]*=s,n[1]*=s,n[2]*=l,n[3]*=l}this.invTransform=this.invTransform||ae(),de(this.invTransform,n)}else n&&ge(n)},ye.getLocalTransform=function(t){return ve.getLocalTransform(this,t)},ye.setTransform=function(t){var e=this.transform,i=t.dpr||1;e?t.setTransform(i*e[0],i*e[1],i*e[2],i*e[3],i*e[4],i*e[5]):t.setTransform(i,0,0,i,0,0)},ye.restoreTransform=function(t){var e=t.dpr||1;t.setTransform(e,0,0,e,0,0)};var _e=[],we=ae();ye.setLocalTransform=function(t){if(t){var e=t[0]*t[0]+t[1]*t[1],i=t[2]*t[2]+t[3]*t[3],n=this.position,o=this.scale;me(e-1)&&(e=Math.sqrt(e)),me(i-1)&&(i=Math.sqrt(i)),t[0]<0&&(e=-e),t[3]<0&&(i=-i),n[0]=t[4],n[1]=t[5],o[0]=e,o[1]=i,this.rotation=Math.atan2(-t[1]/i,t[0]/e)}},ye.decomposeTransform=function(){if(this.transform){var t=this.parent,e=this.transform;t&&t.transform&&(le(_e,t.invTransform,e),e=_e);var i=this.origin;i&&(i[0]||i[1])&&(we[4]=i[0],we[5]=i[1],le(_e,e,we),_e[4]-=i[0],_e[5]-=i[1],e=_e),this.setLocalTransform(e)}},ye.getGlobalScale=function(t){var e=this.transform;return t=t||[],e?(t[0]=Math.sqrt(e[0]*e[0]+e[1]*e[1]),t[1]=Math.sqrt(e[2]*e[2]+e[3]*e[3]),e[0]<0&&(t[0]=-t[0]),e[3]<0&&(t[1]=-t[1])):(t[0]=1,t[1]=1),t},ye.transformCoordToLocal=function(t,e){var i=[t,e],n=this.invTransform;return n&&bt(i,i,n),i},ye.transformCoordToGlobal=function(t,e){var i=[t,e],n=this.transform;return n&&bt(i,i,n),i},ve.getLocalTransform=function(t,e){ge(e=e||[]);var i=t.origin,n=t.scale||[1,1],o=t.rotation||0,a=t.position||[0,0];return i&&(e[4]-=i[0],e[5]-=i[1]),ce(e,e,n),o&&he(e,e,o),i&&(e[4]+=i[0],e[5]+=i[1]),e[4]+=a[0],e[5]+=a[1],e};var be={linear:function(t){return t},quadraticIn:function(t){return t*t},quadraticOut:function(t){return t*(2-t)},quadraticInOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)},cubicIn:function(t){return t*t*t},cubicOut:function(t){return--t*t*t+1},cubicInOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)},quarticIn:function(t){return t*t*t*t},quarticOut:function(t){return 1- --t*t*t*t},quarticInOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)},quinticIn:function(t){return t*t*t*t*t},quinticOut:function(t){return--t*t*t*t*t+1},quinticInOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)},sinusoidalIn:function(t){return 1-Math.cos(t*Math.PI/2)},sinusoidalOut:function(t){return Math.sin(t*Math.PI/2)},sinusoidalInOut:function(t){return.5*(1-Math.cos(Math.PI*t))},exponentialIn:function(t){return 0===t?0:Math.pow(1024,t-1)},exponentialOut:function(t){return 1===t?1:1-Math.pow(2,-10*t)},exponentialInOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))},circularIn:function(t){return 1-Math.sqrt(1-t*t)},circularOut:function(t){return Math.sqrt(1- --t*t)},circularInOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)},elasticIn:function(t){var e,i=.1;return 0===t?0:1===t?1:(e=!i||i<1?(i=1,.1):.4*Math.asin(1/i)/(2*Math.PI),-i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4))},elasticOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(e=!i||i<1?(i=1,.1):.4*Math.asin(1/i)/(2*Math.PI),i*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/.4)+1)},elasticInOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(e=!i||i<1?(i=1,.1):.4*Math.asin(1/i)/(2*Math.PI),(t*=2)<1?i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*-.5:i*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*.5+1)},backIn:function(t){return t*t*(2.70158*t-1.70158)},backOut:function(t){return--t*t*(2.70158*t+1.70158)+1},backInOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((1+e)*t-e)*.5:.5*((t-=2)*t*((1+e)*t+e)+2)},bounceIn:function(t){return 1-be.bounceOut(1-t)},bounceOut:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},bounceInOut:function(t){return t<.5?.5*be.bounceIn(2*t):.5*be.bounceOut(2*t-1)+.5}};function Se(t){this._target=t.target,this._life=t.life||1e3,this._delay=t.delay||0,this._initialized=!1,this.loop=null!=t.loop&&t.loop,this.gap=t.gap||0,this.easing=t.easing||\"Linear\",this.onframe=t.onframe,this.ondestroy=t.ondestroy,this.onrestart=t.onrestart,this._pausedTime=0,this._paused=!1}Se.prototype={constructor:Se,step:function(t,e){if(this._initialized||(this._startTime=t+this._delay,this._initialized=!0),this._paused)this._pausedTime+=e;else{var i=(t-this._startTime-this._pausedTime)/this._life;if(!(i<0)){i=Math.min(i,1);var n=this.easing,o=\"string\"==typeof n?be[n]:n,a=\"function\"==typeof o?o(i):i;return this.fire(\"frame\",a),1===i?this.loop?(this.restart(t),\"restart\"):(this._needsRemove=!0,\"destroy\"):null}}},restart:function(t){var e=(t-this._startTime-this._pausedTime)%this._life;this._startTime=t-e+this.gap,this._pausedTime=0,this._needsRemove=!1},fire:function(t,e){this[t=\"on\"+t]&&this[t](this._target,e)},pause:function(){this._paused=!0},resume:function(){this._paused=!1}};function Me(){this.head=null,this.tail=null,this._len=0}var Ie=Me.prototype;Ie.insert=function(t){var e=new Ae(t);return this.insertEntry(e),e},Ie.insertEntry=function(t){this.head?((this.tail.next=t).prev=this.tail,t.next=null,this.tail=t):this.head=this.tail=t,this._len++},Ie.remove=function(t){var e=t.prev,i=t.next;e?e.next=i:this.head=i,i?i.prev=e:this.tail=e,t.next=t.prev=null,this._len--},Ie.len=function(){return this._len},Ie.clear=function(){this.head=this.tail=null,this._len=0};function Te(t){this._list=new Me,this._map={},this._maxSize=t||10,this._lastRemovedEntry=null}var Ae=function(t){this.value=t,this.next,this.prev},De=Te.prototype;De.put=function(t,e){var i=this._list,n=this._map,o=null;if(null==n[t]){var a=i.len(),r=this._lastRemovedEntry;if(a>=this._maxSize&&0<a){var s=i.head;i.remove(s),delete n[s.key],o=s.value,this._lastRemovedEntry=s}r?r.value=e:r=new Ae(e),r.key=t,i.insertEntry(r),n[t]=r}return o},De.get=function(t){var e=this._map[t],i=this._list;if(null!=e)return e!==i.tail&&(i.remove(e),i.insertEntry(e)),e.value},De.clear=function(){this._list.clear(),this._map={}};var Ce={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]};function Le(t){return(t=Math.round(t))<0?0:255<t?255:t}function ke(t){return t<0?0:1<t?1:t}function Pe(t){return t.length&&\"%\"===t.charAt(t.length-1)?Le(parseFloat(t)/100*255):Le(parseInt(t,10))}function Ne(t){return t.length&&\"%\"===t.charAt(t.length-1)?ke(parseFloat(t)/100):ke(parseFloat(t))}function Oe(t,e,i){return i<0?i+=1:1<i&&(i-=1),6*i<1?t+(e-t)*i*6:2*i<1?e:3*i<2?t+(e-t)*(2/3-i)*6:t}function Re(t,e,i){return t+(e-t)*i}function Ee(t,e,i,n,o){return t[0]=e,t[1]=i,t[2]=n,t[3]=o,t}function ze(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}var Be=new Te(20),Ve=null;function Ge(t,e){Ve&&ze(Ve,e),Ve=Be.put(t,Ve||e.slice())}function Fe(t,e){if(t){e=e||[];var i=Be.get(t);if(i)return ze(e,i);var n,o=(t+=\"\").replace(/ /g,\"\").toLowerCase();if(o in Ce)return ze(e,Ce[o]),Ge(t,e),e;if(\"#\"===o.charAt(0))return 4===o.length?0<=(n=parseInt(o.substr(1),16))&&n<=4095?(Ee(e,(3840&n)>>4|(3840&n)>>8,240&n|(240&n)>>4,15&n|(15&n)<<4,1),Ge(t,e),e):void Ee(e,0,0,0,1):7===o.length?0<=(n=parseInt(o.substr(1),16))&&n<=16777215?(Ee(e,(16711680&n)>>16,(65280&n)>>8,255&n,1),Ge(t,e),e):void Ee(e,0,0,0,1):void 0;var a=o.indexOf(\"(\"),r=o.indexOf(\")\");if(-1!==a&&r+1===o.length){var s=o.substr(0,a),l=o.substr(a+1,r-(a+1)).split(\",\"),u=1;switch(s){case\"rgba\":if(4!==l.length)return void Ee(e,0,0,0,1);u=Ne(l.pop());case\"rgb\":return 3!==l.length?void Ee(e,0,0,0,1):(Ee(e,Pe(l[0]),Pe(l[1]),Pe(l[2]),u),Ge(t,e),e);case\"hsla\":return 4!==l.length?void Ee(e,0,0,0,1):(l[3]=Ne(l[3]),We(l,e),Ge(t,e),e);case\"hsl\":return 3!==l.length?void Ee(e,0,0,0,1):(We(l,e),Ge(t,e),e);default:return}}Ee(e,0,0,0,1)}}function We(t,e){var i=(parseFloat(t[0])%360+360)%360/360,n=Ne(t[1]),o=Ne(t[2]),a=o<=.5?o*(n+1):o+n-o*n,r=2*o-a;return Ee(e=e||[],Le(255*Oe(r,a,i+1/3)),Le(255*Oe(r,a,i)),Le(255*Oe(r,a,i-1/3)),1),4===t.length&&(e[3]=t[3]),e}function He(t,e){var i=Fe(t);if(i){for(var n=0;n<3;n++)i[n]=e<0?i[n]*(1-e)|0:(255-i[n])*e+i[n]|0,255<i[n]?i[n]=255:t[n]<0&&(i[n]=0);return $e(i,4===i.length?\"rgba\":\"rgb\")}}function Ze(t){var e=Fe(t);if(e)return((1<<24)+(e[0]<<16)+(e[1]<<8)+ +e[2]).toString(16).slice(1)}function Ue(t,e,i){if(e&&e.length&&0<=t&&t<=1){i=i||[];var n=t*(e.length-1),o=Math.floor(n),a=Math.ceil(n),r=e[o],s=e[a],l=n-o;return i[0]=Le(Re(r[0],s[0],l)),i[1]=Le(Re(r[1],s[1],l)),i[2]=Le(Re(r[2],s[2],l)),i[3]=ke(Re(r[3],s[3],l)),i}}var Xe=Ue;function Ye(t,e,i){if(e&&e.length&&0<=t&&t<=1){var n=t*(e.length-1),o=Math.floor(n),a=Math.ceil(n),r=Fe(e[o]),s=Fe(e[a]),l=n-o,u=$e([Le(Re(r[0],s[0],l)),Le(Re(r[1],s[1],l)),Le(Re(r[2],s[2],l)),ke(Re(r[3],s[3],l))],\"rgba\");return i?{color:u,leftIndex:o,rightIndex:a,value:n}:u}}var je=Ye;function qe(t,e,i,n){if(t=Fe(t))return t=function(t){if(t){var e,i,n=t[0]/255,o=t[1]/255,a=t[2]/255,r=Math.min(n,o,a),s=Math.max(n,o,a),l=s-r,u=(s+r)/2;if(0==l)i=e=0;else{i=u<.5?l/(s+r):l/(2-s-r);var h=((s-n)/6+l/2)/l,c=((s-o)/6+l/2)/l,d=((s-a)/6+l/2)/l;n===s?e=d-c:o===s?e=1/3+h-d:a===s&&(e=2/3+c-h),e<0&&(e+=1),1<e&&(e-=1)}var f=[360*e,i,u];return null!=t[3]&&f.push(t[3]),f}}(t),null!=e&&(t[0]=function(t){return(t=Math.round(t))<0?0:360<t?360:t}(e)),null!=i&&(t[1]=Ne(i)),null!=n&&(t[2]=Ne(n)),$e(We(t),\"rgba\")}function Ke(t,e){if((t=Fe(t))&&null!=e)return t[3]=ke(e),$e(t,\"rgba\")}function $e(t,e){if(t&&t.length){var i=t[0]+\",\"+t[1]+\",\"+t[2];return\"rgba\"!==e&&\"hsva\"!==e&&\"hsla\"!==e||(i+=\",\"+t[3]),e+\"(\"+i+\")\"}}var Je=(Object.freeze||Object)({parse:Fe,lift:He,toHex:Ze,fastLerp:Ue,fastMapToColor:Xe,lerp:Ye,mapToColor:je,modifyHSL:qe,modifyAlpha:Ke,stringify:$e}),Qe=Array.prototype.slice;function ti(t,e){return t[e]}function ei(t,e,i){t[e]=i}function ii(t,e,i){return(e-t)*i+t}function ni(t,e,i){return.5<i?e:t}function oi(t,e,i,n,o){var a=t.length;if(1===o)for(var r=0;r<a;r++)n[r]=ii(t[r],e[r],i);else{var s=a&&t[0].length;for(r=0;r<a;r++)for(var l=0;l<s;l++)n[r][l]=ii(t[r][l],e[r][l],i)}}function ai(t,e,i){var n=t.length,o=e.length;if(n!==o)if(o<n)t.length=o;else for(var a=n;a<o;a++)t.push(1===i?e[a]:Qe.call(e[a]));var r=t[0]&&t[0].length;for(a=0;a<t.length;a++)if(1===i)isNaN(t[a])&&(t[a]=e[a]);else for(var s=0;s<r;s++)isNaN(t[a][s])&&(t[a][s]=e[a][s])}function ri(t,e,i){if(t===e)return!0;var n=t.length;if(n!==e.length)return!1;if(1===i){for(var o=0;o<n;o++)if(t[o]!==e[o])return!1}else{var a=t[0].length;for(o=0;o<n;o++)for(var r=0;r<a;r++)if(t[o][r]!==e[o][r])return!1}return!0}function si(t,e,i,n,o,a,r,s,l){var u=t.length;if(1===l)for(var h=0;h<u;h++)s[h]=li(t[h],e[h],i[h],n[h],o,a,r);else{var c=t[0].length;for(h=0;h<u;h++)for(var d=0;d<c;d++)s[h][d]=li(t[h][d],e[h][d],i[h][d],n[h][d],o,a,r)}}function li(t,e,i,n,o,a,r){var s=.5*(i-t),l=.5*(n-e);return(2*(e-i)+s+l)*r+(-3*(e-i)-2*s-l)*a+s*o+e}function ui(t){if(N(t)){var e=t.length;if(N(t[0])){for(var i=[],n=0;n<e;n++)i.push(Qe.call(t[n]));return i}return Qe.call(t)}return t}function hi(t){return t[0]=Math.floor(t[0]),t[1]=Math.floor(t[1]),t[2]=Math.floor(t[2]),\"rgba(\"+t.join(\",\")+\")\"}function ci(t,e,i,n,a,o){var r=t._getter,s=t._setter,l=\"spline\"===e,u=n.length;if(u){var h,c=N(n[0].value),d=!1,f=!1,p=c?function(t){var e=t[t.length-1].value;return N(e&&e[0])?2:1}(n):0;n.sort(function(t,e){return t.time-e.time}),h=n[u-1].time;for(var g=[],m=[],v=n[0].value,y=!0,x=0;x<u;x++){g.push(n[x].time/h);var _=n[x].value;if(c&&ri(_,v,p)||!c&&_===v||(y=!1),\"string\"==typeof(v=_)){var w=Fe(_);w?(_=w,d=!0):f=!0}m.push(_)}if(o||!y){var b=m[u-1];for(x=0;x<u-1;x++)c?ai(m[x],b,p):!isNaN(m[x])||isNaN(b)||f||d||(m[x]=b);c&&ai(r(t._target,a),b,p);var S,M,I,T,A,D=0,C=0;if(d)var L=[0,0,0,0];var k=new Se({target:t._target,life:h,loop:t._loop,delay:t._delay,onframe:function(t,e){var i;if(e<0)i=0;else if(e<C){for(i=Math.min(D+1,u-1);0<=i&&!(g[i]<=e);i--);i=Math.min(i,u-2)}else{for(i=D;i<u&&!(g[i]>e);i++);i=Math.min(i-1,u-2)}C=e;var n=g[(D=i)+1]-g[i];if(0!=n)if(S=(e-g[i])/n,l)if(I=m[i],M=m[0===i?i:i-1],T=m[u-2<i?u-1:i+1],A=m[u-3<i?u-1:i+2],c)si(M,I,T,A,S,S*S,S*S*S,r(t,a),p);else{if(d)o=si(M,I,T,A,S,S*S,S*S*S,L,1),o=hi(L);else{if(f)return ni(I,T,S);o=li(M,I,T,A,S,S*S,S*S*S)}s(t,a,o)}else if(c)oi(m[i],m[i+1],S,r(t,a),p);else{var o;if(d)oi(m[i],m[i+1],S,L,1),o=hi(L);else{if(f)return ni(m[i],m[i+1],S);o=ii(m[i],m[i+1],S)}s(t,a,o)}},ondestroy:i});return e&&\"spline\"!==e&&(k.easing=e),k}}}function di(t,e,i,n){this._tracks={},this._target=t,this._loop=e||!1,this._getter=i||ti,this._setter=n||ei,this._clipCount=0,this._delay=0,this._doneList=[],this._onframeList=[],this._clipList=[]}di.prototype={when:function(t,e){var i=this._tracks;for(var n in e)if(e.hasOwnProperty(n)){if(!i[n]){i[n]=[];var o=this._getter(this._target,n);if(null==o)continue;0!==t&&i[n].push({time:0,value:ui(o)})}i[n].push({time:t,value:e[n]})}return this},during:function(t){return this._onframeList.push(t),this},pause:function(){for(var t=0;t<this._clipList.length;t++)this._clipList[t].pause();this._paused=!0},resume:function(){for(var t=0;t<this._clipList.length;t++)this._clipList[t].resume();this._paused=!1},isPaused:function(){return!!this._paused},_doneCallback:function(){this._tracks={},this._clipList.length=0;for(var t=this._doneList,e=t.length,i=0;i<e;i++)t[i].call(this)},start:function(t,e){function i(){--a||o._doneCallback()}var n,o=this,a=0;for(var r in this._tracks)if(this._tracks.hasOwnProperty(r)){var s=ci(this,t,i,this._tracks[r],r,e);s&&(this._clipList.push(s),a++,this.animation&&this.animation.addClip(s),n=s)}if(n){var l=n.onframe;n.onframe=function(t,e){l(t,e);for(var i=0;i<o._onframeList.length;i++)o._onframeList[i](t,e)}}return a||this._doneCallback(),this},stop:function(t){for(var e=this._clipList,i=this.animation,n=0;n<e.length;n++){var o=e[n];t&&o.onframe(this._target,1),i&&i.removeClip(o)}e.length=0},delay:function(t){return this._delay=t,this},done:function(t){return t&&this._doneList.push(t),this},getClips:function(){return this._clipList}};var fi=1;\"undefined\"!=typeof window&&(fi=Math.max(window.devicePixelRatio||1,1));var pi=fi,gi=function(){};function mi(){this.animators=[]}var vi=gi;function yi(t,e,i,n,o,a,r,s){E(n)?(a=o,o=n,n=0):C(o)?(a=o,o=\"linear\",n=0):C(n)?(a=n,n=0):i=C(i)?(a=i,500):i||500,t.stopAnimation(),function t(e,i,n,o,a,r,s){var l={};var u=0;for(var h in o)o.hasOwnProperty(h)&&(null!=n[h]?z(o[h])&&!N(o[h])?t(e,i?i+\".\"+h:h,n[h],o[h],a,r,s):(s?(l[h]=n[h],xi(e,i,h,o[h])):l[h]=o[h],u++):null==o[h]||s||xi(e,i,h,o[h]));0<u&&e.animate(i,!1).when(null==a?500:a,l).delay(r||0)}(t,\"\",t,e,i,n,s);var l=t.animators.slice(),u=l.length;function h(){--u||a&&a()}u||a&&a();for(var c=0;c<l.length;c++)l[c].done(h).start(o,r)}function xi(t,e,i,n){if(e){var o={};o[e]={},o[e][i]=n,t.attr(o)}else t.attr(i,n)}mi.prototype={constructor:mi,animate:function(t,e){var i,n=!1,o=this,a=this.__zr;if(t){var r=t.split(\".\"),s=o;n=\"shape\"===r[0];for(var l=0,u=r.length;l<u;l++)s=s&&s[r[l]];s&&(i=s)}else i=o;if(i){var h=o.animators,c=new di(i,e);return c.during(function(t){o.dirty(n)}).done(function(){h.splice(_(h,c),1)}),h.push(c),a&&a.animation.addAnimator(c),c}vi('Property \"'+t+'\" is not existed in element '+o.id)},stopAnimation:function(t){for(var e=this.animators,i=e.length,n=0;n<i;n++)e[n].stop(t);return e.length=0,this},animateTo:function(t,e,i,n,o,a){yi(this,t,e,i,n,o,a)},animateFrom:function(t,e,i,n,o,a){yi(this,t,e,i,n,o,a,!0)}};var _i=function(t){ve.call(this,t),Ct.call(this,t),mi.call(this,t),this.id=t.id||n()};_i.prototype={type:\"element\",name:\"\",__zr:null,ignore:!1,clipPath:null,isGroup:!1,drift:function(t,e){switch(this.draggable){case\"horizontal\":e=0;break;case\"vertical\":t=0}var i=this.transform;(i=i||(this.transform=[1,0,0,1,0,0]))[4]+=t,i[5]+=e,this.decomposeTransform(),this.dirty(!1)},beforeUpdate:function(){},afterUpdate:function(){},update:function(){this.updateTransform()},traverse:function(t,e){},attrKV:function(t,e){if(\"position\"===t||\"scale\"===t||\"origin\"===t){if(e){var i=this[t];(i=i||(this[t]=[]))[0]=e[0],i[1]=e[1]}}else this[t]=e},hide:function(){this.ignore=!0,this.__zr&&this.__zr.refresh()},show:function(){this.ignore=!1,this.__zr&&this.__zr.refresh()},attr:function(t,e){if(\"string\"==typeof t)this.attrKV(t,e);else if(z(t))for(var i in t)t.hasOwnProperty(i)&&this.attrKV(i,t[i]);return this.dirty(!1),this},setClipPath:function(t){var e=this.__zr;e&&t.addSelfToZr(e),this.clipPath&&this.clipPath!==t&&this.removeClipPath(),(this.clipPath=t).__zr=e,(t.__clipTarget=this).dirty(!1)},removeClipPath:function(){var t=this.clipPath;t&&(t.__zr&&t.removeSelfFromZr(t.__zr),t.__zr=null,t.__clipTarget=null,this.clipPath=null,this.dirty(!1))},addSelfToZr:function(t){this.__zr=t;var e=this.animators;if(e)for(var i=0;i<e.length;i++)t.animation.addAnimator(e[i]);this.clipPath&&this.clipPath.addSelfToZr(t)},removeSelfFromZr:function(t){this.__zr=null;var e=this.animators;if(e)for(var i=0;i<e.length;i++)t.animation.removeAnimator(e[i]);this.clipPath&&this.clipPath.removeSelfFromZr(t)}},b(_i,mi),b(_i,ve),b(_i,Ct);var wi,bi,Si,Mi,Ii=bt,Ti=Math.min,Ai=Math.max;function Di(t,e,i,n){i<0&&(t+=i,i=-i),n<0&&(e+=n,n=-n),this.x=t,this.y=e,this.width=i,this.height=n}Di.prototype={constructor:Di,union:function(t){var e=Ti(t.x,this.x),i=Ti(t.y,this.y);this.width=Ai(t.x+t.width,this.x+this.width)-e,this.height=Ai(t.y+t.height,this.y+this.height)-i,this.x=e,this.y=i},applyTransform:(wi=[],bi=[],Si=[],Mi=[],function(t){if(t){wi[0]=Si[0]=this.x,wi[1]=Mi[1]=this.y,bi[0]=Mi[0]=this.x+this.width,bi[1]=Si[1]=this.y+this.height,Ii(wi,wi,t),Ii(bi,bi,t),Ii(Si,Si,t),Ii(Mi,Mi,t),this.x=Ti(wi[0],bi[0],Si[0],Mi[0]),this.y=Ti(wi[1],bi[1],Si[1],Mi[1]);var e=Ai(wi[0],bi[0],Si[0],Mi[0]),i=Ai(wi[1],bi[1],Si[1],Mi[1]);this.width=e-this.x,this.height=i-this.y}}),calculateTransform:function(t){var e=t.width/this.width,i=t.height/this.height,n=ae();return ue(n,n,[-this.x,-this.y]),ce(n,n,[e,i]),ue(n,n,[t.x,t.y]),n},intersect:function(t){if(!t)return!1;t instanceof Di||(t=Di.create(t));var e=this,i=e.x,n=e.x+e.width,o=e.y,a=e.y+e.height,r=t.x,s=t.x+t.width,l=t.y,u=t.y+t.height;return!(n<r||s<i||a<l||u<o)},contain:function(t,e){var i=this;return t>=i.x&&t<=i.x+i.width&&e>=i.y&&e<=i.y+i.height},clone:function(){return new Di(this.x,this.y,this.width,this.height)},copy:function(t){this.x=t.x,this.y=t.y,this.width=t.width,this.height=t.height},plain:function(){return{x:this.x,y:this.y,width:this.width,height:this.height}}},Di.create=function(t){return new Di(t.x,t.y,t.width,t.height)};var Ci=function(t){for(var e in t=t||{},_i.call(this,t),t)t.hasOwnProperty(e)&&(this[e]=t[e]);this._children=[],this.__storage=null,this.__dirty=!0};Ci.prototype={constructor:Ci,isGroup:!0,type:\"group\",silent:!1,children:function(){return this._children.slice()},childAt:function(t){return this._children[t]},childOfName:function(t){for(var e=this._children,i=0;i<e.length;i++)if(e[i].name===t)return e[i]},childCount:function(){return this._children.length},add:function(t){return t&&t!==this&&t.parent!==this&&(this._children.push(t),this._doAdd(t)),this},addBefore:function(t,e){if(t&&t!==this&&t.parent!==this&&e&&e.parent===this){var i=this._children,n=i.indexOf(e);0<=n&&(i.splice(n,0,t),this._doAdd(t))}return this},_doAdd:function(t){t.parent&&t.parent.remove(t);var e=(t.parent=this).__storage,i=this.__zr;e&&e!==t.__storage&&(e.addToStorage(t),t instanceof Ci&&t.addChildrenToStorage(e)),i&&i.refresh()},remove:function(t){var e=this.__zr,i=this.__storage,n=this._children,o=_(n,t);return o<0||(n.splice(o,1),t.parent=null,i&&(i.delFromStorage(t),t instanceof Ci&&t.delChildrenFromStorage(i)),e&&e.refresh()),this},removeAll:function(){var t,e,i=this._children,n=this.__storage;for(e=0;e<i.length;e++)t=i[e],n&&(n.delFromStorage(t),t instanceof Ci&&t.delChildrenFromStorage(n)),t.parent=null;return i.length=0,this},eachChild:function(t,e){for(var i=this._children,n=0;n<i.length;n++){var o=i[n];t.call(e,o,n)}return this},traverse:function(t,e){for(var i=0;i<this._children.length;i++){var n=this._children[i];t.call(e,n),\"group\"===n.type&&n.traverse(t,e)}return this},addChildrenToStorage:function(t){for(var e=0;e<this._children.length;e++){var i=this._children[e];t.addToStorage(i),i instanceof Ci&&i.addChildrenToStorage(t)}},delChildrenFromStorage:function(t){for(var e=0;e<this._children.length;e++){var i=this._children[e];t.delFromStorage(i),i instanceof Ci&&i.delChildrenFromStorage(t)}},dirty:function(){return this.__dirty=!0,this.__zr&&this.__zr.refresh(),this},getBoundingRect:function(t){for(var e=null,i=new Di(0,0,0,0),n=t||this._children,o=[],a=0;a<n.length;a++){var r=n[a];if(!r.ignore&&!r.invisible){var s=r.getBoundingRect(),l=r.getLocalTransform(o);l?(i.copy(s),i.applyTransform(l),(e=e||i.clone()).union(i)):(e=e||s.clone()).union(s)}}return e||i}},w(Ci,_i);var Li=32,ki=7;function Pi(t,e,i,n){var o=e+1;if(o===i)return 1;if(n(t[o++],t[e])<0){for(;o<i&&n(t[o],t[o-1])<0;)o++;!function(t,e,i){i--;for(;e<i;){var n=t[e];t[e++]=t[i],t[i--]=n}}(t,e,o)}else for(;o<i&&0<=n(t[o],t[o-1]);)o++;return o-e}function Ni(t,e,i,n,o){for(n===e&&n++;n<i;n++){for(var a,r=t[n],s=e,l=n;s<l;)o(r,t[a=s+l>>>1])<0?l=a:s=1+a;var u=n-s;switch(u){case 3:t[s+3]=t[s+2];case 2:t[s+2]=t[s+1];case 1:t[s+1]=t[s];break;default:for(;0<u;)t[s+u]=t[s+u-1],u--}t[s]=r}}function Oi(t,e,i,n,o,a){var r=0,s=0,l=1;if(0<a(t,e[i+o])){for(s=n-o;l<s&&0<a(t,e[i+o+l]);)(l=1+((r=l)<<1))<=0&&(l=s);s<l&&(l=s),r+=o,l+=o}else{for(s=o+1;l<s&&a(t,e[i+o-l])<=0;)(l=1+((r=l)<<1))<=0&&(l=s);s<l&&(l=s);var u=r;r=o-l,l=o-u}for(r++;r<l;){var h=r+(l-r>>>1);0<a(t,e[i+h])?r=h+1:l=h}return l}function Ri(t,e,i,n,o,a){var r=0,s=0,l=1;if(a(t,e[i+o])<0){for(s=o+1;l<s&&a(t,e[i+o-l])<0;)(l=1+((r=l)<<1))<=0&&(l=s);s<l&&(l=s);var u=r;r=o-l,l=o-u}else{for(s=n-o;l<s&&0<=a(t,e[i+o+l]);)(l=1+((r=l)<<1))<=0&&(l=s);s<l&&(l=s),r+=o,l+=o}for(r++;r<l;){var h=r+(l-r>>>1);a(t,e[i+h])<0?l=h:r=h+1}return l}function Ei(p,g){var r,s,m=ki,l=0,v=[];function e(t){var e=r[t],i=s[t],n=r[t+1],o=s[t+1];s[t]=i+o,t===l-3&&(r[t+1]=r[t+2],s[t+1]=s[t+2]),l--;var a=Ri(p[n],p,e,i,0,g);e+=a,0!==(i-=a)&&0!==(o=Oi(p[e+i-1],p,n,o,o-1,g))&&(i<=o?function(t,e,i,n){var o=0;for(o=0;o<e;o++)v[o]=p[t+o];var a=0,r=i,s=t;if(p[s++]=p[r++],0==--n){for(o=0;o<e;o++)p[s+o]=v[a+o];return}if(1===e){for(o=0;o<n;o++)p[s+o]=p[r+o];return p[s+n]=v[a]}var l,u,h,c=m;for(;;){u=l=0,h=!1;do{if(g(p[r],v[a])<0){if(p[s++]=p[r++],u++,(l=0)==--n){h=!0;break}}else if(p[s++]=v[a++],l++,u=0,1==--e){h=!0;break}}while((l|u)<c);if(h)break;do{if(0!==(l=Ri(p[r],v,a,e,0,g))){for(o=0;o<l;o++)p[s+o]=v[a+o];if(s+=l,a+=l,(e-=l)<=1){h=!0;break}}if(p[s++]=p[r++],0==--n){h=!0;break}if(0!==(u=Oi(v[a],p,r,n,0,g))){for(o=0;o<u;o++)p[s+o]=p[r+o];if(s+=u,r+=u,0===(n-=u)){h=!0;break}}if(p[s++]=v[a++],1==--e){h=!0;break}c--}while(ki<=l||ki<=u);if(h)break;c<0&&(c=0),c+=2}if((m=c)<1&&(m=1),1===e){for(o=0;o<n;o++)p[s+o]=p[r+o];p[s+n]=v[a]}else{if(0===e)throw new Error;for(o=0;o<e;o++)p[s+o]=v[a+o]}}(e,i,n,o):function(t,e,i,n){var o=0;for(o=0;o<n;o++)v[o]=p[i+o];var a=t+e-1,r=n-1,s=i+n-1,l=0,u=0;if(p[s--]=p[a--],0==--e){for(l=s-(n-1),o=0;o<n;o++)p[l+o]=v[o];return}if(1===n){for(u=(s-=e)+1,l=(a-=e)+1,o=e-1;0<=o;o--)p[u+o]=p[l+o];return p[s]=v[r]}var h=m;for(;;){var c=0,d=0,f=!1;do{if(g(v[r],p[a])<0){if(p[s--]=p[a--],c++,(d=0)==--e){f=!0;break}}else if(p[s--]=v[r--],d++,c=0,1==--n){f=!0;break}}while((c|d)<h);if(f)break;do{if(0!==(c=e-Ri(v[r],p,t,e,e-1,g))){for(e-=c,u=(s-=c)+1,l=(a-=c)+1,o=c-1;0<=o;o--)p[u+o]=p[l+o];if(0===e){f=!0;break}}if(p[s--]=v[r--],1==--n){f=!0;break}if(0!==(d=n-Oi(p[a],v,0,n,n-1,g))){for(n-=d,u=(s-=d)+1,l=(r-=d)+1,o=0;o<d;o++)p[u+o]=v[l+o];if(n<=1){f=!0;break}}if(p[s--]=p[a--],0==--e){f=!0;break}h--}while(ki<=c||ki<=d);if(f)break;h<0&&(h=0),h+=2}(m=h)<1&&(m=1);if(1===n){for(u=(s-=e)+1,l=(a-=e)+1,o=e-1;0<=o;o--)p[u+o]=p[l+o];p[s]=v[r]}else{if(0===n)throw new Error;for(l=s-(n-1),o=0;o<n;o++)p[l+o]=v[o]}}(e,i,n,o))}r=[],s=[],this.mergeRuns=function(){for(;1<l;){var t=l-2;if(1<=t&&s[t-1]<=s[t]+s[t+1]||2<=t&&s[t-2]<=s[t]+s[t-1])s[t-1]<s[t+1]&&t--;else if(s[t]>s[t+1])break;e(t)}},this.forceMergeRuns=function(){for(;1<l;){var t=l-2;0<t&&s[t-1]<s[t+1]&&t--,e(t)}},this.pushRun=function(t,e){r[l]=t,s[l]=e,l+=1}}function zi(t,e,i,n){i=i||0;var o=(n=n||t.length)-i;if(!(o<2)){var a=0;if(o<Li)Ni(t,i,n,i+(a=Pi(t,i,n,e)),e);else{var r=new Ei(t,e),s=function(t){for(var e=0;Li<=t;)e|=1&t,t>>=1;return t+e}(o);do{if((a=Pi(t,i,n,e))<s){var l=o;s<l&&(l=s),Ni(t,i,i+l,i+a,e),a=l}r.pushRun(i,a),r.mergeRuns(),o-=a,i+=a}while(0!==o);r.forceMergeRuns()}}}function Bi(t,e){return t.zlevel===e.zlevel?t.z===e.z?t.z2-e.z2:t.z-e.z:t.zlevel-e.zlevel}function Vi(){this._roots=[],this._displayList=[],this._displayListLen=0}Vi.prototype={constructor:Vi,traverse:function(t,e){for(var i=0;i<this._roots.length;i++)this._roots[i].traverse(t,e)},getDisplayList:function(t,e){return e=e||!1,t&&this.updateDisplayList(e),this._displayList},updateDisplayList:function(t){this._displayListLen=0;for(var e=this._roots,i=this._displayList,n=0,o=e.length;n<o;n++)this._updateAndAddDisplayable(e[n],null,t);i.length=this._displayListLen,v.canvasSupported&&zi(i,Bi)},_updateAndAddDisplayable:function(t,e,i){if(!t.ignore||i){t.beforeUpdate(),t.__dirty&&t.update(),t.afterUpdate();var n=t.clipPath;if(n){e=e?e.slice():[];for(var o=n,a=t;o;)o.parent=a,o.updateTransform(),e.push(o),o=(a=o).clipPath}if(t.isGroup){for(var r=t._children,s=0;s<r.length;s++){var l=r[s];t.__dirty&&(l.__dirty=!0),this._updateAndAddDisplayable(l,e,i)}t.__dirty=!1}else t.__clipPaths=e,this._displayList[this._displayListLen++]=t}},addRoot:function(t){t.__storage!==this&&(t instanceof Ci&&t.addChildrenToStorage(this),this.addToStorage(t),this._roots.push(t))},delRoot:function(t){if(null==t){for(var e=0;e<this._roots.length;e++){var i=this._roots[e];i instanceof Ci&&i.delChildrenFromStorage(this)}return this._roots=[],this._displayList=[],void(this._displayListLen=0)}if(t instanceof Array){e=0;for(var n=t.length;e<n;e++)this.delRoot(t[e])}else{var o=_(this._roots,t);0<=o&&(this.delFromStorage(t),this._roots.splice(o,1),t instanceof Ci&&t.delChildrenFromStorage(this))}},addToStorage:function(t){return t&&(t.__storage=this,t.dirty(!1)),this},delFromStorage:function(t){return t&&(t.__storage=null),this},dispose:function(){this._renderList=this._roots=null},displayableSortFunc:Bi};var Gi={shadowBlur:1,shadowOffsetX:1,shadowOffsetY:1,textShadowBlur:1,textShadowOffsetX:1,textShadowOffsetY:1,textBoxShadowBlur:1,textBoxShadowOffsetX:1,textBoxShadowOffsetY:1},Fi=function(t,e,i){return Gi.hasOwnProperty(e)?i*t.dpr:i},Wi={NONE:0,STYLE_BIND:1,PLAIN_TEXT:2},Hi=9,Zi=[[\"shadowBlur\",0],[\"shadowOffsetX\",0],[\"shadowOffsetY\",0],[\"shadowColor\",\"#000\"],[\"lineCap\",\"butt\"],[\"lineJoin\",\"miter\"],[\"miterLimit\",10]],Ui=function(t){this.extendFrom(t,!1)};function Xi(t,e,i){var n=null==e.x?0:e.x,o=null==e.x2?1:e.x2,a=null==e.y?0:e.y,r=null==e.y2?0:e.y2;return e.global||(n=n*i.width+i.x,o=o*i.width+i.x,a=a*i.height+i.y,r=r*i.height+i.y),n=isNaN(n)?0:n,o=isNaN(o)?1:o,a=isNaN(a)?0:a,r=isNaN(r)?0:r,t.createLinearGradient(n,a,o,r)}function Yi(t,e,i){var n=i.width,o=i.height,a=Math.min(n,o),r=null==e.x?.5:e.x,s=null==e.y?.5:e.y,l=null==e.r?.5:e.r;return e.global||(r=r*n+i.x,s=s*o+i.y,l*=a),t.createRadialGradient(r,s,0,r,s,l)}Ui.prototype={constructor:Ui,fill:\"#000\",stroke:null,opacity:1,fillOpacity:null,strokeOpacity:null,lineDash:null,lineDashOffset:0,shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0,lineWidth:1,strokeNoScale:!1,text:null,font:null,textFont:null,fontStyle:null,fontWeight:null,fontSize:null,fontFamily:null,textTag:null,textFill:\"#000\",textStroke:null,textWidth:null,textHeight:null,textStrokeWidth:0,textLineHeight:null,textPosition:\"inside\",textRect:null,textOffset:null,textAlign:null,textVerticalAlign:null,textDistance:5,textShadowColor:\"transparent\",textShadowBlur:0,textShadowOffsetX:0,textShadowOffsetY:0,textBoxShadowColor:\"transparent\",textBoxShadowBlur:0,textBoxShadowOffsetX:0,textBoxShadowOffsetY:0,transformText:!1,textRotation:0,textOrigin:null,textBackgroundColor:null,textBorderColor:null,textBorderWidth:0,textBorderRadius:0,textPadding:null,rich:null,truncate:null,blend:null,bind:function(t,e,i){var n=this,o=i&&i.style,a=!o||t.__attrCachedBy!==Wi.STYLE_BIND;t.__attrCachedBy=Wi.STYLE_BIND;for(var r=0;r<Zi.length;r++){var s=Zi[r],l=s[0];!a&&n[l]===o[l]||(t[l]=Fi(t,l,n[l]||s[1]))}if(!a&&n.fill===o.fill||(t.fillStyle=n.fill),!a&&n.stroke===o.stroke||(t.strokeStyle=n.stroke),!a&&n.opacity===o.opacity||(t.globalAlpha=null==n.opacity?1:n.opacity),!a&&n.blend===o.blend||(t.globalCompositeOperation=n.blend||\"source-over\"),this.hasStroke()){var u=n.lineWidth;t.lineWidth=u/(this.strokeNoScale&&e&&e.getLineScale?e.getLineScale():1)}},hasFill:function(){var t=this.fill;return null!=t&&\"none\"!==t},hasStroke:function(){var t=this.stroke;return null!=t&&\"none\"!==t&&0<this.lineWidth},extendFrom:function(t,e){if(t)for(var i in t)!t.hasOwnProperty(i)||!0!==e&&(!1===e?this.hasOwnProperty(i):null==t[i])||(this[i]=t[i])},set:function(t,e){\"string\"==typeof t?this[t]=e:this.extendFrom(t,!0)},clone:function(){var t=new this.constructor;return t.extendFrom(this,!0),t},getGradient:function(t,e,i){for(var n=(\"radial\"===e.type?Yi:Xi)(t,e,i),o=e.colorStops,a=0;a<o.length;a++)n.addColorStop(o[a].offset,o[a].color);return n}};for(var ji=Ui.prototype,qi=0;qi<Zi.length;qi++){var Ki=Zi[qi];Ki[0]in ji||(ji[Ki[0]]=Ki[1])}Ui.getGradient=ji.getGradient;function $i(t,e){this.image=t,this.repeat=e,this.type=\"pattern\"}function Ji(){return!1}function Qi(t,e,i){var n=y(),o=e.getWidth(),a=e.getHeight(),r=n.style;return r&&(r.position=\"absolute\",r.left=0,r.top=0,r.width=o+\"px\",r.height=a+\"px\",n.setAttribute(\"data-zr-dom-id\",t)),n.width=o*i,n.height=a*i,n}function tn(t,e,i){var n;i=i||pi,\"string\"==typeof t?n=Qi(t,e,i):z(t)&&(t=(n=t).id),this.id=t;var o=(this.dom=n).style;o&&(n.onselectstart=Ji,o[\"-webkit-user-select\"]=\"none\",o[\"user-select\"]=\"none\",o[\"-webkit-touch-callout\"]=\"none\",o[\"-webkit-tap-highlight-color\"]=\"rgba(0,0,0,0)\",o.padding=0,o.margin=0,o[\"border-width\"]=0),this.domBack=null,this.ctxBack=null,this.painter=e,this.config=null,this.clearColor=0,this.motionBlur=!1,this.lastFrameAlpha=.7,this.dpr=i}tn.prototype={constructor:tn,__dirty:!0,__used:!($i.prototype.getCanvasPattern=function(t){return t.createPattern(this.image,this.repeat||\"repeat\")}),__drawIndex:0,__startIndex:0,__endIndex:0,incremental:!1,getElementCount:function(){return this.__endIndex-this.__startIndex},initContext:function(){this.ctx=this.dom.getContext(\"2d\"),this.ctx.dpr=this.dpr},createBackBuffer:function(){var t=this.dpr;this.domBack=Qi(\"back-\"+this.id,this.painter,t),this.ctxBack=this.domBack.getContext(\"2d\"),1!==t&&this.ctxBack.scale(t,t)},resize:function(t,e){var i=this.dpr,n=this.dom,o=n.style,a=this.domBack;o&&(o.width=t+\"px\",o.height=e+\"px\"),n.width=t*i,n.height=e*i,a&&(a.width=t*i,a.height=e*i,1!==i&&this.ctxBack.scale(i,i))},clear:function(t,e){var i,n=this.dom,o=this.ctx,a=n.width,r=n.height,s=(e=e||this.clearColor,this.motionBlur&&!t),l=this.lastFrameAlpha,u=this.dpr;s&&(this.domBack||this.createBackBuffer(),this.ctxBack.globalCompositeOperation=\"copy\",this.ctxBack.drawImage(n,0,0,a/u,r/u)),o.clearRect(0,0,a,r),e&&\"transparent\"!==e&&(e.colorStops?(i=e.__canvasGradient||Ui.getGradient(o,e,{x:0,y:0,width:a,height:r}),e.__canvasGradient=i):e.image&&(i=$i.prototype.getCanvasPattern.call(e,o)),o.save(),o.fillStyle=i||e,o.fillRect(0,0,a,r),o.restore());if(s){var h=this.domBack;o.save(),o.globalAlpha=l,o.drawImage(h,0,0,a,r),o.restore()}}};var en=\"undefined\"!=typeof window&&(window.requestAnimationFrame&&window.requestAnimationFrame.bind(window)||window.msRequestAnimationFrame&&window.msRequestAnimationFrame.bind(window)||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame)||function(t){setTimeout(t,16)},nn=new Te(50);function on(t){if(\"string\"!=typeof t)return t;var e=nn.get(t);return e&&e.image}function an(t,e,i,n,o){if(t){if(\"string\"!=typeof t)return t;if(e&&e.__zrImageSrc===t||!i)return e;var a=nn.get(t),r={hostEl:i,cb:n,cbPayload:o};return a?sn(e=a.image)||a.pending.push(r):((e=new Image).onload=e.onerror=rn,nn.put(t,e.__cachedImgObj={image:e,pending:[r]}),e.src=e.__zrImageSrc=t),e}return e}function rn(){var t=this.__cachedImgObj;this.onload=this.onerror=this.__cachedImgObj=null;for(var e=0;e<t.pending.length;e++){var i=t.pending[e],n=i.cb;n&&n(this,i.cbPayload),i.hostEl.dirty()}t.pending.length=0}function sn(t){return t&&t.width&&t.height}var ln={},un=0,hn=5e3,cn=/\\{([a-zA-Z0-9_]+)\\|([^}]*)\\}/g,dn=\"12px sans-serif\",fn={};function pn(t,e){var i=t+\":\"+(e=e||dn);if(ln[i])return ln[i];for(var n,o,a=(t+\"\").split(\"\\n\"),r=0,s=0,l=a.length;s<l;s++)r=Math.max((n=a[s],o=e,fn.measureText(n,o)).width,r);return hn<un&&(un=0,ln={}),un++,ln[i]=r}function gn(t,e,i,n,o,a,r,s){return r?function(t,e,i,n,o,a,r,s){var l=In(t,{rich:r,truncate:s,font:e,textAlign:i,textPadding:o,textLineHeight:a}),u=l.outerWidth,h=l.outerHeight,c=mn(0,u,i),d=vn(0,h,n);return new Di(c,d,u,h)}(t,e,i,n,o,a,r,s):function(t,e,i,n,o,a,r){var s=Mn(t,e,o,a,r),l=pn(t,e);o&&(l+=o[1]+o[3]);var u=s.outerHeight,h=mn(0,l,i),c=vn(0,u,n),d=new Di(h,c,l,u);return d.lineHeight=s.lineHeight,d}(t,e,i,n,o,a,s)}function mn(t,e,i){return\"right\"===i?t-=e:\"center\"===i&&(t-=e/2),t}function vn(t,e,i){return\"middle\"===i?t-=e/2:\"bottom\"===i&&(t-=e),t}function yn(t,e,i){var n=e.textPosition,o=e.textDistance,a=i.x,r=i.y;o=o||0;var s=i.height,l=i.width,u=s/2,h=\"left\",c=\"top\";switch(n){case\"left\":a-=o,r+=u,h=\"right\",c=\"middle\";break;case\"right\":a+=o+l,r+=u,c=\"middle\";break;case\"top\":a+=l/2,r-=o,h=\"center\",c=\"bottom\";break;case\"bottom\":a+=l/2,r+=s+o,h=\"center\";break;case\"inside\":a+=l/2,r+=u,h=\"center\",c=\"middle\";break;case\"insideLeft\":a+=o,r+=u,c=\"middle\";break;case\"insideRight\":a+=l-o,r+=u,h=\"right\",c=\"middle\";break;case\"insideTop\":a+=l/2,r+=o,h=\"center\";break;case\"insideBottom\":a+=l/2,r+=s-o,h=\"center\",c=\"bottom\";break;case\"insideTopLeft\":a+=o,r+=o;break;case\"insideTopRight\":a+=l-o,r+=o,h=\"right\";break;case\"insideBottomLeft\":a+=o,r+=s-o,c=\"bottom\";break;case\"insideBottomRight\":a+=l-o,r+=s-o,h=\"right\",c=\"bottom\"}return(t=t||{}).x=a,t.y=r,t.textAlign=h,t.textVerticalAlign=c,t}function xn(t,e,i,n,o){if(!e)return\"\";var a=(t+\"\").split(\"\\n\");o=_n(e,i,n,o);for(var r=0,s=a.length;r<s;r++)a[r]=wn(a[r],o);return a.join(\"\\n\")}function _n(t,e,i,n){(n=P({},n)).font=e;i=H(i,\"...\");n.maxIterations=H(n.maxIterations,2);var o=n.minChar=H(n.minChar,0);n.cnCharWidth=pn(\"国\",e);var a=n.ascCharWidth=pn(\"a\",e);n.placeholder=H(n.placeholder,\"\");for(var r=t=Math.max(0,t-1),s=0;s<o&&a<=r;s++)r-=a;var l=pn(i,e);return r<l&&(i=\"\",l=0),r=t-l,n.ellipsis=i,n.ellipsisWidth=l,n.contentWidth=r,n.containerWidth=t,n}function wn(t,e){var i=e.containerWidth,n=e.font,o=e.contentWidth;if(!i)return\"\";var a=pn(t,n);if(a<=i)return t;for(var r=0;;r++){if(a<=o||r>=e.maxIterations){t+=e.ellipsis;break}var s=0===r?bn(t,o,e.ascCharWidth,e.cnCharWidth):0<a?Math.floor(t.length*o/a):0;a=pn(t=t.substr(0,s),n)}return\"\"===t&&(t=e.placeholder),t}function bn(t,e,i,n){for(var o=0,a=0,r=t.length;a<r&&o<e;a++){var s=t.charCodeAt(a);o+=0<=s&&s<=127?i:n}return a}function Sn(t){return pn(\"国\",t)}function Mn(t,e,i,n,o){null!=t&&(t+=\"\");var a=H(n,Sn(e)),r=t?t.split(\"\\n\"):[],s=r.length*a,l=s,u=!0;if(i&&(l+=i[0]+i[2]),t&&o){u=!1;var h=o.outerHeight,c=o.outerWidth;if(null!=h&&h<l)t=\"\",r=[];else if(null!=c)for(var d=_n(c-(i?i[1]+i[3]:0),e,o.ellipsis,{minChar:o.minChar,placeholder:o.placeholder}),f=0,p=r.length;f<p;f++)r[f]=wn(r[f],d)}return{lines:r,height:s,outerHeight:l,lineHeight:a,canCacheByTextString:u}}function In(t,e){var i={lines:[],width:0,height:0};if(null!=t&&(t+=\"\"),!t)return i;for(var n,o=cn.lastIndex=0;null!=(n=cn.exec(t));){var a=n.index;o<a&&Tn(i,t.substring(o,a)),Tn(i,n[2],n[1]),o=cn.lastIndex}o<t.length&&Tn(i,t.substring(o,t.length));var r=i.lines,s=0,l=0,u=[],h=e.textPadding,c=e.truncate,d=c&&c.outerWidth,f=c&&c.outerHeight;h&&(null!=d&&(d-=h[1]+h[3]),null!=f&&(f-=h[0]+h[2]));for(var p=0;p<r.length;p++){for(var g=r[p],m=0,v=0,y=0;y<g.tokens.length;y++){var x=(C=g.tokens[y]).styleName&&e.rich[C.styleName]||{},_=C.textPadding=x.textPadding,w=C.font=x.font||e.font,b=C.textHeight=H(x.textHeight,Sn(w));if(_&&(b+=_[0]+_[2]),C.height=b,C.lineHeight=Z(x.textLineHeight,e.textLineHeight,b),C.textAlign=x&&x.textAlign||e.textAlign,C.textVerticalAlign=x&&x.textVerticalAlign||\"middle\",null!=f&&s+C.lineHeight>f)return{lines:[],width:0,height:0};C.textWidth=pn(C.text,w);var S=x.textWidth,M=null==S||\"auto\"===S;if(\"string\"==typeof S&&\"%\"===S.charAt(S.length-1))C.percentWidth=S,u.push(C),S=0;else{if(M){S=C.textWidth;var I=x.textBackgroundColor,T=I&&I.image;T&&sn(T=on(T))&&(S=Math.max(S,T.width*b/T.height))}var A=_?_[1]+_[3]:0;S+=A;var D=null!=d?d-v:null;null!=D&&D<S&&(!M||D<A?(C.text=\"\",C.textWidth=S=0):(C.text=xn(C.text,D-A,w,c.ellipsis,{minChar:c.minChar}),C.textWidth=pn(C.text,w),S=C.textWidth+A))}v+=C.width=S,x&&(m=Math.max(m,C.lineHeight))}g.width=v,s+=g.lineHeight=m,l=Math.max(l,v)}i.outerWidth=i.width=H(e.textWidth,l),i.outerHeight=i.height=H(e.textHeight,s),h&&(i.outerWidth+=h[1]+h[3],i.outerHeight+=h[0]+h[2]);for(p=0;p<u.length;p++){var C,L=(C=u[p]).percentWidth;C.width=parseInt(L,10)/100*l}return i}function Tn(t,e,i){for(var n=\"\"===e,o=e.split(\"\\n\"),a=t.lines,r=0;r<o.length;r++){var s=o[r],l={styleName:i,text:s,isLineHolder:!s&&!n};if(r)a.push({tokens:[l]});else{var u=(a[a.length-1]||(a[0]={tokens:[]})).tokens,h=u.length;1===h&&u[0].isLineHolder?u[0]=l:!s&&h&&!n||u.push(l)}}}function An(t){var e=(t.fontSize||t.fontFamily)&&[t.fontStyle,t.fontWeight,(t.fontSize||12)+\"px\",t.fontFamily||\"sans-serif\"].join(\" \");return e&&j(e)||t.textFont||t.font}function Dn(t,e){var i,n,o,a,r,s=e.x,l=e.y,u=e.width,h=e.height,c=e.r;u<0&&(s+=u,u=-u),h<0&&(l+=h,h=-h),\"number\"==typeof c?i=n=o=a=c:c instanceof Array?1===c.length?i=n=o=a=c[0]:2===c.length?(i=o=c[0],n=a=c[1]):3===c.length?(i=c[0],n=a=c[1],o=c[2]):(i=c[0],n=c[1],o=c[2],a=c[3]):i=n=o=a=0,u<i+n&&(i*=u/(r=i+n),n*=u/r),u<o+a&&(o*=u/(r=o+a),a*=u/r),h<n+o&&(n*=h/(r=n+o),o*=h/r),h<i+a&&(i*=h/(r=i+a),a*=h/r),t.moveTo(s+i,l),t.lineTo(s+u-n,l),0!==n&&t.arc(s+u-n,l+n,n,-Math.PI/2,0),t.lineTo(s+u,l+h-o),0!==o&&t.arc(s+u-o,l+h-o,o,0,Math.PI/2),t.lineTo(s+a,l+h),0!==a&&t.arc(s+a,l+h-a,a,Math.PI/2,Math.PI),t.lineTo(s,l+i),0!==i&&t.arc(s+i,l+i,i,Math.PI,1.5*Math.PI)}fn.measureText=function(t,e){var i=x();return i.font=e||dn,i.measureText(t)};var Cn=dn,Ln={left:1,right:1,center:1},kn={top:1,bottom:1,middle:1},Pn=[[\"textShadowBlur\",\"shadowBlur\",0],[\"textShadowOffsetX\",\"shadowOffsetX\",0],[\"textShadowOffsetY\",\"shadowOffsetY\",0],[\"textShadowColor\",\"shadowColor\",\"transparent\"]],Nn={},On={};function Rn(t){return En(t),R(t.rich,En),t}function En(t){if(t){t.font=An(t);var e=t.textAlign;\"middle\"===e&&(e=\"center\"),t.textAlign=null==e||Ln[e]?e:\"left\";var i=t.textVerticalAlign||t.textBaseline;\"center\"===i&&(i=\"middle\"),t.textVerticalAlign=null==i||kn[i]?i:\"top\",t.textPadding&&(t.textPadding=X(t.textPadding))}}function zn(t,e,i,n,o,a){n.rich?function(t,e,i,n,o,a){a!==Hi&&(e.__attrCachedBy=Wi.NONE);var r=t.__textCotentBlock;r&&!t.__dirtyText||(r=t.__textCotentBlock=In(i,n));!function(t,e,i,n,o){var a=i.width,r=i.outerWidth,s=i.outerHeight,l=n.textPadding,u=Hn(On,t,n,o),h=u.baseX,c=u.baseY,d=u.textAlign,f=u.textVerticalAlign;Bn(e,n,o,h,c);var p=mn(h,r,d),g=vn(c,s,f),m=p,v=g;l&&(m+=l[3],v+=l[0]);var y=m+a;Gn(n)&&Fn(t,e,n,p,g,r,s);for(var x=0;x<i.lines.length;x++){for(var _,w=i.lines[x],b=w.tokens,S=b.length,M=w.lineHeight,I=w.width,T=0,A=m,D=y,C=S-1;T<S&&(!(_=b[T]).textAlign||\"left\"===_.textAlign);)Vn(t,e,_,n,M,v,A,\"left\"),I-=_.width,A+=_.width,T++;for(;0<=C&&\"right\"===(_=b[C]).textAlign;)Vn(t,e,_,n,M,v,D,\"right\"),I-=_.width,D-=_.width,C--;for(A+=(a-(A-m)-(y-D)-I)/2;T<=C;)_=b[T],Vn(t,e,_,n,M,v,A+_.width/2,\"center\"),A+=_.width,T++;v+=M}}(t,e,r,n,o)}(t,e,i,n,o,a):function(t,e,i,n,o,a){var r,s=Gn(n),l=!1,u=e.__attrCachedBy===Wi.PLAIN_TEXT;a!==Hi?(a&&(r=a.style,l=!s&&u&&r),e.__attrCachedBy=s?Wi.NONE:Wi.PLAIN_TEXT):u&&(e.__attrCachedBy=Wi.NONE);var h=n.font||Cn;l&&h===(r.font||Cn)||(e.font=h);var c=t.__computedFont;t.__styleFont!==h&&(t.__styleFont=h,c=t.__computedFont=e.font);var d=n.textPadding,f=n.textLineHeight,p=t.__textCotentBlock;p&&!t.__dirtyText||(p=t.__textCotentBlock=Mn(i,c,d,f,n.truncate));var g=p.outerHeight,m=p.lines,v=p.lineHeight,y=Hn(On,t,n,o),x=y.baseX,_=y.baseY,w=y.textAlign||\"left\",b=y.textVerticalAlign;Bn(e,n,o,x,_);var S=vn(_,g,b),M=x,I=S;if(s||d){var T=pn(i,c);d&&(T+=d[1]+d[3]);var A=mn(x,T,w);s&&Fn(t,e,n,A,S,T,g),d&&(M=jn(x,w,d),I+=d[0])}e.textAlign=w,e.textBaseline=\"middle\",e.globalAlpha=n.opacity||1;for(var D=0;D<Pn.length;D++){var C=Pn[D],L=C[0],k=C[1],P=n[L];l&&P===r[L]||(e[k]=Fi(e,k,P||C[2]))}I+=v/2;var N=n.textStrokeWidth,O=l?r.textStrokeWidth:null,R=!l||N!==O,E=!l||R||n.textStroke!==r.textStroke,z=Un(n.textStroke,N),B=Xn(n.textFill);z&&(R&&(e.lineWidth=N),E&&(e.strokeStyle=z));B&&(l&&n.textFill===r.textFill||(e.fillStyle=B));if(1===m.length)z&&e.strokeText(m[0],M,I),B&&e.fillText(m[0],M,I);else for(D=0;D<m.length;D++)z&&e.strokeText(m[D],M,I),B&&e.fillText(m[D],M,I),I+=v}(t,e,i,n,o,a)}function Bn(t,e,i,n,o){if(i&&e.textRotation){var a=e.textOrigin;\"center\"===a?(n=i.width/2+i.x,o=i.height/2+i.y):a&&(n=a[0]+i.x,o=a[1]+i.y),t.translate(n,o),t.rotate(-e.textRotation),t.translate(-n,-o)}}function Vn(t,e,i,n,o,a,r,s){var l=n.rich[i.styleName]||{};l.text=i.text;var u=i.textVerticalAlign,h=a+o/2;\"top\"===u?h=a+i.height/2:\"bottom\"===u&&(h=a+o-i.height/2),!i.isLineHolder&&Gn(l)&&Fn(t,e,l,\"right\"===s?r-i.width:\"center\"===s?r-i.width/2:r,h-i.height/2,i.width,i.height);var c=i.textPadding;c&&(r=jn(r,s,c),h-=i.height/2-c[2]-i.textHeight/2),Zn(e,\"shadowBlur\",Z(l.textShadowBlur,n.textShadowBlur,0)),Zn(e,\"shadowColor\",l.textShadowColor||n.textShadowColor||\"transparent\"),Zn(e,\"shadowOffsetX\",Z(l.textShadowOffsetX,n.textShadowOffsetX,0)),Zn(e,\"shadowOffsetY\",Z(l.textShadowOffsetY,n.textShadowOffsetY,0)),Zn(e,\"textAlign\",s),Zn(e,\"textBaseline\",\"middle\"),Zn(e,\"font\",i.font||Cn);var d=Un(l.textStroke||n.textStroke,p),f=Xn(l.textFill||n.textFill),p=H(l.textStrokeWidth,n.textStrokeWidth);d&&(Zn(e,\"lineWidth\",p),Zn(e,\"strokeStyle\",d),e.strokeText(i.text,r,h)),f&&(Zn(e,\"fillStyle\",f),e.fillText(i.text,r,h))}function Gn(t){return!!(t.textBackgroundColor||t.textBorderWidth&&t.textBorderColor)}function Fn(t,e,i,n,o,a,r){var s=i.textBackgroundColor,l=i.textBorderWidth,u=i.textBorderColor,h=E(s);if(Zn(e,\"shadowBlur\",i.textBoxShadowBlur||0),Zn(e,\"shadowColor\",i.textBoxShadowColor||\"transparent\"),Zn(e,\"shadowOffsetX\",i.textBoxShadowOffsetX||0),Zn(e,\"shadowOffsetY\",i.textBoxShadowOffsetY||0),h||l&&u){e.beginPath();var c=i.textBorderRadius;c?Dn(e,{x:n,y:o,width:a,height:r,r:c}):e.rect(n,o,a,r),e.closePath()}if(h)if(Zn(e,\"fillStyle\",s),null!=i.fillOpacity){var d=e.globalAlpha;e.globalAlpha=i.fillOpacity*i.opacity,e.fill(),e.globalAlpha=d}else e.fill();else if(z(s)){var f=s.image;(f=an(f,null,t,Wn,s))&&sn(f)&&e.drawImage(f,n,o,a,r)}if(l&&u)if(Zn(e,\"lineWidth\",l),Zn(e,\"strokeStyle\",u),null!=i.strokeOpacity){d=e.globalAlpha;e.globalAlpha=i.strokeOpacity*i.opacity,e.stroke(),e.globalAlpha=d}else e.stroke()}function Wn(t,e){e.image=t}function Hn(t,e,i,n){var o=i.x||0,a=i.y||0,r=i.textAlign,s=i.textVerticalAlign;if(n){var l=i.textPosition;if(l instanceof Array)o=n.x+Yn(l[0],n.width),a=n.y+Yn(l[1],n.height);else{var u=e&&e.calculateTextPosition?e.calculateTextPosition(Nn,i,n):yn(Nn,i,n);o=u.x,a=u.y,r=r||u.textAlign,s=s||u.textVerticalAlign}var h=i.textOffset;h&&(o+=h[0],a+=h[1])}return(t=t||{}).baseX=o,t.baseY=a,t.textAlign=r,t.textVerticalAlign=s,t}function Zn(t,e,i){return t[e]=Fi(t,e,i),t[e]}function Un(t,e){return null==t||e<=0||\"transparent\"===t||\"none\"===t?null:t.image||t.colorStops?\"#000\":t}function Xn(t){return null==t||\"none\"===t?null:t.image||t.colorStops?\"#000\":t}function Yn(t,e){return\"string\"==typeof t?0<=t.lastIndexOf(\"%\")?parseFloat(t)/100*e:parseFloat(t):t}function jn(t,e,i){return\"right\"===e?t-i[1]:\"center\"===e?t+i[3]/2-i[1]/2:t+i[3]}function qn(t,e){return null!=t&&(t||e.textBackgroundColor||e.textBorderWidth&&e.textBorderColor||e.textPadding)}function Kn(){}var $n=new Di;function Jn(t){for(var e in t=t||{},_i.call(this,t),t)t.hasOwnProperty(e)&&\"style\"!==e&&(this[e]=t[e]);this.style=new Ui(t.style,this),this._rect=null,this.__clipPaths=null}function Qn(t){Jn.call(this,t)}Jn.prototype={constructor:Jn,type:\"displayable\",__dirty:!0,invisible:!(Kn.prototype={constructor:Kn,drawRectText:function(t,e){var i=this.style;e=i.textRect||e,this.__dirty&&Rn(i);var n=i.text;if(null!=n&&(n+=\"\"),qn(n,i)){t.save();var o=this.transform;i.transformText?this.setTransform(t):o&&($n.copy(e),$n.applyTransform(o),e=$n),zn(this,t,n,i,e,Hi),t.restore()}}}),z:0,z2:0,zlevel:0,draggable:!1,dragging:!1,silent:!1,culling:!1,cursor:\"pointer\",rectHover:!1,progressive:!1,incremental:!1,globalScaleRatio:1,beforeBrush:function(t){},afterBrush:function(t){},brush:function(t,e){},getBoundingRect:function(){},contain:function(t,e){return this.rectContain(t,e)},traverse:function(t,e){t.call(e,this)},rectContain:function(t,e){var i=this.transformCoordToLocal(t,e);return this.getBoundingRect().contain(i[0],i[1])},dirty:function(){this.__dirty=this.__dirtyText=!0,this._rect=null,this.__zr&&this.__zr.refresh()},animateStyle:function(t){return this.animate(\"style\",t)},attrKV:function(t,e){\"style\"!==t?_i.prototype.attrKV.call(this,t,e):this.style.set(e)},setStyle:function(t,e){return this.style.set(t,e),this.dirty(!1),this},useStyle:function(t){return this.style=new Ui(t,this),this.dirty(!1),this},calculateTextPosition:null},w(Jn,_i),b(Jn,Kn),Qn.prototype={constructor:Qn,type:\"image\",brush:function(t,e){var i=this.style,n=i.image;i.bind(t,this,e);var o=this._image=an(n,this._image,this,this.onload);if(o&&sn(o)){var a=i.x||0,r=i.y||0,s=i.width,l=i.height,u=o.width/o.height;if(null==s&&null!=l?s=l*u:null==l&&null!=s?l=s/u:null==s&&null==l&&(s=o.width,l=o.height),this.setTransform(t),i.sWidth&&i.sHeight){var h=i.sx||0,c=i.sy||0;t.drawImage(o,h,c,i.sWidth,i.sHeight,a,r,s,l)}else if(i.sx&&i.sy){var d=s-(h=i.sx),f=l-(c=i.sy);t.drawImage(o,h,c,d,f,a,r,s,l)}else t.drawImage(o,a,r,s,l);null!=i.text&&(this.restoreTransform(t),this.drawRectText(t,this.getBoundingRect()))}},getBoundingRect:function(){var t=this.style;return this._rect||(this._rect=new Di(t.x||0,t.y||0,t.width||0,t.height||0)),this._rect}},w(Qn,Jn);var to=314159;function eo(t){return parseInt(t,10)}var io=new Di(0,0,0,0),no=new Di(0,0,0,0);function oo(t,e,i){this.type=\"canvas\";var n=!t.nodeName||\"CANVAS\"===t.nodeName.toUpperCase();this._opts=i=P({},i||{}),this.dpr=i.devicePixelRatio||pi,this._singleCanvas=n;var o=(this.root=t).style;o&&(o[\"-webkit-tap-highlight-color\"]=\"transparent\",o[\"-webkit-user-select\"]=o[\"user-select\"]=o[\"-webkit-touch-callout\"]=\"none\",t.innerHTML=\"\"),this.storage=e;var a=this._zlevelList=[],r=this._layers={};if(this._layerConfig={},this._needsManuallyCompositing=!1,n){var s=t.width,l=t.height;null!=i.width&&(s=i.width),null!=i.height&&(l=i.height),this.dpr=i.devicePixelRatio||1,t.width=s*this.dpr,t.height=l*this.dpr,this._width=s,this._height=l;var u=new tn(t,this,this.dpr);u.__builtin__=!0,u.initContext(),(r[to]=u).zlevel=to,a.push(to),this._domRoot=t}else{this._width=this._getSize(0),this._height=this._getSize(1);var h=this._domRoot=function(t,e){var i=document.createElement(\"div\");return i.style.cssText=[\"position:relative\",\"width:\"+t+\"px\",\"height:\"+e+\"px\",\"padding:0\",\"margin:0\",\"border-width:0\"].join(\";\")+\";\",i}(this._width,this._height);t.appendChild(h)}this._hoverlayer=null,this._hoverElements=[]}oo.prototype={constructor:oo,getType:function(){return\"canvas\"},isSingleCanvas:function(){return this._singleCanvas},getViewportRoot:function(){return this._domRoot},getViewportRootOffset:function(){var t=this.getViewportRoot();if(t)return{offsetLeft:t.offsetLeft||0,offsetTop:t.offsetTop||0}},refresh:function(t){var e=this.storage.getDisplayList(!0),i=this._zlevelList;this._redrawId=Math.random(),this._paintList(e,t,this._redrawId);for(var n=0;n<i.length;n++){var o=i[n],a=this._layers[o];if(!a.__builtin__&&a.refresh){var r=0===n?this._backgroundColor:null;a.refresh(r)}}return this.refreshHover(),this},addHover:function(t,e){if(!t.__hoverMir){var i=new t.constructor({style:t.style,shape:t.shape,z:t.z,z2:t.z2,silent:t.silent});return(i.__from=t).__hoverMir=i,e&&i.setStyle(e),this._hoverElements.push(i),i}},removeHover:function(t){var e=t.__hoverMir,i=this._hoverElements,n=_(i,e);0<=n&&i.splice(n,1),t.__hoverMir=null},clearHover:function(t){for(var e=this._hoverElements,i=0;i<e.length;i++){var n=e[i].__from;n&&(n.__hoverMir=null)}e.length=0},refreshHover:function(){var t=this._hoverElements,e=t.length,i=this._hoverlayer;if(i&&i.clear(),e){zi(t,this.storage.displayableSortFunc);var n={};(i=i||(this._hoverlayer=this.getLayer(1e5))).ctx.save();for(var o=0;o<e;){var a=t[o],r=a.__from;r&&r.__zr?(o++,r.invisible||(a.transform=r.transform,a.invTransform=r.invTransform,a.__clipPaths=r.__clipPaths,this._doPaintEl(a,i,!0,n))):(t.splice(o,1),r.__hoverMir=null,e--)}i.ctx.restore()}},getHoverLayer:function(){return this.getLayer(1e5)},_paintList:function(t,e,i){if(this._redrawId===i){e=e||!1,this._updateLayerStatus(t);var n=this._doPaintList(t,e);if(this._needsManuallyCompositing&&this._compositeManually(),!n){var o=this;en(function(){o._paintList(t,e,i)})}}},_compositeManually:function(){var e=this.getLayer(to).ctx,i=this._domRoot.width,n=this._domRoot.height;e.clearRect(0,0,i,n),this.eachBuiltinLayer(function(t){t.virtual&&e.drawImage(t.dom,0,0,i,n)})},_doPaintList:function(t,e){for(var i=[],n=0;n<this._zlevelList.length;n++){var o=this._zlevelList[n];(s=this._layers[o]).__builtin__&&s!==this._hoverlayer&&(s.__dirty||e)&&i.push(s)}for(var a=!0,r=0;r<i.length;r++){var s,l=(s=i[r]).ctx,u={};l.save();var h=e?s.__startIndex:s.__drawIndex,c=!e&&s.incremental&&Date.now,d=c&&Date.now(),f=s.zlevel===this._zlevelList[0]?this._backgroundColor:null;if(s.__startIndex===s.__endIndex)s.clear(!1,f);else if(h===s.__startIndex){var p=t[h];p.incremental&&p.notClear&&!e||s.clear(!1,f)}-1===h&&(console.error(\"For some unknown reason. drawIndex is -1\"),h=s.__startIndex);for(var g=h;g<s.__endIndex;g++){var m=t[g];if(this._doPaintEl(m,s,e,u),m.__dirty=m.__dirtyText=!1,c)if(15<Date.now()-d)break}s.__drawIndex=g,s.__drawIndex<s.__endIndex&&(a=!1),u.prevElClipPaths&&l.restore(),l.restore()}return v.wxa&&R(this._layers,function(t){t&&t.ctx&&t.ctx.draw&&t.ctx.draw()}),a},_doPaintEl:function(t,e,i,n){var o=e.ctx,a=t.transform;if((e.__dirty||i)&&!t.invisible&&0!==t.style.opacity&&(!a||a[0]||a[3])&&(!t.culling||!function(t,e,i){return io.copy(t.getBoundingRect()),t.transform&&io.applyTransform(t.transform),no.width=e,no.height=i,!io.intersect(no)}(t,this._width,this._height))){var r=t.__clipPaths,s=n.prevElClipPaths;s&&!function(t,e){if(t===e)return!1;if(!t||!e||t.length!==e.length)return!0;for(var i=0;i<t.length;i++)if(t[i]!==e[i])return!0;return!1}(r,s)||(s&&(o.restore(),n.prevElClipPaths=null,n.prevEl=null),r&&(o.save(),function(t,e){for(var i=0;i<t.length;i++){var n=t[i];n.setTransform(e),e.beginPath(),n.buildPath(e,n.shape),e.clip(),n.restoreTransform(e)}}(r,o),n.prevElClipPaths=r)),t.beforeBrush&&t.beforeBrush(o),t.brush(o,n.prevEl||null),(n.prevEl=t).afterBrush&&t.afterBrush(o)}},getLayer:function(t,e){this._singleCanvas&&!this._needsManuallyCompositing&&(t=to);var i=this._layers[t];return i||((i=new tn(\"zr_\"+t,this,this.dpr)).zlevel=t,i.__builtin__=!0,this._layerConfig[t]?m(i,this._layerConfig[t],!0):this._layerConfig[t-.01]&&m(i,this._layerConfig[t-.01],!0),e&&(i.virtual=e),this.insertLayer(t,i),i.initContext()),i},insertLayer:function(t,e){var i=this._layers,n=this._zlevelList,o=n.length,a=null,r=-1,s=this._domRoot;if(i[t])vi(\"ZLevel \"+t+\" has been used already\");else if(function(t){return!!t&&(!!t.__builtin__||\"function\"==typeof t.resize&&\"function\"==typeof t.refresh)}(e)){if(0<o&&t>n[0]){for(r=0;r<o-1&&!(n[r]<t&&n[r+1]>t);r++);a=i[n[r]]}if(n.splice(r+1,0,t),!(i[t]=e).virtual)if(a){var l=a.dom;l.nextSibling?s.insertBefore(e.dom,l.nextSibling):s.appendChild(e.dom)}else s.firstChild?s.insertBefore(e.dom,s.firstChild):s.appendChild(e.dom)}else vi(\"Layer of zlevel \"+t+\" is not valid\")},eachLayer:function(t,e){var i,n,o=this._zlevelList;for(n=0;n<o.length;n++)i=o[n],t.call(e,this._layers[i],i)},eachBuiltinLayer:function(t,e){var i,n,o,a=this._zlevelList;for(o=0;o<a.length;o++)n=a[o],(i=this._layers[n]).__builtin__&&t.call(e,i,n)},eachOtherLayer:function(t,e){var i,n,o,a=this._zlevelList;for(o=0;o<a.length;o++)n=a[o],(i=this._layers[n]).__builtin__||t.call(e,i,n)},getLayers:function(){return this._layers},_updateLayerStatus:function(t){function e(t){o&&(o.__endIndex!==t&&(o.__dirty=!0),o.__endIndex=t)}if(this.eachBuiltinLayer(function(t,e){t.__dirty=t.__used=!1}),this._singleCanvas)for(var i=1;i<t.length;i++){if((r=t[i]).zlevel!==t[i-1].zlevel||r.incremental){this._needsManuallyCompositing=!0;break}}var n,o=null,a=0;for(i=0;i<t.length;i++){var r,s,l=(r=t[i]).zlevel;n!==l&&(n=l,a=0),r.incremental?((s=this.getLayer(l+.001,this._needsManuallyCompositing)).incremental=!0,a=1):s=this.getLayer(l+(0<a?.01:0),this._needsManuallyCompositing),s.__builtin__||vi(\"ZLevel \"+l+\" has been used by unkown layer \"+s.id),s!==o&&(s.__used=!0,s.__startIndex!==i&&(s.__dirty=!0),s.__startIndex=i,s.incremental?s.__drawIndex=-1:s.__drawIndex=i,e(i),o=s),r.__dirty&&(s.__dirty=!0,s.incremental&&s.__drawIndex<0&&(s.__drawIndex=i))}e(i),this.eachBuiltinLayer(function(t,e){!t.__used&&0<t.getElementCount()&&(t.__dirty=!0,t.__startIndex=t.__endIndex=t.__drawIndex=0),t.__dirty&&t.__drawIndex<0&&(t.__drawIndex=t.__startIndex)})},clear:function(){return this.eachBuiltinLayer(this._clearLayer),this},_clearLayer:function(t){t.clear()},setBackgroundColor:function(t){this._backgroundColor=t},configLayer:function(t,e){if(e){var i=this._layerConfig;i[t]?m(i[t],e,!0):i[t]=e;for(var n=0;n<this._zlevelList.length;n++){var o=this._zlevelList[n];if(o===t||o===t+.01)m(this._layers[o],i[t],!0)}}},delLayer:function(t){var e=this._layers,i=this._zlevelList,n=e[t];n&&(n.dom.parentNode.removeChild(n.dom),delete e[t],i.splice(_(i,t),1))},resize:function(e,i){if(this._domRoot.style){var t=this._domRoot;t.style.display=\"none\";var n=this._opts;if(null!=e&&(n.width=e),null!=i&&(n.height=i),e=this._getSize(0),i=this._getSize(1),t.style.display=\"\",this._width!==e||i!==this._height){for(var o in t.style.width=e+\"px\",t.style.height=i+\"px\",this._layers)this._layers.hasOwnProperty(o)&&this._layers[o].resize(e,i);R(this._progressiveLayers,function(t){t.resize(e,i)}),this.refresh(!0)}this._width=e,this._height=i}else{if(null==e||null==i)return;this._width=e,this._height=i,this.getLayer(to).resize(e,i)}return this},clearLayer:function(t){var e=this._layers[t];e&&e.clear()},dispose:function(){this.root.innerHTML=\"\",this.root=this.storage=this._domRoot=this._layers=null},getRenderedCanvas:function(t){if(t=t||{},this._singleCanvas&&!this._compositeManually)return this._layers[to].dom;var e=new tn(\"image\",this,t.pixelRatio||this.dpr);if(e.initContext(),e.clear(!1,t.backgroundColor||this._backgroundColor),t.pixelRatio<=this.dpr){this.refresh();var i=e.dom.width,n=e.dom.height,o=e.ctx;this.eachLayer(function(t){t.__builtin__?o.drawImage(t.dom,0,0,i,n):t.renderToCanvas&&(e.ctx.save(),t.renderToCanvas(e.ctx),e.ctx.restore())})}else for(var a={},r=this.storage.getDisplayList(!0),s=0;s<r.length;s++){var l=r[s];this._doPaintEl(l,e,!0,a)}return e.dom},getWidth:function(){return this._width},getHeight:function(){return this._height},_getSize:function(t){var e=this._opts,i=[\"width\",\"height\"][t],n=[\"clientWidth\",\"clientHeight\"][t],o=[\"paddingLeft\",\"paddingTop\"][t],a=[\"paddingRight\",\"paddingBottom\"][t];if(null!=e[i]&&\"auto\"!==e[i])return parseFloat(e[i]);var r=this.root,s=document.defaultView.getComputedStyle(r);return(r[n]||eo(s[i])||eo(r.style[i]))-(eo(s[o])||0)-(eo(s[a])||0)|0},pathToImage:function(t,e){e=e||this.dpr;var i=document.createElement(\"canvas\"),n=i.getContext(\"2d\"),o=t.getBoundingRect(),a=t.style,r=a.shadowBlur*e,s=a.shadowOffsetX*e,l=a.shadowOffsetY*e,u=a.hasStroke()?a.lineWidth:0,h=Math.max(u/2,r-s),c=Math.max(u/2,s+r),d=Math.max(u/2,r-l),f=Math.max(u/2,l+r),p=o.width+h+c,g=o.height+d+f;i.width=p*e,i.height=g*e,n.scale(e,e),n.clearRect(0,0,p,g),n.dpr=e;var m={position:t.position,rotation:t.rotation,scale:t.scale};t.position=[h-o.x,d-o.y],t.rotation=0,t.scale=[1,1],t.updateTransform(),t&&t.brush(n);var v=new Qn({style:{x:0,y:0,image:i}});return null!=m.position&&(v.position=t.position=m.position),null!=m.rotation&&(v.rotation=t.rotation=m.rotation),null!=m.scale&&(v.scale=t.scale=m.scale),v}};function ao(t){t=t||{},this.stage=t.stage||{},this.onframe=t.onframe||function(){},this._clips=[],this._running=!1,this._time,this._pausedTime,this._pauseStart,this._paused=!1,Ct.call(this)}ao.prototype={constructor:ao,addClip:function(t){this._clips.push(t)},addAnimator:function(t){t.animation=this;for(var e=t.getClips(),i=0;i<e.length;i++)this.addClip(e[i])},removeClip:function(t){var e=_(this._clips,t);0<=e&&this._clips.splice(e,1)},removeAnimator:function(t){for(var e=t.getClips(),i=0;i<e.length;i++)this.removeClip(e[i]);t.animation=null},_update:function(){for(var t=(new Date).getTime()-this._pausedTime,e=t-this._time,i=this._clips,n=i.length,o=[],a=[],r=0;r<n;r++){var s=i[r],l=s.step(t,e);l&&(o.push(l),a.push(s))}for(r=0;r<n;)i[r]._needsRemove?(i[r]=i[n-1],i.pop(),n--):r++;n=o.length;for(r=0;r<n;r++)a[r].fire(o[r]);this._time=t,this.onframe(e),this.trigger(\"frame\",e),this.stage.update&&this.stage.update()},_startLoop:function(){var e=this;this._running=!0,en(function t(){e._running&&(en(t),e._paused||e._update())})},start:function(){this._time=(new Date).getTime(),this._pausedTime=0,this._startLoop()},stop:function(){this._running=!1},pause:function(){this._paused||(this._pauseStart=(new Date).getTime(),this._paused=!0)},resume:function(){this._paused&&(this._pausedTime+=(new Date).getTime()-this._pauseStart,this._paused=!1)},clear:function(){this._clips=[]},isFinished:function(){return!this._clips.length},animate:function(t,e){var i=new di(t,(e=e||{}).loop,e.getter,e.setter);return this.addAnimator(i),i}},b(ao,Ct);var ro,so,lo=v.domSupported,uo=(so={pointerdown:1,pointerup:1,pointermove:1,pointerout:1},{mouse:ro=[\"click\",\"dblclick\",\"mousewheel\",\"mouseout\",\"mouseup\",\"mousedown\",\"mousemove\",\"contextmenu\"],touch:[\"touchstart\",\"touchend\",\"touchmove\"],pointer:O(ro,function(t){var e=t.replace(\"mouse\",\"pointer\");return so.hasOwnProperty(e)?e:t})}),ho={mouse:[\"mousemove\",\"mouseup\"],pointer:[\"pointermove\",\"pointerup\"]};function co(t){return\"mousewheel\"===t&&v.browser.firefox?\"DOMMouseScroll\":t}function fo(t){var e=t.pointerType;return\"pen\"===e||\"touch\"===e}function po(t){t&&(t.zrByTouch=!0)}function go(t,e){for(var i=e,n=!1;i&&9!==i.nodeType&&!(n=i.domBelongToZr||i!==e&&i===t.painterRoot);)i=i.parentNode;return n}function mo(t,e){this.type=e.type,this.target=this.currentTarget=t.dom,this.pointerType=e.pointerType,this.clientX=e.clientX,this.clientY=e.clientY}var vo=mo.prototype;vo.stopPropagation=vo.stopImmediatePropagation=vo.preventDefault=et;var yo={mousedown:function(t){t=Zt(this.dom,t),this._mayPointerCapture=[t.zrX,t.zrY],this.trigger(\"mousedown\",t)},mousemove:function(t){t=Zt(this.dom,t);var e=this._mayPointerCapture;!e||t.zrX===e[0]&&t.zrY===e[1]||Mo(this,!0),this.trigger(\"mousemove\",t)},mouseup:function(t){t=Zt(this.dom,t),Mo(this,!1),this.trigger(\"mouseup\",t)},mouseout:function(t){t=Zt(this.dom,t),this._pointerCapturing&&(t.zrEventControl=\"no_globalout\");var e=t.toElement||t.relatedTarget;t.zrIsToLocalDOM=go(this,e),this.trigger(\"mouseout\",t)},touchstart:function(t){po(t=Zt(this.dom,t)),this._lastTouchMoment=new Date,this.handler.processGesture(t,\"start\"),yo.mousemove.call(this,t),yo.mousedown.call(this,t)},touchmove:function(t){po(t=Zt(this.dom,t)),this.handler.processGesture(t,\"change\"),yo.mousemove.call(this,t)},touchend:function(t){po(t=Zt(this.dom,t)),this.handler.processGesture(t,\"end\"),yo.mouseup.call(this,t),+new Date-this._lastTouchMoment<300&&yo.click.call(this,t)},pointerdown:function(t){yo.mousedown.call(this,t)},pointermove:function(t){fo(t)||yo.mousemove.call(this,t)},pointerup:function(t){yo.mouseup.call(this,t)},pointerout:function(t){fo(t)||yo.mouseout.call(this,t)}};R([\"click\",\"mousewheel\",\"dblclick\",\"contextmenu\"],function(e){yo[e]=function(t){t=Zt(this.dom,t),this.trigger(e,t)}});var xo={pointermove:function(t){fo(t)||xo.mousemove.call(this,t)},pointerup:function(t){xo.mouseup.call(this,t)},mousemove:function(t){this.trigger(\"mousemove\",t)},mouseup:function(t){var e=this._pointerCapturing;Mo(this,!1),this.trigger(\"mouseup\",t),e&&(t.zrEventControl=\"only_globalout\",this.trigger(\"mouseout\",t))}};function _o(i,n){var o=n.domHandlers;v.pointerEventsSupported?R(uo.pointer,function(e){bo(n,e,function(t){o[e].call(i,t)})}):(v.touchEventsSupported&&R(uo.touch,function(e){bo(n,e,function(t){o[e].call(i,t),function(t){t.touching=!0,null!=t.touchTimer&&(clearTimeout(t.touchTimer),t.touchTimer=null),t.touchTimer=setTimeout(function(){t.touching=!1,t.touchTimer=null},700)}(n)})}),R(uo.mouse,function(e){bo(n,e,function(t){t=Ht(t),n.touching||o[e].call(i,t)})}))}function wo(i,n){function t(e){bo(n,e,function(t){t=Ht(t),go(i,t.target)||(t=function(t,e){return Zt(t.dom,new mo(t,e),!0)}(i,t),n.domHandlers[e].call(i,t))},{capture:!0})}v.pointerEventsSupported?R(ho.pointer,t):v.touchEventsSupported||R(ho.mouse,t)}function bo(t,e,i,n){t.mounted[e]=i,t.listenerOpts[e]=n,Ut(t.domTarget,co(e),i,n)}function So(t){var e,i,n,o,a=t.mounted;for(var r in a)a.hasOwnProperty(r)&&(e=t.domTarget,i=co(r),n=a[r],o=t.listenerOpts[r],Bt?e.removeEventListener(i,n,o):e.detachEvent(\"on\"+i,n));t.mounted={}}function Mo(t,e){if(t._mayPointerCapture=null,lo&&t._pointerCapturing^e){t._pointerCapturing=e;var i=t._globalHandlerScope;e?wo(t,i):So(i)}}function Io(t,e){this.domTarget=t,this.domHandlers=e,this.mounted={},this.listenerOpts={},this.touchTimer=null,this.touching=!1}function To(t,e){Ct.call(this),this.dom=t,this.painterRoot=e,this._localHandlerScope=new Io(t,yo),lo&&(this._globalHandlerScope=new Io(document,xo)),this._pointerCapturing=!1,this._mayPointerCapture=null,_o(this,this._localHandlerScope)}var Ao=To.prototype;Ao.dispose=function(){So(this._localHandlerScope),lo&&So(this._globalHandlerScope)},Ao.setCursor=function(t){this.dom.style&&(this.dom.style.cursor=t||\"default\")},b(To,Ct);var Do=!v.canvasSupported,Co={canvas:oo},Lo={};function ko(t,e){var i=new No(n(),t,e);return Lo[i.id]=i}function Po(t,e){Co[t]=e}var No=function(t,e,i){i=i||{},this.dom=e,this.id=t;var n=this,o=new Vi,a=i.renderer;if(Do){if(!Co.vml)throw new Error(\"You need to require 'zrender/vml/vml' to support IE8\");a=\"vml\"}else a&&Co[a]||(a=\"canvas\");var r=new Co[a](e,o,i,t);this.storage=o,this.painter=r;var s=v.node||v.worker?null:new To(r.getViewportRoot(),r.root);this.handler=new te(o,r,s,r.root),this.animation=new ao({stage:{update:A(this.flush,this)}}),this.animation.start(),this._needsRefresh;var l=o.delFromStorage,u=o.addToStorage;o.delFromStorage=function(t){l.call(o,t),t&&t.removeSelfFromZr(n)},o.addToStorage=function(t){u.call(o,t),t.addSelfToZr(n)}};No.prototype={constructor:No,getId:function(){return this.id},add:function(t){this.storage.addRoot(t),this._needsRefresh=!0},remove:function(t){this.storage.delRoot(t),this._needsRefresh=!0},configLayer:function(t,e){this.painter.configLayer&&this.painter.configLayer(t,e),this._needsRefresh=!0},setBackgroundColor:function(t){this.painter.setBackgroundColor&&this.painter.setBackgroundColor(t),this._needsRefresh=!0},refreshImmediately:function(){this._needsRefresh=this._needsRefreshHover=!1,this.painter.refresh(),this._needsRefresh=this._needsRefreshHover=!1},refresh:function(){this._needsRefresh=!0},flush:function(){var t;this._needsRefresh&&(t=!0,this.refreshImmediately()),this._needsRefreshHover&&(t=!0,this.refreshHoverImmediately()),t&&this.trigger(\"rendered\")},addHover:function(t,e){if(this.painter.addHover){var i=this.painter.addHover(t,e);return this.refreshHover(),i}},removeHover:function(t){this.painter.removeHover&&(this.painter.removeHover(t),this.refreshHover())},clearHover:function(){this.painter.clearHover&&(this.painter.clearHover(),this.refreshHover())},refreshHover:function(){this._needsRefreshHover=!0},refreshHoverImmediately:function(){this._needsRefreshHover=!1,this.painter.refreshHover&&this.painter.refreshHover()},resize:function(t){t=t||{},this.painter.resize(t.width,t.height),this.handler.resize()},clearAnimation:function(){this.animation.clear()},getWidth:function(){return this.painter.getWidth()},getHeight:function(){return this.painter.getHeight()},pathToImage:function(t,e){return this.painter.pathToImage(t,e)},setCursorStyle:function(t){this.handler.setCursorStyle(t)},findHover:function(t,e){return this.handler.findHover(t,e)},on:function(t,e,i){this.handler.on(t,e,i)},off:function(t,e){this.handler.off(t,e)},trigger:function(t,e){this.handler.trigger(t,e)},clear:function(){this.storage.delRoot(),this.painter.clear()},dispose:function(){this.animation.stop(),this.clear(),this.storage.dispose(),this.painter.dispose(),this.handler.dispose(),this.animation=this.storage=this.painter=this.handler=null,function(t){delete Lo[t]}(this.id)}};var Oo=(Object.freeze||Object)({version:\"4.3.2\",init:ko,dispose:function(t){if(t)t.dispose();else{for(var e in Lo)Lo.hasOwnProperty(e)&&Lo[e].dispose();Lo={}}return this},getInstance:function(t){return Lo[t]},registerPainter:Po}),Ro=R,Eo=z,zo=L,Bo=\"series\\0\";function Vo(t){return t instanceof Array?t:null==t?[]:[t]}function Go(t,e,i){if(t){t[e]=t[e]||{},t.emphasis=t.emphasis||{},t.emphasis[e]=t.emphasis[e]||{};for(var n=0,o=i.length;n<o;n++){var a=i[n];!t.emphasis[e].hasOwnProperty(a)&&t[e].hasOwnProperty(a)&&(t.emphasis[e][a]=t[e][a])}}}var Fo=[\"fontStyle\",\"fontWeight\",\"fontSize\",\"fontFamily\",\"rich\",\"tag\",\"color\",\"textBorderColor\",\"textBorderWidth\",\"width\",\"height\",\"lineHeight\",\"align\",\"verticalAlign\",\"baseline\",\"shadowColor\",\"shadowBlur\",\"shadowOffsetX\",\"shadowOffsetY\",\"textShadowColor\",\"textShadowBlur\",\"textShadowOffsetX\",\"textShadowOffsetY\",\"backgroundColor\",\"borderColor\",\"borderWidth\",\"borderRadius\",\"padding\"];function Wo(t){return!Eo(t)||zo(t)||t instanceof Date?t:t.value}function Ho(t,o){o=(o||[]).slice();var a=O(t||[],function(t,e){return{exist:t}});return Ro(o,function(t,e){if(Eo(t)){for(var i=0;i<a.length;i++)if(!a[i].option&&null!=t.id&&a[i].exist.id===t.id+\"\")return a[i].option=t,void(o[e]=null);for(i=0;i<a.length;i++){var n=a[i].exist;if(!(a[i].option||null!=n.id&&null!=t.id||null==t.name||Xo(t)||Xo(n)||n.name!==t.name+\"\"))return a[i].option=t,void(o[e]=null)}}}),Ro(o,function(t,e){if(Eo(t)){for(var i=0;i<a.length;i++){var n=a[i].exist;if(!a[i].option&&!Xo(n)&&null==t.id){a[i].option=t;break}}i>=a.length&&a.push({option:t})}}),a}function Zo(t){var r=Q();Ro(t,function(t,e){var i=t.exist;i&&r.set(i.id,t)}),Ro(t,function(t,e){var i=t.option;Y(!i||null==i.id||!r.get(i.id)||r.get(i.id)===t,\"id duplicates: \"+(i&&i.id)),i&&null!=i.id&&r.set(i.id,t),t.keyInfo||(t.keyInfo={})}),Ro(t,function(t,e){var i=t.exist,n=t.option,o=t.keyInfo;if(Eo(n)){if(o.name=null!=n.name?n.name+\"\":i?i.name:Bo+e,i)o.id=i.id;else if(null!=n.id)o.id=n.id+\"\";else for(var a=0;o.id=\"\\0\"+o.name+\"\\0\"+a++,r.get(o.id););r.set(o.id,t)}})}function Uo(t){var e=t.name;return!(!e||!e.indexOf(Bo))}function Xo(t){return Eo(t)&&t.id&&0===(t.id+\"\").indexOf(\"\\0_ec_\\0\")}function Yo(e,t){return null!=t.dataIndexInside?t.dataIndexInside:null!=t.dataIndex?L(t.dataIndex)?O(t.dataIndex,function(t){return e.indexOfRawIndex(t)}):e.indexOfRawIndex(t.dataIndex):null!=t.name?L(t.name)?O(t.name,function(t){return e.indexOfName(t)}):e.indexOfName(t.name):void 0}function jo(){var e=\"__\\0ec_inner_\"+qo+++\"_\"+Math.random().toFixed(5);return function(t){return t[e]||(t[e]={})}}var qo=0;function Ko(s,l,u){if(E(l)){var t={};t[l+\"Index\"]=0,l=t}var e=u&&u.defaultMainType;!e||$o(l,e+\"Index\")||$o(l,e+\"Id\")||$o(l,e+\"Name\")||(l[e+\"Index\"]=0);var h={};return Ro(l,function(t,e){t=l[e];if(\"dataIndex\"!==e&&\"dataIndexInside\"!==e){var i=e.match(/^(\\w+)(Index|Id|Name)$/)||[],n=i[1],o=(i[2]||\"\").toLowerCase();if(!(!n||!o||null==t||\"index\"===o&&\"none\"===t||u&&u.includeMainTypes&&_(u.includeMainTypes,n)<0)){var a={mainType:n};\"index\"===o&&\"all\"===t||(a[o]=t);var r=s.queryComponents(a);h[n+\"Models\"]=r,h[n+\"Model\"]=r[0]}}else h[e]=t}),h}function $o(t,e){return t&&t.hasOwnProperty(e)}function Jo(t,e,i){t.setAttribute?t.setAttribute(e,i):t[e]=i}function Qo(t){return\"auto\"===t?v.domSupported?\"html\":\"richText\":t||\"html\"}function ta(t,i){var n=Q(),o=[];return R(t,function(t){var e=i(t);(n.get(e)||(o.push(e),n.set(e,[]))).push(t)}),{keys:o,buckets:n}}var ea=\".\",ia=\"___EC__COMPONENT__CONTAINER___\";function na(t){var e={main:\"\",sub:\"\"};return t&&(t=t.split(ea),e.main=t[0]||\"\",e.sub=t[1]||\"\"),e}function oa(t){(t.$constructor=t).extend=function(t){function e(){t.$constructor?t.$constructor.apply(this,arguments):i.apply(this,arguments)}var i=this;return P(e.prototype,t),e.extend=this.extend,e.superCall=sa,e.superApply=la,w(e,this),e.superClass=i,e}}var aa=0;function ra(t){var e=[\"__\\0is_clz\",aa++,Math.random().toFixed(3)].join(\"_\");t.prototype[e]=!0,t.isInstance=function(t){return!(!t||!t[e])}}function sa(t,e){var i=U(arguments,2);return this.superClass.prototype[e].apply(t,i)}function la(t,e,i){return this.superClass.prototype[e].apply(t,i)}function ua(i,t){t=t||{};var o={};if(i.registerClass=function(t,e){if(e)if(function(t){Y(/^[a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)?$/.test(t),'componentType \"'+t+'\" illegal')}(e),(e=na(e)).sub){if(e.sub!==ia){(function(t){var e=o[t.main];e&&e[ia]||((e=o[t.main]={})[ia]=!0);return e})(e)[e.sub]=t}}else o[e.main]=t;return t},i.getClass=function(t,e,i){var n=o[t];if(n&&n[ia]&&(n=e?n[e]:null),i&&!n)throw new Error(e?\"Component \"+t+\".\"+(e||\"\")+\" not exists. Load it first.\":t+\".type should be specified.\");return n},i.getClassesByMainType=function(t){t=na(t);var i=[],e=o[t.main];return e&&e[ia]?R(e,function(t,e){e!==ia&&i.push(t)}):i.push(e),i},i.hasClass=function(t){return t=na(t),!!o[t.main]},i.getAllClassMainTypes=function(){var i=[];return R(o,function(t,e){i.push(e)}),i},i.hasSubTypes=function(t){t=na(t);var e=o[t.main];return e&&e[ia]},i.parseClassType=na,t.registerWhenExtend){var n=i.extend;n&&(i.extend=function(t){var e=n.call(this,t);return i.registerClass(e,t.type)})}return i}function ha(s){for(var t=0;t<s.length;t++)s[t][1]||(s[t][1]=s[t][0]);return function(t,e,i){for(var n={},o=0;o<s.length;o++){var a=s[o][1];if(!(e&&0<=_(e,a)||i&&_(i,a)<0)){var r=t.getShallow(a);null!=r&&(n[s[o][0]]=r)}}return n}}var ca=ha([[\"lineWidth\",\"width\"],[\"stroke\",\"color\"],[\"opacity\"],[\"shadowBlur\"],[\"shadowOffsetX\"],[\"shadowOffsetY\"],[\"shadowColor\"]]),da={getLineStyle:function(t){var e=ca(this,t);return e.lineDash=this.getLineDash(e.lineWidth),e},getLineDash:function(t){null==t&&(t=1);var e=this.get(\"type\"),i=Math.max(t,2),n=4*t;return\"solid\"!==e&&null!=e&&(\"dashed\"===e?[n,n]:[i,i])}},fa=ha([[\"fill\",\"color\"],[\"shadowBlur\"],[\"shadowOffsetX\"],[\"shadowOffsetY\"],[\"opacity\"],[\"shadowColor\"]]),pa={getAreaStyle:function(t,e){return fa(this,t,e)}},ga=Math.pow,ma=Math.sqrt,va=1e-8,ya=1e-4,xa=ma(3),_a=1/3,wa=ot(),ba=ot(),Sa=ot();function Ma(t){return-va<t&&t<va}function Ia(t){return va<t||t<-va}function Ta(t,e,i,n,o){var a=1-o;return a*a*(a*t+3*o*e)+o*o*(o*n+3*a*i)}function Aa(t,e,i,n,o){var a=1-o;return 3*(((e-t)*a+2*(i-e)*o)*a+(n-i)*o*o)}function Da(t,e,i,n,o){var a=6*i-12*e+6*t,r=9*e+3*n-3*t-9*i,s=3*e-3*t,l=0;if(Ma(r)){if(Ia(a))0<=(h=-s/a)&&h<=1&&(o[l++]=h)}else{var u=a*a-4*r*s;if(Ma(u))o[0]=-a/(2*r);else if(0<u){var h,c=ma(u),d=(-a-c)/(2*r);0<=(h=(-a+c)/(2*r))&&h<=1&&(o[l++]=h),0<=d&&d<=1&&(o[l++]=d)}}return l}function Ca(t,e,i,n,o,a){var r=(e-t)*o+t,s=(i-e)*o+e,l=(n-i)*o+i,u=(s-r)*o+r,h=(l-s)*o+s,c=(h-u)*o+u;a[0]=t,a[1]=r,a[2]=u,a[3]=c,a[4]=c,a[5]=h,a[6]=l,a[7]=n}function La(t,e,i,n){var o=1-n;return o*(o*t+2*n*e)+n*n*i}function ka(t,e,i,n){return 2*((1-n)*(e-t)+n*(i-e))}function Pa(t,e,i){var n=t+i-2*e;return 0==n?.5:(t-e)/n}function Na(t,e,i,n,o){var a=(e-t)*n+t,r=(i-e)*n+e,s=(r-a)*n+a;o[0]=t,o[1]=a,o[2]=s,o[3]=s,o[4]=r,o[5]=i}var Oa=Math.min,Ra=Math.max,Ea=Math.sin,za=Math.cos,Ba=2*Math.PI,Va=ot(),Ga=ot(),Fa=ot();function Wa(t,e,i){if(0!==t.length){var n,o=t[0],a=o[0],r=o[0],s=o[1],l=o[1];for(n=1;n<t.length;n++)o=t[n],a=Oa(a,o[0]),r=Ra(r,o[0]),s=Oa(s,o[1]),l=Ra(l,o[1]);e[0]=a,e[1]=s,i[0]=r,i[1]=l}}function Ha(t,e,i,n,o,a){o[0]=Oa(t,i),o[1]=Oa(e,n),a[0]=Ra(t,i),a[1]=Ra(e,n)}var Za=[],Ua=[];function Xa(t,e,i,n,o,a,r,s,l,u){var h,c=Da,d=Ta,f=c(t,i,o,r,Za);for(l[0]=1/0,l[1]=1/0,u[0]=-1/0,u[1]=-1/0,h=0;h<f;h++){var p=d(t,i,o,r,Za[h]);l[0]=Oa(p,l[0]),u[0]=Ra(p,u[0])}for(f=c(e,n,a,s,Ua),h=0;h<f;h++){var g=d(e,n,a,s,Ua[h]);l[1]=Oa(g,l[1]),u[1]=Ra(g,u[1])}l[0]=Oa(t,l[0]),u[0]=Ra(t,u[0]),l[0]=Oa(r,l[0]),u[0]=Ra(r,u[0]),l[1]=Oa(e,l[1]),u[1]=Ra(e,u[1]),l[1]=Oa(s,l[1]),u[1]=Ra(s,u[1])}function Ya(t,e,i,n,o,a,r,s,l){var u=St,h=Mt,c=Math.abs(o-a);if(c%Ba<1e-4&&1e-4<c)return s[0]=t-i,s[1]=e-n,l[0]=t+i,void(l[1]=e+n);if(Va[0]=za(o)*i+t,Va[1]=Ea(o)*n+e,Ga[0]=za(a)*i+t,Ga[1]=Ea(a)*n+e,u(s,Va,Ga),h(l,Va,Ga),(o%=Ba)<0&&(o+=Ba),(a%=Ba)<0&&(a+=Ba),a<o&&!r?a+=Ba:o<a&&r&&(o+=Ba),r){var d=a;a=o,o=d}for(var f=0;f<a;f+=Math.PI/2)o<f&&(Fa[0]=za(f)*i+t,Fa[1]=Ea(f)*n+e,u(s,Fa,s),h(l,Fa,l))}var ja={M:1,L:2,C:3,Q:4,A:5,Z:6,R:7},qa=[],Ka=[],$a=[],Ja=[],Qa=Math.min,tr=Math.max,er=Math.cos,ir=Math.sin,nr=Math.sqrt,or=Math.abs,ar=\"undefined\"!=typeof Float32Array,rr=function(t){this._saveData=!t,this._saveData&&(this.data=[]),this._ctx=null};function sr(t,e,i,n,o,a,r){if(0===o)return!1;var s=o,l=0;if(e+s<r&&n+s<r||r<e-s&&r<n-s||t+s<a&&i+s<a||a<t-s&&a<i-s)return!1;if(t===i)return Math.abs(a-t)<=s/2;var u=(l=(e-n)/(t-i))*a-r+(t*n-i*e)/(t-i);return u*u/(l*l+1)<=s/2*s/2}function lr(t,e,i,n,o,a,r,s,l,u,h){if(0===l)return!1;var c=l;return!(e+c<h&&n+c<h&&a+c<h&&s+c<h||h<e-c&&h<n-c&&h<a-c&&h<s-c||t+c<u&&i+c<u&&o+c<u&&r+c<u||u<t-c&&u<i-c&&u<o-c&&u<r-c)&&function(t,e,i,n,o,a,r,s,l,u,h){var c,d,f,p,g,m=.005,v=1/0;wa[0]=l,wa[1]=u;for(var y=0;y<1;y+=.05)ba[0]=Ta(t,i,o,r,y),ba[1]=Ta(e,n,a,s,y),(p=_t(wa,ba))<v&&(c=y,v=p);v=1/0;for(var x=0;x<32&&!(m<ya);x++)d=c-m,f=c+m,ba[0]=Ta(t,i,o,r,d),ba[1]=Ta(e,n,a,s,d),p=_t(ba,wa),0<=d&&p<v?(c=d,v=p):(Sa[0]=Ta(t,i,o,r,f),Sa[1]=Ta(e,n,a,s,f),g=_t(Sa,wa),f<=1&&g<v?(c=f,v=g):m*=.5);return h&&(h[0]=Ta(t,i,o,r,c),h[1]=Ta(e,n,a,s,c)),ma(v)}(t,e,i,n,o,a,r,s,u,h,null)<=c/2}function ur(t,e,i,n,o,a,r,s,l){if(0===r)return!1;var u=r;return!(e+u<l&&n+u<l&&a+u<l||l<e-u&&l<n-u&&l<a-u||t+u<s&&i+u<s&&o+u<s||s<t-u&&s<i-u&&s<o-u)&&function(t,e,i,n,o,a,r,s,l){var u,h=.005,c=1/0;wa[0]=r,wa[1]=s;for(var d=0;d<1;d+=.05){ba[0]=La(t,i,o,d),ba[1]=La(e,n,a,d),(m=_t(wa,ba))<c&&(u=d,c=m)}c=1/0;for(var f=0;f<32&&!(h<ya);f++){var p=u-h,g=u+h;ba[0]=La(t,i,o,p),ba[1]=La(e,n,a,p);var m=_t(ba,wa);if(0<=p&&m<c)u=p,c=m;else{Sa[0]=La(t,i,o,g),Sa[1]=La(e,n,a,g);var v=_t(Sa,wa);g<=1&&v<c?(u=g,c=v):h*=.5}}return l&&(l[0]=La(t,i,o,u),l[1]=La(e,n,a,u)),ma(c)}(t,e,i,n,o,a,s,l,null)<=u/2}rr.prototype={constructor:rr,_xi:0,_yi:0,_x0:0,_y0:0,_ux:0,_uy:0,_len:0,_lineDash:null,_dashOffset:0,_dashIdx:0,_dashSum:0,setScale:function(t,e,i){i=i||0,this._ux=or(i/pi/t)||0,this._uy=or(i/pi/e)||0},getContext:function(){return this._ctx},beginPath:function(t){return(this._ctx=t)&&t.beginPath(),t&&(this.dpr=t.dpr),this._saveData&&(this._len=0),this._lineDash&&(this._lineDash=null,this._dashOffset=0),this},moveTo:function(t,e){return this.addData(ja.M,t,e),this._ctx&&this._ctx.moveTo(t,e),this._x0=t,this._y0=e,this._xi=t,this._yi=e,this},lineTo:function(t,e){var i=or(t-this._xi)>this._ux||or(e-this._yi)>this._uy||this._len<5;return this.addData(ja.L,t,e),this._ctx&&i&&(this._needsDash()?this._dashedLineTo(t,e):this._ctx.lineTo(t,e)),i&&(this._xi=t,this._yi=e),this},bezierCurveTo:function(t,e,i,n,o,a){return this.addData(ja.C,t,e,i,n,o,a),this._ctx&&(this._needsDash()?this._dashedBezierTo(t,e,i,n,o,a):this._ctx.bezierCurveTo(t,e,i,n,o,a)),this._xi=o,this._yi=a,this},quadraticCurveTo:function(t,e,i,n){return this.addData(ja.Q,t,e,i,n),this._ctx&&(this._needsDash()?this._dashedQuadraticTo(t,e,i,n):this._ctx.quadraticCurveTo(t,e,i,n)),this._xi=i,this._yi=n,this},arc:function(t,e,i,n,o,a){return this.addData(ja.A,t,e,i,i,n,o-n,0,a?0:1),this._ctx&&this._ctx.arc(t,e,i,n,o,a),this._xi=er(o)*i+t,this._yi=ir(o)*i+e,this},arcTo:function(t,e,i,n,o){return this._ctx&&this._ctx.arcTo(t,e,i,n,o),this},rect:function(t,e,i,n){return this._ctx&&this._ctx.rect(t,e,i,n),this.addData(ja.R,t,e,i,n),this},closePath:function(){this.addData(ja.Z);var t=this._ctx,e=this._x0,i=this._y0;return t&&(this._needsDash()&&this._dashedLineTo(e,i),t.closePath()),this._xi=e,this._yi=i,this},fill:function(t){t&&t.fill(),this.toStatic()},stroke:function(t){t&&t.stroke(),this.toStatic()},setLineDash:function(t){if(t instanceof Array){this._lineDash=t;for(var e=this._dashIdx=0,i=0;i<t.length;i++)e+=t[i];this._dashSum=e}return this},setLineDashOffset:function(t){return this._dashOffset=t,this},len:function(){return this._len},setData:function(t){var e=t.length;this.data&&this.data.length===e||!ar||(this.data=new Float32Array(e));for(var i=0;i<e;i++)this.data[i]=t[i];this._len=e},appendPath:function(t){t instanceof Array||(t=[t]);for(var e=t.length,i=0,n=this._len,o=0;o<e;o++)i+=t[o].len();ar&&this.data instanceof Float32Array&&(this.data=new Float32Array(n+i));for(o=0;o<e;o++)for(var a=t[o].data,r=0;r<a.length;r++)this.data[n++]=a[r];this._len=n},addData:function(t){if(this._saveData){var e=this.data;this._len+arguments.length>e.length&&(this._expandData(),e=this.data);for(var i=0;i<arguments.length;i++)e[this._len++]=arguments[i];this._prevCmd=t}},_expandData:function(){if(!(this.data instanceof Array)){for(var t=[],e=0;e<this._len;e++)t[e]=this.data[e];this.data=t}},_needsDash:function(){return this._lineDash},_dashedLineTo:function(t,e){var i,n,o=this._dashSum,a=this._dashOffset,r=this._lineDash,s=this._ctx,l=this._xi,u=this._yi,h=t-l,c=e-u,d=nr(h*h+c*c),f=l,p=u,g=r.length;for(a<0&&(a=o+a),f-=(a%=o)*(h/=d),p-=a*(c/=d);0<h&&f<=t||h<0&&t<=f||0===h&&(0<c&&p<=e||c<0&&e<=p);)f+=h*(i=r[n=this._dashIdx]),p+=c*i,this._dashIdx=(n+1)%g,0<h&&f<l||h<0&&l<f||0<c&&p<u||c<0&&u<p||s[n%2?\"moveTo\":\"lineTo\"](0<=h?Qa(f,t):tr(f,t),0<=c?Qa(p,e):tr(p,e));h=f-t,c=p-e,this._dashOffset=-nr(h*h+c*c)},_dashedBezierTo:function(t,e,i,n,o,a){var r,s,l,u,h,c=this._dashSum,d=this._dashOffset,f=this._lineDash,p=this._ctx,g=this._xi,m=this._yi,v=Ta,y=0,x=this._dashIdx,_=f.length,w=0;for(d<0&&(d=c+d),d%=c,r=0;r<1;r+=.1)s=v(g,t,i,o,r+.1)-v(g,t,i,o,r),l=v(m,e,n,a,r+.1)-v(m,e,n,a,r),y+=nr(s*s+l*l);for(;x<_&&!(d<(w+=f[x]));x++);for(r=(w-d)/y;r<=1;)u=v(g,t,i,o,r),h=v(m,e,n,a,r),x%2?p.moveTo(u,h):p.lineTo(u,h),r+=f[x]/y,x=(x+1)%_;x%2!=0&&p.lineTo(o,a),s=o-u,l=a-h,this._dashOffset=-nr(s*s+l*l)},_dashedQuadraticTo:function(t,e,i,n){var o=i,a=n;i=(i+2*t)/3,n=(n+2*e)/3,t=(this._xi+2*t)/3,e=(this._yi+2*e)/3,this._dashedBezierTo(t,e,i,n,o,a)},toStatic:function(){var t=this.data;t instanceof Array&&(t.length=this._len,ar&&(this.data=new Float32Array(t)))},getBoundingRect:function(){qa[0]=qa[1]=$a[0]=$a[1]=Number.MAX_VALUE,Ka[0]=Ka[1]=Ja[0]=Ja[1]=-Number.MAX_VALUE;for(var t,e,i,n,o,a,r,s,l,u,h,c,d,f,p=this.data,g=0,m=0,v=0,y=0,x=0;x<p.length;){var _=p[x++];switch(1===x&&(v=g=p[x],y=m=p[x+1]),_){case ja.M:g=v=p[x++],m=y=p[x++],$a[0]=v,$a[1]=y,Ja[0]=v,Ja[1]=y;break;case ja.L:Ha(g,m,p[x],p[x+1],$a,Ja),g=p[x++],m=p[x++];break;case ja.C:Xa(g,m,p[x++],p[x++],p[x++],p[x++],p[x],p[x+1],$a,Ja),g=p[x++],m=p[x++];break;case ja.Q:t=g,e=m,i=p[x++],n=p[x++],o=p[x],a=p[x+1],r=$a,s=Ja,u=l=void 0,u=La,h=Ra(Oa((l=Pa)(t,i,o),1),0),c=Ra(Oa(l(e,n,a),1),0),d=u(t,i,o,h),f=u(e,n,a,c),r[0]=Oa(t,o,d),r[1]=Oa(e,a,f),s[0]=Ra(t,o,d),s[1]=Ra(e,a,f),g=p[x++],m=p[x++];break;case ja.A:var w=p[x++],b=p[x++],S=p[x++],M=p[x++],I=p[x++],T=p[x++]+I;x+=1;var A=1-p[x++];1===x&&(v=er(I)*S+w,y=ir(I)*M+b),Ya(w,b,S,M,I,T,A,$a,Ja),g=er(T)*S+w,m=ir(T)*M+b;break;case ja.R:Ha(v=g=p[x++],y=m=p[x++],v+p[x++],y+p[x++],$a,Ja);break;case ja.Z:g=v,m=y}St(qa,qa,$a),Mt(Ka,Ka,Ja)}return 0===x&&(qa[0]=qa[1]=Ka[0]=Ka[1]=0),new Di(qa[0],qa[1],Ka[0]-qa[0],Ka[1]-qa[1])},rebuildPath:function(t){for(var e,i,n,o,a,r,s=this.data,l=this._ux,u=this._uy,h=this._len,c=0;c<h;){var d=s[c++];switch(1===c&&(e=n=s[c],i=o=s[c+1]),d){case ja.M:e=n=s[c++],i=o=s[c++],t.moveTo(n,o);break;case ja.L:a=s[c++],r=s[c++],(or(a-n)>l||or(r-o)>u||c===h-1)&&(t.lineTo(a,r),n=a,o=r);break;case ja.C:t.bezierCurveTo(s[c++],s[c++],s[c++],s[c++],s[c++],s[c++]),n=s[c-2],o=s[c-1];break;case ja.Q:t.quadraticCurveTo(s[c++],s[c++],s[c++],s[c++]),n=s[c-2],o=s[c-1];break;case ja.A:var f=s[c++],p=s[c++],g=s[c++],m=s[c++],v=s[c++],y=s[c++],x=s[c++],_=s[c++],w=m<g?g:m,b=m<g?1:g/m,S=m<g?m/g:1,M=v+y;.001<Math.abs(g-m)?(t.translate(f,p),t.rotate(x),t.scale(b,S),t.arc(0,0,w,v,M,1-_),t.scale(1/b,1/S),t.rotate(-x),t.translate(-f,-p)):t.arc(f,p,w,v,M,1-_),1===c&&(e=er(v)*g+f,i=ir(v)*m+p),n=er(M)*g+f,o=ir(M)*m+p;break;case ja.R:e=n=s[c],i=o=s[c+1],t.rect(s[c++],s[c++],s[c++],s[c++]);break;case ja.Z:t.closePath(),n=e,o=i}}}},rr.CMD=ja;var hr=2*Math.PI;function cr(t){return(t%=hr)<0&&(t+=hr),t}var dr=2*Math.PI;function fr(t,e,i,n,o,a,r,s,l){if(0===r)return!1;var u=r;s-=t,l-=e;var h=Math.sqrt(s*s+l*l);if(i<h-u||h+u<i)return!1;if(Math.abs(n-o)%dr<1e-4)return!0;if(a){var c=n;n=cr(o),o=cr(c)}else n=cr(n),o=cr(o);o<n&&(o+=dr);var d=Math.atan2(l,s);return d<0&&(d+=dr),n<=d&&d<=o||n<=d+dr&&d+dr<=o}function pr(t,e,i,n,o,a){if(e<a&&n<a||a<e&&a<n)return 0;if(n===e)return 0;var r=n<e?1:-1,s=(a-e)/(n-e);1!=s&&0!=s||(r=n<e?.5:-.5);var l=s*(i-t)+t;return l===o?1/0:o<l?r:0}var gr=rr.CMD,mr=2*Math.PI,vr=1e-4;var yr=[-1,-1,-1],xr=[-1,-1];function _r(t,e,i,n,o,a,r,s,l,u){if(e<u&&n<u&&a<u&&s<u||u<e&&u<n&&u<a&&u<s)return 0;var h,c=function(t,e,i,n,o,a){var r=n+3*(e-i)-t,s=3*(i-2*e+t),l=3*(e-t),u=t-o,h=s*s-3*r*l,c=s*l-9*r*u,d=l*l-3*s*u,f=0;if(Ma(h)&&Ma(c)){if(Ma(s))a[0]=0;else 0<=(M=-l/s)&&M<=1&&(a[f++]=M)}else{var p=c*c-4*h*d;if(Ma(p)){var g=c/h,m=-g/2;0<=(M=-s/r+g)&&M<=1&&(a[f++]=M),0<=m&&m<=1&&(a[f++]=m)}else if(0<p){var v=ma(p),y=h*s+1.5*r*(-c+v),x=h*s+1.5*r*(-c-v);0<=(M=(-s-((y=y<0?-ga(-y,_a):ga(y,_a))+(x=x<0?-ga(-x,_a):ga(x,_a))))/(3*r))&&M<=1&&(a[f++]=M)}else{var _=(2*h*s-3*r*c)/(2*ma(h*h*h)),w=Math.acos(_)/3,b=ma(h),S=Math.cos(w),M=(-s-2*b*S)/(3*r),I=(m=(-s+b*(S+xa*Math.sin(w)))/(3*r),(-s+b*(S-xa*Math.sin(w)))/(3*r));0<=M&&M<=1&&(a[f++]=M),0<=m&&m<=1&&(a[f++]=m),0<=I&&I<=1&&(a[f++]=I)}}return f}(e,n,a,s,u,yr);if(0===c)return 0;for(var d,f,p=0,g=-1,m=0;m<c;m++){var v=yr[m],y=0===v||1===v?.5:1;Ta(t,i,o,r,v)<l||(g<0&&(g=Da(e,n,a,s,xr),xr[1]<xr[0]&&1<g&&(void 0,h=xr[0],xr[0]=xr[1],xr[1]=h),d=Ta(e,n,a,s,xr[0]),1<g&&(f=Ta(e,n,a,s,xr[1]))),2===g?v<xr[0]?p+=d<e?y:-y:v<xr[1]?p+=f<d?y:-y:p+=s<f?y:-y:v<xr[0]?p+=d<e?y:-y:p+=s<d?y:-y)}return p}function wr(t,e,i,n,o,a,r,s){if(e<s&&n<s&&a<s||s<e&&s<n&&s<a)return 0;var l=function(t,e,i,n,o){var a=t-2*e+i,r=2*(e-t),s=t-n,l=0;if(Ma(a)){if(Ia(r))0<=(h=-s/r)&&h<=1&&(o[l++]=h)}else{var u=r*r-4*a*s;if(Ma(u))0<=(h=-r/(2*a))&&h<=1&&(o[l++]=h);else if(0<u){var h,c=ma(u),d=(-r-c)/(2*a);0<=(h=(-r+c)/(2*a))&&h<=1&&(o[l++]=h),0<=d&&d<=1&&(o[l++]=d)}}return l}(e,n,a,s,yr);if(0===l)return 0;var u=Pa(e,n,a);if(0<=u&&u<=1){for(var h=0,c=La(e,n,a,u),d=0;d<l;d++){var f=0===yr[d]||1===yr[d]?.5:1;La(t,i,o,yr[d])<r||(yr[d]<u?h+=c<e?f:-f:h+=a<c?f:-f)}return h}f=0===yr[0]||1===yr[0]?.5:1;return La(t,i,o,yr[0])<r?0:a<e?f:-f}function br(t,e,i,n,o,a,r,s){if(i<(s-=e)||s<-i)return 0;var l=Math.sqrt(i*i-s*s);yr[0]=-l,yr[1]=l;var u=Math.abs(n-o);if(u<1e-4)return 0;if(u%mr<1e-4){o=mr;var h=a?1:-1;return r>=yr[n=0]+t&&r<=yr[1]+t?h:0}if(a){l=n;n=cr(o),o=cr(l)}else n=cr(n),o=cr(o);o<n&&(o+=mr);for(var c=0,d=0;d<2;d++){var f=yr[d];if(r<f+t){var p=Math.atan2(s,f);h=a?1:-1;p<0&&(p=mr+p),(n<=p&&p<=o||n<=p+mr&&p+mr<=o)&&(p>Math.PI/2&&p<1.5*Math.PI&&(h=-h),c+=h)}}return c}function Sr(t,e,i,n,o){for(var a=0,r=0,s=0,l=0,u=0,h=0;h<t.length;){var c=t[h++];switch(c===gr.M&&1<h&&(i||(a+=pr(r,s,l,u,n,o))),1===h&&(l=r=t[h],u=s=t[h+1]),c){case gr.M:r=l=t[h++],s=u=t[h++];break;case gr.L:if(i){if(sr(r,s,t[h],t[h+1],e,n,o))return!0}else a+=pr(r,s,t[h],t[h+1],n,o)||0;r=t[h++],s=t[h++];break;case gr.C:if(i){if(lr(r,s,t[h++],t[h++],t[h++],t[h++],t[h],t[h+1],e,n,o))return!0}else a+=_r(r,s,t[h++],t[h++],t[h++],t[h++],t[h],t[h+1],n,o)||0;r=t[h++],s=t[h++];break;case gr.Q:if(i){if(ur(r,s,t[h++],t[h++],t[h],t[h+1],e,n,o))return!0}else a+=wr(r,s,t[h++],t[h++],t[h],t[h+1],n,o)||0;r=t[h++],s=t[h++];break;case gr.A:var d=t[h++],f=t[h++],p=t[h++],g=t[h++],m=t[h++],v=t[h++];h+=1;var y=1-t[h++],x=Math.cos(m)*p+d,_=Math.sin(m)*g+f;1<h?a+=pr(r,s,x,_,n,o):(l=x,u=_);var w=(n-d)*g/p+d;if(i){if(fr(d,f,g,m,m+v,y,e,w,o))return!0}else a+=br(d,f,g,m,m+v,y,w,o);r=Math.cos(m+v)*p+d,s=Math.sin(m+v)*g+f;break;case gr.R:l=r=t[h++],u=s=t[h++];x=l+t[h++],_=u+t[h++];if(i){if(sr(l,u,x,u,e,n,o)||sr(x,u,x,_,e,n,o)||sr(x,_,l,_,e,n,o)||sr(l,_,l,u,e,n,o))return!0}else a+=pr(x,u,x,_,n,o),a+=pr(l,_,l,u,n,o);break;case gr.Z:if(i){if(sr(r,s,l,u,e,n,o))return!0}else a+=pr(r,s,l,u,n,o);r=l,s=u}}return i||function(t,e){return Math.abs(t-e)<vr}(s,u)||(a+=pr(r,s,l,u,n,o)||0),0!==a}var Mr=$i.prototype.getCanvasPattern,Ir=Math.abs,Tr=new rr(!0);function Ar(t){Jn.call(this,t),this.path=null}Ar.prototype={constructor:Ar,type:\"path\",__dirtyPath:!0,strokeContainThreshold:5,segmentIgnoreThreshold:0,subPixelOptimize:!1,brush:function(t,e){var i,n=this.style,o=this.path||Tr,a=n.hasStroke(),r=n.hasFill(),s=n.fill,l=n.stroke,u=r&&!!s.colorStops,h=a&&!!l.colorStops,c=r&&!!s.image,d=a&&!!l.image;n.bind(t,this,e),this.setTransform(t),this.__dirty&&(u&&(i=i||this.getBoundingRect(),this._fillGradient=n.getGradient(t,s,i)),h&&(i=i||this.getBoundingRect(),this._strokeGradient=n.getGradient(t,l,i)));u?t.fillStyle=this._fillGradient:c&&(t.fillStyle=Mr.call(s,t)),h?t.strokeStyle=this._strokeGradient:d&&(t.strokeStyle=Mr.call(l,t));var f=n.lineDash,p=n.lineDashOffset,g=!!t.setLineDash,m=this.getGlobalScale();if(o.setScale(m[0],m[1],this.segmentIgnoreThreshold),this.__dirtyPath||f&&!g&&a?(o.beginPath(t),f&&!g&&(o.setLineDash(f),o.setLineDashOffset(p)),this.buildPath(o,this.shape,!1),this.path&&(this.__dirtyPath=!1)):(t.beginPath(),this.path.rebuildPath(t)),r)if(null!=n.fillOpacity){var v=t.globalAlpha;t.globalAlpha=n.fillOpacity*n.opacity,o.fill(t),t.globalAlpha=v}else o.fill(t);if(f&&g&&(t.setLineDash(f),t.lineDashOffset=p),a)if(null!=n.strokeOpacity){v=t.globalAlpha;t.globalAlpha=n.strokeOpacity*n.opacity,o.stroke(t),t.globalAlpha=v}else o.stroke(t);f&&g&&t.setLineDash([]),null!=n.text&&(this.restoreTransform(t),this.drawRectText(t,this.getBoundingRect()))},buildPath:function(t,e,i){},createPathProxy:function(){this.path=new rr},getBoundingRect:function(){var t=this._rect,e=this.style,i=!t;if(i){var n=this.path;n=n||(this.path=new rr),this.__dirtyPath&&(n.beginPath(),this.buildPath(n,this.shape,!1)),t=n.getBoundingRect()}if(this._rect=t,e.hasStroke()){var o=this._rectWithStroke||(this._rectWithStroke=t.clone());if(this.__dirty||i){o.copy(t);var a=e.lineWidth,r=e.strokeNoScale?this.getLineScale():1;e.hasFill()||(a=Math.max(a,this.strokeContainThreshold||4)),1e-10<r&&(o.width+=a/r,o.height+=a/r,o.x-=a/r/2,o.y-=a/r/2)}return o}return t},contain:function(t,e){var i=this.transformCoordToLocal(t,e),n=this.getBoundingRect(),o=this.style;if(t=i[0],e=i[1],n.contain(t,e)){var a=this.path.data;if(o.hasStroke()){var r=o.lineWidth,s=o.strokeNoScale?this.getLineScale():1;if(1e-10<s&&(o.hasFill()||(r=Math.max(r,this.strokeContainThreshold)),function(t,e,i,n){return Sr(t,e,!0,i,n)}(a,r/s,t,e)))return!0}if(o.hasFill())return function(t,e,i){return Sr(t,0,!1,e,i)}(a,t,e)}return!1},dirty:function(t){null==t&&(t=!0),t&&(this.__dirtyPath=t,this._rect=null),this.__dirty=this.__dirtyText=!0,this.__zr&&this.__zr.refresh(),this.__clipTarget&&this.__clipTarget.dirty()},animateShape:function(t){return this.animate(\"shape\",t)},attrKV:function(t,e){\"shape\"===t?(this.setShape(e),this.__dirtyPath=!0,this._rect=null):Jn.prototype.attrKV.call(this,t,e)},setShape:function(t,e){var i=this.shape;if(i){if(z(t))for(var n in t)t.hasOwnProperty(n)&&(i[n]=t[n]);else i[t]=e;this.dirty(!0)}return this},getLineScale:function(){var t=this.transform;return t&&1e-10<Ir(t[0]-1)&&1e-10<Ir(t[3]-1)?Math.sqrt(Ir(t[0]*t[3]-t[2]*t[1])):1}},Ar.extend=function(o){function t(t){Ar.call(this,t),o.style&&this.style.extendFrom(o.style,!1);var e=o.shape;if(e){this.shape=this.shape||{};var i=this.shape;for(var n in e)!i.hasOwnProperty(n)&&e.hasOwnProperty(n)&&(i[n]=e[n])}o.init&&o.init.call(this,t)}for(var e in w(t,Ar),o)\"style\"!==e&&\"shape\"!==e&&(t.prototype[e]=o[e]);return t},w(Ar,Jn);function Dr(t){return Math.sqrt(t[0]*t[0]+t[1]*t[1])}var Cr=rr.CMD,Lr=[[],[],[]],kr=Math.sqrt,Pr=Math.atan2,Nr=function(t,e){var i,n,o,a,r,s=t.data,l=Cr.M,u=Cr.C,h=Cr.L,c=Cr.R,d=Cr.A,f=Cr.Q;for(a=o=0;o<s.length;){switch(i=s[o++],a=o,n=0,i){case l:case h:n=1;break;case u:n=3;break;case f:n=2;break;case d:var p=e[4],g=e[5],m=kr(e[0]*e[0]+e[1]*e[1]),v=kr(e[2]*e[2]+e[3]*e[3]),y=Pr(-e[1]/v,e[0]/m);s[o]*=m,s[o++]+=p,s[o]*=v,s[o++]+=g,s[o++]*=m,s[o++]*=v,s[o++]+=y,s[o++]+=y,a=o+=2;break;case c:x[0]=s[o++],x[1]=s[o++],bt(x,x,e),s[a++]=x[0],s[a++]=x[1],x[0]+=s[o++],x[1]+=s[o++],bt(x,x,e),s[a++]=x[0],s[a++]=x[1]}for(r=0;r<n;r++){var x;(x=Lr[r])[0]=s[o++],x[1]=s[o++],bt(x,x,e),s[a++]=x[0],s[a++]=x[1]}}},Or=Math.sqrt,Rr=Math.sin,Er=Math.cos,zr=Math.PI,Br=function(t,e){return(t[0]*e[0]+t[1]*e[1])/(Dr(t)*Dr(e))},Vr=function(t,e){return(t[0]*e[1]<t[1]*e[0]?-1:1)*Math.acos(Br(t,e))};function Gr(t,e,i,n,o,a,r,s,l,u,h){var c=l*(zr/180),d=Er(c)*(t-i)/2+Rr(c)*(e-n)/2,f=-1*Rr(c)*(t-i)/2+Er(c)*(e-n)/2,p=d*d/(r*r)+f*f/(s*s);1<p&&(r*=Or(p),s*=Or(p));var g=(o===a?-1:1)*Or((r*r*(s*s)-r*r*(f*f)-s*s*(d*d))/(r*r*(f*f)+s*s*(d*d)))||0,m=g*r*f/s,v=g*-s*d/r,y=(t+i)/2+Er(c)*m-Rr(c)*v,x=(e+n)/2+Rr(c)*m+Er(c)*v,_=Vr([1,0],[(d-m)/r,(f-v)/s]),w=[(d-m)/r,(f-v)/s],b=[(-1*d-m)/r,(-1*f-v)/s],S=Vr(w,b);Br(w,b)<=-1&&(S=zr),1<=Br(w,b)&&(S=0),0===a&&0<S&&(S-=2*zr),1===a&&S<0&&(S+=2*zr),h.addData(u,y,x,r,s,_,S,c,a)}var Fr=/([mlvhzcqtsa])([^mlvhzcqtsa]*)/gi,Wr=/-?([0-9]*\\.)?[0-9]+([eE]-?[0-9]+)?/g;function Hr(t,e){var i=function(t){if(!t)return new rr;for(var e,i=0,n=0,o=i,a=n,r=new rr,s=rr.CMD,l=t.match(Fr),u=0;u<l.length;u++){for(var h,c=l[u],d=c.charAt(0),f=c.match(Wr)||[],p=f.length,g=0;g<p;g++)f[g]=parseFloat(f[g]);for(var m=0;m<p;){var v,y,x,_,w,b,S,M=i,I=n;switch(d){case\"l\":i+=f[m++],n+=f[m++],h=s.L,r.addData(h,i,n);break;case\"L\":i=f[m++],n=f[m++],h=s.L,r.addData(h,i,n);break;case\"m\":i+=f[m++],n+=f[m++],h=s.M,r.addData(h,i,n),o=i,a=n,d=\"l\";break;case\"M\":i=f[m++],n=f[m++],h=s.M,r.addData(h,i,n),o=i,a=n,d=\"L\";break;case\"h\":i+=f[m++],h=s.L,r.addData(h,i,n);break;case\"H\":i=f[m++],h=s.L,r.addData(h,i,n);break;case\"v\":n+=f[m++],h=s.L,r.addData(h,i,n);break;case\"V\":n=f[m++],h=s.L,r.addData(h,i,n);break;case\"C\":h=s.C,r.addData(h,f[m++],f[m++],f[m++],f[m++],f[m++],f[m++]),i=f[m-2],n=f[m-1];break;case\"c\":h=s.C,r.addData(h,f[m++]+i,f[m++]+n,f[m++]+i,f[m++]+n,f[m++]+i,f[m++]+n),i+=f[m-2],n+=f[m-1];break;case\"S\":v=i,y=n;var T=r.len(),A=r.data;e===s.C&&(v+=i-A[T-4],y+=n-A[T-3]),h=s.C,M=f[m++],I=f[m++],i=f[m++],n=f[m++],r.addData(h,v,y,M,I,i,n);break;case\"s\":v=i,y=n;T=r.len(),A=r.data;e===s.C&&(v+=i-A[T-4],y+=n-A[T-3]),h=s.C,M=i+f[m++],I=n+f[m++],i+=f[m++],n+=f[m++],r.addData(h,v,y,M,I,i,n);break;case\"Q\":M=f[m++],I=f[m++],i=f[m++],n=f[m++],h=s.Q,r.addData(h,M,I,i,n);break;case\"q\":M=f[m++]+i,I=f[m++]+n,i+=f[m++],n+=f[m++],h=s.Q,r.addData(h,M,I,i,n);break;case\"T\":v=i,y=n;T=r.len(),A=r.data;e===s.Q&&(v+=i-A[T-4],y+=n-A[T-3]),i=f[m++],n=f[m++],h=s.Q,r.addData(h,v,y,i,n);break;case\"t\":v=i,y=n;T=r.len(),A=r.data;e===s.Q&&(v+=i-A[T-4],y+=n-A[T-3]),i+=f[m++],n+=f[m++],h=s.Q,r.addData(h,v,y,i,n);break;case\"A\":x=f[m++],_=f[m++],w=f[m++],b=f[m++],S=f[m++],Gr(M=i,I=n,i=f[m++],n=f[m++],b,S,x,_,w,h=s.A,r);break;case\"a\":x=f[m++],_=f[m++],w=f[m++],b=f[m++],S=f[m++],Gr(M=i,I=n,i+=f[m++],n+=f[m++],b,S,x,_,w,h=s.A,r)}}\"z\"!==d&&\"Z\"!==d||(h=s.Z,r.addData(h),i=o,n=a),e=h}return r.toStatic(),r}(t);return(e=e||{}).buildPath=function(t){if(t.setData){t.setData(i.data),(e=t.getContext())&&t.rebuildPath(e)}else{var e=t;i.rebuildPath(e)}},e.applyTransform=function(t){Nr(i,t),this.dirty(!0)},e}function Zr(t,e){return new Ar(Hr(t,e))}var Ur=function(t){Jn.call(this,t)};Ur.prototype={constructor:Ur,type:\"text\",brush:function(t,e){var i=this.style;this.__dirty&&Rn(i),i.fill=i.stroke=i.shadowBlur=i.shadowColor=i.shadowOffsetX=i.shadowOffsetY=null;var n=i.text;null!=n&&(n+=\"\"),qn(n,i)?(this.setTransform(t),zn(this,t,n,i,null,e),this.restoreTransform(t)):t.__attrCachedBy=Wi.NONE},getBoundingRect:function(){var t=this.style;if(this.__dirty&&Rn(t),!this._rect){var e=t.text;null!=e?e+=\"\":e=\"\";var i=gn(t.text+\"\",t.font,t.textAlign,t.textVerticalAlign,t.textPadding,t.textLineHeight,t.rich);if(i.x+=t.x||0,i.y+=t.y||0,Un(t.textStroke,t.textStrokeWidth)){var n=t.textStrokeWidth;i.x-=n/2,i.y-=n/2,i.width+=n,i.height+=n}this._rect=i}return this._rect}},w(Ur,Jn);function Xr(l){return v.browser.ie&&11<=v.browser.version?function(){var t,e=this.__clipPaths,i=this.style;if(e)for(var n=0;n<e.length;n++){var o=e[n],a=o&&o.shape,r=o&&o.type;if(a&&(\"sector\"===r&&a.startAngle===a.endAngle||\"rect\"===r&&(!a.width||!a.height))){for(var s=0;s<jr.length;s++)jr[s][2]=i[jr[s][0]],i[jr[s][0]]=jr[s][1];t=!0;break}}if(l.apply(this,arguments),t)for(s=0;s<jr.length;s++)i[jr[s][0]]=jr[s][2]}:l}var Yr=Ar.extend({type:\"circle\",shape:{cx:0,cy:0,r:0},buildPath:function(t,e,i){i&&t.moveTo(e.cx+e.r,e.cy),t.arc(e.cx,e.cy,e.r,0,2*Math.PI,!0)}}),jr=[[\"shadowBlur\",0],[\"shadowColor\",\"#000\"],[\"shadowOffsetX\",0],[\"shadowOffsetY\",0]],qr=Ar.extend({type:\"sector\",shape:{cx:0,cy:0,r0:0,r:0,startAngle:0,endAngle:2*Math.PI,clockwise:!0},brush:Xr(Ar.prototype.brush),buildPath:function(t,e){var i=e.cx,n=e.cy,o=Math.max(e.r0||0,0),a=Math.max(e.r,0),r=e.startAngle,s=e.endAngle,l=e.clockwise,u=Math.cos(r),h=Math.sin(r);t.moveTo(u*o+i,h*o+n),t.lineTo(u*a+i,h*a+n),t.arc(i,n,a,r,s,!l),t.lineTo(Math.cos(s)*o+i,Math.sin(s)*o+n),0!==o&&t.arc(i,n,o,s,r,l),t.closePath()}}),Kr=Ar.extend({type:\"ring\",shape:{cx:0,cy:0,r:0,r0:0},buildPath:function(t,e){var i=e.cx,n=e.cy,o=2*Math.PI;t.moveTo(i+e.r,n),t.arc(i,n,e.r,0,o,!1),t.moveTo(i+e.r0,n),t.arc(i,n,e.r0,0,o,!0)}});function $r(t,e,i,n,o,a,r){var s=.5*(i-t),l=.5*(n-e);return(2*(e-i)+s+l)*r+(-3*(e-i)-2*s-l)*a+s*o+e}function Jr(t,e,i){var n=e.points,o=e.smooth;if(n&&2<=n.length){if(o&&\"spline\"!==o){var a=function(t,e,i,n){var o,a,r,s,l=[],u=[],h=[],c=[];if(n){r=[1/0,1/0],s=[-1/0,-1/0];for(var d=0,f=t.length;d<f;d++)St(r,r,t[d]),Mt(s,s,t[d]);St(r,r,n[0]),Mt(s,s,n[1])}for(d=0,f=t.length;d<f;d++){var p=t[d];if(i)o=t[d?d-1:f-1],a=t[(d+1)%f];else{if(0===d||d===f-1){l.push(rt(t[d]));continue}o=t[d-1],a=t[d+1]}ht(u,a,o),gt(u,u,e);var g=vt(p,o),m=vt(p,a),v=g+m;0!==v&&(g/=v,m/=v),gt(h,u,-g),gt(c,u,m);var y=lt([],p,h),x=lt([],p,c);n&&(Mt(y,y,r),St(y,y,s),Mt(x,x,r),St(x,x,s)),l.push(y),l.push(x)}return i&&l.push(l.shift()),l}(n,o,i,e.smoothConstraint);t.moveTo(n[0][0],n[0][1]);for(var r=n.length,s=0;s<(i?r:r-1);s++){var l=a[2*s],u=a[2*s+1],h=n[(s+1)%r];t.bezierCurveTo(l[0],l[1],u[0],u[1],h[0],h[1])}}else{\"spline\"===o&&(n=function(t,e){for(var i=t.length,n=[],o=0,a=1;a<i;a++)o+=vt(t[a-1],t[a]);var r=o/2;r=r<i?i:r;for(a=0;a<r;a++){var s,l,u,h=a/(r-1)*(e?i:i-1),c=Math.floor(h),d=h-c,f=t[c%i];u=e?(s=t[(c-1+i)%i],l=t[(c+1)%i],t[(c+2)%i]):(s=t[0===c?c:c-1],l=t[i-2<c?i-1:c+1],t[i-3<c?i-1:c+2]);var p=d*d,g=d*p;n.push([$r(s[0],f[0],l[0],u[0],d,p,g),$r(s[1],f[1],l[1],u[1],d,p,g)])}return n}(n,i)),t.moveTo(n[0][0],n[0][1]);s=1;for(var c=n.length;s<c;s++)t.lineTo(n[s][0],n[s][1])}i&&t.closePath()}}var Qr=Ar.extend({type:\"polygon\",shape:{points:null,smooth:!1,smoothConstraint:null},buildPath:function(t,e){Jr(t,e,!0)}}),ts=Ar.extend({type:\"polyline\",shape:{points:null,smooth:!1,smoothConstraint:null},style:{stroke:\"#000\",fill:null},buildPath:function(t,e){Jr(t,e,!1)}}),es=Math.round;function is(t,e,i){if(e){var n=e.x1,o=e.x2,a=e.y1,r=e.y2;t.x1=n,t.x2=o,t.y1=a,t.y2=r;var s=i&&i.lineWidth;s&&(es(2*n)===es(2*o)&&(t.x1=t.x2=os(n,s,!0)),es(2*a)===es(2*r)&&(t.y1=t.y2=os(a,s,!0)))}}function ns(t,e,i){if(e){var n=e.x,o=e.y,a=e.width,r=e.height;t.x=n,t.y=o,t.width=a,t.height=r;var s=i&&i.lineWidth;s&&(t.x=os(n,s,!0),t.y=os(o,s,!0),t.width=Math.max(os(n+a,s,!1)-t.x,0===a?0:1),t.height=Math.max(os(o+r,s,!1)-t.y,0===r?0:1))}}function os(t,e,i){if(!e)return t;var n=es(2*t);return(n+es(e))%2==0?n/2:(n+(i?1:-1))/2}var as={},rs=Ar.extend({type:\"rect\",shape:{r:0,x:0,y:0,width:0,height:0},buildPath:function(t,e){var i,n,o,a;this.subPixelOptimize?(ns(as,e,this.style),i=as.x,n=as.y,o=as.width,a=as.height,as.r=e.r,e=as):(i=e.x,n=e.y,o=e.width,a=e.height),e.r?Dn(t,e):t.rect(i,n,o,a),t.closePath()}}),ss={},ls=Ar.extend({type:\"line\",shape:{x1:0,y1:0,x2:0,y2:0,percent:1},style:{stroke:\"#000\",fill:null},buildPath:function(t,e){var i,n,o,a;a=this.subPixelOptimize?(is(ss,e,this.style),i=ss.x1,n=ss.y1,o=ss.x2,ss.y2):(i=e.x1,n=e.y1,o=e.x2,e.y2);var r=e.percent;0!==r&&(t.moveTo(i,n),r<1&&(o=i*(1-r)+o*r,a=n*(1-r)+a*r),t.lineTo(o,a))},pointAt:function(t){var e=this.shape;return[e.x1*(1-t)+e.x2*t,e.y1*(1-t)+e.y2*t]}}),us=[];function hs(t,e,i){var n=t.cpx2,o=t.cpy2;return null===n||null===o?[(i?Aa:Ta)(t.x1,t.cpx1,t.cpx2,t.x2,e),(i?Aa:Ta)(t.y1,t.cpy1,t.cpy2,t.y2,e)]:[(i?ka:La)(t.x1,t.cpx1,t.x2,e),(i?ka:La)(t.y1,t.cpy1,t.y2,e)]}function cs(t){this.colorStops=t||[]}var ds=Ar.extend({type:\"bezier-curve\",shape:{x1:0,y1:0,x2:0,y2:0,cpx1:0,cpy1:0,percent:1},style:{stroke:\"#000\",fill:null},buildPath:function(t,e){var i=e.x1,n=e.y1,o=e.x2,a=e.y2,r=e.cpx1,s=e.cpy1,l=e.cpx2,u=e.cpy2,h=e.percent;0!==h&&(t.moveTo(i,n),null==l||null==u?(h<1&&(Na(i,r,o,h,us),r=us[1],o=us[2],Na(n,s,a,h,us),s=us[1],a=us[2]),t.quadraticCurveTo(r,s,o,a)):(h<1&&(Ca(i,r,l,o,h,us),r=us[1],l=us[2],o=us[3],Ca(n,s,u,a,h,us),s=us[1],u=us[2],a=us[3]),t.bezierCurveTo(r,s,l,u,o,a)))},pointAt:function(t){return hs(this.shape,t,!1)},tangentAt:function(t){var e=hs(this.shape,t,!0);return mt(e,e)}}),fs=Ar.extend({type:\"arc\",shape:{cx:0,cy:0,r:0,startAngle:0,endAngle:2*Math.PI,clockwise:!0},style:{stroke:\"#000\",fill:null},buildPath:function(t,e){var i=e.cx,n=e.cy,o=Math.max(e.r,0),a=e.startAngle,r=e.endAngle,s=e.clockwise,l=Math.cos(a),u=Math.sin(a);t.moveTo(l*o+i,u*o+n),t.arc(i,n,o,a,r,!s)}}),ps=Ar.extend({type:\"compound\",shape:{paths:null},_updatePathDirty:function(){for(var t=this.__dirtyPath,e=this.shape.paths,i=0;i<e.length;i++)t=t||e[i].__dirtyPath;this.__dirtyPath=t,this.__dirty=this.__dirty||t},beforeBrush:function(){this._updatePathDirty();for(var t=this.shape.paths||[],e=this.getGlobalScale(),i=0;i<t.length;i++)t[i].path||t[i].createPathProxy(),t[i].path.setScale(e[0],e[1],t[i].segmentIgnoreThreshold)},buildPath:function(t,e){for(var i=e.paths||[],n=0;n<i.length;n++)i[n].buildPath(t,i[n].shape,!0)},afterBrush:function(){for(var t=this.shape.paths||[],e=0;e<t.length;e++)t[e].__dirtyPath=!1},getBoundingRect:function(){return this._updatePathDirty(),Ar.prototype.getBoundingRect.call(this)}});cs.prototype={constructor:cs,addColorStop:function(t,e){this.colorStops.push({offset:t,color:e})}};function gs(t,e,i,n,o,a){this.x=null==t?0:t,this.y=null==e?0:e,this.x2=null==i?1:i,this.y2=null==n?0:n,this.type=\"linear\",this.global=a||!1,cs.call(this,o)}gs.prototype={constructor:gs},w(gs,cs);function ms(t,e,i,n,o){this.x=null==t?.5:t,this.y=null==e?.5:e,this.r=null==i?.5:i,this.type=\"radial\",this.global=o||!1,cs.call(this,n)}function vs(t){Jn.call(this,t),this._displayables=[],this._temporaryDisplayables=[],this._cursor=0,this.notClear=!0}ms.prototype={constructor:ms},w(ms,cs),vs.prototype.incremental=!0,vs.prototype.clearDisplaybles=function(){this._displayables=[],this._temporaryDisplayables=[],this._cursor=0,this.dirty(),this.notClear=!1},vs.prototype.addDisplayable=function(t,e){e?this._temporaryDisplayables.push(t):this._displayables.push(t),this.dirty()},vs.prototype.addDisplayables=function(t,e){e=e||!1;for(var i=0;i<t.length;i++)this.addDisplayable(t[i],e)},vs.prototype.eachPendingDisplayable=function(t){for(var e=this._cursor;e<this._displayables.length;e++)t&&t(this._displayables[e]);for(e=0;e<this._temporaryDisplayables.length;e++)t&&t(this._temporaryDisplayables[e])},vs.prototype.update=function(){this.updateTransform();for(var t=this._cursor;t<this._displayables.length;t++){(e=this._displayables[t]).parent=this,e.update(),e.parent=null}for(t=0;t<this._temporaryDisplayables.length;t++){var e;(e=this._temporaryDisplayables[t]).parent=this,e.update(),e.parent=null}},vs.prototype.brush=function(t,e){for(var i=this._cursor;i<this._displayables.length;i++){(n=this._displayables[i]).beforeBrush&&n.beforeBrush(t),n.brush(t,i===this._cursor?null:this._displayables[i-1]),n.afterBrush&&n.afterBrush(t)}this._cursor=i;for(i=0;i<this._temporaryDisplayables.length;i++){var n;(n=this._temporaryDisplayables[i]).beforeBrush&&n.beforeBrush(t),n.brush(t,0===i?null:this._temporaryDisplayables[i-1]),n.afterBrush&&n.afterBrush(t)}this._temporaryDisplayables=[],this.notClear=!0};var ys=[];vs.prototype.getBoundingRect=function(){if(!this._rect){for(var t=new Di(1/0,1/0,-1/0,-1/0),e=0;e<this._displayables.length;e++){var i=this._displayables[e],n=i.getBoundingRect().clone();i.needLocalTransform()&&n.applyTransform(i.getLocalTransform(ys)),t.union(n)}this._rect=t}return this._rect},vs.prototype.contain=function(t,e){var i=this.transformCoordToLocal(t,e);if(this.getBoundingRect().contain(i[0],i[1]))for(var n=0;n<this._displayables.length;n++){if(this._displayables[n].contain(t,e))return!0}return!1},w(vs,Jn);var xs=Math.max,_s=Math.min,ws={},bs=1,Ss={color:\"textFill\",textBorderColor:\"textStroke\",textBorderWidth:\"textStrokeWidth\"},Ms=\"emphasis\",Is=\"normal\",Ts=1,As={},Ds={};function Cs(t){return Ar.extend(t)}function Ls(t,e){Ds[t]=e}function ks(t){if(Ds.hasOwnProperty(t))return Ds[t]}function Ps(t,e,i,n){var o=Zr(t,e);return i&&(\"center\"===n&&(i=Os(i,o.getBoundingRect())),Es(o,i)),o}function Ns(t,i,n){var o=new Qn({style:{image:t,x:i.x,y:i.y,width:i.width,height:i.height},onload:function(t){if(\"center\"===n){var e={width:t.width,height:t.height};o.setStyle(Os(i,e))}}});return o}function Os(t,e){var i,n=e.width/e.height,o=t.height*n;return i=o<=t.width?t.height:(o=t.width)/n,{x:t.x+t.width/2-o/2,y:t.y+t.height/2-i/2,width:o,height:i}}var Rs=function(t,e){for(var i=[],n=t.length,o=0;o<n;o++){var a=t[o];a.path||a.createPathProxy(),a.__dirtyPath&&a.buildPath(a.path,a.shape,!0),i.push(a.path)}var r=new Ar(e);return r.createPathProxy(),r.buildPath=function(t){t.appendPath(i);var e=t.getContext();e&&t.rebuildPath(e)},r};function Es(t,e){if(t.applyTransform){var i=t.getBoundingRect().calculateTransform(e);t.applyTransform(i)}}var zs=os;function Bs(t){return null!=t&&\"none\"!==t}var Vs=Q(),Gs=0;function Fs(t){var e=t.__hoverStl;if(e&&!t.__highlighted){var i=t.__zr,n=t.useHoverLayer&&i&&\"canvas\"===i.painter.type;if(t.__highlighted=n?\"layer\":\"plain\",!(t.isGroup||!i&&t.useHoverLayer)){var o=t,a=t.style;n&&(a=(o=i.addHover(t)).style),ll(a),n||function(t){if(t.__hoverStlDirty){t.__hoverStlDirty=!1;var e=t.__hoverStl;if(e){var i=t.__cachedNormalStl={};t.__cachedNormalZ2=t.z2;var n=t.style;for(var o in e)null!=e[o]&&(i[o]=n[o]);i.fill=n.fill,i.stroke=n.stroke}else t.__cachedNormalStl=t.__cachedNormalZ2=null}}(o),a.extendFrom(e),Ws(a,e,\"fill\"),Ws(a,e,\"stroke\"),sl(a),n||(t.dirty(!1),t.z2+=bs)}}}function Ws(t,e,i){!Bs(e[i])&&Bs(t[i])&&(t[i]=function(t){if(\"string\"!=typeof t)return t;var e=Vs.get(t);return e||(e=He(t,-.1),Gs<1e4&&(Vs.set(t,e),Gs++)),e}(t[i]))}function Hs(t){var e=t.__highlighted;if(e&&(t.__highlighted=!1,!t.isGroup))if(\"layer\"===e)t.__zr&&t.__zr.removeHover(t);else{var i=t.style,n=t.__cachedNormalStl;n&&(ll(i),t.setStyle(n),sl(i));var o=t.__cachedNormalZ2;null!=o&&t.z2-o===bs&&(t.z2=o)}}function Zs(t,e,i){var n,o=Is,a=Is;t.__highlighted&&(o=Ms,n=!0),e(t,i),t.__highlighted&&(a=Ms,n=!0),t.isGroup&&t.traverse(function(t){t.isGroup||e(t,i)}),n&&t.__highDownOnUpdate&&t.__highDownOnUpdate(o,a)}function Us(t,e){e=t.__hoverStl=!1!==e&&(t.hoverStyle||e||{}),t.__hoverStlDirty=!0,t.__highlighted&&(t.__cachedNormalStl=null,Hs(t),Fs(t))}function Xs(t){Ks(this,t)||this.__highByOuter||Zs(this,Fs)}function Ys(t){Ks(this,t)||this.__highByOuter||Zs(this,Hs)}function js(t){this.__highByOuter|=1<<(t||0),Zs(this,Fs)}function qs(t){(this.__highByOuter&=~(1<<(t||0)))||Zs(this,Hs)}function Ks(t,e){return t.__highDownSilentOnTouch&&e.zrByTouch}function $s(t,e){Js(t,!0),Zs(t,Us,e)}function Js(t,e){var i=!1===e;if(t.__highDownSilentOnTouch=t.highDownSilentOnTouch,t.__highDownOnUpdate=t.highDownOnUpdate,!i||t.__highDownDispatcher){var n=i?\"off\":\"on\";t[n](\"mouseover\",Xs)[n](\"mouseout\",Ys),t[n](\"emphasis\",js)[n](\"normal\",qs),t.__highByOuter=t.__highByOuter||0,t.__highDownDispatcher=!i}}function Qs(t){return!(!t||!t.__highDownDispatcher)}function tl(t){var e=As[t];return null==e&&Ts<=32&&(e=As[t]=Ts++),e}function el(t,e,i,n,o,a,r){var s,l=(o=o||ws).labelFetcher,u=o.labelDataIndex,h=o.labelDimIndex,c=o.labelProp,d=i.getShallow(\"show\"),f=n.getShallow(\"show\");(d||f)&&(l&&(s=l.getFormattedLabel(u,\"normal\",null,h,c)),null==s&&(s=C(o.defaultText)?o.defaultText(u,o):o.defaultText));var p=d?s:null,g=f?H(l?l.getFormattedLabel(u,\"emphasis\",null,h,c):null,s):null;null==p&&null==g||(nl(t,i,a,o),nl(e,n,r,o,!0)),t.text=p,e.text=g}function il(t,e,i){var n=t.style;e&&(ll(n),t.setStyle(e),sl(n)),n=t.__hoverStl,i&&n&&(ll(n),P(n,i),sl(n))}function nl(t,e,i,n,o){return ol(t,e,n,o),i&&P(t,i),t}function ol(t,e,i,n){if((i=i||ws).isRectText){var o;i.getTextPosition?o=i.getTextPosition(e,n):\"outside\"===(o=e.getShallow(\"position\")||(n?null:\"inside\"))&&(o=\"top\"),t.textPosition=o,t.textOffset=e.getShallow(\"offset\");var a=e.getShallow(\"rotate\");null!=a&&(a*=Math.PI/180),t.textRotation=a,t.textDistance=H(e.getShallow(\"distance\"),n?null:5)}var r,s=e.ecModel,l=s&&s.option.textStyle,u=function(t){var e;for(;t&&t!==t.ecModel;){var i=(t.option||ws).rich;if(i)for(var n in e=e||{},i)i.hasOwnProperty(n)&&(e[n]=1);t=t.parentModel}return e}(e);if(u)for(var h in r={},u)if(u.hasOwnProperty(h)){var c=e.getModel([\"rich\",h]);al(r[h]={},c,l,i,n)}return t.rich=r,al(t,e,l,i,n,!0),i.forceRich&&!i.textStyle&&(i.textStyle={}),t}function al(t,e,i,n,o,a){i=!o&&i||ws,t.textFill=rl(e.getShallow(\"color\"),n)||i.color,t.textStroke=rl(e.getShallow(\"textBorderColor\"),n)||i.textBorderColor,t.textStrokeWidth=H(e.getShallow(\"textBorderWidth\"),i.textBorderWidth),o||(a&&(t.insideRollbackOpt=n,sl(t)),null==t.textFill&&(t.textFill=n.autoColor)),t.fontStyle=e.getShallow(\"fontStyle\")||i.fontStyle,t.fontWeight=e.getShallow(\"fontWeight\")||i.fontWeight,t.fontSize=e.getShallow(\"fontSize\")||i.fontSize,t.fontFamily=e.getShallow(\"fontFamily\")||i.fontFamily,t.textAlign=e.getShallow(\"align\"),t.textVerticalAlign=e.getShallow(\"verticalAlign\")||e.getShallow(\"baseline\"),t.textLineHeight=e.getShallow(\"lineHeight\"),t.textWidth=e.getShallow(\"width\"),t.textHeight=e.getShallow(\"height\"),t.textTag=e.getShallow(\"tag\"),a&&n.disableBox||(t.textBackgroundColor=rl(e.getShallow(\"backgroundColor\"),n),t.textPadding=e.getShallow(\"padding\"),t.textBorderColor=rl(e.getShallow(\"borderColor\"),n),t.textBorderWidth=e.getShallow(\"borderWidth\"),t.textBorderRadius=e.getShallow(\"borderRadius\"),t.textBoxShadowColor=e.getShallow(\"shadowColor\"),t.textBoxShadowBlur=e.getShallow(\"shadowBlur\"),t.textBoxShadowOffsetX=e.getShallow(\"shadowOffsetX\"),t.textBoxShadowOffsetY=e.getShallow(\"shadowOffsetY\")),t.textShadowColor=e.getShallow(\"textShadowColor\")||i.textShadowColor,t.textShadowBlur=e.getShallow(\"textShadowBlur\")||i.textShadowBlur,t.textShadowOffsetX=e.getShallow(\"textShadowOffsetX\")||i.textShadowOffsetX,t.textShadowOffsetY=e.getShallow(\"textShadowOffsetY\")||i.textShadowOffsetY}function rl(t,e){return\"auto\"!==t?t:e&&e.autoColor?e.autoColor:null}function sl(t){var e,i=t.textPosition,n=t.insideRollbackOpt;if(n&&null==t.textFill){var o=n.autoColor,a=n.isRectText,r=n.useInsideStyle,s=!1!==r&&(!0===r||a&&i&&\"string\"==typeof i&&0<=i.indexOf(\"inside\")),l=!s&&null!=o;(s||l)&&(e={textFill:t.textFill,textStroke:t.textStroke,textStrokeWidth:t.textStrokeWidth}),s&&(t.textFill=\"#fff\",null==t.textStroke&&(t.textStroke=o,null==t.textStrokeWidth&&(t.textStrokeWidth=2))),l&&(t.textFill=o)}t.insideRollback=e}function ll(t){var e=t.insideRollback;e&&(t.textFill=e.textFill,t.textStroke=e.textStroke,t.textStrokeWidth=e.textStrokeWidth,t.insideRollback=null)}function ul(t,e){var i=e&&e.getModel(\"textStyle\");return j([t.fontStyle||i&&i.getShallow(\"fontStyle\")||\"\",t.fontWeight||i&&i.getShallow(\"fontWeight\")||\"\",(t.fontSize||i&&i.getShallow(\"fontSize\")||12)+\"px\",t.fontFamily||i&&i.getShallow(\"fontFamily\")||\"sans-serif\"].join(\" \"))}function hl(t,e,i,n,o,a){if(\"function\"==typeof o&&(a=o,o=null),n&&n.isAnimationEnabled()){var r=t?\"Update\":\"\",s=n.getShallow(\"animationDuration\"+r),l=n.getShallow(\"animationEasing\"+r),u=n.getShallow(\"animationDelay\"+r);\"function\"==typeof u&&(u=u(o,n.getAnimationDelayParams?n.getAnimationDelayParams(e,o):null)),\"function\"==typeof s&&(s=s(o)),0<s?e.animateTo(i,s,u||0,l,a,!!a):(e.stopAnimation(),e.attr(i),a&&a())}else e.stopAnimation(),e.attr(i),a&&a()}function cl(t,e,i,n,o){hl(!0,t,e,i,n,o)}function dl(t,e,i,n,o){hl(!1,t,e,i,n,o)}function fl(t,e){for(var i=re([]);t&&t!==e;)le(i,t.getLocalTransform(),i),t=t.parent;return i}function pl(t,e,i){return e&&!N(e)&&(e=ve.getLocalTransform(e)),i&&(e=de([],e)),bt([],t,e)}function gl(t,e,i){var n=0===e[4]||0===e[5]||0===e[0]?1:Math.abs(2*e[4]/e[0]),o=0===e[4]||0===e[5]||0===e[2]?1:Math.abs(2*e[4]/e[2]),a=[\"left\"===t?-n:\"right\"===t?n:0,\"top\"===t?-o:\"bottom\"===t?o:0];return a=pl(a,e,i),Math.abs(a[0])>Math.abs(a[1])?0<a[0]?\"right\":\"left\":0<a[1]?\"bottom\":\"top\"}function ml(t,e,n,i){if(t&&e){var o,a=(o={},t.traverse(function(t){!t.isGroup&&t.anid&&(o[t.anid]=t)}),o);e.traverse(function(t){if(!t.isGroup&&t.anid){var e=a[t.anid];if(e){var i=r(t);t.attr(r(e)),cl(t,i,n,t.dataIndex)}}})}function r(t){var e={position:rt(t.position),rotation:t.rotation};return t.shape&&(e.shape=P({},t.shape)),e}}function vl(t,n){return O(t,function(t){var e=t[0];e=xs(e,n.x),e=_s(e,n.x+n.width);var i=t[1];return i=xs(i,n.y),[e,i=_s(i,n.y+n.height)]})}function yl(t,e,i){var n=(e=P({rectHover:!0},e)).style={strokeNoScale:!0};if(i=i||{x:-1,y:-1,width:2,height:2},t)return 0===t.indexOf(\"image://\")?(n.image=t.slice(8),D(n,i),new Qn(e)):Ps(t.replace(\"path://\",\"\"),e,i,\"center\")}function xl(t,e,i,n,o){for(var a=0,r=o[o.length-1];a<o.length;a++){var s=o[a];if(_l(t,e,i,n,s[0],s[1],r[0],r[1]))return!0;r=s}}function _l(t,e,i,n,o,a,r,s){var l=i-t,u=n-e,h=r-o,c=s-a,d=wl(h,c,l,u);if(function(t){return t<=1e-6&&-1e-6<=t}(d))return!1;var f=t-o,p=e-a,g=wl(f,p,l,u)/d;if(g<0||1<g)return!1;var m=wl(f,p,h,c)/d;return!(m<0||1<m)}function wl(t,e,i,n){return t*n-i*e}Ls(\"circle\",Yr),Ls(\"sector\",qr),Ls(\"ring\",Kr),Ls(\"polygon\",Qr),Ls(\"polyline\",ts),Ls(\"rect\",rs),Ls(\"line\",ls),Ls(\"bezierCurve\",ds),Ls(\"arc\",fs);var bl=(Object.freeze||Object)({Z2_EMPHASIS_LIFT:bs,CACHED_LABEL_STYLE_PROPERTIES:Ss,extendShape:Cs,extendPath:function(t,e){return function(t,e){return Ar.extend(Hr(t,e))}(t,e)},registerShape:Ls,getShapeClass:ks,makePath:Ps,makeImage:Ns,mergePath:Rs,resizePath:Es,subPixelOptimizeLine:function(t){return is(t.shape,t.shape,t.style),t},subPixelOptimizeRect:function(t){return ns(t.shape,t.shape,t.style),t},subPixelOptimize:zs,setElementHoverStyle:Us,setHoverStyle:$s,setAsHighDownDispatcher:Js,isHighDownDispatcher:Qs,getHighlightDigit:tl,setLabelStyle:el,modifyLabelStyle:il,setTextStyle:nl,setText:function(t,e,i){var n,o={isRectText:!0};!1===i?n=!0:o.autoColor=i,ol(t,e,o,n)},getFont:ul,updateProps:cl,initProps:dl,getTransform:fl,applyTransform:pl,transformDirection:gl,groupTransition:ml,clipPointsByRect:vl,clipRectByRect:function(t,e){var i=xs(t.x,e.x),n=_s(t.x+t.width,e.x+e.width),o=xs(t.y,e.y),a=_s(t.y+t.height,e.y+e.height);if(i<=n&&o<=a)return{x:i,y:o,width:n-i,height:a-o}},createIcon:yl,linePolygonIntersect:xl,lineLineIntersect:_l,Group:Ci,Image:Qn,Text:Ur,Circle:Yr,Sector:qr,Ring:Kr,Polygon:Qr,Polyline:ts,Rect:rs,Line:ls,BezierCurve:ds,Arc:fs,IncrementalDisplayable:vs,CompoundPath:ps,LinearGradient:gs,RadialGradient:ms,BoundingRect:Di}),Sl=[\"textStyle\",\"color\"],Ml={getTextColor:function(t){var e=this.ecModel;return this.getShallow(\"color\")||(!t&&e?e.get(Sl):null)},getFont:function(){return ul({fontStyle:this.getShallow(\"fontStyle\"),fontWeight:this.getShallow(\"fontWeight\"),fontSize:this.getShallow(\"fontSize\"),fontFamily:this.getShallow(\"fontFamily\")},this.ecModel)},getTextRect:function(t){return gn(t,this.getFont(),this.getShallow(\"align\"),this.getShallow(\"verticalAlign\")||this.getShallow(\"baseline\"),this.getShallow(\"padding\"),this.getShallow(\"lineHeight\"),this.getShallow(\"rich\"),this.getShallow(\"truncateText\"))}},Il=ha([[\"fill\",\"color\"],[\"stroke\",\"borderColor\"],[\"lineWidth\",\"borderWidth\"],[\"opacity\"],[\"shadowBlur\"],[\"shadowOffsetX\"],[\"shadowOffsetY\"],[\"shadowColor\"],[\"textPosition\"],[\"textAlign\"]]),Tl={getItemStyle:function(t,e){var i=Il(this,t,e),n=this.getBorderLineDash();return n&&(i.lineDash=n),i},getBorderLineDash:function(){var t=this.get(\"borderType\");return\"solid\"===t||null==t?null:\"dashed\"===t?[5,5]:[1,1]}},Al=b,Dl=jo();function Cl(t,e,i){this.parentModel=e,this.ecModel=i,this.option=t}function Ll(t,e,i){for(var n=0;n<e.length&&(!e[n]||null!=(t=t&&\"object\"==typeof t?t[e[n]]:null));n++);return null==t&&i&&(t=i.get(e)),t}function kl(t,e){var i=Dl(t).getParent;return i?i.call(t,e):t.parentModel}Cl.prototype={constructor:Cl,init:null,mergeOption:function(t){m(this.option,t,!0)},get:function(t,e){return null==t?this.option:Ll(this.option,this.parsePath(t),!e&&kl(this,t))},getShallow:function(t,e){var i=this.option,n=null==i?i:i[t],o=!e&&kl(this,t);return null==n&&o&&(n=o.getShallow(t)),n},getModel:function(t,e){var i;return new Cl(null==t?this.option:Ll(this.option,t=this.parsePath(t)),e=e||(i=kl(this,t))&&i.getModel(t),this.ecModel)},isEmpty:function(){return null==this.option},restoreData:function(){},clone:function(){return new this.constructor(k(this.option))},setReadOnly:function(t){},parsePath:function(t){return\"string\"==typeof t&&(t=t.split(\".\")),t},customizeGetParent:function(t){Dl(this).getParent=t},isAnimationEnabled:function(){if(!v.node){if(null!=this.option.animation)return!!this.option.animation;if(this.parentModel)return this.parentModel.isAnimationEnabled()}}},oa(Cl),ra(Cl),Al(Cl,da),Al(Cl,pa),Al(Cl,Ml),Al(Cl,Tl);var Pl=0;function Nl(t){return[t||\"\",Pl++,Math.random().toFixed(5)].join(\"_\")}var Ol=1e-4;function Rl(t,e,i,n){var o=e[1]-e[0],a=i[1]-i[0];if(0==o)return 0==a?i[0]:(i[0]+i[1])/2;if(n)if(0<o){if(t<=e[0])return i[0];if(t>=e[1])return i[1]}else{if(t>=e[0])return i[0];if(t<=e[1])return i[1]}else{if(t===e[0])return i[0];if(t===e[1])return i[1]}return(t-e[0])/o*a+i[0]}function El(t,e){switch(t){case\"center\":case\"middle\":t=\"50%\";break;case\"left\":case\"top\":t=\"0%\";break;case\"right\":case\"bottom\":t=\"100%\"}return\"string\"==typeof t?function(t){return t.replace(/^\\s+|\\s+$/g,\"\")}(t).match(/%$/)?parseFloat(t)/100*e:parseFloat(t):null==t?NaN:+t}function zl(t,e,i){return null==e&&(e=10),e=Math.min(Math.max(0,e),20),t=(+t).toFixed(e),i?t:+t}function Bl(t){return t.sort(function(t,e){return t-e}),t}function Vl(t){if(t=+t,isNaN(t))return 0;for(var e=1,i=0;Math.round(t*e)/e!==t;)e*=10,i++;return i}function Gl(t){var e=t.toString(),i=e.indexOf(\"e\");if(0<i){var n=+e.slice(i+1);return n<0?-n:0}var o=e.indexOf(\".\");return o<0?0:e.length-1-o}function Fl(t,e){var i=Math.log,n=Math.LN10,o=Math.floor(i(t[1]-t[0])/n),a=Math.round(i(Math.abs(e[1]-e[0]))/n),r=Math.min(Math.max(-o+a,0),20);return isFinite(r)?r:20}function Wl(t,e,i){if(!t[e])return 0;var n=S(t,function(t,e){return t+(isNaN(e)?0:e)},0);if(0===n)return 0;for(var o=Math.pow(10,i),a=O(t,function(t){return(isNaN(t)?0:t)/n*o*100}),r=100*o,s=O(a,function(t){return Math.floor(t)}),l=S(s,function(t,e){return t+e},0),u=O(a,function(t,e){return t-s[e]});l<r;){for(var h=Number.NEGATIVE_INFINITY,c=null,d=0,f=u.length;d<f;++d)u[d]>h&&(h=u[d],c=d);++s[c],u[c]=0,++l}return s[e]/o}var Hl=9007199254740991;function Zl(t){var e=2*Math.PI;return(t%e+e)%e}function Ul(t){return-Ol<t&&t<Ol}var Xl=/^(?:(\\d{4})(?:[-\\/](\\d{1,2})(?:[-\\/](\\d{1,2})(?:[T ](\\d{1,2})(?::(\\d\\d)(?::(\\d\\d)(?:[.,](\\d+))?)?)?(Z|[\\+\\-]\\d\\d:?\\d\\d)?)?)?)?)?$/;function Yl(t){if(t instanceof Date)return t;if(\"string\"!=typeof t)return null==t?new Date(NaN):new Date(Math.round(t));var e=Xl.exec(t);if(!e)return new Date(NaN);if(e[8]){var i=+e[4]||0;return\"Z\"!==e[8].toUpperCase()&&(i-=e[8].slice(0,3)),new Date(Date.UTC(+e[1],+(e[2]||1)-1,+e[3]||1,i,+(e[5]||0),+e[6]||0,+e[7]||0))}return new Date(+e[1],+(e[2]||1)-1,+e[3]||1,+e[4]||0,+(e[5]||0),+e[6]||0,+e[7]||0)}function jl(t){return Math.pow(10,ql(t))}function ql(t){if(0===t)return 0;var e=Math.floor(Math.log(t)/Math.LN10);return 10<=t/Math.pow(10,e)&&e++,e}function Kl(t,e){var i=ql(t),n=Math.pow(10,i),o=t/n;return t=(e?o<1.5?1:o<2.5?2:o<4?3:o<7?5:10:o<1?1:o<2?2:o<3?3:o<5?5:10)*n,-20<=i?+t.toFixed(i<0?-i:0):t}function $l(t){t.sort(function(t,e){return function t(e,i,n){return e.interval[n]<i.interval[n]||e.interval[n]===i.interval[n]&&(e.close[n]-i.close[n]==(n?-1:1)||!n&&t(e,i,1))}(t,e,0)?-1:1});for(var e=-1/0,i=1,n=0;n<t.length;){for(var o=t[n].interval,a=t[n].close,r=0;r<2;r++)o[r]<=e&&(o[r]=e,a[r]=r?1:1-i),e=o[r],i=a[r];o[0]===o[1]&&a[0]*a[1]!=1?t.splice(n,1):n++}return t}function Jl(t){return 0<=t-parseFloat(t)}var Ql=(Object.freeze||Object)({linearMap:Rl,parsePercent:El,round:zl,asc:Bl,getPrecision:Vl,getPrecisionSafe:Gl,getPixelPrecision:Fl,getPercentWithPrecision:Wl,MAX_SAFE_INTEGER:Hl,remRadian:Zl,isRadianAroundZero:Ul,parseDate:Yl,quantity:jl,quantityExponent:ql,nice:Kl,quantile:function(t,e){var i=(t.length-1)*e+1,n=Math.floor(i),o=+t[n-1],a=i-n;return a?o+a*(t[n]-o):o},reformIntervals:$l,isNumeric:Jl});function tu(t){return isNaN(t)?\"-\":(t=(t+\"\").split(\".\"))[0].replace(/(\\d{1,3})(?=(?:\\d{3})+(?!\\d))/g,\"$1,\")+(1<t.length?\".\"+t[1]:\"\")}function eu(t,e){return t=(t||\"\").toLowerCase().replace(/-(.)/g,function(t,e){return e.toUpperCase()}),e&&t&&(t=t.charAt(0).toUpperCase()+t.slice(1)),t}var iu=X,nu=/([&<>\"'])/g,ou={\"&\":\"&amp;\",\"<\":\"&lt;\",\">\":\"&gt;\",'\"':\"&quot;\",\"'\":\"&#39;\"};function au(t){return null==t?\"\":(t+\"\").replace(nu,function(t,e){return ou[e]})}function ru(t,e){return\"{\"+t+(null==e?\"\":e)+\"}\"}var su=[\"a\",\"b\",\"c\",\"d\",\"e\",\"f\",\"g\"];function lu(t,e,i){L(e)||(e=[e]);var n=e.length;if(!n)return\"\";for(var o=e[0].$vars||[],a=0;a<o.length;a++){var r=su[a];t=t.replace(ru(r),ru(r,0))}for(var s=0;s<n;s++)for(var l=0;l<o.length;l++){var u=e[s][o[l]];t=t.replace(ru(su[l],s),i?au(u):u)}return t}function uu(i,t,n){return R(t,function(t,e){i=i.replace(\"{\"+e+\"}\",n?au(t):t)}),i}function hu(t,e){var i=(t=E(t)?{color:t,extraCssText:e}:t||{}).color,n=t.type,o=(e=t.extraCssText,t.renderMode||\"html\"),a=t.markerId||\"X\";return i?\"html\"===o?\"subItem\"===n?'<span style=\"display:inline-block;vertical-align:middle;margin-right:8px;margin-left:3px;border-radius:4px;width:4px;height:4px;background-color:'+au(i)+\";\"+(e||\"\")+'\"></span>':'<span style=\"display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:'+au(i)+\";\"+(e||\"\")+'\"></span>':{renderMode:o,content:\"{marker\"+a+\"|}  \",style:{color:i}}:\"\"}function cu(t,e){return\"0000\".substr(0,e-(t+=\"\").length)+t}function du(t,e,i){\"week\"!==t&&\"month\"!==t&&\"quarter\"!==t&&\"half-year\"!==t&&\"year\"!==t||(t=\"MM-dd\\nyyyy\");var n=Yl(e),o=i?\"UTC\":\"\",a=n[\"get\"+o+\"FullYear\"](),r=n[\"get\"+o+\"Month\"]()+1,s=n[\"get\"+o+\"Date\"](),l=n[\"get\"+o+\"Hours\"](),u=n[\"get\"+o+\"Minutes\"](),h=n[\"get\"+o+\"Seconds\"](),c=n[\"get\"+o+\"Milliseconds\"]();return t=t.replace(\"MM\",cu(r,2)).replace(\"M\",r).replace(\"yyyy\",a).replace(\"yy\",a%100).replace(\"dd\",cu(s,2)).replace(\"d\",s).replace(\"hh\",cu(l,2)).replace(\"h\",l).replace(\"mm\",cu(u,2)).replace(\"m\",u).replace(\"ss\",cu(h,2)).replace(\"s\",h).replace(\"SSS\",cu(c,3))}function fu(t){return t?t.charAt(0).toUpperCase()+t.substr(1):t}var pu=xn;function gu(t,e){if(\"_blank\"===e||\"blank\"===e){var i=window.open();i.opener=null,i.location=t}else window.open(t,e)}var mu=(Object.freeze||Object)({addCommas:tu,toCamelCase:eu,normalizeCssArray:iu,encodeHTML:au,formatTpl:lu,formatTplSimple:uu,getTooltipMarker:hu,formatTime:du,capitalFirst:fu,truncateText:pu,getTextBoundingRect:function(t){return gn(t.text,t.font,t.textAlign,t.textVerticalAlign,t.textPadding,t.textLineHeight,t.rich,t.truncate)},getTextRect:function(t,e,i,n,o,a,r,s){return gn(t,e,i,n,o,s,a,r)},windowOpen:gu}),vu=R,yu=[\"left\",\"right\",\"top\",\"bottom\",\"width\",\"height\"],xu=[[\"width\",\"left\",\"right\"],[\"height\",\"top\",\"bottom\"]];function _u(h,c,d,f,p){var g=0,m=0;null==f&&(f=1/0),null==p&&(p=1/0);var v=0;c.eachChild(function(t,e){var i,n,o=t.position,a=t.getBoundingRect(),r=c.childAt(e+1),s=r&&r.getBoundingRect();if(\"horizontal\"===h){var l=a.width+(s?-s.x+a.x:0);v=f<(i=g+l)||t.newline?(g=0,i=l,m+=v+d,a.height):Math.max(v,a.height)}else{var u=a.height+(s?-s.y+a.y:0);v=p<(n=m+u)||t.newline?(g+=v+d,m=0,n=u,a.width):Math.max(v,a.width)}t.newline||(o[0]=g,o[1]=m,\"horizontal\"===h?g=i+d:m=n+d)})}var wu=_u;T(_u,\"vertical\"),T(_u,\"horizontal\");function bu(t,e,i){i=iu(i||0);var n=e.width,o=e.height,a=El(t.left,n),r=El(t.top,o),s=El(t.right,n),l=El(t.bottom,o),u=El(t.width,n),h=El(t.height,o),c=i[2]+i[0],d=i[1]+i[3],f=t.aspect;switch(isNaN(u)&&(u=n-s-d-a),isNaN(h)&&(h=o-l-c-r),null!=f&&(isNaN(u)&&isNaN(h)&&(n/o<f?u=.8*n:h=.8*o),isNaN(u)&&(u=f*h),isNaN(h)&&(h=u/f)),isNaN(a)&&(a=n-s-u-d),isNaN(r)&&(r=o-l-h-c),t.left||t.right){case\"center\":a=n/2-u/2-i[3];break;case\"right\":a=n-u-d}switch(t.top||t.bottom){case\"middle\":case\"center\":r=o/2-h/2-i[0];break;case\"bottom\":r=o-h-c}a=a||0,r=r||0,isNaN(u)&&(u=n-d-a-(s||0)),isNaN(h)&&(h=o-c-r-(l||0));var p=new Di(a+i[3],r+i[0],u,h);return p.margin=i,p}function Su(t,e,i,n,o){var a=!o||!o.hv||o.hv[0],r=!o||!o.hv||o.hv[1],s=o&&o.boundingMode||\"all\";if(a||r){var l;if(\"raw\"===s)l=\"group\"===t.type?new Di(0,0,+e.width||0,+e.height||0):t.getBoundingRect();else if(l=t.getBoundingRect(),t.needLocalTransform()){var u=t.getLocalTransform();(l=l.clone()).applyTransform(u)}e=bu(D({width:l.width,height:l.height},e),i,n);var h=t.position,c=a?e.x-l.x:0,d=r?e.y-l.y:0;t.attr(\"position\",\"raw\"===s?[c,d]:[h[0]+c,h[1]+d])}}function Mu(l,u,t){z(t)||(t={});var h=t.ignoreSize;L(h)||(h=[h,h]);var e=n(xu[0],0),i=n(xu[1],1);function n(t,e){var i={},n=0,o={},a=0;if(vu(t,function(t){o[t]=l[t]}),vu(t,function(t){c(u,t)&&(i[t]=o[t]=u[t]),d(i,t)&&n++,d(o,t)&&a++}),h[e])return d(u,t[1])?o[t[2]]=null:d(u,t[2])&&(o[t[1]]=null),o;if(2!==a&&n){if(2<=n)return i;for(var r=0;r<t.length;r++){var s=t[r];if(!c(i,s)&&c(l,s)){i[s]=l[s];break}}return i}return o}function c(t,e){return t.hasOwnProperty(e)}function d(t,e){return null!=t[e]&&\"auto\"!==t[e]}function o(t,e,i){vu(t,function(t){e[t]=i[t]})}o(xu[0],l,e),o(xu[1],l,i)}function Iu(t){return Tu({},t)}function Tu(e,i){return i&&e&&vu(yu,function(t){i.hasOwnProperty(t)&&(e[t]=i[t])}),e}var Au,Du,Cu,Lu=jo(),ku=Cl.extend({type:\"component\",id:\"\",name:\"\",mainType:\"\",subType:\"\",componentIndex:0,defaultOption:null,ecModel:null,dependentModels:[],uid:null,layoutMode:null,$constructor:function(t,e,i,n){Cl.call(this,t,e,i,n),this.uid=Nl(\"ec_cpt_model\")},init:function(t,e,i,n){this.mergeDefaultAndTheme(t,i)},mergeDefaultAndTheme:function(t,e){var i=this.layoutMode,n=i?Iu(t):{};m(t,e.getTheme().get(this.mainType)),m(t,this.getDefaultOption()),i&&Mu(t,n,i)},mergeOption:function(t,e){m(this.option,t,!0);var i=this.layoutMode;i&&Mu(this.option,t,i)},optionUpdated:function(t,e){},getDefaultOption:function(){var t=Lu(this);if(!t.defaultOption){for(var e=[],i=this.constructor;i;){var n=i.prototype.defaultOption;n&&e.push(n),i=i.superClass}for(var o={},a=e.length-1;0<=a;a--)o=m(o,e[a],!0);t.defaultOption=o}return t.defaultOption},getReferringComponents:function(t){return this.ecModel.queryComponents({mainType:t,index:this.get(t+\"Index\",!0),id:this.get(t+\"Id\",!0)})}});function Pu(t,e){return t[e]||(t[e]={predecessor:[],successor:[]}),t[e]}ua(ku,{registerWhenExtend:!0}),Du={},(Au=ku).registerSubTypeDefaulter=function(t,e){t=na(t),Du[t.main]=e},Au.determineSubType=function(t,e){var i=e.type;if(!i){var n=na(t).main;Au.hasSubTypes(t)&&Du[n]&&(i=Du[n](e))}return i},Cu=function(t){var e=[];R(ku.getClassesByMainType(t),function(t){e=e.concat(t.prototype.dependencies||[])}),e=O(e,function(t){return na(t).main}),\"dataset\"!==t&&_(e,\"dataset\")<=0&&e.unshift(\"dataset\");return e},ku.topologicalTravel=function(t,e,i,n){if(t.length){var o=function(e){var o={},a=[];return R(e,function(i){var n=Pu(o,i),t=function(t,e){var i=[];return R(t,function(t){0<=_(e,t)&&i.push(t)}),i}(n.originalDeps=Cu(i),e);n.entryCount=t.length,0===n.entryCount&&a.push(i),R(t,function(t){_(n.predecessor,t)<0&&n.predecessor.push(t);var e=Pu(o,t);_(e.successor,t)<0&&e.successor.push(i)})}),{graph:o,noEntryList:a}}(e),a=o.graph,r=o.noEntryList,s={};for(R(t,function(t){s[t]=!0});r.length;){var l=r.pop(),u=a[l],h=!!s[l];h&&(i.call(n,l,u.originalDeps.slice()),delete s[l]),R(u.successor,h?d:c)}R(s,function(){throw new Error(\"Circle dependency may exists\")})}function c(t){a[t].entryCount--,0===a[t].entryCount&&r.push(t)}function d(t){s[t]=!0,c(t)}},b(ku,{getBoxLayoutParams:function(){return{left:this.get(\"left\"),top:this.get(\"top\"),right:this.get(\"right\"),bottom:this.get(\"bottom\"),width:this.get(\"width\"),height:this.get(\"height\")}}});var Nu=\"\";\"undefined\"!=typeof navigator&&(Nu=navigator.platform||\"\");var Ou={color:[\"#c23531\",\"#2f4554\",\"#61a0a8\",\"#d48265\",\"#91c7ae\",\"#749f83\",\"#ca8622\",\"#bda29a\",\"#6e7074\",\"#546570\",\"#c4ccd3\"],gradientColor:[\"#f6efa6\",\"#d88273\",\"#bf444c\"],textStyle:{fontFamily:Nu.match(/^Win/)?\"Microsoft YaHei\":\"sans-serif\",fontSize:12,fontStyle:\"normal\",fontWeight:\"normal\"},blendMode:null,animation:\"auto\",animationDuration:1e3,animationDurationUpdate:300,animationEasing:\"exponentialOut\",animationEasingUpdate:\"cubicOut\",animationThreshold:2e3,progressiveThreshold:3e3,progressive:400,hoverLayerThreshold:3e3,useUTC:!1},Ru=jo();var Eu={clearColorPalette:function(){Ru(this).colorIdx=0,Ru(this).colorNameMap={}},getColorFromPalette:function(t,e,i){var n=Ru(e=e||this),o=n.colorIdx||0,a=n.colorNameMap=n.colorNameMap||{};if(a.hasOwnProperty(t))return a[t];var r=Vo(this.get(\"color\",!0)),s=this.get(\"colorLayer\",!0),l=null!=i&&s?function(t,e){for(var i=t.length,n=0;n<i;n++)if(t[n].length>e)return t[n];return t[i-1]}(s,i):r;if((l=l||r)&&l.length){var u=l[o];return t&&(a[t]=u),n.colorIdx=(o+1)%l.length,u}}},zu=\"original\",Bu=\"arrayRows\",Vu=\"objectRows\",Gu=\"keyedColumns\",Fu=\"unknown\",Wu=\"typedArray\",Hu=\"column\",Zu=\"row\";function Uu(t){this.fromDataset=t.fromDataset,this.data=t.data||(t.sourceFormat===Gu?{}:[]),this.sourceFormat=t.sourceFormat||Fu,this.seriesLayoutBy=t.seriesLayoutBy||Hu,this.dimensionsDefine=t.dimensionsDefine,this.encodeDefine=t.encodeDefine&&Q(t.encodeDefine),this.startIndex=t.startIndex||0,this.dimensionsDetectCount=t.dimensionsDetectCount}Uu.seriesDataToSource=function(t){return new Uu({data:t,sourceFormat:V(t)?Wu:zu,fromDataset:!1})},ra(Uu);var Xu={Must:1,Might:2,Not:3},Yu=jo();function ju(t){var e=t.option,i=e.data,n=V(i)?Wu:zu,o=!1,a=e.seriesLayoutBy,r=e.sourceHeader,s=e.dimensions,l=Qu(t);if(l){var u=l.option;i=u.source,n=Yu(l).sourceFormat,o=!0,a=a||u.seriesLayoutBy,null==r&&(r=u.sourceHeader),s=s||u.dimensions}var h=function(t,e,i,n,o){if(!t)return{dimensionsDefine:qu(o)};var a,r;if(e===Bu)\"auto\"===n||null==n?Ku(function(t){null!=t&&\"-\"!==t&&(E(t)?null==r&&(r=1):r=0)},i,t,10):r=n?1:0,o||1!==r||(o=[],Ku(function(t,e){o[e]=null!=t?t:\"\"},i,t)),a=o?o.length:i===Zu?t.length:t[0]?t[0].length:null;else if(e===Vu)o=o||function(t){var e,i=0;for(;i<t.length&&!(e=t[i++]););if(e){var n=[];return R(e,function(t,e){n.push(e)}),n}}(t);else if(e===Gu)o||(o=[],R(t,function(t,e){o.push(e)}));else if(e===zu){var s=Wo(t[0]);a=L(s)&&s.length||1}return{startIndex:r,dimensionsDefine:qu(o),dimensionsDetectCount:a}}(i,n,a,r,s);Yu(t).source=new Uu({data:i,fromDataset:o,seriesLayoutBy:a,sourceFormat:n,dimensionsDefine:h.dimensionsDefine,startIndex:h.startIndex,dimensionsDetectCount:h.dimensionsDetectCount,encodeDefine:e.encode})}function qu(t){if(t){var n=Q();return O(t,function(t,e){if(null==(t=P({},z(t)?t:{name:t})).name)return t;t.name+=\"\",null==t.displayName&&(t.displayName=t.name);var i=n.get(t.name);return i?t.name+=\"-\"+i.count++:n.set(t.name,{count:1}),t})}}function Ku(t,e,i,n){if(null==n&&(n=1/0),e===Zu)for(var o=0;o<i.length&&o<n;o++)t(i[o]?i[o][0]:null,o);else{var a=i[0]||[];for(o=0;o<a.length&&o<n;o++)t(a[o],o)}}function $u(i,t,e){var a={},n=Qu(t);if(!n||!i)return a;var r,o,s=[],l=[],u=t.ecModel,h=Yu(u).datasetMap,c=n.uid+\"_\"+e.seriesLayoutBy;R(i=i.slice(),function(t,e){z(t)||(i[e]={name:t}),\"ordinal\"===t.type&&null==r&&(o=p(i[r=e])),a[t.name]=[]});var d=h.get(c)||h.set(c,{categoryWayDim:o,valueWayDim:0});function f(t,e,i){for(var n=0;n<i;n++)t.push(e+n)}function p(t){var e=t.dimsDef;return e?e.length:1}return R(i,function(t,e){var i=t.name,n=p(t);if(null==r){var o=d.valueWayDim;f(a[i],o,n),f(l,o,n),d.valueWayDim+=n}else if(r===e)f(a[i],0,n),f(s,0,n);else{o=d.categoryWayDim;f(a[i],o,n),f(l,o,n),d.categoryWayDim+=n}}),s.length&&(a.itemName=s),l.length&&(a.seriesName=l),a}function Ju(t,l,u){var e={};if(!Qu(t))return e;var h,c=l.sourceFormat,d=l.dimensionsDefine;c!==Vu&&c!==Gu||R(d,function(t,e){\"name\"===(z(t)?t.name:t)&&(h=e)});var i=function(){for(var t={},e={},i=[],n=0,o=Math.min(5,u);n<o;n++){var a=th(l.data,c,l.seriesLayoutBy,d,l.startIndex,n);i.push(a);var r=a===Xu.Not;if(r&&null==t.v&&n!==h&&(t.v=n),null!=t.n&&t.n!==t.v&&(r||i[t.n]!==Xu.Not)||(t.n=n),s(t)&&i[t.n]!==Xu.Not)return t;r||(a===Xu.Might&&null==e.v&&n!==h&&(e.v=n),null!=e.n&&e.n!==e.v||(e.n=n))}function s(t){return null!=t.v&&null!=t.n}return s(t)?t:s(e)?e:null}();if(i){e.value=i.v;var n=null!=h?h:i.n;e.itemName=[n],e.seriesName=[n]}return e}function Qu(t){var e=t.option;if(!e.data)return t.ecModel.getComponent(\"dataset\",e.datasetIndex||0)}function th(t,e,i,n,o,a){var r,s,l;if(V(t))return Xu.Not;if(n){var u=n[a];z(u)?(s=u.name,l=u.type):E(u)&&(s=u)}if(null!=l)return\"ordinal\"===l?Xu.Must:Xu.Not;if(e===Bu)if(i===Zu){for(var h=t[a],c=0;c<(h||[]).length&&c<5;c++)if(null!=(r=g(h[o+c])))return r}else for(c=0;c<t.length&&c<5;c++){var d=t[o+c];if(d&&null!=(r=g(d[a])))return r}else if(e===Vu){if(!s)return Xu.Not;for(c=0;c<t.length&&c<5;c++){if((f=t[c])&&null!=(r=g(f[s])))return r}}else if(e===Gu){if(!s)return Xu.Not;if(!(h=t[s])||V(h))return Xu.Not;for(c=0;c<h.length&&c<5;c++)if(null!=(r=g(h[c])))return r}else if(e===zu)for(c=0;c<t.length&&c<5;c++){var f,p=Wo(f=t[c]);if(!L(p))return Xu.Not;if(null!=(r=g(p[a])))return r}function g(t){var e=E(t);return null!=t&&isFinite(t)&&\"\"!==t?e?Xu.Might:Xu.Not:e&&\"-\"!==t?Xu.Must:void 0}return Xu.Not}var eh=\"\\0_ec_inner\",ih=Cl.extend({init:function(t,e,i,n){i=i||{},this.option=null,this._theme=new Cl(i),this._optionManager=n},setOption:function(t,e){Y(!(eh in t),\"please use chart.getOption()\"),this._optionManager.setOption(t,e),this.resetOption(null)},resetOption:function(t){var e=!1,i=this._optionManager;if(!t||\"recreate\"===t){var n=i.mountOption(\"recreate\"===t);this.option&&\"recreate\"!==t?(this.restoreData(),this.mergeOption(n)):function(t){t=t,this.option={},this.option[eh]=1,this._componentsMap=Q({series:[]}),this._seriesIndices,this._seriesIndicesMap,function(i,t){var n=i.color&&!i.colorLayer;R(t,function(t,e){\"colorLayer\"===e&&n||ku.hasClass(e)||(\"object\"==typeof t?i[e]=i[e]?m(i[e],t,!1):k(t):null==i[e]&&(i[e]=t))})}(t,this._theme.option),m(t,Ou,!1),this.mergeOption(t)}.call(this,n),e=!0}if(\"timeline\"!==t&&\"media\"!==t||this.restoreData(),!t||\"recreate\"===t||\"timeline\"===t){var o=i.getTimelineOption(this);o&&(this.mergeOption(o),e=!0)}if(!t||\"recreate\"===t||\"media\"===t){var a=i.getMediaOption(this,this._api);a.length&&R(a,function(t){this.mergeOption(t,e=!0)},this)}return e},mergeOption:function(n){var l=this.option,u=this._componentsMap,i=[];!function(t){Yu(t).datasetMap=Q()}(this),R(n,function(t,e){null!=t&&(ku.hasClass(e)?e&&i.push(e):l[e]=null==l[e]?k(t):m(l[e],t,!0))}),ku.topologicalTravel(i,ku.getAllClassMainTypes(),function(r,t){var e=Vo(n[r]),i=Ho(u.get(r),e);Zo(i),R(i,function(t,e){var i=t.option;z(i)&&(t.keyInfo.mainType=r,t.keyInfo.subType=function(t,e,i){return e.type?e.type:i?i.subType:ku.determineSubType(t,e)}(r,i,t.exist))});var s=function(e,t){L(t)||(t=t?[t]:[]);var i={};return R(t,function(t){i[t]=(e.get(t)||[]).slice()}),i}(u,t);l[r]=[],u.set(r,[]),R(i,function(t,e){var i=t.exist,n=t.option;if(Y(z(n)||i,\"Empty component definition\"),n){var o=ku.getClass(r,t.keyInfo.subType,!0);if(i&&i.constructor===o)i.name=t.keyInfo.name,i.mergeOption(n,this),i.optionUpdated(n,!1);else{var a=P({dependentModels:s,componentIndex:e},t.keyInfo);P(i=new o(n,this,this,a),a),i.init(n,this,this,a),i.optionUpdated(null,!0)}}else i.mergeOption({},this),i.optionUpdated({},!1);u.get(r)[e]=i,l[r][e]=i.option},this),\"series\"===r&&nh(this,u.get(\"series\"))},this),this._seriesIndicesMap=Q(this._seriesIndices=this._seriesIndices||[])},getOption:function(){var n=k(this.option);return R(n,function(t,e){if(ku.hasClass(e)){for(var i=(t=Vo(t)).length-1;0<=i;i--)Xo(t[i])&&t.splice(i,1);n[e]=t}}),delete n[eh],n},getTheme:function(){return this._theme},getComponent:function(t,e){var i=this._componentsMap.get(t);if(i)return i[e||0]},queryComponents:function(t){var e=t.mainType;if(!e)return[];var i,n=t.index,o=t.id,a=t.name,r=this._componentsMap.get(e);if(!r||!r.length)return[];if(null!=n)L(n)||(n=[n]),i=M(O(n,function(t){return r[t]}),function(t){return!!t});else if(null!=o){var s=L(o);i=M(r,function(t){return s&&0<=_(o,t.id)||!s&&t.id===o})}else if(null!=a){var l=L(a);i=M(r,function(t){return l&&0<=_(a,t.name)||!l&&t.name===a})}else i=r.slice();return oh(i,t)},findComponents:function(t){var e,i,n,o,a,r=t.query,s=t.mainType,l=(i=s+\"Index\",n=s+\"Id\",o=s+\"Name\",!(e=r)||null==e[i]&&null==e[n]&&null==e[o]?null:{mainType:s,index:e[i],id:e[n],name:e[o]}),u=l?this.queryComponents(l):this._componentsMap.get(s);return a=oh(u,t),t.filter?M(a,t.filter):a},eachComponent:function(t,n,o){var e=this._componentsMap;if(\"function\"==typeof t)o=n,n=t,e.each(function(t,i){R(t,function(t,e){n.call(o,i,t,e)})});else if(E(t))R(e.get(t),n,o);else if(z(t)){R(this.findComponents(t),n,o)}},getSeriesByName:function(e){return M(this._componentsMap.get(\"series\"),function(t){return t.name===e})},getSeriesByIndex:function(t){return this._componentsMap.get(\"series\")[t]},getSeriesByType:function(e){return M(this._componentsMap.get(\"series\"),function(t){return t.subType===e})},getSeries:function(){return this._componentsMap.get(\"series\").slice()},getSeriesCount:function(){return this._componentsMap.get(\"series\").length},eachSeries:function(i,n){R(this._seriesIndices,function(t){var e=this._componentsMap.get(\"series\")[t];i.call(n,e,t)},this)},eachRawSeries:function(t,e){R(this._componentsMap.get(\"series\"),t,e)},eachSeriesByType:function(i,n,o){R(this._seriesIndices,function(t){var e=this._componentsMap.get(\"series\")[t];e.subType===i&&n.call(o,e,t)},this)},eachRawSeriesByType:function(t,e,i){return R(this.getSeriesByType(t),e,i)},isSeriesFiltered:function(t){return null==this._seriesIndicesMap.get(t.componentIndex)},getCurrentSeriesIndices:function(){return(this._seriesIndices||[]).slice()},filterSeries:function(t,e){var i=M(this._componentsMap.get(\"series\"),t,e);nh(this,i)},restoreData:function(i){var n=this._componentsMap;nh(this,n.get(\"series\"));var o=[];n.each(function(t,e){o.push(e)}),ku.topologicalTravel(o,ku.getAllClassMainTypes(),function(e,t){R(n.get(e),function(t){\"series\"===e&&function(t,e){if(e){var i=e.seiresIndex,n=e.seriesId,o=e.seriesName;return null!=i&&t.componentIndex!==i||null!=n&&t.id!==n||null!=o&&t.name!==o}}(t,i)||t.restoreData()})})}});function nh(t,e){t._seriesIndicesMap=Q(t._seriesIndices=O(e,function(t){return t.componentIndex})||[])}function oh(t,e){return e.hasOwnProperty(\"subType\")?M(t,function(t){return t.subType===e.subType}):t}b(ih,Eu);var ah=[\"getDom\",\"getZr\",\"getWidth\",\"getHeight\",\"getDevicePixelRatio\",\"dispatchAction\",\"isDisposed\",\"on\",\"off\",\"getDataURL\",\"getConnectedDataURL\",\"getModel\",\"getOption\",\"getViewOfComponentModel\",\"getViewOfSeriesModel\"];function rh(e){R(ah,function(t){this[t]=A(e[t],e)},this)}var sh={};function lh(){this._coordinateSystems=[]}lh.prototype={constructor:lh,create:function(n,o){var a=[];R(sh,function(t,e){var i=t.create(n,o);a=a.concat(i||[])}),this._coordinateSystems=a},update:function(e,i){R(this._coordinateSystems,function(t){t.update&&t.update(e,i)})},getCoordinateSystems:function(){return this._coordinateSystems.slice()}},lh.register=function(t,e){sh[t]=e},lh.get=function(t){return sh[t]};var uh=R,hh=k,ch=O,dh=m,fh=/^(min|max)?(.+)$/;function ph(t){this._api=t,this._timelineOptions=[],this._mediaList=[],this._mediaDefault,this._currentMediaIndices=[],this._optionBackup,this._newBaseOption}function gh(t,e,i){var a={width:e,height:i,aspectratio:e/i},r=!0;return R(t,function(t,e){var i=e.match(fh);if(i&&i[1]&&i[2]){var n=i[1],o=i[2].toLowerCase();!function(t,e,i){return\"min\"===i?e<=t:\"max\"===i?t<=e:t===e}(a[o],t,n)&&(r=!1)}}),r}ph.prototype={constructor:ph,setOption:function(t,e){t&&R(Vo(t.series),function(t){t&&t.data&&V(t.data)&&K(t.data)}),t=hh(t);var i=this._optionBackup,n=function(t,i,n){var e,o,a=[],r=[],s=t.timeline;t.baseOption&&(o=t.baseOption);(s||t.options)&&(o=o||{},a=(t.options||[]).slice());if(t.media){o=o||{};var l=t.media;uh(l,function(t){t&&t.option&&(t.query?r.push(t):e=e||t)})}o=o||t;o.timeline||(o.timeline=s);return uh([o].concat(a).concat(O(r,function(t){return t.option})),function(e){uh(i,function(t){t(e,n)})}),{baseOption:o,timelineOptions:a,mediaDefault:e,mediaList:r}}.call(this,t,e,!i);this._newBaseOption=n.baseOption,i?(function(o,t){uh(t=t||{},function(t,e){if(null!=t){var i=o[e];if(ku.hasClass(e)){t=Vo(t);var n=Ho(i=Vo(i),t);o[e]=ch(n,function(t){return t.option&&t.exist?dh(t.exist,t.option,!0):t.exist||t.option})}else o[e]=dh(i,t,!0)}})}(i.baseOption,n.baseOption),n.timelineOptions.length&&(i.timelineOptions=n.timelineOptions),n.mediaList.length&&(i.mediaList=n.mediaList),n.mediaDefault&&(i.mediaDefault=n.mediaDefault)):this._optionBackup=n},mountOption:function(t){var e=this._optionBackup;return this._timelineOptions=ch(e.timelineOptions,hh),this._mediaList=ch(e.mediaList,hh),this._mediaDefault=hh(e.mediaDefault),this._currentMediaIndices=[],hh(t?e.baseOption:this._newBaseOption)},getTimelineOption:function(t){var e,i=this._timelineOptions;if(i.length){var n=t.getComponent(\"timeline\");n&&(e=hh(i[n.getCurrentIndex()],!0))}return e},getMediaOption:function(t){var e=this._api.getWidth(),i=this._api.getHeight(),n=this._mediaList,o=this._mediaDefault,a=[],r=[];if(!n.length&&!o)return r;for(var s=0,l=n.length;s<l;s++)gh(n[s].query,e,i)&&a.push(s);return!a.length&&o&&(a=[-1]),a.length&&!function(t,e){return t.join(\",\")===e.join(\",\")}(a,this._currentMediaIndices)&&(r=ch(a,function(t){return hh(-1===t?o.option:n[t].option)})),this._currentMediaIndices=a,r}};var mh=R,vh=z,yh=[\"areaStyle\",\"lineStyle\",\"nodeStyle\",\"linkStyle\",\"chordStyle\",\"label\",\"labelLine\"];function xh(t){var e=t&&t.itemStyle;if(e)for(var i=0,n=yh.length;i<n;i++){var o=yh[i],a=e.normal,r=e.emphasis;a&&a[o]&&(t[o]=t[o]||{},t[o].normal?m(t[o].normal,a[o]):t[o].normal=a[o],a[o]=null),r&&r[o]&&(t[o]=t[o]||{},t[o].emphasis?m(t[o].emphasis,r[o]):t[o].emphasis=r[o],r[o]=null)}}function _h(t,e,i){if(t&&t[e]&&(t[e].normal||t[e].emphasis)){var n=t[e].normal,o=t[e].emphasis;n&&(i?(t[e].normal=t[e].emphasis=null,D(t[e],n)):t[e]=n),o&&(t.emphasis=t.emphasis||{},t.emphasis[e]=o)}}function wh(t){_h(t,\"itemStyle\"),_h(t,\"lineStyle\"),_h(t,\"areaStyle\"),_h(t,\"label\"),_h(t,\"labelLine\"),_h(t,\"upperLabel\"),_h(t,\"edgeLabel\")}function bh(t,e){var i=vh(t)&&t[e],n=vh(i)&&i.textStyle;if(n)for(var o=0,a=Fo.length;o<a;o++){e=Fo[o];n.hasOwnProperty(e)&&(i[e]=n[e])}}function Sh(t){t&&(wh(t),bh(t,\"label\"),t.emphasis&&bh(t.emphasis,\"label\"))}function Mh(t){return L(t)?t:t?[t]:[]}function Ih(t){return(L(t)?t[0]:t)||{}}function Th(e,t){mh(Mh(e.series),function(t){vh(t)&&function(t){if(vh(t)){xh(t),wh(t),bh(t,\"label\"),bh(t,\"upperLabel\"),bh(t,\"edgeLabel\"),t.emphasis&&(bh(t.emphasis,\"label\"),bh(t.emphasis,\"upperLabel\"),bh(t.emphasis,\"edgeLabel\")),(i=t.markPoint)&&(xh(i),Sh(i)),(n=t.markLine)&&(xh(n),Sh(n));var e=t.markArea;e&&Sh(e);var i,n,o=t.data;if(\"graph\"===t.type){o=o||t.nodes;var a=t.links||t.edges;if(a&&!V(a))for(var r=0;r<a.length;r++)Sh(a[r]);R(t.categories,function(t){wh(t)})}if(o&&!V(o))for(r=0;r<o.length;r++)Sh(o[r]);if((i=t.markPoint)&&i.data){var s=i.data;for(r=0;r<s.length;r++)Sh(s[r])}if((n=t.markLine)&&n.data){var l=n.data;for(r=0;r<l.length;r++)L(l[r])?(Sh(l[r][0]),Sh(l[r][1])):Sh(l[r])}\"gauge\"===t.type?(bh(t,\"axisLabel\"),bh(t,\"title\"),bh(t,\"detail\")):\"treemap\"===t.type?(_h(t.breadcrumb,\"itemStyle\"),R(t.levels,function(t){wh(t)})):\"tree\"===t.type&&wh(t.leaves)}}(t)});var i=[\"xAxis\",\"yAxis\",\"radiusAxis\",\"angleAxis\",\"singleAxis\",\"parallelAxis\",\"radar\"];t&&i.push(\"valueAxis\",\"categoryAxis\",\"logAxis\",\"timeAxis\"),mh(i,function(t){mh(Mh(e[t]),function(t){t&&(bh(t,\"axisLabel\"),bh(t.axisPointer,\"label\"))})}),mh(Mh(e.parallel),function(t){var e=t&&t.parallelAxisDefault;bh(e,\"axisLabel\"),bh(e&&e.axisPointer,\"label\")}),mh(Mh(e.calendar),function(t){_h(t,\"itemStyle\"),bh(t,\"dayLabel\"),bh(t,\"monthLabel\"),bh(t,\"yearLabel\")}),mh(Mh(e.radar),function(t){bh(t,\"name\")}),mh(Mh(e.geo),function(t){vh(t)&&(Sh(t),mh(Mh(t.regions),function(t){Sh(t)}))}),mh(Mh(e.timeline),function(t){Sh(t),_h(t,\"label\"),_h(t,\"itemStyle\"),_h(t,\"controlStyle\",!0);var e=t.data;L(e)&&R(e,function(t){z(t)&&(_h(t,\"label\"),_h(t,\"itemStyle\"))})}),mh(Mh(e.toolbox),function(t){_h(t,\"iconStyle\"),mh(t.feature,function(t){_h(t,\"iconStyle\")})}),bh(Ih(e.axisPointer),\"label\"),bh(Ih(e.tooltip).axisPointer,\"label\")}function Ah(e){R(Dh,function(t){t[0]in e&&!(t[1]in e)&&(e[t[1]]=e[t[0]])})}var Dh=[[\"x\",\"left\"],[\"y\",\"top\"],[\"x2\",\"right\"],[\"y2\",\"bottom\"]],Ch=[\"grid\",\"geo\",\"parallel\",\"legend\",\"toolbox\",\"title\",\"visualMap\",\"dataZoom\",\"timeline\"],Lh=function(i,t){Th(i,t),i.series=Vo(i.series),R(i.series,function(t){if(z(t)){var e=t.type;if(\"line\"===e)null!=t.clipOverflow&&(t.clip=t.clipOverflow);else if(\"pie\"===e||\"gauge\"===e)null!=t.clockWise&&(t.clockwise=t.clockWise);else if(\"gauge\"===e){var i=function(t,e){e=e.split(\",\");for(var i=t,n=0;n<e.length&&null!=(i=i&&i[e[n]]);n++);return i}(t,\"pointer.color\");null!=i&&function(t,e,i,n){e=e.split(\",\");for(var o,a=t,r=0;r<e.length-1;r++)null==a[o=e[r]]&&(a[o]={}),a=a[o];!n&&null!=a[e[r]]||(a[e[r]]=i)}(t,\"itemStyle.color\",i)}Ah(t)}}),i.dataRange&&(i.visualMap=i.dataRange),R(Ch,function(t){var e=i[t];e&&(L(e)||(e=[e]),R(e,function(t){Ah(t)}))})};function kh(m){R(m,function(h,c){var d=[],f=[NaN,NaN],t=[h.stackResultDimension,h.stackedOverDimension],p=h.data,g=h.isStackedByIndex,e=p.map(t,function(t,e,i){var n,o,a=p.get(h.stackedDimension,i);if(isNaN(a))return f;g?o=p.getRawIndex(i):n=p.get(h.stackedByDimension,i);for(var r=NaN,s=c-1;0<=s;s--){var l=m[s];if(g||(o=l.data.rawIndexOf(l.stackedByDimension,n)),0<=o){var u=l.data.getByRawIndex(l.stackResultDimension,o);if(0<=a&&0<u||a<=0&&u<0){a+=u,r=u;break}}}return d[0]=a,d[1]=r,d});p.hostModel.setData(e),h.data=e})}function Ph(t,e){Uu.isInstance(t)||(t=Uu.seriesDataToSource(t)),this._source=t;var i=this._data=t.data,n=t.sourceFormat;n===Wu&&(this._offset=0,this._dimSize=e,this._data=i),P(this,Oh[n===Bu?n+\"_\"+t.seriesLayoutBy:n])}var Nh=Ph.prototype;Nh.pure=!1;var Oh={arrayRows_column:{pure:Nh.persistent=!0,count:function(){return Math.max(0,this._data.length-this._source.startIndex)},getItem:function(t){return this._data[t+this._source.startIndex]},appendData:zh},arrayRows_row:{pure:!0,count:function(){var t=this._data[0];return t?Math.max(0,t.length-this._source.startIndex):0},getItem:function(t){t+=this._source.startIndex;for(var e=[],i=this._data,n=0;n<i.length;n++){var o=i[n];e.push(o?o[t]:null)}return e},appendData:function(){throw new Error('Do not support appendData when set seriesLayoutBy: \"row\".')}},objectRows:{pure:!0,count:Rh,getItem:Eh,appendData:zh},keyedColumns:{pure:!0,count:function(){var t=this._source.dimensionsDefine[0].name,e=this._data[t];return e?e.length:0},getItem:function(t){for(var e=[],i=this._source.dimensionsDefine,n=0;n<i.length;n++){var o=this._data[i[n].name];e.push(o?o[t]:null)}return e},appendData:function(t){var o=this._data;R(t,function(t,e){for(var i=o[e]||(o[e]=[]),n=0;n<(t||[]).length;n++)i.push(t[n])})}},original:{count:Rh,getItem:Eh,appendData:zh},typedArray:{persistent:!(Nh.getSource=function(){return this._source}),pure:!0,count:function(){return this._data?this._data.length/this._dimSize:0},getItem:function(t,e){t-=this._offset,e=e||[];for(var i=this._dimSize*t,n=0;n<this._dimSize;n++)e[n]=this._data[i+n];return e},appendData:function(t){this._data=t},clean:function(){this._offset+=this.count(),this._data=null}}};function Rh(){return this._data.length}function Eh(t){return this._data[t]}function zh(t){for(var e=0;e<t.length;e++)this._data.push(t[e])}var Bh={arrayRows:Vh,objectRows:function(t,e,i,n){return null!=i?t[n]:t},keyedColumns:Vh,original:function(t,e,i,n){var o=Wo(t);return null!=i&&o instanceof Array?o[i]:o},typedArray:Vh};function Vh(t,e,i,n){return null!=i?t[i]:t}var Gh={arrayRows:Fh,objectRows:function(t,e,i,n){return Wh(t[e],this._dimensionInfos[e])},keyedColumns:Fh,original:function(t,e,i,n){var o=t&&(null==t.value?t:t.value);return!this._rawData.pure&&function(t){return Eo(t)&&!(t instanceof Array)}(t)&&(this.hasItemOption=!0),Wh(o instanceof Array?o[n]:o,this._dimensionInfos[e])},typedArray:function(t,e,i,n){return t[n]}};function Fh(t,e,i,n){return Wh(t[n],this._dimensionInfos[e])}function Wh(t,e){var i=e&&e.type;if(\"ordinal\"!==i)return\"time\"===i&&\"number\"!=typeof t&&null!=t&&\"-\"!==t&&(t=+Yl(t)),null==t||\"\"===t?NaN:+t;var n=e&&e.ordinalMeta;return n?n.parseAndCollect(t):t}function Hh(t,e,i){if(t){var n=t.getRawDataItem(e);if(null!=n){var o,a,r=t.getProvider().getSource().sourceFormat,s=t.getDimensionInfo(i);return s&&(o=s.name,a=s.index),Bh[r](n,e,a,o)}}}function Zh(t,e,i){if(t){var n=t.getProvider().getSource().sourceFormat;if(n===zu||n===Vu){var o=t.getRawDataItem(e);return n!==zu||z(o)||(o=null),o?o[i]:void 0}}}var Uh=/\\{@(.+?)\\}/g,Xh={getDataParams:function(t,e){var i=this.getData(e),n=this.getRawValue(t,e),o=i.getRawIndex(t),a=i.getName(t),r=i.getRawDataItem(t),s=i.getItemVisual(t,\"color\"),l=i.getItemVisual(t,\"borderColor\"),u=this.ecModel.getComponent(\"tooltip\"),h=Qo(u&&u.get(\"renderMode\")),c=this.mainType,d=\"series\"===c,f=i.userOutput;return{componentType:c,componentSubType:this.subType,componentIndex:this.componentIndex,seriesType:d?this.subType:null,seriesIndex:this.seriesIndex,seriesId:d?this.id:null,seriesName:d?this.name:null,name:a,dataIndex:o,data:r,dataType:e,value:n,color:s,borderColor:l,dimensionNames:f?f.dimensionNames:null,encode:f?f.encode:null,marker:hu({color:s,renderMode:h}),$vars:[\"seriesName\",\"name\",\"value\"]}},getFormattedLabel:function(n,t,e,i,o){t=t||\"normal\";var a=this.getData(e),r=a.getItemModel(n),s=this.getDataParams(n,e);null!=i&&s.value instanceof Array&&(s.value=s.value[i]);var l=r.get(\"normal\"===t?[o||\"label\",\"formatter\"]:[t,o||\"label\",\"formatter\"]);return\"function\"==typeof l?(s.status=t,s.dimensionIndex=i,l(s)):\"string\"==typeof l?lu(l,s).replace(Uh,function(t,e){var i=e.length;return\"[\"===e.charAt(0)&&\"]\"===e.charAt(i-1)&&(e=+e.slice(1,i-1)),Hh(a,n,e)}):void 0},getRawValue:function(t,e){return Hh(this.getData(e),t)},formatTooltip:function(){}};function Yh(t){return new jh(t)}function jh(t){t=t||{},this._reset=t.reset,this._plan=t.plan,this._count=t.count,this._onDirty=t.onDirty,this._dirty=!0,this.context}var qh=jh.prototype;qh.perform=function(t){var e,i=this._upstream,n=t&&t.skip;if(this._dirty&&i){var o=this.context;o.data=o.outputData=i.context.outputData}this.__pipeline&&(this.__pipeline.currentTask=this),this._plan&&!n&&(e=this._plan(this.context));var a,r=h(this._modBy),s=this._modDataCount||0,l=h(t&&t.modBy),u=t&&t.modDataCount||0;function h(t){return 1<=t||(t=1),t}r===l&&s===u||(e=\"reset\"),!this._dirty&&\"reset\"!==e||(this._dirty=!1,a=function(t,e){var i,n;t._dueIndex=t._outputDueEnd=t._dueEnd=0,t._settedOutputEnd=null,!e&&t._reset&&((i=t._reset(t.context))&&i.progress&&(n=i.forceFirstProgress,i=i.progress),L(i)&&!i.length&&(i=null));t._progress=i,t._modBy=t._modDataCount=null;var o=t._downstream;return o&&o.dirty(),n}(this,n)),this._modBy=l,this._modDataCount=u;var c=t&&t.step;if(this._dueEnd=i?i._outputDueEnd:this._count?this._count(this.context):1/0,this._progress){var d=this._dueIndex,f=Math.min(null!=c?this._dueIndex+c:1/0,this._dueEnd);if(!n&&(a||d<f)){var p=this._progress;if(L(p))for(var g=0;g<p.length;g++)ac(this,p[g],d,f,l,u);else ac(this,p,d,f,l,u)}this._dueIndex=f;var m=null!=this._settedOutputEnd?this._settedOutputEnd:f;this._outputDueEnd=m}else this._dueIndex=this._outputDueEnd=null!=this._settedOutputEnd?this._settedOutputEnd:this._dueEnd;return this.unfinished()};var Kh,$h,Jh,Qh,tc,ec,ic=ec={reset:function(t,e,i,n){$h=t,Kh=e,Jh=i,Qh=n,tc=Math.ceil(Qh/Jh),ec.next=1<Jh&&0<Qh?oc:nc}};function nc(){return $h<Kh?$h++:null}function oc(){var t=$h%tc*Jh+Math.ceil($h/tc),e=Kh<=$h?null:t<Qh?t:$h;return $h++,e}function ac(t,e,i,n,o,a){ic.reset(i,n,o,a),t._callingProgress=e,t._callingProgress({start:i,end:n,count:n-i,next:ic.next},t.context)}qh.dirty=function(){this._dirty=!0,this._onDirty&&this._onDirty(this.context)},qh.unfinished=function(){return this._progress&&this._dueIndex<this._dueEnd},qh.pipe=function(t){this._downstream===t&&!this._dirty||((this._downstream=t)._upstream=this,t.dirty())},qh.dispose=function(){this._disposed||(this._upstream&&(this._upstream._downstream=null),this._downstream&&(this._downstream._upstream=null),this._dirty=!1,this._disposed=!0)},qh.getUpstream=function(){return this._upstream},qh.getDownstream=function(){return this._downstream},qh.setOutputEnd=function(t){this._outputDueEnd=this._settedOutputEnd=t};var rc=jo(),sc=ku.extend({type:\"series.__base__\",seriesIndex:0,coordinateSystem:null,defaultOption:null,legendVisualProvider:null,visualColorAccessPath:\"itemStyle.color\",visualBorderColorAccessPath:\"itemStyle.borderColor\",layoutMode:null,init:function(t,e,i,n){this.seriesIndex=this.componentIndex,this.dataTask=Yh({count:uc,reset:hc}),this.dataTask.context={model:this},this.mergeDefaultAndTheme(t,i),ju(this);var o=this.getInitialData(t,i);dc(o,this),this.dataTask.context.data=o,rc(this).dataBeforeProcessed=o,lc(this)},mergeDefaultAndTheme:function(t,e){var i=this.layoutMode,n=i?Iu(t):{},o=this.subType;ku.hasClass(o)&&(o+=\"Series\"),m(t,e.getTheme().get(this.subType)),m(t,this.getDefaultOption()),Go(t,\"label\",[\"show\"]),this.fillDataTextStyle(t.data),i&&Mu(t,n,i)},mergeOption:function(t,e){t=m(this.option,t,!0),this.fillDataTextStyle(t.data);var i=this.layoutMode;i&&Mu(this.option,t,i),ju(this);var n=this.getInitialData(t,e);dc(n,this),this.dataTask.dirty(),this.dataTask.context.data=n,rc(this).dataBeforeProcessed=n,lc(this)},fillDataTextStyle:function(t){if(t&&!V(t))for(var e=[\"show\"],i=0;i<t.length;i++)t[i]&&t[i].label&&Go(t[i],\"label\",e)},getInitialData:function(){},appendData:function(t){this.getRawData().appendData(t.data)},getData:function(t){var e=pc(this);if(e){var i=e.context.data;return null==t?i:i.getLinkedData(t)}return rc(this).data},setData:function(t){var e=pc(this);if(e){var i=e.context;i.data!==t&&e.modifyOutputEnd&&e.setOutputEnd(t.count()),i.outputData=t,e!==this.dataTask&&(i.data=t)}rc(this).data=t},getSource:function(){return function(t){return Yu(t).source}(this)},getRawData:function(){return rc(this).dataBeforeProcessed},getBaseAxis:function(){var t=this.coordinateSystem;return t&&t.getBaseAxis&&t.getBaseAxis()},formatTooltip:function(o,h,t,c){var d=this,e=\"html\"===(c=c||\"html\")?\"<br/>\":\"\\n\",f=\"richText\"===c,p={},g=0;function i(t){return{renderMode:c,content:au(tu(t)),style:p}}var m=this.getData(),a=m.mapDimension(\"defaultedTooltip\",!0),n=a.length,r=this.getRawValue(o),s=L(r),v=m.getItemVisual(o,\"color\");z(v)&&v.colorStops&&(v=(v.colorStops[0]||{}).color),v=v||\"transparent\";var l=(1<n||s&&!n?function(t){var l=S(t,function(t,e,i){var n=m.getDimensionInfo(i);return t|(n&&!1!==n.tooltip&&null!=n.displayName)},0),u=[];function e(t,e){var i=m.getDimensionInfo(e);if(i&&!1!==i.otherDims.tooltip){var n=i.type,o=\"sub\"+d.seriesIndex+\"at\"+g,a=hu({color:v,type:\"subItem\",renderMode:c,markerId:o}),r=\"string\"==typeof a?a:a.content,s=(l?r+au(i.displayName||\"-\")+\": \":\"\")+au(\"ordinal\"===n?t+\"\":\"time\"===n?h?\"\":du(\"yyyy/MM/dd hh:mm:ss\",t):tu(t));s&&u.push(s),f&&(p[o]=v,++g)}}a.length?R(a,function(t){e(Hh(m,o,t),t)}):R(t,e);var i=l?f?\"\\n\":\"<br/>\":\"\",n=i+u.join(i||\", \");return{renderMode:c,content:n,style:p}}(r):i(n?Hh(m,o,a[0]):s?r[0]:r)).content,u=d.seriesIndex+\"at\"+g,y=hu({color:v,type:\"item\",renderMode:c,markerId:u});p[u]=v,++g;var x=m.getName(o),_=this.name;Uo(this)||(_=\"\"),_=_?au(_)+(h?\": \":e):\"\";var w=\"string\"==typeof y?y:y.content;return{html:h?w+_+l:_+w+(x?au(x)+\": \"+l:l),markers:p}},isAnimationEnabled:function(){if(v.node)return!1;var t=this.getShallow(\"animation\");return t&&this.getData().count()>this.getShallow(\"animationThreshold\")&&(t=!1),t},restoreData:function(){this.dataTask.dirty()},getColorFromPalette:function(t,e,i){var n=this.ecModel,o=Eu.getColorFromPalette.call(this,t,e,i);return o=o||n.getColorFromPalette(t,e,i)},coordDimToDataDim:function(t){return this.getRawData().mapDimension(t,!0)},getProgressive:function(){return this.get(\"progressive\")},getProgressiveThreshold:function(){return this.get(\"progressiveThreshold\")},getAxisTooltipData:null,getTooltipPosition:null,pipeTask:null,preventIncremental:null,pipelineContext:null});function lc(t){var e=t.name;Uo(t)||(t.name=function(t){var i=t.getRawData(),e=i.mapDimension(\"seriesName\",!0),n=[];return R(e,function(t){var e=i.getDimensionInfo(t);e.displayName&&n.push(e.displayName)}),n.join(\" \")}(t)||e)}function uc(t){return t.model.getRawData().count()}function hc(t){var e=t.model;return e.setData(e.getRawData().cloneShallow()),cc}function cc(t,e){e.outputData&&t.end>e.outputData.count()&&e.model.getRawData().cloneShallow(e.outputData)}function dc(e,i){R(e.CHANGABLE_METHODS,function(t){e.wrapMethod(t,T(fc,i))})}function fc(t){var e=pc(t);e&&e.setOutputEnd(this.count())}function pc(t){var e=(t.ecModel||{}).scheduler,i=e&&e.getPipeline(t.uid);if(i){var n=i.currentTask;if(n){var o=n.agentStubMap;o&&(n=o.get(t.uid))}return n}}b(sc,Xh),b(sc,Eu);var gc=function(){this.group=new Ci,this.uid=Nl(\"viewComponent\")};gc.prototype={constructor:gc,init:function(t,e){},render:function(t,e,i,n){},dispose:function(){},filterForExposedEvent:null};var mc=gc.prototype;mc.updateView=mc.updateLayout=mc.updateVisual=function(t,e,i,n){},oa(gc),ua(gc,{registerWhenExtend:!0});function vc(){var s=jo();return function(t){var e=s(t),i=t.pipelineContext,n=e.large,o=e.progressiveRender,a=e.large=i&&i.large,r=e.progressiveRender=i&&i.progressiveRender;return!!(n^a||o^r)&&\"reset\"}}var yc=jo(),xc=vc();function _c(){this.group=new Ci,this.uid=Nl(\"viewChart\"),this.renderTask=Yh({plan:Mc,reset:Ic}),this.renderTask.context={view:this}}var wc=_c.prototype={type:\"chart\",init:function(t,e){},render:function(t,e,i,n){},highlight:function(t,e,i,n){Sc(t.getData(),n,\"emphasis\")},downplay:function(t,e,i,n){Sc(t.getData(),n,\"normal\")},remove:function(t,e){this.group.removeAll()},dispose:function(){},incrementalPrepareRender:null,incrementalRender:null,updateTransform:null,filterForExposedEvent:null};function bc(t,e,i){if(t&&(t.trigger(e,i),t.isGroup&&!Qs(t)))for(var n=0,o=t.childCount();n<o;n++)bc(t.childAt(n),e,i)}function Sc(e,t,i){var n=Yo(e,t),o=t&&null!=t.highlightKey?tl(t.highlightKey):null;null!=n?R(Vo(n),function(t){bc(e.getItemGraphicEl(t),i,o)}):e.eachItemGraphicEl(function(t){bc(t,i,o)})}function Mc(t){return xc(t.model)}function Ic(t){var e=t.model,i=t.ecModel,n=t.api,o=t.payload,a=e.pipelineContext.progressiveRender,r=t.view,s=o&&yc(o).updateMethod,l=a?\"incrementalPrepareRender\":s&&r[s]?s:\"render\";return\"render\"!==l&&r[l](e,i,n,o),Tc[l]}wc.updateView=wc.updateLayout=wc.updateVisual=function(t,e,i,n){this.render(t,e,i,n)},oa(_c),ua(_c,{registerWhenExtend:!0}),_c.markUpdateMethod=function(t,e){yc(t).updateMethod=e};var Tc={incrementalPrepareRender:{progress:function(t,e){e.view.incrementalRender(t,e.model,e.ecModel,e.api,e.payload)}},render:{forceFirstProgress:!0,progress:function(t,e){e.view.render(e.model,e.ecModel,e.api,e.payload)}}},Ac=\"\\0__throttleOriginMethod\",Dc=\"\\0__throttleRate\",Cc=\"\\0__throttleType\";function Lc(t,i,n){var o,a,r,s,l,u=0,h=0,c=null;function d(){h=(new Date).getTime(),c=null,t.apply(r,s||[])}i=i||0;function e(){o=(new Date).getTime(),r=this,s=arguments;var t=l||i,e=l||n;l=null,a=o-(e?u:h)-t,clearTimeout(c),e?c=setTimeout(d,t):0<=a?d():c=setTimeout(d,-a),u=o}return e.clear=function(){c&&(clearTimeout(c),c=null)},e.debounceNextCall=function(t){l=t},e}function kc(t,e,i,n){var o=t[e];if(o){var a=o[Ac]||o,r=o[Cc];if(o[Dc]!==i||r!==n){if(null==i||!n)return t[e]=a;(o=t[e]=Lc(a,i,\"debounce\"===n))[Ac]=a,o[Cc]=n,o[Dc]=i}return o}}function Pc(t,e){var i=t[e];i&&i[Ac]&&(t[e]=i[Ac])}var Nc={createOnAllSeries:!0,performRawSeries:!0,reset:function(e,t){var i=e.getData(),a=(e.visualColorAccessPath||\"itemStyle.color\").split(\".\"),n=e.get(a),o=!C(n)||n instanceof cs?null:n;n&&!o||(n=e.getColorFromPalette(e.name,null,t.getSeriesCount())),i.setVisual(\"color\",n);var r=(e.visualBorderColorAccessPath||\"itemStyle.borderColor\").split(\".\"),s=e.get(r);if(i.setVisual(\"borderColor\",s),!t.isSeriesFiltered(e)){o&&i.each(function(t){i.setItemVisual(t,\"color\",o(e.getDataParams(t)))});return{dataEach:i.hasItemOption?function(t,e){var i=t.getItemModel(e),n=i.get(a,!0),o=i.get(r,!0);null!=n&&t.setItemVisual(e,\"color\",n),null!=o&&t.setItemVisual(e,\"borderColor\",o)}:null}}}},Oc={legend:{selector:{all:\"全选\",inverse:\"反选\"}},toolbox:{brush:{title:{rect:\"矩形选择\",polygon:\"圈选\",lineX:\"横向选择\",lineY:\"纵向选择\",keep:\"保持选择\",clear:\"清除选择\"}},dataView:{title:\"数据视图\",lang:[\"数据视图\",\"关闭\",\"刷新\"]},dataZoom:{title:{zoom:\"区域缩放\",back:\"区域缩放还原\"}},magicType:{title:{line:\"切换为折线图\",bar:\"切换为柱状图\",stack:\"切换为堆叠\",tiled:\"切换为平铺\"}},restore:{title:\"还原\"},saveAsImage:{title:\"保存为图片\",lang:[\"右键另存为图片\"]}},series:{typeNames:{pie:\"饼图\",bar:\"柱状图\",line:\"折线图\",scatter:\"散点图\",effectScatter:\"涟漪散点图\",radar:\"雷达图\",tree:\"树图\",treemap:\"矩形树图\",boxplot:\"箱型图\",candlestick:\"K线图\",k:\"K线图\",heatmap:\"热力图\",map:\"地图\",parallel:\"平行坐标图\",lines:\"线图\",graph:\"关系图\",sankey:\"桑基图\",funnel:\"漏斗图\",gauge:\"仪表盘图\",pictorialBar:\"象形柱图\",themeRiver:\"主题河流图\",sunburst:\"旭日图\"}},aria:{general:{withTitle:\"这是一个关于“{title}”的图表。\",withoutTitle:\"这是一个图表,\"},series:{single:{prefix:\"\",withName:\"图表类型是{seriesType},表示{seriesName}。\",withoutName:\"图表类型是{seriesType}。\"},multiple:{prefix:\"它由{seriesCount}个图表系列组成。\",withName:\"第{seriesId}个系列是一个表示{seriesName}的{seriesType},\",withoutName:\"第{seriesId}个系列是一个{seriesType},\",separator:{middle:\";\",end:\"。\"}}},data:{allData:\"其数据是——\",partialData:\"其中,前{displayCnt}项是——\",withName:\"{name}的数据是{value}\",withoutName:\"{value}\",separator:{middle:\",\",end:\"\"}}}},Rc=function(t,e){var a=e.getModel(\"aria\");if(a.get(\"show\"))if(a.get(\"description\"))t.setAttribute(\"aria-label\",a.get(\"description\"));else{var h=0;e.eachSeries(function(t,e){++h},this);var i,c=a.get(\"data.maxCount\")||10,n=a.get(\"series.maxCount\")||10,d=Math.min(h,n);if(!(h<1)){var o=function(){var t=e.getModel(\"title\").option;t&&t.length&&(t=t[0]);return t&&t.text}();i=o?p(g(\"general.withTitle\"),{title:o}):g(\"general.withoutTitle\");var f=[];i+=p(g(1<h?\"series.multiple.prefix\":\"series.single.prefix\"),{seriesCount:h}),e.eachSeries(function(t,e){if(e<d){var i,n=t.get(\"name\"),o=\"series.\"+(1<h?\"multiple\":\"single\")+\".\";i=p(i=g(n?o+\"withName\":o+\"withoutName\"),{seriesId:t.seriesIndex,seriesName:t.get(\"name\"),seriesType:function(t){return Oc.series.typeNames[t]||\"自定义图\"}(t.subType)});var a=t.getData();(window.data=a).count()>c?i+=p(g(\"data.partialData\"),{displayCnt:c}):i+=g(\"data.allData\");for(var r=[],s=0;s<a.count();s++)if(s<c){var l=a.getName(s),u=Hh(a,s);r.push(p(g(l?\"data.withName\":\"data.withoutName\"),{name:l,value:u}))}i+=r.join(g(\"data.separator.middle\"))+g(\"data.separator.end\"),f.push(i)}}),i+=f.join(g(\"series.multiple.separator.middle\"))+g(\"series.multiple.separator.end\"),t.setAttribute(\"aria-label\",i)}}function p(t,e){if(\"string\"!=typeof t)return t;var i=t;return R(e,function(t,e){i=i.replace(new RegExp(\"\\\\{\\\\s*\"+e+\"\\\\s*\\\\}\",\"g\"),t)}),i}function g(t){var e=a.get(t);if(null!=e)return e;for(var i=t.split(\".\"),n=Oc.aria,o=0;o<i.length;++o)n=n[i[o]];return n}},Ec=Math.PI;function zc(t,e,i,n){this.ecInstance=t,this.api=e,this.unfinished;i=this._dataProcessorHandlers=i.slice(),n=this._visualHandlers=n.slice();this._allHandlers=i.concat(n),this._stageTaskMap=Q()}var Bc=zc.prototype;function Vc(l,t,u,h,c){var d;function f(t,e){return t.setDirty&&(!t.dirtyMap||t.dirtyMap.get(e.__pipeline.id))}c=c||{},R(t,function(n,t){if(!c.visualType||c.visualType===n.visualType){var e=l._stageTaskMap.get(n.uid),i=e.seriesTaskMap,o=e.overallTask;if(o){var a,r=o.agentStubMap;r.each(function(t){f(c,t)&&(t.dirty(),a=!0)}),a&&o.dirty(),Gc(o,h);var s=l.getPerformArgs(o,c.block);r.each(function(t){t.perform(s)}),d|=o.perform(s)}else i&&i.each(function(t,e){f(c,t)&&t.dirty();var i=l.getPerformArgs(t,c.block);i.skip=!n.performRawSeries&&u.isSeriesFiltered(t.context.model),Gc(t,h),d|=t.perform(i)})}}),l.unfinished|=d}Bc.restoreData=function(t,e){t.restoreData(e),this._stageTaskMap.each(function(t){var e=t.overallTask;e&&e.dirty()})},Bc.getPerformArgs=function(t,e){if(t.__pipeline){var i=this._pipelineMap.get(t.__pipeline.id),n=i.context,o=!e&&i.progressiveEnabled&&(!n||n.progressiveRender)&&t.__idxInPipeline>i.blockIndex?i.step:null,a=n&&n.modDataCount;return{step:o,modBy:null!=a?Math.ceil(a/o):null,modDataCount:a}}},Bc.getPipeline=function(t){return this._pipelineMap.get(t)},Bc.updateStreamModes=function(t,e){var i=this._pipelineMap.get(t.uid),n=t.getData().count(),o=i.progressiveEnabled&&e.incrementalPrepareRender&&n>=i.threshold,a=t.get(\"large\")&&n>=t.get(\"largeThreshold\"),r=\"mod\"===t.get(\"progressiveChunkMode\")?n:null;t.pipelineContext=i.context={progressiveRender:o,modDataCount:r,large:a}},Bc.restorePipelines=function(t){var n=this,o=n._pipelineMap=Q();t.eachSeries(function(t){var e=t.getProgressive(),i=t.uid;o.set(i,{id:i,head:null,tail:null,threshold:t.getProgressiveThreshold(),progressiveEnabled:e&&!(t.preventIncremental&&t.preventIncremental()),blockIndex:-1,step:Math.round(e||700),count:0}),Kc(n,t,t.dataTask)})},Bc.prepareStageTasks=function(){var i=this._stageTaskMap,n=this.ecInstance.getModel(),o=this.api;R(this._allHandlers,function(t){var e=i.get(t.uid)||i.set(t.uid,[]);t.reset&&function(n,o,t,a,r){var s=t.seriesTaskMap||(t.seriesTaskMap=Q()),e=o.seriesType,i=o.getTargetSeries;o.createOnAllSeries?a.eachRawSeries(l):e?a.eachRawSeriesByType(e,l):i&&i(a,r).each(l);function l(t){var e=t.uid,i=s.get(e)||s.set(e,Yh({plan:Uc,reset:Xc,count:qc}));i.context={model:t,ecModel:a,api:r,useClearVisual:o.isVisual&&!o.isLayout,plan:o.plan,reset:o.reset,scheduler:n},Kc(n,t,i)}var u=n._pipelineMap;s.each(function(t,e){u.get(e)||(t.dispose(),s.removeKey(e))})}(this,t,e,n,o),t.overallReset&&function(n,t,e,i,o){var a=e.overallTask=e.overallTask||Yh({reset:Fc});a.context={ecModel:i,api:o,overallReset:t.overallReset,scheduler:n};var r=a.agentStubMap=a.agentStubMap||Q(),s=t.seriesType,l=t.getTargetSeries,u=!0,h=t.modifyOutputEnd;s?i.eachRawSeriesByType(s,c):l?l(i,o).each(c):(u=!1,R(i.getSeries(),c));function c(t){var e=t.uid,i=r.get(e);i||(i=r.set(e,Yh({reset:Wc,onDirty:Zc})),a.dirty()),i.context={model:t,overallProgress:u,modifyOutputEnd:h},i.agent=a,i.__block=u,Kc(n,t,i)}var d=n._pipelineMap;r.each(function(t,e){d.get(e)||(t.dispose(),a.dirty(),r.removeKey(e))})}(this,t,e,n,o)},this)},Bc.prepareView=function(t,e,i,n){var o=t.renderTask,a=o.context;a.model=e,a.ecModel=i,a.api=n,o.__block=!t.incrementalPrepareRender,Kc(this,e,o)},Bc.performDataProcessorTasks=function(t,e){Vc(this,this._dataProcessorHandlers,t,e,{block:!0})},Bc.performVisualTasks=function(t,e,i){Vc(this,this._visualHandlers,t,e,i)},Bc.performSeriesTasks=function(t){var e;t.eachSeries(function(t){e|=t.dataTask.perform()}),this.unfinished|=e},Bc.plan=function(){this._pipelineMap.each(function(t){var e=t.tail;do{if(e.__block){t.blockIndex=e.__idxInPipeline;break}e=e.getUpstream()}while(e)})};var Gc=Bc.updatePayload=function(t,e){\"remain\"!==e&&(t.context.payload=e)};function Fc(t){t.overallReset(t.ecModel,t.api,t.payload)}function Wc(t,e){return t.overallProgress&&Hc}function Hc(){this.agent.dirty(),this.getDownstream().dirty()}function Zc(){this.agent&&this.agent.dirty()}function Uc(t){return t.plan&&t.plan(t.model,t.ecModel,t.api,t.payload)}function Xc(t){t.useClearVisual&&t.data.clearAllVisual();var e=t.resetDefines=Vo(t.reset(t.model,t.ecModel,t.api,t.payload));return 1<e.length?O(e,function(t,e){return jc(e)}):Yc}var Yc=jc(0);function jc(a){return function(t,e){var i=e.data,n=e.resetDefines[a];if(n&&n.dataEach)for(var o=t.start;o<t.end;o++)n.dataEach(i,o);else n&&n.progress&&n.progress(t,i)}}function qc(t){return t.data.count()}function Kc(t,e,i){var n=e.uid,o=t._pipelineMap.get(n);o.head||(o.head=i),o.tail&&o.tail.pipe(i),(o.tail=i).__idxInPipeline=o.count++,i.__pipeline=o}zc.wrapStageHandler=function(t,e){return C(t)&&(t={overallReset:t,seriesType:function(t){$c=null;try{t(Jc,Qc)}catch(t){}return $c}(t)}),t.uid=Nl(\"stageHandler\"),e&&(t.visualType=e),t};var $c,Jc={},Qc={};function td(t,e){for(var i in e.prototype)t[i]=et}td(Jc,ih),td(Qc,rh),Jc.eachSeriesByType=Jc.eachRawSeriesByType=function(t){$c=t},Jc.eachComponent=function(t){\"series\"===t.mainType&&t.subType&&($c=t.subType)};function ed(){return{axisLine:{lineStyle:{color:od}},axisTick:{lineStyle:{color:od}},axisLabel:{textStyle:{color:od}},splitLine:{lineStyle:{type:\"dashed\",color:\"#aaa\"}},splitArea:{areaStyle:{color:od}}}}var id=[\"#37A2DA\",\"#32C5E9\",\"#67E0E3\",\"#9FE6B8\",\"#FFDB5C\",\"#ff9f7f\",\"#fb7293\",\"#E062AE\",\"#E690D1\",\"#e7bcf3\",\"#9d96f5\",\"#8378EA\",\"#96BFFF\"],nd={color:id,colorLayer:[[\"#37A2DA\",\"#ffd85c\",\"#fd7b5f\"],[\"#37A2DA\",\"#67E0E3\",\"#FFDB5C\",\"#ff9f7f\",\"#E062AE\",\"#9d96f5\"],[\"#37A2DA\",\"#32C5E9\",\"#9FE6B8\",\"#FFDB5C\",\"#ff9f7f\",\"#fb7293\",\"#e7bcf3\",\"#8378EA\",\"#96BFFF\"],id]},od=\"#eee\",ad=[\"#dd6b66\",\"#759aa0\",\"#e69d87\",\"#8dc1a9\",\"#ea7e53\",\"#eedd78\",\"#73a373\",\"#73b9bc\",\"#7289ab\",\"#91ca8c\",\"#f49f42\"],rd={color:ad,backgroundColor:\"#333\",tooltip:{axisPointer:{lineStyle:{color:od},crossStyle:{color:od},label:{color:\"#000\"}}},legend:{textStyle:{color:od}},textStyle:{color:od},title:{textStyle:{color:od}},toolbox:{iconStyle:{normal:{borderColor:od}}},dataZoom:{textStyle:{color:od}},visualMap:{textStyle:{color:od}},timeline:{lineStyle:{color:od},itemStyle:{normal:{color:ad[1]}},label:{normal:{textStyle:{color:od}}},controlStyle:{normal:{color:od,borderColor:od}}},timeAxis:ed(),logAxis:ed(),valueAxis:ed(),categoryAxis:ed(),line:{symbol:\"circle\"},graph:{color:ad},gauge:{title:{textStyle:{color:od}}},candlestick:{itemStyle:{normal:{color:\"#FD1050\",color0:\"#0CF49B\",borderColor:\"#FD1050\",borderColor0:\"#0CF49B\"}}}};rd.categoryAxis.splitLine.show=!1,ku.extend({type:\"dataset\",defaultOption:{seriesLayoutBy:Hu,sourceHeader:null,dimensions:null,source:null},optionUpdated:function(){!function(t){var e=t.option.source,i=Fu;if(V(e))i=Wu;else if(L(e)){0===e.length&&(i=Bu);for(var n=0,o=e.length;n<o;n++){var a=e[n];if(null!=a){if(L(a)){i=Bu;break}if(z(a)){i=Vu;break}}}}else if(z(e)){for(var r in e)if(e.hasOwnProperty(r)&&N(e[r])){i=Gu;break}}else if(null!=e)throw new Error(\"Invalid data\");Yu(t).sourceFormat=i}(this)}}),gc.extend({type:\"dataset\"});var sd=Ar.extend({type:\"ellipse\",shape:{cx:0,cy:0,rx:0,ry:0},buildPath:function(t,e){var i=e.cx,n=e.cy,o=e.rx,a=e.ry,r=.5522848*o,s=.5522848*a;t.moveTo(i-o,n),t.bezierCurveTo(i-o,n-s,i-r,n-a,i,n-a),t.bezierCurveTo(i+r,n-a,i+o,n-s,i+o,n),t.bezierCurveTo(i+o,n+s,i+r,n+a,i,n+a),t.bezierCurveTo(i-r,n+a,i-o,n+s,i-o,n),t.closePath()}}),ld=/[\\s,]+/;function ud(t){E(t)&&(t=(new DOMParser).parseFromString(t,\"text/xml\"));for(9===t.nodeType&&(t=t.firstChild);\"svg\"!==t.nodeName.toLowerCase()||1!==t.nodeType;)t=t.nextSibling;return t}function hd(){this._defs={},this._root=null,this._isDefine=!1,this._isText=!1}hd.prototype.parse=function(t,e){e=e||{};var i=ud(t);if(!i)throw new Error(\"Illegal svg\");var n=new Ci;this._root=n;var o=i.getAttribute(\"viewBox\")||\"\",a=parseFloat(i.getAttribute(\"width\")||e.width),r=parseFloat(i.getAttribute(\"height\")||e.height);isNaN(a)&&(a=null),isNaN(r)&&(r=null),md(i,n,null,!0);for(var s,l,u=i.firstChild;u;)this._parseNode(u,n),u=u.nextSibling;if(o){var h=j(o).split(ld);4<=h.length&&(s={x:parseFloat(h[0]||0),y:parseFloat(h[1]||0),width:parseFloat(h[2]),height:parseFloat(h[3])})}if(s&&null!=a&&null!=r&&(l=wd(s,a,r),!e.ignoreViewBox)){var c=n;(n=new Ci).add(c),c.scale=l.scale.slice(),c.position=l.position.slice()}return e.ignoreRootClip||null==a||null==r||n.setClipPath(new rs({shape:{x:0,y:0,width:a,height:r}})),{root:n,width:a,height:r,viewBoxRect:s,viewBoxTransform:l}},hd.prototype._parseNode=function(t,e){var i,n,o=t.nodeName.toLowerCase();if(\"defs\"===o?this._isDefine=!0:\"text\"===o&&(this._isText=!0),this._isDefine){if(n=dd[o]){var a=n.call(this,t),r=t.getAttribute(\"id\");r&&(this._defs[r]=a)}}else(n=cd[o])&&(i=n.call(this,t,e),e.add(i));for(var s=t.firstChild;s;)1===s.nodeType&&this._parseNode(s,i),3===s.nodeType&&this._isText&&this._parseText(s,i),s=s.nextSibling;\"defs\"===o?this._isDefine=!1:\"text\"===o&&(this._isText=!1)},hd.prototype._parseText=function(t,e){if(1===t.nodeType){var i=t.getAttribute(\"dx\")||0,n=t.getAttribute(\"dy\")||0;this._textX+=parseFloat(i),this._textY+=parseFloat(n)}var o=new Ur({style:{text:t.textContent,transformText:!0},position:[this._textX||0,this._textY||0]});fd(e,o),md(t,o,this._defs);var a=o.style.fontSize;a&&a<9&&(o.style.fontSize=9,o.scale=o.scale||[1,1],o.scale[0]*=a/9,o.scale[1]*=a/9);var r=o.getBoundingRect();return this._textX+=r.width,e.add(o),o};var cd={g:function(t,e){var i=new Ci;return fd(e,i),md(t,i,this._defs),i},rect:function(t,e){var i=new rs;return fd(e,i),md(t,i,this._defs),i.setShape({x:parseFloat(t.getAttribute(\"x\")||0),y:parseFloat(t.getAttribute(\"y\")||0),width:parseFloat(t.getAttribute(\"width\")||0),height:parseFloat(t.getAttribute(\"height\")||0)}),i},circle:function(t,e){var i=new Yr;return fd(e,i),md(t,i,this._defs),i.setShape({cx:parseFloat(t.getAttribute(\"cx\")||0),cy:parseFloat(t.getAttribute(\"cy\")||0),r:parseFloat(t.getAttribute(\"r\")||0)}),i},line:function(t,e){var i=new ls;return fd(e,i),md(t,i,this._defs),i.setShape({x1:parseFloat(t.getAttribute(\"x1\")||0),y1:parseFloat(t.getAttribute(\"y1\")||0),x2:parseFloat(t.getAttribute(\"x2\")||0),y2:parseFloat(t.getAttribute(\"y2\")||0)}),i},ellipse:function(t,e){var i=new sd;return fd(e,i),md(t,i,this._defs),i.setShape({cx:parseFloat(t.getAttribute(\"cx\")||0),cy:parseFloat(t.getAttribute(\"cy\")||0),rx:parseFloat(t.getAttribute(\"rx\")||0),ry:parseFloat(t.getAttribute(\"ry\")||0)}),i},polygon:function(t,e){var i=t.getAttribute(\"points\");i=i&&pd(i);var n=new Qr({shape:{points:i||[]}});return fd(e,n),md(t,n,this._defs),n},polyline:function(t,e){var i=new Ar;fd(e,i),md(t,i,this._defs);var n=t.getAttribute(\"points\");return n=n&&pd(n),new ts({shape:{points:n||[]}})},image:function(t,e){var i=new Qn;return fd(e,i),md(t,i,this._defs),i.setStyle({image:t.getAttribute(\"xlink:href\"),x:t.getAttribute(\"x\"),y:t.getAttribute(\"y\"),width:t.getAttribute(\"width\"),height:t.getAttribute(\"height\")}),i},text:function(t,e){var i=t.getAttribute(\"x\")||0,n=t.getAttribute(\"y\")||0,o=t.getAttribute(\"dx\")||0,a=t.getAttribute(\"dy\")||0;this._textX=parseFloat(i)+parseFloat(o),this._textY=parseFloat(n)+parseFloat(a);var r=new Ci;return fd(e,r),md(t,r,this._defs),r},tspan:function(t,e){var i=t.getAttribute(\"x\"),n=t.getAttribute(\"y\");null!=i&&(this._textX=parseFloat(i)),null!=n&&(this._textY=parseFloat(n));var o=t.getAttribute(\"dx\")||0,a=t.getAttribute(\"dy\")||0,r=new Ci;return fd(e,r),md(t,r,this._defs),this._textX+=o,this._textY+=a,r},path:function(t,e){var i=Zr(t.getAttribute(\"d\")||\"\");return fd(e,i),md(t,i,this._defs),i}},dd={lineargradient:function(t){var e=parseInt(t.getAttribute(\"x1\")||0,10),i=parseInt(t.getAttribute(\"y1\")||0,10),n=parseInt(t.getAttribute(\"x2\")||10,10),o=parseInt(t.getAttribute(\"y2\")||0,10),a=new gs(e,i,n,o);return function(t,e){var i=t.firstChild;for(;i;){if(1===i.nodeType){var n=i.getAttribute(\"offset\");n=0<n.indexOf(\"%\")?parseInt(n,10)/100:n?parseFloat(n):0;var o=i.getAttribute(\"stop-color\")||\"#000000\";e.addColorStop(n,o)}i=i.nextSibling}}(t,a),a},radialgradient:function(t){}};function fd(t,e){t&&t.__inheritedStyle&&(e.__inheritedStyle||(e.__inheritedStyle={}),D(e.__inheritedStyle,t.__inheritedStyle))}function pd(t){for(var e=j(t).split(ld),i=[],n=0;n<e.length;n+=2){var o=parseFloat(e[n]),a=parseFloat(e[n+1]);i.push([o,a])}return i}var gd={fill:\"fill\",stroke:\"stroke\",\"stroke-width\":\"lineWidth\",opacity:\"opacity\",\"fill-opacity\":\"fillOpacity\",\"stroke-opacity\":\"strokeOpacity\",\"stroke-dasharray\":\"lineDash\",\"stroke-dashoffset\":\"lineDashOffset\",\"stroke-linecap\":\"lineCap\",\"stroke-linejoin\":\"lineJoin\",\"stroke-miterlimit\":\"miterLimit\",\"font-family\":\"fontFamily\",\"font-size\":\"fontSize\",\"font-style\":\"fontStyle\",\"font-weight\":\"fontWeight\",\"text-align\":\"textAlign\",\"alignment-baseline\":\"textBaseline\"};function md(t,e,i,n){var o=e.__inheritedStyle||{},a=\"text\"===e.type;if(1===t.nodeType&&(function(t,e){var i=t.getAttribute(\"transform\");if(i){i=i.replace(/,/g,\" \");var n=null,o=[];i.replace(xd,function(t,e,i){o.push(e,i)});for(var a=o.length-1;0<a;a-=2){var r=o[a],s=o[a-1];switch(n=n||ae(),s){case\"translate\":r=j(r).split(ld),ue(n,n,[parseFloat(r[0]),parseFloat(r[1]||0)]);break;case\"scale\":r=j(r).split(ld),ce(n,n,[parseFloat(r[0]),parseFloat(r[1]||r[0])]);break;case\"rotate\":r=j(r).split(ld),he(n,n,parseFloat(r[0]));break;case\"skew\":r=j(r).split(ld),console.warn(\"Skew transform is not supported yet\");break;case\"matrix\":r=j(r).split(ld);n[0]=parseFloat(r[0]),n[1]=parseFloat(r[1]),n[2]=parseFloat(r[2]),n[3]=parseFloat(r[3]),n[4]=parseFloat(r[4]),n[5]=parseFloat(r[5])}}e.setLocalTransform(n)}}(t,e),P(o,function(t){var e=t.getAttribute(\"style\"),i={};if(!e)return i;var n,o={};_d.lastIndex=0;for(;null!=(n=_d.exec(e));)o[n[1]]=n[2];for(var a in gd)gd.hasOwnProperty(a)&&null!=o[a]&&(i[gd[a]]=o[a]);return i}(t)),!n))for(var r in gd)if(gd.hasOwnProperty(r)){var s=t.getAttribute(r);null!=s&&(o[gd[r]]=s)}var l=a?\"textFill\":\"fill\",u=a?\"textStroke\":\"stroke\";e.style=e.style||new Ui;var h=e.style;null!=o.fill&&h.set(l,yd(o.fill,i)),null!=o.stroke&&h.set(u,yd(o.stroke,i)),R([\"lineWidth\",\"opacity\",\"fillOpacity\",\"strokeOpacity\",\"miterLimit\",\"fontSize\"],function(t){var e=\"lineWidth\"===t&&a?\"textStrokeWidth\":t;null!=o[t]&&h.set(e,parseFloat(o[t]))}),o.textBaseline&&\"auto\"!==o.textBaseline||(o.textBaseline=\"alphabetic\"),\"alphabetic\"===o.textBaseline&&(o.textBaseline=\"bottom\"),\"start\"===o.textAlign&&(o.textAlign=\"left\"),\"end\"===o.textAlign&&(o.textAlign=\"right\"),R([\"lineDashOffset\",\"lineCap\",\"lineJoin\",\"fontWeight\",\"fontFamily\",\"fontStyle\",\"textAlign\",\"textBaseline\"],function(t){null!=o[t]&&h.set(t,o[t])}),o.lineDash&&(e.style.lineDash=j(o.lineDash).split(ld)),h[u]&&\"none\"!==h[u]&&(e[u]=!0),e.__inheritedStyle=o}var vd=/url\\(\\s*#(.*?)\\)/;function yd(t,e){var i=e&&t&&t.match(vd);return i?e[j(i[1])]:t}var xd=/(translate|scale|rotate|skewX|skewY|matrix)\\(([\\-\\s0-9\\.e,]*)\\)/g;var _d=/([^\\s:;]+)\\s*:\\s*([^:;]+)/g;function wd(t,e,i){var n=e/t.width,o=i/t.height,a=Math.min(n,o);return{scale:[a,a],position:[-(t.x+t.width/2)*a+e/2,-(t.y+t.height/2)*a+i/2]}}var bd=Q(),Sd={registerMap:function(t,e,i){var n;return R(n=L(e)?e:e.svg?[{type:\"svg\",source:e.svg,specialAreas:e.specialAreas}]:(e.geoJson&&!e.features&&(i=e.specialAreas,e=e.geoJson),[{type:\"geoJSON\",source:e,specialAreas:i}]),function(t){var e=t.type;\"geoJson\"===e&&(e=t.type=\"geoJSON\"),(0,Md[e])(t)}),bd.set(t,n)},retrieveMap:function(t){return bd.get(t)}},Md={geoJSON:function(t){var e=t.source;t.geoJSON=E(e)?\"undefined\"!=typeof JSON&&JSON.parse?JSON.parse(e):new Function(\"return (\"+e+\");\")():e},svg:function(t){t.svgXML=ud(t.source)}},Id=Y,Td=R,Ad=C,Dd=z,Cd=ku.parseClassType,Ld={PROCESSOR:{FILTER:1e3,SERIES_FILTER:800,STATISTIC:5e3},VISUAL:{LAYOUT:1e3,PROGRESSIVE_LAYOUT:1100,GLOBAL:2e3,CHART:3e3,POST_CHART_LAYOUT:3500,COMPONENT:4e3,BRUSH:5e3}},kd=\"__flagInMainProcess\",Pd=\"__optionUpdated\",Nd=/^[a-zA-Z0-9_]+$/;function Od(n,o){return function(t,e,i){!o&&this._disposed||(t=t&&t.toLowerCase(),Ct.prototype[n].call(this,t,e,i))}}function Rd(){Ct.call(this)}function Ed(t,e,i){i=i||{},\"string\"==typeof e&&(e=sf[e]),this.id,this.group,this._dom=t;var n=this._zr=ko(t,{renderer:i.renderer||\"canvas\",devicePixelRatio:i.devicePixelRatio,width:i.width,height:i.height});this._throttledZrFlush=Lc(A(n.flush,n),17),(e=k(e))&&Lh(e,!0),this._theme=e,this._chartsViews=[],this._chartsMap={},this._componentsViews=[],this._componentsMap={},this._coordSysMgr=new lh;var o=this._api=function(i){var t=i._coordSysMgr;return P(new rh(i),{getCoordinateSystems:A(t.getCoordinateSystems,t),getComponentByElement:function(t){for(;t;){var e=t.__ecComponentInfo;if(null!=e)return i._model.getComponent(e.mainType,e.index);t=t.parent}}})}(this);function a(t,e){return t.__prio-e.__prio}zi(rf,a),zi(nf,a),this._scheduler=new zc(this,o,nf,rf),Ct.call(this,this._ecEventProcessor=new Qd),this._messageCenter=new Rd,this._initEvents(),this.resize=A(this.resize,this),this._pendingActions=[],n.animation.on(\"frame\",this._onframe,this),function(t,e){t.on(\"rendered\",function(){e.trigger(\"rendered\"),!t.animation.isFinished()||e[Pd]||e._scheduler.unfinished||e._pendingActions.length||e.trigger(\"finished\")})}(n,this),K(this)}Rd.prototype.on=Od(\"on\",!0),Rd.prototype.off=Od(\"off\",!0),Rd.prototype.one=Od(\"one\",!0),b(Rd,Ct);var zd=Ed.prototype;function Bd(t,e,i){if(!this._disposed){var n,o=this._model,a=this._coordSysMgr.getCoordinateSystems();e=Ko(o,e);for(var r=0;r<a.length;r++){var s=a[r];if(s[t]&&null!=(n=s[t](o,e,i)))return n}}}zd._onframe=function(){if(!this._disposed){var t=this._scheduler;if(this[Pd]){var e=this[Pd].silent;this[kd]=!0,Gd(this),Vd.update.call(this),this[kd]=!1,this[Pd]=!1,Zd.call(this,e),Ud.call(this,e)}else if(t.unfinished){var i=1,n=this._model,o=this._api;t.unfinished=!1;do{var a=+new Date;t.performSeriesTasks(n),t.performDataProcessorTasks(n),Wd(this,n),t.performVisualTasks(n),qd(this,this._model,o,\"remain\"),i-=+new Date-a}while(0<i&&t.unfinished);t.unfinished||this._zr.flush()}}},zd.getDom=function(){return this._dom},zd.getZr=function(){return this._zr},zd.setOption=function(t,e,i){if(!this._disposed){var n;if(Dd(e)&&(i=e.lazyUpdate,n=e.silent,e=e.notMerge),this[kd]=!0,!this._model||e){var o=new ph(this._api),a=this._theme,r=this._model=new ih;r.scheduler=this._scheduler,r.init(null,null,a,o)}this._model.setOption(t,of),i?(this[Pd]={silent:n},this[kd]=!1):(Gd(this),Vd.update.call(this),this._zr.flush(),this[Pd]=!1,this[kd]=!1,Zd.call(this,n),Ud.call(this,n))}},zd.setTheme=function(){console.error(\"ECharts#setTheme() is DEPRECATED in ECharts 3.0\")},zd.getModel=function(){return this._model},zd.getOption=function(){return this._model&&this._model.getOption()},zd.getWidth=function(){return this._zr.getWidth()},zd.getHeight=function(){return this._zr.getHeight()},zd.getDevicePixelRatio=function(){return this._zr.painter.dpr||window.devicePixelRatio||1},zd.getRenderedCanvas=function(t){if(v.canvasSupported)return(t=t||{}).pixelRatio=t.pixelRatio||1,t.backgroundColor=t.backgroundColor||this._model.get(\"backgroundColor\"),this._zr.painter.getRenderedCanvas(t)},zd.getSvgDataURL=function(){if(v.svgSupported){var t=this._zr;return R(t.storage.getDisplayList(),function(t){t.stopAnimation(!0)}),t.painter.toDataURL()}},zd.getDataURL=function(t){if(!this._disposed){var e=(t=t||{}).excludeComponents,i=this._model,n=[],o=this;Td(e,function(t){i.eachComponent({mainType:t},function(t){var e=o._componentsMap[t.__viewId];e.group.ignore||(n.push(e),e.group.ignore=!0)})});var a=\"svg\"===this._zr.painter.getType()?this.getSvgDataURL():this.getRenderedCanvas(t).toDataURL(\"image/\"+(t&&t.type||\"png\"));return Td(n,function(t){t.group.ignore=!1}),a}},zd.getConnectedDataURL=function(o){if(!this._disposed&&v.canvasSupported){var a=\"svg\"===o.type,r=this.group,s=Math.min,l=Math.max;if(hf[r]){var u=1/0,h=1/0,c=-1/0,d=-1/0,f=[],i=o&&o.pixelRatio||1;R(uf,function(t,e){if(t.group===r){var i=a?t.getZr().painter.getSvgDom().innerHTML:t.getRenderedCanvas(k(o)),n=t.getDom().getBoundingClientRect();u=s(n.left,u),h=s(n.top,h),c=l(n.right,c),d=l(n.bottom,d),f.push({dom:i,left:n.left,top:n.top})}});var t=(c*=i)-(u*=i),e=(d*=i)-(h*=i),n=y(),p=ko(n,{renderer:a?\"svg\":\"canvas\"});if(p.resize({width:t,height:e}),a){var g=\"\";return Td(f,function(t){var e=t.left-u,i=t.top-h;g+='<g transform=\"translate('+e+\",\"+i+')\">'+t.dom+\"</g>\"}),p.painter.getSvgRoot().innerHTML=g,o.connectedBackgroundColor&&p.painter.setBackgroundColor(o.connectedBackgroundColor),p.refreshImmediately(),p.painter.toDataURL()}return o.connectedBackgroundColor&&p.add(new rs({shape:{x:0,y:0,width:t,height:e},style:{fill:o.connectedBackgroundColor}})),Td(f,function(t){var e=new Qn({style:{x:t.left*i-u,y:t.top*i-h,image:t.dom}});p.add(e)}),p.refreshImmediately(),n.toDataURL(\"image/\"+(o&&o.type||\"png\"))}return this.getDataURL(o)}},zd.convertToPixel=T(Bd,\"convertToPixel\"),zd.convertFromPixel=T(Bd,\"convertFromPixel\"),zd.containPixel=function(t,o){var a;if(!this._disposed)return R(t=Ko(this._model,t),function(t,n){0<=n.indexOf(\"Models\")&&R(t,function(t){var e=t.coordinateSystem;if(e&&e.containPoint)a|=!!e.containPoint(o);else if(\"seriesModels\"===n){var i=this._chartsMap[t.__viewId];i&&i.containPoint&&(a|=i.containPoint(o,t))}},this)},this),!!a},zd.getVisual=function(t,e){var i=(t=Ko(this._model,t,{defaultMainType:\"series\"})).seriesModel.getData(),n=t.hasOwnProperty(\"dataIndexInside\")?t.dataIndexInside:t.hasOwnProperty(\"dataIndex\")?i.indexOfRawIndex(t.dataIndex):null;return null!=n?i.getItemVisual(n,e):i.getVisual(e)},zd.getViewOfComponentModel=function(t){return this._componentsMap[t.__viewId]},zd.getViewOfSeriesModel=function(t){return this._chartsMap[t.__viewId]};var Vd={prepareAndUpdate:function(t){Gd(this),Vd.update.call(this,t)},update:function(t){var e=this._model,i=this._api,n=this._zr,o=this._coordSysMgr,a=this._scheduler;if(e){a.restoreData(e,t),a.performSeriesTasks(e),o.create(e,i),a.performDataProcessorTasks(e,t),Wd(this,e),o.update(e,i),Yd(e),a.performVisualTasks(e,t),jd(this,e,i,t);var r=e.get(\"backgroundColor\")||\"transparent\";if(v.canvasSupported)n.setBackgroundColor(r);else{var s=Fe(r);r=$e(s,\"rgb\"),0===s[3]&&(r=\"transparent\")}Kd(e,i)}},updateTransform:function(o){var a=this._model,r=this,s=this._api;if(a){var l=[];a.eachComponent(function(t,e){var i=r.getViewOfComponentModel(e);if(i&&i.__alive)if(i.updateTransform){var n=i.updateTransform(e,a,s,o);n&&n.update&&l.push(i)}else l.push(i)});var n=Q();a.eachSeries(function(t){var e=r._chartsMap[t.__viewId];if(e.updateTransform){var i=e.updateTransform(t,a,s,o);i&&i.update&&n.set(t.uid,1)}else n.set(t.uid,1)}),Yd(a),this._scheduler.performVisualTasks(a,o,{setDirty:!0,dirtyMap:n}),qd(r,a,s,o,n),Kd(a,this._api)}},updateView:function(t){var e=this._model;e&&(_c.markUpdateMethod(t,\"updateView\"),Yd(e),this._scheduler.performVisualTasks(e,t,{setDirty:!0}),jd(this,this._model,this._api,t),Kd(e,this._api))},updateVisual:function(t){Vd.update.call(this,t)},updateLayout:function(t){Vd.update.call(this,t)}};function Gd(t){var e=t._model,i=t._scheduler;i.restorePipelines(e),i.prepareStageTasks(),Xd(t,\"component\",e,i),Xd(t,\"chart\",e,i),i.plan()}function Fd(e,i,n,o,t){var a=e._model;if(o){var r={};r[o+\"Id\"]=n[o+\"Id\"],r[o+\"Index\"]=n[o+\"Index\"],r[o+\"Name\"]=n[o+\"Name\"];var s={mainType:o,query:r};t&&(s.subType=t);var l=n.excludeSeriesId;null!=l&&(l=Q(Vo(l))),a&&a.eachComponent(s,function(t){l&&null!=l.get(t.id)||u(e[\"series\"===o?\"_chartsMap\":\"_componentsMap\"][t.__viewId])},e)}else Td(e._componentsViews.concat(e._chartsViews),u);function u(t){t&&t.__alive&&t[i]&&t[i](t.__model,a,e._api,n)}}function Wd(t,e){var i=t._chartsMap,n=t._scheduler;e.eachSeries(function(t){n.updateStreamModes(t,i[t.__viewId])})}function Hd(e,t){var i=e.type,n=e.escapeConnect,o=tf[i],a=o.actionInfo,r=(a.update||\"update\").split(\":\"),s=r.pop();r=null!=r[0]&&Cd(r[0]),this[kd]=!0;var l=[e],u=!1;e.batch&&(u=!0,l=O(e.batch,function(t){return(t=D(P({},t),e)).batch=null,t}));var h,c=[],d=\"highlight\"===i||\"downplay\"===i;Td(l,function(t){(h=(h=o.action(t,this._model,this._api))||P({},t)).type=a.event||h.type,c.push(h),d?Fd(this,s,t,\"series\"):r&&Fd(this,s,t,r.main,r.sub)},this),\"none\"===s||d||r||(this[Pd]?(Gd(this),Vd.update.call(this,e),this[Pd]=!1):Vd[s].call(this,e)),h=u?{type:a.event||i,escapeConnect:n,batch:c}:c[0],this[kd]=!1,t||this._messageCenter.trigger(h.type,h)}function Zd(t){for(var e=this._pendingActions;e.length;){var i=e.shift();Hd.call(this,i,t)}}function Ud(t){t||this.trigger(\"updated\")}function Xd(t,e,o,a){for(var r=\"component\"===e,s=r?t._componentsViews:t._chartsViews,l=r?t._componentsMap:t._chartsMap,u=t._zr,h=t._api,i=0;i<s.length;i++)s[i].__alive=!1;function n(t){var e=\"_ec_\"+t.id+\"_\"+t.type,i=l[e];if(!i){var n=Cd(t.type);(i=new(r?gc.getClass(n.main,n.sub):_c.getClass(n.sub))).init(o,h),l[e]=i,s.push(i),u.add(i.group)}t.__viewId=i.__id=e,i.__alive=!0,i.__model=t,i.group.__ecComponentInfo={mainType:t.mainType,index:t.componentIndex},r||a.prepareView(i,t,o,h)}r?o.eachComponent(function(t,e){\"series\"!==t&&n(e)}):o.eachSeries(n);for(i=0;i<s.length;){var c=s[i];c.__alive?i++:(r||c.renderTask.dispose(),u.remove(c.group),c.dispose(o,h),s.splice(i,1),delete l[c.__id],c.__id=c.group.__ecComponentInfo=null)}}function Yd(t){t.clearColorPalette(),t.eachSeries(function(t){t.clearColorPalette()})}function jd(t,e,i,n){!function(t,i,n,o,e){Td(e||t._componentsViews,function(t){var e=t.__model;t.render(e,i,n,o),Jd(e,t)})}(t,e,i,n),Td(t._chartsViews,function(t){t.__alive=!1}),qd(t,e,i,n),Td(t._chartsViews,function(t){t.__alive||t.remove(e,i)})}function qd(n,t,e,o,a){var r,s=n._scheduler;t.eachSeries(function(t){var e=n._chartsMap[t.__viewId];e.__alive=!0;var i=e.renderTask;s.updatePayload(i,o),a&&a.get(t.uid)&&i.dirty(),r|=i.perform(s.getPerformArgs(i)),e.group.silent=!!t.get(\"silent\"),Jd(t,e),function(t,e){var i=t.get(\"blendMode\")||null;e.group.traverse(function(t){t.isGroup||t.style.blend!==i&&t.setStyle(\"blend\",i),t.eachPendingDisplayable&&t.eachPendingDisplayable(function(t){t.setStyle(\"blend\",i)})})}(t,e)}),s.unfinished|=r,function(i,t){var e=i._zr.storage,n=0;e.traverse(function(t){n++}),n>t.get(\"hoverLayerThreshold\")&&!v.node&&t.eachSeries(function(t){if(!t.preventUsingHoverLayer){var e=i._chartsMap[t.__viewId];e.__alive&&e.group.traverse(function(t){t.useHoverLayer=!0})}})}(n,t),Rc(n._zr.dom,t)}function Kd(e,i){Td(af,function(t){t(e,i)})}zd.resize=function(t){if(!this._disposed){this._zr.resize(t);var e=this._model;if(this._loadingFX&&this._loadingFX.resize(),e){var i=e.resetOption(\"media\"),n=t&&t.silent;this[kd]=!0,i&&Gd(this),Vd.update.call(this),this[kd]=!1,Zd.call(this,n),Ud.call(this,n)}}},zd.showLoading=function(t,e){if(!this._disposed&&(Dd(t)&&(e=t,t=\"\"),t=t||\"default\",this.hideLoading(),lf[t])){var i=lf[t](this._api,e),n=this._zr;this._loadingFX=i,n.add(i)}},zd.hideLoading=function(){this._disposed||(this._loadingFX&&this._zr.remove(this._loadingFX),this._loadingFX=null)},zd.makeActionFromEvent=function(t){var e=P({},t);return e.type=ef[t.type],e},zd.dispatchAction=function(t,e){this._disposed||(Dd(e)||(e={silent:!!e}),tf[t.type]&&this._model&&(this[kd]?this._pendingActions.push(t):(Hd.call(this,t,e.silent),e.flush?this._zr.flush(!0):!1!==e.flush&&v.browser.weChat&&this._throttledZrFlush(),Zd.call(this,e.silent),Ud.call(this,e.silent))))},zd.appendData=function(t){if(!this._disposed){var e=t.seriesIndex;this.getModel().getSeriesByIndex(e).appendData(t),this._scheduler.unfinished=!0}},zd.on=Od(\"on\",!1),zd.off=Od(\"off\",!1),zd.one=Od(\"one\",!1);var $d=[\"click\",\"dblclick\",\"mouseover\",\"mouseout\",\"mousemove\",\"mousedown\",\"mouseup\",\"globalout\",\"contextmenu\"];function Jd(t,e){var i=t.get(\"z\"),n=t.get(\"zlevel\");e.group.traverse(function(t){\"group\"!==t.type&&(null!=i&&(t.z=i),null!=n&&(t.zlevel=n))})}function Qd(){this.eventInfo}zd._initEvents=function(){Td($d,function(u){function t(t){var e,i=this.getModel(),n=t.target;if(\"globalout\"===u)e={};else if(n&&null!=n.dataIndex){var o=n.dataModel||i.getSeriesByIndex(n.seriesIndex);e=o&&o.getDataParams(n.dataIndex,n.dataType,n)||{}}else n&&n.eventData&&(e=P({},n.eventData));if(e){var a=e.componentType,r=e.componentIndex;\"markLine\"!==a&&\"markPoint\"!==a&&\"markArea\"!==a||(a=\"series\",r=e.seriesIndex);var s=a&&null!=r&&i.getComponent(a,r),l=s&&this[\"series\"===s.mainType?\"_chartsMap\":\"_componentsMap\"][s.__viewId];e.event=t,e.type=u,this._ecEventProcessor.eventInfo={targetEl:n,packedEvent:e,model:s,view:l},this.trigger(u,e)}}t.zrEventfulCallAtLast=!0,this._zr.on(u,t,this)},this),Td(ef,function(t,e){this._messageCenter.on(e,function(t){this.trigger(e,t)},this)},this)},zd.isDisposed=function(){return this._disposed},zd.clear=function(){this._disposed||this.setOption({series:[]},!0)},zd.dispose=function(){if(!this._disposed){this._disposed=!0,Jo(this.getDom(),ff,\"\");var e=this._api,i=this._model;Td(this._componentsViews,function(t){t.dispose(i,e)}),Td(this._chartsViews,function(t){t.dispose(i,e)}),this._zr.dispose(),delete uf[this.id]}},b(Ed,Ct),Qd.prototype={constructor:Qd,normalizeQuery:function(t){var s={},l={},u={};if(E(t)){var e=Cd(t);s.mainType=e.main||null,s.subType=e.sub||null}else{var h=[\"Index\",\"Name\",\"Id\"],c={name:1,dataIndex:1,dataType:1};R(t,function(t,e){for(var i=!1,n=0;n<h.length;n++){var o=h[n],a=e.lastIndexOf(o);if(0<a&&a===e.length-o.length){var r=e.slice(0,a);\"data\"!==r&&(s.mainType=r,s[o.toLowerCase()]=t,i=!0)}}c.hasOwnProperty(e)&&(l[e]=t,i=!0),i||(u[e]=t)})}return{cptQuery:s,dataQuery:l,otherQuery:u}},filter:function(t,e,i){var n=this.eventInfo;if(!n)return!0;var o=n.targetEl,a=n.packedEvent,r=n.model,s=n.view;if(!r||!s)return!0;var l=e.cptQuery,u=e.dataQuery;return h(l,r,\"mainType\")&&h(l,r,\"subType\")&&h(l,r,\"index\",\"componentIndex\")&&h(l,r,\"name\")&&h(l,r,\"id\")&&h(u,a,\"name\")&&h(u,a,\"dataIndex\")&&h(u,a,\"dataType\")&&(!s.filterForExposedEvent||s.filterForExposedEvent(t,e.otherQuery,o,a));function h(t,e,i,n){return null==t[i]||e[n||i]===t[i]}},afterTrigger:function(){this.eventInfo=null}};var tf={},ef={},nf=[],of=[],af=[],rf=[],sf={},lf={},uf={},hf={},cf=new Date-0,df=new Date-0,ff=\"_echarts_instance_\";function pf(t){hf[t]=!1}var gf=pf;function mf(t){return uf[function(t,e){return t.getAttribute?t.getAttribute(e):t[e]}(t,ff)]}function vf(t,e){sf[t]=e}function yf(t){of.push(t)}function xf(t,e){Mf(nf,t,e,1e3)}function _f(t,e,i){\"function\"==typeof e&&(i=e,e=\"\");var n=Dd(t)?t.type:[t,t={event:e}][0];t.event=(t.event||n).toLowerCase(),e=t.event,Id(Nd.test(n)&&Nd.test(e)),tf[n]||(tf[n]={action:i,actionInfo:t}),ef[e]=n}function wf(t,e){lh.register(t,e)}function bf(t,e){Mf(rf,t,e,1e3,\"layout\")}function Sf(t,e){Mf(rf,t,e,3e3,\"visual\")}function Mf(t,e,i,n,o){(Ad(e)||Dd(e))&&(i=e,e=n);var a=zc.wrapStageHandler(i,o);return a.__prio=e,a.__raw=i,t.push(a),a}function If(t,e){lf[t]=e}function Tf(t){return ku.extend(t)}function Af(t){return gc.extend(t)}function Df(t){return sc.extend(t)}function Cf(t){return _c.extend(t)}Sf(2e3,Nc),yf(Lh),xf(900,function(t){var a=Q();t.eachSeries(function(t){var e=t.get(\"stack\");if(e){var i=a.get(e)||a.set(e,[]),n=t.getData(),o={stackResultDimension:n.getCalculationInfo(\"stackResultDimension\"),stackedOverDimension:n.getCalculationInfo(\"stackedOverDimension\"),stackedDimension:n.getCalculationInfo(\"stackedDimension\"),stackedByDimension:n.getCalculationInfo(\"stackedByDimension\"),isStackedByIndex:n.getCalculationInfo(\"isStackedByIndex\"),data:n,seriesModel:t};if(!o.stackedDimension||!o.isStackedByIndex&&!o.stackedByDimension)return;i.length&&n.setCalculationInfo(\"stackedOnSeries\",i[i.length-1].seriesModel),i.push(o)}}),a.each(kh)}),If(\"default\",function(o,a){D(a=a||{},{text:\"loading\",textColor:\"#000\",fontSize:\"12px\",maskColor:\"rgba(255, 255, 255, 0.8)\",showSpinner:!0,color:\"#c23531\",spinnerRadius:10,lineWidth:5,zlevel:0});var t=new Ci,r=new rs({style:{fill:a.maskColor},zlevel:a.zlevel,z:1e4});t.add(r);var s=a.fontSize+\" sans-serif\",l=new rs({style:{fill:\"none\",text:a.text,font:s,textPosition:\"right\",textDistance:10,textFill:a.textColor},zlevel:a.zlevel,z:10001});if(t.add(l),a.showSpinner){var u=new fs({shape:{startAngle:-Ec/2,endAngle:-Ec/2+.1,r:a.spinnerRadius},style:{stroke:a.color,lineCap:\"round\",lineWidth:a.lineWidth},zlevel:a.zlevel,z:10001});u.animateShape(!0).when(1e3,{endAngle:3*Ec/2}).start(\"circularInOut\"),u.animateShape(!0).when(1e3,{startAngle:3*Ec/2}).delay(300).start(\"circularInOut\"),t.add(u)}return t.resize=function(){var t=pn(a.text,s),e=a.showSpinner?a.spinnerRadius:0,i=(o.getWidth()-2*e-(a.showSpinner&&t?10:0)-t)/2-(a.showSpinner?0:t/2),n=o.getHeight()/2;a.showSpinner&&u.setShape({cx:i,cy:n}),l.setShape({x:i-e,y:n-e,width:2*e,height:2*e}),r.setShape({x:0,y:0,width:o.getWidth(),height:o.getHeight()})},t.resize(),t}),_f({type:\"highlight\",event:\"highlight\",update:\"highlight\"},et),_f({type:\"downplay\",event:\"downplay\",update:\"downplay\"},et),vf(\"light\",nd),vf(\"dark\",rd);function Lf(t){return t}function kf(t,e,i,n,o){this._old=t,this._new=e,this._oldKeyGetter=i||Lf,this._newKeyGetter=n||Lf,this.context=o}function Pf(t,e,i,n,o){for(var a=0;a<t.length;a++){var r=\"_ec_\"+o[n](t[a],a),s=e[r];null==s?(i.push(r),e[r]=a):(s.length||(e[r]=s=[s]),s.push(a))}}kf.prototype={constructor:kf,add:function(t){return this._add=t,this},update:function(t){return this._update=t,this},remove:function(t){return this._remove=t,this},execute:function(){var t=this._old,e=this._new,i={},n=[],o=[];for(Pf(t,{},n,\"_oldKeyGetter\",this),Pf(e,i,o,\"_newKeyGetter\",this),a=0;a<t.length;a++){if(null!=(s=i[r=n[a]]))(u=s.length)?(1===u&&(i[r]=null),s=s.shift()):i[r]=null,this._update&&this._update(s,a);else this._remove&&this._remove(a)}for(var a=0;a<o.length;a++){var r=o[a];if(i.hasOwnProperty(r)){var s;if(null==(s=i[r]))continue;if(s.length)for(var l=0,u=s.length;l<u;l++)this._add&&this._add(s[l]);else this._add&&this._add(s)}}}};var Nf=Q([\"tooltip\",\"label\",\"itemName\",\"itemId\",\"seriesName\"]);function Of(t,e){return t.hasOwnProperty(e)||(t[e]=[]),t[e]}function Rf(t){return\"category\"===t?\"ordinal\":\"time\"===t?\"time\":\"float\"}function Ef(t){null!=t&&P(this,t),this.otherDims={}}var zf=z,Bf=\"undefined\",Vf={float:typeof Float64Array==Bf?Array:Float64Array,int:typeof Int32Array==Bf?Array:Int32Array,ordinal:Array,number:Array,time:Array},Gf=typeof Uint32Array==Bf?Array:Uint32Array,Ff=typeof Int32Array==Bf?Array:Int32Array,Wf=typeof Uint16Array==Bf?Array:Uint16Array;function Hf(t){return 65535<t._rawCount?Gf:Wf}var Zf=[\"hasItemOption\",\"_nameList\",\"_idList\",\"_invertedIndicesMap\",\"_rawData\",\"_chunkSize\",\"_chunkCount\",\"_dimValueGetter\",\"_count\",\"_rawCount\",\"_nameDimIdx\",\"_idDimIdx\"],Uf=[\"_extent\",\"_approximateExtent\",\"_rawExtent\"];function Xf(e,i){R(Zf.concat(i.__wrappedMethods||[]),function(t){i.hasOwnProperty(t)&&(e[t]=i[t])}),e.__wrappedMethods=i.__wrappedMethods,R(Uf,function(t){e[t]=k(i[t])}),e._calculationInfo=P(i._calculationInfo)}var Yf=function(t,e){t=t||[\"x\",\"y\"];for(var i={},n=[],o={},a=0;a<t.length;a++){var r=t[a];E(r)?r=new Ef({name:r}):r instanceof Ef||(r=new Ef(r));var s=r.name;r.type=r.type||\"float\",r.coordDim||(r.coordDim=s,r.coordDimIndex=0),r.otherDims=r.otherDims||{},n.push(s),(i[s]=r).index=a,r.createInvertedIndices&&(o[s]=[])}this.dimensions=n,this._dimensionInfos=i,this.hostModel=e,this.dataType,this._indices=null,this._count=0,this._rawCount=0,this._storage={},this._nameList=[],this._idList=[],this._optionModels=[],this._visual={},this._layout={},this._itemVisuals=[],this.hasItemVisual={},this._itemLayouts=[],this._graphicEls=[],this._chunkSize=1e5,this._chunkCount=0,this._rawData,this._rawExtent={},this._extent={},this._approximateExtent={},this._dimensionsSummary=function(n){var t={},a=t.encode={},r=Q(),s=[],l=[],u=t.userOutput={dimensionNames:n.dimensions.slice(),encode:{}};R(n.dimensions,function(t){var o=n.getDimensionInfo(t),e=o.coordDim;if(e){var i=o.coordDimIndex;Of(a,e)[i]=t,o.isExtraCoord||(r.set(e,1),function(t){return!(\"ordinal\"===t||\"time\"===t)}(o.type)&&(s[0]=t),Of(u.encode,e)[i]=o.index),o.defaultTooltip&&l.push(t)}Nf.each(function(t,e){var i=Of(a,e),n=o.otherDims[e];null!=n&&!1!==n&&(i[n]=o.name)})});var o=[],h={};r.each(function(t,e){var i=a[e];h[e]=i[0],o=o.concat(i)}),t.dataDimsOnCoord=o,t.encodeFirstDimNotExtra=h;var e=a.label;e&&e.length&&(s=e.slice());var i=a.tooltip;return i&&i.length?l=i.slice():l.length||(l=s.slice()),a.defaultedLabel=s,a.defaultedTooltip=l,t}(this),this._invertedIndicesMap=o,this._calculationInfo={},this.userOutput=this._dimensionsSummary.userOutput},jf=Yf.prototype;function qf(t,e,i,n,o){var a=Vf[e.type],r=n-1,s=e.name,l=t[s][r];if(l&&l.length<i){for(var u=new a(Math.min(o-r*i,i)),h=0;h<l.length;h++)u[h]=l[h];t[s][r]=u}for(var c=n*i;c<o;c+=i)t[s].push(new a(Math.min(o-c,i)))}function Kf(o){var a=o._invertedIndicesMap;R(a,function(t,e){var i=o._dimensionInfos[e].ordinalMeta;if(i){t=a[e]=new Ff(i.categories.length);for(var n=0;n<t.length;n++)t[n]=-1;for(n=0;n<o._count;n++)t[o.get(e,n)]=n}})}function $f(t,e,i){var n;if(null!=e){var o=t._chunkSize,a=Math.floor(i/o),r=i%o,s=t.dimensions[e],l=t._storage[s][a];if(l){n=l[r];var u=t._dimensionInfos[s].ordinalMeta;u&&u.categories.length&&(n=u.categories[n])}}return n}function Jf(t){return t}function Qf(t){return t<this._count&&0<=t?this._indices[t]:-1}function tp(t,e){var i=t._idList[e];return null==i&&(i=$f(t,t._idDimIdx,e)),null==i&&(i=\"e\\0\\0\"+e),i}function ep(t){return L(t)||(t=[t]),t}function ip(t,e){var i=t.dimensions,n=new Yf(O(i,t.getDimensionInfo,t),t.hostModel);Xf(n,t);for(var o=n._storage={},a=t._storage,r=0;r<i.length;r++){var s=i[r];a[s]&&(0<=_(e,s)?(o[s]=np(a[s]),n._rawExtent[s]=op(),n._extent[s]=null):o[s]=a[s])}return n}function np(t){for(var e,i,n=new Array(t.length),o=0;o<t.length;o++)n[o]=(e=t[o],i=void 0,(i=e.constructor)===Array?e.slice():new i(e));return n}function op(){return[1/0,-1/0]}jf.type=\"list\",jf.hasItemOption=!0,jf.getDimension=function(t){return\"number\"!=typeof t&&(isNaN(t)||this._dimensionInfos.hasOwnProperty(t))||(t=this.dimensions[t]),t},jf.getDimensionInfo=function(t){return this._dimensionInfos[this.getDimension(t)]},jf.getDimensionsOnCoord=function(){return this._dimensionsSummary.dataDimsOnCoord.slice()},jf.mapDimension=function(t,e){var i=this._dimensionsSummary;if(null==e)return i.encodeFirstDimNotExtra[t];var n=i.encode[t];return!0===e?(n||[]).slice():n&&n[e]},jf.initData=function(t,e,i){(Uu.isInstance(t)||N(t))&&(t=new Ph(t,this.dimensions.length)),this._rawData=t,this._storage={},this._indices=null,this._nameList=e||[],this._idList=[],this._nameRepeatCount={},i||(this.hasItemOption=!1),this.defaultDimValueGetter=Gh[this._rawData.getSource().sourceFormat],this._dimValueGetter=i=i||this.defaultDimValueGetter,this._dimValueGetterArrayRows=Gh.arrayRows,this._rawExtent={},this._initDataFromProvider(0,t.count()),t.pure&&(this.hasItemOption=!1)},jf.getProvider=function(){return this._rawData},jf.appendData=function(t){var e=this._rawData,i=this.count();e.appendData(t);var n=e.count();e.persistent||(n+=i),this._initDataFromProvider(i,n)},jf.appendValues=function(t,e){for(var i=this._chunkSize,n=this._storage,o=this.dimensions,a=o.length,r=this._rawExtent,s=this.count(),l=s+Math.max(t.length,e?e.length:0),u=this._chunkCount,h=0;h<a;h++){r[v=o[h]]||(r[v]=op()),n[v]||(n[v]=[]),qf(n,this._dimensionInfos[v],i,u,l),this._chunkCount=n[v].length}for(var c=new Array(a),d=s;d<l;d++){for(var f=d-s,p=Math.floor(d/i),g=d%i,m=0;m<a;m++){var v=o[m],y=this._dimValueGetterArrayRows(t[f]||c,v,f,m);n[v][p][g]=y;var x=r[v];y<x[0]&&(x[0]=y),y>x[1]&&(x[1]=y)}e&&(this._nameList[d]=e[f])}this._rawCount=this._count=l,this._extent={},Kf(this)},jf._initDataFromProvider=function(t,e){if(!(e<=t)){for(var i,n=this._chunkSize,o=this._rawData,a=this._storage,r=this.dimensions,s=r.length,l=this._dimensionInfos,u=this._nameList,h=this._idList,c=this._rawExtent,d=this._nameRepeatCount={},f=this._chunkCount,p=0;p<s;p++){c[w=r[p]]||(c[w]=op());var g=l[w];0===g.otherDims.itemName&&(i=this._nameDimIdx=p),0===g.otherDims.itemId&&(this._idDimIdx=p),a[w]||(a[w]=[]),qf(a,g,n,f,e),this._chunkCount=a[w].length}for(var m=new Array(s),v=t;v<e;v++){m=o.getItem(v,m);for(var y=Math.floor(v/n),x=v%n,_=0;_<s;_++){var w,b=a[w=r[_]][y],S=this._dimValueGetter(m,w,v,_);b[x]=S;var M=c[w];S<M[0]&&(M[0]=S),S>M[1]&&(M[1]=S)}if(!o.pure){var I=u[v];if(m&&null==I)if(null!=m.name)u[v]=I=m.name;else if(null!=i){var T=r[i],A=a[T][y];if(A){I=A[x];var D=l[T].ordinalMeta;D&&D.categories.length&&(I=D.categories[I])}}var C=null==m?null:m.id;null==C&&null!=I&&(d[I]=d[I]||0,0<d[C=I]&&(C+=\"__ec__\"+d[I]),d[I]++),null!=C&&(h[v]=C)}}!o.persistent&&o.clean&&o.clean(),this._rawCount=this._count=e,this._extent={},Kf(this)}},jf.count=function(){return this._count},jf.getIndices=function(){var t=this._indices;if(t){var e=t.constructor,i=this._count;if(e===Array){o=new e(i);for(var n=0;n<i;n++)o[n]=t[n]}else o=new e(t.buffer,0,i)}else{var o=new(e=Hf(this))(this.count());for(n=0;n<o.length;n++)o[n]=n}return o},jf.get=function(t,e){if(!(0<=e&&e<this._count))return NaN;var i=this._storage;if(!i[t])return NaN;e=this.getRawIndex(e);var n=Math.floor(e/this._chunkSize),o=e%this._chunkSize;return i[t][n][o]},jf.getByRawIndex=function(t,e){if(!(0<=e&&e<this._rawCount))return NaN;var i=this._storage[t];if(!i)return NaN;var n=Math.floor(e/this._chunkSize),o=e%this._chunkSize;return i[n][o]},jf._getFast=function(t,e){var i=Math.floor(e/this._chunkSize),n=e%this._chunkSize;return this._storage[t][i][n]},jf.getValues=function(t,e){var i=[];L(t)||(e=t,t=this.dimensions);for(var n=0,o=t.length;n<o;n++)i.push(this.get(t[n],e));return i},jf.hasValue=function(t){for(var e=this._dimensionsSummary.dataDimsOnCoord,i=0,n=e.length;i<n;i++)if(isNaN(this.get(e[i],t)))return!1;return!0},jf.getDataExtent=function(t){t=this.getDimension(t);var e=this._storage[t],i=op();if(!e)return i;var n,o=this.count();if(!this._indices)return this._rawExtent[t].slice();if(n=this._extent[t])return n.slice();for(var a=(n=i)[0],r=n[1],s=0;s<o;s++){var l=this._getFast(t,this.getRawIndex(s));l<a&&(a=l),r<l&&(r=l)}return n=[a,r],this._extent[t]=n},jf.getApproximateExtent=function(t){return t=this.getDimension(t),this._approximateExtent[t]||this.getDataExtent(t)},jf.setApproximateExtent=function(t,e){e=this.getDimension(e),this._approximateExtent[e]=t.slice()},jf.getCalculationInfo=function(t){return this._calculationInfo[t]},jf.setCalculationInfo=function(t,e){zf(t)?P(this._calculationInfo,t):this._calculationInfo[t]=e},jf.getSum=function(t){var e=0;if(this._storage[t])for(var i=0,n=this.count();i<n;i++){var o=this.get(t,i);isNaN(o)||(e+=o)}return e},jf.getMedian=function(t){var i=[];this.each(t,function(t,e){isNaN(t)||i.push(t)});var e=[].concat(i).sort(function(t,e){return t-e}),n=this.count();return 0===n?0:n%2==1?e[(n-1)/2]:(e[n/2]+e[n/2-1])/2},jf.rawIndexOf=function(t,e){var i=(t&&this._invertedIndicesMap[t])[e];return null==i||isNaN(i)?-1:i},jf.indexOfName=function(t){for(var e=0,i=this.count();e<i;e++)if(this.getName(e)===t)return e;return-1},jf.indexOfRawIndex=function(t){if(t>=this._rawCount||t<0)return-1;if(!this._indices)return t;var e=this._indices,i=e[t];if(null!=i&&i<this._count&&i===t)return t;for(var n=0,o=this._count-1;n<=o;){var a=(n+o)/2|0;if(e[a]<t)n=1+a;else{if(!(e[a]>t))return a;o=a-1}}return-1},jf.indicesOfNearest=function(t,e,i){var n=[];if(!this._storage[t])return n;null==i&&(i=1/0);for(var o=1/0,a=-1,r=0,s=0,l=this.count();s<l;s++){var u=e-this.get(t,s),h=Math.abs(u);h<=i&&((h<o||h===o&&0<=u&&a<0)&&(o=h,a=u,r=0),u===a&&(n[r++]=s))}return n.length=r,n},jf.getRawIndex=Jf,jf.getRawDataItem=function(t){if(this._rawData.persistent)return this._rawData.getItem(this.getRawIndex(t));for(var e=[],i=0;i<this.dimensions.length;i++){var n=this.dimensions[i];e.push(this.get(n,t))}return e},jf.getName=function(t){var e=this.getRawIndex(t);return this._nameList[e]||$f(this,this._nameDimIdx,e)||\"\"},jf.getId=function(t){return tp(this,this.getRawIndex(t))},jf.each=function(t,e,i,n){if(this._count){\"function\"==typeof t&&(n=i,i=e,e=t,t=[]),i=i||n||this;for(var o=(t=O(ep(t),this.getDimension,this)).length,a=0;a<this.count();a++)switch(o){case 0:e.call(i,a);break;case 1:e.call(i,this.get(t[0],a),a);break;case 2:e.call(i,this.get(t[0],a),this.get(t[1],a),a);break;default:for(var r=0,s=[];r<o;r++)s[r]=this.get(t[r],a);s[r]=a,e.apply(i,s)}}},jf.filterSelf=function(t,e,i,n){if(this._count){\"function\"==typeof t&&(n=i,i=e,e=t,t=[]),i=i||n||this,t=O(ep(t),this.getDimension,this);for(var o=this.count(),a=new(Hf(this))(o),r=[],s=t.length,l=0,u=t[0],h=0;h<o;h++){var c,d=this.getRawIndex(h);if(0===s)c=e.call(i,h);else if(1===s){var f=this._getFast(u,d);c=e.call(i,f,h)}else{for(var p=0;p<s;p++)r[p]=this._getFast(u,d);r[p]=h,c=e.apply(i,r)}c&&(a[l++]=d)}return l<o&&(this._indices=a),this._count=l,this._extent={},this.getRawIndex=this._indices?Qf:Jf,this}},jf.selectRange=function(t){if(this._count){var e=[];for(var i in t)t.hasOwnProperty(i)&&e.push(i);var n=e.length;if(n){var o=this.count(),a=new(Hf(this))(o),r=0,s=e[0],l=t[s][0],u=t[s][1],h=!1;if(!this._indices){var c=0;if(1===n){for(var d=this._storage[e[0]],f=0;f<this._chunkCount;f++)for(var p=d[f],g=Math.min(this._count-f*this._chunkSize,this._chunkSize),m=0;m<g;m++){(l<=(w=p[m])&&w<=u||isNaN(w))&&(a[r++]=c),c++}h=!0}else if(2===n){d=this._storage[s];var v=this._storage[e[1]],y=t[e[1]][0],x=t[e[1]][1];for(f=0;f<this._chunkCount;f++){p=d[f];var _=v[f];for(g=Math.min(this._count-f*this._chunkSize,this._chunkSize),m=0;m<g;m++){var w=p[m],b=_[m];(l<=w&&w<=u||isNaN(w))&&(y<=b&&b<=x||isNaN(b))&&(a[r++]=c),c++}}h=!0}}if(!h)if(1===n)for(m=0;m<o;m++){var S=this.getRawIndex(m);(l<=(w=this._getFast(s,S))&&w<=u||isNaN(w))&&(a[r++]=S)}else for(m=0;m<o;m++){var M=!0;for(S=this.getRawIndex(m),f=0;f<n;f++){var I=e[f];((w=this._getFast(i,S))<t[I][0]||w>t[I][1])&&(M=!1)}M&&(a[r++]=this.getRawIndex(m))}return r<o&&(this._indices=a),this._count=r,this._extent={},this.getRawIndex=this._indices?Qf:Jf,this}}},jf.mapArray=function(t,e,i,n){\"function\"==typeof t&&(n=i,i=e,e=t,t=[]),i=i||n||this;var o=[];return this.each(t,function(){o.push(e&&e.apply(this,arguments))},i),o},jf.map=function(t,e,i,n){i=i||n||this;var o=ip(this,t=O(ep(t),this.getDimension,this));o._indices=this._indices,o.getRawIndex=o._indices?Qf:Jf;for(var a=o._storage,r=[],s=this._chunkSize,l=t.length,u=this.count(),h=[],c=o._rawExtent,d=0;d<u;d++){for(var f=0;f<l;f++)h[f]=this.get(t[f],d);h[l]=d;var p=e&&e.apply(i,h);if(null!=p){\"object\"!=typeof p&&(r[0]=p,p=r);for(var g=this.getRawIndex(d),m=Math.floor(g/s),v=g%s,y=0;y<p.length;y++){var x=t[y],_=p[y],w=c[x],b=a[x];b&&(b[m][v]=_),_<w[0]&&(w[0]=_),_>w[1]&&(w[1]=_)}}}return o},jf.downSample=function(t,e,i,n){for(var o=ip(this,[t]),a=o._storage,r=[],s=Math.floor(1/e),l=a[t],u=this.count(),h=this._chunkSize,c=o._rawExtent[t],d=new(Hf(this))(u),f=0,p=0;p<u;p+=s){u-p<s&&(s=u-p,r.length=s);for(var g=0;g<s;g++){var m=this.getRawIndex(p+g),v=Math.floor(m/h),y=m%h;r[g]=l[v][y]}var x=i(r),_=this.getRawIndex(Math.min(p+n(r,x)||0,u-1)),w=_%h;(l[Math.floor(_/h)][w]=x)<c[0]&&(c[0]=x),x>c[1]&&(c[1]=x),d[f++]=_}return o._count=f,o._indices=d,o.getRawIndex=Qf,o},jf.getItemModel=function(t){var e=this.hostModel;return new Cl(this.getRawDataItem(t),e,e&&e.ecModel)},jf.diff=function(e){var i=this;return new kf(e?e.getIndices():[],this.getIndices(),function(t){return tp(e,t)},function(t){return tp(i,t)})},jf.getVisual=function(t){var e=this._visual;return e&&e[t]},jf.setVisual=function(t,e){if(zf(t))for(var i in t)t.hasOwnProperty(i)&&this.setVisual(i,t[i]);else this._visual=this._visual||{},this._visual[t]=e},jf.setLayout=function(t,e){if(zf(t))for(var i in t)t.hasOwnProperty(i)&&this.setLayout(i,t[i]);else this._layout[t]=e},jf.getLayout=function(t){return this._layout[t]},jf.getItemLayout=function(t){return this._itemLayouts[t]},jf.setItemLayout=function(t,e,i){this._itemLayouts[t]=i?P(this._itemLayouts[t]||{},e):e},jf.clearItemLayouts=function(){this._itemLayouts.length=0},jf.getItemVisual=function(t,e,i){var n=this._itemVisuals[t],o=n&&n[e];return null!=o||i?o:this.getVisual(e)},jf.setItemVisual=function(t,e,i){var n=this._itemVisuals[t]||{},o=this.hasItemVisual;if(this._itemVisuals[t]=n,zf(e))for(var a in e)e.hasOwnProperty(a)&&(n[a]=e[a],o[a]=!0);else n[e]=i,o[e]=!0},jf.clearAllVisual=function(){this._visual={},this._itemVisuals=[],this.hasItemVisual={}};function ap(t){t.seriesIndex=this.seriesIndex,t.dataIndex=this.dataIndex,t.dataType=this.dataType}function rp(t,e,i){Uu.isInstance(e)||(e=Uu.seriesDataToSource(e)),i=i||{},t=(t||[]).slice();for(var n=(i.dimsDef||[]).slice(),o=Q(),a=Q(),l=[],r=function(t,e,i,n){var o=Math.max(t.dimensionsDetectCount||1,e.length,i.length,n||0);return R(e,function(t){var e=t.dimsDef;e&&(o=Math.max(o,e.length))}),o}(e,t,n,i.dimCount),s=0;s<r;s++){var u=n[s]=P({},z(n[s])?n[s]:{name:n[s]}),h=u.name,c=l[s]=new Ef;null!=h&&null==o.get(h)&&(c.name=c.displayName=h,o.set(h,s)),null!=u.type&&(c.type=u.type),null!=u.displayName&&(c.displayName=u.displayName)}var d=i.encodeDef;!d&&i.encodeDefaulter&&(d=i.encodeDefaulter(e,r)),(d=Q(d)).each(function(t,i){if(1===(t=Vo(t).slice()).length&&!E(t[0])&&t[0]<0)d.set(i,!1);else{var n=d.set(i,[]);R(t,function(t,e){E(t)&&(t=o.get(t)),null!=t&&t<r&&(n[e]=t,p(l[t],i,e))})}});var f=0;function p(t,e,i){null!=Nf.get(e)?t.otherDims[e]=i:(t.coordDim=e,t.coordDimIndex=i,a.set(e,!0))}R(t,function(o,t){var a,r,s;if(E(o))a=o,o={};else{a=o.name;var e=o.ordinalMeta;o.ordinalMeta=null,(o=k(o)).ordinalMeta=e,r=o.dimsDef,s=o.otherDims,o.name=o.coordDim=o.coordDimIndex=o.dimsDef=o.otherDims=null}if(!1!==(i=d.get(a))){var i;if(!(i=Vo(i)).length)for(var n=0;n<(r&&r.length||1);n++){for(;f<l.length&&null!=l[f].coordDim;)f++;f<l.length&&i.push(f++)}R(i,function(t,e){var i=l[t];if(p(D(i,o),a,e),null==i.name&&r){var n=r[e];z(n)||(n={name:n}),i.name=i.displayName=n.name,i.defaultTooltip=n.defaultTooltip}s&&D(i.otherDims,s)})}});var g=i.generateCoord,m=i.generateCoordCount,v=null!=m;m=g?m||1:0;for(var y,x,_=g||\"value\",w=0;w<r;w++){null==(c=l[w]=l[w]||new Ef).coordDim&&(c.coordDim=sp(_,a,v),c.coordDimIndex=0,(!g||m<=0)&&(c.isExtraCoord=!0),m--),null==c.name&&(c.name=sp(c.coordDim,o)),null==c.type&&(y=e,x=w,c.name,th(y.data,y.sourceFormat,y.seriesLayoutBy,y.dimensionsDefine,y.startIndex,x)===Xu.Must||c.isExtraCoord&&(null!=c.otherDims.itemName||null!=c.otherDims.seriesName))&&(c.type=\"ordinal\")}return l}function sp(t,e,i){if(i||null!=e.get(t)){for(var n=0;null!=e.get(t+n);)n++;t+=n}return e.set(t,!0),t}jf.setItemGraphicEl=function(t,e){var i=this.hostModel;e&&(e.dataIndex=t,e.dataType=this.dataType,e.seriesIndex=i&&i.seriesIndex,\"group\"===e.type&&e.traverse(ap,e)),this._graphicEls[t]=e},jf.getItemGraphicEl=function(t){return this._graphicEls[t]},jf.eachItemGraphicEl=function(i,n){R(this._graphicEls,function(t,e){t&&i&&i.call(n,t,e)})},jf.cloneShallow=function(t){if(!t){var e=O(this.dimensions,this.getDimensionInfo,this);t=new Yf(e,this.hostModel)}if(t._storage=this._storage,Xf(t,this),this._indices){var i=this._indices.constructor;t._indices=new i(this._indices)}else t._indices=null;return t.getRawIndex=t._indices?Qf:Jf,t},jf.wrapMethod=function(t,e){var i=this[t];\"function\"==typeof i&&(this.__wrappedMethods=this.__wrappedMethods||[],this.__wrappedMethods.push(t),this[t]=function(){var t=i.apply(this,arguments);return e.apply(this,[t].concat(U(arguments)))})},jf.TRANSFERABLE_METHODS=[\"cloneShallow\",\"downSample\",\"map\"],jf.CHANGABLE_METHODS=[\"filterSelf\",\"selectRange\"];var lp=function(t,e){return rp((e=e||{}).coordDimensions||[],t,{dimsDef:e.dimensionsDefine||t.dimensionsDefine,encodeDef:e.encodeDefine||t.encodeDefine,dimCount:e.dimensionsCount,encodeDefaulter:e.encodeDefaulter,generateCoord:e.generateCoord,generateCoordCount:e.generateCoordCount})};function up(t){this.coordSysName=t,this.coordSysDims=[],this.axisMap=Q(),this.categoryAxisMap=Q(),this.firstCategoryDimIndex=null}var hp={cartesian2d:function(t,e,i,n){var o=t.getReferringComponents(\"xAxis\")[0],a=t.getReferringComponents(\"yAxis\")[0];e.coordSysDims=[\"x\",\"y\"],i.set(\"x\",o),i.set(\"y\",a),cp(o)&&(n.set(\"x\",o),e.firstCategoryDimIndex=0),cp(a)&&(n.set(\"y\",a),e.firstCategoryDimIndex,e.firstCategoryDimIndex=1)},singleAxis:function(t,e,i,n){var o=t.getReferringComponents(\"singleAxis\")[0];e.coordSysDims=[\"single\"],i.set(\"single\",o),cp(o)&&(n.set(\"single\",o),e.firstCategoryDimIndex=0)},polar:function(t,e,i,n){var o=t.getReferringComponents(\"polar\")[0],a=o.findAxisModel(\"radiusAxis\"),r=o.findAxisModel(\"angleAxis\");e.coordSysDims=[\"radius\",\"angle\"],i.set(\"radius\",a),i.set(\"angle\",r),cp(a)&&(n.set(\"radius\",a),e.firstCategoryDimIndex=0),cp(r)&&(n.set(\"angle\",r),null==e.firstCategoryDimIndex&&(e.firstCategoryDimIndex=1))},geo:function(t,e,i,n){e.coordSysDims=[\"lng\",\"lat\"]},parallel:function(t,o,a,r){var s=t.ecModel,e=s.getComponent(\"parallel\",t.get(\"parallelIndex\")),l=o.coordSysDims=e.dimensions.slice();R(e.parallelAxisIndex,function(t,e){var i=s.getComponent(\"parallelAxis\",t),n=l[e];a.set(n,i),cp(i)&&null==o.firstCategoryDimIndex&&(r.set(n,i),o.firstCategoryDimIndex=e)})}};function cp(t){return\"category\"===t.get(\"type\")}function dp(t,i,e){var n,o,a,r,s=(e=e||{}).byIndex,l=e.stackedCoordDimension,u=!(!t||!t.get(\"stack\"));if(R(i,function(t,e){E(t)&&(i[e]=t={name:t}),u&&!t.isExtraCoord&&(s||n||!t.ordinalMeta||(n=t),o||\"ordinal\"===t.type||\"time\"===t.type||l&&l!==t.coordDim||(o=t))}),!o||s||n||(s=!0),o){a=\"__\\0ecstackresult\",r=\"__\\0ecstackedover\",n&&(n.createInvertedIndices=!0);var h=o.coordDim,c=o.type,d=0;R(i,function(t){t.coordDim===h&&d++}),i.push({name:a,coordDim:h,coordDimIndex:d,type:c,isExtraCoord:!0,isCalculationCoord:!0}),d++,i.push({name:r,coordDim:r,coordDimIndex:d,type:c,isExtraCoord:!0,isCalculationCoord:!0})}return{stackedDimension:o&&o.name,stackedByDimension:n&&n.name,isStackedByIndex:s,stackedOverDimension:r,stackResultDimension:a}}function fp(t,e){return!!e&&e===t.getCalculationInfo(\"stackedDimension\")}function pp(t,e){return fp(t,e)?t.getCalculationInfo(\"stackResultDimension\"):e}function gp(t,e,i){i=i||{},Uu.isInstance(t)||(t=Uu.seriesDataToSource(t));var n,o=e.get(\"coordinateSystem\"),a=lh.get(o),r=function(t){var e=t.get(\"coordinateSystem\"),i=new up(e),n=hp[e];if(n)return n(t,i,i.axisMap,i.categoryAxisMap),i}(e);r&&(n=O(r.coordSysDims,function(t){var e={name:t},i=r.axisMap.get(t);if(i){var n=i.get(\"type\");e.type=Rf(n)}return e})),n=n||(a&&(a.getDimensionsInfo?a.getDimensionsInfo():a.dimensions.slice())||[\"x\",\"y\"]);var s,l,u=lp(t,{coordDimensions:n,generateCoord:i.generateCoord,encodeDefaulter:i.useEncodeDefaulter?T($u,n,e):null});r&&R(u,function(t,e){var i=t.coordDim,n=r.categoryAxisMap.get(i);n&&(null==s&&(s=e),t.ordinalMeta=n.getOrdinalMeta()),null!=t.otherDims.itemName&&(l=!0)}),l||null==s||(u[s].otherDims.itemName=0);var h=dp(e,u),c=new Yf(u,e);c.setCalculationInfo(h);var d=null!=s&&function(t){if(t.sourceFormat===zu){var e=function(t){var e=0;for(;e<t.length&&null==t[e];)e++;return t[e]}(t.data||[]);return null!=e&&!L(Wo(e))}}(t)?function(t,e,i,n){return n===s?i:this.defaultDimValueGetter(t,e,i,n)}:null;return c.hasItemOption=!1,c.initData(t,null,d),c}function mp(t){this._setting=t||{},this._extent=[1/0,-1/0],this._interval=0,this.init&&this.init.apply(this,arguments)}function vp(t){this.categories=t.categories||[],this._needCollect=t.needCollect,this._deduplication=t.deduplication,this._map}mp.prototype.parse=function(t){return t},mp.prototype.getSetting=function(t){return this._setting[t]},mp.prototype.contain=function(t){var e=this._extent;return t>=e[0]&&t<=e[1]},mp.prototype.normalize=function(t){var e=this._extent;return e[1]===e[0]?.5:(t-e[0])/(e[1]-e[0])},mp.prototype.scale=function(t){var e=this._extent;return t*(e[1]-e[0])+e[0]},mp.prototype.unionExtent=function(t){var e=this._extent;t[0]<e[0]&&(e[0]=t[0]),t[1]>e[1]&&(e[1]=t[1])},mp.prototype.unionExtentFromData=function(t,e){this.unionExtent(t.getApproximateExtent(e))},mp.prototype.getExtent=function(){return this._extent.slice()},mp.prototype.setExtent=function(t,e){var i=this._extent;isNaN(t)||(i[0]=t),isNaN(e)||(i[1]=e)},mp.prototype.isBlank=function(){return this._isBlank},mp.prototype.setBlank=function(t){this._isBlank=t},mp.prototype.getLabel=null,oa(mp),ua(mp,{registerWhenExtend:!0}),vp.createByAxisModel=function(t){var e=t.option,i=e.data,n=i&&O(i,_p);return new vp({categories:n,needCollect:!n,deduplication:!1!==e.dedplication})};var yp=vp.prototype;function xp(t){return t._map||(t._map=Q(t.categories))}function _p(t){return z(t)&&null!=t.value?t.value:t+\"\"}yp.getOrdinal=function(t){return xp(this).get(t)},yp.parseAndCollect=function(t){var e,i=this._needCollect;if(\"string\"!=typeof t&&!i)return t;if(i&&!this._deduplication)return e=this.categories.length,this.categories[e]=t,e;var n=xp(this);return null==(e=n.get(t))&&(i?(e=this.categories.length,this.categories[e]=t,n.set(t,e)):e=NaN),e};var wp=mp.prototype,bp=mp.extend({type:\"ordinal\",init:function(t,e){t&&!L(t)||(t=new vp({categories:t})),this._ordinalMeta=t,this._extent=e||[0,t.categories.length-1]},parse:function(t){return\"string\"==typeof t?this._ordinalMeta.getOrdinal(t):Math.round(t)},contain:function(t){return t=this.parse(t),wp.contain.call(this,t)&&null!=this._ordinalMeta.categories[t]},normalize:function(t){return wp.normalize.call(this,this.parse(t))},scale:function(t){return Math.round(wp.scale.call(this,t))},getTicks:function(){for(var t=[],e=this._extent,i=e[0];i<=e[1];)t.push(i),i++;return t},getLabel:function(t){if(!this.isBlank())return this._ordinalMeta.categories[t]},count:function(){return this._extent[1]-this._extent[0]+1},unionExtentFromData:function(t,e){this.unionExtent(t.getApproximateExtent(e))},getOrdinalMeta:function(){return this._ordinalMeta},niceTicks:et,niceExtent:et});bp.create=function(){return new bp};var Sp=zl;function Mp(t){return Gl(t)+2}function Ip(t,e,i){t[e]=Math.max(Math.min(t[e],i[1]),i[0])}function Tp(t,e){isFinite(t[0])||(t[0]=e[0]),isFinite(t[1])||(t[1]=e[1]),Ip(t,0,e),Ip(t,1,e),t[0]>t[1]&&(t[0]=t[1])}var Ap=zl,Dp=mp.extend({type:\"interval\",_interval:0,_intervalPrecision:2,setExtent:function(t,e){var i=this._extent;isNaN(t)||(i[0]=parseFloat(t)),isNaN(e)||(i[1]=parseFloat(e))},unionExtent:function(t){var e=this._extent;t[0]<e[0]&&(e[0]=t[0]),t[1]>e[1]&&(e[1]=t[1]),Dp.prototype.setExtent.call(this,e[0],e[1])},getInterval:function(){return this._interval},setInterval:function(t){this._interval=t,this._niceExtent=this._extent.slice(),this._intervalPrecision=Mp(t)},getTicks:function(t){var e=this._interval,i=this._extent,n=this._niceExtent,o=this._intervalPrecision,a=[];if(!e)return a;i[0]<n[0]&&(t?a.push(Ap(n[0]-e,o)):a.push(i[0]));for(var r=n[0];r<=n[1]&&(a.push(r),(r=Ap(r+e,o))!==a[a.length-1]);)if(1e4<a.length)return[];var s=a.length?a[a.length-1]:n[1];return i[1]>s&&(t?a.push(Ap(s+e,o)):a.push(i[1])),a},getMinorTicks:function(t){for(var e=this.getTicks(!0),i=[],n=this.getExtent(),o=1;o<e.length;o++){for(var a=e[o],r=e[o-1],s=0,l=[],u=(a-r)/t;s<t-1;){var h=zl(r+(s+1)*u);h>n[0]&&h<n[1]&&l.push(h),s++}i.push(l)}return i},getLabel:function(t,e){if(null==t)return\"\";var i=e&&e.precision;return null==i?i=Gl(t)||0:\"auto\"===i&&(i=this._intervalPrecision),tu(t=Ap(t,i,!0))},niceTicks:function(t,e,i){t=t||5;var n=this._extent,o=n[1]-n[0];if(isFinite(o)){o<0&&(o=-o,n.reverse());var a=function(t,e,i,n){var o={},a=t[1]-t[0],r=o.interval=Kl(a/e,!0);null!=i&&r<i&&(r=o.interval=i),null!=n&&n<r&&(r=o.interval=n);var s=o.intervalPrecision=Mp(r);return Tp(o.niceTickExtent=[Sp(Math.ceil(t[0]/r)*r,s),Sp(Math.floor(t[1]/r)*r,s)],t),o}(n,t,e,i);this._intervalPrecision=a.intervalPrecision,this._interval=a.interval,this._niceExtent=a.niceTickExtent}},niceExtent:function(t){var e=this._extent;if(e[0]===e[1])if(0!==e[0]){var i=e[0];t.fixMax||(e[1]+=i/2),e[0]-=i/2}else e[1]=1;var n=e[1]-e[0];isFinite(n)||(e[0]=0,e[1]=1),this.niceTicks(t.splitNumber,t.minInterval,t.maxInterval);var o=this._interval;t.fixMin||(e[0]=Ap(Math.floor(e[0]/o)*o)),t.fixMax||(e[1]=Ap(Math.ceil(e[1]/o)*o))}});Dp.create=function(){return new Dp};var Cp=\"__ec_stack_\",Lp=\"undefined\"!=typeof Float32Array?Float32Array:Array;function kp(t){return t.get(\"stack\")||Cp+t.seriesIndex}function Pp(t){return t.dim+t.index}function Np(t,e){var i=[];return e.eachSeriesByType(t,function(t){Vp(t)&&!Gp(t)&&i.push(t)}),i}function Op(t){var g=function(t){var l={};R(t,function(t){var e=t.coordinateSystem.getBaseAxis();if(\"time\"===e.type||\"value\"===e.type)for(var i=t.getData(),n=e.dim+\"_\"+e.index,o=i.mapDimension(e.dim),a=0,r=i.count();a<r;++a){var s=i.get(o,a);l[n]?l[n].push(s):l[n]=[s]}});var e=[];for(var i in l)if(l.hasOwnProperty(i)){var n=l[i];if(n){n.sort(function(t,e){return t-e});for(var o=null,a=1;a<n.length;++a){var r=n[a]-n[a-1];0<r&&(o=null===o?r:Math.min(o,r))}e[i]=o}}return e}(t),m=[];return R(t,function(t){var e,i=t.coordinateSystem.getBaseAxis(),n=i.getExtent();if(\"category\"===i.type)e=i.getBandWidth();else if(\"value\"===i.type||\"time\"===i.type){var o=i.dim+\"_\"+i.index,a=g[o],r=Math.abs(n[1]-n[0]),s=i.scale.getExtent(),l=Math.abs(s[1]-s[0]);e=a?r/l*a:r}else{var u=t.getData();e=Math.abs(n[1]-n[0])/u.count()}var h=El(t.get(\"barWidth\"),e),c=El(t.get(\"barMaxWidth\"),e),d=El(t.get(\"barMinWidth\")||1,e),f=t.get(\"barGap\"),p=t.get(\"barCategoryGap\");m.push({bandWidth:e,barWidth:h,barMaxWidth:c,barMinWidth:d,barGap:f,barCategoryGap:p,axisKey:Pp(i),stackId:kp(t)})}),Rp(m)}function Rp(t){var d={};R(t,function(t,e){var i=t.axisKey,n=t.bandWidth,o=d[i]||{bandWidth:n,remainedWidth:n,autoWidthCount:0,categoryGap:\"20%\",gap:\"30%\",stacks:{}},a=o.stacks;d[i]=o;var r=t.stackId;a[r]||o.autoWidthCount++,a[r]=a[r]||{width:0,maxWidth:0};var s=t.barWidth;s&&!a[r].width&&(a[r].width=s,s=Math.min(o.remainedWidth,s),o.remainedWidth-=s);var l=t.barMaxWidth;l&&(a[r].maxWidth=l);var u=t.barMinWidth;u&&(a[r].minWidth=u);var h=t.barGap;null!=h&&(o.gap=h);var c=t.barCategoryGap;null!=c&&(o.categoryGap=c)});var f={};return R(d,function(t,i){f[i]={};var e=t.stacks,n=t.bandWidth,o=El(t.categoryGap,n),a=El(t.gap,1),r=t.remainedWidth,s=t.autoWidthCount,l=(r-o)/(s+(s-1)*a);l=Math.max(l,0),R(e,function(t){var e=t.maxWidth,i=t.minWidth;if(t.width){n=t.width;e&&(n=Math.min(n,e)),i&&(n=Math.max(n,i)),t.width=n,r-=n+a*n,s--}else{var n=l;e&&e<n&&(n=Math.min(e,r)),i&&n<i&&(n=i),n!==l&&(t.width=n,r-=n+a*n,s--)}}),l=(r-o)/(s+(s-1)*a),l=Math.max(l,0);var u,h=0;R(e,function(t,e){t.width||(t.width=l),h+=(u=t).width*(1+a)}),u&&(h-=u.width*a);var c=-h/2;R(e,function(t,e){f[i][e]=f[i][e]||{bandWidth:n,offset:c,width:t.width},c+=t.width*(1+a)})}),f}function Ep(t,e,i){if(t&&e){var n=t[Pp(e)];return null!=n&&null!=i&&(n=n[kp(i)]),n}}function zp(t,e){var i=Np(t,e),T=Op(i),A={};R(i,function(t){var e=t.getData(),i=t.coordinateSystem,n=i.getBaseAxis(),o=kp(t),a=T[Pp(n)][o],r=a.offset,s=a.width,l=i.getOtherAxis(n),u=t.get(\"barMinHeight\")||0;A[o]=A[o]||[],e.setLayout({bandWidth:a.bandWidth,offset:r,size:s});for(var h=e.mapDimension(l.dim),c=e.mapDimension(n.dim),d=fp(e,h),f=l.isHorizontal(),p=Fp(n,l,d),g=0,m=e.count();g<m;g++){var v,y,x,_,w,b=e.get(h,g),S=e.get(c,g),M=0<=b?\"p\":\"n\",I=p;if(d&&(A[o][S]||(A[o][S]={p:p,n:p}),I=A[o][S][M]),f)v=I,y=(w=i.dataToPoint([b,S]))[1]+r,x=w[0]-p,_=s,Math.abs(x)<u&&(x=(x<0?-1:1)*u),isNaN(x)||d&&(A[o][S][M]+=x);else v=(w=i.dataToPoint([S,b]))[0]+r,y=I,x=s,_=w[1]-p,Math.abs(_)<u&&(_=(_<=0?-1:1)*u),isNaN(_)||d&&(A[o][S][M]+=_);e.setItemLayout(g,{x:v,y:y,width:x,height:_})}},this)}var Bp={seriesType:\"bar\",plan:vc(),reset:function(t){if(Vp(t)&&Gp(t)){var e=t.getData(),c=t.coordinateSystem,d=c.grid.getRect(),f=c.getBaseAxis(),p=c.getOtherAxis(f),g=e.mapDimension(p.dim),m=e.mapDimension(f.dim),v=p.isHorizontal(),y=v?0:1,x=Ep(Op([t]),f,t).width;return.5<x||(x=.5),{progress:function(t,e){var i,n=t.count,o=new Lp(2*n),a=new Lp(2*n),r=new Lp(n),s=[],l=[],u=0,h=0;for(;null!=(i=t.next());)l[y]=e.get(g,i),l[1-y]=e.get(m,i),s=c.dataToPoint(l,null,s),a[u]=v?d.x+d.width:s[0],o[u++]=s[0],a[u]=v?s[1]:d.y+d.height,o[u++]=s[1],r[h++]=i;e.setLayout({largePoints:o,largeDataIndices:r,largeBackgroundPoints:a,barWidth:x,valueAxisStart:Fp(f,p,!1),backgroundStart:v?d.x:d.y,valueAxisHorizontal:v})}}}}};function Vp(t){return t.coordinateSystem&&\"cartesian2d\"===t.coordinateSystem.type}function Gp(t){return t.pipelineContext&&t.pipelineContext.large}function Fp(t,e){return e.toGlobalCoord(e.dataToCoord(\"log\"===e.type?1:0))}var Wp=Dp.prototype,Hp=Math.ceil,Zp=Math.floor,Up=36e5,Xp=864e5,Yp=Dp.extend({type:\"time\",getLabel:function(t){var e=this._stepLvl,i=new Date(t);return du(e[0],i,this.getSetting(\"useUTC\"))},niceExtent:function(t){var e=this._extent;if(e[0]===e[1]&&(e[0]-=Xp,e[1]+=Xp),e[1]===-1/0&&e[0]===1/0){var i=new Date;e[1]=+new Date(i.getFullYear(),i.getMonth(),i.getDate()),e[0]=e[1]-Xp}this.niceTicks(t.splitNumber,t.minInterval,t.maxInterval);var n=this._interval;t.fixMin||(e[0]=zl(Zp(e[0]/n)*n)),t.fixMax||(e[1]=zl(Hp(e[1]/n)*n))},niceTicks:function(t,e,i){t=t||10;var n=this._extent,o=n[1]-n[0],a=o/t;null!=e&&a<e&&(a=e),null!=i&&i<a&&(a=i);var r=jp.length,s=function(t,e,i,n){for(;i<n;){var o=i+n>>>1;t[o][1]<e?i=1+o:n=o}return i}(jp,a,0,r),l=jp[Math.min(s,r-1)],u=l[1];\"year\"===l[0]&&(u*=Kl(o/u/t,!0));var h=this.getSetting(\"useUTC\")?0:60*new Date(+n[0]||+n[1]).getTimezoneOffset()*1e3,c=[Math.round(Hp((n[0]-h)/u)*u+h),Math.round(Zp((n[1]-h)/u)*u+h)];Tp(c,n),this._stepLvl=l,this._interval=u,this._niceExtent=c},parse:function(t){return+Yl(t)}});R([\"contain\",\"normalize\"],function(e){Yp.prototype[e]=function(t){return Wp[e].call(this,this.parse(t))}});var jp=[[\"hh:mm:ss\",1e3],[\"hh:mm:ss\",5e3],[\"hh:mm:ss\",1e4],[\"hh:mm:ss\",15e3],[\"hh:mm:ss\",3e4],[\"hh:mm\\nMM-dd\",6e4],[\"hh:mm\\nMM-dd\",3e5],[\"hh:mm\\nMM-dd\",6e5],[\"hh:mm\\nMM-dd\",9e5],[\"hh:mm\\nMM-dd\",18e5],[\"hh:mm\\nMM-dd\",Up],[\"hh:mm\\nMM-dd\",72e5],[\"hh:mm\\nMM-dd\",6*Up],[\"hh:mm\\nMM-dd\",432e5],[\"MM-dd\\nyyyy\",Xp],[\"MM-dd\\nyyyy\",2*Xp],[\"MM-dd\\nyyyy\",3*Xp],[\"MM-dd\\nyyyy\",4*Xp],[\"MM-dd\\nyyyy\",5*Xp],[\"MM-dd\\nyyyy\",6*Xp],[\"week\",7*Xp],[\"MM-dd\\nyyyy\",864e6],[\"week\",14*Xp],[\"week\",21*Xp],[\"month\",31*Xp],[\"week\",42*Xp],[\"month\",62*Xp],[\"week\",70*Xp],[\"quarter\",95*Xp],[\"month\",31*Xp*4],[\"month\",13392e6],[\"half-year\",16416e6],[\"month\",31*Xp*8],[\"month\",26784e6],[\"year\",380*Xp]];Yp.create=function(t){return new Yp({useUTC:t.ecModel.get(\"useUTC\")})};var qp=mp.prototype,Kp=Dp.prototype,$p=Gl,Jp=zl,Qp=Math.floor,tg=Math.ceil,eg=Math.pow,ig=Math.log,ng=mp.extend({type:\"log\",base:10,$constructor:function(){mp.apply(this,arguments),this._originalScale=new Dp},getTicks:function(t){var i=this._originalScale,n=this._extent,o=i.getExtent();return O(Kp.getTicks.call(this,t),function(t){var e=zl(eg(this.base,t));return e=t===n[0]&&i.__fixMin?og(e,o[0]):e,e=t===n[1]&&i.__fixMax?og(e,o[1]):e},this)},getMinorTicks:Kp.getMinorTicks,getLabel:Kp.getLabel,scale:function(t){return t=qp.scale.call(this,t),eg(this.base,t)},setExtent:function(t,e){var i=this.base;t=ig(t)/ig(i),e=ig(e)/ig(i),Kp.setExtent.call(this,t,e)},getExtent:function(){var t=this.base,e=qp.getExtent.call(this);e[0]=eg(t,e[0]),e[1]=eg(t,e[1]);var i=this._originalScale,n=i.getExtent();return i.__fixMin&&(e[0]=og(e[0],n[0])),i.__fixMax&&(e[1]=og(e[1],n[1])),e},unionExtent:function(t){this._originalScale.unionExtent(t);var e=this.base;t[0]=ig(t[0])/ig(e),t[1]=ig(t[1])/ig(e),qp.unionExtent.call(this,t)},unionExtentFromData:function(t,e){this.unionExtent(t.getApproximateExtent(e))},niceTicks:function(t){t=t||10;var e=this._extent,i=e[1]-e[0];if(!(i==1/0||i<=0)){var n=jl(i);for(t/i*n<=.5&&(n*=10);!isNaN(n)&&Math.abs(n)<1&&0<Math.abs(n);)n*=10;var o=[zl(tg(e[0]/n)*n),zl(Qp(e[1]/n)*n)];this._interval=n,this._niceExtent=o}},niceExtent:function(t){Kp.niceExtent.call(this,t);var e=this._originalScale;e.__fixMin=t.fixMin,e.__fixMax=t.fixMax}});function og(t,e){return Jp(t,$p(e))}function ag(t,e){var i,n,o,a=t.type,r=e.getMin(),s=e.getMax(),l=t.getExtent();\"ordinal\"===a?i=e.getCategories().length:(L(n=e.get(\"boundaryGap\"))||(n=[n||0,n||0]),\"boolean\"==typeof n[0]&&(n=[0,0]),n[0]=El(n[0],1),n[1]=El(n[1],1),o=l[1]-l[0]||Math.abs(l[0])),\"dataMin\"===r?r=l[0]:\"function\"==typeof r&&(r=r({min:l[0],max:l[1]})),\"dataMax\"===s?s=l[1]:\"function\"==typeof s&&(s=s({min:l[0],max:l[1]}));var u=null!=r,h=null!=s;null==r&&(r=\"ordinal\"===a?i?0:NaN:l[0]-n[0]*o),null==s&&(s=\"ordinal\"===a?i?i-1:NaN:l[1]+n[1]*o),null!=r&&isFinite(r)||(r=NaN),null!=s&&isFinite(s)||(s=NaN),t.setBlank(F(r)||F(s)||\"ordinal\"===a&&!t.getOrdinalMeta().categories.length),e.getNeedCrossZero()&&(0<r&&0<s&&!u&&(r=0),r<0&&s<0&&!h&&(s=0));var c=e.ecModel;if(c&&\"time\"===a){var d,f=Np(\"bar\",c);if(R(f,function(t){d|=t.getBaseAxis()===e.axis}),d){var p=Op(f),g=function(t,e,i,n){var o=i.axis.getExtent(),a=o[1]-o[0],r=Ep(n,i.axis);if(void 0===r)return{min:t,max:e};var s=1/0;R(r,function(t){s=Math.min(t.offset,s)});var l=-1/0;R(r,function(t){l=Math.max(t.offset+t.width,l)}),s=Math.abs(s),l=Math.abs(l);var u=s+l,h=e-t,c=h/(1-(s+l)/a)-h;return{min:t-=s/u*c,max:e+=l/u*c}}(r,s,e,p);r=g.min,s=g.max}}return{extent:[r,s],fixMin:u,fixMax:h}}function rg(t,e){var i=ag(t,e),n=i.extent,o=e.get(\"splitNumber\");\"log\"===t.type&&(t.base=e.get(\"logBase\"));var a=t.type;t.setExtent(n[0],n[1]),t.niceExtent({splitNumber:o,fixMin:i.fixMin,fixMax:i.fixMax,minInterval:\"interval\"===a||\"time\"===a?e.get(\"minInterval\"):null,maxInterval:\"interval\"===a||\"time\"===a?e.get(\"maxInterval\"):null});var r=e.get(\"interval\");null!=r&&t.setInterval&&t.setInterval(r)}function sg(t,e){if(e=e||t.get(\"type\"))switch(e){case\"category\":return new bp(t.getOrdinalMeta?t.getOrdinalMeta():t.getCategories(),[1/0,-1/0]);case\"value\":return new Dp;default:return(mp.getClass(e)||Dp).create(t)}}function lg(i){var e,n=i.getLabelModel().get(\"formatter\"),o=\"category\"===i.type?i.scale.getExtent()[0]:null;return\"string\"==typeof n?(e=n,n=function(t){return t=i.scale.getLabel(t),e.replace(\"{value}\",null!=t?t:\"\")}):\"function\"==typeof n?function(t,e){return null!=o&&(e=t-o),n(ug(i,t),e)}:function(t){return i.scale.getLabel(t)}}function ug(t,e){return\"category\"===t.type?t.scale.getLabel(e):e}function hg(t){var e=t.get(\"interval\");return null==e?\"auto\":e}function cg(t){return\"category\"===t.type&&0===hg(t.getLabelModel())}R([\"contain\",\"normalize\"],function(e){ng.prototype[e]=function(t){return t=ig(t)/ig(this.base),qp[e].call(this,t)}}),ng.create=function(){return new ng};var dg={getMin:function(t){var e=this.option,i=t||null==e.rangeStart?e.min:e.rangeStart;return this.axis&&null!=i&&\"dataMin\"!==i&&\"function\"!=typeof i&&!F(i)&&(i=this.axis.scale.parse(i)),i},getMax:function(t){var e=this.option,i=t||null==e.rangeEnd?e.max:e.rangeEnd;return this.axis&&null!=i&&\"dataMax\"!==i&&\"function\"!=typeof i&&!F(i)&&(i=this.axis.scale.parse(i)),i},getNeedCrossZero:function(){var t=this.option;return null==t.rangeStart&&null==t.rangeEnd&&!t.scale},getCoordSysModel:et,setRange:function(t,e){this.option.rangeStart=t,this.option.rangeEnd=e},resetRange:function(){this.option.rangeStart=this.option.rangeEnd=null}},fg=Cs({type:\"triangle\",shape:{cx:0,cy:0,width:0,height:0},buildPath:function(t,e){var i=e.cx,n=e.cy,o=e.width/2,a=e.height/2;t.moveTo(i,n-a),t.lineTo(i+o,n+a),t.lineTo(i-o,n+a),t.closePath()}}),pg=Cs({type:\"diamond\",shape:{cx:0,cy:0,width:0,height:0},buildPath:function(t,e){var i=e.cx,n=e.cy,o=e.width/2,a=e.height/2;t.moveTo(i,n-a),t.lineTo(i+o,n),t.lineTo(i,n+a),t.lineTo(i-o,n),t.closePath()}}),gg=Cs({type:\"pin\",shape:{x:0,y:0,width:0,height:0},buildPath:function(t,e){var i=e.x,n=e.y,o=e.width/5*3,a=Math.max(o,e.height),r=o/2,s=r*r/(a-r),l=n-a+r+s,u=Math.asin(s/r),h=Math.cos(u)*r,c=Math.sin(u),d=Math.cos(u),f=.6*r,p=.7*r;t.moveTo(i-h,l+s),t.arc(i,l,r,Math.PI-u,2*Math.PI+u),t.bezierCurveTo(i+h-c*f,l+s+d*f,i,n-p,i,n),t.bezierCurveTo(i,n-p,i-h+c*f,l+s+d*f,i-h,l+s),t.closePath()}}),mg=Cs({type:\"arrow\",shape:{x:0,y:0,width:0,height:0},buildPath:function(t,e){var i=e.height,n=e.width,o=e.x,a=e.y,r=n/3*2;t.moveTo(o,a),t.lineTo(o+r,a+i),t.lineTo(o,a+i/4*3),t.lineTo(o-r,a+i),t.lineTo(o,a),t.closePath()}}),vg={line:function(t,e,i,n,o){o.x1=t,o.y1=e+n/2,o.x2=t+i,o.y2=e+n/2},rect:function(t,e,i,n,o){o.x=t,o.y=e,o.width=i,o.height=n},roundRect:function(t,e,i,n,o){o.x=t,o.y=e,o.width=i,o.height=n,o.r=Math.min(i,n)/4},square:function(t,e,i,n,o){var a=Math.min(i,n);o.x=t,o.y=e,o.width=a,o.height=a},circle:function(t,e,i,n,o){o.cx=t+i/2,o.cy=e+n/2,o.r=Math.min(i,n)/2},diamond:function(t,e,i,n,o){o.cx=t+i/2,o.cy=e+n/2,o.width=i,o.height=n},pin:function(t,e,i,n,o){o.x=t+i/2,o.y=e+n/2,o.width=i,o.height=n},arrow:function(t,e,i,n,o){o.x=t+i/2,o.y=e+n/2,o.width=i,o.height=n},triangle:function(t,e,i,n,o){o.cx=t+i/2,o.cy=e+n/2,o.width=i,o.height=n}},yg={};R({line:ls,rect:rs,roundRect:rs,square:rs,circle:Yr,diamond:pg,pin:gg,arrow:mg,triangle:fg},function(t,e){yg[e]=new t});var xg=Cs({type:\"symbol\",shape:{symbolType:\"\",x:0,y:0,width:0,height:0},calculateTextPosition:function(t,e,i){var n=yn(t,e,i),o=this.shape;return o&&\"pin\"===o.symbolType&&\"inside\"===e.textPosition&&(n.y=i.y+.4*i.height),n},buildPath:function(t,e,i){var n=e.symbolType;if(\"none\"!==n){var o=yg[n];o=o||yg[n=\"rect\"],vg[n](e.x,e.y,e.width,e.height,o.shape),o.buildPath(t,o.shape,i)}}});function _g(t,e){if(\"image\"!==this.type){var i=this.style,n=this.shape;n&&\"line\"===n.symbolType?i.stroke=t:this.__isEmptyBrush?(i.stroke=t,i.fill=e||\"#fff\"):(i.fill&&(i.fill=t),i.stroke&&(i.stroke=t)),this.dirty(!1)}}function wg(t,e,i,n,o,a,r){var s,l=0===t.indexOf(\"empty\");return l&&(t=t.substr(5,1).toLowerCase()+t.substr(6)),(s=0===t.indexOf(\"image://\")?Ns(t.slice(8),new Di(e,i,n,o),r?\"center\":\"cover\"):0===t.indexOf(\"path://\")?Ps(t.slice(7),{},new Di(e,i,n,o),r?\"center\":\"cover\"):new xg({shape:{symbolType:t,x:e,y:i,width:n,height:o}})).__isEmptyBrush=l,s.setColor=_g,s.setColor(a),s}var bg={isDimensionStacked:fp,enableDataStack:dp,getStackedDimension:pp};var Sg=(Object.freeze||Object)({createList:function(t){return gp(t.getSource(),t)},getLayoutRect:bu,dataStack:bg,createScale:function(t,e){var i=e;Cl.isInstance(e)||b(i=new Cl(e),dg);var n=sg(i);return n.setExtent(t[0],t[1]),rg(n,i),n},mixinAxisModelCommonMethods:function(t){b(t,dg)},completeDimensions:rp,createDimensions:lp,createSymbol:wg}),Mg=1e-8;function Ig(t,e){return Math.abs(t-e)<Mg}function Tg(t,e,i){var n=0,o=t[0];if(!o)return!1;for(var a=1;a<t.length;a++){var r=t[a];n+=pr(o[0],o[1],r[0],r[1],e,i),o=r}var s=t[0];return Ig(o[0],s[0])&&Ig(o[1],s[1])||(n+=pr(o[0],o[1],s[0],s[1],e,i)),0!==n}function Ag(t,e,i){if(this.name=t,this.geometries=e,i)i=[i[0],i[1]];else{var n=this.getBoundingRect();i=[n.x+n.width/2,n.y+n.height/2]}this.center=i}function Dg(t,e,i){for(var n=[],o=e[0],a=e[1],r=0;r<t.length;r+=2){var s=t.charCodeAt(r)-64,l=t.charCodeAt(r+1)-64;s=s>>1^-(1&s),l=l>>1^-(1&l),o=s+=o,a=l+=a,n.push([s/i,l/i])}return n}Ag.prototype={constructor:Ag,properties:null,getBoundingRect:function(){var t=this._rect;if(t)return t;for(var e=Number.MAX_VALUE,i=[e,e],n=[-e,-e],o=[],a=[],r=this.geometries,s=0;s<r.length;s++){if(\"polygon\"===r[s].type)Wa(r[s].exterior,o,a),St(i,i,o),Mt(n,n,a)}return 0===s&&(i[0]=i[1]=n[0]=n[1]=0),this._rect=new Di(i[0],i[1],n[0]-i[0],n[1]-i[1])},contain:function(t){var e=this.getBoundingRect(),i=this.geometries;if(!e.contain(t[0],t[1]))return!1;t:for(var n=0,o=i.length;n<o;n++)if(\"polygon\"===i[n].type){var a=i[n].exterior,r=i[n].interiors;if(Tg(a,t[0],t[1])){for(var s=0;s<(r?r.length:0);s++)if(Tg(r[s]))continue t;return!0}}return!1},transformTo:function(t,e,i,n){var o=this.getBoundingRect(),a=o.width/o.height;i?n=n||i/a:i=a*n;for(var r=new Di(t,e,i,n),s=o.calculateTransform(r),l=this.geometries,u=0;u<l.length;u++)if(\"polygon\"===l[u].type){for(var h=l[u].exterior,c=l[u].interiors,d=0;d<h.length;d++)bt(h[d],h[d],s);for(var f=0;f<(c?c.length:0);f++)for(d=0;d<c[f].length;d++)bt(c[f][d],c[f][d],s)}(o=this._rect).copy(r),this.center=[o.x+o.width/2,o.y+o.height/2]},cloneShallow:function(t){null==t&&(t=this.name);var e=new Ag(t,this.geometries,this.center);return e._rect=this._rect,e.transformTo=null,e}};function Cg(t,r){return function(t){if(!t.UTF8Encoding)return;var e=t.UTF8Scale;null==e&&(e=1024);for(var i=t.features,n=0;n<i.length;n++)for(var o=i[n].geometry,a=o.coordinates,r=o.encodeOffsets,s=0;s<a.length;s++){var l=a[s];if(\"Polygon\"===o.type)a[s]=Dg(l,r[s],e);else if(\"MultiPolygon\"===o.type)for(var u=0;u<l.length;u++){var h=l[u];l[u]=Dg(h,r[s][u],e)}}t.UTF8Encoding=!1}(t),O(M(t.features,function(t){return t.geometry&&t.properties&&0<t.geometry.coordinates.length}),function(t){var e=t.properties,i=t.geometry,n=i.coordinates,o=[];\"Polygon\"===i.type&&o.push({type:\"polygon\",exterior:n[0],interiors:n.slice(1)}),\"MultiPolygon\"===i.type&&R(n,function(t){t[0]&&o.push({type:\"polygon\",exterior:t[0],interiors:t.slice(1)})});var a=new Ag(e[r||\"name\"],o,e.cp);return a.properties=e,a})}var Lg=jo();function kg(t){return\"category\"===t.type?function(t){var e=t.getLabelModel(),i=Ng(t,e);return!e.get(\"show\")||t.scale.isBlank()?{labels:[],labelCategoryInterval:i.labelCategoryInterval}:i}(t):function(i){var t=i.scale.getTicks(),n=lg(i);return{labels:O(t,function(t,e){return{formattedLabel:n(t,e),rawLabel:i.scale.getLabel(t),tickValue:t}})}}(t)}function Pg(t,e){return\"category\"===t.type?function(t,e){var i,n,o=Og(t,\"ticks\"),a=hg(e),r=Rg(o,a);if(r)return r;e.get(\"show\")&&!t.scale.isBlank()||(i=[]);if(C(a))i=Bg(t,a,!0);else if(\"auto\"===a){var s=Ng(t,t.getLabelModel());n=s.labelCategoryInterval,i=O(s.labels,function(t){return t.tickValue})}else i=zg(t,n=a,!0);return Eg(o,a,{ticks:i,tickCategoryInterval:n})}(t,e):{ticks:t.scale.getTicks()}}function Ng(t,e){var i,n=Og(t,\"labels\"),o=hg(e),a=Rg(n,o);return a||Eg(n,o,{labels:C(o)?Bg(t,o):zg(t,i=\"auto\"===o?function(t){var e=Lg(t).autoInterval;return null!=e?e:Lg(t).autoInterval=t.calculateCategoryInterval()}(t):o),labelCategoryInterval:i})}function Og(t,e){return Lg(t)[e]||(Lg(t)[e]=[])}function Rg(t,e){for(var i=0;i<t.length;i++)if(t[i].key===e)return t[i].value}function Eg(t,e,i){return t.push({key:e,value:i}),i}function zg(t,e,i){var n=lg(t),o=t.scale,a=o.getExtent(),r=t.getLabelModel(),s=[],l=Math.max((e||0)+1,1),u=a[0],h=o.count();0!==u&&1<l&&2<h/l&&(u=Math.round(Math.ceil(u/l)*l));var c=cg(t),d=r.get(\"showMinLabel\")||c,f=r.get(\"showMaxLabel\")||c;d&&u!==a[0]&&g(a[0]);for(var p=u;p<=a[1];p+=l)g(p);function g(t){s.push(i?t:{formattedLabel:n(t),rawLabel:o.getLabel(t),tickValue:t})}return f&&p-l!==a[1]&&g(a[1]),s}function Bg(t,i,n){var o=t.scale,a=lg(t),r=[];return R(o.getTicks(),function(t){var e=o.getLabel(t);i(t,e)&&r.push(n?t:{formattedLabel:a(t),rawLabel:e,tickValue:t})}),r}var Vg=[0,1],Gg=function(t,e,i){this.dim=t,this.scale=e,this._extent=i||[0,0],this.inverse=!1,this.onBand=!1};function Fg(t,e){var i=(t[1]-t[0])/e/2;t[0]+=i,t[1]-=i}Gg.prototype={constructor:Gg,contain:function(t){var e=this._extent,i=Math.min(e[0],e[1]),n=Math.max(e[0],e[1]);return i<=t&&t<=n},containData:function(t){return this.scale.contain(t)},getExtent:function(){return this._extent.slice()},getPixelPrecision:function(t){return Fl(t||this.scale.getExtent(),this._extent)},setExtent:function(t,e){var i=this._extent;i[0]=t,i[1]=e},dataToCoord:function(t,e){var i=this._extent,n=this.scale;return t=n.normalize(t),this.onBand&&\"ordinal\"===n.type&&Fg(i=i.slice(),n.count()),Rl(t,Vg,i,e)},coordToData:function(t,e){var i=this._extent,n=this.scale;this.onBand&&\"ordinal\"===n.type&&Fg(i=i.slice(),n.count());var o=Rl(t,i,Vg,e);return this.scale.scale(o)},pointToData:function(t,e){},getTicksCoords:function(t){var e=(t=t||{}).tickModel||this.getTickModel(),i=O(Pg(this,e).ticks,function(t){return{coord:this.dataToCoord(t),tickValue:t}},this);return function(t,e,i,n){var o=e.length;if(!t.onBand||i||!o)return;var a,r,s=t.getExtent();if(1===o)e[0].coord=s[0],a=e[1]={coord:s[0]};else{var l=e[o-1].tickValue-e[0].tickValue,u=(e[o-1].coord-e[0].coord)/l;R(e,function(t){t.coord-=u/2});var h=t.scale.getExtent();r=1+h[1]-e[o-1].tickValue,a={coord:e[o-1].coord+u*r},e.push(a)}var c=s[0]>s[1];d(e[0].coord,s[0])&&(n?e[0].coord=s[0]:e.shift());n&&d(s[0],e[0].coord)&&e.unshift({coord:s[0]});d(s[1],a.coord)&&(n?a.coord=s[1]:e.pop());n&&d(a.coord,s[1])&&e.push({coord:s[1]});function d(t,e){return t=zl(t),e=zl(e),c?e<t:t<e}}(this,i,e.get(\"alignWithLabel\"),t.clamp),i},getMinorTicksCoords:function(){if(\"ordinal\"===this.scale.type)return[];var t=this.model.getModel(\"minorTick\").get(\"splitNumber\");return 0<t&&t<100||(t=5),O(this.scale.getMinorTicks(t),function(t){return O(t,function(t){return{coord:this.dataToCoord(t),tickValue:t}},this)},this)},getViewLabels:function(){return kg(this).labels},getLabelModel:function(){return this.model.getModel(\"axisLabel\")},getTickModel:function(){return this.model.getModel(\"axisTick\")},getBandWidth:function(){var t=this._extent,e=this.scale.getExtent(),i=e[1]-e[0]+(this.onBand?1:0);0===i&&(i=1);var n=Math.abs(t[1]-t[0]);return Math.abs(n)/i},isHorizontal:null,getRotate:null,calculateCategoryInterval:function(){return function(t){var e=function(t){var e=t.getLabelModel();return{axisRotate:t.getRotate?t.getRotate():t.isHorizontal&&!t.isHorizontal()?90:0,labelRotate:e.get(\"rotate\")||0,font:e.getFont()}}(t),i=lg(t),n=(e.axisRotate-e.labelRotate)/180*Math.PI,o=t.scale,a=o.getExtent(),r=o.count();if(a[1]-a[0]<1)return 0;var s=1;40<r&&(s=Math.max(1,Math.floor(r/40)));for(var l=a[0],u=t.dataToCoord(l+1)-t.dataToCoord(l),h=Math.abs(u*Math.cos(n)),c=Math.abs(u*Math.sin(n)),d=0,f=0;l<=a[1];l+=s){var p,g,m=gn(i(l),e.font,\"center\",\"top\");p=1.3*m.width,g=1.3*m.height,d=Math.max(d,p,7),f=Math.max(f,g,7)}var v=d/h,y=f/c;isNaN(v)&&(v=1/0),isNaN(y)&&(y=1/0);var x=Math.max(0,Math.floor(Math.min(v,y))),_=Lg(t.model),w=t.getExtent(),b=_.lastAutoInterval,S=_.lastTickCount;return null!=b&&null!=S&&Math.abs(b-x)<=1&&Math.abs(S-r)<=1&&x<b&&_.axisExtend0===w[0]&&_.axisExtend1===w[1]?x=b:(_.lastTickCount=r,_.lastAutoInterval=x,_.axisExtend0=w[0],_.axisExtend1=w[1]),x}(this)}};var Wg=Cg,Hg={};R([\"map\",\"each\",\"filter\",\"indexOf\",\"inherits\",\"reduce\",\"filter\",\"bind\",\"curry\",\"isArray\",\"isString\",\"isObject\",\"isFunction\",\"extend\",\"defaults\",\"clone\",\"merge\"],function(t){Hg[t]=it[t]});var Zg={};function Ug(t,e){var i=t.mapDimension(\"defaultedLabel\",!0),n=i.length;if(1===n)return Hh(t,e,i[0]);if(n){for(var o=[],a=0;a<i.length;a++){var r=Hh(t,e,i[a]);o.push(r)}return o.join(\" \")}}function Xg(t,e,i){Ci.call(this),this.updateData(t,e,i)}R([\"extendShape\",\"extendPath\",\"makePath\",\"makeImage\",\"mergePath\",\"resizePath\",\"createIcon\",\"setHoverStyle\",\"setLabelStyle\",\"setTextStyle\",\"setText\",\"getFont\",\"updateProps\",\"initProps\",\"getTransform\",\"clipPointsByRect\",\"clipRectByRect\",\"registerShape\",\"getShapeClass\",\"Group\",\"Image\",\"Text\",\"Circle\",\"Sector\",\"Ring\",\"Polygon\",\"Polyline\",\"Rect\",\"Line\",\"BezierCurve\",\"Arc\",\"IncrementalDisplayable\",\"CompoundPath\",\"LinearGradient\",\"RadialGradient\",\"BoundingRect\"],function(t){Zg[t]=bl[t]}),sc.extend({type:\"series.line\",dependencies:[\"grid\",\"polar\"],getInitialData:function(t,e){return gp(this.getSource(),this,{useEncodeDefaulter:!0})},defaultOption:{zlevel:0,z:2,coordinateSystem:\"cartesian2d\",legendHoverLink:!0,hoverAnimation:!0,clip:!0,label:{position:\"top\"},lineStyle:{width:2,type:\"solid\"},step:!1,smooth:!1,smoothMonotone:null,symbol:\"emptyCircle\",symbolSize:4,symbolRotate:null,showSymbol:!0,showAllSymbol:\"auto\",connectNulls:!1,sampling:\"none\",animationEasing:\"linear\",progressive:0,hoverLayerThreshold:1/0}});var Yg=Xg.prototype,jg=Xg.getSymbolSize=function(t,e){var i=t.getItemVisual(e,\"symbolSize\");return i instanceof Array?i.slice():[+i,+i]};function qg(t){return[t[0]/2,t[1]/2]}function Kg(t,e){this.parent.drift(t,e)}Yg._createSymbol=function(t,e,i,n,o){this.removeAll();var a=wg(t,-1,-1,2,2,e.getItemVisual(i,\"color\"),o);a.attr({z2:100,culling:!0,scale:qg(n)}),a.drift=Kg,this._symbolType=t,this.add(a)},Yg.stopSymbolAnimation=function(t){this.childAt(0).stopAnimation(t)},Yg.getSymbolPath=function(){return this.childAt(0)},Yg.getScale=function(){return this.childAt(0).scale},Yg.highlight=function(){this.childAt(0).trigger(\"emphasis\")},Yg.downplay=function(){this.childAt(0).trigger(\"normal\")},Yg.setZ=function(t,e){var i=this.childAt(0);i.zlevel=t,i.z=e},Yg.setDraggable=function(t){var e=this.childAt(0);e.draggable=t,e.cursor=t?\"move\":e.cursor},Yg.updateData=function(t,e,i){this.silent=!1;var n=t.getItemVisual(e,\"symbol\")||\"circle\",o=t.hostModel,a=jg(t,e),r=n!==this._symbolType;if(r){var s=t.getItemVisual(e,\"symbolKeepAspect\");this._createSymbol(n,t,e,a,s)}else{(l=this.childAt(0)).silent=!1,cl(l,{scale:qg(a)},o,e)}if(this._updateCommon(t,e,a,i),r){var l=this.childAt(0),u=i&&i.fadeIn,h={scale:l.scale.slice()};u&&(h.style={opacity:l.style.opacity}),l.scale=[0,0],u&&(l.style.opacity=0),dl(l,h,o,e)}this._seriesModel=o};var $g=[\"itemStyle\"],Jg=[\"emphasis\",\"itemStyle\"],Qg=[\"label\"],tm=[\"emphasis\",\"label\"];function em(t,e){if(!this.incremental&&!this.useHoverLayer)if(\"emphasis\"===e){var i=this.__symbolOriginalScale,n=i[1]/i[0],o={scale:[Math.max(1.1*i[0],i[0]+3),Math.max(1.1*i[1],i[1]+3*n)]};this.animateTo(o,400,\"elasticOut\")}else\"normal\"===e&&this.animateTo({scale:this.__symbolOriginalScale},400,\"elasticOut\")}function im(t){this.group=new Ci,this._symbolCtor=t||Xg}Yg._updateCommon=function(i,t,e,n){var o=this.childAt(0),a=i.hostModel,r=i.getItemVisual(t,\"color\");\"image\"!==o.type?o.useStyle({strokeNoScale:!0}):o.setStyle({opacity:1,shadowBlur:null,shadowOffsetX:null,shadowOffsetY:null,shadowColor:null});var s=n&&n.itemStyle,l=n&&n.hoverItemStyle,u=n&&n.symbolOffset,h=n&&n.labelModel,c=n&&n.hoverLabelModel,d=n&&n.hoverAnimation,f=n&&n.cursorStyle;if(!n||i.hasItemOption){var p=n&&n.itemModel?n.itemModel:i.getItemModel(t);s=p.getModel($g).getItemStyle([\"color\"]),l=p.getModel(Jg).getItemStyle(),u=p.getShallow(\"symbolOffset\"),h=p.getModel(Qg),c=p.getModel(tm),d=p.getShallow(\"hoverAnimation\"),f=p.getShallow(\"cursor\")}else l=P({},l);var g=o.style,m=i.getItemVisual(t,\"symbolRotate\");o.attr(\"rotation\",(m||0)*Math.PI/180||0),u&&o.attr(\"position\",[El(u[0],e[0]),El(u[1],e[1])]),f&&o.attr(\"cursor\",f),o.setColor(r,n&&n.symbolInnerColor),o.setStyle(s);var v=i.getItemVisual(t,\"opacity\");null!=v&&(g.opacity=v);var y=i.getItemVisual(t,\"liftZ\"),x=o.__z2Origin;null!=y?null==x&&(o.__z2Origin=o.z2,o.z2+=y):null!=x&&(o.z2=x,o.__z2Origin=null);var _=n&&n.useNameLabel;el(g,l,h,c,{labelFetcher:a,labelDataIndex:t,defaultText:function(t,e){return _?i.getName(t):Ug(i,t)},isRectText:!0,autoColor:r}),o.__symbolOriginalScale=qg(e),o.hoverStyle=l,o.highDownOnUpdate=d&&a.isAnimationEnabled()?em:null,$s(o)},Yg.fadeOut=function(t,e){var i=this.childAt(0);this.silent=i.silent=!0,e&&e.keepLabel||(i.style.text=null),cl(i,{style:{opacity:0},scale:[0,0]},this._seriesModel,this.dataIndex,t)},w(Xg,Ci);var nm=im.prototype;function om(t,e,i,n){return e&&!isNaN(e[0])&&!isNaN(e[1])&&!(n.isIgnore&&n.isIgnore(i))&&!(n.clipShape&&!n.clipShape.contain(e[0],e[1]))&&\"none\"!==t.getItemVisual(i,\"symbol\")}function am(t){return null==t||z(t)||(t={isIgnore:t}),t||{}}function rm(t){var e=t.hostModel;return{itemStyle:e.getModel(\"itemStyle\").getItemStyle([\"color\"]),hoverItemStyle:e.getModel(\"emphasis.itemStyle\").getItemStyle(),symbolRotate:e.get(\"symbolRotate\"),symbolOffset:e.get(\"symbolOffset\"),hoverAnimation:e.get(\"hoverAnimation\"),labelModel:e.getModel(\"label\"),hoverLabelModel:e.getModel(\"emphasis.label\"),cursorStyle:e.get(\"cursor\")}}function sm(t,e,i){var n,o=t.getBaseAxis(),a=t.getOtherAxis(o),r=function(t,e){var i=0,n=t.scale.getExtent();\"start\"===e?i=n[0]:\"end\"===e?i=n[1]:0<n[0]?i=n[0]:n[1]<0&&(i=n[1]);return i}(a,i),s=o.dim,l=a.dim,u=e.mapDimension(l),h=e.mapDimension(s),c=\"x\"===l||\"radius\"===l?1:0,d=O(t.dimensions,function(t){return e.mapDimension(t)}),f=e.getCalculationInfo(\"stackResultDimension\");return(n|=fp(e,d[0]))&&(d[0]=f),(n|=fp(e,d[1]))&&(d[1]=f),{dataDimsForPoint:d,valueStart:r,valueAxisDim:l,baseAxisDim:s,stacked:!!n,valueDim:u,baseDim:h,baseDataOffset:c,stackedOverDimension:e.getCalculationInfo(\"stackedOverDimension\")}}function lm(t,e,i,n){var o=NaN;t.stacked&&(o=i.get(i.getCalculationInfo(\"stackedOverDimension\"),n)),isNaN(o)&&(o=t.valueStart);var a=t.baseDataOffset,r=[];return r[a]=i.get(t.baseDim,n),r[1-a]=o,e.dataToPoint(r)}nm.updateData=function(o,a){a=am(a);var r=this.group,s=o.hostModel,l=this._data,u=this._symbolCtor,h=rm(o);l||r.removeAll(),o.diff(l).add(function(t){var e=o.getItemLayout(t);if(om(o,e,t,a)){var i=new u(o,t,h);i.attr(\"position\",e),o.setItemGraphicEl(t,i),r.add(i)}}).update(function(t,e){var i=l.getItemGraphicEl(e),n=o.getItemLayout(t);om(o,n,t,a)?(i?(i.updateData(o,t,h),cl(i,{position:n},s)):(i=new u(o,t)).attr(\"position\",n),r.add(i),o.setItemGraphicEl(t,i)):r.remove(i)}).remove(function(t){var e=l.getItemGraphicEl(t);e&&e.fadeOut(function(){r.remove(e)})}).execute(),this._data=o},nm.isPersistent=function(){return!0},nm.updateLayout=function(){var n=this._data;n&&n.eachItemGraphicEl(function(t,e){var i=n.getItemLayout(e);t.attr(\"position\",i)})},nm.incrementalPrepareUpdate=function(t){this._seriesScope=rm(t),this._data=null,this.group.removeAll()},nm.incrementalUpdate=function(t,e,i){function n(t){t.isGroup||(t.incremental=t.useHoverLayer=!0)}i=am(i);for(var o=t.start;o<t.end;o++){var a=e.getItemLayout(o);if(om(e,a,o,i)){var r=new this._symbolCtor(e,o,this._seriesScope);r.traverse(n),r.attr(\"position\",a),this.group.add(r),e.setItemGraphicEl(o,r)}}},nm.remove=function(t){var e=this.group,i=this._data;i&&t?i.eachItemGraphicEl(function(t){t.fadeOut(function(){e.remove(t)})}):e.removeAll()};var um=St,hm=Mt,cm=ut,dm=at,fm=[],pm=[],gm=[];function mm(t){return isNaN(t[0])||isNaN(t[1])}function vm(t,e,i,n,o,a,r,s,l,u){return\"none\"!==u&&u?function(t,e,i,n,o,a,r,s,l,u,h){for(var c=0,d=i,f=0;f<n;f++){var p=e[d];if(o<=d||d<0)break;if(mm(p)){if(h){d+=a;continue}break}if(d===i)t[0<a?\"moveTo\":\"lineTo\"](p[0],p[1]);else if(0<l){var g=e[c],m=\"y\"===u?1:0,v=(p[m]-g[m])*l;dm(pm,g),pm[m]=g[m]+v,dm(gm,p),gm[m]=p[m]-v,t.bezierCurveTo(pm[0],pm[1],gm[0],gm[1],p[0],p[1])}else t.lineTo(p[0],p[1]);c=d,d+=a}return f}.apply(this,arguments):function(t,e,i,n,o,a,r,s,l,u,h){for(var c=0,d=i,f=0;f<n;f++){var p=e[d];if(o<=d||d<0)break;if(mm(p)){if(h){d+=a;continue}break}if(d===i)t[0<a?\"moveTo\":\"lineTo\"](p[0],p[1]),dm(pm,p);else if(0<l){var g=d+a,m=e[g];if(h)for(;m&&mm(e[g]);)m=e[g+=a];var v=.5,y=e[c];if(!(m=e[g])||mm(m))dm(gm,p);else{var x,_;if(mm(m)&&!h&&(m=p),ht(fm,m,y),\"x\"===u||\"y\"===u){var w=\"x\"===u?0:1;x=Math.abs(p[w]-y[w]),_=Math.abs(p[w]-m[w])}else x=yt(p,y),_=yt(p,m);cm(gm,p,fm,-l*(1-(v=_/(_+x))))}um(pm,pm,s),hm(pm,pm,r),um(gm,gm,s),hm(gm,gm,r),t.bezierCurveTo(pm[0],pm[1],gm[0],gm[1],p[0],p[1]),cm(pm,p,fm,l*v)}else t.lineTo(p[0],p[1]);c=d,d+=a}return f}.apply(this,arguments)}function ym(t,e){var i=[1/0,1/0],n=[-1/0,-1/0];if(e)for(var o=0;o<t.length;o++){var a=t[o];a[0]<i[0]&&(i[0]=a[0]),a[1]<i[1]&&(i[1]=a[1]),a[0]>n[0]&&(n[0]=a[0]),a[1]>n[1]&&(n[1]=a[1])}return{min:e?i:n,max:e?n:i}}var xm=Ar.extend({type:\"ec-polyline\",shape:{points:[],smooth:0,smoothConstraint:!0,smoothMonotone:null,connectNulls:!1},style:{fill:null,stroke:\"#000\"},brush:Xr(Ar.prototype.brush),buildPath:function(t,e){var i=e.points,n=0,o=i.length,a=ym(i,e.smoothConstraint);if(e.connectNulls){for(;0<o&&mm(i[o-1]);o--);for(;n<o&&mm(i[n]);n++);}for(;n<o;)n+=vm(t,i,n,o,o,1,a.min,a.max,e.smooth,e.smoothMonotone,e.connectNulls)+1}}),_m=Ar.extend({type:\"ec-polygon\",shape:{points:[],stackedOnPoints:[],smooth:0,stackedOnSmooth:0,smoothConstraint:!0,smoothMonotone:null,connectNulls:!1},brush:Xr(Ar.prototype.brush),buildPath:function(t,e){var i=e.points,n=e.stackedOnPoints,o=0,a=i.length,r=e.smoothMonotone,s=ym(i,e.smoothConstraint),l=ym(n,e.smoothConstraint);if(e.connectNulls){for(;0<a&&mm(i[a-1]);a--);for(;o<a&&mm(i[o]);o++);}for(;o<a;){var u=vm(t,i,o,a,a,1,s.min,s.max,e.smooth,r,e.connectNulls);vm(t,n,o+u-1,u,a,-1,l.min,l.max,e.stackedOnSmooth,r,e.connectNulls),o+=u+1,t.closePath()}}});function wm(t,e,i){var n=t.getArea(),o=t.getBaseAxis().isHorizontal(),a=n.x,r=n.y,s=n.width,l=n.height,u=i.get(\"lineStyle.width\")||2;a-=u/2,r-=u/2,s+=u,l+=u,a=Math.floor(a),s=Math.round(s);var h=new rs({shape:{x:a,y:r,width:s,height:l}});return e&&(h.shape[o?\"width\":\"height\"]=0,dl(h,{shape:{width:s,height:l}},i)),h}function bm(t,e,i){var n=t.getArea(),o=new qr({shape:{cx:zl(t.cx,1),cy:zl(t.cy,1),r0:zl(n.r0,1),r:zl(n.r,1),startAngle:n.startAngle,endAngle:n.endAngle,clockwise:n.clockwise}});return e&&(o.shape.endAngle=n.startAngle,dl(o,{shape:{endAngle:n.endAngle}},i)),o}function Sm(t,e,i){return t?\"polar\"===t.type?bm(t,e,i):\"cartesian2d\"===t.type?wm(t,e,i):null:null}function Mm(t,e){if(t.length===e.length){for(var i=0;i<t.length;i++){var n=t[i],o=e[i];if(n[0]!==o[0]||n[1]!==o[1])return}return!0}}function Im(t,e){var i=[],n=[],o=[],a=[];return Wa(t,i,n),Wa(e,o,a),Math.max(Math.abs(i[0]-o[0]),Math.abs(i[1]-o[1]),Math.abs(n[0]-a[0]),Math.abs(n[1]-a[1]))}function Tm(t){return\"number\"==typeof t?t:t?.5:0}function Am(t,e,i){for(var n=e.getBaseAxis(),o=\"x\"===n.dim||\"radius\"===n.dim?0:1,a=[],r=0;r<t.length-1;r++){var s=t[r+1],l=t[r];a.push(l);var u=[];switch(i){case\"end\":u[o]=s[o],u[1-o]=l[1-o],a.push(u);break;case\"middle\":var h=(l[o]+s[o])/2,c=[];u[o]=c[o]=h,u[1-o]=l[1-o],c[1-o]=s[1-o],a.push(u),a.push(c);break;default:u[o]=l[o],u[1-o]=s[1-o],a.push(u)}}return t[r]&&a.push(t[r]),a}function Dm(t,e,i){var n=t.get(\"showAllSymbol\"),o=\"auto\"===n;if(!n||o){var a=i.getAxesByScale(\"ordinal\")[0];if(a&&(!o||!function(t,e){var i=t.getExtent(),n=Math.abs(i[1]-i[0])/t.scale.count();isNaN(n)&&(n=0);for(var o=e.count(),a=Math.max(1,Math.round(o/5)),r=0;r<o;r+=a)if(1.5*Xg.getSymbolSize(e,r)[t.isHorizontal()?1:0]>n)return!1;return!0}(a,e))){var r=e.mapDimension(a.dim),s={};return R(a.getViewLabels(),function(t){s[t.tickValue]=1}),function(t){return!s.hasOwnProperty(e.get(r,t))}}}}function Cm(t,e,i){if(\"cartesian2d\"!==t.type)return bm(t,e,i);var n=t.getBaseAxis().isHorizontal(),o=wm(t,e,i);if(!i.get(\"clip\",!0)){var a=o.shape,r=Math.max(a.width,a.height);n?(a.y-=r,a.height+=2*r):(a.x-=r,a.width+=2*r)}return o}_c.extend({type:\"line\",init:function(){var t=new Ci,e=new im;this.group.add(e.group),this._symbolDraw=e,this._lineGroup=t},render:function(t,e,i){var n=t.coordinateSystem,o=this.group,a=t.getData(),r=t.getModel(\"lineStyle\"),s=t.getModel(\"areaStyle\"),l=a.mapArray(a.getItemLayout),u=\"polar\"===n.type,h=this._coordSys,c=this._symbolDraw,d=this._polyline,f=this._polygon,p=this._lineGroup,g=t.get(\"animation\"),m=!s.isEmpty(),v=s.get(\"origin\"),y=function(t,e,i){if(!i.valueDim)return[];for(var n=[],o=0,a=e.count();o<a;o++)n.push(lm(i,t,e,o));return n}(n,a,sm(n,a,v)),x=t.get(\"showSymbol\"),_=x&&!u&&Dm(t,a,n),w=this._data;w&&w.eachItemGraphicEl(function(t,e){t.__temp&&(o.remove(t),w.setItemGraphicEl(e,null))}),x||c.remove(),o.add(p);var b,S=!u&&t.get(\"step\");n&&n.getArea&&t.get(\"clip\",!0)&&(null!=(b=n.getArea()).width?(b.x-=.1,b.y-=.1,b.width+=.2,b.height+=.2):b.r0&&(b.r0-=.5,b.r1+=.5)),this._clipShapeForSymbol=b,d&&h.type===n.type&&S===this._step?(m&&!f?f=this._newPolygon(l,y,n,g):f&&!m&&(p.remove(f),f=this._polygon=null),p.setClipPath(Cm(n,!1,t)),x&&c.updateData(a,{isIgnore:_,clipShape:b}),a.eachItemGraphicEl(function(t){t.stopAnimation(!0)}),Mm(this._stackedOnPoints,y)&&Mm(this._points,l)||(g?this._updateAnimation(a,y,n,i,S,v):(S&&(l=Am(l,n,S),y=Am(y,n,S)),d.setShape({points:l}),f&&f.setShape({points:l,stackedOnPoints:y})))):(x&&c.updateData(a,{isIgnore:_,clipShape:b}),S&&(l=Am(l,n,S),y=Am(y,n,S)),d=this._newPolyline(l,n,g),m&&(f=this._newPolygon(l,y,n,g)),p.setClipPath(Cm(n,!0,t)));var M=function(t,e){var i=t.getVisual(\"visualMeta\");if(i&&i.length&&t.count()&&\"cartesian2d\"===e.type){for(var n,o,a=i.length-1;0<=a;a--){var r=i[a].dimension,s=t.dimensions[r],l=t.getDimensionInfo(s);if(\"x\"===(n=l&&l.coordDim)||\"y\"===n){o=i[a];break}}if(o){var u=e.getAxis(n),h=O(o.stops,function(t){return{coord:u.toGlobalCoord(u.dataToCoord(t.value)),color:t.color}}),c=h.length,d=o.outerColors.slice();c&&h[0].coord>h[c-1].coord&&(h.reverse(),d.reverse());var f=h[0].coord-10,p=h[c-1].coord+10,g=p-f;if(g<.001)return\"transparent\";R(h,function(t){t.offset=(t.coord-f)/g}),h.push({offset:c?h[c-1].offset:.5,color:d[1]||\"transparent\"}),h.unshift({offset:c?h[0].offset:.5,color:d[0]||\"transparent\"});var m=new gs(0,0,0,0,h,!0);return m[n]=f,m[n+\"2\"]=p,m}}}(a,n)||a.getVisual(\"color\");d.useStyle(D(r.getLineStyle(),{fill:\"none\",stroke:M,lineJoin:\"bevel\"}));var I=t.get(\"smooth\");if(I=Tm(t.get(\"smooth\")),d.setShape({smooth:I,smoothMonotone:t.get(\"smoothMonotone\"),connectNulls:t.get(\"connectNulls\")}),f){var T=a.getCalculationInfo(\"stackedOnSeries\"),A=0;f.useStyle(D(s.getAreaStyle(),{fill:M,opacity:.7,lineJoin:\"bevel\"})),T&&(A=Tm(T.get(\"smooth\"))),f.setShape({smooth:I,stackedOnSmooth:A,smoothMonotone:t.get(\"smoothMonotone\"),connectNulls:t.get(\"connectNulls\")})}this._data=a,this._coordSys=n,this._stackedOnPoints=y,this._points=l,this._step=S,this._valueOrigin=v},dispose:function(){},highlight:function(t,e,i,n){var o=t.getData(),a=Yo(o,n);if(!(a instanceof Array)&&null!=a&&0<=a){var r=o.getItemGraphicEl(a);if(!r){var s=o.getItemLayout(a);if(!s)return;if(this._clipShapeForSymbol&&!this._clipShapeForSymbol.contain(s[0],s[1]))return;(r=new Xg(o,a)).position=s,r.setZ(t.get(\"zlevel\"),t.get(\"z\")),r.ignore=isNaN(s[0])||isNaN(s[1]),r.__temp=!0,o.setItemGraphicEl(a,r),r.stopSymbolAnimation(!0),this.group.add(r)}r.highlight()}else _c.prototype.highlight.call(this,t,e,i,n)},downplay:function(t,e,i,n){var o=t.getData(),a=Yo(o,n);if(null!=a&&0<=a){var r=o.getItemGraphicEl(a);r&&(r.__temp?(o.setItemGraphicEl(a,null),this.group.remove(r)):r.downplay())}else _c.prototype.downplay.call(this,t,e,i,n)},_newPolyline:function(t){var e=this._polyline;return e&&this._lineGroup.remove(e),e=new xm({shape:{points:t},silent:!0,z2:10}),this._lineGroup.add(e),this._polyline=e},_newPolygon:function(t,e){var i=this._polygon;return i&&this._lineGroup.remove(i),i=new _m({shape:{points:t,stackedOnPoints:e},silent:!0}),this._lineGroup.add(i),this._polygon=i},_updateAnimation:function(t,e,i,n,o,a){var r=this._polyline,s=this._polygon,l=t.hostModel,u=function(t,e,i,n,o,a,r,s){for(var l=function(t,e){var i=[];return e.diff(t).add(function(t){i.push({cmd:\"+\",idx:t})}).update(function(t,e){i.push({cmd:\"=\",idx:e,idx1:t})}).remove(function(t){i.push({cmd:\"-\",idx:t})}).execute(),i}(t,e),u=[],h=[],c=[],d=[],f=[],p=[],g=[],m=sm(o,e,r),v=sm(a,t,s),y=0;y<l.length;y++){var x=l[y],_=!0;switch(x.cmd){case\"=\":var w=t.getItemLayout(x.idx),b=e.getItemLayout(x.idx1);(isNaN(w[0])||isNaN(w[1]))&&(w=b.slice()),u.push(w),h.push(b),c.push(i[x.idx]),d.push(n[x.idx1]),g.push(e.getRawIndex(x.idx1));break;case\"+\":var S=x.idx;u.push(o.dataToPoint([e.get(m.dataDimsForPoint[0],S),e.get(m.dataDimsForPoint[1],S)])),h.push(e.getItemLayout(S).slice()),c.push(lm(m,o,e,S)),d.push(n[S]),g.push(e.getRawIndex(S));break;case\"-\":S=x.idx;var M=t.getRawIndex(S);M!==S?(u.push(t.getItemLayout(S)),h.push(a.dataToPoint([t.get(v.dataDimsForPoint[0],S),t.get(v.dataDimsForPoint[1],S)])),c.push(i[S]),d.push(lm(v,a,t,S)),g.push(M)):_=!1}_&&(f.push(x),p.push(p.length))}p.sort(function(t,e){return g[t]-g[e]});var I=[],T=[],A=[],D=[],C=[];for(y=0;y<p.length;y++){S=p[y];I[y]=u[S],T[y]=h[S],A[y]=c[S],D[y]=d[S],C[y]=f[S]}return{current:I,next:T,stackedOnCurrent:A,stackedOnNext:D,status:C}}(this._data,t,this._stackedOnPoints,e,this._coordSys,i,this._valueOrigin,a),h=u.current,c=u.stackedOnCurrent,d=u.next,f=u.stackedOnNext;if(o&&(h=Am(u.current,i,o),c=Am(u.stackedOnCurrent,i,o),d=Am(u.next,i,o),f=Am(u.stackedOnNext,i,o)),3e3<Im(h,d)||s&&3e3<Im(c,f))return r.setShape({points:d}),void(s&&s.setShape({points:d,stackedOnPoints:f}));r.shape.__points=u.current,r.shape.points=h,cl(r,{shape:{points:d}},l),s&&(s.setShape({points:h,stackedOnPoints:c}),cl(s,{shape:{points:d,stackedOnPoints:f}},l));for(var p=[],g=u.status,m=0;m<g.length;m++){if(\"=\"===g[m].cmd){var v=t.getItemGraphicEl(g[m].idx1);v&&p.push({el:v,ptIdx:m})}}r.animators&&r.animators.length&&r.animators[0].during(function(){for(var t=0;t<p.length;t++){p[t].el.attr(\"position\",r.shape.__points[p[t].ptIdx])}})},remove:function(t){var i=this.group,n=this._data;this._lineGroup.removeAll(),this._symbolDraw.remove(!0),n&&n.eachItemGraphicEl(function(t,e){t.__temp&&(i.remove(t),n.setItemGraphicEl(e,null))}),this._polyline=this._polygon=this._coordSys=this._points=this._stackedOnPoints=this._data=null}});function Lm(t,r,s){return{seriesType:t,performRawSeries:!0,reset:function(u,t,e){var i=u.getData(),h=u.get(\"symbol\"),c=u.get(\"symbolSize\"),n=u.get(\"symbolKeepAspect\"),d=u.get(\"symbolRotate\"),f=C(h),p=C(c),g=C(d),m=f||p||g,o=!f&&h?h:r,a=p?null:c;if(i.setVisual({legendSymbol:s||o,symbol:o,symbolSize:a,symbolKeepAspect:n,symbolRotate:d}),!t.isSeriesFiltered(u))return{dataEach:i.hasItemOption||m?function(t,e){if(m){var i=u.getRawValue(e),n=u.getDataParams(e);f&&t.setItemVisual(e,\"symbol\",h(i,n)),p&&t.setItemVisual(e,\"symbolSize\",c(i,n)),g&&t.setItemVisual(e,\"symbolRotate\",d(i,n))}if(t.hasItemOption){var o=t.getItemModel(e),a=o.getShallow(\"symbol\",!0),r=o.getShallow(\"symbolSize\",!0),s=o.getShallow(\"symbolRotate\",!0),l=o.getShallow(\"symbolKeepAspect\",!0);null!=a&&t.setItemVisual(e,\"symbol\",a),null!=r&&t.setItemVisual(e,\"symbolSize\",r),null!=s&&t.setItemVisual(e,\"symbolRotate\",s),null!=l&&t.setItemVisual(e,\"symbolKeepAspect\",l)}}:null}}}}function km(t){return{seriesType:t,plan:vc(),reset:function(t){var e=t.getData(),c=t.coordinateSystem,d=t.pipelineContext.large;if(c){var f=O(c.dimensions,function(t){return e.mapDimension(t)}).slice(0,2),p=f.length,i=e.getCalculationInfo(\"stackResultDimension\");return fp(e,f[0])&&(f[0]=i),fp(e,f[1])&&(f[1]=i),p&&{progress:function(t,e){for(var i=t.end-t.start,n=d&&new Float32Array(i*p),o=t.start,a=0,r=[],s=[];o<t.end;o++){var l;if(1===p){var u=e.get(f[0],o);l=!isNaN(u)&&c.dataToPoint(u,null,s)}else{u=r[0]=e.get(f[0],o);var h=r[1]=e.get(f[1],o);l=!isNaN(u)&&!isNaN(h)&&c.dataToPoint(r,null,s)}d?(n[a++]=l?l[0]:NaN,n[a++]=l?l[1]:NaN):e.setItemLayout(o,l&&l.slice()||[NaN,NaN])}d&&e.setLayout(\"symbolPoints\",n)}}}}}}function Pm(t,e){return Math.round(t.length/2)}var Nm={average:function(t){for(var e=0,i=0,n=0;n<t.length;n++)isNaN(t[n])||(e+=t[n],i++);return 0===i?NaN:e/i},sum:function(t){for(var e=0,i=0;i<t.length;i++)e+=t[i]||0;return e},max:function(t){for(var e=-1/0,i=0;i<t.length;i++)t[i]>e&&(e=t[i]);return isFinite(e)?e:NaN},min:function(t){for(var e=1/0,i=0;i<t.length;i++)t[i]<e&&(e=t[i]);return isFinite(e)?e:NaN},nearest:function(t){return t[0]}};function Om(t){return this._axes[t]}function Rm(t){this._axes={},this._dimList=[],this.name=t||\"\"}function Em(t){Rm.call(this,t)}Rm.prototype={constructor:Rm,type:\"cartesian\",getAxis:function(t){return this._axes[t]},getAxes:function(){return O(this._dimList,Om,this)},getAxesByScale:function(e){return e=e.toLowerCase(),M(this.getAxes(),function(t){return t.scale.type===e})},addAxis:function(t){var e=t.dim;this._axes[e]=t,this._dimList.push(e)},dataToCoord:function(t){return this._dataCoordConvert(t,\"dataToCoord\")},coordToData:function(t){return this._dataCoordConvert(t,\"coordToData\")},_dataCoordConvert:function(t,e){for(var i=this._dimList,n=t instanceof Array?[]:{},o=0;o<i.length;o++){var a=i[o],r=this._axes[a];n[a]=r[e](t[a])}return n}},Em.prototype={constructor:Em,type:\"cartesian2d\",dimensions:[\"x\",\"y\"],getBaseAxis:function(){return this.getAxesByScale(\"ordinal\")[0]||this.getAxesByScale(\"time\")[0]||this.getAxis(\"x\")},containPoint:function(t){var e=this.getAxis(\"x\"),i=this.getAxis(\"y\");return e.contain(e.toLocalCoord(t[0]))&&i.contain(i.toLocalCoord(t[1]))},containData:function(t){return this.getAxis(\"x\").containData(t[0])&&this.getAxis(\"y\").containData(t[1])},dataToPoint:function(t,e,i){var n=this.getAxis(\"x\"),o=this.getAxis(\"y\");return(i=i||[])[0]=n.toGlobalCoord(n.dataToCoord(t[0])),i[1]=o.toGlobalCoord(o.dataToCoord(t[1])),i},clampData:function(t,e){var i=this.getAxis(\"x\").scale,n=this.getAxis(\"y\").scale,o=i.getExtent(),a=n.getExtent(),r=i.parse(t[0]),s=n.parse(t[1]);return(e=e||[])[0]=Math.min(Math.max(Math.min(o[0],o[1]),r),Math.max(o[0],o[1])),e[1]=Math.min(Math.max(Math.min(a[0],a[1]),s),Math.max(a[0],a[1])),e},pointToData:function(t,e){var i=this.getAxis(\"x\"),n=this.getAxis(\"y\");return(e=e||[])[0]=i.coordToData(i.toLocalCoord(t[0])),e[1]=n.coordToData(n.toLocalCoord(t[1])),e},getOtherAxis:function(t){return this.getAxis(\"x\"===t.dim?\"y\":\"x\")},getArea:function(){var t=this.getAxis(\"x\").getGlobalExtent(),e=this.getAxis(\"y\").getGlobalExtent(),i=Math.min(t[0],t[1]),n=Math.min(e[0],e[1]);return new Di(i,n,Math.max(t[0],t[1])-i,Math.max(e[0],e[1])-n)}},w(Em,Rm);function zm(t,e,i,n,o){Gg.call(this,t,e,i),this.type=n||\"value\",this.position=o||\"bottom\"}zm.prototype={constructor:zm,index:0,getAxesOnZeroOf:null,model:null,isHorizontal:function(){var t=this.position;return\"top\"===t||\"bottom\"===t},getGlobalExtent:function(t){var e=this.getExtent();return e[0]=this.toGlobalCoord(e[0]),e[1]=this.toGlobalCoord(e[1]),t&&e[0]>e[1]&&e.reverse(),e},getOtherAxis:function(){this.grid.getOtherAxis()},pointToData:function(t,e){return this.coordToData(this.toLocalCoord(t[\"x\"===this.dim?0:1]),e)},toLocalCoord:null,toGlobalCoord:null},w(zm,Gg);var Bm={show:!0,zlevel:0,z:0,inverse:!1,name:\"\",nameLocation:\"end\",nameRotate:null,nameTruncate:{maxWidth:null,ellipsis:\"...\",placeholder:\".\"},nameTextStyle:{},nameGap:15,silent:!1,triggerEvent:!1,tooltip:{show:!1},axisPointer:{},axisLine:{show:!0,onZero:!0,onZeroAxisIndex:null,lineStyle:{color:\"#333\",width:1,type:\"solid\"},symbol:[\"none\",\"none\"],symbolSize:[10,15]},axisTick:{show:!0,inside:!1,length:5,lineStyle:{width:1}},axisLabel:{show:!0,inside:!1,rotate:0,showMinLabel:null,showMaxLabel:null,margin:8,fontSize:12},splitLine:{show:!0,lineStyle:{color:[\"#ccc\"],width:1,type:\"solid\"}},splitArea:{show:!1,areaStyle:{color:[\"rgba(250,250,250,0.3)\",\"rgba(200,200,200,0.3)\"]}}},Vm={};Vm.categoryAxis=m({boundaryGap:!0,deduplication:null,splitLine:{show:!1},axisTick:{alignWithLabel:!1,interval:\"auto\"},axisLabel:{interval:\"auto\"}},Bm),Vm.valueAxis=m({boundaryGap:[0,0],splitNumber:5,minorTick:{show:!1,splitNumber:5,length:3,lineStyle:{}},minorSplitLine:{show:!1,lineStyle:{color:\"#eee\",width:1}}},Bm),Vm.timeAxis=D({scale:!0,min:\"dataMin\",max:\"dataMax\"},Vm.valueAxis),Vm.logAxis=D({scale:!0,logBase:10},Vm.valueAxis);function Gm(a,t,r,e){R(Fm,function(o){t.extend({type:a+\"Axis.\"+o,mergeDefaultAndTheme:function(t,e){var i=this.layoutMode,n=i?Iu(t):{};m(t,e.getTheme().get(o+\"Axis\")),m(t,this.getDefaultOption()),t.type=r(a,t),i&&Mu(t,n,i)},optionUpdated:function(){\"category\"===this.option.type&&(this.__ordinalMeta=vp.createByAxisModel(this))},getCategories:function(t){var e=this.option;if(\"category\"===e.type)return t?e.data:this.__ordinalMeta.categories},getOrdinalMeta:function(){return this.__ordinalMeta},defaultOption:p([{},Vm[o+\"Axis\"],e],!0)})}),ku.registerSubTypeDefaulter(a+\"Axis\",T(r,a))}var Fm=[\"value\",\"category\",\"time\",\"log\"],Wm=ku.extend({type:\"cartesian2dAxis\",axis:null,init:function(){Wm.superApply(this,\"init\",arguments),this.resetRange()},mergeOption:function(){Wm.superApply(this,\"mergeOption\",arguments),this.resetRange()},restoreData:function(){Wm.superApply(this,\"restoreData\",arguments),this.resetRange()},getCoordSysModel:function(){return this.ecModel.queryComponents({mainType:\"grid\",index:this.option.gridIndex,id:this.option.gridId})[0]}});function Hm(t,e){return e.type||(e.data?\"category\":\"value\")}m(Wm.prototype,dg);var Zm={offset:0};function Um(t,e){return t.getCoordSysModel()===e}function Xm(t,e,i){this._coordsMap={},this._coordsList=[],this._axesMap={},this._axesList=[],this._initCartesian(t,e,i),this.model=t}Gm(\"x\",Wm,Hm,Zm),Gm(\"y\",Wm,Hm,Zm),ku.extend({type:\"grid\",dependencies:[\"xAxis\",\"yAxis\"],layoutMode:\"box\",coordinateSystem:null,defaultOption:{show:!1,zlevel:0,z:0,left:\"10%\",top:60,right:\"10%\",bottom:60,containLabel:!1,backgroundColor:\"rgba(0,0,0,0)\",borderWidth:1,borderColor:\"#ccc\"}});var Ym=Xm.prototype;function jm(t,e,i,n){i.getAxesOnZeroOf=function(){return o?[o]:[]};var o,a=t[e],r=i.model,s=r.get(\"axisLine.onZero\"),l=r.get(\"axisLine.onZeroAxisIndex\");if(s){if(null!=l)qm(a[l])&&(o=a[l]);else for(var u in a)if(a.hasOwnProperty(u)&&qm(a[u])&&!n[h(a[u])]){o=a[u];break}o&&(n[h(o)]=!0)}function h(t){return t.dim+\"_\"+t.index}}function qm(t){return t&&\"category\"!==t.type&&\"time\"!==t.type&&function(t){var e=t.scale.getExtent(),i=e[0],n=e[1];return!(0<i&&0<n||i<0&&n<0)}(t)}Ym.type=\"grid\",Ym.axisPointerEnabled=!0,Ym.getRect=function(){return this._rect},Ym.update=function(t,e){var i=this._axesMap;this._updateScale(t,this.model),R(i.x,function(t){rg(t.scale,t.model)}),R(i.y,function(t){rg(t.scale,t.model)});var n={};R(i.x,function(t){jm(i,\"y\",t,n)}),R(i.y,function(t){jm(i,\"x\",t,n)}),this.resize(this.model,e)},Ym.resize=function(t,e,i){var o=bu(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()});this._rect=o;var n=this._axesList;function a(){R(n,function(t){var e=t.isHorizontal(),i=e?[0,o.width]:[0,o.height],n=t.inverse?1:0;t.setExtent(i[n],i[1-n]),function(t,e){var i=t.getExtent(),n=i[0]+i[1];t.toGlobalCoord=\"x\"===t.dim?function(t){return t+e}:function(t){return n-t+e},t.toLocalCoord=\"x\"===t.dim?function(t){return t-e}:function(t){return n-t+e}}(t,e?o.x:o.y)})}a(),!i&&t.get(\"containLabel\")&&(R(n,function(t){if(!t.model.get(\"axisLabel.inside\")){var e=function(t){var e=t.model,i=t.scale;if(e.get(\"axisLabel.show\")&&!i.isBlank()){var n,o,a=\"category\"===t.type,r=i.getExtent();o=a?i.count():(n=i.getTicks()).length;var s,l,u,h,c,d,f,p,g,m=t.getLabelModel(),v=lg(t),y=1;40<o&&(y=Math.ceil(o/40));for(var x=0;x<o;x+=y){var _=v(n?n[x]:r[0]+x),w=m.getTextRect(_),b=(l=w,u=m.get(\"rotate\")||0,void 0,h=u*Math.PI/180,c=l.plain(),d=c.width,f=c.height,p=d*Math.abs(Math.cos(h))+Math.abs(f*Math.sin(h)),g=d*Math.abs(Math.sin(h))+Math.abs(f*Math.cos(h)),new Di(c.x,c.y,p,g));s?s.union(b):s=b}return s}}(t);if(e){var i=t.isHorizontal()?\"height\":\"width\",n=t.model.get(\"axisLabel.margin\");o[i]-=e[i]+n,\"top\"===t.position?o.y+=e.height+n:\"left\"===t.position&&(o.x+=e.width+n)}}}),a())},Ym.getAxis=function(t,e){var i=this._axesMap[t];if(null!=i){if(null==e)for(var n in i)if(i.hasOwnProperty(n))return i[n];return i[e]}},Ym.getAxes=function(){return this._axesList.slice()},Ym.getCartesian=function(t,e){if(null!=t&&null!=e){var i=\"x\"+t+\"y\"+e;return this._coordsMap[i]}z(t)&&(e=t.yAxisIndex,t=t.xAxisIndex);for(var n=0,o=this._coordsList;n<o.length;n++)if(o[n].getAxis(\"x\").index===t||o[n].getAxis(\"y\").index===e)return o[n]},Ym.getCartesians=function(){return this._coordsList.slice()},Ym.convertToPixel=function(t,e,i){var n=this._findConvertTarget(t,e);return n.cartesian?n.cartesian.dataToPoint(i):n.axis?n.axis.toGlobalCoord(n.axis.dataToCoord(i)):null},Ym.convertFromPixel=function(t,e,i){var n=this._findConvertTarget(t,e);return n.cartesian?n.cartesian.pointToData(i):n.axis?n.axis.coordToData(n.axis.toLocalCoord(i)):null},Ym._findConvertTarget=function(t,e){var i,n,o=e.seriesModel,a=e.xAxisModel||o&&o.getReferringComponents(\"xAxis\")[0],r=e.yAxisModel||o&&o.getReferringComponents(\"yAxis\")[0],s=e.gridModel,l=this._coordsList;if(o)_(l,i=o.coordinateSystem)<0&&(i=null);else if(a&&r)i=this.getCartesian(a.componentIndex,r.componentIndex);else if(a)n=this.getAxis(\"x\",a.componentIndex);else if(r)n=this.getAxis(\"y\",r.componentIndex);else if(s){s.coordinateSystem===this&&(i=this._coordsList[0])}return{cartesian:i,axis:n}},Ym.containPoint=function(t){var e=this._coordsList[0];if(e)return e.containPoint(t)},Ym._initCartesian=function(r,t,e){var s={left:!1,right:!1,top:!1,bottom:!1},l={x:{},y:{}},u={x:0,y:0};if(t.eachComponent(\"xAxis\",i(\"x\"),this),t.eachComponent(\"yAxis\",i(\"y\"),this),!u.x||!u.y)return this._axesMap={},void(this._axesList=[]);function i(a){return function(t,e){if(Um(t,r)){var i=t.get(\"position\");\"x\"===a?\"top\"!==i&&\"bottom\"!==i&&(i=s.bottom?\"top\":\"bottom\"):\"left\"!==i&&\"right\"!==i&&(i=s.left?\"right\":\"left\"),s[i]=!0;var n=new zm(a,sg(t),[0,0],t.get(\"type\"),i),o=\"category\"===n.type;n.onBand=o&&t.get(\"boundaryGap\"),n.inverse=t.get(\"inverse\"),(t.axis=n).model=t,n.grid=this,n.index=e,this._axesList.push(n),l[a][e]=n,u[a]++}}}R((this._axesMap=l).x,function(o,a){R(l.y,function(t,e){var i=\"x\"+a+\"y\"+e,n=new Em(i);n.grid=this,n.model=r,this._coordsMap[i]=n,this._coordsList.push(n),n.addAxis(o),n.addAxis(t)},this)},this)},Ym._updateScale=function(l,u){function h(e,i){R(e.mapDimension(i.dim,!0),function(t){i.scale.unionExtentFromData(e,pp(e,t))})}R(this._axesList,function(t){t.scale.setExtent(1/0,-1/0)}),l.eachSeries(function(t){if(Jm(t)){var e=$m(t,l),i=e[0],n=e[1];if(!Um(i,u)||!Um(n,u))return;var o=this.getCartesian(i.componentIndex,n.componentIndex),a=t.getData(),r=o.getAxis(\"x\"),s=o.getAxis(\"y\");\"list\"===a.type&&(h(a,r,t),h(a,s,t))}},this)},Ym.getTooltipAxes=function(n){var o=[],a=[];return R(this.getCartesians(),function(t){var e=null!=n&&\"auto\"!==n?t.getAxis(n):t.getBaseAxis(),i=t.getOtherAxis(e);_(o,e)<0&&o.push(e),_(a,i)<0&&a.push(i)}),{baseAxes:o,otherAxes:a}};var Km=[\"xAxis\",\"yAxis\"];function $m(e){return O(Km,function(t){return e.getReferringComponents(t)[0]})}function Jm(t){return\"cartesian2d\"===t.get(\"coordinateSystem\")}Xm.create=function(n,o){var a=[];return n.eachComponent(\"grid\",function(t,e){var i=new Xm(t,n,o);i.name=\"grid_\"+e,i.resize(t,o,!0),t.coordinateSystem=i,a.push(i)}),n.eachSeries(function(t){if(Jm(t)){var e=$m(t),i=e[0],n=e[1],o=i.getCoordSysModel().coordinateSystem;t.coordinateSystem=o.getCartesian(i.componentIndex,n.componentIndex)}}),a},Xm.dimensions=Xm.prototype.dimensions=Em.prototype.dimensions,lh.register(\"cartesian2d\",Xm);function Qm(t,e){this.opt=e,this.axisModel=t,D(e,{labelOffset:0,nameDirection:1,tickDirection:1,labelDirection:1,silent:!0}),this.group=new Ci;var i=new Ci({position:e.position.slice(),rotation:e.rotation});i.updateTransform(),this._transform=i.transform,this._dumbGroup=i}var tv=Math.PI;Qm.prototype={constructor:Qm,hasBuilder:function(t){return!!ev[t]},add:function(t){ev[t].call(this)},getGroup:function(){return this.group}};var ev={axisLine:function(){var a=this.opt,t=this.axisModel;if(t.get(\"axisLine.show\")){var e=this.axisModel.axis.getExtent(),i=this._transform,r=[e[0],0],n=[e[1],0];i&&(bt(r,r,i),bt(n,n,i));var s=P({lineCap:\"round\"},t.getModel(\"axisLine.lineStyle\").getLineStyle());this.group.add(new ls({anid:\"line\",subPixelOptimize:!0,shape:{x1:r[0],y1:r[1],x2:n[0],y2:n[1]},style:s,strokeContainThreshold:a.strokeContainThreshold||5,silent:!0,z2:1}));var l=t.get(\"axisLine.symbol\"),o=t.get(\"axisLine.symbolSize\"),u=t.get(\"axisLine.symbolOffset\")||0;if(\"number\"==typeof u&&(u=[u,u]),null!=l){\"string\"==typeof l&&(l=[l,l]),\"string\"!=typeof o&&\"number\"!=typeof o||(o=[o,o]);var h=o[0],c=o[1];R([{rotate:a.rotation+Math.PI/2,offset:u[0],r:0},{rotate:a.rotation-Math.PI/2,offset:u[1],r:Math.sqrt((r[0]-n[0])*(r[0]-n[0])+(r[1]-n[1])*(r[1]-n[1]))}],function(t,e){if(\"none\"!==l[e]&&null!=l[e]){var i=wg(l[e],-h/2,-c/2,h,c,s.stroke,!0),n=t.r+t.offset,o=[r[0]+n*Math.cos(a.rotation),r[1]-n*Math.sin(a.rotation)];i.attr({rotation:t.rotate,position:o,silent:!0,z2:11}),this.group.add(i)}},this)}}},axisTickLabel:function(){var t=this.axisModel,e=this.opt,i=function(t,e,i){var n=e.axis,o=e.getModel(\"axisTick\");if(!o.get(\"show\")||n.scale.isBlank())return;for(var a=o.getModel(\"lineStyle\"),r=i.tickDirection*o.get(\"length\"),s=lv(n.getTicksCoords(),t._transform,r,D(a.getLineStyle(),{stroke:e.get(\"axisLine.lineStyle.color\")}),\"ticks\"),l=0;l<s.length;l++)t.group.add(s[l]);return s}(this,t,e);!function(t,e,i){if(cg(t.axis))return;var n=t.get(\"axisLabel.showMinLabel\"),o=t.get(\"axisLabel.showMaxLabel\");i=i||[];var a=(e=e||[])[0],r=e[1],s=e[e.length-1],l=e[e.length-2],u=i[0],h=i[1],c=i[i.length-1],d=i[i.length-2];!1===n?(av(a),av(u)):rv(a,r)&&(n?(av(r),av(h)):(av(a),av(u)));!1===o?(av(s),av(c)):rv(l,s)&&(o?(av(l),av(d)):(av(s),av(c)))}(t,function(u,h,c){var d=h.axis;if(!W(c.axisLabelShow,h.get(\"axisLabel.show\"))||d.scale.isBlank())return;var f=h.getModel(\"axisLabel\"),p=f.get(\"margin\"),t=d.getViewLabels(),e=(W(c.labelRotate,f.get(\"rotate\"))||0)*tv/180,g=nv(c.rotation,e,c.labelDirection),m=h.getCategories&&h.getCategories(!0),v=[],y=ov(h),x=h.get(\"triggerEvent\");return R(t,function(t,e){var i=t.tickValue,n=t.formattedLabel,o=t.rawLabel,a=f;m&&m[i]&&m[i].textStyle&&(a=new Cl(m[i].textStyle,f,h.ecModel));var r=a.getTextColor()||h.get(\"axisLine.lineStyle.color\"),s=[d.dataToCoord(i),c.labelOffset+c.labelDirection*p],l=new Ur({anid:\"label_\"+i,position:s,rotation:g.rotation,silent:y,z2:10});nl(l.style,a,{text:n,textAlign:a.getShallow(\"align\",!0)||g.textAlign,textVerticalAlign:a.getShallow(\"verticalAlign\",!0)||a.getShallow(\"baseline\",!0)||g.textVerticalAlign,textFill:\"function\"==typeof r?r(\"category\"===d.type?o:\"value\"===d.type?i+\"\":i,e):r}),x&&(l.eventData=iv(h),l.eventData.targetType=\"axisLabel\",l.eventData.value=o),u._dumbGroup.add(l),l.updateTransform(),v.push(l),u.group.add(l),l.decomposeTransform()}),v}(this,t,e),i),function(t,e,i){var n=e.axis,o=e.getModel(\"minorTick\");if(!o.get(\"show\")||n.scale.isBlank())return;var a=n.getMinorTicksCoords();if(!a.length)return;for(var r=o.getModel(\"lineStyle\"),s=i.tickDirection*o.get(\"length\"),l=D(r.getLineStyle(),D(e.getModel(\"axisTick\").getLineStyle(),{stroke:e.get(\"axisLine.lineStyle.color\")})),u=0;u<a.length;u++)for(var h=lv(a[u],t._transform,s,l,\"minorticks_\"+u),c=0;c<h.length;c++)t.group.add(h[c])}(this,t,e)},axisName:function(){var t=this.opt,e=this.axisModel,i=W(t.axisName,e.get(\"name\"));if(i){var n,o,a=e.get(\"nameLocation\"),r=t.nameDirection,s=e.getModel(\"nameTextStyle\"),l=e.get(\"nameGap\")||0,u=this.axisModel.axis.getExtent(),h=u[0]>u[1]?-1:1,c=[\"start\"===a?u[0]-h*l:\"end\"===a?u[1]+h*l:(u[0]+u[1])/2,sv(a)?t.labelOffset+r*l:0],d=e.get(\"nameRotate\");null!=d&&(d=d*tv/180),sv(a)?n=nv(t.rotation,null!=d?d:t.rotation,r):(n=function(t,e,i,n){var o,a,r=Zl(i-t.rotation),s=n[0]>n[1],l=\"start\"===e&&!s||\"start\"!==e&&s;o=Ul(r-tv/2)?(a=l?\"bottom\":\"top\",\"center\"):Ul(r-1.5*tv)?(a=l?\"top\":\"bottom\",\"center\"):(a=\"middle\",r<1.5*tv&&tv/2<r?l?\"left\":\"right\":l?\"right\":\"left\");return{rotation:r,textAlign:o,textVerticalAlign:a}}(t,a,d||0,u),null!=(o=t.axisNameAvailableWidth)&&(o=Math.abs(o/Math.sin(n.rotation)),isFinite(o)||(o=null)));var f=s.getFont(),p=e.get(\"nameTruncate\",!0)||{},g=p.ellipsis,m=W(t.nameTruncateMaxWidth,p.maxWidth,o),v=null!=g&&null!=m?pu(i,m,f,g,{minChar:2,placeholder:p.placeholder}):i,y=e.get(\"tooltip\",!0),x=e.mainType,_={componentType:x,name:i,$vars:[\"name\"]};_[x+\"Index\"]=e.componentIndex;var w=new Ur({anid:\"name\",__fullText:i,__truncatedText:v,position:c,rotation:n.rotation,silent:ov(e),z2:1,tooltip:y&&y.show?P({content:i,formatter:function(){return i},formatterParams:_},y):null});nl(w.style,s,{text:v,textFont:f,textFill:s.getTextColor()||e.get(\"axisLine.lineStyle.color\"),textAlign:s.get(\"align\")||n.textAlign,textVerticalAlign:s.get(\"verticalAlign\")||n.textVerticalAlign}),e.get(\"triggerEvent\")&&(w.eventData=iv(e),w.eventData.targetType=\"axisName\",w.eventData.name=i),this._dumbGroup.add(w),w.updateTransform(),this.group.add(w),w.decomposeTransform()}}},iv=Qm.makeAxisEventDataBase=function(t){var e={componentType:t.mainType,componentIndex:t.componentIndex};return e[t.mainType+\"Index\"]=t.componentIndex,e},nv=Qm.innerTextLayout=function(t,e,i){var n,o=Zl(e-t);return{rotation:o,textAlign:Ul(o)?(n=0<i?\"top\":\"bottom\",\"center\"):Ul(o-tv)?(n=0<i?\"bottom\":\"top\",\"center\"):(n=\"middle\",0<o&&o<tv?0<i?\"right\":\"left\":0<i?\"left\":\"right\"),textVerticalAlign:n}};var ov=Qm.isLabelSilent=function(t){var e=t.get(\"tooltip\");return t.get(\"silent\")||!(t.get(\"triggerEvent\")||e&&e.show)};function av(t){t&&(t.ignore=!0)}function rv(t,e){var i=t&&t.getBoundingRect().clone(),n=e&&e.getBoundingRect().clone();if(i&&n){var o=re([]);return he(o,o,-t.rotation),i.applyTransform(le([],o,t.getLocalTransform())),n.applyTransform(le([],o,e.getLocalTransform())),i.intersect(n)}}function sv(t){return\"middle\"===t||\"center\"===t}function lv(t,e,i,n,o){for(var a=[],r=[],s=[],l=0;l<t.length;l++){var u=t[l].coord;r[0]=u,s[r[1]=0]=u,s[1]=i,e&&(bt(r,r,e),bt(s,s,e));var h=new ls({anid:o+\"_\"+t[l].tickValue,subPixelOptimize:!0,shape:{x1:r[0],y1:r[1],x2:s[0],y2:s[1]},style:n,z2:2,silent:!0});a.push(h)}return a}var uv=R,hv=T;function cv(t,e){var i={axesInfo:{},seriesInvolved:!1,coordSysAxesInfo:{},coordSysMap:{}};return function(p,g,t){var a=g.getComponent(\"tooltip\"),m=g.getComponent(\"axisPointer\"),v=m.get(\"link\",!0)||[],y=[];uv(t.getCoordinateSystems(),function(c){if(c.axisPointerEnabled){var t=gv(c.model),d=p.coordSysAxesInfo[t]={},f=(p.coordSysMap[t]=c).model.getModel(\"tooltip\",a);if(uv(c.getAxes(),hv(o,!1,null)),c.getTooltipAxes&&a&&f.get(\"show\")){var e=\"axis\"===f.get(\"trigger\"),i=\"cross\"===f.get(\"axisPointer.type\"),n=c.getTooltipAxes(f.get(\"axisPointer.axis\"));(e||i)&&uv(n.baseAxes,hv(o,!i||\"cross\",e)),i&&uv(n.otherAxes,hv(o,\"cross\",!1))}}function o(t,e,i){var n=i.model.getModel(\"axisPointer\",m),o=n.get(\"show\");if(o&&(\"auto\"!==o||t||pv(n))){null==e&&(e=n.get(\"triggerTooltip\"));var a=(n=t?function(t,e,i,n,o,a){var r=e.getModel(\"axisPointer\"),s={};uv([\"type\",\"snap\",\"lineStyle\",\"shadowStyle\",\"label\",\"animation\",\"animationDurationUpdate\",\"animationEasingUpdate\",\"z\"],function(t){s[t]=k(r.get(t))}),s.snap=\"category\"!==t.type&&!!a,\"cross\"===r.get(\"type\")&&(s.type=\"line\");var l=s.label||(s.label={});if(null==l.show&&(l.show=!1),\"cross\"===o){var u=r.get(\"label.show\");if(l.show=null==u||u,!a){var h=s.lineStyle=r.get(\"crossStyle\");h&&D(l,h.textStyle)}}return t.model.getModel(\"axisPointer\",new Cl(s,i,n))}(i,f,m,g,t,e):n).get(\"snap\"),r=gv(i.model),s=e||a||\"category\"===i.type,l=p.axesInfo[r]={key:r,axis:i,coordSys:c,axisPointerModel:n,triggerTooltip:e,involveSeries:s,snap:a,useHandle:pv(n),seriesModels:[]};d[r]=l,p.seriesInvolved|=s;var u=function(t,e){for(var i=e.model,n=e.dim,o=0;o<t.length;o++){var a=t[o]||{};if(dv(a[n+\"AxisId\"],i.id)||dv(a[n+\"AxisIndex\"],i.componentIndex)||dv(a[n+\"AxisName\"],i.name))return o}}(v,i);if(null!=u){var h=y[u]||(y[u]={axesInfo:{}});h.axesInfo[r]=l,h.mapper=v[u].mapper,l.linkGroup=h}}}})}(i,t,e),i.seriesInvolved&&function(o,t){t.eachSeries(function(i){var n=i.coordinateSystem,t=i.get(\"tooltip.trigger\",!0),e=i.get(\"tooltip.show\",!0);n&&\"none\"!==t&&!1!==t&&\"item\"!==t&&!1!==e&&!1!==i.get(\"axisPointer.show\",!0)&&uv(o.coordSysAxesInfo[gv(n.model)],function(t){var e=t.axis;n.getAxis(e.dim)===e&&(t.seriesModels.push(i),null==t.seriesDataCount&&(t.seriesDataCount=0),t.seriesDataCount+=i.getData().count())})},this)}(i,t),i}function dv(t,e){return\"all\"===t||L(t)&&0<=_(t,e)||t===e}function fv(t){var e=(t.ecModel.getComponent(\"axisPointer\")||{}).coordSysAxesInfo;return e&&e.axesInfo[gv(t)]}function pv(t){return!!t.get(\"handle.show\")}function gv(t){return t.type+\"||\"+t.id}var mv=Af({type:\"axis\",_axisPointer:null,axisPointerClass:null,render:function(t,e,i,n){this.axisPointerClass&&function(t){var e=fv(t);if(e){var i=e.axisPointerModel,n=e.axis.scale,o=i.option,a=i.get(\"status\"),r=i.get(\"value\");null!=r&&(r=n.parse(r));var s=pv(i);null==a&&(o.status=s?\"show\":\"hide\");var l=n.getExtent().slice();l[0]>l[1]&&l.reverse(),(null==r||r>l[1])&&(r=l[1]),r<l[0]&&(r=l[0]),o.value=r,s&&(o.status=e.axis.scale.isBlank()?\"hide\":\"show\")}}(t),mv.superApply(this,\"render\",arguments),vv(this,t,e,i,n,!0)},updateAxisPointer:function(t,e,i,n,o){vv(this,t,e,i,n,!1)},remove:function(t,e){var i=this._axisPointer;i&&i.remove(e),mv.superApply(this,\"remove\",arguments)},dispose:function(t,e){yv(this,e),mv.superApply(this,\"dispose\",arguments)}});function vv(t,e,i,n,o,a){var r=mv.getAxisPointerClass(t.axisPointerClass);if(r){var s=function(t){var e=fv(t);return e&&e.axisPointerModel}(e);s?(t._axisPointer||(t._axisPointer=new r)).render(e,s,n,a):yv(t,n)}}function yv(t,e,i){var n=t._axisPointer;n&&n.dispose(e,i),t._axisPointer=null}var xv=[];function _v(t,e,i){i=i||{};var n=t.coordinateSystem,o=e.axis,a={},r=o.getAxesOnZeroOf()[0],s=o.position,l=r?\"onZero\":s,u=o.dim,h=n.getRect(),c=[h.x,h.x+h.width,h.y,h.y+h.height],d={left:0,right:1,top:0,bottom:1,onZero:2},f=e.get(\"offset\")||0,p=\"x\"===u?[c[2]-f,c[3]+f]:[c[0]-f,c[1]+f];if(r){var g=r.toGlobalCoord(r.dataToCoord(0));p[d.onZero]=Math.max(Math.min(g,p[1]),p[0])}a.position=[\"y\"===u?p[d[l]]:c[0],\"x\"===u?p[d[l]]:c[3]],a.rotation=Math.PI/2*(\"x\"===u?0:1);a.labelDirection=a.tickDirection=a.nameDirection={top:-1,bottom:1,left:-1,right:1}[s],a.labelOffset=r?p[d[s]]-p[d.onZero]:0,e.get(\"axisTick.inside\")&&(a.tickDirection=-a.tickDirection),W(i.labelInside,e.get(\"axisLabel.inside\"))&&(a.labelDirection=-a.labelDirection);var m=e.get(\"axisLabel.rotate\");return a.labelRotate=\"top\"===l?-m:m,a.z2=1,a}function wv(t,e,i,n){var o=i.axis;if(!o.scale.isBlank()){var a=i.getModel(\"splitArea\"),r=a.getModel(\"areaStyle\"),s=r.get(\"color\"),l=n.coordinateSystem.getRect(),u=o.getTicksCoords({tickModel:a,clamp:!0});if(u.length){var h=s.length,c=t.__splitAreaColors,d=Q(),f=0;if(c)for(var p=0;p<u.length;p++){var g=c.get(u[p].tickValue);if(null!=g){f=(g+(h-1)*p)%h;break}}var m=o.toGlobalCoord(u[0].coord),v=r.getAreaStyle();s=L(s)?s:[s];for(p=1;p<u.length;p++){var y,x,_,w,b=o.toGlobalCoord(u[p].coord);m=o.isHorizontal()?(y=m,x=l.y,_=b-y,w=l.height,y+_):(y=l.x,x=m,_=l.width,x+(w=b-x));var S=u[p-1].tickValue;null!=S&&d.set(S,f),e.add(new rs({anid:null!=S?\"area_\"+S:null,shape:{x:y,y:x,width:_,height:w},style:D({fill:s[f]},v),silent:!0})),f=(f+1)%h}t.__splitAreaColors=d}}}function bv(t){t.__splitAreaColors=null}mv.registerAxisPointerClass=function(t,e){xv[t]=e},mv.getAxisPointerClass=function(t){return t&&xv[t]};var Sv=[\"axisLine\",\"axisTickLabel\",\"axisName\"],Mv=[\"splitArea\",\"splitLine\",\"minorSplitLine\"],Iv=mv.extend({type:\"cartesianAxis\",axisPointerClass:\"CartesianAxisPointer\",render:function(e,t,i,n){this.group.removeAll();var o=this._axisGroup;if(this._axisGroup=new Ci,this.group.add(this._axisGroup),e.get(\"show\")){var a=e.getCoordSysModel(),r=_v(a,e),s=new Qm(e,r);R(Sv,s.add,s),this._axisGroup.add(s.getGroup()),R(Mv,function(t){e.get(t+\".show\")&&this[\"_\"+t](e,a)},this),ml(o,this._axisGroup,e),Iv.superCall(this,\"render\",e,t,i,n)}},remove:function(){bv(this)},_splitLine:function(t,e){var i=t.axis;if(!i.scale.isBlank()){var n=t.getModel(\"splitLine\"),o=n.getModel(\"lineStyle\"),a=o.get(\"color\");a=L(a)?a:[a];for(var r=e.coordinateSystem.getRect(),s=i.isHorizontal(),l=0,u=i.getTicksCoords({tickModel:n}),h=[],c=[],d=o.getLineStyle(),f=0;f<u.length;f++){var p=i.toGlobalCoord(u[f].coord);s?(h[0]=p,h[1]=r.y,c[0]=p,c[1]=r.y+r.height):(h[0]=r.x,h[1]=p,c[0]=r.x+r.width,c[1]=p);var g=l++%a.length,m=u[f].tickValue;this._axisGroup.add(new ls({anid:null!=m?\"line_\"+u[f].tickValue:null,subPixelOptimize:!0,shape:{x1:h[0],y1:h[1],x2:c[0],y2:c[1]},style:D({stroke:a[g]},d),silent:!0}))}}},_minorSplitLine:function(t,e){var i=t.axis,n=t.getModel(\"minorSplitLine\").getModel(\"lineStyle\"),o=e.coordinateSystem.getRect(),a=i.isHorizontal(),r=i.getMinorTicksCoords();if(r.length)for(var s=[],l=[],u=n.getLineStyle(),h=0;h<r.length;h++)for(var c=0;c<r[h].length;c++){var d=i.toGlobalCoord(r[h][c].coord);a?(s[0]=d,s[1]=o.y,l[0]=d,l[1]=o.y+o.height):(s[0]=o.x,s[1]=d,l[0]=o.x+o.width,l[1]=d),this._axisGroup.add(new ls({anid:\"minor_line_\"+r[h][c].tickValue,subPixelOptimize:!0,shape:{x1:s[0],y1:s[1],x2:l[0],y2:l[1]},style:u,silent:!0}))}},_splitArea:function(t,e){wv(this,this._axisGroup,t,e)}});Iv.extend({type:\"xAxis\"}),Iv.extend({type:\"yAxis\"}),Af({type:\"grid\",render:function(t,e){this.group.removeAll(),t.get(\"show\")&&this.group.add(new rs({shape:t.coordinateSystem.getRect(),style:D({fill:t.get(\"backgroundColor\")},t.getItemStyle()),silent:!0,z2:-1}))}}),yf(function(t){t.xAxis&&t.yAxis&&!t.grid&&(t.grid={})}),Sf(Lm(\"line\",\"circle\",\"line\")),bf(km(\"line\")),xf(Ld.PROCESSOR.STATISTIC,{seriesType:\"line\",modifyOutputEnd:!0,reset:function(t,e,i){var n=t.getData(),o=t.get(\"sampling\"),a=t.coordinateSystem;if(\"cartesian2d\"===a.type&&o){var r,s=a.getBaseAxis(),l=a.getOtherAxis(s),u=s.getExtent(),h=Math.abs(u[1]-u[0]),c=Math.round(n.count()/h);1<c&&(\"string\"==typeof o?r=Nm[o]:\"function\"==typeof o&&(r=o),r&&t.setData(n.downSample(n.mapDimension(l.dim),1/c,r,Pm)))}}});var Tv=sc.extend({type:\"series.__base_bar__\",getInitialData:function(t,e){return gp(this.getSource(),this,{useEncodeDefaulter:!0})},getMarkerPosition:function(t){var e=this.coordinateSystem;if(e){var i=e.dataToPoint(e.clampData(t)),n=this.getData(),o=n.getLayout(\"offset\"),a=n.getLayout(\"size\");return i[e.getBaseAxis().isHorizontal()?0:1]+=o+a/2,i}return[NaN,NaN]},defaultOption:{zlevel:0,z:2,coordinateSystem:\"cartesian2d\",legendHoverLink:!0,barMinHeight:0,barMinAngle:0,large:!1,largeThreshold:400,progressive:3e3,progressiveChunkMode:\"mod\",itemStyle:{},emphasis:{}}});function Av(t,e,i,n,o,a){el(t,e,i.getModel(\"label\"),i.getModel(\"emphasis.label\"),{labelFetcher:o,labelDataIndex:a,defaultText:Ug(o.getData(),a),isRectText:!0,autoColor:n}),Dv(t),Dv(e)}function Dv(t,e){\"outside\"===t.textPosition&&(t.textPosition=e)}Tv.extend({type:\"series.bar\",dependencies:[\"grid\",\"polar\"],brushSelector:\"rect\",getProgressive:function(){return!!this.get(\"large\")&&this.get(\"progressive\")},getProgressiveThreshold:function(){var t=this.get(\"progressiveThreshold\"),e=this.get(\"largeThreshold\");return t<e&&(t=e),t},defaultOption:{clip:!0,roundCap:!1,showBackground:!1,backgroundStyle:{color:\"rgba(180, 180, 180, 0.2)\",borderColor:null,borderWidth:0,borderType:\"solid\",borderRadius:0,shadowBlur:0,shadowColor:null,shadowOffsetX:0,shadowOffsetY:0,opacity:1}}});var Cv=ha([[\"fill\",\"color\"],[\"stroke\",\"borderColor\"],[\"lineWidth\",\"borderWidth\"],[\"stroke\",\"barBorderColor\"],[\"lineWidth\",\"barBorderWidth\"],[\"opacity\"],[\"shadowBlur\"],[\"shadowOffsetX\"],[\"shadowOffsetY\"],[\"shadowColor\"]]),Lv={getBarItemStyle:function(t){var e=Cv(this,t);if(this.getBorderLineDash){var i=this.getBorderLineDash();i&&(e.lineDash=i)}return e}},kv=Cs({type:\"sausage\",shape:{cx:0,cy:0,r0:0,r:0,startAngle:0,endAngle:2*Math.PI,clockwise:!0},buildPath:function(t,e){var i=e.cx,n=e.cy,o=Math.max(e.r0||0,0),a=Math.max(e.r,0),r=.5*(a-o),s=o+r,l=e.startAngle,u=e.endAngle,h=e.clockwise,c=Math.cos(l),d=Math.sin(l),f=Math.cos(u),p=Math.sin(u);(h?u-l<2*Math.PI:l-u<2*Math.PI)&&(t.moveTo(c*o+i,d*o+n),t.arc(c*s+i,d*s+n,r,-Math.PI+l,l,!h)),t.arc(i,n,a,l,u,!h),t.moveTo(f*a+i,p*a+n),t.arc(f*s+i,p*s+n,r,u-2*Math.PI,u-Math.PI,!h),0!==o&&(t.arc(i,n,o,u,l,h),t.moveTo(c*o+i,p*o+n)),t.closePath()}}),Pv=[\"itemStyle\",\"barBorderWidth\"],Nv=[0,0];P(Cl.prototype,Lv),Cf({type:\"bar\",render:function(t,e,i){this._updateDrawMode(t);var n=t.get(\"coordinateSystem\");return\"cartesian2d\"!==n&&\"polar\"!==n||(this._isLargeDraw?this._renderLarge(t,e,i):this._renderNormal(t,e,i)),this.group},incrementalPrepareRender:function(t,e,i){this._clear(),this._updateDrawMode(t)},incrementalRender:function(t,e,i,n){this._incrementalRenderLarge(t,e)},_updateDrawMode:function(t){var e=t.pipelineContext.large;(null==this._isLargeDraw||e^this._isLargeDraw)&&(this._isLargeDraw=e,this._clear())},_renderNormal:function(s,t,e){var l,u=this.group,h=s.getData(),c=this._data,d=s.coordinateSystem,i=d.getBaseAxis();\"cartesian2d\"===d.type?l=i.isHorizontal():\"polar\"===d.type&&(l=\"angle\"===i.dim);var f=s.isAnimationEnabled()?s:null,p=s.get(\"clip\",!0),g=function(t,e){var i=t.getArea&&t.getArea();if(\"cartesian2d\"===t.type){var n=t.getBaseAxis();if(\"category\"!==n.type||!n.onBand){var o=e.getLayout(\"bandWidth\");n.isHorizontal()?(i.x-=o,i.width+=2*o):(i.y-=o,i.height+=2*o)}}return i}(d,h);u.removeClipPath();function m(t){var e=Gv[d.type](h,t),i=function(t,e,i){return new(\"polar\"===t.type?qr:rs)({shape:Xv(e,i,t),silent:!0,z2:0})}(d,l,e);return i.useStyle(x.getBarItemStyle()),\"cartesian2d\"===d.type&&i.setShape(\"r\",_),w[t]=i}var v=s.get(\"roundCap\",!0),y=s.get(\"showBackground\",!0),x=s.getModel(\"backgroundStyle\"),_=x.get(\"barBorderRadius\")||0,w=[],b=this._backgroundEls||[];h.diff(c).add(function(t){var e=h.getItemModel(t),i=Gv[d.type](h,t,e);if(y&&m(t),h.hasValue(t)){if(p)if(Ev[d.type](g,i))return void u.remove(n);var n=zv[d.type](t,i,l,f,!1,v);h.setItemGraphicEl(t,n),u.add(n),Wv(n,h,t,e,i,s,l,\"polar\"===d.type)}}).update(function(t,e){var i=h.getItemModel(t),n=Gv[d.type](h,t,i);if(y){var o;0===b.length?o=m(e):((o=b[e]).useStyle(x.getBarItemStyle()),\"cartesian2d\"===d.type&&o.setShape(\"r\",_),w[t]=o);var a=Gv[d.type](h,t);cl(o,{shape:Xv(l,a,d)},f,t)}var r=c.getItemGraphicEl(e);if(h.hasValue(t)){if(p)if(Ev[d.type](g,n))return void u.remove(r);r?cl(r,{shape:n},f,t):r=zv[d.type](t,n,l,f,!0,v),h.setItemGraphicEl(t,r),u.add(r),Wv(r,h,t,i,n,s,l,\"polar\"===d.type)}else u.remove(r)}).remove(function(t){var e=c.getItemGraphicEl(t);\"cartesian2d\"===d.type?e&&Bv(t,f,e):e&&Vv(t,f,e)}).execute();var n=this._backgroundGroup||(this._backgroundGroup=new Ci);n.removeAll();for(var o=0;o<w.length;++o)n.add(w[o]);u.add(n),this._backgroundEls=w,this._data=h},_renderLarge:function(t,e,i){this._clear(),Zv(t,this.group);var n=t.get(\"clip\",!0)?Sm(t.coordinateSystem,!1,t):null;n?this.group.setClipPath(n):this.group.removeClipPath()},_incrementalRenderLarge:function(t,e){this._removeBackground(),Zv(e,this.group,!0)},dispose:et,remove:function(t){this._clear(t)},_clear:function(e){var t=this.group,i=this._data;e&&e.get(\"animation\")&&i&&!this._isLargeDraw?(this._removeBackground(),this._backgroundEls=[],i.eachItemGraphicEl(function(t){\"sector\"===t.type?Vv(t.dataIndex,e,t):Bv(t.dataIndex,e,t)})):t.removeAll(),this._data=null},_removeBackground:function(){this.group.remove(this._backgroundGroup),this._backgroundGroup=null}});var Ov=Math.max,Rv=Math.min,Ev={cartesian2d:function(t,e){var i=e.width<0?-1:1,n=e.height<0?-1:1;i<0&&(e.x+=e.width,e.width=-e.width),n<0&&(e.y+=e.height,e.height=-e.height);var o=Ov(e.x,t.x),a=Rv(e.x+e.width,t.x+t.width),r=Ov(e.y,t.y),s=Rv(e.y+e.height,t.y+t.height);e.x=o,e.y=r,e.width=a-o,e.height=s-r;var l=e.width<0||e.height<0;return i<0&&(e.x+=e.width,e.width=-e.width),n<0&&(e.y+=e.height,e.height=-e.height),l},polar:function(t,e){var i=e.r0<=e.r?1:-1;if(i<0){var n=e.r;e.r=e.r0,e.r0=n}n=Rv(e.r,t.r);var o=Ov(e.r0,t.r0),a=(e.r=n)-(e.r0=o)<0;if(i<0){n=e.r;e.r=e.r0,e.r0=n}return a}},zv={cartesian2d:function(t,e,i,n,o){var a=new rs({shape:P({},e),z2:1});if(a.name=\"item\",n){var r=i?\"height\":\"width\",s={};a.shape[r]=0,s[r]=e[r],bl[o?\"updateProps\":\"initProps\"](a,{shape:s},n,t)}return a},polar:function(t,e,i,n,o,a){var r=e.startAngle<e.endAngle,s=new(!i&&a?kv:qr)({shape:D({clockwise:r},e),z2:1});if(s.name=\"item\",n){var l=i?\"r\":\"endAngle\",u={};s.shape[l]=i?0:e.startAngle,u[l]=e[l],bl[o?\"updateProps\":\"initProps\"](s,{shape:u},n,t)}return s}};function Bv(t,e,i){i.style.text=null,cl(i,{shape:{width:0}},e,t,function(){i.parent&&i.parent.remove(i)})}function Vv(t,e,i){i.style.text=null,cl(i,{shape:{r:i.shape.r0}},e,t,function(){i.parent&&i.parent.remove(i)})}var Gv={cartesian2d:function(t,e,i){var n=t.getItemLayout(e),o=i?function(t,e){var i=t.get(Pv)||0,n=isNaN(e.width)?Number.MAX_VALUE:Math.abs(e.width),o=isNaN(e.height)?Number.MAX_VALUE:Math.abs(e.height);return Math.min(i,n,o)}(i,n):0,a=0<n.width?1:-1,r=0<n.height?1:-1;return{x:n.x+a*o/2,y:n.y+r*o/2,width:n.width-a*o,height:n.height-r*o}},polar:function(t,e,i){var n=t.getItemLayout(e);return{cx:n.cx,cy:n.cy,r0:n.r0,r:n.r,startAngle:n.startAngle,endAngle:n.endAngle}}};function Fv(t){return null!=t.startAngle&&null!=t.endAngle&&t.startAngle===t.endAngle}function Wv(t,e,i,n,o,a,r,s){var l=e.getItemVisual(i,\"color\"),u=e.getItemVisual(i,\"opacity\"),h=e.getVisual(\"borderColor\"),c=n.getModel(\"itemStyle\"),d=n.getModel(\"emphasis.itemStyle\").getBarItemStyle();s||t.setShape(\"r\",c.get(\"barBorderRadius\")||0),t.useStyle(D({stroke:Fv(o)?\"none\":h,fill:Fv(o)?\"none\":l,opacity:u},c.getBarItemStyle()));var f=n.getShallow(\"cursor\");f&&t.attr(\"cursor\",f);r?o.height:o.width;s||Av(t.style,d,n,l,a,i),Fv(o)&&(d.fill=d.stroke=\"none\"),$s(t,d)}var Hv=Ar.extend({type:\"largeBar\",shape:{points:[]},buildPath:function(t,e){for(var i=e.points,n=this.__startPoint,o=this.__baseDimIdx,a=0;a<i.length;a+=2)n[o]=i[a+o],t.moveTo(n[0],n[1]),t.lineTo(i[a],i[a+1])}});function Zv(t,e,i){var n=t.getData(),o=[],a=n.getLayout(\"valueAxisHorizontal\")?1:0;o[1-a]=n.getLayout(\"valueAxisStart\");var r=n.getLayout(\"largeDataIndices\"),s=n.getLayout(\"barWidth\"),l=t.getModel(\"backgroundStyle\");if(t.get(\"showBackground\",!0)){var u=n.getLayout(\"largeBackgroundPoints\"),h=[];h[1-a]=n.getLayout(\"backgroundStart\");var c=new Hv({shape:{points:u},incremental:!!i,__startPoint:h,__baseDimIdx:a,__largeDataIndices:r,__barWidth:s,silent:!0,z2:0});!function(t,e,i){var n=e.get(\"borderColor\")||e.get(\"color\"),o=e.getItemStyle([\"color\",\"borderColor\"]);t.useStyle(o),t.style.fill=null,t.style.stroke=n,t.style.lineWidth=i.getLayout(\"barWidth\")}(c,l,n),e.add(c)}var d=new Hv({shape:{points:n.getLayout(\"largePoints\")},incremental:!!i,__startPoint:o,__baseDimIdx:a,__largeDataIndices:r,__barWidth:s});e.add(d),function(t,e,i){var n=i.getVisual(\"borderColor\")||i.getVisual(\"color\"),o=e.getModel(\"itemStyle\").getItemStyle([\"color\",\"borderColor\"]);t.useStyle(o),t.style.fill=null,t.style.stroke=n,t.style.lineWidth=i.getLayout(\"barWidth\")}(d,t,n),d.seriesIndex=t.seriesIndex,t.get(\"silent\")||(d.on(\"mousedown\",Uv),d.on(\"mousemove\",Uv))}var Uv=Lc(function(t){var e=function(t,e,i){var n=t.__baseDimIdx,o=1-n,a=t.shape.points,r=t.__largeDataIndices,s=Math.abs(t.__barWidth/2),l=t.__startPoint[o];Nv[0]=e,Nv[1]=i;for(var u=Nv[n],h=Nv[1-n],c=u-s,d=u+s,f=0,p=a.length/2;f<p;f++){var g=2*f,m=a[g+n],v=a[g+o];if(c<=m&&m<=d&&(l<=v?l<=h&&h<=v:v<=h&&h<=l))return r[f]}return-1}(this,t.offsetX,t.offsetY);this.dataIndex=0<=e?e:null},30,!1);function Xv(t,e,i){var n,o=\"polar\"===i.type;return n=o?i.getArea():i.grid.getRect(),o?{cx:n.cx,cy:n.cy,r0:t?n.r0:e.r0,r:t?n.r:e.r,startAngle:t?e.startAngle:0,endAngle:t?e.endAngle:2*Math.PI}:{x:t?e.x:n.x,y:t?n.y:e.y,width:t?e.width:n.width,height:t?n.height:e.height}}bf(Ld.VISUAL.LAYOUT,T(zp,\"bar\")),bf(Ld.VISUAL.PROGRESSIVE_LAYOUT,Bp),Sf({seriesType:\"bar\",reset:function(t){t.getData().setVisual(\"legendSymbol\",\"roundRect\")}});function Yv(t,e,i){e=L(e)&&{coordDimensions:e}||P({},e);var n=t.getSource(),o=lp(n,e),a=new Yf(o,t);return a.initData(n,i),a}var jv={updateSelectedMap:function(t){this._targetList=L(t)?t.slice():[],this._selectTargetMap=S(t||[],function(t,e){return t.set(e.name,e),t},Q())},select:function(t,e){var i=null!=e?this._targetList[e]:this._selectTargetMap.get(t);\"single\"===this.get(\"selectedMode\")&&this._selectTargetMap.each(function(t){t.selected=!1}),i&&(i.selected=!0)},unSelect:function(t,e){var i=null!=e?this._targetList[e]:this._selectTargetMap.get(t);i&&(i.selected=!1)},toggleSelected:function(t,e){var i=null!=e?this._targetList[e]:this._selectTargetMap.get(t);if(null!=i)return this[i.selected?\"unSelect\":\"select\"](t,e),i.selected},isSelected:function(t,e){var i=null!=e?this._targetList[e]:this._selectTargetMap.get(t);return i&&i.selected}};function qv(i,e){this.getAllNames=function(){var t=e();return t.mapArray(t.getName)},this.containName=function(t){return 0<=e().indexOfName(t)},this.indexOfName=function(t){return i().indexOfName(t)},this.getItemVisual=function(t,e){return i().getItemVisual(t,e)}}var Kv=Df({type:\"series.pie\",init:function(t){Kv.superApply(this,\"init\",arguments),this.legendVisualProvider=new qv(A(this.getData,this),A(this.getRawData,this)),this.updateSelectedMap(this._createSelectableList()),this._defaultLabelLine(t)},mergeOption:function(t){Kv.superCall(this,\"mergeOption\",t),this.updateSelectedMap(this._createSelectableList())},getInitialData:function(t,e){return Yv(this,{coordDimensions:[\"value\"],encodeDefaulter:T(Ju,this)})},_createSelectableList:function(){for(var t=this.getRawData(),e=t.mapDimension(\"value\"),i=[],n=0,o=t.count();n<o;n++)i.push({name:t.getName(n),value:t.get(e,n),selected:Zh(t,n,\"selected\")});return i},getDataParams:function(t){var e=this.getData(),i=Kv.superCall(this,\"getDataParams\",t),n=[];return e.each(e.mapDimension(\"value\"),function(t){n.push(t)}),i.percent=Wl(n,t,e.hostModel.get(\"percentPrecision\")),i.$vars.push(\"percent\"),i},_defaultLabelLine:function(t){Go(t,\"labelLine\",[\"show\"]);var e=t.labelLine,i=t.emphasis.labelLine;e.show=e.show&&t.label.show,i.show=i.show&&t.emphasis.label.show},defaultOption:{zlevel:0,z:2,legendHoverLink:!0,hoverAnimation:!0,center:[\"50%\",\"50%\"],radius:[0,\"75%\"],clockwise:!0,startAngle:90,minAngle:0,minShowLabelAngle:0,selectedOffset:10,hoverOffset:10,avoidLabelOverlap:!0,percentPrecision:2,stillShowZeroSum:!0,left:0,top:0,right:0,bottom:0,width:null,height:null,label:{rotate:!1,show:!0,position:\"outer\",alignTo:\"none\",margin:\"25%\",bleedMargin:10,distanceToLabelLine:5},labelLine:{show:!0,length:15,length2:15,smooth:!1,lineStyle:{width:1,type:\"solid\"}},itemStyle:{borderWidth:1},animationType:\"expansion\",animationTypeUpdate:\"transition\",animationEasing:\"cubicOut\"}});function $v(t,e,i,n){var o=e.getData(),a=this.dataIndex,r=o.getName(a),s=e.get(\"selectedOffset\");n.dispatchAction({type:\"pieToggleSelect\",from:t,name:r,seriesId:e.id}),o.each(function(t){Jv(o.getItemGraphicEl(t),o.getItemLayout(t),e.isSelected(o.getName(t)),s,i)})}function Jv(t,e,i,n,o){var a=(e.startAngle+e.endAngle)/2,r=i?n:0,s=[Math.cos(a)*r,Math.sin(a)*r];o?t.animate().when(200,{position:s}).start(\"bounceOut\"):t.attr(\"position\",s)}function Qv(t,e){Ci.call(this);var i=new qr({z2:2}),n=new ts,o=new Ur;this.add(i),this.add(n),this.add(o),this.updateData(t,e,!0)}b(Kv,jv);var ty=Qv.prototype;ty.updateData=function(t,e,i){var n=this.childAt(0),o=this.childAt(1),a=this.childAt(2),r=t.hostModel,s=t.getItemModel(e),l=t.getItemLayout(e),u=P({},l);u.label=null;var h=r.getShallow(\"animationTypeUpdate\");i?(n.setShape(u),\"scale\"===r.getShallow(\"animationType\")?(n.shape.r=l.r0,dl(n,{shape:{r:l.r}},r,e)):(n.shape.endAngle=l.startAngle,cl(n,{shape:{endAngle:l.endAngle}},r,e))):\"expansion\"===h?n.setShape(u):cl(n,{shape:u},r,e);var c=t.getItemVisual(e,\"color\");n.useStyle(D({lineJoin:\"bevel\",fill:c},s.getModel(\"itemStyle\").getItemStyle())),n.hoverStyle=s.getModel(\"emphasis.itemStyle\").getItemStyle();var d=s.getShallow(\"cursor\");d&&n.attr(\"cursor\",d),Jv(this,t.getItemLayout(e),r.isSelected(t.getName(e)),r.get(\"selectedOffset\"),r.get(\"animation\"));var f=!i&&\"transition\"===h;this._updateLabel(t,e,f),this.highDownOnUpdate=r.get(\"silent\")?null:function(t,e){var i=r.isAnimationEnabled()&&s.get(\"hoverAnimation\");\"emphasis\"===e?(o.ignore=o.hoverIgnore,a.ignore=a.hoverIgnore,i&&(n.stopAnimation(!0),n.animateTo({shape:{r:l.r+r.get(\"hoverOffset\")}},300,\"elasticOut\"))):(o.ignore=o.normalIgnore,a.ignore=a.normalIgnore,i&&(n.stopAnimation(!0),n.animateTo({shape:{r:l.r}},300,\"elasticOut\")))},$s(this)},ty._updateLabel=function(t,e,i){var n=this.childAt(1),o=this.childAt(2),a=t.hostModel,r=t.getItemModel(e),s=t.getItemLayout(e).label,l=t.getItemVisual(e,\"color\");if(!s||isNaN(s.x)||isNaN(s.y))o.ignore=o.normalIgnore=o.hoverIgnore=n.ignore=n.normalIgnore=n.hoverIgnore=!0;else{var u={points:s.linePoints||[[s.x,s.y],[s.x,s.y],[s.x,s.y]]},h={x:s.x,y:s.y};i?(cl(n,{shape:u},a,e),cl(o,{style:h},a,e)):(n.attr({shape:u}),o.attr({style:h})),o.attr({rotation:s.rotation,origin:[s.x,s.y],z2:10});var c=r.getModel(\"label\"),d=r.getModel(\"emphasis.label\"),f=r.getModel(\"labelLine\"),p=r.getModel(\"emphasis.labelLine\");l=t.getItemVisual(e,\"color\");el(o.style,o.hoverStyle={},c,d,{labelFetcher:t.hostModel,labelDataIndex:e,defaultText:s.text,autoColor:l,useInsideStyle:!!s.inside},{textAlign:s.textAlign,textVerticalAlign:s.verticalAlign,opacity:t.getItemVisual(e,\"opacity\")}),o.ignore=o.normalIgnore=!c.get(\"show\"),o.hoverIgnore=!d.get(\"show\"),n.ignore=n.normalIgnore=!f.get(\"show\"),n.hoverIgnore=!p.get(\"show\"),n.setStyle({stroke:l,opacity:t.getItemVisual(e,\"opacity\")}),n.setStyle(f.getModel(\"lineStyle\").getLineStyle()),n.hoverStyle=p.getModel(\"lineStyle\").getLineStyle();var g=f.get(\"smooth\");g&&!0===g&&(g=.4),n.setShape({smooth:g})}},w(Qv,Ci);function ey(i,t){R(t,function(a){a.update=\"updateView\",_f(a,function(t,e){var o={};return e.eachComponent({mainType:\"series\",subType:i,query:t},function(i){i[a.method]&&i[a.method](t.name,t.dataIndex);var n=i.getData();n.each(function(t){var e=n.getName(t);o[e]=i.isSelected(e)||!1})}),{name:t.name,selected:o,seriesId:t.seriesId}})})}function iy(n){return{getTargetSeries:function(t){var e={},i=Q();return t.eachSeriesByType(n,function(t){t.__paletteScope=e,i.set(t.uid,t)}),i},reset:function(s,t){var l=s.getRawData(),u={},h=s.getData();h.each(function(t){var e=h.getRawIndex(t);u[e]=t}),l.each(function(t){var e,i=u[t],n=null!=i&&h.getItemVisual(i,\"color\",!0),o=null!=i&&h.getItemVisual(i,\"borderColor\",!0);if(n&&o||(e=l.getItemModel(t)),!n){var a=e.get(\"itemStyle.color\")||s.getColorFromPalette(l.getName(t)||t+\"\",s.__paletteScope,l.count());null!=i&&h.setItemVisual(i,\"color\",a)}if(!o){var r=e.get(\"itemStyle.borderColor\");null!=i&&h.setItemVisual(i,\"borderColor\",r)}})}}}_c.extend({type:\"pie\",init:function(){var t=new Ci;this._sectorGroup=t},render:function(t,e,i,n){if(!n||n.from!==this.uid){var o=t.getData(),a=this._data,r=this.group,s=e.get(\"animation\"),l=!a,u=t.get(\"animationType\"),h=t.get(\"animationTypeUpdate\"),c=T($v,this.uid,t,s,i),d=t.get(\"selectedMode\");if(o.diff(a).add(function(t){var e=new Qv(o,t);l&&\"scale\"!==u&&e.eachChild(function(t){t.stopAnimation(!0)}),d&&e.on(\"click\",c),o.setItemGraphicEl(t,e),r.add(e)}).update(function(t,e){var i=a.getItemGraphicEl(e);l||\"transition\"===h||i.eachChild(function(t){t.stopAnimation(!0)}),i.updateData(o,t),i.off(\"click\"),d&&i.on(\"click\",c),r.add(i),o.setItemGraphicEl(t,i)}).remove(function(t){var e=a.getItemGraphicEl(t);r.remove(e)}).execute(),s&&0<o.count()&&(l?\"scale\"!==u:\"transition\"!==h)){for(var f=o.getItemLayout(0),p=1;isNaN(f.startAngle)&&p<o.count();++p)f=o.getItemLayout(p);var g=Math.max(i.getWidth(),i.getHeight())/2,m=A(r.removeClipPath,r);r.setClipPath(this._createClipPath(f.cx,f.cy,g,f.startAngle,f.clockwise,m,t,l))}else r.removeClipPath();this._data=o}},dispose:function(){},_createClipPath:function(t,e,i,n,o,a,r,s){var l=new qr({shape:{cx:t,cy:e,r0:0,r:i,startAngle:n,endAngle:n,clockwise:o}});return(s?dl:cl)(l,{shape:{endAngle:n+(o?1:-1)*Math.PI*2}},r,a),l},containPoint:function(t,e){var i=e.getData().getItemLayout(0);if(i){var n=t[0]-i.cx,o=t[1]-i.cy,a=Math.sqrt(n*n+o*o);return a<=i.r&&a>=i.r0}}});var ny=Math.PI/180;function oy(o,t,e,i,n,a,r,s,l,u){function h(t,e,i){for(var n=t;n<e&&!(o[n].y+i>l+r);n++)if(o[n].y+=i,t<n&&n+1<e&&o[n+1].y>o[n].y+o[n].height)return void c(n,i/2);c(e-1,i/2)}function c(t,e){for(var i=t;0<=i&&!(o[i].y-e<l)&&(o[i].y-=e,!(0<i&&o[i].y>o[i-1].y+o[i-1].height));i--);}function d(t,e,i,n,o,a){for(var r=e?Number.MAX_VALUE:0,s=0,l=t.length;s<l;s++)if(\"none\"===t[s].labelAlignTo){var u=Math.abs(t[s].y-n),h=t[s].len,c=t[s].len2,d=u<o+h?Math.sqrt((o+h+c)*(o+h+c)-u*u):Math.abs(t[s].x-i);e&&r<=d&&(d=r-10),!e&&d<=r&&(d=r+10),t[s].x=i+d*a,r=d}}o.sort(function(t,e){return t.y-e.y});for(var f,p=0,g=o.length,m=[],v=[],y=0;y<g;y++){if(\"outer\"===o[y].position&&\"labelLine\"===o[y].labelAlignTo){var x=o[y].x-u;o[y].linePoints[1][0]+=x,o[y].x=u}(f=o[y].y-p)<0&&h(y,g,-f),p=o[y].y+o[y].height}r-p<0&&c(g-1,p-r);for(y=0;y<g;y++)o[y].y>=e?v.push(o[y]):m.push(o[y]);d(m,!1,t,e,i,n),d(v,!0,t,e,i,n)}function ay(t){return\"center\"===t.position}function ry(L,k,P,t,N,e){var O,R,E=L.getData(),z=[],B=!1,V=(L.get(\"minShowLabelAngle\")||0)*ny;E.each(function(t){var e=E.getItemLayout(t),i=E.getItemModel(t),n=i.getModel(\"label\"),o=n.get(\"position\")||i.get(\"emphasis.label.position\"),a=n.get(\"distanceToLabelLine\"),r=n.get(\"alignTo\"),s=El(n.get(\"margin\"),P),l=n.get(\"bleedMargin\"),u=n.getFont(),h=i.getModel(\"labelLine\"),c=h.get(\"length\");c=El(c,P);var d=h.get(\"length2\");if(d=El(d,P),!(e.angle<V)){var f,p,g,m,v=(e.startAngle+e.endAngle)/2,y=Math.cos(v),x=Math.sin(v);O=e.cx,R=e.cy;var _,w=L.getFormattedLabel(t,\"normal\")||E.getName(t),b=gn(w,u,m,\"top\"),S=\"inside\"===o||\"inner\"===o;if(\"center\"===o)f=e.cx,p=e.cy,m=\"center\";else{var M=(S?(e.r+e.r0)/2*y:e.r*y)+O,I=(S?(e.r+e.r0)/2*x:e.r*x)+R;if(f=M+3*y,p=I+3*x,!S){var T=M+y*(c+k-e.r),A=I+x*(c+k-e.r),D=T+(y<0?-1:1)*d;f=\"edge\"===r?y<0?N+s:N+P-s:D+(y<0?-a:a),g=[[M,I],[T,A],[D,p=A]]}m=S?\"center\":\"edge\"===r?0<y?\"right\":\"left\":0<y?\"left\":\"right\"}var C=n.get(\"rotate\");_=\"number\"==typeof C?C*(Math.PI/180):C?y<0?-v+Math.PI:-v:0,B=!!_,e.label={x:f,y:p,position:o,height:b.height,len:c,len2:d,linePoints:g,textAlign:m,verticalAlign:\"middle\",rotation:_,inside:S,labelDistance:a,labelAlignTo:r,labelMargin:s,bleedMargin:l,textRect:b,text:w,font:u},S||z.push(e.label)}}),!B&&L.get(\"avoidLabelOverlap\")&&function(t,e,i,n,o,a,r,s){for(var l=[],u=[],h=Number.MAX_VALUE,c=-Number.MAX_VALUE,d=0;d<t.length;d++)ay(t[d])||(t[d].x<e?(h=Math.min(h,t[d].x),l.push(t[d])):(c=Math.max(c,t[d].x),u.push(t[d])));for(oy(u,e,i,n,1,0,a,0,s,c),oy(l,e,i,n,-1,0,a,0,s,h),d=0;d<t.length;d++){var f=t[d];if(!ay(f)){var p=f.linePoints;if(p){var g,m=\"edge\"===f.labelAlignTo,v=f.textRect.width;(g=m?f.x<e?p[2][0]-f.labelDistance-r-f.labelMargin:r+o-f.labelMargin-p[2][0]-f.labelDistance:f.x<e?f.x-r-f.bleedMargin:r+o-f.x-f.bleedMargin)<f.textRect.width&&(f.text=xn(f.text,g,f.font),\"edge\"===f.labelAlignTo&&(v=pn(f.text,f.font)));var y=p[1][0]-p[2][0];m?f.x<e?p[2][0]=r+f.labelMargin+v+f.labelDistance:p[2][0]=r+o-f.labelMargin-v-f.labelDistance:(f.x<e?p[2][0]=f.x+f.labelDistance:p[2][0]=f.x-f.labelDistance,p[1][0]=p[2][0]+y),p[1][1]=p[2][1]=f.y}}}}(z,O,R,k,P,t,N,e)}var sy=2*Math.PI,ly=Math.PI/180;function uy(t){return{seriesType:t,reset:function(t,e){var n=e.findComponents({mainType:\"legend\"});if(n&&n.length){var o=t.getData();o.filterSelf(function(t){for(var e=o.getName(t),i=0;i<n.length;i++)if(!n[i].isSelected(e))return!1;return!0})}}}}ey(\"pie\",[{type:\"pieToggleSelect\",event:\"pieselectchanged\",method:\"toggleSelected\"},{type:\"pieSelect\",event:\"pieselected\",method:\"select\"},{type:\"pieUnSelect\",event:\"pieunselected\",method:\"unSelect\"}]),Sf(iy(\"pie\")),bf(T(function(t,e,A,i){e.eachSeriesByType(t,function(t){var o=t.getData(),e=o.mapDimension(\"value\"),a=function(t,e){return bu(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()})}(t,A),i=t.get(\"center\"),n=t.get(\"radius\");L(n)||(n=[0,n]),L(i)||(i=[i,i]);var r=El(a.width,A.getWidth()),s=El(a.height,A.getHeight()),l=Math.min(r,s),u=El(i[0],r)+a.x,h=El(i[1],s)+a.y,c=El(n[0],l/2),d=El(n[1],l/2),f=-t.get(\"startAngle\")*ly,p=t.get(\"minAngle\")*ly,g=0;o.each(e,function(t){isNaN(t)||g++});var m=o.getSum(e),v=Math.PI/(m||g)*2,y=t.get(\"clockwise\"),x=t.get(\"roseType\"),_=t.get(\"stillShowZeroSum\"),w=o.getDataExtent(e);w[0]=0;var b=sy,S=0,M=f,I=y?1:-1;if(o.each(e,function(t,e){var i;if(isNaN(t))o.setItemLayout(e,{angle:NaN,startAngle:NaN,endAngle:NaN,clockwise:y,cx:u,cy:h,r0:c,r:x?NaN:d,viewRect:a});else{(i=\"area\"!==x?0===m&&_?v:t*v:sy/g)<p?b-=i=p:S+=t;var n=M+I*i;o.setItemLayout(e,{angle:i,startAngle:M,endAngle:n,clockwise:y,cx:u,cy:h,r0:c,r:x?Rl(t,w,[c,d]):d,viewRect:a}),M=n}}),b<sy&&g)if(b<=.001){var T=sy/g;o.each(e,function(t,e){if(!isNaN(t)){var i=o.getItemLayout(e);i.angle=T,i.startAngle=f+I*e*T,i.endAngle=f+I*(e+1)*T}})}else v=b/S,M=f,o.each(e,function(t,e){if(!isNaN(t)){var i=o.getItemLayout(e),n=i.angle===p?p:t*v;i.startAngle=M,i.endAngle=M+I*n,M+=I*n}});ry(t,d,a.width,a.height,a.x,a.y)})},\"pie\")),xf(uy(\"pie\")),sc.extend({type:\"series.scatter\",dependencies:[\"grid\",\"polar\",\"geo\",\"singleAxis\",\"calendar\"],getInitialData:function(t,e){return gp(this.getSource(),this,{useEncodeDefaulter:!0})},brushSelector:\"point\",getProgressive:function(){var t=this.option.progressive;return null==t?this.option.large?5e3:this.get(\"progressive\"):t},getProgressiveThreshold:function(){var t=this.option.progressiveThreshold;return null==t?this.option.large?1e4:this.get(\"progressiveThreshold\"):t},defaultOption:{coordinateSystem:\"cartesian2d\",zlevel:0,z:2,legendHoverLink:!0,hoverAnimation:!0,symbolSize:10,large:!1,largeThreshold:2e3,itemStyle:{opacity:.8},clip:!0}});var hy=Cs({shape:{points:null},symbolProxy:null,softClipShape:null,buildPath:function(t,e){var i=e.points,n=e.size,o=this.symbolProxy,a=o.shape;if(!((t.getContext?t.getContext():t)&&n[0]<4))for(var r=0;r<i.length;){var s=i[r++],l=i[r++];isNaN(s)||isNaN(l)||this.softClipShape&&!this.softClipShape.contain(s,l)||(a.x=s-n[0]/2,a.y=l-n[1]/2,a.width=n[0],a.height=n[1],o.buildPath(t,a,!0))}},afterBrush:function(t){var e=this.shape,i=e.points,n=e.size;if(n[0]<4){this.setTransform(t);for(var o=0;o<i.length;){var a=i[o++],r=i[o++];isNaN(a)||isNaN(r)||this.softClipShape&&!this.softClipShape.contain(a,r)||t.fillRect(a-n[0]/2,r-n[1]/2,n[0],n[1])}this.restoreTransform(t)}},findDataIndex:function(t,e){for(var i=this.shape,n=i.points,o=i.size,a=Math.max(o[0],4),r=Math.max(o[1],4),s=n.length/2-1;0<=s;s--){var l=2*s,u=n[l]-a/2,h=n[1+l]-r/2;if(u<=t&&h<=e&&t<=u+a&&e<=h+r)return s}return-1}});function cy(){this.group=new Ci}var dy=cy.prototype;function fy(t,e,i){Gg.call(this,t,e,i),this.type=\"value\",this.angle=0,this.name=\"\",this.model}function py(t,e,i){this._model=t,this.dimensions=[],this._indicatorAxes=O(t.getIndicatorModels(),function(t,e){var i=\"indicator_\"+e,n=new fy(i,\"log\"===t.get(\"axisType\")?new ng:new Dp);return n.name=t.get(\"name\"),(n.model=t).axis=n,this.dimensions.push(i),n},this),this.resize(t,i),this.cx,this.cy,this.r,this.r0,this.startAngle}dy.isPersistent=function(){return!this._incremental},dy.updateData=function(t,e){this.group.removeAll();var i=new hy({rectHover:!0,cursor:\"default\"});i.setShape({points:t.getLayout(\"symbolPoints\")}),this._setCommon(i,t,!1,e),this.group.add(i),this._incremental=null},dy.updateLayout=function(t){if(!this._incremental){var n=t.getLayout(\"symbolPoints\");this.group.eachChild(function(t){if(null!=t.startIndex){var e=2*(t.endIndex-t.startIndex),i=4*t.startIndex*2;n=new Float32Array(n.buffer,i,e)}t.setShape(\"points\",n)})}},dy.incrementalPrepareUpdate=function(t){this.group.removeAll(),this._clearIncremental(),2e6<t.count()?(this._incremental||(this._incremental=new vs({silent:!0})),this.group.add(this._incremental)):this._incremental=null},dy.incrementalUpdate=function(t,e,i){var n;this._incremental?(n=new hy,this._incremental.addDisplayable(n,!0)):((n=new hy({rectHover:!0,cursor:\"default\",startIndex:t.start,endIndex:t.end})).incremental=!0,this.group.add(n)),n.setShape({points:e.getLayout(\"symbolPoints\")}),this._setCommon(n,e,!!this._incremental,i)},dy._setCommon=function(i,t,e,n){var o=t.hostModel;n=n||{};var a=t.getVisual(\"symbolSize\");i.setShape(\"size\",a instanceof Array?a:[a,a]),i.softClipShape=n.clipShape||null,i.symbolProxy=wg(t.getVisual(\"symbol\"),0,0,0,0),i.setColor=i.symbolProxy.setColor;var r=i.shape.size[0]<4;i.useStyle(o.getModel(\"itemStyle\").getItemStyle(r?[\"color\",\"shadowBlur\",\"shadowColor\"]:[\"color\"]));var s=t.getVisual(\"color\");s&&i.setColor(s),e||(i.seriesIndex=o.seriesIndex,i.on(\"mousemove\",function(t){i.dataIndex=null;var e=i.findDataIndex(t.offsetX,t.offsetY);0<=e&&(i.dataIndex=e+(i.startIndex||0))}))},dy.remove=function(){this._clearIncremental(),this._incremental=null,this.group.removeAll()},dy._clearIncremental=function(){var t=this._incremental;t&&t.clearDisplaybles()},Cf({type:\"scatter\",render:function(t,e,i){var n=t.getData();this._updateSymbolDraw(n,t).updateData(n,{clipShape:this._getClipShape(t)}),this._finished=!0},incrementalPrepareRender:function(t,e,i){var n=t.getData();this._updateSymbolDraw(n,t).incrementalPrepareUpdate(n),this._finished=!1},incrementalRender:function(t,e,i){this._symbolDraw.incrementalUpdate(t,e.getData(),{clipShape:this._getClipShape(e)}),this._finished=t.end===e.getData().count()},updateTransform:function(t,e,i){var n=t.getData();if(this.group.dirty(),!this._finished||1e4<n.count()||!this._symbolDraw.isPersistent())return{update:!0};var o=km().reset(t);o.progress&&o.progress({start:0,end:n.count()},n),this._symbolDraw.updateLayout(n)},_getClipShape:function(t){var e=t.coordinateSystem,i=e&&e.getArea&&e.getArea();return t.get(\"clip\",!0)?i:null},_updateSymbolDraw:function(t,e){var i=this._symbolDraw,n=e.pipelineContext.large;return i&&n===this._isLargeDraw||(i&&i.remove(),i=this._symbolDraw=n?new cy:new im,this._isLargeDraw=n,this.group.removeAll()),this.group.add(i.group),i},remove:function(t,e){this._symbolDraw&&this._symbolDraw.remove(!0),this._symbolDraw=null},dispose:function(){}}),Sf(Lm(\"scatter\",\"circle\")),bf(km(\"scatter\")),w(fy,Gg),py.prototype.getIndicatorAxes=function(){return this._indicatorAxes},py.prototype.dataToPoint=function(t,e){var i=this._indicatorAxes[e];return this.coordToPoint(i.dataToCoord(t),e)},py.prototype.coordToPoint=function(t,e){var i=this._indicatorAxes[e].angle;return[this.cx+t*Math.cos(i),this.cy-t*Math.sin(i)]},py.prototype.pointToData=function(t){var e=t[0]-this.cx,i=t[1]-this.cy,n=Math.sqrt(e*e+i*i);e/=n,i/=n;for(var o,a=Math.atan2(-i,e),r=1/0,s=-1,l=0;l<this._indicatorAxes.length;l++){var u=this._indicatorAxes[l],h=Math.abs(a-u.angle);h<r&&(o=u,s=l,r=h)}return[s,+(o&&o.coordToData(n))]},py.prototype.resize=function(t,e){var i=t.get(\"center\"),n=e.getWidth(),o=e.getHeight(),a=Math.min(n,o)/2;this.cx=El(i[0],n),this.cy=El(i[1],o),this.startAngle=t.get(\"startAngle\")*Math.PI/180;var r=t.get(\"radius\");\"string\"!=typeof r&&\"number\"!=typeof r||(r=[0,r]),this.r0=El(r[0],a),this.r=El(r[1],a),R(this._indicatorAxes,function(t,e){t.setExtent(this.r0,this.r);var i=this.startAngle+e*Math.PI*2/this._indicatorAxes.length;i=Math.atan2(Math.sin(i),Math.cos(i)),t.angle=i},this)},py.prototype.update=function(n,t){var o=this._indicatorAxes,a=this._model;R(o,function(t){t.scale.setExtent(1/0,-1/0)}),n.eachSeriesByType(\"radar\",function(t,e){if(\"radar\"===t.get(\"coordinateSystem\")&&n.getComponent(\"radar\",t.get(\"radarIndex\"))===a){var i=t.getData();R(o,function(t){t.scale.unionExtentFromData(i,i.mapDimension(t.dim))})}},this);var c=a.get(\"splitNumber\");function d(t){var e=Math.pow(10,Math.floor(Math.log(t)/Math.LN10)),i=t/e;return 2===i?i=5:i*=2,i*e}R(o,function(t,e){var i=ag(t.scale,t.model).extent;rg(t.scale,t.model);var n=t.model,o=t.scale,a=n.getMin(),r=n.getMax(),s=o.getInterval();if(null!=a&&null!=r)o.setExtent(+a,+r),o.setInterval((r-a)/c);else if(null!=a)for(;u=a+s*c,o.setExtent(+a,u),o.setInterval(s),s=d(s),u<i[1]&&isFinite(u)&&isFinite(i[1]););else if(null!=r)for(;h=r-s*c,o.setExtent(h,+r),o.setInterval(s),s=d(s),h>i[0]&&isFinite(h)&&isFinite(i[0]););else{var l=o.getTicks().length-1;c<l&&(s=d(s));var u,h=zl((u=Math.ceil(i[1]/s)*s)-s*c);o.setExtent(h,u),o.setInterval(s)}})},py.dimensions=[],py.create=function(i,n){var o=[];return i.eachComponent(\"radar\",function(t){var e=new py(t,i,n);o.push(e),t.coordinateSystem=e}),i.eachSeriesByType(\"radar\",function(t){\"radar\"===t.get(\"coordinateSystem\")&&(t.coordinateSystem=o[t.get(\"radarIndex\")||0])}),o},lh.register(\"radar\",py);var gy=Vm.valueAxis;function my(t,e){return D({show:e},t)}Tf({type:\"radar\",optionUpdated:function(){var o=this.get(\"boundaryGap\"),a=this.get(\"splitNumber\"),r=this.get(\"scale\"),s=this.get(\"axisLine\"),l=this.get(\"axisTick\"),u=this.get(\"axisType\"),h=this.get(\"axisLabel\"),c=this.get(\"name\"),d=this.get(\"name.show\"),f=this.get(\"name.formatter\"),p=this.get(\"nameGap\"),g=this.get(\"triggerEvent\"),t=O(this.get(\"indicator\")||[],function(t){null!=t.max&&0<t.max&&!t.min?t.min=0:null!=t.min&&t.min<0&&!t.max&&(t.max=0);var e=c;if(null!=t.color&&(e=D({color:t.color},c)),t=m(k(t),{boundaryGap:o,splitNumber:a,scale:r,axisLine:s,axisTick:l,axisType:u,axisLabel:h,name:t.text,nameLocation:\"end\",nameGap:p,nameTextStyle:e,triggerEvent:g},!1),d||(t.name=\"\"),\"string\"==typeof f){var i=t.name;t.name=f.replace(\"{value}\",null!=i?i:\"\")}else\"function\"==typeof f&&(t.name=f(t.name,t));var n=P(new Cl(t,null,this.ecModel),dg);return n.mainType=\"radar\",n.componentIndex=this.componentIndex,n},this);this.getIndicatorModels=function(){return t}},defaultOption:{zlevel:0,z:0,center:[\"50%\",\"50%\"],radius:\"75%\",startAngle:90,name:{show:!0},boundaryGap:[0,0],splitNumber:5,nameGap:15,scale:!1,shape:\"polygon\",axisLine:m({lineStyle:{color:\"#bbb\"}},gy.axisLine),axisLabel:my(gy.axisLabel,!1),axisTick:my(gy.axisTick,!1),axisType:\"interval\",splitLine:my(gy.splitLine,!0),splitArea:my(gy.splitArea,!0),indicator:[]}});var vy=[\"axisLine\",\"axisTickLabel\",\"axisName\"];Af({type:\"radar\",render:function(t,e,i){this.group.removeAll(),this._buildAxes(t),this._buildSplitLineAndArea(t)},_buildAxes:function(t){var e=t.coordinateSystem;R(O(e.getIndicatorAxes(),function(t){return new Qm(t.model,{position:[e.cx,e.cy],rotation:t.angle,labelDirection:-1,tickDirection:-1,nameDirection:1})}),function(t){R(vy,t.add,t),this.group.add(t.getGroup())},this)},_buildSplitLineAndArea:function(t){var n=t.coordinateSystem,e=n.getIndicatorAxes();if(e.length){var i=t.get(\"shape\"),o=t.getModel(\"splitLine\"),a=t.getModel(\"splitArea\"),r=o.getModel(\"lineStyle\"),s=a.getModel(\"areaStyle\"),l=o.get(\"show\"),u=a.get(\"show\"),h=r.get(\"color\"),c=s.get(\"color\");h=L(h)?h:[h],c=L(c)?c:[c];var d=[],f=[];if(\"circle\"===i)for(var p=e[0].getTicksCoords(),g=n.cx,m=n.cy,v=0;v<p.length;v++){if(l)d[I(d,h,v)].push(new Yr({shape:{cx:g,cy:m,r:p[v].coord}}));if(u&&v<p.length-1)f[I(f,c,v)].push(new Kr({shape:{cx:g,cy:m,r0:p[v].coord,r:p[v+1].coord}}))}else{var y,x=O(e,function(t,e){var i=t.getTicksCoords();return y=null==y?i.length-1:Math.min(i.length-1,y),O(i,function(t){return n.coordToPoint(t.coord,e)})}),_=[];for(v=0;v<=y;v++){for(var w=[],b=0;b<e.length;b++)w.push(x[b][v]);if(w[0]&&w.push(w[0].slice()),l)d[I(d,h,v)].push(new ts({shape:{points:w}}));if(u&&_)f[I(f,c,v-1)].push(new Qr({shape:{points:w.concat(_)}}));_=w.slice().reverse()}}var S=r.getLineStyle(),M=s.getAreaStyle();R(f,function(t,e){this.group.add(Rs(t,{style:D({stroke:\"none\",fill:c[e%c.length]},M),silent:!0}))},this),R(d,function(t,e){this.group.add(Rs(t,{style:D({fill:\"none\",stroke:h[e%h.length]},S),silent:!0}))},this)}function I(t,e,i){var n=i%e.length;return t[n]=t[n]||[],n}}});var yy=sc.extend({type:\"series.radar\",dependencies:[\"radar\"],init:function(t){yy.superApply(this,\"init\",arguments),this.legendVisualProvider=new qv(A(this.getData,this),A(this.getRawData,this))},getInitialData:function(t,e){return Yv(this,{generateCoord:\"indicator_\",generateCoordCount:1/0})},formatTooltip:function(n,t,e,i){var o=this.getData(),a=this.coordinateSystem.getIndicatorAxes(),r=this.getData().getName(n),s=\"html\"===i?\"<br/>\":\"\\n\";return au(\"\"===r?this.name:r)+s+O(a,function(t,e){var i=o.get(o.mapDimension(t.dim),n);return au(t.name+\" : \"+i)}).join(s)},getTooltipPosition:function(t){if(null!=t)for(var e=this.getData(),i=this.coordinateSystem,n=e.getValues(O(i.dimensions,function(t){return e.mapDimension(t)}),t,!0),o=0,a=n.length;o<a;o++)if(!isNaN(n[o])){var r=i.getIndicatorAxes();return i.coordToPoint(r[o].dataToCoord(n[o]),o)}},defaultOption:{zlevel:0,z:2,coordinateSystem:\"radar\",legendHoverLink:!0,radarIndex:0,lineStyle:{width:2,type:\"solid\"},label:{position:\"top\"},symbol:\"emptyCircle\",symbolSize:4}});Cf({type:\"radar\",render:function(l,t,e){var i=l.coordinateSystem,g=this.group,m=l.getData(),s=this._data;function u(t,e){var i=t.getItemVisual(e,\"symbol\")||\"circle\",n=t.getItemVisual(e,\"color\");if(\"none\"!==i){var o=function(t){return L(t)||(t=[+t,+t]),t}(t.getItemVisual(e,\"symbolSize\")),a=wg(i,-1,-1,2,2,n),r=t.getItemVisual(e,\"symbolRotate\")||0;return a.attr({style:{strokeNoScale:!0},z2:100,scale:[o[0]/2,o[1]/2],rotation:r*Math.PI/180||0}),a}}function h(t,e,i,n,o,a){i.removeAll();for(var r=0;r<e.length-1;r++){var s=u(n,o);s&&(t[s.__dimIdx=r]?(s.attr(\"position\",t[r]),bl[a?\"initProps\":\"updateProps\"](s,{position:e[r]},l,o)):s.attr(\"position\",e[r]),i.add(s))}}function c(t){return O(t,function(t){return[i.cx,i.cy]})}m.diff(s).add(function(t){var e=m.getItemLayout(t);if(e){var i=new Qr,n=new ts,o={shape:{points:e}};i.shape.points=c(e),n.shape.points=c(e),dl(i,o,l,t),dl(n,o,l,t);var a=new Ci,r=new Ci;a.add(n),a.add(i),a.add(r),h(n.shape.points,e,r,m,t,!0),m.setItemGraphicEl(t,a)}}).update(function(t,e){var i=s.getItemGraphicEl(e),n=i.childAt(0),o=i.childAt(1),a=i.childAt(2),r={shape:{points:m.getItemLayout(t)}};r.shape.points&&(h(n.shape.points,r.shape.points,a,m,t,!1),cl(n,r,l),cl(o,r,l),m.setItemGraphicEl(t,i))}).remove(function(t){g.remove(s.getItemGraphicEl(t))}).execute(),m.eachItemGraphicEl(function(t,i){var e=m.getItemModel(i),n=t.childAt(0),o=t.childAt(1),a=t.childAt(2),r=m.getItemVisual(i,\"color\");g.add(t),n.useStyle(D(e.getModel(\"lineStyle\").getLineStyle(),{fill:\"none\",stroke:r})),n.hoverStyle=e.getModel(\"emphasis.lineStyle\").getLineStyle();var s=e.getModel(\"areaStyle\"),l=e.getModel(\"emphasis.areaStyle\"),u=s.isEmpty()&&s.parentModel.isEmpty(),h=l.isEmpty()&&l.parentModel.isEmpty();h=h&&u,o.ignore=u,o.useStyle(D(s.getAreaStyle(),{fill:r,opacity:.7})),o.hoverStyle=l.getAreaStyle();var c=e.getModel(\"itemStyle\").getItemStyle([\"color\"]),d=e.getModel(\"emphasis.itemStyle\").getItemStyle(),f=e.getModel(\"label\"),p=e.getModel(\"emphasis.label\");a.eachChild(function(t){t.setStyle(c),t.hoverStyle=k(d);var e=m.get(m.dimensions[t.__dimIdx],i);null!=e&&!isNaN(e)||(e=\"\"),el(t.style,t.hoverStyle,f,p,{labelFetcher:m.hostModel,labelDataIndex:i,labelDimIndex:t.__dimIdx,defaultText:e,autoColor:r,isRectText:!0})}),t.highDownOnUpdate=function(t,e){o.attr(\"ignore\",\"emphasis\"===e?h:u)},$s(t)}),this._data=m},remove:function(){this.group.removeAll(),this._data=null},dispose:function(){}});function xy(t){return!isNaN(t[0])&&!isNaN(t[1])}function _y(t){return[t.cx,t.cy]}Sf(iy(\"radar\")),Sf(Lm(\"radar\",\"circle\")),bf(function(t){t.eachSeriesByType(\"radar\",function(t){var i=t.getData(),o=[],a=t.coordinateSystem;if(a){var e=a.getIndicatorAxes();R(e,function(t,n){i.each(i.mapDimension(e[n].dim),function(t,e){o[e]=o[e]||[];var i=a.dataToPoint(t,n);o[e][n]=xy(i)?i:_y(a)})}),i.each(function(t){var e=I(o[t],function(t){return xy(t)})||_y(a);o[t].push(e.slice()),i.setItemLayout(t,o[t])})}})}),xf(uy(\"radar\")),yf(function(i){var t=i.polar;if(t){L(t)||(t=[t]);var n=[];R(t,function(t,e){t.indicator?(t.type&&!t.shape&&(t.shape=t.type),i.radar=i.radar||[],L(i.radar)||(i.radar=[i.radar]),i.radar.push(t)):n.push(t)}),i.polar=n}R(i.series,function(t){t&&\"radar\"===t.type&&t.polarIndex&&(t.radarIndex=t.polarIndex)})});for(var wy=[126,25],by=[[[0,3.5],[7,11.2],[15,11.9],[30,7],[42,.7],[52,.7],[56,7.7],[59,.7],[64,.7],[64,0],[5,0],[0,3.5]],[[13,16.1],[19,14.7],[16,21.7],[11,23.1],[13,16.1]],[[12,32.2],[14,38.5],[15,38.5],[13,32.2],[12,32.2]],[[16,47.6],[12,53.2],[13,53.2],[18,47.6],[16,47.6]],[[6,64.4],[8,70],[9,70],[8,64.4],[6,64.4]],[[23,82.6],[29,79.8],[30,79.8],[25,82.6],[23,82.6]],[[37,70.7],[43,62.3],[44,62.3],[39,70.7],[37,70.7]],[[48,51.1],[51,45.5],[53,45.5],[50,51.1],[48,51.1]],[[51,35],[51,28.7],[53,28.7],[53,35],[51,35]],[[52,22.4],[55,17.5],[56,17.5],[53,22.4],[52,22.4]],[[58,12.6],[62,7],[63,7],[60,12.6],[58,12.6]],[[0,3.5],[0,93.1],[64,93.1],[64,0],[63,0],[63,92.4],[1,92.4],[1,3.5],[0,3.5]]],Sy=0;Sy<by.length;Sy++)for(var My=0;My<by[Sy].length;My++)by[Sy][My][0]/=10.5,by[Sy][My][1]/=-14,by[Sy][My][0]+=wy[0],by[Sy][My][1]+=wy[1];var Iy={\"南海诸岛\":[32,80],\"广东\":[0,-10],\"香港\":[10,5],\"澳门\":[-10,10],\"天津\":[5,5]},Ty={Russia:[100,60],\"United States\":[-99,38],\"United States of America\":[-99,38]},Ay=[[[123.45165252685547,25.73527164402261],[123.49731445312499,25.73527164402261],[123.49731445312499,25.750734064600884],[123.45165252685547,25.750734064600884],[123.45165252685547,25.73527164402261]]],Dy=jo(),Cy={load:function(n,t,e){var i=Dy(t).parsed;if(i)return i;var o,a=t.specialAreas||{},r=t.geoJSON;try{o=r?Cg(r,e):[]}catch(t){throw new Error(\"Invalid geoJson format\\n\"+t.message)}return function(t,e){\"china\"===t&&e.push(new Ag(\"南海诸岛\",O(by,function(t){return{type:\"polygon\",exterior:t}}),wy))}(n,o),R(o,function(t){var e=t.name;!function(t,e){if(\"china\"===t){var i=Iy[e.name];if(i){var n=e.center;n[0]+=i[0]/10.5,n[1]+=-i[1]/14}}}(n,t),function(t,e){if(\"world\"===t){var i=Ty[e.name];if(i){var n=e.center;n[0]=i[0],n[1]=i[1]}}}(n,t),function(t,e){\"china\"===t&&\"台湾\"===e.name&&e.geometries.push({type:\"polygon\",exterior:Ay[0]})}(n,t);var i=a[e];i&&t.transformTo(i.left,i.top,i.width,i.height)}),Dy(t).parsed={regions:o,boundingRect:function(t){for(var e,i=0;i<t.length;i++){var n=t[i].getBoundingRect();(e=e||n.clone()).union(n)}return e}(o)}}};var Ly=jo();function ky(t,e){var i,n,o=t.svgXML;try{Y(null!=(n=(i=o&&function(t,e){return(new hd).parse(t,e)}(o,{ignoreViewBox:!0,ignoreRootClip:!0})||{}).root))}catch(t){throw new Error(\"Invalid svg format\\n\"+t.message)}var a=i.width,r=i.height,s=i.viewBoxRect;if(e||(e=null==a||null==r?n.getBoundingRect():new Di(0,0,0,0),null!=a&&(e.width=a),null!=r&&(e.height=r)),s){var l=wd(s,e.width,e.height),u=n;(n=new Ci).add(u),u.scale=l.scale,u.position=l.position}return n.setClipPath(new rs({shape:e.plain()})),{root:n,boundingRect:e}}var Py={geoJSON:Cy,svg:{load:function(t,e){var i=Ly(e).originRoot;if(i)return{root:i,boundingRect:Ly(e).boundingRect};var n=ky(e);return Ly(e).originRoot=n.root,Ly(e).boundingRect=n.boundingRect,n},makeGraphic:function(t,e,i){var n=Ly(e),o=n.rootMap||(n.rootMap=Q()),a=o.get(i);if(a)return a;var r=n.originRoot,s=n.boundingRect;return a=n.originRootHostKey?ky(e,s).root:(n.originRootHostKey=i,r),o.set(i,a)},removeGraphic:function(t,e,i){var n=Ly(e),o=n.rootMap;o&&o.removeKey(i),i===n.originRootHostKey&&(n.originRootHostKey=null)}}},Ny={load:function(n,o,a){var r,s=[],l=Q(),u=Q();return R(Ry(n),function(t){var e=Py[t.type].load(n,t,a);R(e.regions,function(t){var e=t.name;o&&o.hasOwnProperty(e)&&(t=t.cloneShallow(e=o[e])),s.push(t),l.set(e,t),u.set(e,t.center)});var i=e.boundingRect;i&&(r?r.union(i):r=i.clone())}),{regions:s,regionsMap:l,nameCoordMap:u,boundingRect:r||new Di(0,0,0,0)}},makeGraphic:Oy(\"makeGraphic\"),removeGraphic:Oy(\"removeGraphic\")};function Oy(a){return function(i,n){var t=Ry(i),o=[];return R(t,function(t){var e=Py[t.type][a];e&&o.push(e(i,t,n))}),o}}function Ry(t){return Sd.retrieveMap(t)||[]}b(sc.extend({type:\"series.map\",dependencies:[\"geo\"],layoutMode:\"box\",needsDrawMap:!1,seriesGroup:[],getInitialData:function(t){for(var e=Yv(this,{coordDimensions:[\"value\"],encodeDefaulter:T(Ju,this)}),i=e.mapDimension(\"value\"),n=Q(),o=[],a=[],r=0,s=e.count();r<s;r++){var l=e.getName(r);n.set(l,!0),o.push({name:l,value:e.get(i,r),selected:Zh(e,r,\"selected\")})}return R(Ny.load(this.getMapType(),this.option.nameMap,this.option.nameProperty).regions,function(t){var e=t.name;n.get(e)||(o.push({name:e}),a.push(e))}),this.updateSelectedMap(o),e.appendValues([],a),e},getHostGeoModel:function(){var t=this.option.geoIndex;return null!=t?this.dependentModels.geo[t]:null},getMapType:function(){return(this.getHostGeoModel()||this).option.map},getRawValue:function(t){var e=this.getData();return e.get(e.mapDimension(\"value\"),t)},getRegionModel:function(t){var e=this.getData();return e.getItemModel(e.indexOfName(t))},formatTooltip:function(t,e,i,n){for(var o=this.getData(),a=tu(this.getRawValue(t)),r=o.getName(t),s=this.seriesGroup,l=[],u=0;u<s.length;u++){var h=s[u].originalData.indexOfName(r),c=o.mapDimension(\"value\");isNaN(s[u].originalData.get(c,h))||l.push(au(s[u].name))}var d=\"html\"===n?\"<br/>\":\"\\n\";return l.join(\", \")+d+au(r+\" : \"+a)},getTooltipPosition:function(t){if(null!=t){var e=this.getData().getName(t),i=this.coordinateSystem,n=i.getRegion(e);return n&&i.dataToPoint(n.center)}},setZoom:function(t){this.option.zoom=t},setCenter:function(t){this.option.center=t},defaultOption:{zlevel:0,z:2,coordinateSystem:\"geo\",map:\"\",left:\"center\",top:\"center\",aspectScale:.75,showLegendSymbol:!0,dataRangeHoverLink:!0,boundingCoords:null,center:null,zoom:1,scaleLimit:null,label:{show:!1,color:\"#000\"},itemStyle:{borderWidth:.5,borderColor:\"#444\",areaColor:\"#eee\"},emphasis:{label:{show:!0,color:\"rgb(100,0,0)\"},itemStyle:{areaColor:\"rgba(255,215,0,0.8)\"}},nameProperty:\"name\"}}),jv);var Ey=\"\\0_ec_interaction_mutex\";function zy(t,e){return!!By(t)[e]}function By(t){return t[Ey]||(t[Ey]={})}function Vy(i){this.pointerChecker,this._zr=i,this._opt={};var t=A,n=t(Gy,this),o=t(Fy,this),a=t(Wy,this),r=t(Hy,this),s=t(Zy,this);Ct.call(this),this.setPointerChecker=function(t){this.pointerChecker=t},this.enable=function(t,e){this.disable(),this._opt=D(k(e)||{},{zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!1,preventDefaultMouseMove:!0}),null==t&&(t=!0),!0!==t&&\"move\"!==t&&\"pan\"!==t||(i.on(\"mousedown\",n),i.on(\"mousemove\",o),i.on(\"mouseup\",a)),!0!==t&&\"scale\"!==t&&\"zoom\"!==t||(i.on(\"mousewheel\",r),i.on(\"pinch\",s))},this.disable=function(){i.off(\"mousedown\",n),i.off(\"mousemove\",o),i.off(\"mouseup\",a),i.off(\"mousewheel\",r),i.off(\"pinch\",s)},this.dispose=this.disable,this.isDragging=function(){return this._dragging},this.isPinching=function(){return this._pinching}}function Gy(t){if(!(Yt(t)||t.target&&t.target.draggable)){var e=t.offsetX,i=t.offsetY;this.pointerChecker&&this.pointerChecker(t,e,i)&&(this._x=e,this._y=i,this._dragging=!0)}}function Fy(t){if(this._dragging&&Yy(\"moveOnMouseMove\",t,this._opt)&&\"pinch\"!==t.gestureEvent&&!zy(this._zr,\"globalPan\")){var e=t.offsetX,i=t.offsetY,n=this._x,o=this._y,a=e-n,r=i-o;this._x=e,this._y=i,this._opt.preventDefaultMouseMove&&Xt(t.event),Xy(this,\"pan\",\"moveOnMouseMove\",t,{dx:a,dy:r,oldX:n,oldY:o,newX:e,newY:i})}}function Wy(t){Yt(t)||(this._dragging=!1)}function Hy(t){var e=Yy(\"zoomOnMouseWheel\",t,this._opt),i=Yy(\"moveOnMouseWheel\",t,this._opt),n=t.wheelDelta,o=Math.abs(n),a=t.offsetX,r=t.offsetY;if(0!==n&&(e||i)){if(e){var s=3<o?1.4:1<o?1.2:1.1;Uy(this,\"zoom\",\"zoomOnMouseWheel\",t,{scale:0<n?s:1/s,originX:a,originY:r})}if(i){var l=Math.abs(n);Uy(this,\"scrollMove\",\"moveOnMouseWheel\",t,{scrollDelta:(0<n?1:-1)*(3<l?.4:1<l?.15:.05),originX:a,originY:r})}}}function Zy(t){zy(this._zr,\"globalPan\")||Uy(this,\"zoom\",null,t,{scale:1<t.pinchScale?1.1:1/1.1,originX:t.pinchX,originY:t.pinchY})}function Uy(t,e,i,n,o){t.pointerChecker&&t.pointerChecker(n,o.originX,o.originY)&&(Xt(n.event),Xy(t,e,i,n,o))}function Xy(t,e,i,n,o){o.isAvailableBehavior=A(Yy,null,i,n),t.trigger(e,o)}function Yy(t,e,i){var n=i[t];return!t||n&&(!E(n)||e.event[n+\"Key\"])}function jy(t,e,i){var n=t.target,o=n.position;o[0]+=e,o[1]+=i,n.dirty()}function qy(t,e,i,n){var o=t.target,a=t.zoomLimit,r=o.position,s=o.scale,l=t.zoom=t.zoom||1;if(l*=e,a){var u=a.min||0,h=a.max||1/0;l=Math.max(Math.min(h,l),u)}var c=l/t.zoom;t.zoom=l,r[0]-=(i-r[0])*(c-1),r[1]-=(n-r[1])*(c-1),s[0]*=c,s[1]*=c,o.dirty()}_f({type:\"takeGlobalCursor\",event:\"globalCursorTaken\",update:\"update\"},function(){}),b(Vy,Ct);var Ky={axisPointer:1,tooltip:1,brush:1};function $y(t,e,i){var n=e.getComponentByElement(t.topTarget),o=n&&n.coordinateSystem;return n&&n!==i&&!Ky[n.mainType]&&o&&o.model!==i}function Jy(t){var e=t.getItemStyle(),i=t.get(\"areaColor\");return null!=i&&(e.fill=i),e}function Qy(i,t){t.eachChild(function(e){R(e.__regions,function(t){e.trigger(i.isSelected(t.name)?\"emphasis\":\"normal\")})})}function tx(t,e){var i=new Ci;this.uid=Nl(\"ec_map_draw\"),this._controller=new Vy(t.getZr()),this._controllerHost={target:e?i:null},this.group=i,this._updateGroup=e,this._mouseDownFlag,this._mapName,this._initialized,i.add(this._regionsGroup=new Ci),i.add(this._backgroundGroup=new Ci)}tx.prototype={constructor:tx,draw:function(_,t,e,i,n){var w=\"geo\"===_.mainType,b=_.getData&&_.getData();w&&t.eachComponent({mainType:\"series\",subType:\"map\"},function(t){b||t.getHostGeoModel()!==_||(b=t.getData())});var o=_.coordinateSystem;this._updateBackground(o);var S,M=this._regionsGroup,I=this.group,a=o.getTransformInfo(),T=!M.childAt(0)||n;if(T)I.transform=a.roamTransform,I.decomposeTransform(),I.dirty();else{var r=new ve;r.transform=a.roamTransform,r.decomposeTransform();var s={scale:r.scale,position:r.position};S=r.scale,cl(I,s,_)}var A=a.rawScale,D=a.rawPosition;M.removeAll();var C=[\"itemStyle\"],L=[\"emphasis\",\"itemStyle\"],k=[\"label\"],P=[\"emphasis\",\"label\"],N=Q();R(o.regions,function(t){var e=N.get(t.name)||N.set(t.name,new Ci),a=new ps({segmentIgnoreThreshold:1,shape:{paths:[]}});e.add(a);var i,n=(x=_.getRegionModel(t.name)||_).getModel(C),o=x.getModel(L),r=Jy(n),s=Jy(o),l=x.getModel(k),u=x.getModel(P);if(b){i=b.indexOfName(t.name);var h=b.getItemVisual(i,\"color\",!0);h&&(r.fill=h)}function c(t){return[t[0]*A[0]+D[0],t[1]*A[1]+D[1]]}R(t.geometries,function(t){if(\"polygon\"===t.type){for(var e=[],i=0;i<t.exterior.length;++i)e.push(c(t.exterior[i]));a.shape.paths.push(new Qr({segmentIgnoreThreshold:1,shape:{points:e}}));for(i=0;i<(t.interiors?t.interiors.length:0);++i){for(var n=t.interiors[i],o=(e=[],0);o<n.length;++o)e.push(c(n[o]));a.shape.paths.push(new Qr({segmentIgnoreThreshold:1,shape:{points:e}}))}}}),a.setStyle(r),a.style.strokeNoScale=!0,a.culling=!0;var d=l.get(\"show\"),f=u.get(\"show\"),p=b&&isNaN(b.get(b.mapDimension(\"value\"),i)),g=b&&b.getItemLayout(i);if(w||p&&(d||f)||g&&g.showLabel){var m,v=w?t.name:i;(!b||0<=i)&&(m=_);var y=new Ur({position:c(t.center.slice()),scale:[1/I.scale[0],1/I.scale[1]],z2:10,silent:!0});if(el(y.style,y.hoverStyle={},l,u,{labelFetcher:m,labelDataIndex:v,defaultText:t.name,useInsideStyle:!1},{textAlign:\"center\",textVerticalAlign:\"middle\"}),!T)cl(y,{scale:[1/S[0],1/S[1]]},_);e.add(y)}if(b)b.setItemGraphicEl(i,e);else{var x=_.getRegionModel(t.name);a.eventData={componentType:\"geo\",componentIndex:_.componentIndex,geoIndex:_.componentIndex,name:t.name,region:x&&x.option||{}}}(e.__regions||(e.__regions=[])).push(t),e.highDownSilentOnTouch=!!_.get(\"selectedMode\"),$s(e,s),M.add(e)}),this._updateController(_,t,e),function(n,o,a,r,s){a.off(\"click\"),a.off(\"mousedown\"),o.get(\"selectedMode\")&&(a.on(\"mousedown\",function(){n._mouseDownFlag=!0}),a.on(\"click\",function(t){if(n._mouseDownFlag){n._mouseDownFlag=!1;for(var e=t.target;!e.__regions;)e=e.parent;if(e){var i={type:(\"geo\"===o.mainType?\"geo\":\"map\")+\"ToggleSelect\",batch:O(e.__regions,function(t){return{name:t.name,from:s.uid}})};i[o.mainType+\"Id\"]=o.id,r.dispatchAction(i),Qy(o,a)}}}))}(this,_,M,e,i),Qy(_,M)},remove:function(){this._regionsGroup.removeAll(),this._backgroundGroup.removeAll(),this._controller.dispose(),this._mapName&&Ny.removeGraphic(this._mapName,this.uid),this._mapName=null,this._controllerHost={}},_updateBackground:function(t){var e=t.map;this._mapName!==e&&R(Ny.makeGraphic(e,this.uid),function(t){this._backgroundGroup.add(t)},this),this._mapName=e},_updateController:function(n,t,o){var a=n.coordinateSystem,e=this._controller,i=this._controllerHost;i.zoomLimit=n.get(\"scaleLimit\"),i.zoom=a.getZoom(),e.enable(n.get(\"roam\")||!1);var r=n.mainType;function s(){var t={type:\"geoRoam\",componentType:r};return t[r+\"Id\"]=n.id,t}e.off(\"pan\").on(\"pan\",function(t){this._mouseDownFlag=!1,jy(i,t.dx,t.dy),o.dispatchAction(P(s(),{dx:t.dx,dy:t.dy}))},this),e.off(\"zoom\").on(\"zoom\",function(t){if(this._mouseDownFlag=!1,qy(i,t.scale,t.originX,t.originY),o.dispatchAction(P(s(),{zoom:t.scale,originX:t.originX,originY:t.originY})),this._updateGroup){var e=this.group.scale;this._regionsGroup.traverse(function(t){\"text\"===t.type&&t.attr(\"scale\",[1/e[0],1/e[1]])})}},this),e.setPointerChecker(function(t,e,i){return a.getViewRectAfterRoam().contain(e,i)&&!$y(t,o,n)})}};var ex=\"__seriesMapHighDown\",ix=\"__seriesMapCallKey\";function nx(t){var e=this[ex];e&&e.recordVersion===this[ix]&&ox(e,t)}function ox(t,e){var i=t.circle,n=t.labelModel,o=t.hoverLabelModel,a=t.emphasisText,r=t.normalText;e?(i.style.extendFrom(nl({},o,{text:o.get(\"show\")?a:null},{isRectText:!0,useInsideStyle:!1},!0)),i.__mapOriginalZ2=i.z2,i.z2+=bs):(nl(i.style,n,{text:n.get(\"show\")?r:null,textPosition:n.getShallow(\"position\")||\"bottom\"},{isRectText:!0,useInsideStyle:!1}),i.dirty(!1),null!=i.__mapOriginalZ2&&(i.z2=i.__mapOriginalZ2,i.__mapOriginalZ2=null))}function ax(t,e,i){var n=t.getZoom(),o=t.getCenter(),a=e.zoom,r=t.dataToPoint(o);if(null!=e.dx&&null!=e.dy){r[0]-=e.dx,r[1]-=e.dy;o=t.pointToData(r);t.setCenter(o)}if(null!=a){if(i){var s=i.min||0,l=i.max||1/0;a=Math.max(Math.min(n*a,l),s)/n}t.scale[0]*=a,t.scale[1]*=a;var u=t.position,h=(e.originX-u[0])*(a-1),c=(e.originY-u[1])*(a-1);u[0]-=h,u[1]-=c,t.updateTransform();o=t.pointToData(r);t.setCenter(o),t.setZoom(a*n)}return{center:t.getCenter(),zoom:t.getZoom()}}Cf({type:\"map\",render:function(t,e,i,n){if(!n||\"mapToggleSelect\"!==n.type||n.from!==this.uid){var o=this.group;if(o.removeAll(),!t.getHostGeoModel()){if(n&&\"geoRoam\"===n.type&&\"series\"===n.componentType&&n.seriesId===t.id)(a=this._mapDraw)&&o.add(a.group);else if(t.needsDrawMap){var a=this._mapDraw||new tx(i,!0);o.add(a.group),a.draw(t,e,i,this,n),this._mapDraw=a}else this._mapDraw&&this._mapDraw.remove(),this._mapDraw=null;t.get(\"showLegendSymbol\")&&e.getComponent(\"legend\")&&this._renderSymbols(t,e,i)}}},remove:function(){this._mapDraw&&this._mapDraw.remove(),this._mapDraw=null,this.group.removeAll()},dispose:function(){this._mapDraw&&this._mapDraw.remove(),this._mapDraw=null},_renderSymbols:function(x,t,e){var _=x.originalData,w=this.group;_.each(_.mapDimension(\"value\"),function(t,e){if(!isNaN(t)){var i=_.getItemLayout(e);if(i&&i.point){var n=i.point,o=i.offset,a=new Yr({style:{fill:x.getData().getVisual(\"color\")},shape:{cx:n[0]+9*o,cy:n[1],r:3},silent:!0,z2:8+(o?0:bs+1)});if(!o){var r=x.mainSeries.getData(),s=_.getName(e),l=r.indexOfName(s),u=_.getItemModel(e),h=u.getModel(\"label\"),c=u.getModel(\"emphasis.label\"),d=r.getItemGraphicEl(l),f=H(x.getFormattedLabel(l,\"normal\"),s),p=H(x.getFormattedLabel(l,\"emphasis\"),f),g=d[ex],m=Math.random();if(!g){g=d[ex]={};var v=T(nx,!0),y=T(nx,!1);d.on(\"mouseover\",v).on(\"mouseout\",y).on(\"emphasis\",v).on(\"normal\",y)}P(g,{recordVersion:d[ix]=m,circle:a,labelModel:h,hoverLabelModel:c,emphasisText:p,normalText:f}),ox(g,!1)}w.add(a)}}})}}),_f({type:\"geoRoam\",event:\"geoRoam\",update:\"updateTransform\"},function(n,t){var o=n.componentType||\"series\";t.eachComponent({mainType:o,query:n},function(t){var e=t.coordinateSystem;if(\"geo\"===e.type){var i=ax(e,n,t.get(\"scaleLimit\"));t.setCenter&&t.setCenter(i.center),t.setZoom&&t.setZoom(i.zoom),\"series\"===o&&R(t.seriesGroup,function(t){t.setCenter(i.center),t.setZoom(i.zoom)})}})});var rx=bt;function sx(){ve.call(this)}function lx(t){this.name=t,this.zoomLimit,ve.call(this),this._roamTransformable=new sx,this._rawTransformable=new sx,this._center,this._zoom}function ux(t,e,i,n){var o=i.seriesModel,a=o?o.coordinateSystem:null;return a===this?a[t](n):null}function hx(t,e,i,n){lx.call(this,t),this.map=e;var o=Ny.load(e,i);this._nameCoordMap=o.nameCoordMap,this._regionsMap=o.regionsMap,this._invertLongitute=null==n||n,this.regions=o.regions,this._rect=o.boundingRect}function cx(t,e,i,n){var o=i.geoModel,a=i.seriesModel,r=o?o.coordinateSystem:a?a.coordinateSystem||(a.getReferringComponents(\"geo\")[0]||{}).coordinateSystem:null;return r===this?r[t](n):null}function dx(t,e){var i=t.get(\"boundingCoords\");if(null!=i){var n=i[0],o=i[1];isNaN(n[0])||isNaN(n[1])||isNaN(o[0])||isNaN(o[1])||this.setBoundingRect(n[0],n[1],o[0]-n[0],o[1]-n[1])}var a,r=this.getBoundingRect(),s=t.get(\"layoutCenter\"),l=t.get(\"layoutSize\"),u=e.getWidth(),h=e.getHeight(),c=r.width/r.height*this.aspectScale,d=!1;if(s&&l&&(s=[El(s[0],u),El(s[1],h)],l=El(l,Math.min(u,h)),isNaN(s[0])||isNaN(s[1])||isNaN(l)||(d=!0)),d){var f={};1<c?(f.width=l,f.height=l/c):(f.height=l,f.width=l*c),f.y=s[1]-f.height/2,f.x=s[0]-f.width/2}else(a=t.getBoxLayoutParams()).aspect=c,f=bu(a,{width:u,height:h});this.setViewRect(f.x,f.y,f.width,f.height),this.setCenter(t.get(\"center\")),this.setZoom(t.get(\"zoom\"))}function fx(i,t){R(t.get(\"geoCoord\"),function(t,e){i.addGeoCoord(e,t)})}b(sx,ve),lx.prototype={constructor:lx,type:\"view\",dimensions:[\"x\",\"y\"],setBoundingRect:function(t,e,i,n){return this._rect=new Di(t,e,i,n),this._rect},getBoundingRect:function(){return this._rect},setViewRect:function(t,e,i,n){this.transformTo(t,e,i,n),this._viewRect=new Di(t,e,i,n)},transformTo:function(t,e,i,n){var o=this.getBoundingRect(),a=this._rawTransformable;a.transform=o.calculateTransform(new Di(t,e,i,n)),a.decomposeTransform(),this._updateTransform()},setCenter:function(t){t&&(this._center=t,this._updateCenterAndZoom())},setZoom:function(t){t=t||1;var e=this.zoomLimit;e&&(null!=e.max&&(t=Math.min(e.max,t)),null!=e.min&&(t=Math.max(e.min,t))),this._zoom=t,this._updateCenterAndZoom()},getDefaultCenter:function(){var t=this.getBoundingRect();return[t.x+t.width/2,t.y+t.height/2]},getCenter:function(){return this._center||this.getDefaultCenter()},getZoom:function(){return this._zoom||1},getRoamTransform:function(){return this._roamTransformable.getLocalTransform()},_updateCenterAndZoom:function(){var t=this._rawTransformable.getLocalTransform(),e=this._roamTransformable,i=this.getDefaultCenter(),n=this.getCenter(),o=this.getZoom();n=bt([],n,t),i=bt([],i,t),e.origin=n,e.position=[i[0]-n[0],i[1]-n[1]],e.scale=[o,o],this._updateTransform()},_updateTransform:function(){var t=this._roamTransformable,e=this._rawTransformable;(e.parent=t).updateTransform(),e.updateTransform(),se(this.transform||(this.transform=[]),e.transform||ae()),this._rawTransform=e.getLocalTransform(),this.invTransform=this.invTransform||[],de(this.invTransform,this.transform),this.decomposeTransform()},getTransformInfo:function(){var t=this._roamTransformable.transform,e=this._rawTransformable;return{roamTransform:t?U(t):ae(),rawScale:U(e.scale),rawPosition:U(e.position)}},getViewRect:function(){return this._viewRect},getViewRectAfterRoam:function(){var t=this.getBoundingRect().clone();return t.applyTransform(this.transform),t},dataToPoint:function(t,e,i){var n=e?this._rawTransform:this.transform;return i=i||[],n?rx(i,t,n):at(i,t)},pointToData:function(t){var e=this.invTransform;return e?rx([],t,e):[t[0],t[1]]},convertToPixel:T(ux,\"dataToPoint\"),convertFromPixel:T(ux,\"pointToData\"),containPoint:function(t){return this.getViewRectAfterRoam().contain(t[0],t[1])}},b(lx,ve),hx.prototype={constructor:hx,type:\"geo\",dimensions:[\"lng\",\"lat\"],containCoord:function(t){for(var e=this.regions,i=0;i<e.length;i++)if(e[i].contain(t))return!0;return!1},transformTo:function(t,e,i,n){var o=this.getBoundingRect(),a=this._invertLongitute;o=o.clone(),a&&(o.y=-o.y-o.height);var r=this._rawTransformable;if(r.transform=o.calculateTransform(new Di(t,e,i,n)),r.decomposeTransform(),a){var s=r.scale;s[1]=-s[1]}r.updateTransform(),this._updateTransform()},getRegion:function(t){return this._regionsMap.get(t)},getRegionByCoord:function(t){for(var e=this.regions,i=0;i<e.length;i++)if(e[i].contain(t))return e[i]},addGeoCoord:function(t,e){this._nameCoordMap.set(t,e)},getGeoCoord:function(t){return this._nameCoordMap.get(t)},getBoundingRect:function(){return this._rect},dataToPoint:function(t,e,i){if(\"string\"==typeof t&&(t=this.getGeoCoord(t)),t)return lx.prototype.dataToPoint.call(this,t,e,i)},convertToPixel:T(cx,\"dataToPoint\"),convertFromPixel:T(cx,\"pointToData\")},b(hx,lx);var px={dimensions:hx.prototype.dimensions,create:function(t,s){var l=[];t.eachComponent(\"geo\",function(t,e){var i=t.get(\"map\"),n=t.get(\"aspectScale\"),o=!0,a=Sd.retrieveMap(i);a&&a[0]&&\"svg\"===a[0].type?(null==n&&(n=1),o=!1):null==n&&(n=.75);var r=new hx(i+e,i,t.get(\"nameMap\"),o);r.aspectScale=n,r.zoomLimit=t.get(\"scaleLimit\"),l.push(r),fx(r,t),(t.coordinateSystem=r).model=t,r.resize=dx,r.resize(t,s)}),t.eachSeries(function(t){if(\"geo\"===t.get(\"coordinateSystem\")){var e=t.get(\"geoIndex\")||0;t.coordinateSystem=l[e]}});var i={};return t.eachSeriesByType(\"map\",function(t){if(!t.getHostGeoModel()){var e=t.getMapType();i[e]=i[e]||[],i[e].push(t)}}),R(i,function(t,e){var i=new hx(e,e,p(O(t,function(t){return t.get(\"nameMap\")})));i.zoomLimit=W.apply(null,O(t,function(t){return t.get(\"scaleLimit\")})),l.push(i),i.resize=dx,i.aspectScale=t[0].get(\"aspectScale\"),i.resize(t[0],s),R(t,function(t){fx(t.coordinateSystem=i,t)})}),l},getFilledRegions:function(t,e,i){for(var n=(t||[]).slice(),o=Q(),a=0;a<n.length;a++)o.set(n[a].name,n[a]);return R(Ny.load(e,i).regions,function(t){var e=t.name;o.get(e)||n.push({name:e})}),n}};wf(\"geo\",px);bf(function(i){var o={};i.eachSeriesByType(\"map\",function(t){var e=t.getMapType();if(!t.getHostGeoModel()&&!o[e]){var l={};R(t.seriesGroup,function(t){var r=t.coordinateSystem,s=t.originalData;t.get(\"showLegendSymbol\")&&i.getComponent(\"legend\")&&s.each(s.mapDimension(\"value\"),function(t,e){var i=s.getName(e),n=r.getRegion(i);if(n&&!isNaN(t)){var o=l[i]||0,a=r.dataToPoint(n.center);l[i]=o+1,s.setItemLayout(e,{point:a,offset:o})}})});var n=t.getData();n.each(function(t){var e=n.getName(t),i=n.getItemLayout(t)||{};i.showLabel=!l[e],n.setItemLayout(t,i)}),o[e]=!0}})}),Sf(function(t){t.eachSeriesByType(\"map\",function(t){var e=t.get(\"color\"),i=t.getModel(\"itemStyle\"),n=i.get(\"areaColor\"),o=i.get(\"color\")||e[t.seriesIndex%e.length];t.getData().setVisual({areaColor:n,color:o})})}),xf(Ld.PROCESSOR.STATISTIC,function(t){var n={};t.eachSeriesByType(\"map\",function(t){var e=t.getHostGeoModel(),i=e?\"o\"+e.id:\"i\"+t.getMapType();(n[i]=n[i]||[]).push(t)}),R(n,function(t,e){for(var i=function(u,h){var c={};return R(u,function(n){n.each(n.mapDimension(\"value\"),function(t,e){var i=\"ec-\"+n.getName(e);c[i]=c[i]||[],isNaN(t)||c[i].push(t)})}),u[0].map(u[0].mapDimension(\"value\"),function(t,e){for(var i,n=\"ec-\"+u[0].getName(e),o=0,a=1/0,r=-1/0,s=c[n].length,l=0;l<s;l++)a=Math.min(a,c[n][l]),r=Math.max(r,c[n][l]),o+=c[n][l];return i=\"min\"===h?a:\"max\"===h?r:\"average\"===h?o/s:o,0===s?NaN:i})}(O(t,function(t){return t.getData()}),t[0].get(\"mapValueCalculation\")),n=0;n<t.length;n++)t[n].originalData=t[n].getData();for(n=0;n<t.length;n++)(t[n].seriesGroup=t)[n].needsDrawMap=0===n&&!t[n].getHostGeoModel(),t[n].setData(i.cloneShallow()),t[n].mainSeries=t[0]})}),yf(function(t){var e=[];R(t.series,function(t){t&&\"map\"===t.type&&(e.push(t),t.map=t.map||t.mapType,D(t,t.mapLocation))})}),ey(\"map\",[{type:\"mapToggleSelect\",event:\"mapselectchanged\",method:\"toggleSelected\"},{type:\"mapSelect\",event:\"mapselected\",method:\"select\"},{type:\"mapUnSelect\",event:\"mapunselected\",method:\"unSelect\"}]);var gx=R,mx=\"\\0__link_datas\",vx=\"\\0__link_mainData\";function yx(i){var n=i.mainData,t=i.datas;t||(t={main:n},i.datasAttr={main:\"data\"}),i.datas=i.mainData=null,Mx(n,t,i),gx(t,function(e){gx(n.TRANSFERABLE_METHODS,function(t){e.wrapMethod(t,T(xx,i))})}),n.wrapMethod(\"cloneShallow\",T(bx,i)),gx(n.CHANGABLE_METHODS,function(t){n.wrapMethod(t,T(_x,i))}),Y(t[n.dataType]===n)}function xx(t,e){if(function(t){return t[vx]===t}(this)){var i=P({},this[mx]);Mx(i[this.dataType]=e,i,t)}else Ix(e,this.dataType,this[vx],t);return e}function _x(t,e){return t.struct&&t.struct.update(this),e}function bx(i,n){return gx(n[mx],function(t,e){t!==n&&Ix(t.cloneShallow(),e,n,i)}),n}function Sx(t){var e=this[vx];return null==t||null==e?e:e[mx][t]}function Mx(i,t,n){i[mx]={},gx(t,function(t,e){Ix(t,e,i,n)})}function Ix(t,e,i,n){(i[mx][e]=t)[vx]=i,t.dataType=e,n.struct&&(t[n.structAttr]=n.struct,n.struct[n.datasAttr[e]]=t),t.getLinkedData=Sx}function Tx(t,e){this.name=t||\"\",this.depth=0,this.height=0,this.parentNode=null,this.dataIndex=-1,this.children=[],this.viewChildren=[],this.hostTree=e}function Ax(t){this.root,this.data,this._nodes=[],this.hostModel=t}function Dx(t,e){var i=e.children;t.parentNode!==e&&(i.push(t),t.parentNode=e)}function Cx(t,e){var i=t.isExpand?t.children:[],n=t.parentNode.children,o=t.hierNode.i?n[t.hierNode.i-1]:null;if(i.length){!function(t){var e=t.children,i=e.length,n=0,o=0;for(;0<=--i;){var a=e[i];a.hierNode.prelim+=n,a.hierNode.modifier+=n,o+=a.hierNode.change,n+=a.hierNode.shift+o}}(t);var a=(i[0].hierNode.prelim+i[i.length-1].hierNode.prelim)/2;o?(t.hierNode.prelim=o.hierNode.prelim+e(t,o),t.hierNode.modifier=t.hierNode.prelim-a):t.hierNode.prelim=a}else o&&(t.hierNode.prelim=o.hierNode.prelim+e(t,o));t.parentNode.hierNode.defaultAncestor=function(t,e,i,n){if(e){for(var o=t,a=t,r=a.parentNode.children[0],s=e,l=o.hierNode.modifier,u=a.hierNode.modifier,h=r.hierNode.modifier,c=s.hierNode.modifier;s=Nx(s),a=Ox(a),s&&a;){o=Nx(o),r=Ox(r),o.hierNode.ancestor=t;var d=s.hierNode.prelim+c-a.hierNode.prelim-u+n(s,a);0<d&&(Rx((p=t,g=i,(f=s).hierNode.ancestor.parentNode===p.parentNode?f.hierNode.ancestor:g),t,d),u+=d,l+=d),c+=s.hierNode.modifier,u+=a.hierNode.modifier,l+=o.hierNode.modifier,h+=r.hierNode.modifier}s&&!Nx(o)&&(o.hierNode.thread=s,o.hierNode.modifier+=c-l),a&&!Ox(r)&&(r.hierNode.thread=a,r.hierNode.modifier+=u-h,i=t)}var f,p,g;return i}(t,o,t.parentNode.hierNode.defaultAncestor||n[0],e)}function Lx(t){var e=t.hierNode.prelim+t.parentNode.hierNode.modifier;t.setLayout({x:e},!0),t.hierNode.modifier+=t.parentNode.hierNode.modifier}function kx(t){return arguments.length?t:Ex}function Px(t,e){var i={};return t-=Math.PI/2,i.x=e*Math.cos(t),i.y=e*Math.sin(t),i}function Nx(t){var e=t.children;return e.length&&t.isExpand?e[e.length-1]:t.hierNode.thread}function Ox(t){var e=t.children;return e.length&&t.isExpand?e[0]:t.hierNode.thread}function Rx(t,e,i){var n=i/(e.hierNode.i-t.hierNode.i);e.hierNode.change-=n,e.hierNode.shift+=i,e.hierNode.modifier+=i,e.hierNode.prelim+=i,t.hierNode.change+=n}function Ex(t,e){return t.parentNode===e.parentNode?1:2}Tx.prototype={constructor:Tx,isRemoved:function(){return this.dataIndex<0},eachNode:function(t,e,i){\"function\"==typeof t&&(i=e,e=t,t=null),E(t=t||{})&&(t={order:t});var n,o=t.order||\"preorder\",a=this[t.attr||\"children\"];\"preorder\"===o&&(n=e.call(i,this));for(var r=0;!n&&r<a.length;r++)a[r].eachNode(t,e,i);\"postorder\"===o&&e.call(i,this)},updateDepthAndHeight:function(t){var e=0;this.depth=t;for(var i=0;i<this.children.length;i++){var n=this.children[i];n.updateDepthAndHeight(t+1),n.height>e&&(e=n.height)}this.height=e+1},getNodeById:function(t){if(this.getId()===t)return this;for(var e=0,i=this.children,n=i.length;e<n;e++){var o=i[e].getNodeById(t);if(o)return o}},contains:function(t){if(t===this)return!0;for(var e=0,i=this.children,n=i.length;e<n;e++){var o=i[e].contains(t);if(o)return o}},getAncestors:function(t){for(var e=[],i=t?this:this.parentNode;i;)e.push(i),i=i.parentNode;return e.reverse(),e},getValue:function(t){var e=this.hostTree.data;return e.get(e.getDimension(t||\"value\"),this.dataIndex)},setLayout:function(t,e){0<=this.dataIndex&&this.hostTree.data.setItemLayout(this.dataIndex,t,e)},getLayout:function(){return this.hostTree.data.getItemLayout(this.dataIndex)},getModel:function(t){if(!(this.dataIndex<0))return this.hostTree.data.getItemModel(this.dataIndex).getModel(t)},setVisual:function(t,e){0<=this.dataIndex&&this.hostTree.data.setItemVisual(this.dataIndex,t,e)},getVisual:function(t,e){return this.hostTree.data.getItemVisual(this.dataIndex,t,e)},getRawIndex:function(){return this.hostTree.data.getRawIndex(this.dataIndex)},getId:function(){return this.hostTree.data.getId(this.dataIndex)},isAncestorOf:function(t){for(var e=t.parentNode;e;){if(e===this)return!0;e=e.parentNode}return!1},isDescendantOf:function(t){return t!==this&&t.isAncestorOf(this)}},Ax.prototype={constructor:Ax,type:\"tree\",eachNode:function(t,e,i){this.root.eachNode(t,e,i)},getNodeByDataIndex:function(t){var e=this.data.getRawIndex(t);return this._nodes[e]},getNodeByName:function(t){return this.root.getNodeByName(t)},update:function(){for(var t=this.data,e=this._nodes,i=0,n=e.length;i<n;i++)e[i].dataIndex=-1;for(i=0,n=t.count();i<n;i++)e[t.getRawIndex(i)].dataIndex=i},clearLayouts:function(){this.data.clearItemLayouts()}},Ax.createTree=function(t,e,i){var s=new Ax(e),l=[],u=1;!function t(e,i){var n=e.value;u=Math.max(u,L(n)?n.length:1);l.push(e);var o=new Tx(e.name,s);i?Dx(o,i):s.root=o;s._nodes.push(o);var a=e.children;if(a)for(var r=0;r<a.length;r++)t(a[r],o)}(t),s.root.updateDepthAndHeight(0);var n=lp(l,{coordDimensions:[\"value\"],dimensionsCount:u}),o=new Yf(n,e);return o.initData(l),i&&i(o),yx({mainData:o,struct:s,structAttr:\"tree\"}),s.update(),s},sc.extend({type:\"series.tree\",layoutInfo:null,layoutMode:\"box\",getInitialData:function(t){var e={name:t.name,children:t.data},n=new Cl(t.leaves||{},this,this.ecModel),o=Ax.createTree(e,this,function(t){t.wrapMethod(\"getItemModel\",function(t,e){var i=o.getNodeByDataIndex(e);return i.children.length&&i.isExpand||(t.parentModel=n),t})});var i=0;o.eachNode(\"preorder\",function(t){t.depth>i&&(i=t.depth)});var a=t.expandAndCollapse&&0<=t.initialTreeDepth?t.initialTreeDepth:i;return o.root.eachNode(\"preorder\",function(t){var e=t.hostTree.data.getRawDataItem(t.dataIndex);t.isExpand=e&&null!=e.collapsed?!e.collapsed:t.depth<=a}),o.data},getOrient:function(){var t=this.get(\"orient\");return\"horizontal\"===t?t=\"LR\":\"vertical\"===t&&(t=\"TB\"),t},setZoom:function(t){this.option.zoom=t},setCenter:function(t){this.option.center=t},formatTooltip:function(t){for(var e=this.getData().tree,i=e.root.children[0],n=e.getNodeByDataIndex(t),o=n.getValue(),a=n.name;n&&n!==i;)a=n.parentNode.name+\".\"+a,n=n.parentNode;return au(a+(isNaN(o)||null==o?\"\":\" : \"+o))},defaultOption:{zlevel:0,z:2,coordinateSystem:\"view\",left:\"12%\",top:\"12%\",right:\"12%\",bottom:\"12%\",layout:\"orthogonal\",edgeShape:\"curve\",edgeForkPosition:\"50%\",roam:!1,nodeScaleRatio:.4,center:null,zoom:1,orient:\"LR\",symbol:\"emptyCircle\",symbolSize:7,expandAndCollapse:!0,initialTreeDepth:2,lineStyle:{color:\"#ccc\",width:1.5,curveness:.5},itemStyle:{color:\"lightsteelblue\",borderColor:\"#c23531\",borderWidth:1.5},label:{show:!0,color:\"#555\"},leaves:{label:{show:!0}},animationEasing:\"linear\",animationDuration:700,animationDurationUpdate:1e3}});var zx=Cs({shape:{parentPoint:[],childPoints:[],orient:\"\",forkPosition:\"\"},style:{stroke:\"#000\",fill:null},buildPath:function(t,e){var i=e.childPoints,n=i.length,o=e.parentPoint,a=i[0],r=i[n-1];if(1===n)return t.moveTo(o[0],o[1]),void t.lineTo(a[0],a[1]);var s=e.orient,l=\"TB\"===s||\"BT\"===s?0:1,u=1-l,h=El(e.forkPosition,1),c=[];c[l]=o[l],c[u]=o[u]+(r[u]-o[u])*h,t.moveTo(o[0],o[1]),t.lineTo(c[0],c[1]),t.moveTo(a[0],a[1]),c[l]=a[l],t.lineTo(c[0],c[1]),c[l]=r[l],t.lineTo(c[0],c[1]),t.lineTo(r[0],r[1]);for(var d=1;d<n-1;d++){var f=i[d];t.moveTo(f[0],f[1]),c[l]=f[l],t.lineTo(c[0],c[1])}}});function Bx(t,e){var i=t.getItemLayout(e);return i&&!isNaN(i.x)&&!isNaN(i.y)&&\"none\"!==t.getItemVisual(e,\"symbol\")}function Vx(t,e,i){return i.itemModel=e,i.itemStyle=e.getModel(\"itemStyle\").getItemStyle(),i.hoverItemStyle=e.getModel(\"emphasis.itemStyle\").getItemStyle(),i.lineStyle=e.getModel(\"lineStyle\").getLineStyle(),i.labelModel=e.getModel(\"label\"),i.hoverLabelModel=e.getModel(\"emphasis.label\"),!1===t.isExpand&&0!==t.children.length?i.symbolInnerColor=i.itemStyle.fill:i.symbolInnerColor=\"#fff\",i}function Gx(t,e,i,n,o,a){var r=!i,s=t.tree.getNodeByDataIndex(e),l=s.getModel(),u=(a=Vx(s,l,a),t.tree.root),h=s.parentNode===u?s:s.parentNode||s,c=t.getItemGraphicEl(h.dataIndex),d=h.getLayout(),f=c?{x:c.position[0],y:c.position[1],rawX:c.__radialOldRawX,rawY:c.__radialOldRawY}:d,p=s.getLayout();r?(i=new Xg(t,e,a)).attr(\"position\",[f.x,f.y]):i.updateData(t,e,a),i.__radialOldRawX=i.__radialRawX,i.__radialOldRawY=i.__radialRawY,i.__radialRawX=p.rawX,i.__radialRawY=p.rawY,n.add(i),t.setItemGraphicEl(e,i),cl(i,{position:[p.x,p.y]},o);var g=i.getSymbolPath();if(\"radial\"===a.layout){var m,v,y=u.children[0],x=y.getLayout(),_=y.children.length;if(p.x===x.x&&!0===s.isExpand){var w={};w.x=(y.children[0].getLayout().x+y.children[_-1].getLayout().x)/2,w.y=(y.children[0].getLayout().y+y.children[_-1].getLayout().y)/2,(m=Math.atan2(w.y-x.y,w.x-x.x))<0&&(m=2*Math.PI+m),(v=w.x<x.x)&&(m-=Math.PI)}else(m=Math.atan2(p.y-x.y,p.x-x.x))<0&&(m=2*Math.PI+m),0===s.children.length||0!==s.children.length&&!1===s.isExpand?(v=p.x<x.x)&&(m-=Math.PI):(v=p.x>x.x)||(m-=Math.PI);var b=v?\"left\":\"right\",S=a.labelModel.get(\"rotate\"),M=S*(Math.PI/180);g.setStyle({textPosition:a.labelModel.get(\"position\")||b,textRotation:null==S?-m:M,textOrigin:\"center\",verticalAlign:\"middle\"})}!function(t,e,i,n,o,a,r,s,l){var u=l.edgeShape,h=n.__edge;if(\"curve\"===u)e.parentNode&&e.parentNode!==i&&cl(h=h||(n.__edge=new ds({shape:Wx(l,o,o),style:D({opacity:0,strokeNoScale:!0},l.lineStyle)})),{shape:Wx(l,a,r),style:D({opacity:1},l.lineStyle)},t);else if(\"polyline\"===u&&\"orthogonal\"===l.layout&&e!==i&&e.children&&0!==e.children.length&&!0===e.isExpand){for(var c=e.children,d=[],f=0;f<c.length;f++){var p=c[f].getLayout();d.push([p.x,p.y])}cl(h=h||(n.__edge=new zx({shape:{parentPoint:[r.x,r.y],childPoints:[[r.x,r.y]],orient:l.orient,forkPosition:l.edgeForkPosition},style:D({opacity:0,strokeNoScale:!0},l.lineStyle)})),{shape:{parentPoint:[r.x,r.y],childPoints:d},style:D({opacity:1},l.lineStyle)},t)}s.add(h)}(o,s,u,i,f,d,p,n,a)}function Fx(t,e,i,n,o,a){for(var r,s=t.tree.getNodeByDataIndex(e),l=t.tree.root,u=s.getModel(),h=(a=Vx(s,u,a),s.parentNode===l?s:s.parentNode||s),c=a.edgeShape;null==(r=h.getLayout());)h=h.parentNode===l?h:h.parentNode||h;cl(i,{position:[r.x+1,r.y+1]},o,function(){n.remove(i),t.setItemGraphicEl(e,null)}),i.fadeOut(null,{keepLabel:!0});var d=t.getItemGraphicEl(h.dataIndex).__edge,f=i.__edge||(!1===h.isExpand||1===h.children.length?d:void 0);c=a.edgeShape;f&&(\"curve\"===c?cl(f,{shape:Wx(a,r,r),style:{opacity:0}},o,function(){n.remove(f)}):\"polyline\"===c&&\"orthogonal\"===a.layout&&cl(f,{shape:{parentPoint:[r.x,r.y],childPoints:[[r.x,r.y]]},style:{opacity:0}},o,function(){n.remove(f)}))}function Wx(t,e,i){var n,o,a,r,s,l,u,h,c=t.orient;if(\"radial\"!==t.layout)return s=e.x,u=e.y,l=i.x,h=i.y,\"LR\"!==c&&\"RL\"!==c||(n=s+(l-s)*t.curvature,o=u,a=l+(s-l)*t.curvature,r=h),\"TB\"!==c&&\"BT\"!==c||(n=s,o=u+(h-u)*t.curvature,a=l,r=h+(u-h)*t.curvature),{x1:s,y1:u,x2:l,y2:h,cpx1:n,cpy1:o,cpx2:a,cpy2:r};s=e.rawX,u=e.rawY,l=i.rawX,h=i.rawY;var d=Px(s,u),f=Px(s,u+(h-u)*t.curvature),p=Px(l,h+(u-h)*t.curvature),g=Px(l,h);return{x1:d.x,y1:d.y,x2:g.x,y2:g.y,cpx1:f.x,cpy1:f.y,cpx2:p.x,cpy2:p.y}}function Hx(t,e){for(var i,n=[t];i=n.pop();)if(e(i),i.isExpand){var o=i.children;if(o.length)for(var a=o.length-1;0<=a;a--)n.push(o[a])}}Cf({type:\"tree\",init:function(t,e){this._oldTree,this._mainGroup=new Ci,this._controller=new Vy(e.getZr()),this._controllerHost={target:this.group},this.group.add(this._mainGroup)},render:function(n,t,i,e){var o=n.getData(),a=n.layoutInfo,r=this._mainGroup,s=n.get(\"layout\");\"radial\"===s?r.attr(\"position\",[a.x+a.width/2,a.y+a.height/2]):r.attr(\"position\",[a.x,a.y]),this._updateViewCoordSys(n,a,s),this._updateController(n,t,i);var l=this._data,u={expandAndCollapse:n.get(\"expandAndCollapse\"),layout:s,edgeShape:n.get(\"edgeShape\"),edgeForkPosition:n.get(\"edgeForkPosition\"),orient:n.getOrient(),curvature:n.get(\"lineStyle.curveness\"),symbolRotate:n.get(\"symbolRotate\"),symbolOffset:n.get(\"symbolOffset\"),hoverAnimation:n.get(\"hoverAnimation\"),useNameLabel:!0,fadeIn:!0};o.diff(l).add(function(t){Bx(o,t)&&Gx(o,t,null,r,n,u)}).update(function(t,e){var i=l.getItemGraphicEl(e);Bx(o,t)?Gx(o,t,i,r,n,u):i&&Fx(l,e,i,r,n,u)}).remove(function(t){var e=l.getItemGraphicEl(t);e&&Fx(l,t,e,r,n,u)}).execute(),this._nodeScaleRatio=n.get(\"nodeScaleRatio\"),this._updateNodeAndLinkScale(n),!0===u.expandAndCollapse&&o.eachItemGraphicEl(function(t,e){t.off(\"click\").on(\"click\",function(){i.dispatchAction({type:\"treeExpandAndCollapse\",seriesId:n.id,dataIndex:e})})}),this._data=o},_updateViewCoordSys:function(t){var i=t.getData(),n=[];i.each(function(t){var e=i.getItemLayout(t);!e||isNaN(e.x)||isNaN(e.y)||n.push([+e.x,+e.y])});var e=[],o=[];Wa(n,e,o);var a=this._min,r=this._max;o[0]-e[0]==0&&(e[0]=a?a[0]:e[0]-1,o[0]=r?r[0]:o[0]+1),o[1]-e[1]==0&&(e[1]=a?a[1]:e[1]-1,o[1]=r?r[1]:o[1]+1);var s=t.coordinateSystem=new lx;s.zoomLimit=t.get(\"scaleLimit\"),s.setBoundingRect(e[0],e[1],o[0]-e[0],o[1]-e[1]),s.setCenter(t.get(\"center\")),s.setZoom(t.get(\"zoom\")),this.group.attr({position:s.position,scale:s.scale}),this._viewCoordSys=s,this._min=e,this._max=o},_updateController:function(o,t,a){var e=this._controller,i=this._controllerHost,r=this.group;e.setPointerChecker(function(t,e,i){var n=r.getBoundingRect();return n.applyTransform(r.transform),n.contain(e,i)&&!$y(t,a,o)}),e.enable(o.get(\"roam\")),i.zoomLimit=o.get(\"scaleLimit\"),i.zoom=o.coordinateSystem.getZoom(),e.off(\"pan\").off(\"zoom\").on(\"pan\",function(t){jy(i,t.dx,t.dy),a.dispatchAction({seriesId:o.id,type:\"treeRoam\",dx:t.dx,dy:t.dy})},this).on(\"zoom\",function(t){qy(i,t.scale,t.originX,t.originY),a.dispatchAction({seriesId:o.id,type:\"treeRoam\",zoom:t.scale,originX:t.originX,originY:t.originY}),this._updateNodeAndLinkScale(o)},this)},_updateNodeAndLinkScale:function(t){var e=t.getData(),i=this._getNodeGlobalScale(t),n=[i,i];e.eachItemGraphicEl(function(t,e){t.attr(\"scale\",n)})},_getNodeGlobalScale:function(t){var e=t.coordinateSystem;if(\"view\"!==e.type)return 1;var i=this._nodeScaleRatio,n=e.scale,o=n&&n[0]||1;return((e.getZoom()-1)*i+1)/o},dispose:function(){this._controller&&this._controller.dispose(),this._controllerHost={}},remove:function(){this._mainGroup.removeAll(),this._data=null}}),_f({type:\"treeExpandAndCollapse\",event:\"treeExpandAndCollapse\",update:\"update\"},function(n,t){t.eachComponent({mainType:\"series\",subType:\"tree\",query:n},function(t){var e=n.dataIndex,i=t.getData().tree.getNodeByDataIndex(e);i.isExpand=!i.isExpand})}),_f({type:\"treeRoam\",event:\"treeRoam\",update:\"none\"},function(i,t){t.eachComponent({mainType:\"series\",subType:\"tree\",query:i},function(t){var e=ax(t.coordinateSystem,i);t.setCenter&&t.setCenter(e.center),t.setZoom&&t.setZoom(e.zoom)})});function Zx(t,e,i){if(t&&0<=_(e,t.type)){var n=i.getData().tree.root,o=t.targetNode;if(\"string\"==typeof o&&(o=n.getNodeById(o)),o&&n.contains(o))return{node:o};var a=t.targetNodeId;if(null!=a&&(o=n.getNodeById(a)))return{node:o}}}function Ux(t){for(var e=[];t;)(t=t.parentNode)&&e.push(t);return e.reverse()}function Xx(t,e){return 0<=_(Ux(t),e)}function Yx(t,e){for(var i=[];t;){var n=t.dataIndex;i.push({name:t.name,dataIndex:n,value:e.getRawValue(n)}),t=t.parentNode}return i.reverse(),i}Sf(Lm(\"tree\",\"circle\")),bf(function(t,e){t.eachSeriesByType(\"tree\",function(t){!function(t,e){var i=function(t,e){return bu(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()})}(t,e);t.layoutInfo=i;var n=t.get(\"layout\"),o=0,a=0,r=null;r=\"radial\"===n?(o=2*Math.PI,a=Math.min(i.height,i.width)/2,kx(function(t,e){return(t.parentNode===e.parentNode?1:2)/t.depth})):(o=i.width,a=i.height,kx());var s=t.getData().tree.root,l=s.children[0];if(l){!function(t){t.hierNode={defaultAncestor:null,ancestor:t,prelim:0,modifier:0,change:0,shift:0,i:0,thread:null};for(var e,i,n=[t];e=n.pop();)if(i=e.children,e.isExpand&&i.length)for(var o=i.length-1;0<=o;o--){var a=i[o];a.hierNode={defaultAncestor:null,ancestor:a,prelim:0,modifier:0,change:0,shift:0,i:o,thread:null},n.push(a)}}(s),function(t,e,i){for(var n,o=[t],a=[];n=o.pop();)if(a.push(n),n.isExpand){var r=n.children;if(r.length)for(var s=0;s<r.length;s++)o.push(r[s])}for(;n=a.pop();)e(n,i)}(l,Cx,r),s.hierNode.modifier=-l.hierNode.prelim,Hx(l,Lx);var u=l,h=l,c=l;Hx(l,function(t){var e=t.getLayout().x;e<u.getLayout().x&&(u=t),e>h.getLayout().x&&(h=t),t.depth>c.depth&&(c=t)});var d=u===h?1:r(u,h)/2,f=d-u.getLayout().x,p=0,g=0,m=0,v=0;if(\"radial\"===n)p=o/(h.getLayout().x+d+f),g=a/(c.depth-1||1),Hx(l,function(t){m=(t.getLayout().x+f)*p,v=(t.depth-1)*g;var e=Px(m,v);t.setLayout({x:e.x,y:e.y,rawX:m,rawY:v},!0)});else{var y=t.getOrient();\"RL\"===y||\"LR\"===y?(g=a/(h.getLayout().x+d+f),p=o/(c.depth-1||1),Hx(l,function(t){v=(t.getLayout().x+f)*g,m=\"LR\"===y?(t.depth-1)*p:o-(t.depth-1)*p,t.setLayout({x:m,y:v},!0)})):\"TB\"!==y&&\"BT\"!==y||(p=o/(h.getLayout().x+d+f),g=a/(c.depth-1||1),Hx(l,function(t){m=(t.getLayout().x+f)*p,v=\"TB\"===y?(t.depth-1)*g:a-(t.depth-1)*g,t.setLayout({x:m,y:v},!0)}))}}}(t,e)})}),sc.extend({type:\"series.treemap\",layoutMode:\"box\",dependencies:[\"grid\",\"polar\"],preventUsingHoverLayer:!0,_viewRoot:null,defaultOption:{progressive:0,left:\"center\",top:\"middle\",right:null,bottom:null,width:\"80%\",height:\"80%\",sort:!0,clipWindow:\"origin\",squareRatio:.5*(1+Math.sqrt(5)),leafDepth:null,drillDownIcon:\"▶\",zoomToNodeRatio:.1024,roam:!0,nodeClick:\"zoomToNode\",animation:!0,animationDurationUpdate:900,animationEasing:\"quinticInOut\",breadcrumb:{show:!0,height:22,left:\"center\",top:\"bottom\",emptyItemWidth:25,itemStyle:{color:\"rgba(0,0,0,0.7)\",borderColor:\"rgba(255,255,255,0.7)\",borderWidth:1,shadowColor:\"rgba(150,150,150,1)\",shadowBlur:3,shadowOffsetX:0,shadowOffsetY:0,textStyle:{color:\"#fff\"}},emphasis:{textStyle:{}}},label:{show:!0,distance:0,padding:5,position:\"inside\",color:\"#fff\",ellipsis:!0},upperLabel:{show:!1,position:[0,\"50%\"],height:20,color:\"#fff\",ellipsis:!0,verticalAlign:\"middle\"},itemStyle:{color:null,colorAlpha:null,colorSaturation:null,borderWidth:0,gapWidth:0,borderColor:\"#fff\",borderColorSaturation:null},emphasis:{upperLabel:{show:!0,position:[0,\"50%\"],color:\"#fff\",ellipsis:!0,verticalAlign:\"middle\"}},visualDimension:0,visualMin:null,visualMax:null,color:[],colorAlpha:null,colorSaturation:null,colorMappingBy:\"index\",visibleMin:10,childrenVisibleMin:null,levels:[]},getInitialData:function(t,e){var i={name:t.name,children:t.data};!function i(t){var n=0;R(t.children,function(t){i(t);var e=t.value;L(e)&&(e=e[0]),n+=e});var e=t.value;L(e)&&(e=e[0]);null!=e&&!isNaN(e)||(e=n);e<0&&(e=0);L(t.value)?t.value[0]=e:t.value=e}(i);var n=t.levels||[],o=new Cl({itemStyle:this.designatedVisualItemStyle={}},this,e),a=O((n=t.levels=function(t,e){var n,i=e.get(\"color\");if(!i)return;if(R(t=t||[],function(t){var e=new Cl(t),i=e.get(\"color\");(e.get(\"itemStyle.color\")||i&&\"none\"!==i)&&(n=!0)}),!n){(t[0]||(t[0]={})).color=i.slice()}return t}(n,e))||[],function(t){return new Cl(t,o,e)},this),r=Ax.createTree(i,this,function(t){t.wrapMethod(\"getItemModel\",function(t,e){var i=r.getNodeByDataIndex(e),n=a[i.depth];return t.parentModel=n||o,t})});return r.data},optionUpdated:function(){this.resetViewRoot()},formatTooltip:function(t){var e=this.getData(),i=this.getRawValue(t),n=L(i)?tu(i[0]):tu(i);return au(e.getName(t)+\": \"+n)},getDataParams:function(t){var e=sc.prototype.getDataParams.apply(this,arguments),i=this.getData().tree.getNodeByDataIndex(t);return e.treePathInfo=Yx(i,this),e},setLayoutInfo:function(t){this.layoutInfo=this.layoutInfo||{},P(this.layoutInfo,t)},mapIdToIndex:function(t){var e=this._idIndexMap;e||(e=this._idIndexMap=Q(),this._idIndexMapCount=0);var i=e.get(t);return null==i&&e.set(t,i=this._idIndexMapCount++),i},getViewRoot:function(){return this._viewRoot},resetViewRoot:function(t){t?this._viewRoot=t:t=this._viewRoot;var e=this.getRawData().tree.root;t&&(t===e||e.contains(t))||(this._viewRoot=e)}});var jx=5;function qx(t){this.group=new Ci,t.add(this.group)}function Kx(t,e,i,n,o,a){var r=[[o?t:t-jx,e],[t+i,e],[t+i,e+n],[o?t:t-jx,e+n]];return a||r.splice(2,0,[t+i+jx,e+n/2]),o||r.push([t,e+n/2]),r}qx.prototype={constructor:qx,render:function(t,e,i,n){var o=t.getModel(\"breadcrumb\"),a=this.group;if(a.removeAll(),o.get(\"show\")&&i){var r=o.getModel(\"itemStyle\"),s=r.getModel(\"textStyle\"),l={pos:{left:o.get(\"left\"),right:o.get(\"right\"),top:o.get(\"top\"),bottom:o.get(\"bottom\")},box:{width:e.getWidth(),height:e.getHeight()},emptyItemWidth:o.get(\"emptyItemWidth\"),totalWidth:0,renderList:[]};this._prepare(i,l,s),this._renderContent(t,l,r,s,n),Su(a,l.pos,l.box)}},_prepare:function(t,e,i){for(var n=t;n;n=n.parentNode){var o=n.getModel().get(\"name\"),a=i.getTextRect(o),r=Math.max(a.width+16,e.emptyItemWidth);e.totalWidth+=r+8,e.renderList.push({node:n,text:o,width:r})}},_renderContent:function(t,e,i,n,o){for(var a,r,s=0,l=e.emptyItemWidth,u=t.get(\"breadcrumb.height\"),h=function(t,e,i){var n=e.width,o=e.height,a=El(t.x,n),r=El(t.y,o),s=El(t.x2,n),l=El(t.y2,o);return(isNaN(a)||isNaN(parseFloat(t.x)))&&(a=0),(isNaN(s)||isNaN(parseFloat(t.x2)))&&(s=n),(isNaN(r)||isNaN(parseFloat(t.y)))&&(r=0),(isNaN(l)||isNaN(parseFloat(t.y2)))&&(l=o),i=iu(i||0),{width:Math.max(s-a-i[1]-i[3],0),height:Math.max(l-r-i[0]-i[2],0)}}(e.pos,e.box),c=e.totalWidth,d=e.renderList,f=d.length-1;0<=f;f--){var p=d[f],g=p.node,m=p.width,v=p.text;c>h.width&&(c-=m-l,m=l,v=null);var y=new Qr({shape:{points:Kx(s,0,m,u,f===d.length-1,0===f)},style:D(i.getItemStyle(),{lineJoin:\"bevel\",text:v,textFill:n.getTextColor(),textFont:n.getFont()}),z:10,onclick:T(o,g)});this.group.add(y),a=t,r=g,y.eventData={componentType:\"series\",componentSubType:\"treemap\",componentIndex:a.componentIndex,seriesIndex:a.componentIndex,seriesName:a.name,seriesType:\"treemap\",selfType:\"breadcrumb\",nodeData:{dataIndex:r&&r.dataIndex,name:r&&r.name},treePathInfo:r&&Yx(r,a)},s+=m+8}},remove:function(){this.group.removeAll()}};function $x(t){var e=s_(t);return e.stroke=e.fill=e.lineWidth=null,e}var Jx=A,Qx=Ci,t_=rs,e_=R,i_=[\"label\"],n_=[\"emphasis\",\"label\"],o_=[\"upperLabel\"],a_=[\"emphasis\",\"upperLabel\"],r_=10,s_=ha([[\"fill\",\"color\"],[\"stroke\",\"strokeColor\"],[\"lineWidth\",\"strokeWidth\"],[\"shadowBlur\"],[\"shadowOffsetX\"],[\"shadowOffsetY\"],[\"shadowColor\"]]);function l_(h,r,s,l,u,e,c,t,i,n){if(c){var d=c.getLayout(),o=h.getData();if(o.setItemGraphicEl(c.dataIndex,null),d&&d.isInView){var f=d.width,p=d.height,g=d.borderWidth,m=d.invisible,v=c.getRawIndex(),y=t&&t.getRawIndex(),a=c.viewChildren,x=d.upperHeight,_=a&&a.length,w=c.getModel(\"itemStyle\"),b=c.getModel(\"emphasis.itemStyle\"),S=L(\"nodeGroup\",Qx);if(S){if(i.add(S),S.attr(\"position\",[d.x||0,d.y||0]),S.__tmNodeWidth=f,S.__tmNodeHeight=p,d.isAboveViewRoot)return S;var M=c.getModel(),I=L(\"background\",t_,n,1);if(I&&function(t,e,i){if(e.dataIndex=c.dataIndex,e.seriesIndex=h.seriesIndex,e.setShape({x:0,y:0,width:f,height:p}),m)A(e);else{e.invisible=!1;var n=c.getVisual(\"borderColor\",!0),o=b.get(\"borderColor\"),a=$x(w);a.fill=n;var r=s_(b);if(r.fill=o,i){var s=f-2*g;D(a,r,n,s,x,{x:g,y:0,width:s,height:x})}else a.text=r.text=null;e.setStyle(a),Us(e,r)}t.add(e)}(S,I,_&&d.upperLabelHeight),_)Qs(S)&&Js(S,!1),I&&(Js(I,!0),o.setItemGraphicEl(c.dataIndex,I));else{var T=L(\"content\",t_,n,2);T&&function(t,e){e.dataIndex=c.dataIndex,e.seriesIndex=h.seriesIndex;var i=Math.max(f-2*g,0),n=Math.max(p-2*g,0);if(e.culling=!0,e.setShape({x:g,y:g,width:i,height:n}),m)A(e);else{e.invisible=!1;var o=c.getVisual(\"color\",!0),a=$x(w);a.fill=o;var r=s_(b);D(a,r,o,i,n),e.setStyle(a),Us(e,r)}t.add(e)}(S,T),I&&Qs(I)&&Js(I,!1),Js(S,!0),o.setItemGraphicEl(c.dataIndex,S)}return S}}}function A(t){t.invisible||e.push(t)}function D(t,e,i,n,o,a){var r=M.get(\"name\"),s=M.getModel(a?o_:i_),l=M.getModel(a?a_:n_),u=s.getShallow(\"show\");el(t,e,s,l,{defaultText:u?r:null,autoColor:i,isRectText:!0,labelFetcher:h,labelDataIndex:c.dataIndex,labelProp:a?\"upperLabel\":\"label\"}),C(t,a,d),C(e,a,d),a&&(t.textRect=k(a)),t.truncate=u&&s.get(\"ellipsis\")?{outerWidth:n,outerHeight:o,minChar:2}:null}function C(t,e,i){var n=t.text;if(!e&&i.isLeafRoot&&null!=n){var o=h.get(\"drillDownIcon\",!0);t.text=o?o+\" \"+n:n}}function L(t,e,i,n){var o=null!=y&&s[t][y],a=u[t];return o?(s[t][y]=null,function(t,e,i){(t[v]={}).old=\"nodeGroup\"===i?e.position.slice():P({},e.shape)}(a,o,t)):m||((o=new e({z:function(t,e){var i=t*r_+e;return(i-1)/i}(i,n)})).__tmDepth=i,function(t,e,i){var n=t[v]={},o=c.parentNode;if(o&&(!l||\"drillDown\"===l.direction)){var a=0,r=0,s=u.background[o.getRawIndex()];!l&&s&&s.old&&(a=s.old.width,r=s.old.height),n.old=\"nodeGroup\"===i?[0,r]:{x:a,y:r,width:0,height:0}}n.fadein=\"nodeGroup\"!==i}(a,0,o.__tmStorageName=t)),r[t][v]=o}}Cf({type:\"treemap\",init:function(t,e){this._containerGroup,this._storage={nodeGroup:[],background:[],content:[]},this._oldTree,this._breadcrumb,this._controller,this._state=\"ready\"},render:function(t,e,i,n){if(!(_(e.findComponents({mainType:\"series\",subType:\"treemap\",query:n}),t)<0)){this.seriesModel=t,this.api=i,this.ecModel=e;var o=Zx(n,[\"treemapZoomToNode\",\"treemapRootToNode\"],t),a=n&&n.type,r=t.layoutInfo,s=!this._oldTree,l=this._storage,u=\"treemapRootToNode\"===a&&o&&l?{rootNodeGroup:l.nodeGroup[o.node.getRawIndex()],direction:n.direction}:null,h=this._giveContainerGroup(r),c=this._doRender(h,t,u);s||a&&\"treemapZoomToNode\"!==a&&\"treemapRootToNode\"!==a?c.renderFinally():this._doAnimation(h,c,t,u),this._resetController(i),this._renderBreadcrumb(t,i,o)}},_giveContainerGroup:function(t){var e=this._containerGroup;return e||(e=this._containerGroup=new Qx,this._initEvents(e),this.group.add(e)),e.attr(\"position\",[t.x,t.y]),e},_doRender:function(t,e,i){var n=e.getData().tree,o=this._oldTree,a={nodeGroup:[],background:[],content:[]},r={nodeGroup:[],background:[],content:[]},s=this._storage,l=[],c=T(l_,e,r,s,i,a,l);!function a(r,s,l,u,h){u?e_(s=r,function(t,e){t.isRemoved()||i(e,e)}):new kf(s,r,t,t).add(i).update(i).remove(T(i,null)).execute();function t(t){return t.getId()}function i(t,e){var i=null!=t?r[t]:null,n=null!=e?s[e]:null,o=c(i,n,l,h);o&&a(i&&i.viewChildren||[],n&&n.viewChildren||[],o,u,h+1)}}(n.root?[n.root]:[],o&&o.root?[o.root]:[],t,n===o||!o,0);var u,h,d=(h={nodeGroup:[],background:[],content:[]},(u=s)&&e_(u,function(t,e){var i=h[e];e_(t,function(t){t&&(i.push(t),t.__tmWillDelete=1)})}),h);return this._oldTree=n,this._storage=r,{lastsForAnimation:a,willDeleteEls:d,renderFinally:function(){e_(d,function(t){e_(t,function(t){t.parent&&t.parent.remove(t)})}),e_(l,function(t){t.invisible=!0,t.dirty()})}}},_doAnimation:function(t,a,e,s){if(e.get(\"animation\")){var l=e.get(\"animationDurationUpdate\"),u=e.get(\"animationEasing\"),h=function(){var a,r=[],s={};return{add:function(t,e,i,n,o){return E(n)&&(o=n,n=0),!s[t.id]&&(s[t.id]=1,r.push({el:t,target:e,time:i,delay:n,easing:o}),!0)},done:function(t){return a=t,this},start:function(){for(var t=r.length,e=0,i=r.length;e<i;e++){var n=r[e];n.el.animateTo(n.target,n.time,n.delay,n.easing,o)}return this;function o(){--t||(r.length=0,s={},a&&a())}}}}();e_(a.willDeleteEls,function(t,r){e_(t,function(t,e){if(!t.invisible){var i,n=t.parent;if(s&&\"drillDown\"===s.direction)i=n===s.rootNodeGroup?{shape:{x:0,y:0,width:n.__tmNodeWidth,height:n.__tmNodeHeight},style:{opacity:0}}:{style:{opacity:0}};else{var o=0,a=0;n.__tmWillDelete||(o=n.__tmNodeWidth/2,a=n.__tmNodeHeight/2),i=\"nodeGroup\"===r?{position:[o,a],style:{opacity:0}}:{shape:{x:o,y:a,width:0,height:0},style:{opacity:0}}}i&&h.add(t,i,l,u)}})}),e_(this._storage,function(t,o){e_(t,function(t,e){var i=a.lastsForAnimation[o][e],n={};i&&(\"nodeGroup\"===o?i.old&&(n.position=t.position.slice(),t.attr(\"position\",i.old)):(i.old&&(n.shape=P({},t.shape),t.setShape(i.old)),i.fadein?(t.setStyle(\"opacity\",0),n.style={opacity:1}):1!==t.style.opacity&&(n.style={opacity:1})),h.add(t,n,l,u))})},this),this._state=\"animating\",h.done(Jx(function(){this._state=\"ready\",a.renderFinally()},this)).start()}},_resetController:function(t){var e=this._controller;e||((e=this._controller=new Vy(t.getZr())).enable(this.seriesModel.get(\"roam\")),e.on(\"pan\",Jx(this._onPan,this)),e.on(\"zoom\",Jx(this._onZoom,this)));var n=new Di(0,0,t.getWidth(),t.getHeight());e.setPointerChecker(function(t,e,i){return n.contain(e,i)})},_clearController:function(){var t=this._controller;t&&(t.dispose(),t=null)},_onPan:function(t){if(\"animating\"!==this._state&&(3<Math.abs(t.dx)||3<Math.abs(t.dy))){var e=this.seriesModel.getData().tree.root;if(!e)return;var i=e.getLayout();if(!i)return;this.api.dispatchAction({type:\"treemapMove\",from:this.uid,seriesId:this.seriesModel.id,rootRect:{x:i.x+t.dx,y:i.y+t.dy,width:i.width,height:i.height}})}},_onZoom:function(t){var e=t.originX,i=t.originY;if(\"animating\"!==this._state){var n=this.seriesModel.getData().tree.root;if(!n)return;var o=n.getLayout();if(!o)return;var a=new Di(o.x,o.y,o.width,o.height),r=this.seriesModel.layoutInfo;e-=r.x,i-=r.y;var s=ae();ue(s,s,[-e,-i]),ce(s,s,[t.scale,t.scale]),ue(s,s,[e,i]),a.applyTransform(s),this.api.dispatchAction({type:\"treemapRender\",from:this.uid,seriesId:this.seriesModel.id,rootRect:{x:a.x,y:a.y,width:a.width,height:a.height}})}},_initEvents:function(t){t.on(\"click\",function(t){if(\"ready\"===this._state){var e=this.seriesModel.get(\"nodeClick\",!0);if(e){var i=this.findTarget(t.offsetX,t.offsetY);if(i){var n=i.node;if(n.getLayout().isLeafRoot)this._rootToNode(i);else if(\"zoomToNode\"===e)this._zoomToNode(i);else if(\"link\"===e){var o=n.hostTree.data.getItemModel(n.dataIndex),a=o.get(\"link\",!0),r=o.get(\"target\",!0)||\"blank\";a&&gu(a,r)}}}}},this)},_renderBreadcrumb:function(e,t,i){i=i||((i=null!=e.get(\"leafDepth\",!0)?{node:e.getViewRoot()}:this.findTarget(t.getWidth()/2,t.getHeight()/2))||{node:e.getData().tree.root}),(this._breadcrumb||(this._breadcrumb=new qx(this.group))).render(e,t,i.node,Jx(function(t){\"animating\"!==this._state&&(Xx(e.getViewRoot(),t)?this._rootToNode({node:t}):this._zoomToNode({node:t}))},this))},remove:function(){this._clearController(),this._containerGroup&&this._containerGroup.removeAll(),this._storage={nodeGroup:[],background:[],content:[]},this._state=\"ready\",this._breadcrumb&&this._breadcrumb.remove()},dispose:function(){this._clearController()},_zoomToNode:function(t){this.api.dispatchAction({type:\"treemapZoomToNode\",from:this.uid,seriesId:this.seriesModel.id,targetNode:t.node})},_rootToNode:function(t){this.api.dispatchAction({type:\"treemapRootToNode\",from:this.uid,seriesId:this.seriesModel.id,targetNode:t.node})},findTarget:function(o,a){var r;return this.seriesModel.getViewRoot().eachNode({attr:\"viewChildren\",order:\"preorder\"},function(t){var e=this._storage.background[t.getRawIndex()];if(e){var i=e.transformCoordToLocal(o,a),n=e.shape;if(!(n.x<=i[0]&&i[0]<=n.x+n.width&&n.y<=i[1]&&i[1]<=n.y+n.height))return!1;r={node:t,offsetX:i[0],offsetY:i[1]}}},this),r}});for(var u_=function(){},h_=[\"treemapZoomToNode\",\"treemapRender\",\"treemapMove\"],c_=0;c_<h_.length;c_++)_f({type:h_[c_],update:\"updateView\"},u_);_f({type:\"treemapRootToNode\",update:\"updateView\"},function(o,t){t.eachComponent({mainType:\"series\",subType:\"treemap\",query:o},function(t,e){var i=Zx(o,[\"treemapZoomToNode\",\"treemapRootToNode\"],t);if(i){var n=t.getViewRoot();n&&(o.direction=Xx(n,i.node)?\"rollUp\":\"drillDown\"),t.resetViewRoot(i.node)}})});var d_=R,f_=z,p_=-1,g_=function(t){var e=t.mappingMethod,i=t.type,n=this.option=k(t);this.type=i,this.mappingMethod=e,this._normalizeData=T_[e];var o=m_[i];this.applyVisual=o.applyVisual,this.getColorMapper=o.getColorMapper,this._doMap=o._doMap[e],\"piecewise\"===e?(v_(n),function(i){var t=i.pieceList;i.hasSpecialVisual=!1,R(t,function(t,e){t.originIndex=e,null!=t.visual&&(i.hasSpecialVisual=!0)})}(n)):\"category\"===e?n.categories?function(t){var e=t.categories,i=t.visual,n=t.categoryMap={};if(d_(e,function(t,e){n[t]=e}),!L(i)){var o=[];z(i)?d_(i,function(t,e){var i=n[e];o[null!=i?i:p_]=t}):o[p_]=i,i=I_(t,o)}for(var a=e.length-1;0<=a;a--)null==i[a]&&(delete n[e[a]],e.pop())}(n):v_(n,!0):(Y(\"linear\"!==e||n.dataExtent),v_(n))};g_.prototype={constructor:g_,mapValueToVisual:function(t){var e=this._normalizeData(t);return this._doMap(e,t)},getNormalizer:function(){return A(this._normalizeData,this)}};var m_=g_.visualHandlers={color:{applyVisual:__(\"color\"),getColorMapper:function(){var o=this.option;return A(\"category\"===o.mappingMethod?function(t,e){return e||(t=this._normalizeData(t)),w_.call(this,t)}:function(t,e,i){var n=!!i;return e||(t=this._normalizeData(t)),i=Ue(t,o.parsedVisual,i),n?i:$e(i,\"rgba\")},this)},_doMap:{linear:function(t){return $e(Ue(t,this.option.parsedVisual),\"rgba\")},category:w_,piecewise:function(t,e){var i=M_.call(this,e);return null==i&&(i=$e(Ue(t,this.option.parsedVisual),\"rgba\")),i},fixed:b_}},colorHue:y_(function(t,e){return qe(t,e)}),colorSaturation:y_(function(t,e){return qe(t,null,e)}),colorLightness:y_(function(t,e){return qe(t,null,null,e)}),colorAlpha:y_(function(t,e){return Ke(t,e)}),opacity:{applyVisual:__(\"opacity\"),_doMap:S_([0,1])},liftZ:{applyVisual:__(\"liftZ\"),_doMap:{linear:b_,category:b_,piecewise:b_,fixed:b_}},symbol:{applyVisual:function(t,e,i){var n=this.mapValueToVisual(t);if(E(n))i(\"symbol\",n);else if(f_(n))for(var o in n)n.hasOwnProperty(o)&&i(o,n[o])},_doMap:{linear:x_,category:w_,piecewise:function(t,e){var i=M_.call(this,e);return null==i&&(i=x_.call(this,t)),i},fixed:b_}},symbolSize:{applyVisual:__(\"symbolSize\"),_doMap:S_([0,1])}};function v_(t,e){var i=t.visual,n=[];z(i)?d_(i,function(t){n.push(t)}):null!=i&&n.push(i);e||1!==n.length||{color:1,symbol:1}.hasOwnProperty(t.type)||(n[1]=n[0]),I_(t,n)}function y_(n){return{applyVisual:function(t,e,i){t=this.mapValueToVisual(t),i(\"color\",n(e(\"color\"),t))},_doMap:S_([0,1])}}function x_(t){var e=this.option.visual;return e[Math.round(Rl(t,[0,1],[0,e.length-1],!0))]||{}}function __(n){return function(t,e,i){i(n,this.mapValueToVisual(t))}}function w_(t){var e=this.option.visual;return e[this.option.loop&&t!==p_?t%e.length:t]}function b_(){return this.option.visual[0]}function S_(n){return{linear:function(t){return Rl(t,n,this.option.visual,!0)},category:w_,piecewise:function(t,e){var i=M_.call(this,e);return null==i&&(i=Rl(t,n,this.option.visual,!0)),i},fixed:b_}}function M_(t){var e=this.option,i=e.pieceList;if(e.hasSpecialVisual){var n=i[g_.findPieceIndex(t,i)];if(n&&n.visual)return n.visual[this.type]}}function I_(t,e){return t.visual=e,\"color\"===t.type&&(t.parsedVisual=O(e,function(t){return Fe(t)})),e}var T_={linear:function(t){return Rl(t,this.option.dataExtent,[0,1],!0)},piecewise:function(t){var e=this.option.pieceList,i=g_.findPieceIndex(t,e,!0);if(null!=i)return Rl(i,[0,e.length-1],[0,1],!0)},category:function(t){var e=this.option.categories?this.option.categoryMap[t]:t;return null==e?p_:e},fixed:et};function A_(t,e,i){return t?e<=i:e<i}g_.listVisualTypes=function(){var i=[];return R(m_,function(t,e){i.push(e)}),i},g_.addVisualHandler=function(t,e){m_[t]=e},g_.isValidType=function(t){return m_.hasOwnProperty(t)},g_.eachVisual=function(t,e,i){z(t)?R(t,e,i):e.call(i,t)},g_.mapVisual=function(t,n,o){var a,r=L(t)?[]:z(t)?{}:(a=!0,null);return g_.eachVisual(t,function(t,e){var i=n.call(o,t,e);a?r=i:r[e]=i}),r},g_.retrieveVisuals=function(i){var n,o={};return i&&d_(m_,function(t,e){i.hasOwnProperty(e)&&(o[e]=i[e],n=!0)}),n?o:null},g_.prepareVisualTypes=function(t){if(f_(t)){var i=[];d_(t,function(t,e){i.push(e)}),t=i}else{if(!L(t))return[];t=t.slice()}return t.sort(function(t,e){return\"color\"===e&&\"color\"!==t&&0===t.indexOf(\"color\")?1:-1}),t},g_.dependsOn=function(t,e){return\"color\"===e?!(!t||0!==t.indexOf(e)):t===e},g_.findPieceIndex=function(n,t,e){for(var o,a=1/0,i=0,r=t.length;i<r;i++){var s=t[i].value;if(null!=s){if(s===n||\"string\"==typeof s&&s===n+\"\")return i;e&&c(s,i)}}for(i=0,r=t.length;i<r;i++){var l=t[i],u=l.interval,h=l.close;if(u){if(u[0]===-1/0){if(A_(h[1],n,u[1]))return i}else if(u[1]===1/0){if(A_(h[0],u[0],n))return i}else if(A_(h[0],u[0],n)&&A_(h[1],n,u[1]))return i;e&&c(u[0],i),e&&c(u[1],i)}}if(e)return n===1/0?t.length-1:n===-1/0?0:o;function c(t,e){var i=Math.abs(t-n);i<a&&(a=i,o=e)}};var D_=L,C_=\"itemStyle\",L_={seriesType:\"treemap\",reset:function(t,e,i,n){var o=t.getData().tree.root;o.isRemoved()||!function n(t,e,o,a){var r=t.getModel();var i=t.getLayout();if(!i||i.invisible||!i.isInView)return;var s=t.getModel(C_);var l=k_(s,e,a);var u=s.get(\"borderColor\");var h=s.get(\"borderColorSaturation\");var c;null!=h&&(c=P_(l),d=h,u=null!=(f=c)?qe(f,null,null,d):null);var d,f;t.setVisual(\"borderColor\",u);var p=t.viewChildren;if(p&&p.length){var g=O_(t,r,i,s,l,p);R(p,function(t,e){if(t.depth>=o.length||t===o[t.depth]){var i=E_(r,l,t,e,g,a);n(t,i,o,a)}})}else c=P_(l),t.setVisual(\"color\",c)}(o,{},t.getViewRoot().getAncestors(),t)}};function k_(i,n,t){var o=P({},n),a=t.designatedVisualItemStyle;return R([\"color\",\"colorAlpha\",\"colorSaturation\"],function(t){a[t]=n[t];var e=i.get(t);(a[t]=null)!=e&&(o[t]=e)}),o}function P_(t){var e=N_(t,\"color\");if(e){var i=N_(t,\"colorAlpha\"),n=N_(t,\"colorSaturation\");return n&&(e=qe(e,null,null,n)),i&&(e=Ke(e,i)),e}}function N_(t,e){var i=t[e];if(null!=i&&\"none\"!==i)return i}function O_(t,e,i,n,o,a){if(a&&a.length){var r=R_(e,\"color\")||null!=o.color&&\"none\"!==o.color&&(R_(e,\"colorAlpha\")||R_(e,\"colorSaturation\"));if(r){var s=e.get(\"visualMin\"),l=e.get(\"visualMax\"),u=i.dataExtent.slice();null!=s&&s<u[0]&&(u[0]=s),null!=l&&l>u[1]&&(u[1]=l);var h=e.get(\"colorMappingBy\"),c={type:r.name,dataExtent:u,visual:r.range};\"color\"!==c.type||\"index\"!==h&&\"id\"!==h?c.mappingMethod=\"linear\":(c.mappingMethod=\"category\",c.loop=!0);var d=new g_(c);return d.__drColorMappingBy=h,d}}}function R_(t,e){var i=t.get(e);return D_(i)&&i.length?{name:e,range:i}:null}function E_(t,e,i,n,o,a){var r=P({},e);if(o){var s=o.type,l=\"color\"===s&&o.__drColorMappingBy,u=\"index\"===l?n:\"id\"===l?a.mapIdToIndex(i.getId()):i.getValue(t.get(\"visualDimension\"));r[s]=o.mapValueToVisual(u)}return r}var z_=Math.max,B_=Math.min,V_=W,G_=R,F_=[\"itemStyle\",\"borderWidth\"],W_=[\"itemStyle\",\"gapWidth\"],H_=[\"upperLabel\",\"show\"],Z_=[\"upperLabel\",\"height\"],U_={seriesType:\"treemap\",reset:function(t,e,i,n){var o=i.getWidth(),a=i.getHeight(),r=t.option,s=bu(t.getBoxLayoutParams(),{width:i.getWidth(),height:i.getHeight()}),l=r.size||[],u=El(V_(s.width,l[0]),o),h=El(V_(s.height,l[1]),a),c=n&&n.type,d=Zx(n,[\"treemapZoomToNode\",\"treemapRootToNode\"],t),f=\"treemapRender\"===c||\"treemapMove\"===c?n.rootRect:null,p=t.getViewRoot(),g=Ux(p);if(\"treemapMove\"!==c){var m=\"treemapZoomToNode\"===c?function(t,e,i,n,o){var a,r=(e||{}).node,s=[n,o];if(!r||r===i)return s;var l=n*o,u=l*t.option.zoomToNodeRatio;for(;a=r.parentNode;){for(var h=0,c=a.children,d=0,f=c.length;d<f;d++)h+=c[d].getValue();var p=r.getValue();if(0===p)return s;u*=h/p;var g=a.getModel(),m=g.get(F_),v=Math.max(m,q_(g));u+=4*m*m+(3*m+v)*Math.pow(u,.5),Hl<u&&(u=Hl),r=a}u<l&&(u=l);var y=Math.pow(u/l,.5);return[n*y,o*y]}(t,d,p,u,h):f?[f.width,f.height]:[u,h],v=r.sort;v&&\"asc\"!==v&&\"desc\"!==v&&(v=\"desc\");var y={squareRatio:r.squareRatio,sort:v,leafDepth:r.leafDepth};p.hostTree.clearLayouts();var x={x:0,y:0,width:m[0],height:m[1],area:m[0]*m[1]};p.setLayout(x),function t(e,i,n,o){var a;var r;if(e.isRemoved())return;var s=e.getLayout();a=s.width;r=s.height;var l=e.getModel();var u=l.get(F_);var h=l.get(W_)/2;var c=q_(l);var d=Math.max(u,c);var f=u-h;var p=d-h;var l=e.getModel();e.setLayout({borderWidth:u,upperHeight:d,upperLabelHeight:c},!0);a=z_(a-2*f,0);r=z_(r-f-p,0);var g=a*r;var m=X_(e,l,g,i,n,o);if(!m.length)return;var v={x:f,y:p,width:a,height:r};var y=B_(a,r);var x=1/0;var _=[];_.area=0;for(var w=0,b=m.length;w<b;){var S=m[w];_.push(S),_.area+=S.getLayout().area;var M=Y_(_,y,i.squareRatio);x=M<=x?(w++,M):(_.area-=_.pop().getLayout().area,j_(_,y,v,h,!1),y=B_(v.width,v.height),_.length=_.area=0,1/0)}_.length&&j_(_,y,v,h,!0);if(!n){var I=l.get(\"childrenVisibleMin\");null!=I&&g<I&&(n=!0)}for(var w=0,b=m.length;w<b;w++)t(m[w],i,n,o+1)}(p,y,!1,0);x=p.getLayout();G_(g,function(t,e){var i=(g[e+1]||p).getValue();t.setLayout(P({dataExtent:[i,i],borderWidth:0,upperHeight:0},x))})}var _=t.getData().tree.root;_.setLayout(function(t,e,i){if(e)return{x:e.x,y:e.y};var n={x:0,y:0};if(!i)return n;var o=i.node,a=o.getLayout();if(!a)return n;var r=[a.width/2,a.height/2],s=o;for(;s;){var l=s.getLayout();r[0]+=l.x,r[1]+=l.y,s=s.parentNode}return{x:t.width/2-r[0],y:t.height/2-r[1]}}(s,f,d),!0),t.setLayoutInfo(s),function e(t,i,n,o,a){var r=t.getLayout();var s=n[a];var l=s&&s===t;if(s&&!l||a===n.length&&t!==o)return;t.setLayout({isInView:!0,invisible:!l&&!i.intersect(r),isAboveViewRoot:l},!0);var u=new Di(i.x-r.x,i.y-r.y,i.width,i.height);G_(t.viewChildren||[],function(t){e(t,u,n,o,a+1)})}(_,new Di(-s.x,-s.y,o,a),g,p,0)}};function X_(t,e,i,n,o,a){var r=t.children||[],s=n.sort;\"asc\"!==s&&\"desc\"!==s&&(s=null);var l=null!=n.leafDepth&&n.leafDepth<=a;if(o&&!l)return t.viewChildren=[];!function(t,n){n&&t.sort(function(t,e){var i=\"asc\"===n?t.getValue()-e.getValue():e.getValue()-t.getValue();return 0==i?\"asc\"===n?t.dataIndex-e.dataIndex:e.dataIndex-t.dataIndex:i})}(r=M(r,function(t){return!t.isRemoved()}),s);var u=function(t,e,i){for(var n=0,o=0,a=e.length;o<a;o++)n+=e[o].getValue();var r=t.get(\"visualDimension\");if(e&&e.length)if(\"value\"===r&&i)s=[e[e.length-1].getValue(),e[0].getValue()],\"asc\"===i&&s.reverse();else{var s=[1/0,-1/0];G_(e,function(t){var e=t.getValue(r);e<s[0]&&(s[0]=e),e>s[1]&&(s[1]=e)})}else s=[NaN,NaN];return{sum:n,dataExtent:s}}(e,r,s);if(0===u.sum)return t.viewChildren=[];if(u.sum=function(t,e,i,n,o){if(!n)return i;for(var a=t.get(\"visibleMin\"),r=o.length,s=r,l=r-1;0<=l;l--){var u=o[\"asc\"===n?r-l-1:l].getValue();u/i*e<a&&(s=l,i-=u)}return\"asc\"===n?o.splice(0,r-s):o.splice(s,r-s),i}(e,i,u.sum,s,r),0===u.sum)return t.viewChildren=[];for(var h=0,c=r.length;h<c;h++){var d=r[h].getValue()/u.sum*i;r[h].setLayout({area:d})}return l&&(r.length&&t.setLayout({isLeafRoot:!0},!0),r.length=0),t.viewChildren=r,t.setLayout({dataExtent:u.dataExtent},!0),r}function Y_(t,e,i){for(var n,o=0,a=1/0,r=0,s=t.length;r<s;r++)(n=t[r].getLayout().area)&&(n<a&&(a=n),o<n&&(o=n));var l=t.area*t.area,u=e*e*i;return l?z_(u*o/l,l/(u*a)):1/0}function j_(t,e,i,n,o){var a=e===i.width?0:1,r=1-a,s=[\"x\",\"y\"],l=[\"width\",\"height\"],u=i[s[a]],h=e?t.area/e:0;(o||h>i[l[r]])&&(h=i[l[r]]);for(var c=0,d=t.length;c<d;c++){var f=t[c],p={},g=h?f.getLayout().area/h:0,m=p[l[r]]=z_(h-2*n,0),v=i[s[a]]+i[l[a]]-u,y=c===d-1||v<g?v:g,x=p[l[a]]=z_(y-2*n,0);p[s[r]]=i[s[r]]+B_(n,m/2),p[s[a]]=u+B_(n,x/2),u+=y,f.setLayout(p,!0)}i[s[r]]+=h,i[l[r]]-=h}function q_(t){return t.get(H_)?t.get(Z_):0}function K_(t){return\"_EC_\"+t}Sf(L_),bf(U_);function $_(t){this._directed=t||!1,this.nodes=[],this.edges=[],this._nodesMap={},this._edgesMap={},this.data,this.edgeData}var J_=$_.prototype;function Q_(t,e){this.id=null==t?\"\":t,this.inEdges=[],this.outEdges=[],this.edges=[],this.hostGraph,this.dataIndex=null==e?-1:e}function tw(t,e,i){this.node1=t,this.node2=e,this.dataIndex=null==i?-1:i}J_.type=\"graph\",J_.isDirected=function(){return this._directed},J_.addNode=function(t,e){t=null==t?\"\"+e:\"\"+t;var i=this._nodesMap;if(!i[K_(t)]){var n=new Q_(t,e);return(n.hostGraph=this).nodes.push(n),i[K_(t)]=n}},J_.getNodeByIndex=function(t){var e=this.data.getRawIndex(t);return this.nodes[e]},J_.getNodeById=function(t){return this._nodesMap[K_(t)]},J_.addEdge=function(t,e,i){var n=this._nodesMap,o=this._edgesMap;if(\"number\"==typeof t&&(t=this.nodes[t]),\"number\"==typeof e&&(e=this.nodes[e]),Q_.isInstance(t)||(t=n[K_(t)]),Q_.isInstance(e)||(e=n[K_(e)]),t&&e){var a=t.id+\"-\"+e.id,r=new tw(t,e,i);return(r.hostGraph=this)._directed&&(t.outEdges.push(r),e.inEdges.push(r)),t.edges.push(r),t!==e&&e.edges.push(r),this.edges.push(r),o[a]=r}},J_.getEdgeByIndex=function(t){var e=this.edgeData.getRawIndex(t);return this.edges[e]},J_.getEdge=function(t,e){Q_.isInstance(t)&&(t=t.id),Q_.isInstance(e)&&(e=e.id);var i=this._edgesMap;return this._directed?i[t+\"-\"+e]:i[t+\"-\"+e]||i[e+\"-\"+t]},J_.eachNode=function(t,e){for(var i=this.nodes,n=i.length,o=0;o<n;o++)0<=i[o].dataIndex&&t.call(e,i[o],o)},J_.eachEdge=function(t,e){for(var i=this.edges,n=i.length,o=0;o<n;o++)0<=i[o].dataIndex&&0<=i[o].node1.dataIndex&&0<=i[o].node2.dataIndex&&t.call(e,i[o],o)},J_.breadthFirstTraverse=function(t,e,i,n){if(Q_.isInstance(e)||(e=this._nodesMap[K_(e)]),e){for(var o=\"out\"===i?\"outEdges\":\"in\"===i?\"inEdges\":\"edges\",a=0;a<this.nodes.length;a++)this.nodes[a].__visited=!1;if(!t.call(n,e,null))for(var r=[e];r.length;){var s=r.shift(),l=s[o];for(a=0;a<l.length;a++){var u=l[a],h=u.node1===s?u.node2:u.node1;if(!h.__visited){if(t.call(n,h,s))return;r.push(h),h.__visited=!0}}}}},J_.update=function(){for(var t=this.data,i=this.edgeData,e=this.nodes,n=this.edges,o=0,a=e.length;o<a;o++)e[o].dataIndex=-1;for(o=0,a=t.count();o<a;o++)e[t.getRawIndex(o)].dataIndex=o;i.filterSelf(function(t){var e=n[i.getRawIndex(t)];return 0<=e.node1.dataIndex&&0<=e.node2.dataIndex});for(o=0,a=n.length;o<a;o++)n[o].dataIndex=-1;for(o=0,a=i.count();o<a;o++)n[i.getRawIndex(o)].dataIndex=o},J_.clone=function(){for(var t=new $_(this._directed),e=this.nodes,i=this.edges,n=0;n<e.length;n++)t.addNode(e[n].id,e[n].dataIndex);for(n=0;n<i.length;n++){var o=i[n];t.addEdge(o.node1.id,o.node2.id,o.dataIndex)}return t},Q_.prototype={constructor:Q_,degree:function(){return this.edges.length},inDegree:function(){return this.inEdges.length},outDegree:function(){return this.outEdges.length},getModel:function(t){if(!(this.dataIndex<0))return this.hostGraph.data.getItemModel(this.dataIndex).getModel(t)}},tw.prototype.getModel=function(t){if(!(this.dataIndex<0))return this.hostGraph.edgeData.getItemModel(this.dataIndex).getModel(t)};function ew(i,n){return{getValue:function(t){var e=this[i][n];return e.get(e.getDimension(t||\"value\"),this.dataIndex)},setVisual:function(t,e){0<=this.dataIndex&&this[i][n].setItemVisual(this.dataIndex,t,e)},getVisual:function(t,e){return this[i][n].getItemVisual(this.dataIndex,t,e)},setLayout:function(t,e){0<=this.dataIndex&&this[i][n].setItemLayout(this.dataIndex,t,e)},getLayout:function(){return this[i][n].getItemLayout(this.dataIndex)},getGraphicEl:function(){return this[i][n].getItemGraphicEl(this.dataIndex)},getRawIndex:function(){return this[i][n].getRawIndex(this.dataIndex)}}}b(Q_,ew(\"hostGraph\",\"data\")),b(tw,ew(\"hostGraph\",\"edgeData\")),$_.Node=Q_,$_.Edge=tw,ra(Q_),ra(tw);function iw(t,e,i,n,o){for(var a=new $_(n),r=0;r<t.length;r++)a.addNode(W(t[r].id,t[r].name,r),r);var s=[],l=[],u=0;for(r=0;r<e.length;r++){var h=e[r],c=h.source,d=h.target;a.addEdge(c,d,u)&&(l.push(h),s.push(W(h.id,c+\" > \"+d)),u++)}var f,p=i.get(\"coordinateSystem\");if(\"cartesian2d\"===p||\"polar\"===p)f=gp(t,i);else{var g=lh.get(p),m=g&&\"view\"!==g.type&&g.dimensions||[];_(m,\"value\")<0&&m.concat([\"value\"]);var v=lp(t,{coordDimensions:m});(f=new Yf(v,i)).initData(t)}var y=new Yf([\"value\"],i);return y.initData(l,s),o&&o(f,y),yx({mainData:f,struct:a,structAttr:\"graph\",datas:{node:f,edge:y},datasAttr:{node:\"data\",edge:\"edgeData\"}}),a.update(),a}var nw=\"--\\x3e\",ow=function(t){return t.get(\"autoCurveness\")||null},aw=function(t,e){var i=ow(t),n=20,o=[];if(\"number\"==typeof i)n=i;else if(L(i))return void(t.__curvenessList=i);n<e&&(n=e);var a=n%2?n+2:n+3;o=[];for(var r=0;r<a;r++)o.push((r%2?r+1:r)/10*(r%2?-1:1));t.__curvenessList=o},rw=function(t,e,i){var n=[t.id,t.dataIndex].join(\".\"),o=[e.id,e.dataIndex].join(\".\");return[i.uid,n,o].join(nw)},sw=function(t){var e=t.split(nw);return[e[0],e[2],e[1]].join(nw)},lw=function(t,e){var i=rw(t.node1,t.node2,e);return e.__edgeMap[i]},uw=function(t,e){return hw(rw(t.node1,t.node2,e),e)+hw(rw(t.node2,t.node1,e),e)},hw=function(t,e){var i=e.__edgeMap;return i[t]?i[t].length:0};function cw(t,e,i,n){var o=ow(e),a=L(o);if(!o)return null;var r=lw(t,e);if(!r)return null;for(var s=-1,l=0;l<r.length;l++)if(r[l]===i){s=l;break}var u=uw(t,e);aw(e,u),t.lineStyle=t.lineStyle||{};var h=rw(t.node1,t.node2,e),c=e.__curvenessList,d=a?0:u%2?0:1;if(r.isForward)return c[d+s];var f=sw(h),p=hw(f,e),g=c[s+p+d];return n?a?o&&0===o[0]?(p+d)%2?g:-g:((p%2?0:1)+d)%2?g:-g:(p+d)%2?g:-g:c[s+p+d]}var dw=Df({type:\"series.graph\",init:function(t){dw.superApply(this,\"init\",arguments);var e=this;function i(){return e._categoriesData}this.legendVisualProvider=new qv(i,i),this.fillDataTextStyle(t.edges||t.links),this._updateCategoriesData()},mergeOption:function(t){dw.superApply(this,\"mergeOption\",arguments),this.fillDataTextStyle(t.edges||t.links),this._updateCategoriesData()},mergeDefaultAndTheme:function(t){dw.superApply(this,\"mergeDefaultAndTheme\",arguments),Go(t,[\"edgeLabel\"],[\"show\"])},getInitialData:function(t,s){var e=t.edges||t.links||[],i=t.data||t.nodes||[],l=this;if(i&&e){!function(t){ow(t)&&(t.__curvenessList=[],t.__edgeMap={},aw(t))}(this);var n=iw(i,e,this,!0,function(t,e){t.wrapMethod(\"getItemModel\",function(t){var e=l._categoriesModels[t.getShallow(\"category\")];return e&&(e.parentModel=t.parentModel,t.parentModel=e),t});var i=l.getModel(\"edgeLabel\"),n=new Cl({label:i.option},i.parentModel,s),o=l.getModel(\"emphasis.edgeLabel\"),a=new Cl({emphasis:{label:o.option}},o.parentModel,s);function r(t){return(t=this.parsePath(t))&&\"label\"===t[0]?n:t&&\"emphasis\"===t[0]&&\"label\"===t[1]?a:this.parentModel}e.wrapMethod(\"getItemModel\",function(t){return t.customizeGetParent(r),t})});return R(n.edges,function(t){!function(t,e,i,n){if(ow(i)){var o=rw(t,e,i),a=i.__edgeMap,r=a[sw(o)];a[o]&&!r?a[o].isForward=!0:r&&a[o]&&(r.isForward=!0,a[o].isForward=!1),a[o]=a[o]||[],a[o].push(n)}}(t.node1,t.node2,this,t.dataIndex)},this),n.data}},getGraph:function(){return this.getData().graph},getEdgeData:function(){return this.getGraph().edgeData},getCategoriesData:function(){return this._categoriesData},formatTooltip:function(t,e,i){if(\"edge\"!==i)return dw.superApply(this,\"formatTooltip\",arguments);var n=this.getData(),o=this.getDataParams(t,i),a=n.graph.getEdgeByIndex(t),r=n.getName(a.node1.dataIndex),s=n.getName(a.node2.dataIndex),l=[];return null!=r&&l.push(r),null!=s&&l.push(s),l=au(l.join(\" > \")),o.value&&(l+=\" : \"+au(o.value)),l},_updateCategoriesData:function(){var t=O(this.option.categories||[],function(t){return null!=t.value?t:P({value:0},t)}),e=new Yf([\"value\"],this);e.initData(t),this._categoriesData=e,this._categoriesModels=e.mapArray(function(t){return e.getItemModel(t,!0)})},setZoom:function(t){this.option.zoom=t},setCenter:function(t){this.option.center=t},isAnimationEnabled:function(){return dw.superCall(this,\"isAnimationEnabled\")&&!(\"force\"===this.get(\"layout\")&&this.get(\"force.layoutAnimation\"))},defaultOption:{zlevel:0,z:2,coordinateSystem:\"view\",legendHoverLink:!0,hoverAnimation:!0,layout:null,focusNodeAdjacency:!1,circular:{rotateLabel:!1},force:{initLayout:null,repulsion:[0,50],gravity:.1,friction:.6,edgeLength:30,layoutAnimation:!0},left:\"center\",top:\"center\",symbol:\"circle\",symbolSize:10,edgeSymbol:[\"none\",\"none\"],edgeSymbolSize:10,edgeLabel:{position:\"middle\",distance:5},draggable:!1,roam:!1,center:null,zoom:1,nodeScaleRatio:.6,label:{show:!1,formatter:\"{b}\"},itemStyle:{},lineStyle:{color:\"#aaa\",width:1,opacity:.5},emphasis:{label:{show:!0}}}}),fw=ls.prototype,pw=ds.prototype;function gw(t){return isNaN(+t.cpx1)||isNaN(+t.cpy1)}var mw=Cs({type:\"ec-line\",style:{stroke:\"#000\",fill:null},shape:{x1:0,y1:0,x2:0,y2:0,percent:1,cpx1:null,cpy1:null},buildPath:function(t,e){this[gw(e)?\"_buildPathLine\":\"_buildPathCurve\"](t,e)},_buildPathLine:fw.buildPath,_buildPathCurve:pw.buildPath,pointAt:function(t){return this[gw(this.shape)?\"_pointAtLine\":\"_pointAtCurve\"](t)},_pointAtLine:fw.pointAt,_pointAtCurve:pw.pointAt,tangentAt:function(t){var e=this.shape,i=gw(e)?[e.x2-e.x1,e.y2-e.y1]:this._tangentAtCurve(t);return mt(i,i)},_tangentAtCurve:pw.tangentAt}),vw=[\"fromSymbol\",\"toSymbol\"];function yw(t){return\"_\"+t+\"Type\"}function xw(t,e,i){var n=e.getItemVisual(i,t);if(n&&\"none\"!==n){var o=e.getItemVisual(i,\"color\"),a=e.getItemVisual(i,t+\"Size\"),r=e.getItemVisual(i,t+\"Rotate\");L(a)||(a=[a,a]);var s=wg(n,-a[0]/2,-a[1]/2,a[0],a[1],o);return s.__specifiedRotation=null==r||isNaN(r)?void 0:+r*Math.PI/180||0,s.name=t,s}}function _w(t,e){t.x1=e[0][0],t.y1=e[0][1],t.x2=e[1][0],t.y2=e[1][1],t.percent=1;var i=e[2];i?(t.cpx1=i[0],t.cpy1=i[1]):(t.cpx1=NaN,t.cpy1=NaN)}function ww(t,e,i){Ci.call(this),this._createLine(t,e,i)}var bw=ww.prototype;function Sw(t){this._ctor=t||ww,this.group=new Ci}bw.beforeUpdate=function(){var t=this.childOfName(\"fromSymbol\"),e=this.childOfName(\"toSymbol\"),i=this.childOfName(\"label\");if(t||e||!i.ignore){for(var n=1,o=this.parent;o;)o.scale&&(n/=o.scale[0]),o=o.parent;var a=this.childOfName(\"line\");if(this.__dirty||a.__dirty){var r=a.shape.percent,s=a.pointAt(0),l=a.pointAt(r),u=ht([],l,s);if(mt(u,u),t){if(t.attr(\"position\",s),null==(c=t.__specifiedRotation)){var h=a.tangentAt(0);t.attr(\"rotation\",Math.PI/2-Math.atan2(h[1],h[0]))}else t.attr(\"rotation\",c);t.attr(\"scale\",[n*r,n*r])}if(e){var c;if(e.attr(\"position\",l),null==(c=e.__specifiedRotation)){h=a.tangentAt(1);e.attr(\"rotation\",-Math.PI/2-Math.atan2(h[1],h[0]))}else e.attr(\"rotation\",c);e.attr(\"scale\",[n*r,n*r])}if(!i.ignore){var d,f,p,g;i.attr(\"position\",l);var m=i.__labelDistance,v=m[0]*n,y=m[1]*n,x=r/2,_=[(h=a.tangentAt(x))[1],-h[0]],w=a.pointAt(x);0<_[1]&&(_[0]=-_[0],_[1]=-_[1]);var b,S=h[0]<0?-1:1;if(\"start\"!==i.__position&&\"end\"!==i.__position){var M=-Math.atan2(h[1],h[0]);l[0]<s[0]&&(M=Math.PI+M),i.attr(\"rotation\",M)}switch(i.__position){case\"insideStartTop\":case\"insideMiddleTop\":case\"insideEndTop\":case\"middle\":b=-y,p=\"bottom\";break;case\"insideStartBottom\":case\"insideMiddleBottom\":case\"insideEndBottom\":b=y,p=\"top\";break;default:b=0,p=\"middle\"}switch(i.__position){case\"end\":d=[u[0]*v+l[0],u[1]*y+l[1]],f=.8<u[0]?\"left\":u[0]<-.8?\"right\":\"center\",p=.8<u[1]?\"top\":u[1]<-.8?\"bottom\":\"middle\";break;case\"start\":d=[-u[0]*v+s[0],-u[1]*y+s[1]],f=.8<u[0]?\"right\":u[0]<-.8?\"left\":\"center\",p=.8<u[1]?\"bottom\":u[1]<-.8?\"top\":\"middle\";break;case\"insideStartTop\":case\"insideStart\":case\"insideStartBottom\":d=[v*S+s[0],s[1]+b],f=h[0]<0?\"right\":\"left\",g=[-v*S,-b];break;case\"insideMiddleTop\":case\"insideMiddle\":case\"insideMiddleBottom\":case\"middle\":d=[w[0],w[1]+b],f=\"center\",g=[0,-b];break;case\"insideEndTop\":case\"insideEnd\":case\"insideEndBottom\":d=[-v*S+l[0],l[1]+b],f=0<=h[0]?\"right\":\"left\",g=[v*S,-b]}i.attr({style:{textVerticalAlign:i.__verticalAlign||p,textAlign:i.__textAlign||f},position:d,scale:[n,n],origin:g})}}}},bw._createLine=function(i,n,t){var e=i.hostModel,o=function(t){var e=new mw({name:\"line\",subPixelOptimize:!0});return _w(e.shape,t),e}(i.getItemLayout(n));o.shape.percent=0,dl(o,{shape:{percent:1}},e,n),this.add(o);var a=new Ur({name:\"label\",lineLabelOriginalOpacity:1});this.add(a),R(vw,function(t){var e=xw(t,i,n);this.add(e),this[yw(t)]=i.getItemVisual(n,t)},this),this._updateCommonStl(i,n,t)},bw.updateData=function(o,a,t){var e=o.hostModel,i=this.childOfName(\"line\"),n=o.getItemLayout(a),r={shape:{}};_w(r.shape,n),cl(i,r,e,a),R(vw,function(t){var e=o.getItemVisual(a,t),i=yw(t);if(this[i]!==e){this.remove(this.childOfName(t));var n=xw(t,o,a);this.add(n)}this[i]=e},this),this._updateCommonStl(o,a,t)},bw._updateCommonStl=function(t,e,i){var n=t.hostModel,o=this.childOfName(\"line\"),a=i&&i.lineStyle,r=i&&i.hoverLineStyle,s=i&&i.labelModel,l=i&&i.hoverLabelModel;if(!i||t.hasItemOption){var u=t.getItemModel(e);a=u.getModel(\"lineStyle\").getLineStyle(),r=u.getModel(\"emphasis.lineStyle\").getLineStyle(),s=u.getModel(\"label\"),l=u.getModel(\"emphasis.label\")}var h=t.getItemVisual(e,\"color\"),c=Z(t.getItemVisual(e,\"opacity\"),a.opacity,1);o.useStyle(D({strokeNoScale:!0,fill:\"none\",stroke:h,opacity:c},a)),o.hoverStyle=r,R(vw,function(t){var e=this.childOfName(t);e&&(e.setColor(h),e.setStyle({opacity:c}))},this);var d,f,p=s.getShallow(\"show\"),g=l.getShallow(\"show\"),m=this.childOfName(\"label\");if((p||g)&&(d=h||\"#000\",null==(f=n.getFormattedLabel(e,\"normal\",t.dataType)))){var v=n.getRawValue(e);f=null==v?t.getName(e):isFinite(v)?zl(v):v}var y=p?f:null,x=g?H(n.getFormattedLabel(e,\"emphasis\",t.dataType),f):null,_=m.style;if(null!=y||null!=x){nl(m.style,s,{text:y},{autoColor:d}),m.__textAlign=_.textAlign,m.__verticalAlign=_.textVerticalAlign,m.__position=s.get(\"position\")||\"middle\";var w=s.get(\"distance\");L(w)||(w=[w,w]),m.__labelDistance=w}m.hoverStyle=null!=x?{text:x,textFill:l.getTextColor(!0),fontStyle:l.getShallow(\"fontStyle\"),fontWeight:l.getShallow(\"fontWeight\"),fontSize:l.getShallow(\"fontSize\"),fontFamily:l.getShallow(\"fontFamily\")}:{text:null},m.ignore=!p&&!g,$s(this)},bw.highlight=function(){this.trigger(\"emphasis\")},bw.downplay=function(){this.trigger(\"normal\")},bw.updateLayout=function(t,e){this.setLinePoints(t.getItemLayout(e))},bw.setLinePoints=function(t){var e=this.childOfName(\"line\");_w(e.shape,t),e.dirty()},w(ww,Ci);var Mw=Sw.prototype;function Iw(t){var e=t.hostModel;return{lineStyle:e.getModel(\"lineStyle\").getLineStyle(),hoverLineStyle:e.getModel(\"emphasis.lineStyle\").getLineStyle(),labelModel:e.getModel(\"label\"),hoverLabelModel:e.getModel(\"emphasis.label\")}}function Tw(t){return isNaN(t[0])||isNaN(t[1])}function Aw(t){return!Tw(t[0])&&!Tw(t[1])}function Dw(t){var e=t.coordinateSystem;if(\"view\"!==e.type)return 1;var i=t.option.nodeScaleRatio,n=e.scale,o=n&&n[0]||1;return((e.getZoom()-1)*i+1)/o}function Cw(t){var e=t.getVisual(\"symbolSize\");return e instanceof Array&&(e=(e[0]+e[1])/2),+e}Mw.isPersistent=function(){return!0},Mw.updateData=function(i){var n=this,e=n.group,o=n._lineData;n._lineData=i,o||e.removeAll();var a=Iw(i);i.diff(o).add(function(t){!function(t,e,i,n){if(!Aw(e.getItemLayout(i)))return;var o=new t._ctor(e,i,n);e.setItemGraphicEl(i,o),t.group.add(o)}(n,i,t,a)}).update(function(t,e){!function(t,e,i,n,o,a){var r=e.getItemGraphicEl(n);if(!Aw(i.getItemLayout(o)))return t.group.remove(r);r?r.updateData(i,o,a):r=new t._ctor(i,o,a);i.setItemGraphicEl(o,r),t.group.add(r)}(n,o,i,e,t,a)}).remove(function(t){e.remove(o.getItemGraphicEl(t))}).execute()},Mw.updateLayout=function(){var i=this._lineData;i&&i.eachItemGraphicEl(function(t,e){t.updateLayout(i,e)},this)},Mw.incrementalPrepareUpdate=function(t){this._seriesScope=Iw(t),this._lineData=null,this.group.removeAll()},Mw.incrementalUpdate=function(t,e){function i(t){t.isGroup||function(t){return t.animators&&0<t.animators.length}(t)||(t.incremental=t.useHoverLayer=!0)}for(var n=t.start;n<t.end;n++){if(Aw(e.getItemLayout(n))){var o=new this._ctor(e,n,this._seriesScope);o.traverse(i),this.group.add(o),e.setItemGraphicEl(n,o)}}},Mw.remove=function(){this._clearIncremental(),this._incremental=null,this.group.removeAll()},Mw._clearIncremental=function(){var t=this._incremental;t&&t.clearDisplaybles()};var Lw=[],kw=[],Pw=[],Nw=La,Ow=_t,Rw=Math.abs;function Ew(t,e,i){for(var n,o=t[0],a=t[1],r=t[2],s=1/0,l=i*i,u=.1,h=.1;h<=.9;h+=.1){Lw[0]=Nw(o[0],a[0],r[0],h),Lw[1]=Nw(o[1],a[1],r[1],h),(f=Rw(Ow(Lw,e)-l))<s&&(s=f,n=h)}for(var c=0;c<32;c++){var d=n+u;kw[0]=Nw(o[0],a[0],r[0],n),kw[1]=Nw(o[1],a[1],r[1],n),Pw[0]=Nw(o[0],a[0],r[0],d),Pw[1]=Nw(o[1],a[1],r[1],d);var f=Ow(kw,e)-l;if(Rw(f)<.01)break;var p=Ow(Pw,e)-l;u/=2,f<0?0<=p?n+=u:n-=u:0<=p?n-=u:n+=u}return n}function zw(t,l){var u=[],h=Na,c=[[],[],[]],d=[[],[]],f=[];l/=2,t.eachEdge(function(t,e){var i=t.getLayout(),n=t.getVisual(\"fromSymbol\"),o=t.getVisual(\"toSymbol\");i.__original||(i.__original=[rt(i[0]),rt(i[1])],i[2]&&i.__original.push(rt(i[2])));var a=i.__original;if(null!=i[2]){if(at(c[0],a[0]),at(c[1],a[2]),at(c[2],a[1]),n&&\"none\"!==n){var r=Cw(t.node1),s=Ew(c,a[0],r*l);h(c[0][0],c[1][0],c[2][0],s,u),c[0][0]=u[3],c[1][0]=u[4],h(c[0][1],c[1][1],c[2][1],s,u),c[0][1]=u[3],c[1][1]=u[4]}if(o&&\"none\"!==o){r=Cw(t.node2),s=Ew(c,a[1],r*l);h(c[0][0],c[1][0],c[2][0],s,u),c[1][0]=u[1],c[2][0]=u[2],h(c[0][1],c[1][1],c[2][1],s,u),c[1][1]=u[1],c[2][1]=u[2]}at(i[0],c[0]),at(i[1],c[2]),at(i[2],c[1])}else{if(at(d[0],a[0]),at(d[1],a[1]),ht(f,d[1],d[0]),mt(f,f),n&&\"none\"!==n){r=Cw(t.node1);ut(d[0],d[0],f,r*l)}if(o&&\"none\"!==o){r=Cw(t.node2);ut(d[1],d[1],f,-r*l)}at(i[0],d[0]),at(i[1],d[1])}})}var Bw=\"__focusNodeAdjacency\",Vw=\"__unfocusNodeAdjacency\",Gw=[\"itemStyle\",\"opacity\"],Fw=[\"lineStyle\",\"opacity\"];function Ww(t,e){var i=t.getVisual(\"opacity\");return null!=i?i:t.getModel().get(e)}function Hw(t,e,i){var n=t.getGraphicEl(),o=Ww(t,e);null!=i&&(null==o&&(o=1),o*=i),n.downplay&&n.downplay(),n.traverse(function(t){if(!t.isGroup){var e=t.lineLabelOriginalOpacity;null!=e&&null==i||(e=o),t.setStyle(\"opacity\",e)}})}function Zw(t,e){var i=Ww(t,e),n=t.getGraphicEl();n.traverse(function(t){t.isGroup||t.setStyle(\"opacity\",i)}),n.highlight&&n.highlight()}Cf({type:\"graph\",init:function(t,e){var i=new im,n=new Sw,o=this.group;this._controller=new Vy(e.getZr()),this._controllerHost={target:o},o.add(i.group),o.add(n.group),this._symbolDraw=i,this._lineDraw=n,this._firstRender=!0},render:function(o,t,a){var r=this,e=o.coordinateSystem;this._model=o;var i=this._symbolDraw,n=this._lineDraw,s=this.group;if(\"view\"===e.type){var l={position:e.position,scale:e.scale};this._firstRender?s.attr(l):cl(s,l,o)}zw(o.getGraph(),Dw(o));var u=o.getData();i.updateData(u);var h=o.getEdgeData();n.updateData(h),this._updateNodeAndLinkScale(),this._updateController(o,t,a),clearTimeout(this._layoutTimeout);var c=o.forceLayout,d=o.get(\"force.layoutAnimation\");c&&this._startForceLayoutIteration(c,d),u.eachItemGraphicEl(function(t,e){var i=u.getItemModel(e);t.off(\"drag\").off(\"dragend\");var n=i.get(\"draggable\");n&&t.on(\"drag\",function(){c&&(c.warmUp(),this._layouting||this._startForceLayoutIteration(c,d),c.setFixed(e),u.setItemLayout(e,t.position))},this).on(\"dragend\",function(){c&&c.setUnfixed(e)},this),t.setDraggable(n&&c),t[Bw]&&t.off(\"mouseover\",t[Bw]),t[Vw]&&t.off(\"mouseout\",t[Vw]),i.get(\"focusNodeAdjacency\")&&(t.on(\"mouseover\",t[Bw]=function(){r._clearTimer(),a.dispatchAction({type:\"focusNodeAdjacency\",seriesId:o.id,dataIndex:t.dataIndex})}),t.on(\"mouseout\",t[Vw]=function(){r._dispatchUnfocus(a)}))},this),u.graph.eachEdge(function(t){var e=t.getGraphicEl();e[Bw]&&e.off(\"mouseover\",e[Bw]),e[Vw]&&e.off(\"mouseout\",e[Vw]),t.getModel().get(\"focusNodeAdjacency\")&&(e.on(\"mouseover\",e[Bw]=function(){r._clearTimer(),a.dispatchAction({type:\"focusNodeAdjacency\",seriesId:o.id,edgeDataIndex:t.dataIndex})}),e.on(\"mouseout\",e[Vw]=function(){r._dispatchUnfocus(a)}))});var f=\"circular\"===o.get(\"layout\")&&o.get(\"circular.rotateLabel\"),p=u.getLayout(\"cx\"),g=u.getLayout(\"cy\");u.eachItemGraphicEl(function(t,e){var i=u.getItemModel(e).get(\"label.rotate\")||0,n=t.getSymbolPath();if(f){var o=u.getItemLayout(e),a=Math.atan2(o[1]-g,o[0]-p);a<0&&(a=2*Math.PI+a);var r=o[0]<p;r&&(a-=Math.PI);var s=r?\"left\":\"right\";il(n,{textRotation:-a,textPosition:s,textOrigin:\"center\"},{textPosition:s})}else il(n,{textRotation:i*=Math.PI/180})}),this._firstRender=!1},dispose:function(){this._controller&&this._controller.dispose(),this._controllerHost={},this._clearTimer()},_dispatchUnfocus:function(t,e){var i=this;this._clearTimer(),this._unfocusDelayTimer=setTimeout(function(){i._unfocusDelayTimer=null,t.dispatchAction({type:\"unfocusNodeAdjacency\",seriesId:i._model.id})},500)},_clearTimer:function(){this._unfocusDelayTimer&&(clearTimeout(this._unfocusDelayTimer),this._unfocusDelayTimer=null)},focusNodeAdjacency:function(t,e,i,n){var o=t.getData().graph,a=n.dataIndex,r=n.edgeDataIndex,s=o.getNodeByIndex(a),l=o.getEdgeByIndex(r);(s||l)&&(o.eachNode(function(t){Hw(t,Gw,.1)}),o.eachEdge(function(t){Hw(t,Fw,.1)}),s&&(Zw(s,Gw),R(s.edges,function(t){t.dataIndex<0||(Zw(t,Fw),Zw(t.node1,Gw),Zw(t.node2,Gw))})),l&&(Zw(l,Fw),Zw(l.node1,Gw),Zw(l.node2,Gw)))},unfocusNodeAdjacency:function(t,e,i,n){var o=t.getData().graph;o.eachNode(function(t){Hw(t,Gw)}),o.eachEdge(function(t){Hw(t,Fw)})},_startForceLayoutIteration:function(t,i){var n=this;!function e(){t.step(function(t){n.updateLayout(n._model),(n._layouting=!t)&&(i?n._layoutTimeout=setTimeout(e,16):e())})}()},_updateController:function(o,t,a){var e=this._controller,i=this._controllerHost,r=this.group;e.setPointerChecker(function(t,e,i){var n=r.getBoundingRect();return n.applyTransform(r.transform),n.contain(e,i)&&!$y(t,a,o)}),\"view\"===o.coordinateSystem.type?(e.enable(o.get(\"roam\")),i.zoomLimit=o.get(\"scaleLimit\"),i.zoom=o.coordinateSystem.getZoom(),e.off(\"pan\").off(\"zoom\").on(\"pan\",function(t){jy(i,t.dx,t.dy),a.dispatchAction({seriesId:o.id,type:\"graphRoam\",dx:t.dx,dy:t.dy})}).on(\"zoom\",function(t){qy(i,t.scale,t.originX,t.originY),a.dispatchAction({seriesId:o.id,type:\"graphRoam\",zoom:t.scale,originX:t.originX,originY:t.originY}),this._updateNodeAndLinkScale(),zw(o.getGraph(),Dw(o)),this._lineDraw.updateLayout()},this)):e.disable()},_updateNodeAndLinkScale:function(){var t=this._model,e=t.getData(),i=Dw(t),n=[i,i];e.eachItemGraphicEl(function(t,e){t.attr(\"scale\",n)})},updateLayout:function(t){zw(t.getGraph(),Dw(t)),this._symbolDraw.updateLayout(),this._lineDraw.updateLayout()},remove:function(t,e){this._symbolDraw&&this._symbolDraw.remove(),this._lineDraw&&this._lineDraw.remove()}}),_f({type:\"focusNodeAdjacency\",event:\"focusNodeAdjacency\",update:\"series:focusNodeAdjacency\"},function(){}),_f({type:\"unfocusNodeAdjacency\",event:\"unfocusNodeAdjacency\",update:\"series:unfocusNodeAdjacency\"},function(){});_f({type:\"graphRoam\",event:\"graphRoam\",update:\"none\"},function(i,t){t.eachComponent({mainType:\"series\",query:i},function(t){var e=ax(t.coordinateSystem,i);t.setCenter&&t.setCenter(e.center),t.setZoom&&t.setZoom(e.zoom)})});function Uw(t){return t instanceof Array||(t=[t,t]),t}function Xw(t){var e=t.coordinateSystem;if(!e||\"view\"===e.type){var i=t.getGraph();i.eachNode(function(t){var e=t.getModel();t.setLayout([+e.get(\"x\"),+e.get(\"y\")])}),Yw(i,t)}}function Yw(t,r){t.eachEdge(function(t,e){var i=Z(t.getModel().get(\"lineStyle.curveness\"),-cw(t,r,e,!0),0),n=rt(t.node1.getLayout()),o=rt(t.node2.getLayout()),a=[n,o];+i&&a.push([(n[0]+o[0])/2-(n[1]-o[1])*i,(n[1]+o[1])/2-(o[0]-n[0])*i]),t.setLayout(a)})}var jw=Math.PI,qw=[];function Kw(l,t){var e=l.coordinateSystem;if(!e||\"view\"===e.type){var i=e.getBoundingRect(),n=l.getData(),o=n.graph,u=i.width/2+i.x,h=i.height/2+i.y,a=Math.min(i.width,i.height)/2,r=n.count();n.setLayout({cx:u,cy:h}),r&&($w[t](l,e,o,n,a,u,h,r),o.eachEdge(function(t,e){var i,n=Z(t.getModel().get(\"lineStyle.curveness\"),cw(t,l,e),0),o=rt(t.node1.getLayout()),a=rt(t.node2.getLayout()),r=(o[0]+a[0])/2,s=(o[1]+a[1])/2;+n&&(i=[u*(n*=3)+r*(1-n),h*n+s*(1-n)]),t.setLayout([o,a,i])}))}}var $w={value:function(t,e,i,n,o,a,r,s){var l=0,u=n.getSum(\"value\"),h=2*Math.PI/(u||s);i.eachNode(function(t){var e=t.getValue(\"value\"),i=h*(u?e:1)/2;l+=i,t.setLayout([o*Math.cos(l)+a,o*Math.sin(l)+r]),l+=i})},symbolSize:function(t,e,i,n,o,a,r,s){var l=0;qw.length=s;var u=Dw(t);i.eachNode(function(t){var e=Cw(t);isNaN(e)&&(e=2),e<0&&(e=0),e*=u;var i=Math.asin(e/2/o);isNaN(i)&&(i=jw/2),qw[t.dataIndex]=i,l+=2*i});var h=(2*jw-l)/s/2,c=0;i.eachNode(function(t){var e=h+qw[t.dataIndex];c+=e,t.setLayout([o*Math.cos(c)+a,o*Math.sin(c)+r]),c+=e})}},Jw=ut;xf(function(t){var a=t.findComponents({mainType:\"legend\"});a&&a.length&&t.eachSeriesByType(\"graph\",function(t){var e=t.getCategoriesData(),n=t.getGraph().data,o=e.mapArray(e.getName);n.filterSelf(function(t){var e=n.getItemModel(t).getShallow(\"category\");if(null!=e){\"number\"==typeof e&&(e=o[e]);for(var i=0;i<a.length;i++)if(!a[i].isSelected(e))return!1}return!0})},this)}),Sf(Lm(\"graph\",\"circle\",null)),Sf(function(t){var h={};t.eachSeriesByType(\"graph\",function(s){var l=s.getCategoriesData(),o=s.getData(),u={};l.each(function(t){var e=l.getName(t);u[\"ec-\"+e]=t;var i=l.getItemModel(t),n=i.get(\"itemStyle.color\")||s.getColorFromPalette(e,h);l.setItemVisual(t,\"color\",n);for(var o=[\"opacity\",\"symbol\",\"symbolSize\",\"symbolKeepAspect\"],a=0;a<o.length;a++){var r=i.getShallow(o[a],!0);null!=r&&l.setItemVisual(t,o[a],r)}}),l.count()&&o.each(function(t){var e=o.getItemModel(t).getShallow(\"category\");if(null!=e){\"string\"==typeof e&&(e=u[\"ec-\"+e]);for(var i=[\"color\",\"opacity\",\"symbol\",\"symbolSize\",\"symbolKeepAspect\"],n=0;n<i.length;n++)null==o.getItemVisual(t,i[n],!0)&&o.setItemVisual(t,i[n],l.getItemVisual(e,i[n]))}})})}),Sf(function(t){t.eachSeriesByType(\"graph\",function(t){var s=t.getGraph(),l=t.getEdgeData(),e=Uw(t.get(\"edgeSymbol\")),i=Uw(t.get(\"edgeSymbolSize\")),u=\"lineStyle.color\".split(\".\"),h=\"lineStyle.opacity\".split(\".\");l.setVisual(\"fromSymbol\",e&&e[0]),l.setVisual(\"toSymbol\",e&&e[1]),l.setVisual(\"fromSymbolSize\",i&&i[0]),l.setVisual(\"toSymbolSize\",i&&i[1]),l.setVisual(\"color\",t.get(u)),l.setVisual(\"opacity\",t.get(h)),l.each(function(t){var e=l.getItemModel(t),i=s.getEdgeByIndex(t),n=Uw(e.getShallow(\"symbol\",!0)),o=Uw(e.getShallow(\"symbolSize\",!0)),a=e.get(u),r=e.get(h);switch(a){case\"source\":a=i.node1.getVisual(\"color\");break;case\"target\":a=i.node2.getVisual(\"color\")}n[0]&&i.setVisual(\"fromSymbol\",n[0]),n[1]&&i.setVisual(\"toSymbol\",n[1]),o[0]&&i.setVisual(\"fromSymbolSize\",o[0]),o[1]&&i.setVisual(\"toSymbolSize\",o[1]),i.setVisual(\"color\",a),i.setVisual(\"opacity\",r)})})}),bf(function(t,e){t.eachSeriesByType(\"graph\",function(t){var e=t.get(\"layout\"),i=t.coordinateSystem;if(i&&\"view\"!==i.type){var n=t.getData(),o=[];R(i.dimensions,function(t){o=o.concat(n.mapDimension(t,!0))});for(var a=0;a<n.count();a++){for(var r=[],s=!1,l=0;l<o.length;l++){var u=n.get(o[l],a);isNaN(u)||(s=!0),r.push(u)}s?n.setItemLayout(a,i.dataToPoint(r)):n.setItemLayout(a,[NaN,NaN])}Yw(n.graph,t)}else e&&\"none\"!==e||Xw(t)})}),bf(Ld.VISUAL.POST_CHART_LAYOUT,function(t){t.eachSeriesByType(\"graph\",function(t){\"circular\"===t.get(\"layout\")&&Kw(t,\"symbolSize\")})}),bf(function(t){t.eachSeriesByType(\"graph\",function(r){if(!(n=r.coordinateSystem)||\"view\"===n.type)if(\"force\"===r.get(\"layout\")){var c=r.preservedPoints||{},d=r.getGraph(),f=d.data,t=d.edgeData,e=r.getModel(\"force\"),i=e.get(\"initLayout\");r.preservedPoints?f.each(function(t){var e=f.getId(t);f.setItemLayout(t,c[e]||[NaN,NaN])}):i&&\"none\"!==i?\"circular\"===i&&Kw(r,\"value\"):Xw(r);var o=f.getDataExtent(\"value\"),s=t.getDataExtent(\"value\"),a=e.get(\"repulsion\"),l=e.get(\"edgeLength\");L(a)||(a=[a,a]),L(l)||(l=[l,l]),l=[l[1],l[0]];var n,u=f.mapArray(\"value\",function(t,e){var i=f.getItemLayout(e),n=Rl(t,o,a);return isNaN(n)&&(n=(a[0]+a[1])/2),{w:n,rep:n,fixed:f.getItemModel(e).get(\"fixed\"),p:!i||isNaN(i[0])||isNaN(i[1])?null:i}}),h=t.mapArray(\"value\",function(t,e){var i=d.getEdgeByIndex(e),n=Rl(t,s,l);isNaN(n)&&(n=(l[0]+l[1])/2);var o=i.getModel(),a=Z(o.get(\"lineStyle.curveness\"),-cw(i,r,e,!0),0);return{n1:u[i.node1.dataIndex],n2:u[i.node2.dataIndex],d:n,curveness:a,ignoreForceLayout:o.get(\"ignoreForceLayout\")}}),p=(n=r.coordinateSystem).getBoundingRect(),g=function(f,p,t){for(var e=t.rect,i=e.width,n=e.height,g=[e.x+i/2,e.y+n/2],m=null==t.gravity?.1:t.gravity,o=0;o<f.length;o++){var a=f[o];a.p||(a.p=ot(i*(Math.random()-.5)+g[0],n*(Math.random()-.5)+g[1])),a.pp=rt(a.p),a.edges=null}var r=null==t.friction?.6:t.friction,v=r;return{warmUp:function(){v=.8*r},setFixed:function(t){f[t].fixed=!0},setUnfixed:function(t){f[t].fixed=!1},step:function(t){for(var e=[],i=f.length,n=0;n<p.length;n++){var o=p[n];if(!o.ignoreForceLayout){var a=o.n1;ht(e,(u=o.n2).p,a.p);var r=ct(e)-o.d,s=u.w/(a.w+u.w);isNaN(s)&&(s=0),mt(e,e),a.fixed||Jw(a.p,a.p,e,s*r*v),u.fixed||Jw(u.p,u.p,e,-(1-s)*r*v)}}for(n=0;n<i;n++){(d=f[n]).fixed||(ht(e,g,d.p),Jw(d.p,d.p,e,m*v))}for(n=0;n<i;n++){a=f[n];for(var l=n+1;l<i;l++){var u;ht(e,(u=f[l]).p,a.p),0===(r=ct(e))&&(st(e,Math.random()-.5,Math.random()-.5),r=1);var h=(a.rep+u.rep)/r/r;a.fixed||Jw(a.pp,a.pp,e,h),u.fixed||Jw(u.pp,u.pp,e,-h)}}var c=[];for(n=0;n<i;n++){var d;(d=f[n]).fixed||(ht(c,d.p,d.pp),Jw(d.p,d.p,c,v),at(d.pp,d.p))}v*=.992,t&&t(f,p,v<.01)}}}(u,h,{rect:p,gravity:e.get(\"gravity\"),friction:e.get(\"friction\")}),m=g.step;g.step=function(h){for(var t=0,e=u.length;t<e;t++)u[t].fixed&&at(u[t].p,d.getNodeByIndex(t).getLayout());m(function(t,e,i){for(var n=0,o=t.length;n<o;n++)t[n].fixed||d.getNodeByIndex(n).setLayout(t[n].p),c[f.getId(n)]=t[n].p;for(n=0,o=e.length;n<o;n++){var a=e[n],r=d.getEdgeByIndex(n),s=a.n1.p,l=a.n2.p,u=r.getLayout();(u=u?u.slice():[])[0]=u[0]||[],u[1]=u[1]||[],at(u[0],s),at(u[1],l),+a.curveness&&(u[2]=[(s[0]+l[0])/2-(s[1]-l[1])*a.curveness,(s[1]+l[1])/2-(l[0]-s[0])*a.curveness]),r.setLayout(u)}h&&h(i)})},r.forceLayout=g,r.preservedPoints=c,g.step()}else r.forceLayout=null})}),wf(\"graphView\",{create:function(t,d){var f=[];return t.eachSeriesByType(\"graph\",function(t){var e=t.get(\"coordinateSystem\");if(!e||\"view\"===e){var i=t.getData(),n=[],o=[];Wa(i.mapArray(function(t){var e=i.getItemModel(t);return[+e.get(\"x\"),+e.get(\"y\")]}),n,o),o[0]-n[0]==0&&(o[0]+=1,n[0]-=1),o[1]-n[1]==0&&(o[1]+=1,n[1]-=1);var a=(o[0]-n[0])/(o[1]-n[1]),r=function(t,e,i){var n=t.getBoxLayoutParams();return n.aspect=i,bu(n,{width:e.getWidth(),height:e.getHeight()})}(t,d,a);isNaN(a)&&(n=[r.x,r.y],o=[r.x+r.width,r.y+r.height]);var s=o[0]-n[0],l=o[1]-n[1],u=r.width,h=r.height,c=t.coordinateSystem=new lx;c.zoomLimit=t.get(\"scaleLimit\"),c.setBoundingRect(n[0],n[1],s,l),c.setViewRect(r.x,r.y,u,h),c.setCenter(t.get(\"center\")),c.setZoom(t.get(\"zoom\")),f.push(c)}}),f}});sc.extend({type:\"series.gauge\",getInitialData:function(t,e){return Yv(this,[\"value\"])},defaultOption:{zlevel:0,z:2,center:[\"50%\",\"50%\"],legendHoverLink:!0,radius:\"75%\",startAngle:225,endAngle:-45,clockwise:!0,min:0,max:100,splitNumber:10,axisLine:{show:!0,lineStyle:{color:[[.2,\"#91c7ae\"],[.8,\"#63869e\"],[1,\"#c23531\"]],width:30}},splitLine:{show:!0,length:30,lineStyle:{color:\"#eee\",width:2,type:\"solid\"}},axisTick:{show:!0,splitNumber:5,length:8,lineStyle:{color:\"#eee\",width:1,type:\"solid\"}},axisLabel:{show:!0,distance:5,color:\"auto\"},pointer:{show:!0,length:\"80%\",width:8},itemStyle:{color:\"auto\"},title:{show:!0,offsetCenter:[0,\"-40%\"],color:\"#333\",fontSize:15},detail:{show:!0,backgroundColor:\"rgba(0,0,0,0)\",borderWidth:0,borderColor:\"#ccc\",width:100,height:null,padding:[5,10],offsetCenter:[0,\"40%\"],color:\"auto\",fontSize:30}}});var Qw=Ar.extend({type:\"echartsGaugePointer\",shape:{angle:0,width:10,r:10,x:0,y:0},buildPath:function(t,e){var i=Math.cos,n=Math.sin,o=e.r,a=e.width,r=e.angle,s=e.x-i(r)*a*(o/3<=a?1:2),l=e.y-n(r)*a*(o/3<=a?1:2);r=e.angle-Math.PI/2,t.moveTo(s,l),t.lineTo(e.x+i(r)*a,e.y+n(r)*a),t.lineTo(e.x+i(e.angle)*o,e.y+n(e.angle)*o),t.lineTo(e.x-i(r)*a,e.y-n(r)*a),t.lineTo(s,l)}});function tb(t,e){return e&&(\"string\"==typeof e?t=e.replace(\"{value}\",null!=t?t:\"\"):\"function\"==typeof e&&(t=e(t))),t}var eb=2*Math.PI,ib=(_c.extend({type:\"gauge\",render:function(t,e,i){this.group.removeAll();var n=t.get(\"axisLine.lineStyle.color\"),o=function(t,e){var i=t.get(\"center\"),n=e.getWidth(),o=e.getHeight(),a=Math.min(n,o);return{cx:El(i[0],e.getWidth()),cy:El(i[1],e.getHeight()),r:El(t.get(\"radius\"),a/2)}}(t,i);this._renderMain(t,e,i,n,o)},dispose:function(){},_renderMain:function(t,e,i,n,o){for(var a=this.group,r=t.getModel(\"axisLine\"),s=r.getModel(\"lineStyle\"),l=t.get(\"clockwise\"),u=-t.get(\"startAngle\")/180*Math.PI,h=((g=-t.get(\"endAngle\")/180*Math.PI)-u)%eb,c=u,d=s.get(\"width\"),f=r.get(\"show\"),p=0;f&&p<n.length;p++){var g,m=Math.min(Math.max(n[p][0],0),1),v=new qr({shape:{startAngle:c,endAngle:g=u+h*m,cx:o.cx,cy:o.cy,clockwise:l,r0:o.r-d,r:o.r},silent:!0});v.setStyle({fill:n[p][1]}),v.setStyle(s.getLineStyle([\"color\",\"borderWidth\",\"borderColor\"])),a.add(v),c=g}function y(t){if(t<=0)return n[0][1];for(var e=0;e<n.length;e++)if(n[e][0]>=t&&(0===e?0:n[e-1][0])<t)return n[e][1];return n[e-1][1]}if(!l){var x=u;u=g,g=x}this._renderTicks(t,e,i,y,o,u,g,l),this._renderPointer(t,e,i,y,o,u,g,l),this._renderTitle(t,e,i,y,o),this._renderDetail(t,e,i,y,o)},_renderTicks:function(t,e,i,n,o,a,r,s){for(var l=this.group,u=o.cx,h=o.cy,c=o.r,d=+t.get(\"min\"),f=+t.get(\"max\"),p=t.getModel(\"splitLine\"),g=t.getModel(\"axisTick\"),m=t.getModel(\"axisLabel\"),v=t.get(\"splitNumber\"),y=g.get(\"splitNumber\"),x=El(p.get(\"length\"),c),_=El(g.get(\"length\"),c),w=a,b=(r-a)/v,S=b/y,M=p.getModel(\"lineStyle\").getLineStyle(),I=g.getModel(\"lineStyle\").getLineStyle(),T=0;T<=v;T++){var A=Math.cos(w),D=Math.sin(w);if(p.get(\"show\")){var C=new ls({shape:{x1:A*c+u,y1:D*c+h,x2:A*(c-x)+u,y2:D*(c-x)+h},style:M,silent:!0});\"auto\"===M.stroke&&C.setStyle({stroke:n(T/v)}),l.add(C)}if(m.get(\"show\")){var L=tb(zl(T/v*(f-d)+d),m.get(\"formatter\")),k=m.get(\"distance\"),P=n(T/v);l.add(new Ur({style:nl({},m,{text:L,x:A*(c-x-k)+u,y:D*(c-x-k)+h,textVerticalAlign:D<-.4?\"top\":.4<D?\"bottom\":\"middle\",textAlign:A<-.4?\"left\":.4<A?\"right\":\"center\"},{autoColor:P}),silent:!0}))}if(g.get(\"show\")&&T!==v){for(var N=0;N<=y;N++){A=Math.cos(w),D=Math.sin(w);var O=new ls({shape:{x1:A*c+u,y1:D*c+h,x2:A*(c-_)+u,y2:D*(c-_)+h},silent:!0,style:I});\"auto\"===I.stroke&&O.setStyle({stroke:n((T+N/y)/v)}),l.add(O),w+=S}w-=S}else w+=b}},_renderPointer:function(n,t,e,o,a,i,r,s){var l=this.group,u=this._data;if(n.get(\"pointer.show\")){var h=[+n.get(\"min\"),+n.get(\"max\")],c=[i,r],d=n.getData(),f=d.mapDimension(\"value\");d.diff(u).add(function(t){var e=new Qw({shape:{angle:i}});dl(e,{shape:{angle:Rl(d.get(f,t),h,c,!0)}},n),l.add(e),d.setItemGraphicEl(t,e)}).update(function(t,e){var i=u.getItemGraphicEl(e);cl(i,{shape:{angle:Rl(d.get(f,t),h,c,!0)}},n),l.add(i),d.setItemGraphicEl(t,i)}).remove(function(t){var e=u.getItemGraphicEl(t);l.remove(e)}).execute(),d.eachItemGraphicEl(function(t,e){var i=d.getItemModel(e),n=i.getModel(\"pointer\");t.setShape({x:a.cx,y:a.cy,width:El(n.get(\"width\"),a.r),r:El(n.get(\"length\"),a.r)}),t.useStyle(i.getModel(\"itemStyle\").getItemStyle()),\"auto\"===t.style.fill&&t.setStyle(\"fill\",o(Rl(d.get(f,e),h,[0,1],!0))),$s(t,i.getModel(\"emphasis.itemStyle\").getItemStyle())}),this._data=d}else u&&u.eachItemGraphicEl(function(t){l.remove(t)})},_renderTitle:function(t,e,i,n,o){var a=t.getData(),r=a.mapDimension(\"value\"),s=t.getModel(\"title\");if(s.get(\"show\")){var l=s.get(\"offsetCenter\"),u=o.cx+El(l[0],o.r),h=o.cy+El(l[1],o.r),c=+t.get(\"min\"),d=+t.get(\"max\"),f=n(Rl(t.getData().get(r,0),[c,d],[0,1],!0));this.group.add(new Ur({silent:!0,style:nl({},s,{x:u,y:h,text:a.getName(0),textAlign:\"center\",textVerticalAlign:\"middle\"},{autoColor:f,forceRich:!0})}))}},_renderDetail:function(t,e,i,n,o){var a=t.getModel(\"detail\"),r=+t.get(\"min\"),s=+t.get(\"max\");if(a.get(\"show\")){var l=a.get(\"offsetCenter\"),u=o.cx+El(l[0],o.r),h=o.cy+El(l[1],o.r),c=El(a.get(\"width\"),o.r),d=El(a.get(\"height\"),o.r),f=t.getData(),p=f.get(f.mapDimension(\"value\"),0),g=n(Rl(p,[r,s],[0,1],!0));this.group.add(new Ur({silent:!0,style:nl({},a,{x:u,y:h,text:tb(p,a.get(\"formatter\")),textWidth:isNaN(c)?null:c,textHeight:isNaN(d)?null:d,textAlign:\"center\",textVerticalAlign:\"middle\"},{autoColor:g,forceRich:!0})}))}}}),Df({type:\"series.funnel\",init:function(t){ib.superApply(this,\"init\",arguments),this.legendVisualProvider=new qv(A(this.getData,this),A(this.getRawData,this)),this._defaultLabelLine(t)},getInitialData:function(t,e){return Yv(this,{coordDimensions:[\"value\"],encodeDefaulter:T(Ju,this)})},_defaultLabelLine:function(t){Go(t,\"labelLine\",[\"show\"]);var e=t.labelLine,i=t.emphasis.labelLine;e.show=e.show&&t.label.show,i.show=i.show&&t.emphasis.label.show},getDataParams:function(t){var e=this.getData(),i=ib.superCall(this,\"getDataParams\",t),n=e.mapDimension(\"value\"),o=e.getSum(n);return i.percent=o?+(e.get(n,t)/o*100).toFixed(2):0,i.$vars.push(\"percent\"),i},defaultOption:{zlevel:0,z:2,legendHoverLink:!0,left:80,top:60,right:80,bottom:60,minSize:\"0%\",maxSize:\"100%\",sort:\"descending\",orient:\"vertical\",gap:0,funnelAlign:\"center\",label:{show:!0,position:\"outer\"},labelLine:{show:!0,length:20,lineStyle:{width:1,type:\"solid\"}},itemStyle:{borderColor:\"#fff\",borderWidth:1},emphasis:{label:{show:!0}}}}));function nb(t,e){Ci.call(this);var i=new Qr,n=new ts,o=new Ur;this.add(i),this.add(n),this.add(o),this.highDownOnUpdate=function(t,e){\"emphasis\"===e?(n.ignore=n.hoverIgnore,o.ignore=o.hoverIgnore):(n.ignore=n.normalIgnore,o.ignore=o.normalIgnore)},this.updateData(t,e,!0)}var ob=nb.prototype,ab=[\"itemStyle\",\"opacity\"];ob.updateData=function(t,e,i){var n=this.childAt(0),o=t.hostModel,a=t.getItemModel(e),r=t.getItemLayout(e),s=t.getItemModel(e).get(ab);s=null==s?1:s,n.useStyle({}),i?(n.setShape({points:r.points}),n.setStyle({opacity:0}),dl(n,{style:{opacity:s}},o,e)):cl(n,{style:{opacity:s},shape:{points:r.points}},o,e);var l=a.getModel(\"itemStyle\"),u=t.getItemVisual(e,\"color\");n.setStyle(D({lineJoin:\"round\",fill:u},l.getItemStyle([\"opacity\"]))),n.hoverStyle=l.getModel(\"emphasis\").getItemStyle(),this._updateLabel(t,e),$s(this)},ob._updateLabel=function(t,e){var i=this.childAt(1),n=this.childAt(2),o=t.hostModel,a=t.getItemModel(e),r=t.getItemLayout(e).label,s=t.getItemVisual(e,\"color\");cl(i,{shape:{points:r.linePoints||r.linePoints}},o,e),cl(n,{style:{x:r.x,y:r.y}},o,e),n.attr({rotation:r.rotation,origin:[r.x,r.y],z2:10});var l=a.getModel(\"label\"),u=a.getModel(\"emphasis.label\"),h=a.getModel(\"labelLine\"),c=a.getModel(\"emphasis.labelLine\");s=t.getItemVisual(e,\"color\");el(n.style,n.hoverStyle={},l,u,{labelFetcher:t.hostModel,labelDataIndex:e,defaultText:t.getName(e),autoColor:s,useInsideStyle:!!r.inside},{textAlign:r.textAlign,textVerticalAlign:r.verticalAlign}),n.ignore=n.normalIgnore=!l.get(\"show\"),n.hoverIgnore=!u.get(\"show\"),i.ignore=i.normalIgnore=!h.get(\"show\"),i.hoverIgnore=!c.get(\"show\"),i.setStyle({stroke:s}),i.setStyle(h.getModel(\"lineStyle\").getLineStyle()),i.hoverStyle=c.getModel(\"lineStyle\").getLineStyle()},w(nb,Ci);_c.extend({type:\"funnel\",render:function(t,e,i){var n=t.getData(),o=this._data,a=this.group;n.diff(o).add(function(t){var e=new nb(n,t);n.setItemGraphicEl(t,e),a.add(e)}).update(function(t,e){var i=o.getItemGraphicEl(e);i.updateData(n,t),a.add(i),n.setItemGraphicEl(t,i)}).remove(function(t){var e=o.getItemGraphicEl(t);a.remove(e)}).execute(),this._data=n},remove:function(){this.group.removeAll(),this._data=null},dispose:function(){}});Sf(iy(\"funnel\")),bf(function(t,A,e){t.eachSeriesByType(\"funnel\",function(t){var r=t.getData(),s=r.mapDimension(\"value\"),e=t.get(\"sort\"),i=function(t,e){return bu(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()})}(t,A),n=function(t,e){for(var i=t.mapDimension(\"value\"),n=t.mapArray(i,function(t){return t}),o=[],a=\"ascending\"===e,r=0,s=t.count();r<s;r++)o[r]=r;return\"function\"==typeof e?o.sort(e):\"none\"!==e&&o.sort(function(t,e){return a?n[t]-n[e]:n[e]-n[t]}),o}(r,e),l=t.get(\"orient\"),u=i.width,h=i.height,c=i.x,d=i.y,f=\"horizontal\"===l?[El(t.get(\"minSize\"),h),El(t.get(\"maxSize\"),h)]:[El(t.get(\"minSize\"),u),El(t.get(\"maxSize\"),u)],o=r.getDataExtent(s),p=t.get(\"min\"),g=t.get(\"max\");null==p&&(p=Math.min(o[0],0)),null==g&&(g=o[1]);function a(t,e){if(\"horizontal\"===l){var i,n=Rl(r.get(s,t)||0,[p,g],f,!0);switch(m){case\"top\":i=d;break;case\"center\":i=d+(h-n)/2;break;case\"bottom\":i=d+(h-n)}return[[e,i],[e,i+n]]}var o,a=Rl(r.get(s,t)||0,[p,g],f,!0);switch(m){case\"left\":o=c;break;case\"center\":o=c+(u-a)/2;break;case\"right\":o=c+u-a}return[[o,e],[o+a,e]]}var m=t.get(\"funnelAlign\"),v=t.get(\"gap\"),y=((\"horizontal\"===l?u:h)-v*(r.count()-1))/r.count();\"ascending\"===e&&(y=-y,v=-v,\"horizontal\"===l?c+=u:d+=h,n=n.reverse());for(var x=0;x<n.length;x++){var _=n[x],w=n[x+1],b=r.getItemModel(_);if(\"horizontal\"===l){var S=b.get(\"itemStyle.width\");null==S?S=y:(S=El(S,u),\"ascending\"===e&&(S=-S));var M=a(_,c),I=a(w,c+S);c+=S+v,r.setItemLayout(_,{points:M.concat(I.slice().reverse())})}else{var T=b.get(\"itemStyle.height\");null==T?T=y:(T=El(T,h),\"ascending\"===e&&(T=-T));M=a(_,\"horizontal\"===l?c:d),I=a(w,\"horizontal\"===l?c+S:d+T);d+=T+v,r.setItemLayout(_,{points:M.concat(I.slice().reverse())})}}!function(v){v.each(function(t){var e,i,n,o,a=v.getItemModel(t),r=a.getModel(\"label\").get(\"position\"),s=a.get(\"orient\"),l=a.getModel(\"labelLine\"),u=v.getItemLayout(t),h=u.points,c=\"inner\"===r||\"inside\"===r||\"center\"===r||\"insideLeft\"===r||\"insideRight\"===r;if(c)e=\"insideLeft\"===r?(i=(h[0][0]+h[3][0])/2+5,n=(h[0][1]+h[3][1])/2,\"left\"):\"insideRight\"===r?(i=(h[1][0]+h[2][0])/2-5,n=(h[1][1]+h[2][1])/2,\"right\"):(i=(h[0][0]+h[1][0]+h[2][0]+h[3][0])/4,n=(h[0][1]+h[1][1]+h[2][1]+h[3][1])/4,\"center\"),o=[[i,n],[i,n]];else{var d,f,p,g,m=l.get(\"length\");e=\"left\"===r?(d=(h[3][0]+h[0][0])/2,f=(h[3][1]+h[0][1])/2,i=(p=d-m)-5,\"right\"):\"right\"===r?(d=(h[1][0]+h[2][0])/2,f=(h[1][1]+h[2][1])/2,i=(p=d+m)+5,\"left\"):\"top\"===r?(d=(h[3][0]+h[0][0])/2,n=(g=(f=(h[3][1]+h[0][1])/2)-m)-5,\"center\"):\"bottom\"===r?(d=(h[1][0]+h[2][0])/2,n=(g=(f=(h[1][1]+h[2][1])/2)+m)+5,\"center\"):\"rightTop\"===r?(d=\"horizontal\"===s?h[3][0]:h[1][0],f=\"horizontal\"===s?h[3][1]:h[1][1],\"horizontal\"===s?(n=(g=f-m)-5,\"center\"):(i=(p=d+m)+5,\"top\")):\"rightBottom\"===r?(d=h[2][0],f=h[2][1],\"horizontal\"===s?(n=(g=f+m)+5,\"center\"):(i=(p=d+m)+5,\"bottom\")):\"leftTop\"===r?(d=h[0][0],f=\"horizontal\"===s?h[0][1]:h[1][1],\"horizontal\"===s?(n=(g=f-m)-5,\"center\"):(i=(p=d-m)-5,\"right\")):\"leftBottom\"===r?(d=\"horizontal\"===s?h[1][0]:h[3][0],f=\"horizontal\"===s?h[1][1]:h[2][1],\"horizontal\"===s?(n=(g=f+m)+5,\"center\"):(i=(p=d-m)-5,\"right\")):(d=(h[1][0]+h[2][0])/2,f=(h[1][1]+h[2][1])/2,\"horizontal\"===s?(n=(g=f+m)+5,\"center\"):(i=(p=d+m)+5,\"left\")),\"horizontal\"===s?i=p=d:n=g=f,o=[[d,f],[p,g]]}u.label={linePoints:o,x:i,y:n,verticalAlign:\"middle\",textAlign:e,inside:c}})}(r)})}),xf(uy(\"funnel\"));function rb(t,e,i,n,o){Gg.call(this,t,e,i),this.type=n||\"value\",this.axisIndex=o}rb.prototype={constructor:rb,model:null,isHorizontal:function(){return\"horizontal\"!==this.coordinateSystem.getModel().get(\"layout\")}},w(rb,Gg);function sb(t,e,i,n,o,a){t=t||0;var r=i[1]-i[0];if(null!=o&&(o=ub(o,[0,r])),null!=a&&(a=Math.max(a,null!=o?o:0)),\"all\"===n){var s=Math.abs(e[1]-e[0]);o=a=ub(s=ub(s,[0,r]),[o,a]),n=0}e[0]=ub(e[0],i),e[1]=ub(e[1],i);var l=lb(e,n);e[n]+=t;var u=o||0,h=i.slice();l.sign<0?h[0]+=u:h[1]-=u,e[n]=ub(e[n],h);var c=lb(e,n);return null!=o&&(c.sign!==l.sign||c.span<o)&&(e[1-n]=e[n]+l.sign*o),c=lb(e,n),null!=a&&c.span>a&&(e[1-n]=e[n]+c.sign*a),e}function lb(t,e){var i=t[e]-t[1-e];return{span:Math.abs(i),sign:0<i?-1:i<0?1:e?-1:1}}function ub(t,e){return Math.min(null!=e[1]?e[1]:1/0,Math.max(null!=e[0]?e[0]:-1/0,t))}var hb=R,cb=Math.min,db=Math.max,fb=Math.floor,pb=Math.ceil,gb=zl,mb=Math.PI;function vb(t,e,i){this._axesMap=Q(),this._axesLayout={},this.dimensions=t.dimensions,this._rect,this._model=t,this._init(t,e,i)}function yb(t,e){return cb(db(t,e[0]),e[1])}vb.prototype={type:\"parallel\",constructor:vb,_init:function(t,r,e){var i=t.dimensions,s=t.parallelAxisIndex;hb(i,function(t,e){var i=s[e],n=r.getComponent(\"parallelAxis\",i),o=this._axesMap.set(t,new rb(t,sg(n),[0,0],n.get(\"type\"),i)),a=\"category\"===o.type;o.onBand=a&&n.get(\"boundaryGap\"),o.inverse=n.get(\"inverse\"),(n.axis=o).model=n,o.coordinateSystem=n.coordinateSystem=this},this)},update:function(t,e){this._updateAxesFromSeries(this._model,t)},containPoint:function(t){var e=this._makeLayoutInfo(),i=e.axisBase,n=e.layoutBase,o=e.pixelDimIndex,a=t[1-o],r=t[o];return i<=a&&a<=i+e.axisLength&&n<=r&&r<=n+e.layoutLength},getModel:function(){return this._model},_updateAxesFromSeries:function(e,n){n.eachSeries(function(t){if(e.contains(t,n)){var i=t.getData();hb(this.dimensions,function(t){var e=this._axesMap.get(t);e.scale.unionExtentFromData(i,i.mapDimension(t)),rg(e.scale,e.model)},this)}},this)},resize:function(t,e){this._rect=bu(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()}),this._layoutAxes()},getRect:function(){return this._rect},_makeLayoutInfo:function(){var t,e=this._model,i=this._rect,n=[\"x\",\"y\"],o=[\"width\",\"height\"],a=e.get(\"layout\"),r=\"horizontal\"===a?0:1,s=i[o[r]],l=[0,s],u=this.dimensions.length,h=yb(e.get(\"axisExpandWidth\"),l),c=yb(e.get(\"axisExpandCount\")||0,[0,u]),d=e.get(\"axisExpandable\")&&3<u&&c<u&&1<c&&0<h&&0<s,f=e.get(\"axisExpandWindow\");f?(t=yb(f[1]-f[0],l),f[1]=f[0]+t):(t=yb(h*(c-1),l),(f=[h*(e.get(\"axisExpandCenter\")||fb(u/2))-t/2])[1]=f[0]+t);var p=(s-t)/(u-c);p<3&&(p=0);var g=[fb(gb(f[0]/h,1))+1,pb(gb(f[1]/h,1))-1],m=p/h*f[0];return{layout:a,pixelDimIndex:r,layoutBase:i[n[r]],layoutLength:s,axisBase:i[n[1-r]],axisLength:i[o[1-r]],axisExpandable:d,axisExpandWidth:h,axisCollapseWidth:p,axisExpandWindow:f,axisCount:u,winInnerIndices:g,axisExpandWindow0Pos:m}},_layoutAxes:function(){var l=this._rect,t=this._axesMap,e=this.dimensions,u=this._makeLayoutInfo(),h=u.layout;t.each(function(t){var e=[0,u.axisLength],i=t.inverse?1:0;t.setExtent(e[i],e[1-i])}),hb(e,function(t,e){var i=(u.axisExpandable?function(t,e){var i,n,o=e.layoutLength,a=e.axisExpandWidth,r=e.axisCount,s=e.axisCollapseWidth,l=e.winInnerIndices,u=s,h=!1;t<l[0]?(i=t*s,n=s):t<=l[1]?(i=e.axisExpandWindow0Pos+t*a-e.axisExpandWindow[0],u=a,h=!0):(i=o-(r-1-t)*s,n=s);return{position:i,axisNameAvailableWidth:u,axisLabelShow:h,nameTruncateMaxWidth:n}}:function(t,e){var i=e.layoutLength/(e.axisCount-1);return{position:i*t,axisNameAvailableWidth:i,axisLabelShow:!0}})(e,u),n={horizontal:{x:i.position,y:u.axisLength},vertical:{x:0,y:i.position}},o={horizontal:mb/2,vertical:0},a=[n[h].x+l.x,n[h].y+l.y],r=o[h],s=ae();he(s,s,r),ue(s,s,a),this._axesLayout[t]={position:a,rotation:r,transform:s,axisNameAvailableWidth:i.axisNameAvailableWidth,axisLabelShow:i.axisLabelShow,nameTruncateMaxWidth:i.nameTruncateMaxWidth,tickDirection:1,labelDirection:1}},this)},getAxis:function(t){return this._axesMap.get(t)},dataToPoint:function(t,e){return this.axisCoordToPoint(this._axesMap.get(e).dataToCoord(t),e)},eachActiveState:function(e,t,i,n){null==i&&(i=0),null==n&&(n=e.count());var o=this._axesMap,a=this.dimensions,r=[],s=[];R(a,function(t){r.push(e.mapDimension(t)),s.push(o.get(t).model)});for(var l=this.hasAxisBrushed(),u=i;u<n;u++){var h;if(l){h=\"active\";for(var c=e.getValues(r,u),d=0,f=a.length;d<f;d++){if(\"inactive\"===s[d].getActiveState(c[d])){h=\"inactive\";break}}}else h=\"normal\";t(h,u)}},hasAxisBrushed:function(){for(var t=this.dimensions,e=this._axesMap,i=!1,n=0,o=t.length;n<o;n++)\"normal\"!==e.get(t[n]).model.getActiveState()&&(i=!0);return i},axisCoordToPoint:function(t,e){return pl([t,0],this._axesLayout[e].transform)},getAxisLayout:function(t){return k(this._axesLayout[t])},getSlidedAxisExpandWindow:function(t){var e=this._makeLayoutInfo(),i=e.pixelDimIndex,n=e.axisExpandWindow.slice(),o=n[1]-n[0],a=[0,e.axisExpandWidth*(e.axisCount-1)];if(!this.containPoint(t))return{behavior:\"none\",axisExpandWindow:n};var r,s=t[i]-e.layoutBase-e.axisExpandWindow0Pos,l=\"slide\",u=e.axisCollapseWidth,h=this._model.get(\"axisExpandSlideTriggerArea\"),c=null!=h[0];if(u)c&&u&&s<o*h[0]?(l=\"jump\",r=s-o*h[2]):c&&u&&s>o*(1-h[0])?(l=\"jump\",r=s-o*(1-h[2])):0<=(r=s-o*h[1])&&(r=s-o*(1-h[1]))<=0&&(r=0),(r*=e.axisExpandWidth/u)?sb(r,n,a,\"all\"):l=\"none\";else{o=n[1]-n[0];(n=[db(0,a[1]*s/o-o/2)])[1]=cb(a[1],n[0]+o),n[0]=n[1]-o}return{axisExpandWindow:n,behavior:l}}},lh.register(\"parallel\",{create:function(n,o){var a=[];return n.eachComponent(\"parallel\",function(t,e){var i=new vb(t,n,o);i.name=\"parallel_\"+e,i.resize(t,o),(t.coordinateSystem=i).model=t,a.push(i)}),n.eachSeries(function(t){if(\"parallel\"===t.get(\"coordinateSystem\")){var e=n.queryComponents({mainType:\"parallel\",index:t.get(\"parallelIndex\"),id:t.get(\"parallelId\")})[0];t.coordinateSystem=e.coordinateSystem}}),a}});var xb=ku.extend({type:\"baseParallelAxis\",axis:null,activeIntervals:[],getAreaSelectStyle:function(){return ha([[\"fill\",\"color\"],[\"lineWidth\",\"borderWidth\"],[\"stroke\",\"borderColor\"],[\"width\",\"width\"],[\"opacity\",\"opacity\"]])(this.getModel(\"areaSelectStyle\"))},setActiveIntervals:function(t){var e=this.activeIntervals=k(t);if(e)for(var i=e.length-1;0<=i;i--)Bl(e[i])},getActiveState:function(t){var e=this.activeIntervals;if(!e.length)return\"normal\";if(null==t||isNaN(t))return\"inactive\";if(1===e.length){var i=e[0];if(i[0]<=t&&t<=i[1])return\"active\"}else for(var n=0,o=e.length;n<o;n++)if(e[n][0]<=t&&t<=e[n][1])return\"active\";return\"inactive\"}});m(xb.prototype,dg),Gm(\"parallel\",xb,function(t,e){return e.type||(e.data?\"category\":\"value\")},{type:\"value\",dim:null,areaSelectStyle:{width:20,borderWidth:1,borderColor:\"rgba(160,197,232)\",color:\"rgba(160,197,232)\",opacity:.3},realtime:!0,z:10}),ku.extend({type:\"parallel\",dependencies:[\"parallelAxis\"],coordinateSystem:null,dimensions:null,parallelAxisIndex:null,layoutMode:\"box\",defaultOption:{zlevel:0,z:0,left:80,top:60,right:80,bottom:60,layout:\"horizontal\",axisExpandable:!1,axisExpandCenter:null,axisExpandCount:0,axisExpandWidth:50,axisExpandRate:17,axisExpandDebounce:50,axisExpandSlideTriggerArea:[-.15,.05,.4],axisExpandTriggerOn:\"click\",parallelAxisDefault:null},init:function(){ku.prototype.init.apply(this,arguments),this.mergeOption({})},mergeOption:function(t){var e=this.option;t&&m(e,t,!0),this._initDimensions()},contains:function(t,e){var i=t.get(\"parallelIndex\");return null!=i&&e.getComponent(\"parallel\",i)===this},setAxisExpand:function(e){R([\"axisExpandable\",\"axisExpandCenter\",\"axisExpandCount\",\"axisExpandWidth\",\"axisExpandWindow\"],function(t){e.hasOwnProperty(t)&&(this.option[t]=e[t])},this)},_initDimensions:function(){var e=this.dimensions=[],i=this.parallelAxisIndex=[];R(M(this.dependentModels.parallelAxis,function(t){return(t.get(\"parallelIndex\")||0)===this.componentIndex},this),function(t){e.push(\"dim\"+t.get(\"dim\")),i.push(t.componentIndex)})}});_f({type:\"axisAreaSelect\",event:\"axisAreaSelected\"},function(e,t){t.eachComponent({mainType:\"parallelAxis\",query:e},function(t){t.axis.model.setActiveIntervals(e.intervals)})}),_f(\"parallelAxisExpand\",function(e,t){t.eachComponent({mainType:\"parallel\",query:e},function(t){t.setAxisExpand(e)})});var _b=T,wb=R,bb=O,Sb=Math.min,Mb=Math.max,Ib=Math.pow,Tb=1e4,Ab=6,Db=6,Cb=\"globalPan\",Lb={w:[0,0],e:[0,1],n:[1,0],s:[1,1]},kb={w:\"ew\",e:\"ew\",n:\"ns\",s:\"ns\",ne:\"nesw\",sw:\"nesw\",nw:\"nwse\",se:\"nwse\"},Pb={brushStyle:{lineWidth:2,stroke:\"rgba(0,0,0,0.3)\",fill:\"rgba(0,0,0,0.1)\"},transformable:!0,brushMode:\"single\",removeOnClick:!1},Nb=0;function Ob(t){Ct.call(this),this._zr=t,this.group=new Ci,this._brushType,this._brushOption,this._panels,this._track=[],this._dragging,this._covers=[],this._creatingCover,this._creatingPanel,this._enableGlobalPan,this._uid=\"brushController_\"+Nb++,this._handlers={},wb(rS,function(t,e){this._handlers[e]=A(t,this)},this)}function Rb(t,e){var i=lS[e.brushType].createCover(t,e);return i.__brushOption=e,Bb(i,e),t.group.add(i),i}function Eb(t,e){var i=Gb(e);return i.endCreating&&(i.endCreating(t,e),Bb(e,e.__brushOption)),e}function zb(t,e){var i=e.__brushOption;Gb(e).updateCoverShape(t,e,i.range,i)}function Bb(t,e){var i=e.z;null==i&&(i=Tb),t.traverse(function(t){t.z=i,t.z2=i})}function Vb(t,e){Gb(e).updateCommon(t,e),zb(t,e)}function Gb(t){return lS[t.__brushOption.brushType]}function Fb(t,e,i){var n,o=t._panels;if(!o)return!0;var a=t._transform;return wb(o,function(t){t.isTargetByCursor(e,i,a)&&(n=t)}),n}function Wb(t,e){var i=t._panels;if(!i)return!0;var n=e.__brushOption.panelId;return null==n||i[n]}function Hb(e){var t=e._covers,i=t.length;return wb(t,function(t){e.group.remove(t)},e),t.length=0,!!i}function Zb(t,e){var i=bb(t._covers,function(t){var e=t.__brushOption,i=k(e.range);return{brushType:e.brushType,panelId:e.panelId,range:i}});t.trigger(\"brush\",i,{isEnd:!!e.isEnd,removeOnClick:!!e.removeOnClick})}function Ub(t){var e=t.length-1;return e<0&&(e=0),[t[0],t[e]]}function Xb(e,i,t,n){var o=new Ci;return o.add(new rs({name:\"main\",style:Kb(t),silent:!0,draggable:!0,cursor:\"move\",drift:_b(e,i,o,\"nswe\"),ondragend:_b(Zb,i,{isEnd:!0})})),wb(n,function(t){o.add(new rs({name:t,style:{opacity:0},draggable:!0,silent:!0,invisible:!0,drift:_b(e,i,o,t),ondragend:_b(Zb,i,{isEnd:!0})}))}),o}function Yb(t,e,i,n){var o=n.brushStyle.lineWidth||0,a=Mb(o,Db),r=i[0][0],s=i[1][0],l=r-o/2,u=s-o/2,h=i[0][1],c=i[1][1],d=h-a+o/2,f=c-a+o/2,p=h-r,g=c-s,m=p+o,v=g+o;qb(t,e,\"main\",r,s,p,g),n.transformable&&(qb(t,e,\"w\",l,u,a,v),qb(t,e,\"e\",d,u,a,v),qb(t,e,\"n\",l,u,m,a),qb(t,e,\"s\",l,f,m,a),qb(t,e,\"nw\",l,u,a,a),qb(t,e,\"ne\",d,u,a,a),qb(t,e,\"sw\",l,f,a,a),qb(t,e,\"se\",d,f,a,a))}function jb(n,o){var t=o.__brushOption,a=t.transformable,e=o.childAt(0);e.useStyle(Kb(t)),e.attr({silent:!a,cursor:a?\"move\":\"default\"}),wb([\"w\",\"e\",\"n\",\"s\",\"se\",\"sw\",\"ne\",\"nw\"],function(t){var e=o.childOfName(t),i=function t(e,i){{if(1<i.length){i=i.split(\"\");var n=[t(e,i[0]),t(e,i[1])];return\"e\"!==n[0]&&\"w\"!==n[0]||n.reverse(),n.join(\"\")}var o={w:\"left\",e:\"right\",n:\"top\",s:\"bottom\"},a={left:\"w\",right:\"e\",top:\"n\",bottom:\"s\"},n=gl(o[i],fl(e.group));return a[n]}}(n,t);e&&e.attr({silent:!a,invisible:!a,cursor:a?kb[i]+\"-resize\":null})})}function qb(t,e,i,n,o,a,r){var s=e.childOfName(i);s&&s.setShape(function(t){var e=Sb(t[0][0],t[1][0]),i=Sb(t[0][1],t[1][1]),n=Mb(t[0][0],t[1][0]),o=Mb(t[0][1],t[1][1]);return{x:e,y:i,width:n-e,height:o-i}}(eS(t,e,[[n,o],[n+a,o+r]])))}function Kb(t){return D({strokeNoScale:!0},t.brushStyle)}function $b(t,e,i,n){var o=[Sb(t,i),Sb(e,n)],a=[Mb(t,i),Mb(e,n)];return[[o[0],a[0]],[o[1],a[1]]]}function Jb(t,e,i,n,o,a,r,s){var l=n.__brushOption,u=t(l.range),h=tS(i,a,r);wb(o.split(\"\"),function(t){var e=Lb[t];u[e[0]][e[1]]+=h[e[0]]}),l.range=e($b(u[0][0],u[1][0],u[0][1],u[1][1])),Vb(i,n),Zb(i,{isEnd:!1})}function Qb(t,e,i,n,o){var a=e.__brushOption.range,r=tS(t,i,n);wb(a,function(t){t[0]+=r[0],t[1]+=r[1]}),Vb(t,e),Zb(t,{isEnd:!1})}function tS(t,e,i){var n=t.group,o=n.transformCoordToLocal(e,i),a=n.transformCoordToLocal(0,0);return[o[0]-a[0],o[1]-a[1]]}function eS(t,e,i){var n=Wb(t,e);return n&&!0!==n?n.clipPath(i,t._transform):k(i)}function iS(t){var e=t.event;e.preventDefault&&e.preventDefault()}function nS(t,e,i){return t.childOfName(\"main\").contain(e,i)}function oS(t,e,i,n){var o,a=t._creatingCover,r=t._creatingPanel,s=t._brushOption;if(t._track.push(i.slice()),function(t){var e=t._track;if(!e.length)return!1;var i=e[e.length-1],n=e[0],o=i[0]-n[0],a=i[1]-n[1],r=Ib(o*o+a*a,.5);return Ab<r}(t)||a){if(r&&!a){\"single\"===s.brushMode&&Hb(t);var l=k(s);l.brushType=aS(l.brushType,r),l.panelId=!0===r?null:r.panelId,a=t._creatingCover=Rb(t,l),t._covers.push(a)}if(a){var u=lS[aS(t._brushType,r)];a.__brushOption.range=u.getCreatingRange(eS(t,a,t._track)),n&&(Eb(t,a),u.updateCommon(t,a)),zb(t,a),o={isEnd:n}}}else n&&\"single\"===s.brushMode&&s.removeOnClick&&Fb(t,e,i)&&Hb(t)&&(o={isEnd:n,removeOnClick:!0});return o}function aS(t,e){return\"auto\"===t?e.defaultBrushType:t}Ob.prototype={constructor:Ob,enableBrush:function(t){return this._brushType&&function(t){var e=t._zr;(function(t,e,i){var n=By(t);n[e]===i&&(n[e]=null)})(e,Cb,t._uid),function(i,t){wb(t,function(t,e){i.off(e,t)})}(e,t._handlers),t._brushType=t._brushOption=null}(this),t.brushType&&function(t,e){var i=t._zr;t._enableGlobalPan||function(t,e,i){By(t)[e]=i}(i,Cb,t._uid);(function(i,t){wb(t,function(t,e){i.on(e,t)})})(i,t._handlers),t._brushType=e.brushType,t._brushOption=m(k(Pb),e,!0)}(this,t),this},setPanels:function(t){if(t&&t.length){var e=this._panels={};R(t,function(t){e[t.panelId]=k(t)})}else this._panels=null;return this},mount:function(t){t=t||{},this._enableGlobalPan=t.enableGlobalPan;var e=this.group;return this._zr.add(e),e.attr({position:t.position||[0,0],rotation:t.rotation||0,scale:t.scale||[1,1]}),this._transform=e.getLocalTransform(),this},eachCover:function(t,e){wb(this._covers,t,e)},updateCovers:function(o){o=O(o,function(t){return m(k(Pb),t,!0)});var i=\"\\0-brush-index-\",a=this._covers,r=this._covers=[],s=this,l=this._creatingCover;return new kf(a,o,function(t,e){return n(t.__brushOption,e)},n).add(t).update(t).remove(function(t){a[t]!==l&&s.group.remove(a[t])}).execute(),this;function n(t,e){return(null!=t.id?t.id:i+e)+\"-\"+t.brushType}function t(t,e){var i=o[t];if(null!=e&&a[e]===l)r[t]=a[e];else{var n=r[t]=null!=e?(a[e].__brushOption=i,a[e]):Eb(s,Rb(s,i));Vb(s,n)}}},unmount:function(){return this.enableBrush(!1),Hb(this),this._zr.remove(this.group),this},dispose:function(){this.unmount(),this.off()}},b(Ob,Ct);var rS={mousedown:function(t){if(this._dragging)sS(this,t);else if(!t.target||!t.target.draggable){iS(t);var e=this.group.transformCoordToLocal(t.offsetX,t.offsetY);this._creatingCover=null,(this._creatingPanel=Fb(this,t,e))&&(this._dragging=!0,this._track=[e.slice()])}},mousemove:function(t){var e=t.offsetX,i=t.offsetY,n=this.group.transformCoordToLocal(e,i);if(function(t,e,i){if(t._brushType&&!function(t,e,i){var n=t._zr;return e<0||e>n.getWidth()||i<0||i>n.getHeight()}(t,e)){var n=t._zr,o=t._covers,a=Fb(t,e,i);if(!t._dragging)for(var r=0;r<o.length;r++){var s=o[r].__brushOption;if(a&&(!0===a||s.panelId===a.panelId)&&lS[s.brushType].contain(o[r],i[0],i[1]))return}a&&n.setCursorStyle(\"crosshair\")}}(this,t,n),this._dragging){iS(t);var o=oS(this,t,n,!1);o&&Zb(this,o)}},mouseup:function(t){sS(this,t)}};function sS(t,e){if(t._dragging){iS(e);var i=e.offsetX,n=e.offsetY,o=t.group.transformCoordToLocal(i,n),a=oS(t,e,o,!0);t._dragging=!1,t._track=[],t._creatingCover=null,a&&Zb(t,a)}}var lS={lineX:uS(0),lineY:uS(1),rect:{createCover:function(t,e){return Xb(_b(Jb,function(t){return t},function(t){return t}),t,e,[\"w\",\"e\",\"n\",\"s\",\"se\",\"sw\",\"ne\",\"nw\"])},getCreatingRange:function(t){var e=Ub(t);return $b(e[1][0],e[1][1],e[0][0],e[0][1])},updateCoverShape:function(t,e,i,n){Yb(t,e,i,n)},updateCommon:jb,contain:nS},polygon:{createCover:function(t,e){var i=new Ci;return i.add(new ts({name:\"main\",style:Kb(e),silent:!0})),i},getCreatingRange:function(t){return t},endCreating:function(t,e){e.remove(e.childAt(0)),e.add(new Qr({name:\"main\",draggable:!0,drift:_b(Qb,t,e),ondragend:_b(Zb,t,{isEnd:!0})}))},updateCoverShape:function(t,e,i,n){e.childAt(0).setShape({points:eS(t,e,i)})},updateCommon:jb,contain:nS}};function uS(l){return{createCover:function(t,e){return Xb(_b(Jb,function(t){var e=[t,[0,100]];return l&&e.reverse(),e},function(t){return t[l]}),t,e,[[\"w\",\"e\"],[\"n\",\"s\"]][l])},getCreatingRange:function(t){var e=Ub(t);return[Sb(e[0][l],e[1][l]),Mb(e[0][l],e[1][l])]},updateCoverShape:function(t,e,i,n){var o,a=Wb(t,e);if(!0!==a&&a.getLinearBrushOtherExtent)o=a.getLinearBrushOtherExtent(l,t._transform);else{var r=t._zr;o=[0,[r.getWidth(),r.getHeight()][1-l]]}var s=[i,o];l&&s.reverse(),Yb(t,e,s,n)},updateCommon:jb,contain:nS}}function hS(i){return i=fS(i),function(t,e){return vl(t,i)}}function cS(o,a){return o=fS(o),function(t){var e=null!=a?a:t,i=e?o.width:o.height,n=e?o.x:o.y;return[n,n+(i||0)]}}function dS(n,o,a){return n=fS(n),function(t,e,i){return n.contain(e[0],e[1])&&!$y(t,o,a)}}function fS(t){return Di.create(t)}var pS=[\"axisLine\",\"axisTickLabel\",\"axisName\"],gS=Af({type:\"parallelAxis\",init:function(t,e){gS.superApply(this,\"init\",arguments),(this._brushController=new Ob(e.getZr())).on(\"brush\",A(this._onBrush,this))},render:function(t,e,i,n){if(!function(t,e,i){return i&&\"axisAreaSelect\"===i.type&&e.findComponents({mainType:\"parallelAxis\",query:i})[0]===t}(t,e,n)){this.axisModel=t,this.api=i,this.group.removeAll();var o=this._axisGroup;if(this._axisGroup=new Ci,this.group.add(this._axisGroup),t.get(\"show\")){var a=function(t,e){return e.getComponent(\"parallel\",t.get(\"parallelIndex\"))}(t,e),r=a.coordinateSystem,s=t.getAreaSelectStyle(),l=s.width,u=t.axis.dim,h=P({strokeContainThreshold:l},r.getAxisLayout(u)),c=new Qm(t,h);R(pS,c.add,c),this._axisGroup.add(c.getGroup()),this._refreshBrushController(h,s,t,a,l,i);var d=n&&!1===n.animation?null:t;ml(o,this._axisGroup,d)}}},_refreshBrushController:function(t,e,i,n,o,a){var r=i.axis.getExtent(),s=r[1]-r[0],l=Math.min(30,.1*Math.abs(s)),u=Di.create({x:r[0],y:-o/2,width:s,height:o});u.x-=l,u.width+=2*l,this._brushController.mount({enableGlobalPan:!0,rotation:t.rotation,position:t.position}).setPanels([{panelId:\"pl\",clipPath:hS(u),isTargetByCursor:dS(u,a,n),getLinearBrushOtherExtent:cS(u,0)}]).enableBrush({brushType:\"lineX\",brushStyle:e,removeOnClick:!0}).updateCovers(function(t){var e=t.axis;return O(t.activeIntervals,function(t){return{brushType:\"lineX\",panelId:\"pl\",range:[e.dataToCoord(t[0],!0),e.dataToCoord(t[1],!0)]}})}(i))},_onBrush:function(t,e){var i=this.axisModel,n=i.axis,o=O(t,function(t){return[n.coordToData(t.range[0],!0),n.coordToData(t.range[1],!0)]});!i.option.realtime!==e.isEnd&&!e.removeOnClick||this.api.dispatchAction({type:\"axisAreaSelect\",parallelAxisId:i.id,intervals:o})},dispose:function(){this._brushController.dispose()}});Af({type:\"parallel\",render:function(t,e,i){this._model=t,this._api=i,this._handlers||(this._handlers={},R(mS,function(t,e){i.getZr().on(e,this._handlers[e]=A(t,this))},this)),kc(this,\"_throttledDispatchExpand\",t.get(\"axisExpandRate\"),\"fixRate\")},dispose:function(t,i){R(this._handlers,function(t,e){i.getZr().off(e,t)}),this._handlers=null},_throttledDispatchExpand:function(t){this._dispatchExpand(t)},_dispatchExpand:function(t){t&&this._api.dispatchAction(P({type:\"parallelAxisExpand\"},t))}});var mS={mousedown:function(t){vS(this,\"click\")&&(this._mouseDownPoint=[t.offsetX,t.offsetY])},mouseup:function(t){var e=this._mouseDownPoint;if(vS(this,\"click\")&&e){var i=[t.offsetX,t.offsetY];if(5<Math.pow(e[0]-i[0],2)+Math.pow(e[1]-i[1],2))return;var n=this._model.coordinateSystem.getSlidedAxisExpandWindow([t.offsetX,t.offsetY]);\"none\"!==n.behavior&&this._dispatchExpand({axisExpandWindow:n.axisExpandWindow})}this._mouseDownPoint=null},mousemove:function(t){if(!this._mouseDownPoint&&vS(this,\"mousemove\")){var e=this._model,i=e.coordinateSystem.getSlidedAxisExpandWindow([t.offsetX,t.offsetY]),n=i.behavior;\"jump\"===n&&this._throttledDispatchExpand.debounceNextCall(e.get(\"axisExpandDebounce\")),this._throttledDispatchExpand(\"none\"===n?null:{axisExpandWindow:i.axisExpandWindow,animation:\"jump\"===n&&null})}}};function vS(t,e){var i=t._model;return i.get(\"axisExpandable\")&&i.get(\"axisExpandTriggerOn\")===e}yf(function(t){!function(t){if(t.parallel)return;var e=!1;R(t.series,function(t){t&&\"parallel\"===t.type&&(e=!0)}),e&&(t.parallel=[{}])}(t),function(n){R(Vo(n.parallelAxis),function(t){if(z(t)){var e=t.parallelIndex||0,i=Vo(n.parallel)[e];i&&i.parallelAxisDefault&&m(t,i.parallelAxisDefault,!1)}})}(t)}),sc.extend({type:\"series.parallel\",dependencies:[\"parallel\"],visualColorAccessPath:\"lineStyle.color\",getInitialData:function(t,e){var i=this.getSource();return function(t,e){if(t.encodeDefine)return;var i=e.ecModel.getComponent(\"parallel\",e.get(\"parallelIndex\"));if(!i)return;var n=t.encodeDefine=Q();R(i.dimensions,function(t){var e=function(t){return+t.replace(\"dim\",\"\")}(t);n.set(t,e)})}(i,this),gp(i,this)},getRawIndicesByActiveState:function(i){var t=this.coordinateSystem,n=this.getData(),o=[];return t.eachActiveState(n,function(t,e){i===t&&o.push(n.getRawIndex(e))}),o},defaultOption:{zlevel:0,z:2,coordinateSystem:\"parallel\",parallelIndex:0,label:{show:!1},inactiveOpacity:.05,activeOpacity:1,lineStyle:{width:1,opacity:.45,type:\"solid\"},emphasis:{label:{show:!1}},progressive:500,smooth:!1,animationEasing:\"linear\"}});_c.extend({type:\"parallel\",init:function(){this._dataGroup=new Ci,this.group.add(this._dataGroup),this._data,this._initialized},render:function(a,t,e,r){var i=this._dataGroup,s=a.getData(),l=this._data,u=a.coordinateSystem,h=u.dimensions,c=_S(a);if(s.diff(l).add(function(t){wS(xS(s,i,t,h,u),s,t,c)}).update(function(t,e){var i=l.getItemGraphicEl(e),n=yS(s,t,h,u);s.setItemGraphicEl(t,i);var o=r&&!1===r.animation?null:a;cl(i,{shape:{points:n}},o,t),wS(i,s,t,c)}).remove(function(t){var e=l.getItemGraphicEl(t);i.remove(e)}).execute(),!this._initialized){this._initialized=!0;var n=function(t,e,i){var n=t.model,o=t.getRect(),a=new rs({shape:{x:o.x,y:o.y,width:o.width,height:o.height}}),r=\"horizontal\"===n.get(\"layout\")?\"width\":\"height\";return a.setShape(r,0),dl(a,{shape:{width:o.width,height:o.height}},e,i),a}(u,a,function(){setTimeout(function(){i.removeClipPath()})});i.setClipPath(n)}this._data=s},incrementalPrepareRender:function(t,e,i){this._initialized=!0,this._data=null,this._dataGroup.removeAll()},incrementalRender:function(t,e,i){for(var n=e.getData(),o=e.coordinateSystem,a=o.dimensions,r=_S(e),s=t.start;s<t.end;s++){var l=xS(n,this._dataGroup,s,a,o);l.incremental=!0,wS(l,n,s,r)}},dispose:function(){},remove:function(){this._dataGroup&&this._dataGroup.removeAll(),this._data=null}});function yS(t,e,i,n){for(var o,a=[],r=0;r<i.length;r++){var s=i[r],l=t.get(t.mapDimension(s),e);o=l,(\"category\"===n.getAxis(s).type?null==o:null==o||isNaN(o))||a.push(n.dataToPoint(l,s))}return a}function xS(t,e,i,n,o){var a=yS(t,i,n,o),r=new ts({shape:{points:a},silent:!0,z2:10});return e.add(r),t.setItemGraphicEl(i,r),r}function _S(t){var e=t.get(\"smooth\",!0);return!0===e&&(e=.3),{lineStyle:t.getModel(\"lineStyle\").getLineStyle(),smooth:null!=e?e:.3}}function wS(t,e,i,n){var o=n.lineStyle;e.hasItemOption&&(o=e.getItemModel(i).getModel(\"lineStyle\").getLineStyle());t.useStyle(o);var a=t.style;a.fill=null,a.stroke=e.getItemVisual(i,\"color\"),a.opacity=e.getItemVisual(i,\"opacity\"),n.smooth&&(t.shape.smooth=n.smooth)}var bS=[\"lineStyle\",\"normal\",\"opacity\"];Sf({seriesType:\"parallel\",reset:function(t,e,i){var n=t.getModel(\"itemStyle\"),o=t.getModel(\"lineStyle\"),a=e.get(\"color\"),r=o.get(\"color\")||n.get(\"color\")||a[t.seriesIndex%a.length],s=t.get(\"inactiveOpacity\"),l=t.get(\"activeOpacity\"),u=t.getModel(\"lineStyle\").getLineStyle(),h=t.coordinateSystem,c=t.getData(),d={normal:u.opacity,active:l,inactive:s};return c.setVisual(\"color\",r),{progress:function(t,o){h.eachActiveState(o,function(t,e){var i=d[t];if(\"normal\"===t&&o.hasItemOption){var n=o.getItemModel(e).get(bS,!0);null!=n&&(i=n)}o.setItemVisual(e,\"opacity\",i)},t.start,t.end)}}}});var SS=sc.extend({type:\"series.sankey\",layoutInfo:null,levelModels:null,getInitialData:function(t,e){for(var i=t.edges||t.links,n=t.data||t.nodes,o=t.levels,a=this.levelModels={},r=0;r<o.length;r++)null!=o[r].depth&&0<=o[r].depth&&(a[o[r].depth]=new Cl(o[r],this,e));if(n&&i)return iw(n,i,this,!0,function(t,e){t.wrapMethod(\"getItemModel\",function(t,n){return t.customizeGetParent(function(t){var e=this.parentModel,i=e.getData().getItemLayout(n).depth;return e.levelModels[i]||this.parentModel}),t}),e.wrapMethod(\"getItemModel\",function(t,n){return t.customizeGetParent(function(t){var e=this.parentModel,i=e.getGraph().getEdgeByIndex(n).node1.getLayout().depth;return e.levelModels[i]||this.parentModel}),t})}).data},setNodePosition:function(t,e){var i=this.option.data[t];i.localX=e[0],i.localY=e[1]},getGraph:function(){return this.getData().graph},getEdgeData:function(){return this.getGraph().edgeData},formatTooltip:function(t,e,i){if(\"edge\"===i){var n=this.getDataParams(t,i),o=n.data,a=o.source+\" -- \"+o.target;return n.value&&(a+=\" : \"+n.value),au(a)}if(\"node\"!==i)return SS.superCall(this,\"formatTooltip\",t,e);var r=this.getGraph().getNodeByIndex(t).getLayout().value,s=this.getDataParams(t,i).data.name;if(r)a=s+\" : \"+r;return au(a)},optionUpdated:function(){var t=this.option;!0===t.focusNodeAdjacency&&(t.focusNodeAdjacency=\"allEdges\")},getDataParams:function(t,e){var i=SS.superCall(this,\"getDataParams\",t,e);if(null==i.value&&\"node\"===e){var n=this.getGraph().getNodeByIndex(t).getLayout().value;i.value=n}return i},defaultOption:{zlevel:0,z:2,coordinateSystem:\"view\",layout:null,left:\"5%\",top:\"5%\",right:\"20%\",bottom:\"5%\",orient:\"horizontal\",nodeWidth:20,nodeGap:8,draggable:!0,focusNodeAdjacency:!1,layoutIterations:32,label:{show:!0,position:\"right\",color:\"#000\",fontSize:12},levels:[],nodeAlign:\"justify\",itemStyle:{borderWidth:1,borderColor:\"#333\"},lineStyle:{color:\"#314656\",opacity:.2,curveness:.5},emphasis:{label:{show:!0},lineStyle:{opacity:.5}},animationEasing:\"linear\",animationDuration:1e3}}),MS=[\"itemStyle\",\"opacity\"],IS=[\"emphasis\",\"itemStyle\",\"opacity\"],TS=[\"lineStyle\",\"opacity\"],AS=[\"emphasis\",\"lineStyle\",\"opacity\"];function DS(t,e){return t.getVisual(\"opacity\")||t.getModel().get(e)}function CS(t,e,i){var n=t.getGraphicEl(),o=DS(t,e);null!=i&&(null==o&&(o=1),o*=i),n.downplay&&n.downplay(),n.traverse(function(t){\"group\"!==t.type&&t.setStyle(\"opacity\",o)})}function LS(t,e){var i=DS(t,e),n=t.getGraphicEl();n.traverse(function(t){\"group\"!==t.type&&t.setStyle(\"opacity\",i)}),n.highlight&&n.highlight()}var kS=Cs({shape:{x1:0,y1:0,x2:0,y2:0,cpx1:0,cpy1:0,cpx2:0,cpy2:0,extent:0,orient:\"\"},buildPath:function(t,e){var i=e.extent;t.moveTo(e.x1,e.y1),t.bezierCurveTo(e.cpx1,e.cpy1,e.cpx2,e.cpy2,e.x2,e.y2),\"vertical\"===e.orient?(t.lineTo(e.x2+i,e.y2),t.bezierCurveTo(e.cpx2+i,e.cpy2,e.cpx1+i,e.cpy1,e.x1+i,e.y1)):(t.lineTo(e.x2,e.y2+i),t.bezierCurveTo(e.cpx2,e.cpy2+i,e.cpx1,e.cpy1+i,e.x1,e.y1+i)),t.closePath()},highlight:function(){this.trigger(\"emphasis\")},downplay:function(){this.trigger(\"normal\")}});Cf({type:\"sankey\",_model:null,_focusAdjacencyDisabled:!1,render:function(w,t,n){var o=this,e=w.getGraph(),b=this.group,i=w.layoutInfo,S=i.width,M=i.height,u=w.getData(),I=w.getData(\"edge\"),T=w.get(\"orient\");this._model=w,b.removeAll(),b.attr(\"position\",[i.x,i.y]),e.eachEdge(function(t){var e=new kS;e.dataIndex=t.dataIndex,e.seriesIndex=w.seriesIndex,e.dataType=\"edge\";var i,n,o,a,r,s,l,u,h=t.getModel(\"lineStyle\"),c=h.get(\"curveness\"),d=t.node1.getLayout(),f=t.node1.getModel(),p=f.get(\"localX\"),g=f.get(\"localY\"),m=t.node2.getLayout(),v=t.node2.getModel(),y=v.get(\"localX\"),x=v.get(\"localY\"),_=t.getLayout();switch(e.shape.extent=Math.max(1,_.dy),u=\"vertical\"===(e.shape.orient=T)?(i=(null!=p?p*S:d.x)+_.sy,n=(null!=g?g*M:d.y)+d.dy,o=(null!=y?y*S:m.x)+_.ty,r=i,s=n*(1-c)+(a=null!=x?x*M:m.y)*c,l=o,n*c+a*(1-c)):(i=(null!=p?p*S:d.x)+d.dx,n=(null!=g?g*M:d.y)+_.sy,r=i*(1-c)+(o=null!=y?y*S:m.x)*c,s=n,l=i*c+o*(1-c),a=(null!=x?x*M:m.y)+_.ty),e.setShape({x1:i,y1:n,x2:o,y2:a,cpx1:r,cpy1:s,cpx2:l,cpy2:u}),e.setStyle(h.getItemStyle()),e.style.fill){case\"source\":e.style.fill=t.node1.getVisual(\"color\");break;case\"target\":e.style.fill=t.node2.getVisual(\"color\")}$s(e,t.getModel(\"emphasis.lineStyle\").getItemStyle()),b.add(e),I.setItemGraphicEl(t.dataIndex,e)}),e.eachNode(function(t){var e=t.getLayout(),i=t.getModel(),n=i.get(\"localX\"),o=i.get(\"localY\"),a=i.getModel(\"label\"),r=i.getModel(\"emphasis.label\"),s=new rs({shape:{x:null!=n?n*S:e.x,y:null!=o?o*M:e.y,width:e.dx,height:e.dy},style:i.getModel(\"itemStyle\").getItemStyle()}),l=t.getModel(\"emphasis.itemStyle\").getItemStyle();el(s.style,l,a,r,{labelFetcher:w,labelDataIndex:t.dataIndex,defaultText:t.id,isRectText:!0}),s.setStyle(\"fill\",t.getVisual(\"color\")),$s(s,l),b.add(s),u.setItemGraphicEl(t.dataIndex,s),s.dataType=\"node\"}),u.eachItemGraphicEl(function(t,i){var e=u.getItemModel(i);e.get(\"draggable\")&&(t.drift=function(t,e){o._focusAdjacencyDisabled=!0,this.shape.x+=t,this.shape.y+=e,this.dirty(),n.dispatchAction({type:\"dragNode\",seriesId:w.id,dataIndex:u.getRawIndex(i),localX:this.shape.x/S,localY:this.shape.y/M})},t.ondragend=function(){o._focusAdjacencyDisabled=!1},t.draggable=!0,t.cursor=\"move\"),t.highlight=function(){this.trigger(\"emphasis\")},t.downplay=function(){this.trigger(\"normal\")},t.focusNodeAdjHandler&&t.off(\"mouseover\",t.focusNodeAdjHandler),t.unfocusNodeAdjHandler&&t.off(\"mouseout\",t.unfocusNodeAdjHandler),e.get(\"focusNodeAdjacency\")&&(t.on(\"mouseover\",t.focusNodeAdjHandler=function(){o._focusAdjacencyDisabled||(o._clearTimer(),n.dispatchAction({type:\"focusNodeAdjacency\",seriesId:w.id,dataIndex:t.dataIndex}))}),t.on(\"mouseout\",t.unfocusNodeAdjHandler=function(){o._focusAdjacencyDisabled||o._dispatchUnfocus(n)}))}),I.eachItemGraphicEl(function(t,e){var i=I.getItemModel(e);t.focusNodeAdjHandler&&t.off(\"mouseover\",t.focusNodeAdjHandler),t.unfocusNodeAdjHandler&&t.off(\"mouseout\",t.unfocusNodeAdjHandler),i.get(\"focusNodeAdjacency\")&&(t.on(\"mouseover\",t.focusNodeAdjHandler=function(){o._focusAdjacencyDisabled||(o._clearTimer(),n.dispatchAction({type:\"focusNodeAdjacency\",seriesId:w.id,edgeDataIndex:t.dataIndex}))}),t.on(\"mouseout\",t.unfocusNodeAdjHandler=function(){o._focusAdjacencyDisabled||o._dispatchUnfocus(n)}))}),!this._data&&w.get(\"animation\")&&b.setClipPath(function(t,e,i){var n=new rs({shape:{x:t.x-10,y:t.y-10,width:0,height:t.height+20}});return dl(n,{shape:{width:t.width+20}},e,i),n}(b.getBoundingRect(),w,function(){b.removeClipPath()})),this._data=w.getData()},dispose:function(){this._clearTimer()},_dispatchUnfocus:function(t){var e=this;this._clearTimer(),this._unfocusDelayTimer=setTimeout(function(){e._unfocusDelayTimer=null,t.dispatchAction({type:\"unfocusNodeAdjacency\",seriesId:e._model.id})},500)},_clearTimer:function(){this._unfocusDelayTimer&&(clearTimeout(this._unfocusDelayTimer),this._unfocusDelayTimer=null)},focusNodeAdjacency:function(t,e,i,n){var o=t.getData(),a=o.graph,r=n.dataIndex,s=o.getItemModel(r),l=n.edgeDataIndex;if(null!=r||null!=l){var u=a.getNodeByIndex(r),h=a.getEdgeByIndex(l);if(a.eachNode(function(t){CS(t,MS,.1)}),a.eachEdge(function(t){CS(t,TS,.1)}),u){LS(u,IS);var c=s.get(\"focusNodeAdjacency\");\"outEdges\"===c?R(u.outEdges,function(t){t.dataIndex<0||(LS(t,AS),LS(t.node2,IS))}):\"inEdges\"===c?R(u.inEdges,function(t){t.dataIndex<0||(LS(t,AS),LS(t.node1,IS))}):\"allEdges\"===c&&R(u.edges,function(t){t.dataIndex<0||(LS(t,AS),t.node1!==u&&LS(t.node1,IS),t.node2!==u&&LS(t.node2,IS))})}h&&(LS(h,AS),LS(h.node1,IS),LS(h.node2,IS))}},unfocusNodeAdjacency:function(t,e,i,n){var o=t.getGraph();o.eachNode(function(t){CS(t,MS)}),o.eachEdge(function(t){CS(t,TS)})}}),_f({type:\"dragNode\",event:\"dragnode\",update:\"update\"},function(e,t){t.eachComponent({mainType:\"series\",subType:\"sankey\",query:e},function(t){t.setNodePosition(e.dataIndex,[e.localX,e.localY])})});function PS(t){var e=t.hostGraph.data.getRawDataItem(t.dataIndex);return null!=e.depth&&0<=e.depth}function NS(t,l,u,h,c){var d=\"vertical\"===c?\"x\":\"y\";R(t,function(t){var e,i,n;t.sort(function(t,e){return t.getLayout()[d]-e.getLayout()[d]});for(var o=0,a=t.length,r=\"vertical\"===c?\"dx\":\"dy\",s=0;s<a;s++)0<(n=o-(i=t[s]).getLayout()[d])&&(e=i.getLayout()[d]+n,\"vertical\"===c?i.setLayout({x:e},!0):i.setLayout({y:e},!0)),o=i.getLayout()[d]+i.getLayout()[r]+l;if(0<(n=o-l-(\"vertical\"===c?h:u)))for(e=i.getLayout()[d]-n,\"vertical\"===c?i.setLayout({x:e},!0):i.setLayout({y:e},!0),o=e,s=a-2;0<=s;--s)0<(n=(i=t[s]).getLayout()[d]+i.getLayout()[r]+l-o)&&(e=i.getLayout()[d]-n,\"vertical\"===c?i.setLayout({x:e},!0):i.setLayout({y:e},!0)),o=i.getLayout()[d]})}function OS(t,a,r){R(t.slice().reverse(),function(t){R(t,function(t){if(t.outEdges.length){var e=FS(t.outEdges,RS,r)/FS(t.outEdges,GS,r);if(isNaN(e)){var i=t.outEdges.length;e=i?FS(t.outEdges,ES,r)/i:0}if(\"vertical\"===r){var n=t.getLayout().x+(e-VS(t,r))*a;t.setLayout({x:n},!0)}else{var o=t.getLayout().y+(e-VS(t,r))*a;t.setLayout({y:o},!0)}}})})}function RS(t,e){return VS(t.node2,e)*t.getValue()}function ES(t,e){return VS(t.node2,e)}function zS(t,e){return VS(t.node1,e)*t.getValue()}function BS(t,e){return VS(t.node1,e)}function VS(t,e){return\"vertical\"===e?t.getLayout().x+t.getLayout().dx/2:t.getLayout().y+t.getLayout().dy/2}function GS(t){return t.getValue()}function FS(t,e,i){for(var n=0,o=t.length,a=-1;++a<o;){var r=+e.call(t,t[a],i);isNaN(r)||(n+=r)}return n}function WS(t,a,r){R(t,function(t){R(t,function(t){if(t.inEdges.length){var e=FS(t.inEdges,zS,r)/FS(t.inEdges,GS,r);if(isNaN(e)){var i=t.inEdges.length;e=i?FS(t.inEdges,BS,r)/i:0}if(\"vertical\"===r){var n=t.getLayout().x+(e-VS(t,r))*a;t.setLayout({x:n},!0)}else{var o=t.getLayout().y+(e-VS(t,r))*a;t.setLayout({y:o},!0)}}})})}bf(function(t,u,e){t.eachSeriesByType(\"sankey\",function(t){var e=t.get(\"nodeWidth\"),i=t.get(\"nodeGap\"),n=function(t,e){return bu(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()})}(t,u),o=(t.layoutInfo=n).width,a=n.height,r=t.getGraph(),s=r.nodes,l=r.edges;!function(t){R(t,function(t){var e=FS(t.outEdges,GS),i=FS(t.inEdges,GS),n=t.getValue()||0,o=Math.max(e,i,n);t.setLayout({value:o},!0)})}(s),function(t,e,i,n,o,a,r,s,l){(function(t,e,i,n,o,a,r){for(var s=[],l=[],u=[],h=[],c=0,d=0;d<e.length;d++)s[d]=1;for(d=0;d<t.length;d++)l[d]=t[d].inEdges.length,0===l[d]&&u.push(t[d]);var f=-1;for(;u.length;){for(var p=0;p<u.length;p++){var g=u[p],m=g.hostGraph.data.getRawDataItem(g.dataIndex),v=null!=m.depth&&0<=m.depth;v&&m.depth>f&&(f=m.depth),g.setLayout({depth:v?m.depth:c},!0),\"vertical\"===a?g.setLayout({dy:i},!0):g.setLayout({dx:i},!0);for(var y=0;y<g.outEdges.length;y++){var x=g.outEdges[y],_=e.indexOf(x);s[_]=0;var w=x.node2,b=t.indexOf(w);0==--l[b]&&h.indexOf(w)<0&&h.push(w)}}++c,u=h,h=[]}for(d=0;d<s.length;d++)if(1===s[d])throw new Error(\"Sankey is a DAG, the original data has cycle!\");var S=c-1<f?f:c-1;r&&\"left\"!==r&&function(t,e,i,n){if(\"right\"===e){for(var o=[],a=t,r=0;a.length;){for(var s=0;s<a.length;s++){var l=a[s];l.setLayout({skNodeHeight:r},!0);for(var u=0;u<l.inEdges.length;u++){var h=l.inEdges[u];o.indexOf(h.node1)<0&&o.push(h.node1)}}a=o,o=[],++r}R(t,function(t){PS(t)||t.setLayout({depth:Math.max(0,n-t.getLayout().skNodeHeight)},!0)})}else\"justify\"===e&&function(t,e){R(t,function(t){PS(t)||t.outEdges.length||t.setLayout({depth:e},!0)})}(t,n)}(t,r,0,S);!function(t,i,n){R(t,function(t){var e=t.getLayout().depth*i;\"vertical\"===n?t.setLayout({y:e},!0):t.setLayout({x:e},!0)})}(t,\"vertical\"===a?(o-i)/S:(n-i)/S,a)})(t,e,i,o,a,s,l),function(t,e,i,n,o,a,r){var s=function(t,e){var i=[],n=\"vertical\"===e?\"y\":\"x\",o=ta(t,function(t){return t.getLayout()[n]});return o.keys.sort(function(t,e){return t-e}),R(o.keys,function(t){i.push(o.buckets.get(t))}),i}(t,r);(function(t,e,o,a,r,s){var l=1/0;R(t,function(t){var e=t.length,i=0;R(t,function(t){i+=t.getLayout().value});var n=\"vertical\"===s?(a-(e-1)*r)/i:(o-(e-1)*r)/i;n<l&&(l=n)}),R(t,function(t){R(t,function(t,e){var i=t.getLayout().value*l;\"vertical\"===s?(t.setLayout({x:e},!0),t.setLayout({dx:i},!0)):(t.setLayout({y:e},!0),t.setLayout({dy:i},!0))})}),R(e,function(t){var e=+t.getValue()*l;t.setLayout({dy:e},!0)})})(s,e,i,n,o,r),NS(s,o,i,n,r);for(var l=1;0<a;a--)OS(s,l*=.99,r),NS(s,o,i,n,r),WS(s,l,r),NS(s,o,i,n,r)}(t,e,a,o,n,r,s),function(t,e){var i=\"vertical\"===e?\"x\":\"y\";R(t,function(t){t.outEdges.sort(function(t,e){return t.node2.getLayout()[i]-e.node2.getLayout()[i]}),t.inEdges.sort(function(t,e){return t.node1.getLayout()[i]-e.node1.getLayout()[i]})}),R(t,function(t){var e=0,i=0;R(t.outEdges,function(t){t.setLayout({sy:e},!0),e+=t.getLayout().dy}),R(t.inEdges,function(t){t.setLayout({ty:i},!0),i+=t.getLayout().dy})})}(t,s)}(s,l,e,i,o,a,0!==M(s,function(t){return 0===t.getLayout().value}).length?0:t.get(\"layoutIterations\"),t.get(\"orient\"),t.get(\"nodeAlign\"))})}),Sf(function(t,e){t.eachSeriesByType(\"sankey\",function(n){var t=n.getGraph().nodes;if(t.length){var o=1/0,a=-1/0;R(t,function(t){var e=t.getLayout().value;e<o&&(o=e),a<e&&(a=e)}),R(t,function(t){var e=new g_({type:\"color\",mappingMethod:\"linear\",dataExtent:[o,a],visual:n.get(\"color\")}).mapValueToVisual(t.getLayout().value),i=t.getModel().get(\"itemStyle.color\");null!=i?t.setVisual(\"color\",i):t.setVisual(\"color\",e)})}})});var HS={_baseAxisDim:null,getInitialData:function(t,e){var i,n,o=e.getComponent(\"xAxis\",this.get(\"xAxisIndex\")),a=e.getComponent(\"yAxis\",this.get(\"yAxisIndex\")),r=o.get(\"type\"),s=a.get(\"type\");\"category\"===r?(t.layout=\"horizontal\",i=o.getOrdinalMeta(),n=!0):\"category\"===s?(t.layout=\"vertical\",i=a.getOrdinalMeta(),n=!0):t.layout=t.layout||\"horizontal\";var l=[\"x\",\"y\"],u=\"horizontal\"===t.layout?0:1,h=this._baseAxisDim=l[u],c=l[1-u],d=[o,a],f=d[u].get(\"type\"),p=d[1-u].get(\"type\"),g=t.data;if(g&&n){var m=[];R(g,function(t,e){var i;t.value&&L(t.value)?(i=t.value.slice(),t.value.unshift(e)):L(t)?(i=t.slice(),t.unshift(e)):i=t,m.push(i)}),t.data=m}var v=this.defaultValueDimensions,y=[{name:h,type:Rf(f),ordinalMeta:i,otherDims:{tooltip:!1,itemName:0},dimsDef:[\"base\"]},{name:c,type:Rf(p),dimsDef:v.slice()}];return Yv(this,{coordDimensions:y,dimensionsCount:v.length+1,encodeDefaulter:T($u,y,this)})},getBaseAxis:function(){var t=this._baseAxisDim;return this.ecModel.getComponent(t+\"Axis\",this.get(t+\"AxisIndex\")).axis}};b(sc.extend({type:\"series.boxplot\",dependencies:[\"xAxis\",\"yAxis\",\"grid\"],defaultValueDimensions:[{name:\"min\",defaultTooltip:!0},{name:\"Q1\",defaultTooltip:!0},{name:\"median\",defaultTooltip:!0},{name:\"Q3\",defaultTooltip:!0},{name:\"max\",defaultTooltip:!0}],dimensions:null,defaultOption:{zlevel:0,z:2,coordinateSystem:\"cartesian2d\",legendHoverLink:!0,hoverAnimation:!0,layout:null,boxWidth:[7,50],itemStyle:{color:\"#fff\",borderWidth:1},emphasis:{itemStyle:{borderWidth:2,shadowBlur:5,shadowOffsetX:2,shadowOffsetY:2,shadowColor:\"rgba(0,0,0,0.4)\"}},animationEasing:\"elasticOut\",animationDuration:800}}),HS,!0);var ZS=[\"itemStyle\"],US=[\"emphasis\",\"itemStyle\"],XS=(_c.extend({type:\"boxplot\",render:function(t,e,i){var o=t.getData(),a=this.group,r=this._data;this._data||a.removeAll();var s=\"horizontal\"===t.get(\"layout\")?1:0;o.diff(r).add(function(t){if(o.hasValue(t)){var e=YS(o.getItemLayout(t),o,t,s,!0);o.setItemGraphicEl(t,e),a.add(e)}}).update(function(t,e){var i=r.getItemGraphicEl(e);if(o.hasValue(t)){var n=o.getItemLayout(t);i?jS(n,i,o,t):i=YS(n,o,t,s),a.add(i),o.setItemGraphicEl(t,i)}else a.remove(i)}).remove(function(t){var e=r.getItemGraphicEl(t);e&&a.remove(e)}).execute(),this._data=o},remove:function(t){var e=this.group,i=this._data;this._data=null,i&&i.eachItemGraphicEl(function(t){t&&e.remove(t)})},dispose:et}),Ar.extend({type:\"boxplotBoxPath\",shape:{},buildPath:function(t,e){var i=e.points,n=0;for(t.moveTo(i[n][0],i[n][1]),n++;n<4;n++)t.lineTo(i[n][0],i[n][1]);for(t.closePath();n<i.length;n++)t.moveTo(i[n][0],i[n][1]),n++,t.lineTo(i[n][0],i[n][1])}}));function YS(t,e,i,n,o){var a=t.ends,r=new XS({shape:{points:o?function(t,e,i){return O(t,function(t){return(t=t.slice())[e]=i.initBaseline,t})}(a,n,t):a}});return jS(t,r,e,i,o),r}function jS(t,e,i,n,o){var a=i.hostModel;(0,bl[o?\"initProps\":\"updateProps\"])(e,{shape:{points:t.ends}},a,n);var r=i.getItemModel(n),s=r.getModel(ZS),l=i.getItemVisual(n,\"color\"),u=s.getItemStyle([\"borderColor\"]);u.stroke=l,u.strokeNoScale=!0,e.useStyle(u),e.z2=100,$s(e,r.getModel(US).getItemStyle())}var qS=[\"itemStyle\",\"borderColor\"],KS=R;Sf(function(n,t){var o=n.get(\"color\");n.eachRawSeriesByType(\"boxplot\",function(t){var e=o[t.seriesIndex%o.length],i=t.getData();i.setVisual({legendSymbol:\"roundRect\",color:t.get(qS)||e}),n.isSeriesFiltered(t)||i.each(function(t){var e=i.getItemModel(t);i.setItemVisual(t,{color:e.get(qS,!0)})})})}),bf(function(t){var e=function(t){var n=[],o=[];return t.eachSeriesByType(\"boxplot\",function(t){var e=t.getBaseAxis(),i=_(o,e);i<0&&(i=o.length,o[i]=e,n[i]={axis:e,seriesModels:[]}),n[i].seriesModels.push(t)}),n}(t);KS(e,function(i){var t=i.seriesModels;t.length&&(function(t){var e,i,n=t.axis,o=t.seriesModels,a=o.length,r=t.boxWidthList=[],s=t.boxOffsetList=[],l=[];if(\"category\"===n.type)i=n.getBandWidth();else{var u=0;KS(o,function(t){u=Math.max(u,t.getData().count())}),e=n.getExtent(),Math.abs(e[1]-e[0])}KS(o,function(t){var e=t.get(\"boxWidth\");L(e)||(e=[e,e]),l.push([El(e[0],i)||0,El(e[1],i)||0])});var h=.8*i-2,c=h/a*.3,d=(h-c*(a-1))/a,f=d/2-h/2;KS(o,function(t,e){s.push(f),f+=c+d,r.push(Math.min(Math.max(d,l[e][0]),l[e][1]))})}(i),KS(t,function(t,e){!function(t,r,e){var s=t.coordinateSystem,l=t.getData(),a=e/2,u=\"horizontal\"===t.get(\"layout\")?0:1,h=1-u,i=[\"x\",\"y\"],n=l.mapDimension(i[u]),o=l.mapDimension(i[h],!0);if(null==n||o.length<5)return;for(var c=0;c<l.count();c++){var d=l.get(n,c),f=x(d,o[2],c),p=x(d,o[0],c),g=x(d,o[1],c),m=x(d,o[3],c),v=x(d,o[4],c),y=[];_(y,g,0),_(y,m,1),y.push(p,g,v,m),w(y,p),w(y,v),w(y,f),l.setItemLayout(c,{initBaseline:f[h],ends:y})}function x(t,e,i){var n,o=l.get(e,i),a=[];return a[u]=t,a[h]=o,isNaN(t)||isNaN(o)?n=[NaN,NaN]:(n=s.dataToPoint(a))[u]+=r,n}function _(t,e,i){var n=e.slice(),o=e.slice();n[u]+=a,o[u]-=a,i?t.push(n,o):t.push(o,n)}function w(t,e){var i=e.slice(),n=e.slice();i[u]-=a,n[u]+=a,t.push(i,n)}}(t,i.boxOffsetList[e],i.boxWidthList[e])}))})}),b(sc.extend({type:\"series.candlestick\",dependencies:[\"xAxis\",\"yAxis\",\"grid\"],defaultValueDimensions:[{name:\"open\",defaultTooltip:!0},{name:\"close\",defaultTooltip:!0},{name:\"lowest\",defaultTooltip:!0},{name:\"highest\",defaultTooltip:!0}],dimensions:null,defaultOption:{zlevel:0,z:2,coordinateSystem:\"cartesian2d\",legendHoverLink:!0,hoverAnimation:!0,layout:null,clip:!0,itemStyle:{color:\"#c23531\",color0:\"#314656\",borderWidth:1,borderColor:\"#c23531\",borderColor0:\"#314656\"},emphasis:{itemStyle:{borderWidth:2}},barMaxWidth:null,barMinWidth:null,barWidth:null,large:!0,largeThreshold:600,progressive:3e3,progressiveThreshold:1e4,progressiveChunkMode:\"mod\",animationUpdate:!1,animationEasing:\"linear\",animationDuration:300},getShadowDim:function(){return\"open\"},brushSelector:function(t,e,i){var n=e.getItemLayout(t);return n&&i.rect(n.brushRect)}}),HS,!0);var $S=[\"itemStyle\"],JS=[\"emphasis\",\"itemStyle\"],QS=[\"color\",\"color0\",\"borderColor\",\"borderColor0\"],tM=(_c.extend({type:\"candlestick\",render:function(t,e,i){this.group.removeClipPath(),this._updateDrawMode(t),this._isLargeDraw?this._renderLarge(t):this._renderNormal(t)},incrementalPrepareRender:function(t,e,i){this._clear(),this._updateDrawMode(t)},incrementalRender:function(t,e,i,n){this._isLargeDraw?this._incrementalRenderLarge(t,e):this._incrementalRenderNormal(t,e)},_updateDrawMode:function(t){var e=t.pipelineContext.large;(null==this._isLargeDraw||e^this._isLargeDraw)&&(this._isLargeDraw=e,this._clear())},_renderNormal:function(o){var a=o.getData(),r=this._data,s=this.group,l=a.getLayout(\"isSimpleBox\"),u=o.get(\"clip\",!0),t=o.coordinateSystem,h=t.getArea&&t.getArea();this._data||s.removeAll(),a.diff(r).add(function(t){if(a.hasValue(t)){var e,i=a.getItemLayout(t);if(u&&iM(h,i))return;dl(e=eM(i,t,!0),{shape:{points:i.ends}},o,t),nM(e,a,t,l),s.add(e),a.setItemGraphicEl(t,e)}}).update(function(t,e){var i=r.getItemGraphicEl(e);if(a.hasValue(t)){var n=a.getItemLayout(t);u&&iM(h,n)?s.remove(i):(i?cl(i,{shape:{points:n.ends}},o,t):i=eM(n,t),nM(i,a,t,l),s.add(i),a.setItemGraphicEl(t,i))}else s.remove(i)}).remove(function(t){var e=r.getItemGraphicEl(t);e&&s.remove(e)}).execute(),this._data=a},_renderLarge:function(t){this._clear(),aM(t,this.group);var e=t.get(\"clip\",!0)?Sm(t.coordinateSystem,!1,t):null;e?this.group.setClipPath(e):this.group.removeClipPath()},_incrementalRenderNormal:function(t,e){for(var i,n=e.getData(),o=n.getLayout(\"isSimpleBox\");null!=(i=t.next());){var a;nM(a=eM(n.getItemLayout(i),i),n,i,o),a.incremental=!0,this.group.add(a)}},_incrementalRenderLarge:function(t,e){aM(e,this.group,!0)},remove:function(t){this._clear()},_clear:function(){this.group.removeAll(),this._data=null},dispose:et}),Ar.extend({type:\"normalCandlestickBox\",shape:{},buildPath:function(t,e){var i=e.points;this.__simpleBox?(t.moveTo(i[4][0],i[4][1]),t.lineTo(i[6][0],i[6][1])):(t.moveTo(i[0][0],i[0][1]),t.lineTo(i[1][0],i[1][1]),t.lineTo(i[2][0],i[2][1]),t.lineTo(i[3][0],i[3][1]),t.closePath(),t.moveTo(i[4][0],i[4][1]),t.lineTo(i[5][0],i[5][1]),t.moveTo(i[6][0],i[6][1]),t.lineTo(i[7][0],i[7][1]))}}));function eM(t,e,i){var n=t.ends;return new tM({shape:{points:i?function(t,e){return O(t,function(t){return(t=t.slice())[1]=e.initBaseline,t})}(n,t):n},z2:100})}function iM(t,e){for(var i=!0,n=0;n<e.ends.length;n++)if(t.contain(e.ends[n][0],e.ends[n][1])){i=!1;break}return i}function nM(t,e,i,n){var o=e.getItemModel(i),a=o.getModel($S),r=e.getItemVisual(i,\"color\"),s=e.getItemVisual(i,\"borderColor\")||r,l=a.getItemStyle(QS);t.useStyle(l),t.style.strokeNoScale=!0,t.style.fill=r,t.style.stroke=s,t.__simpleBox=n,$s(t,o.getModel(JS).getItemStyle())}var oM=Ar.extend({type:\"largeCandlestickBox\",shape:{},buildPath:function(t,e){for(var i=e.points,n=0;n<i.length;)if(this.__sign===i[n++]){var o=i[n++];t.moveTo(o,i[n++]),t.lineTo(o,i[n++])}else n+=3}});function aM(t,e,i){var n=t.getData(),o=n.getLayout(\"largePoints\"),a=new oM({shape:{points:o},__sign:1});e.add(a);var r=new oM({shape:{points:o},__sign:-1});e.add(r),rM(1,a,t,n),rM(-1,r,t,n),i&&(a.incremental=!0,r.incremental=!0)}function rM(t,e,i,n){var o=0<t?\"P\":\"N\",a=n.getVisual(\"borderColor\"+o)||n.getVisual(\"color\"+o),r=i.getModel($S).getItemStyle(QS);e.useStyle(r),e.style.fill=null,e.style.stroke=a}var sM=[\"itemStyle\",\"borderColor\"],lM=[\"itemStyle\",\"borderColor0\"],uM=[\"itemStyle\",\"color\"],hM=[\"itemStyle\",\"color0\"],cM={seriesType:\"candlestick\",plan:vc(),performRawSeries:!0,reset:function(t,e){if(t.getData().setVisual({legendSymbol:\"roundRect\",colorP:a(1,t),colorN:a(-1,t),borderColorP:r(1,t),borderColorN:r(-1,t)}),!e.isSeriesFiltered(t))return!t.pipelineContext.large&&{progress:function(t,e){var i;for(;null!=(i=t.next());){var n=e.getItemModel(i),o=e.getItemLayout(i).sign;e.setItemVisual(i,{color:a(o,n),borderColor:r(o,n)})}}};function a(t,e){return e.get(0<t?uM:hM)}function r(t,e){return e.get(0<t?sM:lM)}}},dM=\"undefined\"!=typeof Float32Array?Float32Array:Array,fM={seriesType:\"candlestick\",plan:vc(),reset:function(t){var x=t.coordinateSystem,e=t.getData(),_=function(t,e){var i,n=t.getBaseAxis(),o=\"category\"===n.type?n.getBandWidth():(i=n.getExtent(),Math.abs(i[1]-i[0])/e.count()),a=El(H(t.get(\"barMaxWidth\"),o),o),r=El(H(t.get(\"barMinWidth\"),1),o),s=t.get(\"barWidth\");return null!=s?El(s,o):Math.max(Math.min(o/2,a),r)}(t,e),i=[\"x\",\"y\"],w=e.mapDimension(i[0]),n=e.mapDimension(i[1],!0),b=n[0],S=n[1],M=n[2],I=n[3];if(e.setLayout({candleWidth:_,isSimpleBox:_<=1.3}),!(null==w||n.length<4))return{progress:t.pipelineContext.large?function(t,e){var i,n,o=new dM(4*t.count),a=0,r=[],s=[];for(;null!=(n=t.next());){var l=e.get(w,n),u=e.get(b,n),h=e.get(S,n),c=e.get(M,n),d=e.get(I,n);isNaN(l)||isNaN(c)||isNaN(d)?(o[a++]=NaN,a+=3):(o[a++]=pM(e,n,u,h,S),r[0]=l,r[1]=c,i=x.dataToPoint(r,null,s),o[a++]=i?i[0]:NaN,o[a++]=i?i[1]:NaN,r[1]=d,i=x.dataToPoint(r,null,s),o[a++]=i?i[1]:NaN)}e.setLayout(\"largePoints\",o)}:function(t,e){var i;for(;null!=(i=t.next());){var n=e.get(w,i),o=e.get(b,i),a=e.get(S,i),r=e.get(M,i),s=e.get(I,i),l=Math.min(o,a),u=Math.max(o,a),h=g(l,n),c=g(u,n),d=g(r,n),f=g(s,n),p=[];m(p,c,0),m(p,h,1),p.push(y(f),y(c),y(d),y(h)),e.setItemLayout(i,{sign:pM(e,i,o,a,S),initBaseline:a<o?c[1]:h[1],ends:p,brushRect:v(r,s,n)})}function g(t,e){var i=[];return i[0]=e,i[1]=t,isNaN(e)||isNaN(t)?[NaN,NaN]:x.dataToPoint(i)}function m(t,e,i){var n=e.slice(),o=e.slice();n[0]=zs(n[0]+_/2,1,!1),o[0]=zs(o[0]-_/2,1,!0),i?t.push(n,o):t.push(o,n)}function v(t,e,i){var n=g(t,i),o=g(e,i);return n[0]-=_/2,o[0]-=_/2,{x:n[0],y:n[1],width:_,height:o[1]-n[1]}}function y(t){return t[0]=zs(t[0],1),t}}}}};function pM(t,e,i,n,o){return n<i?-1:i<n?1:0<e?t.get(o,e-1)<=n?1:-1:1}yf(function(t){t&&L(t.series)&&R(t.series,function(t){z(t)&&\"k\"===t.type&&(t.type=\"candlestick\")})}),Sf(cM),bf(fM),sc.extend({type:\"series.effectScatter\",dependencies:[\"grid\",\"polar\"],getInitialData:function(t,e){return gp(this.getSource(),this,{useEncodeDefaulter:!0})},brushSelector:\"point\",defaultOption:{coordinateSystem:\"cartesian2d\",zlevel:0,z:2,legendHoverLink:!0,effectType:\"ripple\",progressive:0,showEffectOn:\"render\",rippleEffect:{period:4,scale:2.5,brushType:\"fill\"},symbolSize:10}});function gM(t,e){var i=e.rippleEffectColor||e.color;t.eachChild(function(t){t.attr({z:e.z,zlevel:e.zlevel,style:{stroke:\"stroke\"===e.brushType?i:null,fill:\"fill\"===e.brushType?i:null}})})}function mM(t,e){Ci.call(this);var i=new Xg(t,e),n=new Ci;this.add(i),this.add(n),n.beforeUpdate=function(){this.attr(i.getScale())},this.updateData(t,e)}var vM=mM.prototype;vM.stopEffectAnimation=function(){this.childAt(1).removeAll()},vM.startEffectAnimation=function(t){for(var e=t.symbolType,i=t.color,n=this.childAt(1),o=0;o<3;o++){var a=wg(e,-1,-1,2,2,i);a.attr({style:{strokeNoScale:!0},z2:99,silent:!0,scale:[.5,.5]});var r=-o/3*t.period+t.effectOffset;a.animate(\"\",!0).when(t.period,{scale:[t.rippleScale/2,t.rippleScale/2]}).delay(r).start(),a.animateStyle(!0).when(t.period,{opacity:0}).delay(r).start(),n.add(a)}gM(n,t)},vM.updateEffectAnimation=function(t){for(var e=this._effectCfg,i=this.childAt(1),n=[\"symbolType\",\"period\",\"rippleScale\"],o=0;o<n.length;o++){var a=n[o];if(e[a]!==t[a])return this.stopEffectAnimation(),void this.startEffectAnimation(t)}gM(i,t)},vM.highlight=function(){this.trigger(\"emphasis\")},vM.downplay=function(){this.trigger(\"normal\")},vM.updateData=function(t,e){var i=t.hostModel;this.childAt(0).updateData(t,e);var n=this.childAt(1),o=t.getItemModel(e),a=t.getItemVisual(e,\"symbol\"),r=function(t){return L(t)||(t=[+t,+t]),t}(t.getItemVisual(e,\"symbolSize\")),s=t.getItemVisual(e,\"color\");n.attr(\"scale\",r),n.traverse(function(t){t.attr({fill:s})});var l=o.getShallow(\"symbolOffset\");if(l){var u=n.position;u[0]=El(l[0],r[0]),u[1]=El(l[1],r[1])}var h=t.getItemVisual(e,\"symbolRotate\");n.rotation=(h||0)*Math.PI/180||0;var c={};if(c.showEffectOn=i.get(\"showEffectOn\"),c.rippleScale=o.get(\"rippleEffect.scale\"),c.brushType=o.get(\"rippleEffect.brushType\"),c.period=1e3*o.get(\"rippleEffect.period\"),c.effectOffset=e/t.count(),c.z=o.getShallow(\"z\")||0,c.zlevel=o.getShallow(\"zlevel\")||0,c.symbolType=a,c.color=s,c.rippleEffectColor=o.get(\"rippleEffect.color\"),this.off(\"mouseover\").off(\"mouseout\").off(\"emphasis\").off(\"normal\"),\"render\"===c.showEffectOn)this._effectCfg?this.updateEffectAnimation(c):this.startEffectAnimation(c),this._effectCfg=c;else{this._effectCfg=null,this.stopEffectAnimation();var d=this.childAt(0),f=function(){d.highlight(),\"render\"!==c.showEffectOn&&this.startEffectAnimation(c)},p=function(){d.downplay(),\"render\"!==c.showEffectOn&&this.stopEffectAnimation()};this.on(\"mouseover\",f,this).on(\"mouseout\",p,this).on(\"emphasis\",f,this).on(\"normal\",p,this)}this._effectCfg=c},vM.fadeOut=function(t){this.off(\"mouseover\").off(\"mouseout\").off(\"emphasis\").off(\"normal\"),t&&t()},w(mM,Ci),Cf({type:\"effectScatter\",init:function(){this._symbolDraw=new im(mM)},render:function(t,e,i){var n=t.getData(),o=this._symbolDraw;o.updateData(n),this.group.add(o.group)},updateTransform:function(t,e,i){var n=t.getData();this.group.dirty();var o=km().reset(t);o.progress&&o.progress({start:0,end:n.count()},n),this._symbolDraw.updateLayout(n)},_updateGroupTransform:function(t){var e=t.coordinateSystem;e&&e.getRoamTransform&&(this.group.transform=fe(e.getRoamTransform()),this.group.decomposeTransform())},remove:function(t,e){this._symbolDraw&&this._symbolDraw.remove(e)},dispose:function(){}}),Sf(Lm(\"effectScatter\",\"circle\")),bf(km(\"effectScatter\"));var yM=\"undefined\"==typeof Uint32Array?Array:Uint32Array,xM=\"undefined\"==typeof Float64Array?Array:Float64Array;function _M(t){var e=t.data;e&&e[0]&&e[0][0]&&e[0][0].coord&&(t.data=O(e,function(t){var e={coords:[t[0].coord,t[1].coord]};return t[0].name&&(e.fromName=t[0].name),t[1].name&&(e.toName=t[1].name),p([e,t[0],t[1]])}))}var wM=sc.extend({type:\"series.lines\",dependencies:[\"grid\",\"polar\"],visualColorAccessPath:\"lineStyle.color\",init:function(t){t.data=t.data||[],_M(t);var e=this._processFlatCoordsArray(t.data);this._flatCoords=e.flatCoords,this._flatCoordsOffset=e.flatCoordsOffset,e.flatCoords&&(t.data=new Float32Array(e.count)),wM.superApply(this,\"init\",arguments)},mergeOption:function(t){if(_M(t),t.data){var e=this._processFlatCoordsArray(t.data);this._flatCoords=e.flatCoords,this._flatCoordsOffset=e.flatCoordsOffset,e.flatCoords&&(t.data=new Float32Array(e.count))}wM.superApply(this,\"mergeOption\",arguments)},appendData:function(t){var e=this._processFlatCoordsArray(t.data);e.flatCoords&&(this._flatCoords?(this._flatCoords=tt(this._flatCoords,e.flatCoords),this._flatCoordsOffset=tt(this._flatCoordsOffset,e.flatCoordsOffset)):(this._flatCoords=e.flatCoords,this._flatCoordsOffset=e.flatCoordsOffset),t.data=new Float32Array(e.count)),this.getRawData().appendData(t.data)},_getCoordsFromItemModel:function(t){var e=this.getData().getItemModel(t);return e.option instanceof Array?e.option:e.getShallow(\"coords\")},getLineCoordsCount:function(t){return this._flatCoordsOffset?this._flatCoordsOffset[2*t+1]:this._getCoordsFromItemModel(t).length},getLineCoords:function(t,e){if(this._flatCoordsOffset){for(var i=this._flatCoordsOffset[2*t],n=this._flatCoordsOffset[2*t+1],o=0;o<n;o++)e[o]=e[o]||[],e[o][0]=this._flatCoords[i+2*o],e[o][1]=this._flatCoords[i+2*o+1];return n}var a=this._getCoordsFromItemModel(t);for(o=0;o<a.length;o++)e[o]=e[o]||[],e[o][0]=a[o][0],e[o][1]=a[o][1];return a.length},_processFlatCoordsArray:function(t){var e=0;if(this._flatCoords&&(e=this._flatCoords.length),\"number\"!=typeof t[0])return{flatCoordsOffset:null,flatCoords:null,count:t.length};for(var i=t.length,n=new yM(i),o=new xM(i),a=0,r=0,s=0,l=0;l<i;){s++;var u=t[l++];n[r++]=a+e,n[r++]=u;for(var h=0;h<u;h++){var c=t[l++],d=t[l++];o[a++]=c,o[a++]=d}}return{flatCoordsOffset:new Uint32Array(n.buffer,0,r),flatCoords:o,count:s}},getInitialData:function(t,e){var a=new Yf([\"value\"],this);return a.hasItemOption=!1,a.initData(t.data,[],function(t,e,i,n){if(t instanceof Array)return NaN;a.hasItemOption=!0;var o=t.value;return null!=o?o instanceof Array?o[n]:o:void 0}),a},formatTooltip:function(t){var e=this.getData().getItemModel(t),i=e.get(\"name\");if(i)return i;var n=e.get(\"fromName\"),o=e.get(\"toName\"),a=[];return null!=n&&a.push(n),null!=o&&a.push(o),au(a.join(\" > \"))},preventIncremental:function(){return!!this.get(\"effect.show\")},getProgressive:function(){var t=this.option.progressive;return null==t?this.option.large?1e4:this.get(\"progressive\"):t},getProgressiveThreshold:function(){var t=this.option.progressiveThreshold;return null==t?this.option.large?2e4:this.get(\"progressiveThreshold\"):t},defaultOption:{coordinateSystem:\"geo\",zlevel:0,z:2,legendHoverLink:!0,hoverAnimation:!0,xAxisIndex:0,yAxisIndex:0,symbol:[\"none\",\"none\"],symbolSize:[10,10],geoIndex:0,effect:{show:!1,period:4,constantSpeed:0,symbol:\"circle\",symbolSize:3,loop:!0,trailLength:.2},large:!1,largeThreshold:2e3,polyline:!1,clip:!0,label:{show:!1,position:\"end\"},lineStyle:{opacity:.5}}});function bM(t,e,i){Ci.call(this),this.add(this.createLine(t,e,i)),this._updateEffectSymbol(t,e)}var SM=bM.prototype;function MM(t,e,i){Ci.call(this),this._createPolyline(t,e,i)}SM.createLine=function(t,e,i){return new ww(t,e,i)},SM._updateEffectSymbol=function(t,e){var i=t.getItemModel(e).getModel(\"effect\"),n=i.get(\"symbolSize\"),o=i.get(\"symbol\");L(n)||(n=[n,n]);var a=i.get(\"color\")||t.getItemVisual(e,\"color\"),r=this.childAt(1);this._symbolType!==o&&(this.remove(r),(r=wg(o,-.5,-.5,1,1,a)).z2=100,r.culling=!0,this.add(r)),r&&(r.setStyle(\"shadowColor\",a),r.setStyle(i.getItemStyle([\"color\"])),r.attr(\"scale\",n),r.setColor(a),r.attr(\"scale\",n),this._symbolType=o,this._symbolScale=n,this._updateEffectAnimation(t,i,e))},SM._updateEffectAnimation=function(e,t,i){var n=this.childAt(1);if(n){var o=this,a=e.getItemLayout(i),r=1e3*t.get(\"period\"),s=t.get(\"loop\"),l=t.get(\"constantSpeed\"),u=W(t.get(\"delay\"),function(t){return t/e.count()*r/3}),h=\"function\"==typeof u;if(n.ignore=!0,this.updateAnimationPoints(n,a),0<l&&(r=this.getLineLength(n)/l*1e3),r!==this._period||s!==this._loop){n.stopAnimation();var c=u;h&&(c=u(i)),0<n.__t&&(c=-r*n.__t),n.__t=0;var d=n.animate(\"\",s).when(r,{__t:1}).delay(c).during(function(){o.updateSymbolPosition(n)});s||d.done(function(){o.remove(n)}),d.start()}this._period=r,this._loop=s}},SM.getLineLength=function(t){return yt(t.__p1,t.__cp1)+yt(t.__cp1,t.__p2)},SM.updateAnimationPoints=function(t,e){t.__p1=e[0],t.__p2=e[1],t.__cp1=e[2]||[(e[0][0]+e[1][0])/2,(e[0][1]+e[1][1])/2]},SM.updateData=function(t,e,i){this.childAt(0).updateData(t,e,i),this._updateEffectSymbol(t,e)},SM.updateSymbolPosition=function(t){var e=t.__p1,i=t.__p2,n=t.__cp1,o=t.__t,a=t.position,r=[a[0],a[1]],s=La,l=ka;a[0]=s(e[0],n[0],i[0],o),a[1]=s(e[1],n[1],i[1],o);var u=l(e[0],n[0],i[0],o),h=l(e[1],n[1],i[1],o);if(t.rotation=-Math.atan2(h,u)-Math.PI/2,\"line\"===this._symbolType||\"rect\"===this._symbolType||\"roundRect\"===this._symbolType)if(void 0!==t.__lastT&&t.__lastT<t.__t){var c=1.05*yt(r,a);t.attr(\"scale\",[t.scale[0],c]),1===o&&(a[0]=r[0]+(a[0]-r[0])/2,a[1]=r[1]+(a[1]-r[1])/2)}else if(1===t.__lastT){c=2*yt(e,a);t.attr(\"scale\",[t.scale[0],c])}else t.attr(\"scale\",this._symbolScale);t.__lastT=t.__t,t.ignore=!1},SM.updateLayout=function(t,e){this.childAt(0).updateLayout(t,e);var i=t.getItemModel(e).getModel(\"effect\");this._updateEffectAnimation(t,i,e)},w(bM,Ci);var IM=MM.prototype;function TM(t,e,i){bM.call(this,t,e,i),this._lastFrame=0,this._lastFramePercent=0}IM._createPolyline=function(t,e,i){var n=t.getItemLayout(e),o=new ts({shape:{points:n}});this.add(o),this._updateCommonStl(t,e,i)},IM.updateData=function(t,e,i){var n=t.hostModel;cl(this.childAt(0),{shape:{points:t.getItemLayout(e)}},n,e),this._updateCommonStl(t,e,i)},IM._updateCommonStl=function(t,e,i){var n=this.childAt(0),o=t.getItemModel(e),a=t.getItemVisual(e,\"color\"),r=i&&i.lineStyle,s=i&&i.hoverLineStyle;i&&!t.hasItemOption||(r=o.getModel(\"lineStyle\").getLineStyle(),s=o.getModel(\"emphasis.lineStyle\").getLineStyle()),n.useStyle(D({strokeNoScale:!0,fill:\"none\",stroke:a},r)),n.hoverStyle=s,$s(this)},IM.updateLayout=function(t,e){this.childAt(0).setShape(\"points\",t.getItemLayout(e))},w(MM,Ci);var AM=TM.prototype;AM.createLine=function(t,e,i){return new MM(t,e,i)},AM.updateAnimationPoints=function(t,e){this._points=e;for(var i=[0],n=0,o=1;o<e.length;o++){var a=e[o-1],r=e[o];n+=yt(a,r),i.push(n)}if(0!==n){for(o=0;o<i.length;o++)i[o]/=n;this._offsets=i,this._length=n}},AM.getLineLength=function(t){return this._length},AM.updateSymbolPosition=function(t){var e=t.__t,i=this._points,n=this._offsets,o=i.length;if(n){var a=this._lastFrame;if(e<this._lastFramePercent){for(r=Math.min(a+1,o-1);0<=r&&!(n[r]<=e);r--);r=Math.min(r,o-2)}else{for(var r=a;r<o&&!(n[r]>e);r++);r=Math.min(r-1,o-2)}wt(t.position,i[r],i[r+1],(e-n[r])/(n[r+1]-n[r]));var s=i[r+1][0]-i[r][0],l=i[r+1][1]-i[r][1];t.rotation=-Math.atan2(l,s)-Math.PI/2,this._lastFrame=r,this._lastFramePercent=e,t.ignore=!1}},w(TM,bM);var DM=Cs({shape:{polyline:!1,curveness:0,segs:[]},buildPath:function(t,e){var i=e.segs,n=e.curveness;if(e.polyline)for(var o=0;o<i.length;){var a=i[o++];if(0<a){t.moveTo(i[o++],i[o++]);for(var r=1;r<a;r++)t.lineTo(i[o++],i[o++])}}else for(o=0;o<i.length;){var s=i[o++],l=i[o++],u=i[o++],h=i[o++];if(t.moveTo(s,l),0<n){var c=(s+u)/2-(l-h)*n,d=(l+h)/2-(u-s)*n;t.quadraticCurveTo(c,d,u,h)}else t.lineTo(u,h)}},findDataIndex:function(t,e){var i=this.shape,n=i.segs,o=i.curveness;if(i.polyline)for(var a=0,r=0;r<n.length;){var s=n[r++];if(0<s)for(var l=n[r++],u=n[r++],h=1;h<s;h++){if(sr(l,u,c=n[r++],d=n[r++]))return a}a++}else for(a=0,r=0;r<n.length;){l=n[r++],u=n[r++];var c=n[r++],d=n[r++];if(0<o){if(ur(l,u,(l+c)/2-(u-d)*o,(u+d)/2-(c-l)*o,c,d))return a}else if(sr(l,u,c,d))return a;a++}return-1}});function CM(){this.group=new Ci}var LM=CM.prototype;LM.isPersistent=function(){return!this._incremental},LM.updateData=function(t){this.group.removeAll();var e=new DM({rectHover:!0,cursor:\"default\"});e.setShape({segs:t.getLayout(\"linesPoints\")}),this._setCommon(e,t),this.group.add(e),this._incremental=null},LM.incrementalPrepareUpdate=function(t){this.group.removeAll(),this._clearIncremental(),5e5<t.count()?(this._incremental||(this._incremental=new vs({silent:!0})),this.group.add(this._incremental)):this._incremental=null},LM.incrementalUpdate=function(t,e){var i=new DM;i.setShape({segs:e.getLayout(\"linesPoints\")}),this._setCommon(i,e,!!this._incremental),this._incremental?this._incremental.addDisplayable(i,!0):(i.rectHover=!0,i.cursor=\"default\",i.__startIndex=t.start,this.group.add(i))},LM.remove=function(){this._clearIncremental(),this._incremental=null,this.group.removeAll()},LM._setCommon=function(i,t,e){var n=t.hostModel;i.setShape({polyline:n.get(\"polyline\"),curveness:n.get(\"lineStyle.curveness\")}),i.useStyle(n.getModel(\"lineStyle\").getLineStyle()),i.style.strokeNoScale=!0;var o=t.getVisual(\"color\");o&&i.setStyle(\"stroke\",o),i.setStyle(\"fill\"),e||(i.seriesIndex=n.seriesIndex,i.on(\"mousemove\",function(t){i.dataIndex=null;var e=i.findDataIndex(t.offsetX,t.offsetY);0<e&&(i.dataIndex=e+i.__startIndex)}))},LM._clearIncremental=function(){var t=this._incremental;t&&t.clearDisplaybles()};var kM={seriesType:\"lines\",plan:vc(),reset:function(g){var m=g.coordinateSystem,v=g.get(\"polyline\"),y=g.pipelineContext.large;return{progress:function(t,e){var i=[];if(y){var n,o=t.end-t.start;if(v){for(var a=0,r=t.start;r<t.end;r++)a+=g.getLineCoordsCount(r);n=new Float32Array(o+2*a)}else n=new Float32Array(4*o);var s=0,l=[];for(r=t.start;r<t.end;r++){var u=g.getLineCoords(r,i);v&&(n[s++]=u);for(var h=0;h<u;h++)l=m.dataToPoint(i[h],!1,l),n[s++]=l[0],n[s++]=l[1]}e.setLayout(\"linesPoints\",n)}else for(r=t.start;r<t.end;r++){var c=e.getItemModel(r),d=(u=g.getLineCoords(r,i),[]);if(v)for(var f=0;f<u;f++)d.push(m.dataToPoint(i[f]));else{d[0]=m.dataToPoint(i[0]),d[1]=m.dataToPoint(i[1]);var p=c.get(\"lineStyle.curveness\");+p&&(d[2]=[(d[0][0]+d[1][0])/2-(d[0][1]-d[1][1])*p,(d[0][1]+d[1][1])/2-(d[1][0]-d[0][0])*p])}e.setItemLayout(r,d)}}}}};function PM(t){return t instanceof Array||(t=[t,t]),t}Cf({type:\"lines\",init:function(){},render:function(t,e,i){var n=t.getData(),o=this._updateLineDraw(n,t),a=t.get(\"zlevel\"),r=t.get(\"effect.trailLength\"),s=i.getZr(),l=\"svg\"===s.painter.getType();l||s.painter.getLayer(a).clear(!0),null==this._lastZlevel||l||s.configLayer(this._lastZlevel,{motionBlur:!1}),this._showEffect(t)&&r&&(l||s.configLayer(a,{motionBlur:!0,lastFrameAlpha:Math.max(Math.min(r/10+.9,1),0)})),o.updateData(n);var u=t.get(\"clip\",!0)&&Sm(t.coordinateSystem,!1,t);u?this.group.setClipPath(u):this.group.removeClipPath(),this._lastZlevel=a,this._finished=!0},incrementalPrepareRender:function(t,e,i){var n=t.getData();this._updateLineDraw(n,t).incrementalPrepareUpdate(n),this._clearLayer(i),this._finished=!1},incrementalRender:function(t,e,i){this._lineDraw.incrementalUpdate(t,e.getData()),this._finished=t.end===e.getData().count()},updateTransform:function(t,e,i){var n=t.getData(),o=t.pipelineContext;if(!this._finished||o.large||o.progressiveRender)return{update:!0};var a=kM.reset(t);a.progress&&a.progress({start:0,end:n.count()},n),this._lineDraw.updateLayout(),this._clearLayer(i)},_updateLineDraw:function(t,e){var i=this._lineDraw,n=this._showEffect(e),o=!!e.get(\"polyline\"),a=e.pipelineContext.large;return i&&n===this._hasEffet&&o===this._isPolyline&&a===this._isLargeDraw||(i&&i.remove(),i=this._lineDraw=a?new CM:new Sw(o?n?TM:MM:n?bM:ww),this._hasEffet=n,this._isPolyline=o,this._isLargeDraw=a,this.group.removeAll()),this.group.add(i.group),i},_showEffect:function(t){return!!t.get(\"effect.show\")},_clearLayer:function(t){var e=t.getZr();\"svg\"===e.painter.getType()||null==this._lastZlevel||e.painter.getLayer(this._lastZlevel).clear(!0)},remove:function(t,e){this._lineDraw&&this._lineDraw.remove(),this._lineDraw=null,this._clearLayer(e)},dispose:function(){}});var NM=\"lineStyle.opacity\".split(\".\"),OM={seriesType:\"lines\",reset:function(t,e,i){var n=PM(t.get(\"symbol\")),o=PM(t.get(\"symbolSize\")),a=t.getData();return a.setVisual(\"fromSymbol\",n&&n[0]),a.setVisual(\"toSymbol\",n&&n[1]),a.setVisual(\"fromSymbolSize\",o&&o[0]),a.setVisual(\"toSymbolSize\",o&&o[1]),a.setVisual(\"opacity\",t.get(NM)),{dataEach:a.hasItemOption?function(t,e){var i=t.getItemModel(e),n=PM(i.getShallow(\"symbol\",!0)),o=PM(i.getShallow(\"symbolSize\",!0)),a=i.get(NM);n[0]&&t.setItemVisual(e,\"fromSymbol\",n[0]),n[1]&&t.setItemVisual(e,\"toSymbol\",n[1]),o[0]&&t.setItemVisual(e,\"fromSymbolSize\",o[0]),o[1]&&t.setItemVisual(e,\"toSymbolSize\",o[1]),t.setItemVisual(e,\"opacity\",a)}:null}}};bf(kM),Sf(OM),sc.extend({type:\"series.heatmap\",getInitialData:function(t,e){return gp(this.getSource(),this,{generateCoord:\"value\"})},preventIncremental:function(){var t=lh.get(this.get(\"coordinateSystem\"));if(t&&t.dimensions)return\"lng\"===t.dimensions[0]&&\"lat\"===t.dimensions[1]},defaultOption:{coordinateSystem:\"cartesian2d\",zlevel:0,z:2,geoIndex:0,blurSize:30,pointSize:20,maxOpacity:1,minOpacity:0}});function RM(){var t=y();this.canvas=t,this.blurSize=30,this.pointSize=20,this.maxOpacity=1,this.minOpacity=0,this._gradientPixels={}}RM.prototype={update:function(t,e,i,n,o,a){var r=this._getBrush(),s=this._getGradient(t,o,\"inRange\"),l=this._getGradient(t,o,\"outOfRange\"),u=this.pointSize+this.blurSize,h=this.canvas,c=h.getContext(\"2d\"),d=t.length;h.width=e,h.height=i;for(var f=0;f<d;++f){var p=t[f],g=p[0],m=p[1],v=n(p[2]);c.globalAlpha=v,c.drawImage(r,g-u,m-u)}if(!h.width||!h.height)return h;for(var y=c.getImageData(0,0,h.width,h.height),x=y.data,_=0,w=x.length,b=this.minOpacity,S=this.maxOpacity-b;_<w;){v=x[_+3]/256;var M=4*Math.floor(255*v);if(0<v){var I=a(v)?s:l;0<v&&(v=v*S+b),x[_++]=I[M],x[_++]=I[1+M],x[_++]=I[2+M],x[_++]=I[3+M]*v*256}else _+=4}return c.putImageData(y,0,0),h},_getBrush:function(){var t=this._brushCanvas||(this._brushCanvas=y()),e=this.pointSize+this.blurSize,i=2*e;t.width=i,t.height=i;var n=t.getContext(\"2d\");return n.clearRect(0,0,i,i),n.shadowOffsetX=i,n.shadowBlur=this.blurSize,n.shadowColor=\"#000\",n.beginPath(),n.arc(-e,e,this.pointSize,0,2*Math.PI,!0),n.closePath(),n.fill(),t},_getGradient:function(t,e,i){for(var n=this._gradientPixels,o=n[i]||(n[i]=new Uint8ClampedArray(1024)),a=[0,0,0,0],r=0,s=0;s<256;s++)e[i](s/255,!0,a),o[r++]=a[0],o[r++]=a[1],o[r++]=a[2],o[r++]=a[3];return o}},Cf({type:\"heatmap\",render:function(i,t,e){var n;t.eachComponent(\"visualMap\",function(e){e.eachTargetSeries(function(t){t===i&&(n=e)})}),this.group.removeAll(),this._incrementalDisplayable=null;var o=i.coordinateSystem;\"cartesian2d\"===o.type||\"calendar\"===o.type?this._renderOnCartesianAndCalendar(i,e,0,i.getData().count()):function(t){var e=t.dimensions;return\"lng\"===e[0]&&\"lat\"===e[1]}(o)&&this._renderOnGeo(o,i,n,e)},incrementalPrepareRender:function(t,e,i){this.group.removeAll()},incrementalRender:function(t,e,i,n){e.coordinateSystem&&this._renderOnCartesianAndCalendar(e,n,t.start,t.end,!0)},_renderOnCartesianAndCalendar:function(t,e,i,n,o){var a,r,s=t.coordinateSystem;if(\"cartesian2d\"===s.type){var l=s.getAxis(\"x\"),u=s.getAxis(\"y\");a=l.getBandWidth(),r=u.getBandWidth()}for(var h=this.group,c=t.getData(),d=\"emphasis.itemStyle\",f=\"emphasis.label\",p=t.getModel(\"itemStyle\").getItemStyle([\"color\"]),g=t.getModel(d).getItemStyle(),m=t.getModel(\"label\"),v=t.getModel(f),y=s.type,x=\"cartesian2d\"===y?[c.mapDimension(\"x\"),c.mapDimension(\"y\"),c.mapDimension(\"value\")]:[c.mapDimension(\"time\"),c.mapDimension(\"value\")],_=i;_<n;_++){var w;if(\"cartesian2d\"===y){if(isNaN(c.get(x[2],_)))continue;var b=s.dataToPoint([c.get(x[0],_),c.get(x[1],_)]);w=new rs({shape:{x:Math.floor(Math.round(b[0])-a/2),y:Math.floor(Math.round(b[1])-r/2),width:Math.ceil(a),height:Math.ceil(r)},style:{fill:c.getItemVisual(_,\"color\"),opacity:c.getItemVisual(_,\"opacity\")}})}else{if(isNaN(c.get(x[1],_)))continue;w=new rs({z2:1,shape:s.dataToRect([c.get(x[0],_)]).contentShape,style:{fill:c.getItemVisual(_,\"color\"),opacity:c.getItemVisual(_,\"opacity\")}})}var S=c.getItemModel(_);c.hasItemOption&&(p=S.getModel(\"itemStyle\").getItemStyle([\"color\"]),g=S.getModel(d).getItemStyle(),m=S.getModel(\"label\"),v=S.getModel(f));var M=t.getRawValue(_),I=\"-\";M&&null!=M[2]&&(I=M[2]),el(p,g,m,v,{labelFetcher:t,labelDataIndex:_,defaultText:I,isRectText:!0}),w.setStyle(p),$s(w,c.hasItemOption?g:P({},g)),(w.incremental=o)&&(w.useHoverLayer=!0),h.add(w),c.setItemGraphicEl(_,w)}},_renderOnGeo:function(o,t,e,i){var n=e.targetVisuals.inRange,a=e.targetVisuals.outOfRange,r=t.getData(),s=this._hmLayer||this._hmLayer||new RM;s.blurSize=t.get(\"blurSize\"),s.pointSize=t.get(\"pointSize\"),s.minOpacity=t.get(\"minOpacity\"),s.maxOpacity=t.get(\"maxOpacity\");var l=o.getViewRect().clone(),u=o.getRoamTransform();l.applyTransform(u);var h=Math.max(l.x,0),c=Math.max(l.y,0),d=Math.min(l.width+l.x,i.getWidth()),f=Math.min(l.height+l.y,i.getHeight()),p=d-h,g=f-c,m=[r.mapDimension(\"lng\"),r.mapDimension(\"lat\"),r.mapDimension(\"value\")],v=r.mapArray(m,function(t,e,i){var n=o.dataToPoint([t,e]);return n[0]-=h,n[1]-=c,n.push(i),n}),y=e.getExtent(),x=\"visualMap.continuous\"===e.type?function(t,e){var i=t[1]-t[0];return e=[(e[0]-t[0])/i,(e[1]-t[0])/i],function(t){return t>=e[0]&&t<=e[1]}}(y,e.option.range):function(e,n,o){var i=e[1]-e[0],a=(n=O(n,function(t){return{interval:[(t.interval[0]-e[0])/i,(t.interval[1]-e[0])/i]}})).length,r=0;return function(t){for(var e=r;e<a;e++){if((i=n[e].interval)[0]<=t&&t<=i[1]){r=e;break}}if(e===a)for(e=r-1;0<=e;e--){var i;if((i=n[e].interval)[0]<=t&&t<=i[1]){r=e;break}}return 0<=e&&e<a&&o[e]}}(y,e.getPieceList(),e.option.selected);s.update(v,p,g,n.color.getNormalizer(),{inRange:n.color.getColorMapper(),outOfRange:a.color.getColorMapper()},x);var _=new Qn({style:{width:p,height:g,x:h,y:c,image:s.canvas},silent:!0});this.group.add(_)},dispose:function(){}});var EM=Tv.extend({type:\"series.pictorialBar\",dependencies:[\"grid\"],defaultOption:{symbol:\"circle\",symbolSize:null,symbolRotate:null,symbolPosition:null,symbolOffset:null,symbolMargin:null,symbolRepeat:!1,symbolRepeatDirection:\"end\",symbolClip:!1,symbolBoundingData:null,symbolPatternSize:400,barGap:\"-100%\",progressive:0,hoverAnimation:!1},getInitialData:function(t){return t.stack=null,EM.superApply(this,\"getInitialData\",arguments)}}),zM=[\"itemStyle\",\"borderWidth\"],BM=[{xy:\"x\",wh:\"width\",index:0,posDesc:[\"left\",\"right\"]},{xy:\"y\",wh:\"height\",index:1,posDesc:[\"top\",\"bottom\"]}],VM=new Yr;Cf({type:\"pictorialBar\",render:function(t,e,i){var r=this.group,s=t.getData(),l=this._data,n=t.coordinateSystem,o=!!n.getBaseAxis().isHorizontal(),a=n.grid.getRect(),u={ecSize:{width:i.getWidth(),height:i.getHeight()},seriesModel:t,coordSys:n,coordSysExtent:[[a.x,a.x+a.width],[a.y,a.y+a.height]],isHorizontal:o,valueDim:BM[+o],categoryDim:BM[1-o]};return s.diff(l).add(function(t){if(s.hasValue(t)){var e=YM(s,t),i=GM(s,t,e,u),n=$M(s,u,i);s.setItemGraphicEl(t,n),r.add(n),iI(n,u,i)}}).update(function(t,e){var i=l.getItemGraphicEl(e);if(s.hasValue(t)){var n=YM(s,t),o=GM(s,t,n,u),a=QM(s,o);i&&a!==i.__pictorialShapeStr&&(r.remove(i),s.setItemGraphicEl(t,null),i=null),i?function(t,e,i){var n=i.animationModel,o=i.dataIndex;cl(t.__pictorialBundle,{position:i.bundlePosition.slice()},n,o),i.symbolRepeat?HM(t,e,i,!0):ZM(t,e,i,!0);UM(t,i,!0),XM(t,e,i,!0)}(i,u,o):i=$M(s,u,o,!0),s.setItemGraphicEl(t,i),i.__pictorialSymbolMeta=o,r.add(i),iI(i,u,o)}else r.remove(i)}).remove(function(t){var e=l.getItemGraphicEl(t);e&&JM(l,t,e.__pictorialSymbolMeta.animationModel,e)}).execute(),this._data=s,this.group},dispose:et,remove:function(e,t){var i=this.group,n=this._data;e.get(\"animation\")?n&&n.eachItemGraphicEl(function(t){JM(n,t.dataIndex,e,t)}):i.removeAll()}});function GM(t,e,i,n){var o=t.getItemLayout(e),a=i.get(\"symbolRepeat\"),r=i.get(\"symbolClip\"),s=i.get(\"symbolPosition\")||\"start\",l=(i.get(\"symbolRotate\")||0)*Math.PI/180||0,u=i.get(\"symbolPatternSize\")||2,h=i.isAnimationEnabled(),c={dataIndex:e,layout:o,itemModel:i,symbolType:t.getItemVisual(e,\"symbol\")||\"circle\",color:t.getItemVisual(e,\"color\"),symbolClip:r,symbolRepeat:a,symbolRepeatDirection:i.get(\"symbolRepeatDirection\"),symbolPatternSize:u,rotation:l,animationModel:h?i:null,hoverAnimation:h&&i.get(\"hoverAnimation\"),z2:i.getShallow(\"z\",!0)||0};!function(t,e,i,n,o){var a,r=n.valueDim,s=t.get(\"symbolBoundingData\"),l=n.coordSys.getOtherAxis(n.coordSys.getBaseAxis()),u=l.toGlobalCoord(l.dataToCoord(0)),h=1-+(i[r.wh]<=0);if(L(s)){var c=[FM(l,s[0])-u,FM(l,s[1])-u];c[1]<c[0]&&c.reverse(),a=c[h]}else a=null!=s?FM(l,s)-u:e?n.coordSysExtent[r.index][h]-u:i[r.wh];o.boundingLength=a,e&&(o.repeatCutLength=i[r.wh]);o.pxSign=0<a?1:a<0?-1:0}(i,a,o,n,c),function(t,e,i,n,o,a,r,s,l,u){var h=l.valueDim,c=l.categoryDim,d=Math.abs(i[c.wh]),f=t.getItemVisual(e,\"symbolSize\");f=L(f)?f.slice():(null==f&&(f=\"100%\"),[f,f]);f[c.index]=El(f[c.index],d),f[h.index]=El(f[h.index],n?d:Math.abs(a)),u.symbolSize=f,(u.symbolScale=[f[0]/s,f[1]/s])[h.index]*=(l.isHorizontal?-1:1)*r}(t,e,o,a,0,c.boundingLength,c.pxSign,u,n,c),function(t,e,i,n,o){var a=t.get(zM)||0;a&&(VM.attr({scale:e.slice(),rotation:i}),VM.updateTransform(),a/=VM.getLineScale(),a*=e[n.valueDim.index]);o.valueLineWidth=a}(i,c.symbolScale,l,n,c);var d=c.symbolSize,f=i.get(\"symbolOffset\");return L(f)&&(f=[El(f[0],d[0]),El(f[1],d[1])]),function(t,e,i,n,o,a,r,s,l,u,h,c){var d=h.categoryDim,f=h.valueDim,p=c.pxSign,g=Math.max(e[f.index]+s,0),m=g;if(n){var v=Math.abs(l),y=W(t.get(\"symbolMargin\"),\"15%\")+\"\",x=!1;y.lastIndexOf(\"!\")===y.length-1&&(x=!0,y=y.slice(0,y.length-1)),y=El(y,e[f.index]);var _=Math.max(g+2*y,0),w=x?0:2*y,b=Jl(n),S=b?n:nI((v+w)/_);_=g+2*(y=(v-S*g)/2/(x?S:S-1)),w=x?0:2*y,b||\"fixed\"===n||(S=u?nI((Math.abs(u)+w)/_):0),m=S*_-w,c.repeatTimes=S,c.symbolMargin=y}var M=p*(m/2),I=c.pathPosition=[];I[d.index]=i[d.wh]/2,I[f.index]=\"start\"===r?M:\"end\"===r?l-M:l/2,a&&(I[0]+=a[0],I[1]+=a[1]);var T=c.bundlePosition=[];T[d.index]=i[d.xy],T[f.index]=i[f.xy];var A=c.barRectShape=P({},i);A[f.wh]=p*Math.max(Math.abs(i[f.wh]),Math.abs(I[f.index]+M)),A[d.wh]=i[d.wh];var D=c.clipShape={};D[d.xy]=-i[d.xy],D[d.wh]=h.ecSize[d.wh],D[f.xy]=0,D[f.wh]=i[f.wh]}(i,d,o,a,0,f,s,c.valueLineWidth,c.boundingLength,c.repeatCutLength,n,c),c}function FM(t,e){return t.toGlobalCoord(t.dataToCoord(t.scale.parse(e)))}function WM(t){var e=t.symbolPatternSize,i=wg(t.symbolType,-e/2,-e/2,e,e,t.color);return i.attr({culling:!0}),\"image\"!==i.type&&i.setStyle({strokeNoScale:!0}),i}function HM(t,e,o,i){var n=t.__pictorialBundle,a=o.symbolSize,r=o.valueLineWidth,s=o.pathPosition,l=e.valueDim,u=o.repeatTimes||0,h=0,c=a[e.valueDim.index]+r+2*o.symbolMargin;for(tI(t,function(t){t.__pictorialAnimationIndex=h,t.__pictorialRepeatTimes=u,h<u?eI(t,null,p(h),o,i):eI(t,null,{scale:[0,0]},o,i,function(){n.remove(t)}),KM(t,o),h++});h<u;h++){var d=WM(o);d.__pictorialAnimationIndex=h,d.__pictorialRepeatTimes=u,n.add(d);var f=p(h);eI(d,{position:f.position,scale:[0,0]},{scale:f.scale,rotation:f.rotation},o,i),d.on(\"mouseover\",g).on(\"mouseout\",m),KM(d,o)}function p(t){var e=s.slice(),i=o.pxSign,n=t;return(\"start\"===o.symbolRepeatDirection?0<i:i<0)&&(n=u-1-t),e[l.index]=c*(n-u/2+.5)+s[l.index],{position:e,scale:o.symbolScale.slice(),rotation:o.rotation}}function g(){tI(t,function(t){t.trigger(\"emphasis\")})}function m(){tI(t,function(t){t.trigger(\"normal\")})}}function ZM(t,e,i,n){var o=t.__pictorialBundle,a=t.__pictorialMainPath;a?eI(a,null,{position:i.pathPosition.slice(),scale:i.symbolScale.slice(),rotation:i.rotation},i,n):(a=t.__pictorialMainPath=WM(i),o.add(a),eI(a,{position:i.pathPosition.slice(),scale:[0,0],rotation:i.rotation},{scale:i.symbolScale.slice()},i,n),a.on(\"mouseover\",function(){this.trigger(\"emphasis\")}).on(\"mouseout\",function(){this.trigger(\"normal\")})),KM(a,i)}function UM(t,e,i){var n=P({},e.barRectShape),o=t.__pictorialBarRect;o?eI(o,null,{shape:n},e,i):(o=t.__pictorialBarRect=new rs({z2:2,shape:n,silent:!0,style:{stroke:\"transparent\",fill:\"transparent\",lineWidth:0}}),t.add(o))}function XM(t,e,i,n){if(i.symbolClip){var o=t.__pictorialClipPath,a=P({},i.clipShape),r=e.valueDim,s=i.animationModel,l=i.dataIndex;if(o)cl(o,{shape:a},s,l);else{a[r.wh]=0,o=new rs({shape:a}),t.__pictorialBundle.setClipPath(o),t.__pictorialClipPath=o;var u={};u[r.wh]=i.clipShape[r.wh],bl[n?\"updateProps\":\"initProps\"](o,{shape:u},s,l)}}}function YM(t,e){var i=t.getItemModel(e);return i.getAnimationDelayParams=jM,i.isAnimationEnabled=qM,i}function jM(t){return{index:t.__pictorialAnimationIndex,count:t.__pictorialRepeatTimes}}function qM(){return this.parentModel.isAnimationEnabled()&&!!this.getShallow(\"animation\")}function KM(t,e){t.off(\"emphasis\").off(\"normal\");var i=e.symbolScale.slice();e.hoverAnimation&&t.on(\"emphasis\",function(){this.animateTo({scale:[1.1*i[0],1.1*i[1]]},400,\"elasticOut\")}).on(\"normal\",function(){this.animateTo({scale:i.slice()},400,\"elasticOut\")})}function $M(t,e,i,n){var o=new Ci,a=new Ci;return o.add(a),(o.__pictorialBundle=a).attr(\"position\",i.bundlePosition.slice()),i.symbolRepeat?HM(o,e,i):ZM(o,0,i),UM(o,i,n),XM(o,e,i,n),o.__pictorialShapeStr=QM(t,i),o.__pictorialSymbolMeta=i,o}function JM(t,e,i,n){var o=n.__pictorialBarRect;o&&(o.style.text=null);var a=[];tI(n,function(t){a.push(t)}),n.__pictorialMainPath&&a.push(n.__pictorialMainPath),n.__pictorialClipPath&&(i=null),R(a,function(t){cl(t,{scale:[0,0]},i,e,function(){n.parent&&n.parent.remove(n)})}),t.setItemGraphicEl(e,null)}function QM(t,e){return[t.getItemVisual(e.dataIndex,\"symbol\")||\"none\",!!e.symbolRepeat,!!e.symbolClip].join(\":\")}function tI(e,i,n){R(e.__pictorialBundle.children(),function(t){t!==e.__pictorialBarRect&&i.call(n,t)})}function eI(t,e,i,n,o,a){e&&t.attr(e),n.symbolClip&&!o?i&&t.attr(i):i&&bl[o?\"updateProps\":\"initProps\"](t,i,n.animationModel,n.dataIndex,a)}function iI(t,e,i){var n=i.color,o=i.dataIndex,a=i.itemModel,r=a.getModel(\"itemStyle\").getItemStyle([\"color\"]),s=a.getModel(\"emphasis.itemStyle\").getItemStyle(),l=a.getShallow(\"cursor\");tI(t,function(t){t.setColor(n),t.setStyle(D({fill:n,opacity:i.opacity},r)),$s(t,s),l&&(t.cursor=l),t.z2=i.z2});var u={},h=(e.valueDim.posDesc[+(0<i.boundingLength)],t.__pictorialBarRect);Av(h.style,u,a,n,e.seriesModel,o),$s(h,u)}function nI(t){var e=Math.round(t);return Math.abs(t-e)<1e-4?e:Math.ceil(t)}bf(T(zp,\"pictorialBar\")),Sf(Lm(\"pictorialBar\",\"roundRect\"));function oI(t,e,i,n,o){Gg.call(this,t,e,i),this.type=n||\"value\",this.position=o||\"bottom\",this.orient=null}function aI(t,e,i){this.dimension=\"single\",this.dimensions=[\"single\"],this._axis=null,this._rect,this._init(t,e,i),this.model=t}function rI(t,e){e=e||{};var i=t.coordinateSystem,n=t.axis,o={},a=n.position,r=n.orient,s=i.getRect(),l=[s.x,s.x+s.width,s.y,s.y+s.height],u={horizontal:{top:l[2],bottom:l[3]},vertical:{left:l[0],right:l[1]}};o.position=[\"vertical\"===r?u.vertical[a]:l[0],\"horizontal\"===r?u.horizontal[a]:l[3]];o.rotation=Math.PI/2*{horizontal:0,vertical:1}[r];o.labelDirection=o.tickDirection=o.nameDirection={top:-1,bottom:1,right:1,left:-1}[a],t.get(\"axisTick.inside\")&&(o.tickDirection=-o.tickDirection),W(e.labelInside,t.get(\"axisLabel.inside\"))&&(o.labelDirection=-o.labelDirection);var h=e.rotate;return null==h&&(h=t.get(\"axisLabel.rotate\")),o.labelRotation=\"top\"===a?-h:h,o.z2=1,o}oI.prototype={constructor:oI,model:null,isHorizontal:function(){var t=this.position;return\"top\"===t||\"bottom\"===t},pointToData:function(t,e){return this.coordinateSystem.pointToData(t,e)[0]},toGlobalCoord:null,toLocalCoord:null},w(oI,Gg),lh.register(\"single\",{create:function(n,o){var a=[];return n.eachComponent(\"singleAxis\",function(t,e){var i=new aI(t,n,o);i.name=\"single_\"+e,i.resize(t,o),t.coordinateSystem=i,a.push(i)}),n.eachSeries(function(t){if(\"singleAxis\"===t.get(\"coordinateSystem\")){var e=n.queryComponents({mainType:\"singleAxis\",index:t.get(\"singleAxisIndex\"),id:t.get(\"singleAxisId\")})[0];t.coordinateSystem=e&&e.coordinateSystem}}),a},dimensions:(aI.prototype={type:\"singleAxis\",axisPointerEnabled:!0,constructor:aI,_init:function(t,e,i){var n=this.dimension,o=new oI(n,sg(t),[0,0],t.get(\"type\"),t.get(\"position\")),a=\"category\"===o.type;o.onBand=a&&t.get(\"boundaryGap\"),o.inverse=t.get(\"inverse\"),o.orient=t.get(\"orient\"),(t.axis=o).model=t,(o.coordinateSystem=this)._axis=o},update:function(t,e){t.eachSeries(function(t){if(t.coordinateSystem===this){var e=t.getData();R(e.mapDimension(this.dimension,!0),function(t){this._axis.scale.unionExtentFromData(e,t)},this),rg(this._axis.scale,this._axis.model)}},this)},resize:function(t,e){this._rect=bu({left:t.get(\"left\"),top:t.get(\"top\"),right:t.get(\"right\"),bottom:t.get(\"bottom\"),width:t.get(\"width\"),height:t.get(\"height\")},{width:e.getWidth(),height:e.getHeight()}),this._adjustAxis()},getRect:function(){return this._rect},_adjustAxis:function(){var t=this._rect,e=this._axis,i=e.isHorizontal(),n=i?[0,t.width]:[0,t.height],o=e.reverse?1:0;e.setExtent(n[o],n[1-o]),this._updateAxisTransform(e,i?t.x:t.y)},_updateAxisTransform:function(t,e){var i=t.getExtent(),n=i[0]+i[1],o=t.isHorizontal();t.toGlobalCoord=o?function(t){return t+e}:function(t){return n-t+e},t.toLocalCoord=o?function(t){return t-e}:function(t){return n-t+e}},getAxis:function(){return this._axis},getBaseAxis:function(){return this._axis},getAxes:function(){return[this._axis]},getTooltipAxes:function(){return{baseAxes:[this.getAxis()]}},containPoint:function(t){var e=this.getRect(),i=this.getAxis();return\"horizontal\"===i.orient?i.contain(i.toLocalCoord(t[0]))&&t[1]>=e.y&&t[1]<=e.y+e.height:i.contain(i.toLocalCoord(t[1]))&&t[0]>=e.y&&t[0]<=e.y+e.height},pointToData:function(t){var e=this.getAxis();return[e.coordToData(e.toLocalCoord(t[\"horizontal\"===e.orient?0:1]))]},dataToPoint:function(t){var e=this.getAxis(),i=this.getRect(),n=[],o=\"horizontal\"===e.orient?0:1;return t instanceof Array&&(t=t[0]),n[o]=e.toGlobalCoord(e.dataToCoord(+t)),n[1-o]=0==o?i.y+i.height/2:i.x+i.width/2,n}}).dimensions});var sI=[\"axisLine\",\"axisTickLabel\",\"axisName\"],lI=[\"splitArea\",\"splitLine\"],uI=mv.extend({type:\"singleAxis\",axisPointerClass:\"SingleAxisPointer\",render:function(e,t,i,n){var o=this.group;o.removeAll();var a=this._axisGroup;this._axisGroup=new Ci;var r=rI(e),s=new Qm(e,r);R(sI,s.add,s),o.add(this._axisGroup),o.add(s.getGroup()),R(lI,function(t){e.get(t+\".show\")&&this[\"_\"+t](e)},this),ml(a,this._axisGroup,e),uI.superCall(this,\"render\",e,t,i,n)},remove:function(){bv(this)},_splitLine:function(t){var e=t.axis;if(!e.scale.isBlank()){var i=t.getModel(\"splitLine\"),n=i.getModel(\"lineStyle\"),o=n.get(\"width\"),a=n.get(\"color\");a=a instanceof Array?a:[a];for(var r=t.coordinateSystem.getRect(),s=e.isHorizontal(),l=[],u=0,h=e.getTicksCoords({tickModel:i}),c=[],d=[],f=0;f<h.length;++f){var p=e.toGlobalCoord(h[f].coord);s?(c[0]=p,c[1]=r.y,d[0]=p,d[1]=r.y+r.height):(c[0]=r.x,c[1]=p,d[0]=r.x+r.width,d[1]=p);var g=u++%a.length;l[g]=l[g]||[],l[g].push(new ls({subPixelOptimize:!0,shape:{x1:c[0],y1:c[1],x2:d[0],y2:d[1]},style:{lineWidth:o},silent:!0}))}for(f=0;f<l.length;++f)this.group.add(Rs(l[f],{style:{stroke:a[f%a.length],lineDash:n.getLineDash(o),lineWidth:o},silent:!0}))}},_splitArea:function(t){wv(this,this._axisGroup,t,t)}}),hI=ku.extend({type:\"singleAxis\",layoutMode:\"box\",axis:null,coordinateSystem:null,getCoordSysModel:function(){return this}});m(hI.prototype,dg),Gm(\"single\",hI,function(t,e){return e.type||(e.data?\"category\":\"value\")},{left:\"5%\",top:\"5%\",right:\"5%\",bottom:\"5%\",type:\"value\",position:\"bottom\",orient:\"horizontal\",axisLine:{show:!0,lineStyle:{width:1,type:\"solid\"}},tooltip:{show:!0},axisTick:{show:!0,length:6,lineStyle:{width:1}},axisLabel:{show:!0,interval:\"auto\"},splitLine:{show:!0,lineStyle:{type:\"dashed\",opacity:.2}}});function cI(t,e){var i,n=[],o=t.seriesIndex;if(null==o||!(i=e.getSeriesByIndex(o)))return{point:[]};var a=i.getData(),r=Yo(a,t);if(null==r||r<0||L(r))return{point:[]};var s=a.getItemGraphicEl(r),l=i.coordinateSystem;if(i.getTooltipPosition)n=i.getTooltipPosition(r)||[];else if(l&&l.dataToPoint)n=l.dataToPoint(a.getValues(O(l.dimensions,function(t){return a.mapDimension(t)}),r,!0))||[];else if(s){var u=s.getBoundingRect().clone();u.applyTransform(s.transform),n=[u.x+u.width/2,u.y+u.height/2]}return{point:n,el:s}}var dI=R,fI=T,pI=jo();function gI(t,e,i,n,o){var a=t.axis;if(!a.scale.isBlank()&&a.containData(e))if(t.involveSeries){var r=function(l,t){var u=t.axis,h=u.dim,c=l,d=[],f=Number.MAX_VALUE,p=-1;return dI(t.seriesModels,function(e,t){var i,n,o=e.getData().mapDimension(h,!0);if(e.getAxisTooltipData){var a=e.getAxisTooltipData(o,l,u);n=a.dataIndices,i=a.nestestValue}else{if(!(n=e.getData().indicesOfNearest(o[0],l,\"category\"===u.type?.5:null)).length)return;i=e.getData().get(o[0],n[0])}if(null!=i&&isFinite(i)){var r=l-i,s=Math.abs(r);s<=f&&((s<f||0<=r&&p<0)&&(f=s,p=r,c=i,d.length=0),dI(n,function(t){d.push({seriesIndex:e.seriesIndex,dataIndexInside:t,dataIndex:e.getData().getRawIndex(t)})}))}}),{payloadBatch:d,snapToValue:c}}(e,t),s=r.payloadBatch,l=r.snapToValue;s[0]&&null==o.seriesIndex&&P(o,s[0]),!n&&t.snap&&a.containData(l)&&null!=l&&(e=l),i.showPointer(t,e,s,o),i.showTooltip(t,r,l)}else i.showPointer(t,e)}function mI(t,e,i,n){t[e.key]={value:i,payloadBatch:n}}function vI(t,e,i,n){var o=i.payloadBatch,a=e.axis,r=a.model,s=e.axisPointerModel;if(e.triggerTooltip&&o.length){var l=e.coordSys.model,u=gv(l),h=t.map[u];h||(h=t.map[u]={coordSysId:l.id,coordSysIndex:l.componentIndex,coordSysType:l.type,coordSysMainType:l.mainType,dataByAxis:[]},t.list.push(h)),h.dataByAxis.push({axisDim:a.dim,axisIndex:r.componentIndex,axisType:r.type,axisId:r.id,value:n,valueLabelOpt:{precision:s.get(\"label.precision\"),formatter:s.get(\"label.formatter\")},seriesDataIndices:o.slice()})}}function yI(t){var e=t.axis.model,i={},n=i.axisDim=t.axis.dim;return i.axisIndex=i[n+\"AxisIndex\"]=e.componentIndex,i.axisName=i[n+\"AxisName\"]=e.name,i.axisId=i[n+\"AxisId\"]=e.id,i}function xI(t){return!t||null==t[0]||isNaN(t[0])||null==t[1]||isNaN(t[1])}Tf({type:\"axisPointer\",coordSysAxesInfo:null,defaultOption:{show:\"auto\",triggerOn:null,zlevel:0,z:50,type:\"line\",snap:!1,triggerTooltip:!0,value:null,status:null,link:[],animation:null,animationDurationUpdate:200,lineStyle:{color:\"#aaa\",width:1,type:\"solid\"},shadowStyle:{color:\"rgba(150,150,150,0.3)\"},label:{show:!0,formatter:null,precision:\"auto\",margin:3,color:\"#fff\",padding:[5,7,5,7],backgroundColor:\"auto\",borderColor:null,borderWidth:0,shadowBlur:3,shadowColor:\"#aaa\"},handle:{show:!1,icon:\"M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4h1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7v-1.2h6.6z M13.3,22H6.7v-1.2h6.6z M13.3,19.6H6.7v-1.2h6.6z\",size:45,margin:50,color:\"#333\",shadowBlur:3,shadowColor:\"#aaa\",shadowOffsetX:0,shadowOffsetY:2,throttle:40}}});var _I=jo(),wI=R;function bI(t,e,i){if(!v.node){var n=e.getZr();_I(n).records||(_I(n).records={}),function(o,a){if(_I(o).initialized)return;function t(t,n){o.on(t,function(e){var i=function(i){var n={showTip:[],hideTip:[]},o=function(t){var e=n[t.type];e?e.push(t):(t.dispatchAction=o,i.dispatchAction(t))};return{dispatchAction:o,pendings:n}}(a);wI(_I(o).records,function(t){t&&n(t,e,i.dispatchAction)}),function(t,e){var i,n=t.showTip.length,o=t.hideTip.length;n?i=t.showTip[n-1]:o&&(i=t.hideTip[o-1]);i&&(i.dispatchAction=null,e.dispatchAction(i))}(i.pendings,a)})}_I(o).initialized=!0,t(\"click\",T(MI,\"click\")),t(\"mousemove\",T(MI,\"mousemove\")),t(\"globalout\",SI)}(n,e),(_I(n).records[t]||(_I(n).records[t]={})).handler=i}}function SI(t,e,i){t.handler(\"leave\",null,i)}function MI(t,e,i,n){e.handler(t,i,n)}function II(t,e){if(!v.node){var i=e.getZr();(_I(i).records||{})[t]&&(_I(i).records[t]=null)}}var TI=Af({type:\"axisPointer\",render:function(t,e,i){var n=e.getComponent(\"tooltip\"),o=t.get(\"triggerOn\")||n&&n.get(\"triggerOn\")||\"mousemove|click\";bI(\"axisPointer\",i,function(t,e,i){\"none\"!==o&&(\"leave\"===t||0<=o.indexOf(t))&&i({type:\"updateAxisPointer\",currTrigger:t,x:e&&e.offsetX,y:e&&e.offsetY})})},remove:function(t,e){II(e.getZr(),\"axisPointer\"),TI.superApply(this._model,\"remove\",arguments)},dispose:function(t,e){II(\"axisPointer\",e),TI.superApply(this._model,\"dispose\",arguments)}}),AI=jo(),DI=k,CI=A;function LI(){}function kI(t,e,i,n){!function i(n,t){{if(z(n)&&z(t)){var o=!0;return R(t,function(t,e){o=o&&i(n[e],t)}),!!o}return n===t}}(AI(i).lastProp,n)&&(AI(i).lastProp=n,e?cl(i,n,t):(i.stopAnimation(),i.attr(n)))}function PI(t,e){t[e.get(\"label.show\")?\"show\":\"hide\"]()}function NI(t){return{position:t.position.slice(),rotation:t.rotation||0}}function OI(t,e,i){var n=e.get(\"z\"),o=e.get(\"zlevel\");t&&t.traverse(function(t){\"group\"!==t.type&&(null!=n&&(t.z=n),null!=o&&(t.zlevel=o),t.silent=i)})}function RI(t){var e,i=t.get(\"type\"),n=t.getModel(i+\"Style\");return\"line\"===i?(e=n.getLineStyle()).fill=null:\"shadow\"===i&&((e=n.getAreaStyle()).stroke=null),e}function EI(t,e,i,n,o){var a=zI(i.get(\"value\"),e.axis,e.ecModel,i.get(\"seriesDataIndices\"),{precision:i.get(\"label.precision\"),formatter:i.get(\"label.formatter\")}),r=i.getModel(\"label\"),s=iu(r.get(\"padding\")||0),l=r.getFont(),u=gn(a,l),h=o.position,c=u.width+s[1]+s[3],d=u.height+s[0]+s[2],f=o.align;\"right\"===f&&(h[0]-=c),\"center\"===f&&(h[0]-=c/2);var p=o.verticalAlign;\"bottom\"===p&&(h[1]-=d),\"middle\"===p&&(h[1]-=d/2),function(t,e,i,n){var o=n.getWidth(),a=n.getHeight();t[0]=Math.min(t[0]+e,o)-e,t[1]=Math.min(t[1]+i,a)-i,t[0]=Math.max(t[0],0),t[1]=Math.max(t[1],0)}(h,c,d,n);var g=r.get(\"backgroundColor\");g&&\"auto\"!==g||(g=e.get(\"axisLine.lineStyle.color\")),t.label={shape:{x:0,y:0,width:c,height:d,r:r.get(\"borderRadius\")},position:h.slice(),style:{text:a,textFont:l,textFill:r.getTextColor(),textPosition:\"inside\",textPadding:s,fill:g,stroke:r.get(\"borderColor\")||\"transparent\",lineWidth:r.get(\"borderWidth\")||0,shadowBlur:r.get(\"shadowBlur\"),shadowColor:r.get(\"shadowColor\"),shadowOffsetX:r.get(\"shadowOffsetX\"),shadowOffsetY:r.get(\"shadowOffsetY\")},z2:10}}function zI(t,e,o,i,n){t=e.scale.parse(t);var a=e.scale.getLabel(t,{precision:n.precision}),r=n.formatter;if(r){var s={value:ug(e,t),axisDimension:e.dim,axisIndex:e.index,seriesData:[]};R(i,function(t){var e=o.getSeriesByIndex(t.seriesIndex),i=t.dataIndexInside,n=e&&e.getDataParams(i);n&&s.seriesData.push(n)}),E(r)?a=r.replace(\"{value}\",a):C(r)&&(a=r(s))}return a}function BI(t,e,i){var n=ae();return he(n,n,i.rotation),ue(n,n,i.position),pl([t.dataToCoord(e),(i.labelOffset||0)+(i.labelDirection||1)*(i.labelMargin||0)],n)}function VI(t,e,i,n,o,a){var r=Qm.innerTextLayout(i.rotation,0,i.labelDirection);i.labelMargin=o.get(\"label.margin\"),EI(e,n,o,a,{position:BI(n.axis,t,i),align:r.textAlign,verticalAlign:r.textVerticalAlign})}function GI(t,e,i){return{x1:t[i=i||0],y1:t[1-i],x2:e[i],y2:e[1-i]}}function FI(t,e,i){return{x:t[i=i||0],y:t[1-i],width:e[i],height:e[1-i]}}function WI(t,e,i,n,o,a){return{cx:t,cy:e,r0:i,r:n,startAngle:o,endAngle:a,clockwise:!0}}oa((LI.prototype={_group:null,_lastGraphicKey:null,_handle:null,_dragging:!1,_lastValue:null,_lastStatus:null,_payloadInfo:null,animationThreshold:15,render:function(t,e,i,n){var o=e.get(\"value\"),a=e.get(\"status\");if(this._axisModel=t,this._axisPointerModel=e,this._api=i,n||this._lastValue!==o||this._lastStatus!==a){this._lastValue=o,this._lastStatus=a;var r=this._group,s=this._handle;if(!a||\"hide\"===a)return r&&r.hide(),void(s&&s.hide());r&&r.show(),s&&s.show();var l={};this.makeElOption(l,o,t,e,i);var u=l.graphicKey;u!==this._lastGraphicKey&&this.clear(i),this._lastGraphicKey=u;var h=this._moveAnimation=this.determineAnimation(t,e);if(r){var c=T(kI,e,h);this.updatePointerEl(r,l,c,e),this.updateLabelEl(r,l,c,e)}else r=this._group=new Ci,this.createPointerEl(r,l,t,e),this.createLabelEl(r,l,t,e),i.getZr().add(r);OI(r,e,!0),this._renderHandle(o)}},remove:function(t){this.clear(t)},dispose:function(t){this.clear(t)},determineAnimation:function(t,e){var i=e.get(\"animation\"),n=t.axis,o=\"category\"===n.type,a=e.get(\"snap\");if(!a&&!o)return!1;if(\"auto\"!==i&&null!=i)return!0===i;var r=this.animationThreshold;if(o&&n.getBandWidth()>r)return!0;if(a){var s=fv(t).seriesDataCount,l=n.getExtent();return Math.abs(l[0]-l[1])/s>r}return!1},makeElOption:function(t,e,i,n,o){},createPointerEl:function(t,e,i,n){var o=e.pointer;if(o){var a=AI(t).pointerEl=new bl[o.type](DI(e.pointer));t.add(a)}},createLabelEl:function(t,e,i,n){if(e.label){var o=AI(t).labelEl=new rs(DI(e.label));t.add(o),PI(o,n)}},updatePointerEl:function(t,e,i){var n=AI(t).pointerEl;n&&e.pointer&&(n.setStyle(e.pointer.style),i(n,{shape:e.pointer.shape}))},updateLabelEl:function(t,e,i,n){var o=AI(t).labelEl;o&&(o.setStyle(e.label.style),i(o,{shape:e.label.shape,position:e.label.position}),PI(o,n))},_renderHandle:function(t){if(!this._dragging&&this.updateHandleTransform){var e,i=this._axisPointerModel,n=this._api.getZr(),o=this._handle,a=i.getModel(\"handle\"),r=i.get(\"status\");if(!a.get(\"show\")||!r||\"hide\"===r)return o&&n.remove(o),void(this._handle=null);this._handle||(e=!0,o=this._handle=yl(a.get(\"icon\"),{cursor:\"move\",draggable:!0,onmousemove:function(t){Xt(t.event)},onmousedown:CI(this._onHandleDragMove,this,0,0),drift:CI(this._onHandleDragMove,this),ondragend:CI(this._onHandleDragEnd,this)}),n.add(o)),OI(o,i,!1);o.setStyle(a.getItemStyle(null,[\"color\",\"borderColor\",\"borderWidth\",\"opacity\",\"shadowColor\",\"shadowBlur\",\"shadowOffsetX\",\"shadowOffsetY\"]));var s=a.get(\"size\");L(s)||(s=[s,s]),o.attr(\"scale\",[s[0]/2,s[1]/2]),kc(this,\"_doDispatchAxisPointer\",a.get(\"throttle\")||0,\"fixRate\"),this._moveHandleToValue(t,e)}},_moveHandleToValue:function(t,e){kI(this._axisPointerModel,!e&&this._moveAnimation,this._handle,NI(this.getHandleTransform(t,this._axisModel,this._axisPointerModel)))},_onHandleDragMove:function(t,e){var i=this._handle;if(i){this._dragging=!0;var n=this.updateHandleTransform(NI(i),[t,e],this._axisModel,this._axisPointerModel);this._payloadInfo=n,i.stopAnimation(),i.attr(NI(n)),AI(i).lastProp=null,this._doDispatchAxisPointer()}},_doDispatchAxisPointer:function(){if(this._handle){var t=this._payloadInfo,e=this._axisModel;this._api.dispatchAction({type:\"updateAxisPointer\",x:t.cursorPoint[0],y:t.cursorPoint[1],tooltipOption:t.tooltipOption,axesInfo:[{axisDim:e.axis.dim,axisIndex:e.componentIndex}]})}},_onHandleDragEnd:function(t){if(this._dragging=!1,this._handle){var e=this._axisPointerModel.get(\"value\");this._moveHandleToValue(e),this._api.dispatchAction({type:\"hideTip\"})}},getHandleTransform:null,updateHandleTransform:null,clear:function(t){this._lastValue=null,this._lastStatus=null;var e=t.getZr(),i=this._group,n=this._handle;e&&i&&(this._lastGraphicKey=null,i&&e.remove(i),n&&e.remove(n),this._group=null,this._handle=null,this._payloadInfo=null)},doClear:function(){},buildLabel:function(t,e,i){return{x:t[i=i||0],y:t[1-i],width:e[i],height:e[1-i]}}}).constructor=LI);var HI=LI.extend({makeElOption:function(t,e,i,n,o){var a=i.axis,r=a.grid,s=n.get(\"type\"),l=ZI(r,a).getOtherAxis(a).getGlobalExtent(),u=a.toGlobalCoord(a.dataToCoord(e,!0));if(s&&\"none\"!==s){var h=RI(n),c=UI[s](a,u,l);c.style=h,t.graphicKey=c.type,t.pointer=c}VI(e,t,_v(r.model,i),i,n,o)},getHandleTransform:function(t,e,i){var n=_v(e.axis.grid.model,e,{labelInside:!1});return n.labelMargin=i.get(\"handle.margin\"),{position:BI(e.axis,t,n),rotation:n.rotation+(n.labelDirection<0?Math.PI:0)}},updateHandleTransform:function(t,e,i,n){var o=i.axis,a=o.grid,r=o.getGlobalExtent(!0),s=ZI(a,o).getOtherAxis(o).getGlobalExtent(),l=\"x\"===o.dim?0:1,u=t.position;u[l]+=e[l],u[l]=Math.min(r[1],u[l]),u[l]=Math.max(r[0],u[l]);var h=(s[1]+s[0])/2,c=[h,h];c[l]=u[l];return{position:u,rotation:t.rotation,cursorPoint:c,tooltipOption:[{verticalAlign:\"middle\"},{align:\"center\"}][l]}}});function ZI(t,e){var i={};return i[e.dim+\"AxisIndex\"]=e.index,t.getCartesian(i)}var UI={line:function(t,e,i){return{type:\"Line\",subPixelOptimize:!0,shape:GI([e,i[0]],[e,i[1]],XI(t))}},shadow:function(t,e,i){var n=Math.max(1,t.getBandWidth()),o=i[1]-i[0];return{type:\"Rect\",shape:FI([e-n/2,i[0]],[n,o],XI(t))}}};function XI(t){return\"x\"===t.dim?0:1}mv.registerAxisPointerClass(\"CartesianAxisPointer\",HI),yf(function(t){if(t){t.axisPointer&&0!==t.axisPointer.length||(t.axisPointer={});var e=t.axisPointer.link;e&&!L(e)&&(t.axisPointer.link=[e])}}),xf(Ld.PROCESSOR.STATISTIC,function(t,e){t.getComponent(\"axisPointer\").coordSysAxesInfo=cv(t,e)}),_f({type:\"updateAxisPointer\",event:\"updateAxisPointer\",update:\":updateAxisPointer\"},function(t,e,i){var n=t.currTrigger,r=[t.x,t.y],o=t,a=t.dispatchAction||A(i.dispatchAction,i),s=e.getComponent(\"axisPointer\").coordSysAxesInfo;if(s){xI(r)&&(r=cI({seriesIndex:o.seriesIndex,dataIndex:o.dataIndex},e).point);var l=xI(r),u=o.axesInfo,h=s.axesInfo,c=\"leave\"===n||xI(r),d={},f={},p={list:[],map:{}},g={showPointer:fI(mI,f),showTooltip:fI(vI,p)};dI(s.coordSysMap,function(t,e){var a=l||t.containPoint(r);dI(s.coordSysAxesInfo[e],function(t,e){var i=t.axis,n=function(t,e){for(var i=0;i<(t||[]).length;i++){var n=t[i];if(e.axis.dim===n.axisDim&&e.axis.model.componentIndex===n.axisIndex)return n}}(u,t);if(!c&&a&&(!u||n)){var o=n&&n.value;null!=o||l||(o=i.pointToData(r)),null!=o&&gI(t,o,g,!1,d)}})});var m={};return dI(h,function(o,t){var a=o.linkGroup;a&&!f[t]&&dI(a.axesInfo,function(t,e){var i=f[e];if(t!==o&&i){var n=i.value;a.mapper&&(n=o.axis.scale.parse(a.mapper(n,yI(t),yI(o)))),m[o.key]=n}})}),dI(m,function(t,e){gI(h[e],t,g,!0,d)}),function(o,t,e){var a=e.axesInfo=[];dI(t,function(t,e){var i=t.axisPointerModel.option,n=o[e];n?(t.useHandle||(i.status=\"show\"),i.value=n.value,i.seriesDataIndices=(n.payloadBatch||[]).slice()):t.useHandle||(i.status=\"hide\"),\"show\"===i.status&&a.push({axisDim:t.axis.dim,axisIndex:t.axis.model.componentIndex,value:i.value})})}(f,h,d),function(t,e,i,n){if(xI(e)||!t.list.length)return n({type:\"hideTip\"});var o=((t.list[0].dataByAxis[0]||{}).seriesDataIndices||[])[0]||{};n({type:\"showTip\",escapeConnect:!0,x:e[0],y:e[1],tooltipOption:i.tooltipOption,position:i.position,dataIndexInside:o.dataIndexInside,dataIndex:o.dataIndex,seriesIndex:o.seriesIndex,dataByCoordSys:t.list})}(p,r,t,a),function(t,e,i){var n=i.getZr(),o=\"axisPointerLastHighlights\",a=pI(n)[o]||{},r=pI(n)[o]={};dI(t,function(t,e){var i=t.axisPointerModel.option;\"show\"===i.status&&dI(i.seriesDataIndices,function(t){var e=t.seriesIndex+\" | \"+t.dataIndex;r[e]=t})});var s=[],l=[];R(a,function(t,e){r[e]||l.push(t)}),R(r,function(t,e){a[e]||s.push(t)}),l.length&&i.dispatchAction({type:\"downplay\",escapeConnect:!0,batch:l}),s.length&&i.dispatchAction({type:\"highlight\",escapeConnect:!0,batch:s})}(h,0,i),d}});var YI=[\"x\",\"y\"],jI=[\"width\",\"height\"],qI=LI.extend({makeElOption:function(t,e,i,n,o){var a=i.axis,r=a.coordinateSystem,s=JI(r,1-$I(a)),l=r.dataToPoint(e)[0],u=n.get(\"type\");if(u&&\"none\"!==u){var h=RI(n),c=KI[u](a,l,s);c.style=h,t.graphicKey=c.type,t.pointer=c}VI(e,t,rI(i),i,n,o)},getHandleTransform:function(t,e,i){var n=rI(e,{labelInside:!1});return n.labelMargin=i.get(\"handle.margin\"),{position:BI(e.axis,t,n),rotation:n.rotation+(n.labelDirection<0?Math.PI:0)}},updateHandleTransform:function(t,e,i,n){var o=i.axis,a=o.coordinateSystem,r=$I(o),s=JI(a,r),l=t.position;l[r]+=e[r],l[r]=Math.min(s[1],l[r]),l[r]=Math.max(s[0],l[r]);var u=JI(a,1-r),h=(u[1]+u[0])/2,c=[h,h];return c[r]=l[r],{position:l,rotation:t.rotation,cursorPoint:c,tooltipOption:{verticalAlign:\"middle\"}}}}),KI={line:function(t,e,i){return{type:\"Line\",subPixelOptimize:!0,shape:GI([e,i[0]],[e,i[1]],$I(t))}},shadow:function(t,e,i){var n=t.getBandWidth(),o=i[1]-i[0];return{type:\"Rect\",shape:FI([e-n/2,i[0]],[n,o],$I(t))}}};function $I(t){return t.isHorizontal()?0:1}function JI(t,e){var i=t.getRect();return[i[YI[e]],i[YI[e]]+i[jI[e]]]}mv.registerAxisPointerClass(\"SingleAxisPointer\",qI),Af({type:\"single\"});var QI=sc.extend({type:\"series.themeRiver\",dependencies:[\"singleAxis\"],nameMap:null,init:function(t){QI.superApply(this,\"init\",arguments),this.legendVisualProvider=new qv(A(this.getData,this),A(this.getRawData,this))},fixData:function(t){var e=t.length,i={},n=ta(t,function(t){return i.hasOwnProperty(t[0])||(i[t[0]]=-1),t[2]}),o=[];n.buckets.each(function(t,e){o.push({name:e,dataList:t})});for(var a=o.length,r=0;r<a;++r){for(var s=o[r].name,l=0;l<o[r].dataList.length;++l){var u=o[r].dataList[l][0];i[u]=r}for(var u in i)i.hasOwnProperty(u)&&i[u]!==r&&(i[u]=r,t[e]=[],t[e][0]=u,t[e][1]=0,t[e][2]=s,e++)}return t},getInitialData:function(t,e){for(var i=e.queryComponents({mainType:\"singleAxis\",index:this.get(\"singleAxisIndex\"),id:this.get(\"singleAxisId\")})[0].get(\"type\"),n=M(t.data,function(t){return void 0!==t[2]}),o=this.fixData(n||[]),a=[],r=this.nameMap=Q(),s=0,l=0;l<o.length;++l)a.push(o[l][2]),r.get(o[l][2])||(r.set(o[l][2],s),s++);var u=lp(o,{coordDimensions:[\"single\"],dimensionsDefine:[{name:\"time\",type:Rf(i)},{name:\"value\",type:\"float\"},{name:\"name\",type:\"ordinal\"}],encodeDefine:{single:0,value:1,itemName:2}}),h=new Yf(u,this);return h.initData(o),h},getLayerSeries:function(){for(var i=this.getData(),t=i.count(),e=[],n=0;n<t;++n)e[n]=n;var o=i.mapDimension(\"single\"),a=ta(e,function(t){return i.get(\"name\",t)}),r=[];return a.buckets.each(function(t,e){t.sort(function(t,e){return i.get(o,t)-i.get(o,e)}),r.push({name:e,indices:t})}),r},getAxisTooltipData:function(t,e,i){L(t)||(t=t?[t]:[]);for(var n,o=this.getData(),a=this.getLayerSeries(),r=[],s=a.length,l=0;l<s;++l){for(var u=Number.MAX_VALUE,h=-1,c=a[l].indices.length,d=0;d<c;++d){var f=o.get(t[0],a[l].indices[d]),p=Math.abs(f-e);p<=u&&(n=f,u=p,h=a[l].indices[d])}r.push(h)}return{dataIndices:r,nestestValue:n}},formatTooltip:function(t){var e=this.getData(),i=e.getName(t),n=e.get(e.mapDimension(\"value\"),t);return!isNaN(n)&&null!=n||(n=\"-\"),au(i+\" : \"+n)},defaultOption:{zlevel:0,z:2,coordinateSystem:\"singleAxis\",boundaryGap:[\"10%\",\"10%\"],singleAxisIndex:0,animationEasing:\"linear\",label:{margin:4,show:!0,position:\"left\",color:\"#000\",fontSize:11},emphasis:{label:{show:!0}}}});Cf({type:\"themeRiver\",init:function(){this._layers=[]},render:function(b,t,e){var S=b.getData(),M=this.group,I=b.getLayerSeries(),i=S.getLayout(\"layoutInfo\"),n=i.rect,o=i.boundaryGap;function a(t){return t.name}M.attr(\"position\",[0,n.y+o[0]]);var r=new kf(this._layersSeries||[],I,a,a),T={};function s(t,e,i){var n=this._layers;if(\"remove\"!==t){for(var o,a,r,s=[],l=[],u=I[e].indices,h=0;h<u.length;h++){var c=S.getItemLayout(u[h]),d=c.x,f=c.y0,p=c.y;s.push([d,f]),l.push([d,f+p]),o=S.getItemVisual(u[h],\"color\")}var g=S.getItemLayout(u[0]),m=S.getItemModel(u[h-1]),v=m.getModel(\"label\"),y=v.get(\"margin\");if(\"add\"===t){var x=T[e]=new Ci;a=new _m({shape:{points:s,stackedOnPoints:l,smooth:.4,stackedOnSmooth:.4,smoothConstraint:!1},z2:0}),r=new Ur({style:{x:g.x-y,y:g.y0+g.y/2}}),x.add(a),x.add(r),M.add(x),a.setClipPath(function(t,e,i){var n=new rs({shape:{x:t.x-10,y:t.y-10,width:0,height:t.height+20}});return dl(n,{shape:{width:t.width+20,height:t.height+20}},e,i),n}(a.getBoundingRect(),b,function(){a.removeClipPath()}))}else{x=n[i];a=x.childAt(0),r=x.childAt(1),M.add(x),T[e]=x,cl(a,{shape:{points:s,stackedOnPoints:l}},b),cl(r,{style:{x:g.x-y,y:g.y0+g.y/2}},b)}var _=m.getModel(\"emphasis.itemStyle\"),w=m.getModel(\"itemStyle\");nl(r.style,v,{text:v.get(\"show\")?b.getFormattedLabel(u[h-1],\"normal\")||S.getName(u[h-1]):null,textVerticalAlign:\"middle\"}),a.setStyle(P({fill:o},w.getItemStyle([\"color\"]))),$s(a,_.getItemStyle())}else M.remove(n[e])}r.add(A(s,this,\"add\")).update(A(s,this,\"update\")).remove(A(s,this,\"remove\")).execute(),this._layersSeries=I,this._layers=T},dispose:function(){}});function tT(i,t,e){if(i.count())for(var n,o=t.coordinateSystem,a=t.getLayerSeries(),r=i.mapDimension(\"single\"),s=i.mapDimension(\"value\"),l=O(a,function(t){return O(t.indices,function(t){var e=o.dataToPoint(i.get(r,t));return e[1]=i.get(s,t),e})}),u=function(t){for(var e=t.length,i=t[0].length,n=[],o=[],a=0,r={},s=0;s<i;++s){for(var l=0,u=0;l<e;++l)u+=t[l][s][1];a<u&&(a=u),n.push(u)}for(var h=0;h<i;++h)o[h]=(a-n[h])/2;for(var c=a=0;c<i;++c){var d=n[c]+o[c];a<d&&(a=d)}return r.y0=o,r.max=a,r}(l),h=u.y0,c=e/u.max,d=a.length,f=a[0].indices.length,p=0;p<f;++p){n=h[p]*c,i.setItemLayout(a[0].indices[p],{layerIndex:0,x:l[0][p][0],y0:n,y:l[0][p][1]*c});for(var g=1;g<d;++g)n+=l[g-1][p][1]*c,i.setItemLayout(a[g].indices[p],{layerIndex:g,x:l[g][p][0],y0:n,y:l[g][p][1]*c})}}bf(function(t,e){t.eachSeriesByType(\"themeRiver\",function(t){var e=t.getData(),i=t.coordinateSystem,n={},o=i.getRect();n.rect=o;var a=t.get(\"boundaryGap\"),r=i.getAxis();(n.boundaryGap=a,\"horizontal\"===r.orient)?(a[0]=El(a[0],o.height),a[1]=El(a[1],o.height),tT(e,t,o.height-a[0]-a[1])):(a[0]=El(a[0],o.width),a[1]=El(a[1],o.width),tT(e,t,o.width-a[0]-a[1]));e.setLayout(\"layoutInfo\",n)})}),Sf(function(t){t.eachSeriesByType(\"themeRiver\",function(o){var a=o.getData(),r=o.getRawData(),s=o.get(\"color\"),l=Q();a.each(function(t){l.set(a.getRawIndex(t),t)}),r.each(function(t){var e=r.getName(t),i=s[(o.nameMap.get(e)-1)%s.length];r.setItemVisual(t,\"color\",i);var n=l.get(t);null!=n&&a.setItemVisual(n,\"color\",i)})})}),xf(uy(\"themeRiver\")),sc.extend({type:\"series.sunburst\",_viewRoot:null,getInitialData:function(t,e){var i={name:t.name,children:t.data};!function i(t){var n=0;R(t.children,function(t){i(t);var e=t.value;L(e)&&(e=e[0]),n+=e});var e=t.value;L(e)&&(e=e[0]);null!=e&&!isNaN(e)||(e=n);e<0&&(e=0);L(t.value)?t.value[0]=e:t.value=e}(i);var o=O(t.levels||[],function(t){return new Cl(t,this,e)},this),a=Ax.createTree(i,this,function(t){t.wrapMethod(\"getItemModel\",function(t,e){var i=a.getNodeByDataIndex(e),n=o[i.depth];return n&&(t.parentModel=n),t})});return a.data},optionUpdated:function(){this.resetViewRoot()},getDataParams:function(t){var e=sc.prototype.getDataParams.apply(this,arguments),i=this.getData().tree.getNodeByDataIndex(t);return e.treePathInfo=Yx(i,this),e},defaultOption:{zlevel:0,z:2,center:[\"50%\",\"50%\"],radius:[0,\"75%\"],clockwise:!0,startAngle:90,minAngle:0,percentPrecision:2,stillShowZeroSum:!0,highlightPolicy:\"descendant\",nodeClick:\"rootToNode\",renderLabelForZeroData:!1,label:{rotate:\"radial\",show:!0,opacity:1,align:\"center\",position:\"inside\",distance:5,silent:!0},itemStyle:{borderWidth:1,borderColor:\"white\",borderType:\"solid\",shadowBlur:0,shadowColor:\"rgba(0, 0, 0, 0.2)\",shadowOffsetX:0,shadowOffsetY:0,opacity:1},highlight:{itemStyle:{opacity:1}},downplay:{itemStyle:{opacity:.5},label:{opacity:.6}},animationType:\"expansion\",animationDuration:1e3,animationDurationUpdate:500,animationEasing:\"cubicOut\",data:[],levels:[],sort:\"desc\"},getViewRoot:function(){return this._viewRoot},resetViewRoot:function(t){t?this._viewRoot=t:t=this._viewRoot;var e=this.getRawData().tree.root;t&&(t===e||e.contains(t))||(this._viewRoot=e)}});var eT=\"none\",iT=\"ancestor\",nT=\"self\",oT=2,aT=4;function rT(t,e,i){Ci.call(this);var n=new qr({z2:oT});n.seriesIndex=e.seriesIndex;var o=new Ur({z2:aT,silent:t.getModel(\"label\").get(\"silent\")});function a(){o.ignore=o.hoverIgnore}function r(){o.ignore=o.normalIgnore}this.add(n),this.add(o),this.updateData(!0,t,\"normal\",e,i),this.on(\"emphasis\",a).on(\"normal\",r).on(\"mouseover\",a).on(\"mouseout\",r)}var sT=rT.prototype;sT.updateData=function(t,e,i,n,o){(this.node=e).piece=this,n=n||this._seriesModel,o=o||this._ecModel;var a=this.childAt(0);a.dataIndex=e.dataIndex;var r=e.getModel(),s=e.getLayout(),l=P({},s);l.label=null;var u=function(t,e,i){var n=t.getVisual(\"color\"),o=t.getVisual(\"visualMeta\");o&&0!==o.length||(n=null);var a=t.getModel(\"itemStyle\").get(\"color\");{if(a)return a;if(n)return n;if(0===t.depth)return i.option.color[0];var r=i.option.color.length;a=i.option.color[function(t){var e=t;for(;1<e.depth;)e=e.parentNode;return _(t.getAncestors()[0].children,e)}(t)%r]}return a}(e,0,o);!function(t,e,i){e.getData().setItemVisual(t.dataIndex,\"color\",i)}(e,n,u);var h,c=r.getModel(\"itemStyle\").getItemStyle();\"normal\"===i?h=c:h=m(r.getModel(i+\".itemStyle\").getItemStyle(),c);h=D({lineJoin:\"bevel\",fill:h.fill||u},h),t?(a.setShape(l),a.shape.r=s.r0,cl(a,{shape:{r:s.r}},n,e.dataIndex),a.useStyle(h)):\"object\"==typeof h.fill&&h.fill.type||\"object\"==typeof a.style.fill&&a.style.fill.type?(cl(a,{shape:l},n),a.useStyle(h)):cl(a,{shape:l,style:h},n),this._updateLabel(n,u,i);var d=r.getShallow(\"cursor\");if(d&&a.attr(\"cursor\",d),t){var f=n.getShallow(\"highlightPolicy\");this._initEvents(a,e,n,f)}this._seriesModel=n||this._seriesModel,this._ecModel=o||this._ecModel,$s(this)},sT.onEmphasis=function(e){var i=this;this.node.hostTree.root.eachNode(function(t){t.piece&&(i.node===t?t.piece.updateData(!1,t,\"emphasis\"):!function(t,e,i){return i!==eT&&(i===nT?t===e:i===iT?t===e||t.isAncestorOf(e):t===e||t.isDescendantOf(e))}(t,i.node,e)?e!==eT&&t.piece.childAt(0).trigger(\"downplay\"):t.piece.childAt(0).trigger(\"highlight\"))})},sT.onNormal=function(){this.node.hostTree.root.eachNode(function(t){t.piece&&t.piece.updateData(!1,t,\"normal\")})},sT.onHighlight=function(){this.updateData(!1,this.node,\"highlight\")},sT.onDownplay=function(){this.updateData(!1,this.node,\"downplay\")},sT._updateLabel=function(t,e,i){var n=this.node.getModel(),o=n.getModel(\"label\"),a=\"normal\"===i||\"emphasis\"===i?o:n.getModel(i+\".label\"),r=n.getModel(\"emphasis.label\"),s=a.get(\"formatter\")?i:\"normal\",l=W(t.getFormattedLabel(this.node.dataIndex,s,null,null,\"label\"),this.node.name);!1===M(\"show\")&&(l=\"\");var u=this.node.getLayout(),h=a.get(\"minAngle\");null==h&&(h=o.get(\"minAngle\")),h=h/180*Math.PI;var c=u.endAngle-u.startAngle;null!=h&&Math.abs(c)<h&&(l=\"\");var d=this.childAt(1);el(d.style,d.hoverStyle||{},o,r,{defaultText:a.getShallow(\"show\")?l:null,autoColor:e,useInsideStyle:!0});var f,p=(u.startAngle+u.endAngle)/2,g=Math.cos(p),m=Math.sin(p),v=M(\"position\"),y=M(\"distance\")||0,x=M(\"align\");\"outside\"===v?(f=u.r+y,x=p>Math.PI/2?\"right\":\"left\"):x&&\"center\"!==x?\"left\"===x?(f=u.r0+y,p>Math.PI/2&&(x=\"right\")):\"right\"===x&&(f=u.r-y,p>Math.PI/2&&(x=\"left\")):(f=(u.r+u.r0)/2,x=\"center\"),d.attr(\"style\",{text:l,textAlign:x,textVerticalAlign:M(\"verticalAlign\")||\"middle\",opacity:M(\"opacity\")});var _=f*g+u.cx,w=f*m+u.cy;d.attr(\"position\",[_,w]);var b=M(\"rotate\"),S=0;function M(t){var e=a.get(t);return null==e?o.get(t):e}\"radial\"===b?(S=-p)<-Math.PI/2&&(S+=Math.PI):\"tangential\"===b?(S=Math.PI/2-p)>Math.PI/2?S-=Math.PI:S<-Math.PI/2&&(S+=Math.PI):\"number\"==typeof b&&(S=b*Math.PI/180),d.attr(\"rotation\",S)},sT._initEvents=function(t,e,i,n){t.off(\"mouseover\").off(\"mouseout\").off(\"emphasis\").off(\"normal\");function o(){r.onEmphasis(n)}function a(){r.onNormal()}var r=this;i.isAnimationEnabled()&&t.on(\"mouseover\",o).on(\"mouseout\",a).on(\"emphasis\",o).on(\"normal\",a).on(\"downplay\",function(){r.onDownplay()}).on(\"highlight\",function(){r.onHighlight()})},w(rT,Ci);_c.extend({type:\"sunburst\",init:function(){},render:function(o,a,t,e){var n=this;this.seriesModel=o,this.api=t,this.ecModel=a;var r=o.getData(),s=r.tree.root,i=o.getViewRoot(),l=this.group,u=o.get(\"renderLabelForZeroData\"),h=[];i.eachNode(function(t){h.push(t)});var c=this._oldChildren||[];if(function(i,n){if(0===i.length&&0===n.length)return;function t(t){return t.getId()}function e(t,e){!function(t,e){u||!t||t.getValue()||(t=null);if(t!==s&&e!==s)if(e&&e.piece)t?(e.piece.updateData(!1,t,\"normal\",o,a),r.setItemGraphicEl(t.dataIndex,e.piece)):function(t){if(!t)return;t.piece&&(l.remove(t.piece),t.piece=null)}(e);else if(t){var i=new rT(t,o,a);l.add(i),r.setItemGraphicEl(t.dataIndex,i)}}(null==t?null:i[t],null==e?null:n[e])}new kf(n,i,t,t).add(e).update(e).remove(T(e,null)).execute()}(h,c),function(t,e){if(0<e.depth){n.virtualPiece?n.virtualPiece.updateData(!1,t,\"normal\",o,a):(n.virtualPiece=new rT(t,o,a),l.add(n.virtualPiece)),e.piece._onclickEvent&&e.piece.off(\"click\",e.piece._onclickEvent);var i=function(t){n._rootToNode(e.parentNode)};e.piece._onclickEvent=i,n.virtualPiece.on(\"click\",i)}else n.virtualPiece&&(l.remove(n.virtualPiece),n.virtualPiece=null)}(s,i),e&&e.highlight&&e.highlight.piece){var d=o.getShallow(\"highlightPolicy\");e.highlight.piece.onEmphasis(d)}else if(e&&e.unhighlight){var f=this.virtualPiece;!f&&s.children.length&&(f=s.children[0].piece),f&&f.onNormal()}this._initEvents(),this._oldChildren=h},dispose:function(){},_initEvents:function(){function t(o){var a=!1;r.seriesModel.getViewRoot().eachNode(function(t){if(!a&&t.piece&&t.piece.childAt(0)===o.target){var e=t.getModel().get(\"nodeClick\");if(\"rootToNode\"===e)r._rootToNode(t);else if(\"link\"===e){var i=t.getModel(),n=i.get(\"link\");if(n)gu(n,i.get(\"target\",!0)||\"_blank\")}a=!0}})}var r=this;this.group._onclickEvent&&this.group.off(\"click\",this.group._onclickEvent),this.group.on(\"click\",t),this.group._onclickEvent=t},_rootToNode:function(t){t!==this.seriesModel.getViewRoot()&&this.api.dispatchAction({type:\"sunburstRootToNode\",from:this.uid,seriesId:this.seriesModel.id,targetNode:t})},containPoint:function(t,e){var i=e.getData().getItemLayout(0);if(i){var n=t[0]-i.cx,o=t[1]-i.cy,a=Math.sqrt(n*n+o*o);return a<=i.r&&a>=i.r0}}});var lT=\"sunburstRootToNode\";_f({type:lT,update:\"updateView\"},function(o,t){t.eachComponent({mainType:\"series\",subType:\"sunburst\",query:o},function(t,e){var i=Zx(o,[lT],t);if(i){var n=t.getViewRoot();n&&(o.direction=Xx(n,i.node)?\"rollUp\":\"drillDown\"),t.resetViewRoot(i.node)}})});var uT=\"sunburstHighlight\";_f({type:uT,update:\"updateView\"},function(n,t){t.eachComponent({mainType:\"series\",subType:\"sunburst\",query:n},function(t,e){var i=Zx(n,[uT],t);i&&(n.highlight=i.node)})});_f({type:\"sunburstUnhighlight\",update:\"updateView\"},function(i,t){t.eachComponent({mainType:\"series\",subType:\"sunburst\",query:i},function(t,e){i.unhighlight=!0})});var hT=Math.PI/180;function cT(t,e){if(\"function\"==typeof e)return t.sort(e);var n=\"asc\"===e;return t.sort(function(t,e){var i=(t.getValue()-e.getValue())*(n?1:-1);return 0==i?(t.dataIndex-e.dataIndex)*(n?-1:1):i})}function dT(a,r){return r=r||[0,0],O([\"x\",\"y\"],function(t,e){var i=this.getAxis(t),n=r[e],o=a[e]/2;return\"category\"===i.type?i.getBandWidth():Math.abs(i.dataToCoord(n-o)-i.dataToCoord(n+o))},this)}Sf(T(iy,\"sunburst\")),bf(T(function(t,e,C,i){e.eachSeriesByType(t,function(t){var e=t.get(\"center\"),i=t.get(\"radius\");L(i)||(i=[0,i]),L(e)||(e=[e,e]);var n=C.getWidth(),o=C.getHeight(),h=Math.min(n,o),c=El(e[0],n),d=El(e[1],o),f=El(i[0],h/2),a=El(i[1],h/2),r=-t.get(\"startAngle\")*hT,p=t.get(\"minAngle\")*hT,g=t.getData().tree.root,s=t.getViewRoot(),m=s.depth,l=t.get(\"sort\");null!=l&&!function e(t,i){var n=t.children||[];t.children=cT(n,i);n.length&&R(t.children,function(t){e(t,i)})}(s,l);var u=0;R(s.children,function(t){isNaN(t.getValue())||u++});var v=s.getValue(),y=Math.PI/(v||u)*2,x=0<s.depth,_=s.height-(x?-1:1),w=(a-f)/(_||1),b=t.get(\"clockwise\"),S=t.get(\"stillShowZeroSum\"),M=b?1:-1,I=function(t,e){if(t){var i=e;if(t!==g){var n=t.getValue(),o=0===v&&S?y:n*y;o<p&&(o=p),i=e+M*o;var a=t.depth-m-(x?-1:1),r=f+w*a,s=f+w*(1+a),l=t.getModel();null!=l.get(\"r0\")&&(r=El(l.get(\"r0\"),h/2)),null!=l.get(\"r\")&&(s=El(l.get(\"r\"),h/2)),t.setLayout({angle:o,startAngle:e,endAngle:i,clockwise:b,cx:c,cy:d,r0:r,r:s})}if(t.children&&t.children.length){var u=0;R(t.children,function(t){u+=I(t,e+u)})}return i-e}};if(x){var T=f,A=f+w,D=2*Math.PI;g.setLayout({angle:D,startAngle:r,endAngle:r+D,clockwise:b,cx:c,cy:d,r0:T,r:A})}I(s,r)})},\"sunburst\")),xf(T(uy,\"sunburst\"));function fT(a,r){return r=r||[0,0],O([0,1],function(t){var e=r[t],i=a[t]/2,n=[],o=[];return n[t]=e-i,o[t]=e+i,n[1-t]=o[1-t]=r[1-t],Math.abs(this.dataToPoint(n)[t]-this.dataToPoint(o)[t])},this)}function pT(t,e){var i=this.getAxis(),n=e instanceof Array?e[0]:e,o=(t instanceof Array?t[0]:t)/2;return\"category\"===i.type?i.getBandWidth():Math.abs(i.dataToCoord(n-o)-i.dataToCoord(n+o))}function gT(s,l){return O([\"Radius\",\"Angle\"],function(t,e){var i=this[\"get\"+t+\"Axis\"](),n=l[e],o=s[e]/2,a=\"dataTo\"+t,r=\"category\"===i.type?i.getBandWidth():Math.abs(i[a](n-o)-i[a](n+o));return\"Angle\"===t&&(r=r*Math.PI/180),r},this)}var mT=Ss,vT=[\"itemStyle\"],yT=[\"emphasis\",\"itemStyle\"],xT=[\"label\"],_T=[\"emphasis\",\"label\"],wT=\"e\\0\\0\",bT={cartesian2d:function(e){var t=e.grid.getRect();return{coordSys:{type:\"cartesian2d\",x:t.x,y:t.y,width:t.width,height:t.height},api:{coord:function(t){return e.dataToPoint(t)},size:A(dT,e)}}},geo:function(e){var t=e.getBoundingRect();return{coordSys:{type:\"geo\",x:t.x,y:t.y,width:t.width,height:t.height,zoom:e.getZoom()},api:{coord:function(t){return e.dataToPoint(t)},size:A(fT,e)}}},singleAxis:function(e){var t=e.getRect();return{coordSys:{type:\"singleAxis\",x:t.x,y:t.y,width:t.width,height:t.height},api:{coord:function(t){return e.dataToPoint(t)},size:A(pT,e)}}},polar:function(o){var a=o.getRadiusAxis(),r=o.getAngleAxis(),t=a.getExtent();return t[0]>t[1]&&t.reverse(),{coordSys:{type:\"polar\",cx:o.cx,cy:o.cy,r:t[1],r0:t[0]},api:{coord:A(function(t){var e=a.dataToRadius(t[0]),i=r.dataToAngle(t[1]),n=o.coordToPoint([e,i]);return n.push(e,i*Math.PI/180),n}),size:A(gT,o)}}},calendar:function(i){var t=i.getRect(),e=i.getRangeInfo();return{coordSys:{type:\"calendar\",x:t.x,y:t.y,width:t.width,height:t.height,cellWidth:i.getCellWidth(),cellHeight:i.getCellHeight(),rangeInfo:{start:e.start,end:e.end,weeks:e.weeks,dayCount:e.allDay}},api:{coord:function(t,e){return i.dataToPoint(t,e)}}}}};function ST(t,e,i,n,o){null==i[t]||o||(e[t]=i[t],i[t]=n[t])}function MT(a,r,e,t){var i=a.get(\"renderItem\"),n=a.coordinateSystem,o={};n&&(o=n.prepareCustoms?n.prepareCustoms():bT[n.type](n));var s,l,u,h,c,d=D({getWidth:t.getWidth,getHeight:t.getHeight,getZr:t.getZr,getDevicePixelRatio:t.getDevicePixelRatio,value:function(t,e){return null==e&&(e=s),r.get(r.getDimension(t||0),e)},style:function(t,e){null==e&&(e=s),g(e);var i=l.getModel(vT).getItemStyle();null!=c&&(i.fill=c);var n=r.getItemVisual(e,\"opacity\");null!=n&&(i.opacity=n);var o=t?CT(t,u):u;return nl(i,o,null,{autoColor:c,isRectText:!0}),i.text=o.getShallow(\"show\")?H(a.getFormattedLabel(e,\"normal\"),Ug(r,e)):null,t&&LT(i,t),i},styleEmphasis:function(t,e){null==e&&(e=s),g(e);var i=l.getModel(yT).getItemStyle(),n=t?CT(t,h):h;return nl(i,n,null,{isRectText:!0},!0),i.text=n.getShallow(\"show\")?Z(a.getFormattedLabel(e,\"emphasis\"),a.getFormattedLabel(e,\"normal\"),Ug(r,e)):null,t&&LT(i,t),i},visual:function(t,e){return null==e&&(e=s),r.getItemVisual(e,t)},barLayout:function(t){if(n.getBaseAxis){return function(t){var e=[],i=t.axis;if(\"category\"===i.type){for(var n=i.getBandWidth(),o=0;o<t.count;o++)e.push(D({bandWidth:n,axisKey:\"axis0\",stackId:Cp+o},t));var a=Rp(e),r=[];for(o=0;o<t.count;o++){var s=a.axis0[Cp+o];s.offsetCenter=s.offset+s.width/2,r.push(s)}return r}}(D({axis:n.getBaseAxis()},t))}},currentSeriesIndices:function(){return e.getCurrentSeriesIndices()},font:function(t){return ul(t,e)}},o.api||{}),f={context:{},seriesId:a.id,seriesName:a.name,seriesIndex:a.seriesIndex,coordSys:o.coordSys,dataInsideLength:r.count(),encode:function(o){var a={};return R(o.dimensions,function(t,e){var i=o.getDimensionInfo(t);if(!i.isExtraCoord){var n=i.coordDim;(a[n]=a[n]||[])[i.coordDimIndex]=e}}),a}(a.getData())},p=!0;return function(t,e){return s=t,p=!0,i&&i(D({dataIndexInside:t,dataIndex:r.getRawIndex(t),actionType:e?e.type:null},f),d)};function g(t){null==t&&(t=s),p&&(l=r.getItemModel(t),u=l.getModel(xT),h=l.getModel(_T),c=r.getItemVisual(t,\"color\"),p=!1)}}function IT(t,e,i,n,o,a){return(t=TT(t,e,i,n,o,a,!0))&&a.setItemGraphicEl(e,t),t}function TT(t,e,i,n,o,a,r){var s=!i,l=(i=i||{}).type,u=i.shape,h=i.style;if(t&&(s||null!=l&&l!==t.__customGraphicType||\"path\"===l&&function(t){return t&&(t.hasOwnProperty(\"pathData\")||t.hasOwnProperty(\"d\"))}(u)&&PT(u)!==t.__customPathData||\"image\"===l&&NT(h,\"image\")&&h.image!==t.__customImagePath||\"text\"===l&&NT(u,\"text\")&&h.text!==t.__customText)&&(o.remove(t),t=null),!s){var c=!t;return function(e,t,i,n,o,a,r){var s={},l=i.style||{};if(i.shape&&(s.shape=k(i.shape)),i.position&&(s.position=i.position.slice()),i.scale&&(s.scale=i.scale.slice()),i.origin&&(s.origin=i.origin.slice()),i.rotation&&(s.rotation=i.rotation),\"image\"===e.type&&i.style){var u=s.style={};R([\"x\",\"y\",\"width\",\"height\"],function(t){ST(t,u,l,e.style,a)})}if(\"text\"===e.type&&i.style){u=s.style={};R([\"x\",\"y\"],function(t){ST(t,u,l,e.style,a)}),!l.hasOwnProperty(\"textFill\")&&l.fill&&(l.textFill=l.fill),!l.hasOwnProperty(\"textStroke\")&&l.stroke&&(l.textStroke=l.stroke)}if(\"group\"!==e.type&&(e.useStyle(l),a)){e.style.opacity=0;var h=l.opacity;null==h&&(h=1),dl(e,{style:{opacity:h}},n,t)}a?e.attr(s):cl(e,s,n,t),i.hasOwnProperty(\"z2\")&&e.attr(\"z2\",i.z2||0),i.hasOwnProperty(\"silent\")&&e.attr(\"silent\",i.silent),i.hasOwnProperty(\"invisible\")&&e.attr(\"invisible\",i.invisible),i.hasOwnProperty(\"ignore\")&&e.attr(\"ignore\",i.ignore),i.hasOwnProperty(\"info\")&&e.attr(\"info\",i.info);var c=i.styleEmphasis;Us(e,c),r&&Js(e,!1!==c)}(t=t||function(t){var e,i=t.type;if(\"path\"===i){var n=t.shape,o=null!=n.width&&null!=n.height?{x:n.x||0,y:n.y||0,width:n.width,height:n.height}:null,a=PT(n);(e=Ps(a,null,o,n.layout||\"center\")).__customPathData=a}else if(\"image\"===i)(e=new Qn({})).__customImagePath=t.style.image;else if(\"text\"===i)(e=new Ur({})).__customText=t.style.text;else if(\"group\"===i)e=new Ci;else{if(\"compoundPath\"===i)throw new Error('\"compoundPath\" is not supported yet.');e=new(ks(i))}return e.__customGraphicType=i,e.name=t.name,e}(i),e,i,n,0,c,r),\"group\"===l&&function(t,e,i,n,o){var a=i.children,r=a?a.length:0,s=i.$mergeChildren,l=\"byName\"===s||i.diffChildrenByName,u=!1===s;if(!r&&!l&&!u)return;if(l)return function(t){new kf(t.oldChildren,t.newChildren,AT,AT,t).add(DT).update(DT).remove(kT).execute()}({oldChildren:t.children()||[],newChildren:a||[],dataIndex:e,animatableModel:n,group:t,data:o});u&&t.removeAll();for(var h=0;h<r;h++)a[h]&&TT(t.childAt(h),e,a[h],n,t,o)}(t,e,i,n,a),o.add(t),t}}function AT(t,e){var i=t&&t.name;return null!=i?i:wT+e}function DT(t,e){var i=this.context,n=null!=t?i.newChildren[t]:null;TT(null!=e?i.oldChildren[e]:null,i.dataIndex,n,i.animatableModel,i.group,i.data)}function CT(i,t){var n=new Cl({},t);return R(mT,function(t,e){i.hasOwnProperty(t)&&(n.option[e]=i[t])}),n}function LT(t,e){for(var i in e)!e.hasOwnProperty(i)&&mT.hasOwnProperty(i)||(t[i]=e[i])}function kT(t){var e=this.context,i=e.oldChildren[t];i&&e.group.remove(i)}function PT(t){return t&&(t.pathData||t.d)}function NT(t,e){return t&&t.hasOwnProperty(e)}function OT(t){return t.get(\"stack\")||\"__ec_stack_\"+t.seriesIndex}function RT(t,e){return e.dim+t.model.componentIndex}function ET(t,e){Gg.call(this,\"radius\",t,e),this.type=\"category\"}sc.extend({type:\"series.custom\",dependencies:[\"grid\",\"polar\",\"geo\",\"singleAxis\",\"calendar\"],defaultOption:{coordinateSystem:\"cartesian2d\",zlevel:0,z:2,legendHoverLink:!0,useTransform:!0,clip:!1},getInitialData:function(t,e){return gp(this.getSource(),this)},getDataParams:function(t,e,i){var n=sc.prototype.getDataParams.apply(this,arguments);return i&&(n.info=i.info),n}}),_c.extend({type:\"custom\",_data:null,render:function(i,t,e,n){var o=this._data,a=i.getData(),r=this.group,s=MT(i,a,t,e);a.diff(o).add(function(t){IT(null,t,s(t,n),i,r,a)}).update(function(t,e){IT(o.getItemGraphicEl(e),t,s(t,n),i,r,a)}).remove(function(t){var e=o.getItemGraphicEl(t);e&&r.remove(e)}).execute();var l=i.get(\"clip\",!0)?Sm(i.coordinateSystem,!1,i):null;l?r.setClipPath(l):r.removeClipPath(),this._data=a},incrementalPrepareRender:function(t,e,i){this.group.removeAll(),this._data=null},incrementalRender:function(t,e,i,n,o){var a=e.getData(),r=MT(e,a,i,n);function s(t){t.isGroup||(t.incremental=!0,t.useHoverLayer=!0)}for(var l=t.start;l<t.end;l++){IT(null,l,r(l,o),e,this.group,a).traverse(s)}},dispose:et,filterForExposedEvent:function(t,e,i,n){var o=e.element;if(null==o||i.name===o)return!0;for(;(i=i.parent)&&i!==this.group;)if(i.name===o)return!0;return!1}}),ET.prototype={constructor:ET,pointToData:function(t,e){return this.polar.pointToData(t,e)[\"radius\"===this.dim?0:1]},dataToRadius:Gg.prototype.dataToCoord,radiusToData:Gg.prototype.coordToData},w(ET,Gg);var zT=jo();function BT(t,e){e=e||[0,360],Gg.call(this,\"angle\",t,e),this.type=\"category\"}BT.prototype={constructor:BT,pointToData:function(t,e){return this.polar.pointToData(t,e)[\"radius\"===this.dim?0:1]},dataToAngle:Gg.prototype.dataToCoord,angleToData:Gg.prototype.coordToData,calculateCategoryInterval:function(){var t=this.getLabelModel(),e=this.scale,i=e.getExtent(),n=e.count();if(i[1]-i[0]<1)return 0;var o=i[0],a=this.dataToCoord(o+1)-this.dataToCoord(o),r=Math.abs(a),s=gn(o,t.getFont(),\"center\",\"top\"),l=Math.max(s.height,7)/r;isNaN(l)&&(l=1/0);var u=Math.max(0,Math.floor(l)),h=zT(this.model),c=h.lastAutoInterval,d=h.lastTickCount;return null!=c&&null!=d&&Math.abs(c-u)<=1&&Math.abs(d-n)<=1&&u<c?u=c:(h.lastTickCount=n,h.lastAutoInterval=u),u}},w(BT,Gg);function VT(t){this.name=t||\"\",this.cx=0,this.cy=0,this._radiusAxis=new ET,this._angleAxis=new BT,this._radiusAxis.polar=this._angleAxis.polar=this}VT.prototype={type:\"polar\",axisPointerEnabled:!0,constructor:VT,dimensions:[\"radius\",\"angle\"],model:null,containPoint:function(t){var e=this.pointToCoord(t);return this._radiusAxis.contain(e[0])&&this._angleAxis.contain(e[1])},containData:function(t){return this._radiusAxis.containData(t[0])&&this._angleAxis.containData(t[1])},getAxis:function(t){return this[\"_\"+t+\"Axis\"]},getAxes:function(){return[this._radiusAxis,this._angleAxis]},getAxesByScale:function(t){var e=[],i=this._angleAxis,n=this._radiusAxis;return i.scale.type===t&&e.push(i),n.scale.type===t&&e.push(n),e},getAngleAxis:function(){return this._angleAxis},getRadiusAxis:function(){return this._radiusAxis},getOtherAxis:function(t){var e=this._angleAxis;return t===e?this._radiusAxis:e},getBaseAxis:function(){return this.getAxesByScale(\"ordinal\")[0]||this.getAxesByScale(\"time\")[0]||this.getAngleAxis()},getTooltipAxes:function(t){var e=null!=t&&\"auto\"!==t?this.getAxis(t):this.getBaseAxis();return{baseAxes:[e],otherAxes:[this.getOtherAxis(e)]}},dataToPoint:function(t,e){return this.coordToPoint([this._radiusAxis.dataToRadius(t[0],e),this._angleAxis.dataToAngle(t[1],e)])},pointToData:function(t,e){var i=this.pointToCoord(t);return[this._radiusAxis.radiusToData(i[0],e),this._angleAxis.angleToData(i[1],e)]},pointToCoord:function(t){var e=t[0]-this.cx,i=t[1]-this.cy,n=this.getAngleAxis(),o=n.getExtent(),a=Math.min(o[0],o[1]),r=Math.max(o[0],o[1]);n.inverse?a=r-360:r=a+360;var s=Math.sqrt(e*e+i*i);e/=s,i/=s;for(var l=Math.atan2(-i,e)/Math.PI*180,u=l<a?1:-1;l<a||r<l;)l+=360*u;return[s,l]},coordToPoint:function(t){var e=t[0],i=t[1]/180*Math.PI;return[Math.cos(i)*e+this.cx,-Math.sin(i)*e+this.cy]},getArea:function(){var t=this.getAngleAxis(),e=this.getRadiusAxis().getExtent().slice();e[0]>e[1]&&e.reverse();var i=t.getExtent(),n=Math.PI/180;return{cx:this.cx,cy:this.cy,r0:e[0],r:e[1],startAngle:-i[0]*n,endAngle:-i[1]*n,clockwise:t.inverse,contain:function(t,e){var i=t-this.cx,n=e-this.cy,o=i*i+n*n,a=this.r,r=this.r0;return o<=a*a&&r*r<=o}}}};var GT=ku.extend({type:\"polarAxis\",axis:null,getCoordSysModel:function(){return this.ecModel.queryComponents({mainType:\"polar\",index:this.option.polarIndex,id:this.option.polarId})[0]}});m(GT.prototype,dg);var FT={splitNumber:5};function WT(t,e){return e.type||(e.data?\"category\":\"value\")}function HT(t,e){var i=this,n=i.getAngleAxis(),o=i.getRadiusAxis();if(n.scale.setExtent(1/0,-1/0),o.scale.setExtent(1/0,-1/0),t.eachSeries(function(t){if(t.coordinateSystem===i){var e=t.getData();R(e.mapDimension(\"radius\",!0),function(t){o.scale.unionExtentFromData(e,pp(e,t))}),R(e.mapDimension(\"angle\",!0),function(t){n.scale.unionExtentFromData(e,pp(e,t))})}}),rg(n.scale,n.model),rg(o.scale,o.model),\"category\"===n.type&&!n.onBand){var a=n.getExtent(),r=360/n.scale.count();n.inverse?a[1]+=r:a[1]-=r,n.setExtent(a[0],a[1])}}function ZT(t,e){if(t.type=e.get(\"type\"),t.scale=sg(e),t.onBand=e.get(\"boundaryGap\")&&\"category\"===t.type,t.inverse=e.get(\"inverse\"),\"angleAxis\"===e.mainType){t.inverse^=e.get(\"clockwise\");var i=e.get(\"startAngle\");t.setExtent(i,i+(t.inverse?-360:360))}(e.axis=t).model=e}Gm(\"angle\",GT,WT,{startAngle:90,clockwise:!0,splitNumber:12,axisLabel:{rotate:!1}}),Gm(\"radius\",GT,WT,FT),Tf({type:\"polar\",dependencies:[\"polarAxis\",\"angleAxis\"],coordinateSystem:null,findAxisModel:function(t){var e;return this.ecModel.eachComponent(t,function(t){t.getCoordSysModel()===this&&(e=t)},this),e},defaultOption:{zlevel:0,z:0,center:[\"50%\",\"50%\"],radius:\"80%\"}}),lh.register(\"polar\",{dimensions:VT.prototype.dimensions,create:function(i,s){var l=[];return i.eachComponent(\"polar\",function(t,e){var i=new VT(e);i.update=HT;var n=i.getRadiusAxis(),o=i.getAngleAxis(),a=t.findAxisModel(\"radiusAxis\"),r=t.findAxisModel(\"angleAxis\");ZT(n,a),ZT(o,r),function(t,e,i){var n=e.get(\"center\"),o=i.getWidth(),a=i.getHeight();t.cx=El(n[0],o),t.cy=El(n[1],a);var r=t.getRadiusAxis(),s=Math.min(o,a)/2,l=e.get(\"radius\");null==l?l=[0,\"100%\"]:L(l)||(l=[0,l]),l=[El(l[0],s),El(l[1],s)],r.inverse?r.setExtent(l[1],l[0]):r.setExtent(l[0],l[1])}(i,t,s),l.push(i),(t.coordinateSystem=i).model=t}),i.eachSeries(function(t){if(\"polar\"===t.get(\"coordinateSystem\")){var e=i.queryComponents({mainType:\"polar\",index:t.get(\"polarIndex\"),id:t.get(\"polarId\")})[0];t.coordinateSystem=e.coordinateSystem}}),l}});var UT=[\"axisLine\",\"axisLabel\",\"axisTick\",\"minorTick\",\"splitLine\",\"minorSplitLine\",\"splitArea\"];function XT(t,e,i){e[1]>e[0]&&(e=e.slice().reverse());var n=t.coordToPoint([e[0],i]),o=t.coordToPoint([e[1],i]);return{x1:n[0],y1:n[1],x2:o[0],y2:o[1]}}function YT(t){return t.getRadiusAxis().inverse?0:1}function jT(t){var e=t[0],i=t[t.length-1];e&&i&&Math.abs(Math.abs(e.coord-i.coord)-360)<1e-4&&t.pop()}mv.extend({type:\"angleAxis\",axisPointerClass:\"PolarAxisPointer\",render:function(e,t){if(this.group.removeAll(),e.get(\"show\")){var i=e.axis,n=i.polar,o=n.getRadiusAxis().getExtent(),a=i.getTicksCoords(),r=i.getMinorTicksCoords(),s=O(i.getViewLabels(),function(t){return(t=k(t)).coord=i.dataToCoord(t.tickValue),t});jT(s),jT(a),R(UT,function(t){!e.get(t+\".show\")||i.scale.isBlank()&&\"axisLine\"!==t||this[\"_\"+t](e,n,a,r,o,s)},this)}},_axisLine:function(t,e,i,n,o){var a,r=t.getModel(\"axisLine.lineStyle\"),s=YT(e),l=s?0:1;(a=0===o[l]?new Yr({shape:{cx:e.cx,cy:e.cy,r:o[s]},style:r.getLineStyle(),z2:1,silent:!0}):new Kr({shape:{cx:e.cx,cy:e.cy,r:o[s],r0:o[l]},style:r.getLineStyle(),z2:1,silent:!0})).style.fill=null,this.group.add(a)},_axisTick:function(t,e,i,n,o){var a=t.getModel(\"axisTick\"),r=(a.get(\"inside\")?-1:1)*a.get(\"length\"),s=o[YT(e)],l=O(i,function(t){return new ls({shape:XT(e,[s,s+r],t.coord)})});this.group.add(Rs(l,{style:D(a.getModel(\"lineStyle\").getLineStyle(),{stroke:t.get(\"axisLine.lineStyle.color\")})}))},_minorTick:function(t,e,i,n,o){if(n.length){for(var a=t.getModel(\"axisTick\"),r=t.getModel(\"minorTick\"),s=(a.get(\"inside\")?-1:1)*r.get(\"length\"),l=o[YT(e)],u=[],h=0;h<n.length;h++)for(var c=0;c<n[h].length;c++)u.push(new ls({shape:XT(e,[l,l+s],n[h][c].coord)}));this.group.add(Rs(u,{style:D(r.getModel(\"lineStyle\").getLineStyle(),D(a.getLineStyle(),{stroke:t.get(\"axisLine.lineStyle.color\")}))}))}},_axisLabel:function(c,d,t,e,f,i){var p=c.getCategories(!0),g=c.getModel(\"axisLabel\"),m=g.get(\"margin\"),v=c.get(\"triggerEvent\");R(i,function(t,e){var i=g,n=t.tickValue,o=f[YT(d)],a=d.coordToPoint([o+m,t.coord]),r=d.cx,s=d.cy,l=Math.abs(a[0]-r)/o<.3?\"center\":a[0]>r?\"left\":\"right\",u=Math.abs(a[1]-s)/o<.3?\"middle\":a[1]>s?\"top\":\"bottom\";p&&p[n]&&p[n].textStyle&&(i=new Cl(p[n].textStyle,g,g.ecModel));var h=new Ur({silent:Qm.isLabelSilent(c)});this.group.add(h),nl(h.style,i,{x:a[0],y:a[1],textFill:i.getTextColor()||c.get(\"axisLine.lineStyle.color\"),text:t.formattedLabel,textAlign:l,textVerticalAlign:u}),v&&(h.eventData=Qm.makeAxisEventDataBase(c),h.eventData.targetType=\"axisLabel\",h.eventData.value=t.rawLabel)},this)},_splitLine:function(t,e,i,n,o){var a=t.getModel(\"splitLine\").getModel(\"lineStyle\"),r=a.get(\"color\"),s=0;r=r instanceof Array?r:[r];for(var l=[],u=0;u<i.length;u++){var h=s++%r.length;l[h]=l[h]||[],l[h].push(new ls({shape:XT(e,o,i[u].coord)}))}for(u=0;u<l.length;u++)this.group.add(Rs(l[u],{style:D({stroke:r[u%r.length]},a.getLineStyle()),silent:!0,z:t.get(\"z\")}))},_minorSplitLine:function(t,e,i,n,o){if(n.length){for(var a=t.getModel(\"minorSplitLine\").getModel(\"lineStyle\"),r=[],s=0;s<n.length;s++)for(var l=0;l<n[s].length;l++)r.push(new ls({shape:XT(e,o,n[s][l].coord)}));this.group.add(Rs(r,{style:a.getLineStyle(),silent:!0,z:t.get(\"z\")}))}},_splitArea:function(t,e,i,n,o){if(i.length){var a=t.getModel(\"splitArea\").getModel(\"areaStyle\"),r=a.get(\"color\"),s=0;r=r instanceof Array?r:[r];for(var l=[],u=Math.PI/180,h=-i[0].coord*u,c=Math.min(o[0],o[1]),d=Math.max(o[0],o[1]),f=t.get(\"clockwise\"),p=1;p<i.length;p++){var g=s++%r.length;l[g]=l[g]||[],l[g].push(new qr({shape:{cx:e.cx,cy:e.cy,r0:c,r:d,startAngle:h,endAngle:-i[p].coord*u,clockwise:f},silent:!0})),h=-i[p].coord*u}for(p=0;p<l.length;p++)this.group.add(Rs(l[p],{style:D({fill:r[p%r.length]},a.getAreaStyle()),silent:!0}))}}});var qT=[\"axisLine\",\"axisTickLabel\",\"axisName\"],KT=[\"splitLine\",\"splitArea\",\"minorSplitLine\"];mv.extend({type:\"radiusAxis\",axisPointerClass:\"PolarAxisPointer\",render:function(e,t){if(this.group.removeAll(),e.get(\"show\")){var i=e.axis,n=i.polar,o=n.getAngleAxis(),a=i.getTicksCoords(),r=i.getMinorTicksCoords(),s=o.getExtent()[0],l=i.getExtent(),u=function(t,e,i){return{position:[t.cx,t.cy],rotation:i/180*Math.PI,labelDirection:-1,tickDirection:-1,nameDirection:1,labelRotate:e.getModel(\"axisLabel\").get(\"rotate\"),z2:1}}(n,e,s),h=new Qm(e,u);R(qT,h.add,h),this.group.add(h.getGroup()),R(KT,function(t){e.get(t+\".show\")&&!i.scale.isBlank()&&this[\"_\"+t](e,n,s,l,a,r)},this)}},_splitLine:function(t,e,i,n,o){var a=t.getModel(\"splitLine\").getModel(\"lineStyle\"),r=a.get(\"color\"),s=0;r=r instanceof Array?r:[r];for(var l=[],u=0;u<o.length;u++){var h=s++%r.length;l[h]=l[h]||[],l[h].push(new Yr({shape:{cx:e.cx,cy:e.cy,r:o[u].coord}}))}for(u=0;u<l.length;u++)this.group.add(Rs(l[u],{style:D({stroke:r[u%r.length],fill:null},a.getLineStyle()),silent:!0}))},_minorSplitLine:function(t,e,i,n,o,a){if(a.length){for(var r=t.getModel(\"minorSplitLine\").getModel(\"lineStyle\"),s=[],l=0;l<a.length;l++)for(var u=0;u<a[l].length;u++)s.push(new Yr({shape:{cx:e.cx,cy:e.cy,r:a[l][u].coord}}));this.group.add(Rs(s,{style:D({fill:null},r.getLineStyle()),silent:!0}))}},_splitArea:function(t,e,i,n,o){if(o.length){var a=t.getModel(\"splitArea\").getModel(\"areaStyle\"),r=a.get(\"color\"),s=0;r=r instanceof Array?r:[r];for(var l=[],u=o[0].coord,h=1;h<o.length;h++){var c=s++%r.length;l[c]=l[c]||[],l[c].push(new qr({shape:{cx:e.cx,cy:e.cy,r0:u,r:o[h].coord,startAngle:0,endAngle:2*Math.PI},silent:!0})),u=o[h].coord}for(h=0;h<l.length;h++)this.group.add(Rs(l[h],{style:D({fill:r[h%r.length]},a.getAreaStyle()),silent:!0}))}}});var $T=LI.extend({makeElOption:function(t,e,i,n,o){var a=i.axis;\"angle\"===a.dim&&(this.animationThreshold=Math.PI/18);var r,s=a.polar,l=s.getOtherAxis(a).getExtent();r=a[\"dataTo\"+fu(a.dim)](e);var u=n.get(\"type\");if(u&&\"none\"!==u){var h=RI(n),c=JT[u](a,s,r,l,h);c.style=h,t.graphicKey=c.type,t.pointer=c}var d=n.get(\"label.margin\");EI(t,i,n,o,function(t,e,i,n,o){var a=e.axis,r=a.dataToCoord(t),s=n.getAngleAxis().getExtent()[0];s=s/180*Math.PI;var l,u,h,c=n.getRadiusAxis().getExtent();if(\"radius\"===a.dim){var d=ae();he(d,d,s),ue(d,d,[n.cx,n.cy]),l=pl([r,-o],d);var f=e.getModel(\"axisLabel\").get(\"rotate\")||0,p=Qm.innerTextLayout(s,f*Math.PI/180,-1);u=p.textAlign,h=p.textVerticalAlign}else{var g=c[1];l=n.coordToPoint([g+o,r]);var m=n.cx,v=n.cy;u=Math.abs(l[0]-m)/g<.3?\"center\":l[0]>m?\"left\":\"right\",h=Math.abs(l[1]-v)/g<.3?\"middle\":l[1]>v?\"top\":\"bottom\"}return{position:l,align:u,verticalAlign:h}}(e,i,0,s,d))}});var JT={line:function(t,e,i,n,o){return\"angle\"===t.dim?{type:\"Line\",shape:GI(e.coordToPoint([n[0],i]),e.coordToPoint([n[1],i]))}:{type:\"Circle\",shape:{cx:e.cx,cy:e.cy,r:i}}},shadow:function(t,e,i,n,o){var a=Math.max(1,t.getBandWidth()),r=Math.PI/180;return\"angle\"===t.dim?{type:\"Sector\",shape:WI(e.cx,e.cy,n[0],n[1],(-i-a/2)*r,(a/2-i)*r)}:{type:\"Sector\",shape:WI(e.cx,e.cy,i-a/2,i+a/2,0,2*Math.PI)}}};function QT(n,t){t.update=\"updateView\",_f(t,function(t,e){var i={};return e.eachComponent({mainType:\"geo\",query:t},function(e){e[n](t.name),R(e.coordinateSystem.regions,function(t){i[t.name]=e.isSelected(t.name)||!1})}),{selected:i,name:t.name}})}mv.registerAxisPointerClass(\"PolarAxisPointer\",$T),bf(T(function(t,e,i){var N={},O=function(t){var g={};R(t,function(t,e){var i=t.getData(),n=t.coordinateSystem,o=n.getBaseAxis(),a=RT(n,o),r=o.getExtent(),s=\"category\"===o.type?o.getBandWidth():Math.abs(r[1]-r[0])/i.count(),l=g[a]||{bandWidth:s,remainedWidth:s,autoWidthCount:0,categoryGap:\"20%\",gap:\"30%\",stacks:{}},u=l.stacks;g[a]=l;var h=OT(t);u[h]||l.autoWidthCount++,u[h]=u[h]||{width:0,maxWidth:0};var c=El(t.get(\"barWidth\"),s),d=El(t.get(\"barMaxWidth\"),s),f=t.get(\"barGap\"),p=t.get(\"barCategoryGap\");c&&!u[h].width&&(c=Math.min(l.remainedWidth,c),u[h].width=c,l.remainedWidth-=c),d&&(u[h].maxWidth=d),null!=f&&(l.gap=f),null!=p&&(l.categoryGap=p)});var d={};return R(g,function(t,i){d[i]={};var e=t.stacks,n=t.bandWidth,o=El(t.categoryGap,n),a=El(t.gap,1),r=t.remainedWidth,s=t.autoWidthCount,l=(r-o)/(s+(s-1)*a);l=Math.max(l,0),R(e,function(t,e){var i=t.maxWidth;i&&i<l&&(i=Math.min(i,r),t.width&&(i=Math.min(i,t.width)),r-=i,t.width=i,s--)}),l=(r-o)/(s+(s-1)*a),l=Math.max(l,0);var u,h=0;R(e,function(t,e){t.width||(t.width=l),h+=(u=t).width*(1+a)}),u&&(h-=u.width*a);var c=-h/2;R(e,function(t,e){d[i][e]=d[i][e]||{offset:c,width:t.width},c+=t.width*(1+a)})}),d}(M(e.getSeriesByType(t),function(t){return!e.isSeriesFiltered(t)&&t.coordinateSystem&&\"polar\"===t.coordinateSystem.type}));e.eachSeriesByType(t,function(t){if(\"polar\"===t.coordinateSystem.type){var e=t.getData(),i=t.coordinateSystem,n=i.getBaseAxis(),o=RT(i,n),a=OT(t),r=O[o][a],s=r.offset,l=r.width,u=i.getOtherAxis(n),h=t.coordinateSystem.cx,c=t.coordinateSystem.cy,d=t.get(\"barMinHeight\")||0,f=t.get(\"barMinAngle\")||0;N[a]=N[a]||[];for(var p=e.mapDimension(u.dim),g=e.mapDimension(n.dim),m=fp(e,p),v=\"radius\"!==n.dim||!t.get(\"roundCap\",!0),y=\"radius\"===u.dim?u.dataToRadius(0):u.dataToAngle(0),x=0,_=e.count();x<_;x++){var w,b,S,M,I=e.get(p,x),T=e.get(g,x),A=0<=I?\"p\":\"n\",D=y;if(m&&(N[a][T]||(N[a][T]={p:y,n:y}),D=N[a][T][A]),\"radius\"===u.dim){var C=u.dataToRadius(I)-y,L=n.dataToAngle(T);Math.abs(C)<d&&(C=(C<0?-1:1)*d),b=(w=D)+C,M=(S=L-s)-l,m&&(N[a][T][A]=b)}else{var k=u.dataToAngle(I,v)-y,P=n.dataToRadius(T);Math.abs(k)<f&&(k=(k<0?-1:1)*f),b=(w=P+s)+l,M=(S=D)+k,m&&(N[a][T][A]=M)}e.setItemLayout(x,{cx:h,cy:c,r0:w,r:b,startAngle:-S*Math.PI/180,endAngle:-M*Math.PI/180})}}},this)},\"bar\")),Af({type:\"polar\"}),b(ku.extend({type:\"geo\",coordinateSystem:null,layoutMode:\"box\",init:function(t){ku.prototype.init.apply(this,arguments),Go(t,\"label\",[\"show\"])},optionUpdated:function(){var t=this.option,i=this;t.regions=px.getFilledRegions(t.regions,t.map,t.nameMap),this._optionModelMap=S(t.regions||[],function(t,e){return e.name&&t.set(e.name,new Cl(e,i)),t},Q()),this.updateSelectedMap(t.regions)},defaultOption:{zlevel:0,z:0,show:!0,left:\"center\",top:\"center\",aspectScale:null,silent:!1,map:\"\",boundingCoords:null,center:null,zoom:1,scaleLimit:null,label:{show:!1,color:\"#000\"},itemStyle:{borderWidth:.5,borderColor:\"#444\",color:\"#eee\"},emphasis:{label:{show:!0,color:\"rgb(100,0,0)\"},itemStyle:{color:\"rgba(255,215,0,0.8)\"}},regions:[]},getRegionModel:function(t){return this._optionModelMap.get(t)||new Cl(null,this,this.ecModel)},getFormattedLabel:function(t,e){e=e||\"normal\";var i=this.getRegionModel(t).get((\"normal\"===e?\"\":e+\".\")+\"label.formatter\"),n={name:t};return\"function\"==typeof i?(n.status=e,i(n)):\"string\"==typeof i?i.replace(\"{a}\",null!=t?t:\"\"):void 0},setZoom:function(t){this.option.zoom=t},setCenter:function(t){this.option.center=t}}),jv),Af({type:\"geo\",init:function(t,e){var i=new tx(e,!0);this._mapDraw=i,this.group.add(i.group)},render:function(t,e,i,n){if(!n||\"geoToggleSelect\"!==n.type||n.from!==this.uid){var o=this._mapDraw;t.get(\"show\")?o.draw(t,e,i,this,n):this._mapDraw.group.removeAll(),this.group.silent=t.get(\"silent\")}},dispose:function(){this._mapDraw&&this._mapDraw.remove()}}),QT(\"toggleSelected\",{type:\"geoToggleSelect\",event:\"geoselectchanged\"}),QT(\"select\",{type:\"geoSelect\",event:\"geoselected\"}),QT(\"unSelect\",{type:\"geoUnSelect\",event:\"geounselected\"});function tA(t,e,i){this._model=t}function eA(t,e,i,n){var o=i.calendarModel,a=i.seriesModel,r=o?o.coordinateSystem:a?a.coordinateSystem:null;return r===this?r[t](n):null}tA.prototype={constructor:tA,type:\"calendar\",dimensions:[\"time\",\"value\"],getDimensionsInfo:function(){return[{name:\"time\",type:\"time\"},\"value\"]},getRangeInfo:function(){return this._rangeInfo},getModel:function(){return this._model},getRect:function(){return this._rect},getCellWidth:function(){return this._sw},getCellHeight:function(){return this._sh},getOrient:function(){return this._orient},getFirstDayOfWeek:function(){return this._firstDayOfWeek},getDateInfo:function(t){var e=(t=Yl(t)).getFullYear(),i=t.getMonth()+1;i=i<10?\"0\"+i:i;var n=t.getDate();n=n<10?\"0\"+n:n;var o=t.getDay();return{y:e,m:i,d:n,day:o=Math.abs((o+7-this.getFirstDayOfWeek())%7),time:t.getTime(),formatedDate:e+\"-\"+i+\"-\"+n,date:t}},getNextNDay:function(t,e){return 0===(e=e||0)||(t=new Date(this.getDateInfo(t).time)).setDate(t.getDate()+e),this.getDateInfo(t)},update:function(t,e){this._firstDayOfWeek=+this._model.getModel(\"dayLabel\").get(\"firstDay\"),this._orient=this._model.get(\"orient\"),this._lineWidth=this._model.getModel(\"itemStyle\").getItemStyle().lineWidth||0,this._rangeInfo=this._getRangeInfo(this._initRangeOption());var i=this._rangeInfo.weeks||1,n=[\"width\",\"height\"],o=this._model.get(\"cellSize\").slice(),a=this._model.getBoxLayoutParams(),r=\"horizontal\"===this._orient?[i,7]:[7,i];R([0,1],function(t){u(o,t)&&(a[n[t]]=o[t]*r[t])});var s={width:e.getWidth(),height:e.getHeight()},l=this._rect=bu(a,s);function u(t,e){return null!=t[e]&&\"auto\"!==t[e]}R([0,1],function(t){u(o,t)||(o[t]=l[n[t]]/r[t])}),this._sw=o[0],this._sh=o[1]},dataToPoint:function(t,e){L(t)&&(t=t[0]),null==e&&(e=!0);var i=this.getDateInfo(t),n=this._rangeInfo,o=i.formatedDate;if(e&&!(i.time>=n.start.time&&i.time<n.end.time+864e5))return[NaN,NaN];var a=i.day,r=this._getRangeInfo([n.start.time,o]).nthWeek;return\"vertical\"===this._orient?[this._rect.x+a*this._sw+this._sw/2,this._rect.y+r*this._sh+this._sh/2]:[this._rect.x+r*this._sw+this._sw/2,this._rect.y+a*this._sh+this._sh/2]},pointToData:function(t){var e=this.pointToDate(t);return e&&e.time},dataToRect:function(t,e){var i=this.dataToPoint(t,e);return{contentShape:{x:i[0]-(this._sw-this._lineWidth)/2,y:i[1]-(this._sh-this._lineWidth)/2,width:this._sw-this._lineWidth,height:this._sh-this._lineWidth},center:i,tl:[i[0]-this._sw/2,i[1]-this._sh/2],tr:[i[0]+this._sw/2,i[1]-this._sh/2],br:[i[0]+this._sw/2,i[1]+this._sh/2],bl:[i[0]-this._sw/2,i[1]+this._sh/2]}},pointToDate:function(t){var e=Math.floor((t[0]-this._rect.x)/this._sw)+1,i=Math.floor((t[1]-this._rect.y)/this._sh)+1,n=this._rangeInfo.range;return\"vertical\"===this._orient?this._getDateByWeeksAndDay(i,e-1,n):this._getDateByWeeksAndDay(e,i-1,n)},convertToPixel:T(eA,\"dataToPoint\"),convertFromPixel:T(eA,\"pointToData\"),_initRangeOption:function(){var t=this._model.get(\"range\"),e=t;if(L(e)&&1===e.length&&(e=e[0]),/^\\d{4}$/.test(e)&&(t=[e+\"-01-01\",e+\"-12-31\"]),/^\\d{4}[\\/|-]\\d{1,2}$/.test(e)){var i=this.getDateInfo(e),n=i.date;n.setMonth(n.getMonth()+1);var o=this.getNextNDay(n,-1);t=[i.formatedDate,o.formatedDate]}/^\\d{4}[\\/|-]\\d{1,2}[\\/|-]\\d{1,2}$/.test(e)&&(t=[e,e]);var a=this._getRangeInfo(t);return a.start.time>a.end.time&&t.reverse(),t},_getRangeInfo:function(t){var e;(t=[this.getDateInfo(t[0]),this.getDateInfo(t[1])])[0].time>t[1].time&&(e=!0,t.reverse());var i=Math.floor(t[1].time/864e5)-Math.floor(t[0].time/864e5)+1,n=new Date(t[0].time),o=n.getDate(),a=t[1].date.getDate();n.setDate(o+i-1);var r=n.getDate();if(r!==a)for(var s=0<n.getTime()-t[1].time?1:-1;(r=n.getDate())!==a&&0<(n.getTime()-t[1].time)*s;)i-=s,n.setDate(r-s);var l=Math.floor((i+t[0].day+6)/7),u=e?1-l:l-1;return e&&t.reverse(),{range:[t[0].formatedDate,t[1].formatedDate],start:t[0],end:t[1],allDay:i,weeks:l,nthWeek:u,fweek:t[0].day,lweek:t[1].day}},_getDateByWeeksAndDay:function(t,e,i){var n=this._getRangeInfo(i);if(t>n.weeks||0===t&&e<n.fweek||t===n.weeks&&e>n.lweek)return!1;var o=7*(t-1)-n.fweek+e,a=new Date(n.start.time);return a.setDate(n.start.d+o),this.getDateInfo(a)}},tA.dimensions=tA.prototype.dimensions,tA.getDimensionsInfo=tA.prototype.getDimensionsInfo,tA.create=function(i,n){var o=[];return i.eachComponent(\"calendar\",function(t){var e=new tA(t,i,n);o.push(e),t.coordinateSystem=e}),i.eachSeries(function(t){\"calendar\"===t.get(\"coordinateSystem\")&&(t.coordinateSystem=o[t.get(\"calendarIndex\")||0])}),o},lh.register(\"calendar\",tA);var iA=ku.extend({type:\"calendar\",coordinateSystem:null,defaultOption:{zlevel:0,z:2,left:80,top:60,cellSize:20,orient:\"horizontal\",splitLine:{show:!0,lineStyle:{color:\"#000\",width:1,type:\"solid\"}},itemStyle:{color:\"#fff\",borderWidth:1,borderColor:\"#ccc\"},dayLabel:{show:!0,firstDay:0,position:\"start\",margin:\"50%\",nameMap:\"en\",color:\"#000\"},monthLabel:{show:!0,position:\"start\",margin:5,align:\"center\",nameMap:\"en\",formatter:null,color:\"#000\"},yearLabel:{show:!0,position:null,margin:30,formatter:null,color:\"#ccc\",fontFamily:\"sans-serif\",fontWeight:\"bolder\",fontSize:20}},init:function(t,e,i,n){var o=Iu(t);iA.superApply(this,\"init\",arguments),nA(t,o)},mergeOption:function(t,e){iA.superApply(this,\"mergeOption\",arguments),nA(this.option,t)}});function nA(t,e){var i=t.cellSize;L(i)?1===i.length&&(i[1]=i[0]):i=t.cellSize=[i,i];var n=O([0,1],function(t){return function(t,e){return null!=t[xu[e][0]]||null!=t[xu[e][1]]&&null!=t[xu[e][2]]}(e,t)&&(i[t]=\"auto\"),null!=i[t]&&\"auto\"!==i[t]});Mu(t,e,{type:\"box\",ignoreSize:n})}var oA={EN:[\"Jan\",\"Feb\",\"Mar\",\"Apr\",\"May\",\"Jun\",\"Jul\",\"Aug\",\"Sep\",\"Oct\",\"Nov\",\"Dec\"],CN:[\"一月\",\"二月\",\"三月\",\"四月\",\"五月\",\"六月\",\"七月\",\"八月\",\"九月\",\"十月\",\"十一月\",\"十二月\"]},aA={EN:[\"S\",\"M\",\"T\",\"W\",\"T\",\"F\",\"S\"],CN:[\"日\",\"一\",\"二\",\"三\",\"四\",\"五\",\"六\"]};Af({type:\"calendar\",_tlpoints:null,_blpoints:null,_firstDayOfMonth:null,_firstDayPoints:null,render:function(t,e,i){var n=this.group;n.removeAll();var o=t.coordinateSystem,a=o.getRangeInfo(),r=o.getOrient();this._renderDayRect(t,a,n),this._renderLines(t,a,r,n),this._renderYearText(t,a,r,n),this._renderMonthText(t,r,n),this._renderWeekText(t,a,r,n)},_renderDayRect:function(t,e,i){for(var n=t.coordinateSystem,o=t.getModel(\"itemStyle\").getItemStyle(),a=n.getCellWidth(),r=n.getCellHeight(),s=e.start.time;s<=e.end.time;s=n.getNextNDay(s,1).time){var l=n.dataToRect([s],!1).tl,u=new rs({shape:{x:l[0],y:l[1],width:a,height:r},cursor:\"default\",style:o});i.add(u)}},_renderLines:function(i,t,n,o){var a=this,r=i.coordinateSystem,s=i.getModel(\"splitLine.lineStyle\").getLineStyle(),l=i.get(\"splitLine.show\"),e=s.lineWidth;this._tlpoints=[],this._blpoints=[],this._firstDayOfMonth=[],this._firstDayPoints=[];for(var u=t.start,h=0;u.time<=t.end.time;h++){d(u.formatedDate),0===h&&(u=r.getDateInfo(t.start.y+\"-\"+t.start.m));var c=u.date;c.setMonth(c.getMonth()+1),u=r.getDateInfo(c)}function d(t){a._firstDayOfMonth.push(r.getDateInfo(t)),a._firstDayPoints.push(r.dataToRect([t],!1).tl);var e=a._getLinePointsOfOneWeek(i,t,n);a._tlpoints.push(e[0]),a._blpoints.push(e[e.length-1]),l&&a._drawSplitline(e,s,o)}d(r.getNextNDay(t.end.time,1).formatedDate),l&&this._drawSplitline(a._getEdgesPoints(a._tlpoints,e,n),s,o),l&&this._drawSplitline(a._getEdgesPoints(a._blpoints,e,n),s,o)},_getEdgesPoints:function(t,e,i){var n=[t[0].slice(),t[t.length-1].slice()],o=\"horizontal\"===i?0:1;return n[0][o]=n[0][o]-e/2,n[1][o]=n[1][o]+e/2,n},_drawSplitline:function(t,e,i){var n=new ts({z2:20,shape:{points:t},style:e});i.add(n)},_getLinePointsOfOneWeek:function(t,e,i){var n=t.coordinateSystem;e=n.getDateInfo(e);for(var o=[],a=0;a<7;a++){var r=n.getNextNDay(e.time,a),s=n.dataToRect([r.time],!1);o[2*r.day]=s.tl,o[2*r.day+1]=s[\"horizontal\"===i?\"bl\":\"tr\"]}return o},_formatterLabel:function(t,e){return\"string\"==typeof t&&t?uu(t,e):\"function\"==typeof t?t(e):e.nameMap},_yearTextPositionControl:function(t,e,i,n,o){e=e.slice();var a=[\"center\",\"bottom\"];\"bottom\"===n?(e[1]+=o,a=[\"center\",\"top\"]):\"left\"===n?e[0]-=o:\"right\"===n?(e[0]+=o,a=[\"center\",\"top\"]):e[1]-=o;var r=0;return\"left\"!==n&&\"right\"!==n||(r=Math.PI/2),{rotation:r,position:e,style:{textAlign:a[0],textVerticalAlign:a[1]}}},_renderYearText:function(t,e,i,n){var o=t.getModel(\"yearLabel\");if(o.get(\"show\")){var a=o.get(\"margin\"),r=o.get(\"position\");r=r||(\"horizontal\"!==i?\"top\":\"left\");var s=[this._tlpoints[this._tlpoints.length-1],this._blpoints[0]],l=(s[0][0]+s[1][0])/2,u=(s[0][1]+s[1][1])/2,h=\"horizontal\"===i?0:1,c={top:[l,s[h][1]],bottom:[l,s[1-h][1]],left:[s[1-h][0],u],right:[s[h][0],u]},d=e.start.y;+e.end.y>+e.start.y&&(d=d+\"-\"+e.end.y);var f=o.get(\"formatter\"),p={start:e.start.y,end:e.end.y,nameMap:d},g=this._formatterLabel(f,p),m=new Ur({z2:30});nl(m.style,o,{text:g}),m.attr(this._yearTextPositionControl(m,c[r],i,r,a)),n.add(m)}},_monthTextPositionControl:function(t,e,i,n,o){var a=\"left\",r=\"top\",s=t[0],l=t[1];return\"horizontal\"===i?(l+=o,e&&(a=\"center\"),\"start\"===n&&(r=\"bottom\")):(s+=o,e&&(r=\"middle\"),\"start\"===n&&(a=\"right\")),{x:s,y:l,textAlign:a,textVerticalAlign:r}},_renderMonthText:function(t,e,i){var n=t.getModel(\"monthLabel\");if(n.get(\"show\")){var o=n.get(\"nameMap\"),a=n.get(\"margin\"),r=n.get(\"position\"),s=n.get(\"align\"),l=[this._tlpoints,this._blpoints];E(o)&&(o=oA[o.toUpperCase()]||[]);var u=\"start\"===r?0:1,h=\"horizontal\"===e?0:1;a=\"start\"===r?-a:a;for(var c=\"center\"===s,d=0;d<l[u].length-1;d++){var f=l[u][d].slice(),p=this._firstDayOfMonth[d];if(c){var g=this._firstDayPoints[d];f[h]=(g[h]+l[0][d+1][h])/2}var m=n.get(\"formatter\"),v=o[+p.m-1],y={yyyy:p.y,yy:(p.y+\"\").slice(2),MM:p.m,M:+p.m,nameMap:v},x=this._formatterLabel(m,y),_=new Ur({z2:30});P(nl(_.style,n,{text:x}),this._monthTextPositionControl(f,c,e,r,a)),i.add(_)}}},_weekTextPositionControl:function(t,e,i,n,o){var a=\"center\",r=\"middle\",s=t[0],l=t[1],u=\"start\"===i;return\"horizontal\"===e?(s=s+n+(u?1:-1)*o[0]/2,a=u?\"right\":\"left\"):(l=l+n+(u?1:-1)*o[1]/2,r=u?\"bottom\":\"top\"),{x:s,y:l,textAlign:a,textVerticalAlign:r}},_renderWeekText:function(t,e,i,n){var o=t.getModel(\"dayLabel\");if(o.get(\"show\")){var a=t.coordinateSystem,r=o.get(\"position\"),s=o.get(\"nameMap\"),l=o.get(\"margin\"),u=a.getFirstDayOfWeek();E(s)&&(s=aA[s.toUpperCase()]||[]);var h=a.getNextNDay(e.end.time,7-e.lweek).time,c=[a.getCellWidth(),a.getCellHeight()];l=El(l,c[\"horizontal\"===i?0:1]),\"start\"===r&&(h=a.getNextNDay(e.start.time,-(7+e.fweek)).time,l=-l);for(var d=0;d<7;d++){var f,p=a.getNextNDay(h,d),g=a.dataToRect([p.time],!1).center;f=Math.abs((d+u)%7);var m=new Ur({z2:30});P(nl(m.style,o,{text:s[f]}),this._weekTextPositionControl(g,i,r,l,c)),n.add(m)}}}});var rA={path:null,compoundPath:null,group:Ci,image:Qn,text:Ur};yf(function(t){var e=t.graphic;L(e)?e[0]&&e[0].elements?t.graphic=[t.graphic[0]]:t.graphic=[{elements:e}]:e&&!e.elements&&(t.graphic=[{elements:[e]}])});var sA=Tf({type:\"graphic\",defaultOption:{elements:[],parentId:null},_elOptionsToUpdate:null,mergeOption:function(t){var e=this.option.elements;this.option.elements=null,sA.superApply(this,\"mergeOption\",arguments),this.option.elements=e},optionUpdated:function(t,e){var i=this.option,n=(e?i:t).elements,o=i.elements=e?[]:i.elements,a=[];this._flatten(n,a);var r=Ho(o,a);Zo(r);var s=this._elOptionsToUpdate=[];R(r,function(t,e){var i=t.option;i&&(s.push(i),function(t,e){var i=t.exist;if(e.id=t.keyInfo.id,!e.type&&i&&(e.type=i.type),null==e.parentId){var n=e.parentOption;n?e.parentId=n.id:i&&(e.parentId=i.parentId)}e.parentOption=null}(t,i),function(t,e,i){var n=P({},i),o=t[e],a=i.$action||\"merge\";\"merge\"===a?o?(m(o,n,!0),Mu(o,n,{ignoreSize:!0}),Tu(i,o)):t[e]=n:\"replace\"===a?t[e]=n:\"remove\"===a&&o&&(t[e]=null)}(o,e,i),function(t,e){if(!t)return;t.hv=e.hv=[hA(e,[\"left\",\"right\"]),hA(e,[\"top\",\"bottom\"])],\"group\"===t.type&&(null==t.width&&(t.width=e.width=0),null==t.height&&(t.height=e.height=0))}(o[e],i))},this);for(var l=o.length-1;0<=l;l--)null==o[l]?o.splice(l,1):delete o[l].$action},_flatten:function(t,i,n){R(t,function(t){if(t){n&&(t.parentOption=n),i.push(t);var e=t.children;\"group\"===t.type&&e&&this._flatten(e,i,t),delete t.children}},this)},useElOptionsToUpdate:function(){var t=this._elOptionsToUpdate;return this._elOptionsToUpdate=null,t}});function lA(t,e,i,n){var o=i.type,a=new(rA.hasOwnProperty(o)?rA[o]:ks(o))(i);e.add(a),n.set(t,a),a.__ecGraphicId=t}function uA(t,e){var i=t&&t.parent;i&&(\"group\"===t.type&&t.traverse(function(t){uA(t,e)}),e.removeKey(t.__ecGraphicId),i.remove(t))}function hA(e,t){var i;return R(t,function(t){null!=e[t]&&\"auto\"!==e[t]&&(i=!0)}),i}Af({type:\"graphic\",init:function(t,e){this._elMap=Q(),this._lastGraphicModel},render:function(t,e,i){t!==this._lastGraphicModel&&this._clear(),this._lastGraphicModel=t,this._updateElements(t),this._relocate(t,i)},_updateElements:function(u){var t=u.useElOptionsToUpdate();if(t){var h=this._elMap,c=this.group;R(t,function(t){var e=t.$action,i=t.id,n=h.get(i),o=t.parentId,a=null!=o?h.get(o):c,r=t.style;\"text\"===t.type&&r&&(t.hv&&t.hv[1]&&(r.textVerticalAlign=r.textBaseline=null),!r.hasOwnProperty(\"textFill\")&&r.fill&&(r.textFill=r.fill),!r.hasOwnProperty(\"textStroke\")&&r.stroke&&(r.textStroke=r.stroke));var s=function(e){return e=P({},e),R([\"id\",\"parentId\",\"$action\",\"hv\",\"bounding\"].concat(yu),function(t){delete e[t]}),e}(t);e&&\"merge\"!==e?\"replace\"===e?(uA(n,h),lA(i,a,s,h)):\"remove\"===e&&uA(n,h):n?n.attr(s):lA(i,a,s,h);var l=h.get(i);l&&(l.__ecGraphicWidthOption=t.width,l.__ecGraphicHeightOption=t.height,function(t,e){var i=t.eventData;t.silent||t.ignore||i||(i=t.eventData={componentType:\"graphic\",componentIndex:e.componentIndex,name:t.name});i&&(i.info=t.info)}(l,u))})}},_relocate:function(t,e){for(var i=t.option.elements,n=this.group,o=this._elMap,a=e.getWidth(),r=e.getHeight(),s=0;s<i.length;s++){var l=i[s];if((h=o.get(l.id))&&h.isGroup){var u=(c=h.parent)===n;h.__ecGraphicWidth=El(h.__ecGraphicWidthOption,u?a:c.__ecGraphicWidth)||0,h.__ecGraphicHeight=El(h.__ecGraphicHeightOption,u?r:c.__ecGraphicHeight)||0}}for(s=i.length-1;0<=s;s--){var h,c;l=i[s];if(h=o.get(l.id))Su(h,l,(c=h.parent)===n?{width:a,height:r}:{width:c.__ecGraphicWidth,height:c.__ecGraphicHeight},null,{hv:l.hv,boundingMode:l.bounding})}},_clear:function(){var e=this._elMap;e.each(function(t){uA(t,e)}),this._elMap=Q()},dispose:function(){this._clear()}});var cA={};function dA(t,e){cA[t]=e}function fA(t){return cA[t]}var pA=Tf({type:\"toolbox\",layoutMode:{type:\"box\",ignoreSize:!0},optionUpdated:function(){pA.superApply(this,\"optionUpdated\",arguments),R(this.option.feature,function(t,e){var i=fA(e);i&&m(t,i.defaultOption)})},defaultOption:{show:!0,z:6,zlevel:0,orient:\"horizontal\",left:\"right\",top:\"top\",backgroundColor:\"transparent\",borderColor:\"#ccc\",borderRadius:0,borderWidth:0,padding:5,itemSize:15,itemGap:8,showTitle:!0,iconStyle:{borderColor:\"#666\",color:\"none\"},emphasis:{iconStyle:{borderColor:\"#3E98C5\"}},tooltip:{show:!1}}});function gA(t,e){var i=iu(e.get(\"padding\")),n=e.getItemStyle([\"color\",\"opacity\"]);return n.fill=e.get(\"backgroundColor\"),t=new rs({shape:{x:t.x-i[3],y:t.y-i[0],width:t.width+i[1]+i[3],height:t.height+i[0]+i[2],r:e.get(\"borderRadius\")},style:n,silent:!0,z2:-1})}Af({type:\"toolbox\",render:function(h,c,d,l){var f=this.group;if(f.removeAll(),h.get(\"show\")){var p=+h.get(\"itemSize\"),u=h.get(\"feature\")||{},g=this._features||(this._features={}),m=[];R(u,function(t,e){m.push(e)}),new kf(this._featureNames||[],m).add(t).update(t).remove(T(t,null)).execute(),this._featureNames=m,function(t,e,i){var n=e.getBoxLayoutParams(),o=e.get(\"padding\"),a={width:i.getWidth(),height:i.getHeight()},r=bu(n,a,o);wu(e.get(\"orient\"),t,e.get(\"itemGap\"),r.width,r.height),Su(t,n,a,o)}(f,h,d),f.add(gA(f.getBoundingRect(),h)),f.eachChild(function(t){var e=t.__title,i=t.hoverStyle;if(i&&e){var n=gn(e,An(i)),o=t.position[0]+f.position[0],a=!1;t.position[1]+f.position[1]+p+n.height>d.getHeight()&&(i.textPosition=\"top\",a=!0);var r=a?-5-n.height:p+8;o+n.width/2>d.getWidth()?(i.textPosition=[\"100%\",r],i.textAlign=\"right\"):o-n.width/2<0&&(i.textPosition=[0,r],i.textAlign=\"left\")}})}function t(t,e){var i,n=m[t],o=m[e],a=u[n],r=new Cl(a,h,h.ecModel);if(l&&null!=l.newTitle&&l.featureName===n&&(a.title=l.newTitle),n&&!o){if(function(t){return 0===t.indexOf(\"my\")}(n))i={model:r,onclick:r.option.onclick,featureName:n};else{var s=fA(n);if(!s)return;i=new s(r,c,d)}g[n]=i}else{if(!(i=g[o]))return;i.model=r,i.ecModel=c,i.api=d}n||!o?r.get(\"show\")&&!i.unusable?(function(o,a,t){var r=o.getModel(\"iconStyle\"),s=o.getModel(\"emphasis.iconStyle\"),e=a.getIcons?a.getIcons():o.get(\"icon\"),l=o.get(\"title\")||{};if(\"string\"==typeof e){var i=e,n=l;l={},(e={})[t]=i,l[t]=n}var u=o.iconPaths={};R(e,function(t,e){var i=yl(t,{},{x:-p/2,y:-p/2,width:p,height:p});i.setStyle(r.getItemStyle()),i.hoverStyle=s.getItemStyle(),i.setStyle({text:l[e],textAlign:s.get(\"textAlign\"),textBorderRadius:s.get(\"textBorderRadius\"),textPadding:s.get(\"textPadding\"),textFill:null});var n=h.getModel(\"tooltip\");n&&n.get(\"show\")&&i.attr(\"tooltip\",P({content:l[e],formatter:n.get(\"formatter\",!0)||function(){return l[e]},formatterParams:{componentType:\"toolbox\",name:e,title:l[e],$vars:[\"name\",\"title\"]},position:n.get(\"position\",!0)||\"bottom\"},n.option)),$s(i),h.get(\"showTitle\")&&(i.__title=l[e],i.on(\"mouseover\",function(){var t=s.getItemStyle(),e=\"vertical\"===h.get(\"orient\")?null==h.get(\"right\")?\"right\":\"left\":null==h.get(\"bottom\")?\"bottom\":\"top\";i.setStyle({textFill:s.get(\"textFill\")||t.fill||t.stroke||\"#000\",textBackgroundColor:s.get(\"textBackgroundColor\"),textPosition:s.get(\"textPosition\")||e})}).on(\"mouseout\",function(){i.setStyle({textFill:null,textBackgroundColor:null})})),i.trigger(o.get(\"iconStatus.\"+e)||\"normal\"),f.add(i),i.on(\"click\",A(a.onclick,a,c,d,e)),u[e]=i})}(r,i,n),r.setIconStatus=function(t,e){var i=this.option,n=this.iconPaths;i.iconStatus=i.iconStatus||{},i.iconStatus[t]=e,n[t]&&n[t].trigger(e)},i.render&&i.render(r,c,d,l)):i.remove&&i.remove(c,d):i.dispose&&i.dispose(c,d)}},updateView:function(t,e,i,n){R(this._features,function(t){t.updateView&&t.updateView(t.model,e,i,n)})},remove:function(e,i){R(this._features,function(t){t.remove&&t.remove(e,i)}),this.group.removeAll()},dispose:function(e,i){R(this._features,function(t){t.dispose&&t.dispose(e,i)})}});var mA=Oc.toolbox.saveAsImage;function vA(t){this.model=t}vA.defaultOption={show:!0,icon:\"M4.7,22.9L29.3,45.5L54.7,23.4M4.6,43.6L4.6,58L53.8,58L53.8,43.6M29.2,45.1L29.2,0\",title:mA.title,type:\"png\",connectedBackgroundColor:\"#fff\",name:\"\",excludeComponents:[\"toolbox\"],pixelRatio:1,lang:mA.lang.slice()},vA.prototype.unusable=!v.canvasSupported,vA.prototype.onclick=function(t,e){var i=this.model,n=i.get(\"name\")||t.get(\"title.0.text\")||\"echarts\",o=\"svg\"===e.getZr().painter.getType()?\"svg\":i.get(\"type\",!0)||\"png\",a=e.getConnectedDataURL({type:o,backgroundColor:i.get(\"backgroundColor\",!0)||t.get(\"backgroundColor\")||\"#fff\",connectedBackgroundColor:i.get(\"connectedBackgroundColor\"),excludeComponents:i.get(\"excludeComponents\"),pixelRatio:i.get(\"pixelRatio\")});if(\"function\"!=typeof MouseEvent||v.browser.ie||v.browser.edge)if(window.navigator.msSaveOrOpenBlob){for(var r=atob(a.split(\",\")[1]),s=r.length,l=new Uint8Array(s);s--;)l[s]=r.charCodeAt(s);var u=new Blob([l]);window.navigator.msSaveOrOpenBlob(u,n+\".\"+o)}else{var h=i.get(\"lang\"),c='<body style=\"margin:0;\"><img src=\"'+a+'\" style=\"max-width:100%;\" title=\"'+(h&&h[0]||\"\")+'\" /></body>';window.open().document.write(c)}else{var d=document.createElement(\"a\");d.download=n+\".\"+o,d.target=\"_blank\",d.href=a;var f=new MouseEvent(\"click\",{view:document.defaultView,bubbles:!0,cancelable:!1});d.dispatchEvent(f)}},dA(\"saveAsImage\",vA);var yA=Oc.toolbox.magicType,xA=\"__ec_magicType_stack__\";function _A(t){this.model=t}_A.defaultOption={show:!0,type:[],icon:{line:\"M4.1,28.9h7.1l9.3-22l7.4,38l9.7-19.7l3,12.8h14.9M4.1,58h51.4\",bar:\"M6.7,22.9h10V48h-10V22.9zM24.9,13h10v35h-10V13zM43.2,2h10v46h-10V2zM3.1,58h53.7\",stack:\"M8.2,38.4l-8.4,4.1l30.6,15.3L60,42.5l-8.1-4.1l-21.5,11L8.2,38.4z M51.9,30l-8.1,4.2l-13.4,6.9l-13.9-6.9L8.2,30l-8.4,4.2l8.4,4.2l22.2,11l21.5-11l8.1-4.2L51.9,30z M51.9,21.7l-8.1,4.2L35.7,30l-5.3,2.8L24.9,30l-8.4-4.1l-8.3-4.2l-8.4,4.2L8.2,30l8.3,4.2l13.9,6.9l13.4-6.9l8.1-4.2l8.1-4.1L51.9,21.7zM30.4,2.2L-0.2,17.5l8.4,4.1l8.3,4.2l8.4,4.2l5.5,2.7l5.3-2.7l8.1-4.2l8.1-4.2l8.1-4.1L30.4,2.2z\"},title:k(yA.title),option:{},seriesIndex:{}};var wA=_A.prototype;wA.getIcons=function(){var t=this.model,e=t.get(\"icon\"),i={};return R(t.get(\"type\"),function(t){e[t]&&(i[t]=e[t])}),i};var bA={line:function(t,e,i,n){if(\"bar\"===t)return m({id:e,type:\"line\",data:i.get(\"data\"),stack:i.get(\"stack\"),markPoint:i.get(\"markPoint\"),markLine:i.get(\"markLine\")},n.get(\"option.line\")||{},!0)},bar:function(t,e,i,n){if(\"line\"===t)return m({id:e,type:\"bar\",data:i.get(\"data\"),stack:i.get(\"stack\"),markPoint:i.get(\"markPoint\"),markLine:i.get(\"markLine\")},n.get(\"option.bar\")||{},!0)},stack:function(t,e,i,n){var o=i.get(\"stack\")===xA;if(\"line\"===t||\"bar\"===t)return n.setIconStatus(\"stack\",o?\"normal\":\"emphasis\"),m({id:e,stack:o?\"\":xA},n.get(\"option.stack\")||{},!0)}},SA=[[\"line\",\"bar\"],[\"stack\"]];wA.onclick=function(u,t,h){var c=this.model,e=c.get(\"seriesIndex.\"+h);if(bA[h]){var i,d={series:[]};if(R(SA,function(t){0<=_(t,h)&&R(t,function(t){c.setIconStatus(t,\"normal\")})}),c.setIconStatus(h,\"emphasis\"),u.eachComponent({mainType:\"series\",query:null==e?null:{seriesIndex:e}},function(t){var e=t.subType,i=t.id,n=bA[h](e,i,t,c);n&&(D(n,t.option),d.series.push(n));var o=t.coordinateSystem;if(o&&\"cartesian2d\"===o.type&&(\"line\"===h||\"bar\"===h)){var a=o.getAxesByScale(\"ordinal\")[0];if(a){var r=a.dim+\"Axis\",s=u.queryComponents({mainType:r,index:t.get(name+\"Index\"),id:t.get(name+\"Id\")})[0].componentIndex;d[r]=d[r]||[];for(var l=0;l<=s;l++)d[r][s]=d[r][s]||{};d[r][s].boundaryGap=\"bar\"===h}}}),\"stack\"===h)i=d.series&&d.series[0]&&d.series[0].stack===xA?m({stack:yA.title.tiled},yA.title):k(yA.title);t.dispatchAction({type:\"changeMagicType\",currentType:h,newOption:d,newTitle:i,featureName:\"magicType\"})}},_f({type:\"changeMagicType\",event:\"magicTypeChanged\",update:\"prepareAndUpdate\"},function(t,e){e.mergeOption(t.newOption)}),dA(\"magicType\",_A);var MA=Oc.toolbox.dataView,IA=new Array(60).join(\"-\"),TA=\"\\t\";function AA(t){var e=function(t){var o={},a=[],r=[];return t.eachRawSeries(function(t){var e=t.coordinateSystem;if(!e||\"cartesian2d\"!==e.type&&\"polar\"!==e.type)a.push(t);else{var i=e.getBaseAxis();if(\"category\"===i.type){var n=i.dim+\"_\"+i.index;o[n]||(o[n]={categoryAxis:i,valueAxis:e.getOtherAxis(i),series:[]},r.push({axisDim:i.dim,axisIndex:i.index})),o[n].series.push(t)}else a.push(t)}}),{seriesGroupByCategoryAxis:o,other:a,meta:r}}(t);return{value:M([function(t){var h=[];return R(t,function(t,e){var i=t.categoryAxis,n=t.valueAxis.dim,o=[\" \"].concat(O(t.series,function(t){return t.name})),a=[i.model.getCategories()];R(t.series,function(t){var e=t.getRawData();a.push(t.getRawData().mapArray(e.mapDimension(n),function(t){return t}))});for(var r=[o.join(TA)],s=0;s<a[0].length;s++){for(var l=[],u=0;u<a.length;u++)l.push(a[u][s]);r.push(l.join(TA))}h.push(r.join(\"\\n\"))}),h.join(\"\\n\\n\"+IA+\"\\n\\n\")}(e.seriesGroupByCategoryAxis),function(t){return O(t,function(t){var o=t.getRawData(),a=[t.name],r=[];return o.each(o.dimensions,function(){for(var t=arguments.length,e=arguments[t-1],i=o.getName(e),n=0;n<t-1;n++)r[n]=arguments[n];a.push((i?i+TA:\"\")+r.join(TA))}),a.join(\"\\n\")}).join(\"\\n\\n\"+IA+\"\\n\\n\")}(e.other)],function(t){return t.replace(/[\\n\\t\\s]/g,\"\")}).join(\"\\n\\n\"+IA+\"\\n\\n\"),meta:e.meta}}function DA(t){return t.replace(/^\\s\\s*/,\"\").replace(/\\s\\s*$/,\"\")}var CA=new RegExp(\"[\"+TA+\"]+\",\"g\");function LA(t,a){var e=t.split(new RegExp(\"\\n*\"+IA+\"\\n*\",\"g\")),r={series:[]};return R(e,function(t,e){if(function(t){if(0<=t.slice(0,t.indexOf(\"\\n\")).indexOf(TA))return!0}(t)){var i=function(t){for(var e=t.split(/\\n+/g),i=[],n=O(DA(e.shift()).split(CA),function(t){return{name:t,data:[]}}),o=0;o<e.length;o++){var a=DA(e[o]).split(CA);i.push(a.shift());for(var r=0;r<a.length;r++)n[r]&&(n[r].data[o]=a[r])}return{series:n,categories:i}}(t),n=a[e],o=n.axisDim+\"Axis\";n&&(r[o]=r[o]||[],r[o][n.axisIndex]={data:i.categories},r.series=r.series.concat(i.series))}else{i=function(t){for(var e=t.split(/\\n+/g),i=DA(e.shift()),n=[],o=0;o<e.length;o++){var a=DA(e[o]);if(a){var r,s=a.split(CA),l=\"\",u=!1;r=isNaN(s[0])?(u=!0,l=s[0],s=s.slice(1),n[o]={name:l,value:[]},n[o].value):n[o]=[];for(var h=0;h<s.length;h++)r.push(+s[h]);1===r.length&&(u?n[o].value=r[0]:n[o]=r[0])}}return{name:i,data:n}}(t);r.series.push(i)}}),r}function kA(t){this._dom=null,this.model=t}kA.defaultOption={show:!0,readOnly:!1,optionToContent:null,contentToOption:null,icon:\"M17.5,17.3H33 M17.5,17.3H33 M45.4,29.5h-28 M11.5,2v56H51V14.8L38.4,2H11.5z M38.4,2.2v12.7H51 M45.4,41.7h-28\",title:k(MA.title),lang:k(MA.lang),backgroundColor:\"#fff\",textColor:\"#000\",textareaColor:\"#fff\",textareaBorderColor:\"#333\",buttonColor:\"#c23531\",buttonTextColor:\"#fff\"},kA.prototype.onclick=function(t,e){var i=e.getDom(),n=this.model;this._dom&&i.removeChild(this._dom);var o=document.createElement(\"div\");o.style.cssText=\"position:absolute;left:5px;top:5px;bottom:5px;right:5px;\",o.style.backgroundColor=n.get(\"backgroundColor\")||\"#fff\";var a=document.createElement(\"h4\"),r=n.get(\"lang\")||[];a.innerHTML=r[0]||n.get(\"title\"),a.style.cssText=\"margin: 10px 20px;\",a.style.color=n.get(\"textColor\");var s=document.createElement(\"div\"),l=document.createElement(\"textarea\");s.style.cssText=\"display:block;width:100%;overflow:auto;\";var u=n.get(\"optionToContent\"),h=n.get(\"contentToOption\"),c=AA(t);if(\"function\"==typeof u){var d=u(e.getOption());\"string\"==typeof d?s.innerHTML=d:G(d)&&s.appendChild(d)}else s.appendChild(l),l.readOnly=n.get(\"readOnly\"),l.style.cssText=\"width:100%;height:100%;font-family:monospace;font-size:14px;line-height:1.6rem;\",l.style.color=n.get(\"textColor\"),l.style.borderColor=n.get(\"textareaBorderColor\"),l.style.backgroundColor=n.get(\"textareaColor\"),l.value=c.value;var f=c.meta,p=document.createElement(\"div\");p.style.cssText=\"position:absolute;bottom:0;left:0;right:0;\";var g=\"float:right;margin-right:20px;border:none;cursor:pointer;padding:2px 5px;font-size:12px;border-radius:3px\",m=document.createElement(\"div\"),v=document.createElement(\"div\");g+=\";background-color:\"+n.get(\"buttonColor\"),g+=\";color:\"+n.get(\"buttonTextColor\");var y=this;function x(){i.removeChild(o),y._dom=null}Ut(m,\"click\",x),Ut(v,\"click\",function(){var t;try{t=\"function\"==typeof h?h(s,e.getOption()):LA(l.value,f)}catch(t){throw x(),new Error(\"Data view format error \"+t)}t&&e.dispatchAction({type:\"changeDataView\",newOption:t}),x()}),m.innerHTML=r[1],v.innerHTML=r[2],v.style.cssText=g,m.style.cssText=g,n.get(\"readOnly\")||p.appendChild(v),p.appendChild(m),o.appendChild(a),o.appendChild(s),o.appendChild(p),s.style.height=i.clientHeight-80+\"px\",i.appendChild(o),this._dom=o},kA.prototype.remove=function(t,e){this._dom&&e.getDom().removeChild(this._dom)},kA.prototype.dispose=function(t,e){this.remove(t,e)},dA(\"dataView\",kA),_f({type:\"changeDataView\",event:\"dataViewChanged\",update:\"prepareAndUpdate\"},function(t,n){var o=[];R(t.newOption.series,function(t){var e=n.getSeriesByName(t.name)[0];if(e){var i=e.get(\"data\");o.push({name:t.name,data:function(t,o){return O(t,function(t,e){var i=o&&o[e];if(!z(i)||L(i))return t;z(t)&&!L(t)||(t={value:t});var n=null!=i.name&&null==t.name;return t=D(t,i),n&&delete t.name,t})}(t.data,i)})}else o.push(P({type:\"scatter\"},t))}),n.mergeOption(D({series:o},t.newOption))});var PA=R,NA=_,OA=T,RA=[\"dataToPoint\",\"pointToData\"],EA=[\"grid\",\"xAxis\",\"yAxis\",\"geo\",\"graph\",\"polar\",\"radiusAxis\",\"angleAxis\",\"bmap\"];function zA(t,e,i){var n=this._targetInfoList=[],o={},a=GA(e,t);PA(FA,function(t,e){i&&i.include&&!(0<=NA(i.include,e))||t(a,n,o)})}var BA=zA.prototype;function VA(t){return t[0]>t[1]&&t.reverse(),t}function GA(t,e){return Ko(t,e,{includeMainTypes:EA})}BA.setOutputRanges=function(t,e){this.matchOutputRanges(t,e,function(t,e,i){if((t.coordRanges||(t.coordRanges=[])).push(e),!t.coordRange){t.coordRange=e;var n=ZA[t.brushType](0,i,e);t.__rangeOffset={offset:XA[t.brushType](n.values,t.range,[1,1]),xyMinMax:n.xyMinMax}}})},BA.matchOutputRanges=function(t,n,o){PA(t,function(i){var t=this.findTargetInfo(i,n);t&&!0!==t&&R(t.coordSyses,function(t){var e=ZA[i.brushType](1,t,i.range);o(i,e.values,t,n)})},this)},BA.setInputRanges=function(t,o){PA(t,function(t){var e=this.findTargetInfo(t,o);if(t.range=t.range||[],e&&!0!==e){t.panelId=e.panelId;var i=ZA[t.brushType](0,e.coordSys,t.coordRange),n=t.__rangeOffset;t.range=n?XA[t.brushType](i.values,n.offset,function(t,e){var i=jA(t),n=jA(e),o=[i[0]/n[0],i[1]/n[1]];return isNaN(o[0])&&(o[0]=1),isNaN(o[1])&&(o[1]=1),o}(i.xyMinMax,n.xyMinMax)):i.values}},this)},BA.makePanelOpts=function(i,n){return O(this._targetInfoList,function(t){var e=t.getPanelRect();return{panelId:t.panelId,defaultBrushType:n&&n(t),clipPath:hS(e),isTargetByCursor:dS(e,i,t.coordSysModel),getLinearBrushOtherExtent:cS(e)}})},BA.controlSeries=function(t,e,i){var n=this.findTargetInfo(t,i);return!0===n||n&&0<=NA(n.coordSyses,e.coordinateSystem)},BA.findTargetInfo=function(t,e){for(var i=this._targetInfoList,n=GA(e,t),o=0;o<i.length;o++){var a=i[o],r=t.panelId;if(r){if(a.panelId===r)return a}else for(o=0;o<WA.length;o++)if(WA[o](n,a))return a}return!0};var FA={grid:function(t,n){var o=t.xAxisModels,a=t.yAxisModels,e=t.gridModels,i=Q(),r={},s={};(o||a||e)&&(PA(o,function(t){var e=t.axis.grid.model;i.set(e.id,e),r[e.id]=!0}),PA(a,function(t){var e=t.axis.grid.model;i.set(e.id,e),s[e.id]=!0}),PA(e,function(t){i.set(t.id,t),r[t.id]=!0,s[t.id]=!0}),i.each(function(t){var e=t.coordinateSystem,i=[];PA(e.getCartesians(),function(t,e){(0<=NA(o,t.getAxis(\"x\").model)||0<=NA(a,t.getAxis(\"y\").model))&&i.push(t)}),n.push({panelId:\"grid--\"+t.id,gridModel:t,coordSysModel:t,coordSys:i[0],coordSyses:i,getPanelRect:HA.grid,xAxisDeclared:r[t.id],yAxisDeclared:s[t.id]})}))},geo:function(t,i){PA(t.geoModels,function(t){var e=t.coordinateSystem;i.push({panelId:\"geo--\"+t.id,geoModel:t,coordSysModel:t,coordSys:e,coordSyses:[e],getPanelRect:HA.geo})})}},WA=[function(t,e){var i=t.xAxisModel,n=t.yAxisModel,o=t.gridModel;return!o&&i&&(o=i.axis.grid.model),!o&&n&&(o=n.axis.grid.model),o&&o===e.gridModel},function(t,e){var i=t.geoModel;return i&&i===e.geoModel}],HA={grid:function(){return this.coordSys.grid.getRect().clone()},geo:function(){var t=this.coordSys,e=t.getBoundingRect().clone();return e.applyTransform(fl(t)),e}},ZA={lineX:OA(UA,0),lineY:OA(UA,1),rect:function(t,e,i){var n=e[RA[t]]([i[0][0],i[1][0]]),o=e[RA[t]]([i[0][1],i[1][1]]),a=[VA([n[0],o[0]]),VA([n[1],o[1]])];return{values:a,xyMinMax:a}},polygon:function(i,n,t){var o=[[1/0,-1/0],[1/0,-1/0]];return{values:O(t,function(t){var e=n[RA[i]](t);return o[0][0]=Math.min(o[0][0],e[0]),o[1][0]=Math.min(o[1][0],e[1]),o[0][1]=Math.max(o[0][1],e[0]),o[1][1]=Math.max(o[1][1],e[1]),e}),xyMinMax:o}}};function UA(t,e,i,n){var o=i.getAxis([\"x\",\"y\"][t]),a=VA(O([0,1],function(t){return e?o.coordToData(o.toLocalCoord(n[t])):o.toGlobalCoord(o.dataToCoord(n[t]))})),r=[];return r[t]=a,r[1-t]=[NaN,NaN],{values:a,xyMinMax:r}}var XA={lineX:OA(YA,0),lineY:OA(YA,1),rect:function(t,e,i){return[[t[0][0]-i[0]*e[0][0],t[0][1]-i[0]*e[0][1]],[t[1][0]-i[1]*e[1][0],t[1][1]-i[1]*e[1][1]]]},polygon:function(t,i,n){return O(t,function(t,e){return[t[0]-n[0]*i[e][0],t[1]-n[1]*i[e][1]]})}};function YA(t,e,i,n){return[e[0]-n[t]*i[0],e[1]-n[t]*i[1]]}function jA(t){return t?[t[0][1]-t[0][0],t[1][1]-t[1][0]]:[NaN,NaN]}var qA=R,KA=\"\\0_ec_hist_store\";function $A(t){var e=t[KA];return e=e||(t[KA]=[{}])}ku.registerSubTypeDefaulter(\"dataZoom\",function(){return\"slider\"});var JA=[\"cartesian2d\",\"polar\",\"singleAxis\"];var QA,tD,eD,iD,nD=(tD=[\"axisIndex\",\"axis\",\"index\",\"id\"],eD=O(QA=(QA=[\"x\",\"y\",\"z\",\"radius\",\"angle\",\"single\"]).slice(),fu),iD=O(tD=(tD||[]).slice(),fu),function(o,a){R(QA,function(t,e){for(var i={name:t,capital:eD[e]},n=0;n<tD.length;n++)i[tD[n]]=t+iD[n];o.call(a,i)})});function oD(o,a,r){return function(t){var e,i={nodes:[],records:{}};if(a(function(t){i.records[t.name]={}}),!t)return i;for(s(t,i);e=!1,o(n),e;);function n(t){!function(t,e){return 0<=_(e.nodes,t)}(t,i)&&function(t,i){var n=!1;return a(function(e){R(r(t,e)||[],function(t){i.records[e.name][t]&&(n=!0)})}),n}(t,i)&&(s(t,i),e=!0)}return i};function s(t,i){i.nodes.push(t),a(function(e){R(r(t,e)||[],function(t){i.records[e.name][t]=!0})})}}function aD(t,e,i,n){this._dimName=t,this._axisIndex=e,this._valueWindow,this._percentWindow,this._dataExtent,this._minMaxSpan,this.ecModel=n,this._dataZoomModel=i}var rD=R,sD=Bl;function lD(t,e){var i=t.getAxisModel(),n=t._percentWindow,o=t._valueWindow;if(n){var a=Fl(o,[0,500]);a=Math.min(a,20);var r=e||0===n[0]&&100===n[1];i.setRange(r?null:+o[0].toFixed(a),r?null:+o[1].toFixed(a))}}aD.prototype={constructor:aD,hostedBy:function(t){return this._dataZoomModel===t},getDataValueWindow:function(){return this._valueWindow.slice()},getDataPercentWindow:function(){return this._percentWindow.slice()},getTargetSeriesModels:function(){var n=[],o=this.ecModel;return o.eachSeries(function(t){if(function(t){return 0<=_(JA,t)}(t.get(\"coordinateSystem\"))){var e=this._dimName,i=o.queryComponents({mainType:e+\"Axis\",index:t.get(e+\"AxisIndex\"),id:t.get(e+\"AxisId\")})[0];this._axisIndex===(i&&i.componentIndex)&&n.push(t)}},this),n},getAxisModel:function(){return this.ecModel.getComponent(this._dimName+\"Axis\",this._axisIndex)},getOtherAxisModel:function(){var t,e,i,n=this._dimName,o=this.ecModel,a=this.getAxisModel();return t=\"x\"===n||\"y\"===n?(e=\"gridIndex\",\"x\"===n?\"y\":\"x\"):(e=\"polarIndex\",\"angle\"===n?\"radius\":\"angle\"),o.eachComponent(t+\"Axis\",function(t){(t.get(e)||0)===(a.get(e)||0)&&(i=t)}),i},getMinMaxSpan:function(){return k(this._minMaxSpan)},calculateDataWindow:function(o){var a,r=this._dataExtent,s=this.getAxisModel().axis.scale,l=this._dataZoomModel.getRangePropMode(),u=[0,100],h=[],c=[];rD([\"start\",\"end\"],function(t,e){var i=o[t],n=o[t+\"Value\"];\"percent\"===l[e]?(null==i&&(i=u[e]),n=s.parse(Rl(i,u,r))):(a=!0,i=Rl(n=null==n?r[e]:s.parse(n),r,u)),c[e]=n,h[e]=i}),sD(c),sD(h);var d=this._minMaxSpan;function t(t,e,i,n,o){var a=o?\"Span\":\"ValueSpan\";sb(0,t,i,\"all\",d[\"min\"+a],d[\"max\"+a]);for(var r=0;r<2;r++)e[r]=Rl(t[r],i,n,!0),o&&(e[r]=s.parse(e[r]))}return a?t(c,h,r,u,!1):t(h,c,u,r,!0),{valueWindow:c,percentWindow:h}},reset:function(t){if(t===this._dataZoomModel){var e=this.getTargetSeriesModels();this._dataExtent=function(t,e,i){var n=[1/0,-1/0];rD(i,function(t){var i=t.getData();i&&rD(i.mapDimension(e,!0),function(t){var e=i.getApproximateExtent(t);e[0]<n[0]&&(n[0]=e[0]),e[1]>n[1]&&(n[1]=e[1])})}),n[1]<n[0]&&(n=[NaN,NaN]);return function(t,e){var i=t.getAxisModel(),n=i.getMin(!0),o=\"category\"===i.get(\"type\"),a=o&&i.getCategories().length;null!=n&&\"dataMin\"!==n&&\"function\"!=typeof n?e[0]=n:o&&(e[0]=0<a?0:NaN);var r=i.getMax(!0);null!=r&&\"dataMax\"!==r&&\"function\"!=typeof r?e[1]=r:o&&(e[1]=0<a?a-1:NaN);i.get(\"scale\",!0)||(0<e[0]&&(e[0]=0),e[1]<0&&(e[1]=0))}(t,n),n}(this,this._dimName,e),function(n){var o=n._minMaxSpan={},a=n._dataZoomModel,r=n._dataExtent;rD([\"min\",\"max\"],function(t){var e=a.get(t+\"Span\"),i=a.get(t+\"ValueSpan\");null!=i&&(i=n.getAxisModel().axis.scale.parse(i)),null!=i?e=Rl(r[0]+i,r,[0,100],!0):null!=e&&(i=Rl(e,[0,100],r,!0)-r[0]),o[t+\"Span\"]=e,o[t+\"ValueSpan\"]=i})}(this);var i=this.calculateDataWindow(t.settledOption);this._valueWindow=i.valueWindow,this._percentWindow=i.percentWindow,lD(this)}},restore:function(t){t===this._dataZoomModel&&(this._valueWindow=this._percentWindow=null,lD(this,!0))},filterData:function(t,e){if(t===this._dataZoomModel){var n=this._dimName,i=this.getTargetSeriesModels(),o=t.get(\"filterMode\"),c=this._valueWindow;\"none\"!==o&&rD(i,function(i){var u=i.getData(),h=u.mapDimension(n,!0);h.length&&(\"weakFilter\"===o?u.filterSelf(function(t){for(var e,i,n,o=0;o<h.length;o++){var a=u.get(h[o],t),r=!isNaN(a),s=a<c[0],l=a>c[1];if(r&&!s&&!l)return!0;r&&(n=!0),s&&(e=!0),l&&(i=!0)}return n&&e&&i}):rD(h,function(t){if(\"empty\"===o)i.setData(u=u.map(t,function(t){return function(t){return t>=c[0]&&t<=c[1]}(t)?t:NaN}));else{var e={};e[t]=c,u.selectRange(e)}}),rD(h,function(t){u.setApproximateExtent(c,t)}))})}}};var uD=R,hD=nD,cD=Tf({type:\"dataZoom\",dependencies:[\"xAxis\",\"yAxis\",\"zAxis\",\"radiusAxis\",\"angleAxis\",\"singleAxis\",\"series\"],defaultOption:{zlevel:0,z:4,orient:null,xAxisIndex:null,yAxisIndex:null,filterMode:\"filter\",throttle:null,start:0,end:100,startValue:null,endValue:null,minSpan:null,maxSpan:null,minValueSpan:null,maxValueSpan:null,rangeMode:null},init:function(t,e,i){this._dataIntervalByAxis={},this._dataInfo={},this._axisProxies={},this.textStyleModel,this._autoThrottle=!0,this._rangePropMode=[\"percent\",\"percent\"];var n=dD(t);this.settledOption=n,this.mergeDefaultAndTheme(t,i),this.doInit(n)},mergeOption:function(t){var e=dD(t);m(this.option,t,!0),m(this.settledOption,e,!0),this.doInit(e)},doInit:function(t){var i=this.option;v.canvasSupported||(i.realtime=!1),this._setDefaultThrottle(t),fD(this,t);var n=this.settledOption;uD([[\"start\",\"startValue\"],[\"end\",\"endValue\"]],function(t,e){\"value\"===this._rangePropMode[e]&&(i[t[0]]=n[t[0]]=null)},this),this.textStyleModel=this.getModel(\"textStyle\"),this._resetTarget(),this._giveAxisProxies()},_giveAxisProxies:function(){var r=this._axisProxies;this.eachTargetAxis(function(t,e,i,n){var o=this.dependentModels[t.axis][e],a=o.__dzAxisProxy||(o.__dzAxisProxy=new aD(t.name,e,this,n));r[t.name+\"_\"+e]=a},this)},_resetTarget:function(){var i=this.option,t=this._judgeAutoMode();hD(function(t){var e=t.axisIndex;i[e]=Vo(i[e])},this),\"axisIndex\"===t?this._autoSetAxisIndex():\"orient\"===t&&this._autoSetOrient()},_judgeAutoMode:function(){var e=this.option,i=!1;hD(function(t){null!=e[t.axisIndex]&&(i=!0)},this);var t=e.orient;return null==t&&i?\"orient\":i?void 0:(null==t&&(e.orient=\"horizontal\"),\"axisIndex\")},_autoSetAxisIndex:function(){var a=!0,e=this.get(\"orient\",!0),r=this.option,t=this.dependentModels;if(a){var i=\"vertical\"===e?\"y\":\"x\";t[i+\"Axis\"].length?(r[i+\"AxisIndex\"]=[0],a=!1):uD(t.singleAxis,function(t){a&&t.get(\"orient\",!0)===e&&(r.singleAxisIndex=[t.componentIndex],a=!1)})}a&&hD(function(t){if(a){var e=[],i=this.dependentModels[t.axis];if(i.length&&!e.length)for(var n=0,o=i.length;n<o;n++)\"category\"===i[n].get(\"type\")&&e.push(n);(r[t.axisIndex]=e).length&&(a=!1)}},this),a&&this.ecModel.eachSeries(function(o){this._isSeriesHasAllAxesTypeOf(o,\"value\")&&hD(function(t){var e=r[t.axisIndex],i=o.get(t.axisIndex),n=o.get(t.axisId);_(e,i=o.ecModel.queryComponents({mainType:t.axis,index:i,id:n})[0].componentIndex)<0&&e.push(i)})},this)},_autoSetOrient:function(){var e;this.eachTargetAxis(function(t){e=e||t.name},this),this.option.orient=\"y\"===e?\"vertical\":\"horizontal\"},_isSeriesHasAllAxesTypeOf:function(n,o){var a=!0;return hD(function(t){var e=n.get(t.axisIndex),i=this.dependentModels[t.axis][e];i&&i.get(\"type\")===o||(a=!1)},this),a},_setDefaultThrottle:function(t){if(t.hasOwnProperty(\"throttle\")&&(this._autoThrottle=!1),this._autoThrottle){var e=this.ecModel.option;this.option.throttle=e.animation&&0<e.animationDurationUpdate?100:20}},getFirstTargetAxisModel:function(){var i;return hD(function(t){if(null==i){var e=this.get(t.axisIndex);e.length&&(i=this.dependentModels[t.axis][e[0]])}},this),i},eachTargetAxis:function(i,n){var o=this.ecModel;hD(function(e){uD(this.get(e.axisIndex),function(t){i.call(n,e,t,this,o)},this)},this)},getAxisProxy:function(t,e){return this._axisProxies[t+\"_\"+e]},getAxisModel:function(t,e){var i=this.getAxisProxy(t,e);return i&&i.getAxisModel()},setRawRange:function(e){var i=this.option,n=this.settledOption;uD([[\"start\",\"startValue\"],[\"end\",\"endValue\"]],function(t){null==e[t[0]]&&null==e[t[1]]||(i[t[0]]=n[t[0]]=e[t[0]],i[t[1]]=n[t[1]]=e[t[1]])},this),fD(this,e)},setCalculatedRange:function(e){var i=this.option;uD([\"start\",\"startValue\",\"end\",\"endValue\"],function(t){i[t]=e[t]})},getPercentRange:function(){var t=this.findRepresentativeAxisProxy();if(t)return t.getDataPercentWindow()},getValueRange:function(t,e){if(null!=t||null!=e)return this.getAxisProxy(t,e).getDataValueWindow();var i=this.findRepresentativeAxisProxy();return i?i.getDataValueWindow():void 0},findRepresentativeAxisProxy:function(t){if(t)return t.__dzAxisProxy;var e=this._axisProxies;for(var i in e)if(e.hasOwnProperty(i)&&e[i].hostedBy(this))return e[i];for(var i in e)if(e.hasOwnProperty(i)&&!e[i].hostedBy(this))return e[i]},getRangePropMode:function(){return this._rangePropMode.slice()}});function dD(e){var i={};return uD([\"start\",\"end\",\"startValue\",\"endValue\",\"throttle\"],function(t){e.hasOwnProperty(t)&&(i[t]=e[t])}),i}function fD(t,o){var a=t._rangePropMode,r=t.get(\"rangeMode\");uD([[\"start\",\"startValue\"],[\"end\",\"endValue\"]],function(t,e){var i=null!=o[t[0]],n=null!=o[t[1]];i&&!n?a[e]=\"percent\":!i&&n?a[e]=\"value\":r?a[e]=r[e]:i&&(a[e]=\"percent\")})}var pD=gc.extend({type:\"dataZoom\",render:function(t,e,i,n){this.dataZoomModel=t,this.ecModel=e,this.api=i},getTargetCoordInfo:function(){var t=this.dataZoomModel,o=this.ecModel,a={};return t.eachTargetAxis(function(t,e){var i=o.getComponent(t.axis,e);if(i){var n=i.getCoordSysModel();n&&function(t,e,i,n){for(var o,a=0;a<i.length;a++)if(i[a].model===t){o=i[a];break}o||i.push(o={model:t,axisModels:[],coordIndex:n});o.axisModels.push(e)}(n,i,a[n.mainType]||(a[n.mainType]=[]),n.componentIndex)}},this),a}});cD.extend({type:\"dataZoom.select\"}),pD.extend({type:\"dataZoom.select\"}),xf({getTargetSeries:function(t){var n=Q();return t.eachComponent(\"dataZoom\",function(t){t.eachTargetAxis(function(t,e,i){R(i.getAxisProxy(t.name,e).getTargetSeriesModels(),function(t){n.set(t.uid,t)})})}),n},modifyOutputEnd:!0,overallReset:function(t,n){t.eachComponent(\"dataZoom\",function(t){t.eachTargetAxis(function(t,e,i){i.getAxisProxy(t.name,e).reset(i,n)}),t.eachTargetAxis(function(t,e,i){i.getAxisProxy(t.name,e).filterData(i,n)})}),t.eachComponent(\"dataZoom\",function(t){var e=t.findRepresentativeAxisProxy(),i=e.getDataPercentWindow(),n=e.getDataValueWindow();t.setCalculatedRange({start:i[0],end:i[1],startValue:n[0],endValue:n[1]})})}}),_f(\"dataZoom\",function(i,t){var n=oD(A(t.eachComponent,t,\"dataZoom\"),nD,function(t,e){return t.get(e.axisIndex)}),o=[];t.eachComponent({mainType:\"dataZoom\",query:i},function(t,e){o.push.apply(o,n(t).nodes)}),R(o,function(t,e){t.setRawRange({start:i.start,end:i.end,startValue:i.startValue,endValue:i.endValue})})});var gD=Oc.toolbox.dataZoom,mD=R;function vD(t,e,i){(this._brushController=new Ob(i.getZr())).on(\"brush\",A(this._onBrush,this)).mount(),this._isZoomActive}vD.defaultOption={show:!0,filterMode:\"filter\",icon:{zoom:\"M0,13.5h26.9 M13.5,26.9V0 M32.1,13.5H58V58H13.5 V32.1\",back:\"M22,1.4L9.9,13.5l12.3,12.3 M10.3,13.5H54.9v44.6 H10.3v-26\"},title:k(gD.title),brushStyle:{borderWidth:0,color:\"rgba(0,0,0,0.2)\"}};var yD=vD.prototype;yD.render=function(t,e,i,n){this.model=t,this.ecModel=e,this.api=i,function(t,e,i,n,o){var a=i._isZoomActive;n&&\"takeGlobalCursor\"===n.type&&(a=\"dataZoomSelect\"===n.key&&n.dataZoomSelectActive);i._isZoomActive=a,t.setIconStatus(\"zoom\",a?\"emphasis\":\"normal\");var r=new zA(_D(t.option),e,{include:[\"grid\"]});i._brushController.setPanels(r.makePanelOpts(o,function(t){return t.xAxisDeclared&&!t.yAxisDeclared?\"lineX\":!t.xAxisDeclared&&t.yAxisDeclared?\"lineY\":\"rect\"})).enableBrush(!!a&&{brushType:\"auto\",brushStyle:t.getModel(\"brushStyle\").getItemStyle()})}(t,e,this,n,i),function(t,e){t.setIconStatus(\"back\",1<function(t){return $A(t).length}(e)?\"emphasis\":\"normal\")}(t,e)},yD.onclick=function(t,e,i){xD[i].call(this)},yD.remove=function(t,e){this._brushController.unmount()},yD.dispose=function(t,e){this._brushController.dispose()};var xD={zoom:function(){var t=!this._isZoomActive;this.api.dispatchAction({type:\"takeGlobalCursor\",key:\"dataZoomSelect\",dataZoomSelectActive:t})},back:function(){this._dispatchZoomAction(function(t){var n=$A(t),e=n[n.length-1];1<n.length&&n.pop();var o={};return qA(e,function(t,e){for(var i=n.length-1;0<=i;i--){if(t=n[i][e]){o[e]=t;break}}}),o}(this.ecModel))}};function _D(e){var i={};return R([\"xAxisIndex\",\"yAxisIndex\"],function(t){i[t]=e[t],null==i[t]&&(i[t]=\"all\"),!1!==i[t]&&\"none\"!==i[t]||(i[t]=[])}),i}yD._onBrush=function(t,e){if(e.isEnd&&t.length){var s={},l=this.ecModel;this._brushController.updateCovers([]),new zA(_D(this.model.option),l,{include:[\"grid\"]}).matchOutputRanges(t,l,function(t,e,i){if(\"cartesian2d\"===i.type){var n=t.brushType;\"rect\"===n?(o(\"x\",i,e[0]),o(\"y\",i,e[1])):o({lineX:\"x\",lineY:\"y\"}[n],i,e)}}),function(a,t){var r=$A(a);qA(t,function(t,e){for(var i=r.length-1;0<=i;i--){if(r[i][e])break}if(i<0){var n=a.queryComponents({mainType:\"dataZoom\",subType:\"select\",id:e})[0];if(n){var o=n.getPercentRange();r[0][e]={dataZoomId:e,start:o[0],end:o[1]}}}}),r.push(t)}(l,s),this._dispatchZoomAction(s)}function o(t,e,i){var n=e.getAxis(t),o=n.model,a=function(e,i,t){var n;return t.eachComponent({mainType:\"dataZoom\",subType:\"select\"},function(t){t.getAxisModel(e,i.componentIndex)&&(n=t)}),n}(t,o,l),r=a.findRepresentativeAxisProxy(o).getMinMaxSpan();null==r.minValueSpan&&null==r.maxValueSpan||(i=sb(0,i.slice(),n.scale.getExtent(),0,r.minValueSpan,r.maxValueSpan)),a&&(s[a.id]={dataZoomId:a.id,startValue:i[0],endValue:i[1]})}},yD._dispatchZoomAction=function(t){var i=[];mD(t,function(t,e){i.push(k(t))}),i.length&&this.api.dispatchAction({type:\"dataZoom\",from:this.uid,batch:i})},dA(\"dataZoom\",vD),yf(function(s){if(s){var l=s.dataZoom||(s.dataZoom=[]);L(l)||(s.dataZoom=l=[l]);var t=s.toolbox;if(t&&(L(t)&&(t=t[0]),t&&t.feature)){var e=t.feature.dataZoom;i(\"xAxis\",e),i(\"yAxis\",e)}}function i(n,o){if(o){var a=n+\"Index\",r=o[a];null==r||\"all\"===r||L(r)||(r=!1===r||\"none\"===r?[]:[r]),function(t,e){var i=s[t];L(i)||(i=i?[i]:[]);mD(i,e)}(n,function(t,e){if(null==r||\"all\"===r||-1!==_(r,e)){var i={type:\"select\",$fromToolbox:!0,filterMode:o.filterMode||\"filter\",id:\"\\0_ec_\\0toolbox-dataZoom_\"+n+e};i[a]=e,l.push(i)}})}}});var wD=Oc.toolbox.restore;function bD(t){this.model=t}bD.defaultOption={show:!0,icon:\"M3.8,33.4 M47,18.9h9.8V8.7 M56.3,20.1 C52.1,9,40.5,0.6,26.8,2.1C12.6,3.7,1.6,16.2,2.1,30.6 M13,41.1H3.1v10.2 M3.7,39.9c4.2,11.1,15.8,19.5,29.5,18 c14.2-1.6,25.2-14.1,24.7-28.5\",title:wD.title},bD.prototype.onclick=function(t,e,i){!function(t){t[KA]=null}(t),e.dispatchAction({type:\"restore\",from:this.uid})},dA(\"restore\",bD),_f({type:\"restore\",event:\"restore\",update:\"prepareAndUpdate\"},function(t,e){e.resetOption(\"recreate\")}),Tf({type:\"tooltip\",dependencies:[\"axisPointer\"],defaultOption:{zlevel:0,z:60,show:!0,showContent:!0,trigger:\"item\",triggerOn:\"mousemove|click\",alwaysShowContent:!1,displayMode:\"single\",renderMode:\"auto\",confine:!1,showDelay:0,hideDelay:100,transitionDuration:.4,enterable:!1,backgroundColor:\"rgba(50,50,50,0.7)\",borderColor:\"#333\",borderRadius:4,borderWidth:0,padding:5,extraCssText:\"\",axisPointer:{type:\"line\",axis:\"auto\",animation:\"auto\",animationDurationUpdate:200,animationEasingUpdate:\"exponentialOut\",crossStyle:{color:\"#999\",width:1,type:\"dashed\",textStyle:{}}},textStyle:{color:\"#fff\",fontSize:14}}});var SD=R,MD=eu,ID=[\"\",\"-webkit-\",\"-moz-\",\"-o-\"];function TD(o){var a=[],t=o.get(\"transitionDuration\"),e=o.get(\"backgroundColor\"),i=o.getModel(\"textStyle\"),n=o.get(\"padding\");return t&&a.push(function(t){var e=\"cubic-bezier(0.23, 1, 0.32, 1)\",i=\"left \"+t+\"s \"+e+\",top \"+t+\"s \"+e;return O(ID,function(t){return t+\"transition:\"+i}).join(\";\")}(t)),e&&(v.canvasSupported?a.push(\"background-Color:\"+e):(a.push(\"background-Color:#\"+Ze(e)),a.push(\"filter:alpha(opacity=70)\"))),SD([\"width\",\"color\",\"radius\"],function(t){var e=\"border-\"+t,i=MD(e),n=o.get(i);null!=n&&a.push(e+\":\"+n+(\"color\"===t?\"\":\"px\"))}),a.push(function(i){var n=[],t=i.get(\"fontSize\"),e=i.getTextColor();e&&n.push(\"color:\"+e),n.push(\"font:\"+i.getFont());var o=i.get(\"lineHeight\");null==o&&(o=Math.round(3*t/2)),t&&n.push(\"line-height:\"+o+\"px\");var a=i.get(\"textShadowColor\"),r=i.get(\"textShadowBlur\")||0,s=i.get(\"textShadowOffsetX\")||0,l=i.get(\"textShadowOffsetY\")||0;return r&&n.push(\"text-shadow:\"+s+\"px \"+l+\"px \"+r+\"px \"+a),SD([\"decoration\",\"align\"],function(t){var e=i.get(t);e&&n.push(\"text-\"+t+\":\"+e)}),n.join(\";\")}(i)),null!=n&&a.push(\"padding:\"+iu(n).join(\"px \")+\"px\"),a.join(\";\")+\";\"}function AD(t,e,i,n,o){var a=e&&e.painter;if(i){var r=a&&a.getViewportRoot();r&&function(t,e,i,n,o){Et(Rt,e,n,o,!0)&&Et(t,i,Rt[0],Rt[1])}(t,r,document.body,n,o)}else{t[0]=n,t[1]=o;var s=a&&a.getViewportRootOffset();s&&(t[0]+=s.offsetLeft,t[1]+=s.offsetTop)}t[2]=t[0]/e.getWidth(),t[3]=t[1]/e.getHeight()}function DD(t,e,i){if(v.wxa)return null;var n=document.createElement(\"div\");n.domBelongToZr=!0,this.el=n;var o=this._zr=e.getZr(),a=this._appendToBody=i&&i.appendToBody;this._styleCoord=[0,0,0,0],AD(this._styleCoord,o,a,e.getWidth()/2,e.getHeight()/2),a?document.body.appendChild(n):t.appendChild(n),this._container=t,this._show=!1,this._hideTimeout;var r=this;n.onmouseenter=function(){r._enterable&&(clearTimeout(r._hideTimeout),r._show=!0),r._inContent=!0},n.onmousemove=function(t){if(t=t||window.event,!r._enterable){var e=o.handler;Zt(o.painter.getViewportRoot(),t,!0),e.dispatch(\"mousemove\",t)}},n.onmouseleave=function(){r._enterable&&r._show&&r.hideLater(r._hideDelay),r._inContent=!1}}function CD(t,e,i,n){t[0]=i,t[1]=n,t[2]=t[0]/e.getWidth(),t[3]=t[1]/e.getHeight()}function LD(t){var e=this._zr=t.getZr();this._styleCoord=[0,0,0,0],CD(this._styleCoord,e,t.getWidth()/2,t.getHeight()/2),this._show=!1,this._hideTimeout}DD.prototype={constructor:DD,_enterable:!0,update:function(t){var e=this._container,i=e.currentStyle||document.defaultView.getComputedStyle(e),n=e.style;\"absolute\"!==n.position&&\"absolute\"!==i.position&&(n.position=\"relative\"),t.get(\"alwaysShowContent\")&&this._moveTooltipIfResized()},_moveTooltipIfResized:function(){var t=this._styleCoord[2],e=this._styleCoord[3],i=t*this._zr.getWidth(),n=e*this._zr.getHeight();this.moveTo(i,n)},show:function(t){clearTimeout(this._hideTimeout);var e=this.el,i=this._styleCoord;e.style.cssText=\"position:absolute;display:block;border-style:solid;white-space:nowrap;z-index:9999999;\"+TD(t)+\";left:\"+i[0]+\"px;top:\"+i[1]+\"px;\"+(t.get(\"extraCssText\")||\"\"),e.style.display=e.innerHTML?\"block\":\"none\",e.style.pointerEvents=this._enterable?\"auto\":\"none\",this._show=!0},setContent:function(t){this.el.innerHTML=null==t?\"\":t},setEnterable:function(t){this._enterable=t},getSize:function(){var t=this.el;return[t.clientWidth,t.clientHeight]},moveTo:function(t,e){var i=this._styleCoord;AD(i,this._zr,this._appendToBody,t,e);var n=this.el.style;n.left=i[0]+\"px\",n.top=i[1]+\"px\"},hide:function(){this.el.style.display=\"none\",this._show=!1},hideLater:function(t){!this._show||this._inContent&&this._enterable||(t?(this._hideDelay=t,this._show=!1,this._hideTimeout=setTimeout(A(this.hide,this),t)):this.hide())},isShow:function(){return this._show},dispose:function(){this.el.parentNode.removeChild(this.el)},getOuterSize:function(){var t=this.el.clientWidth,e=this.el.clientHeight;if(document.defaultView&&document.defaultView.getComputedStyle){var i=document.defaultView.getComputedStyle(this.el);i&&(t+=parseInt(i.borderLeftWidth,10)+parseInt(i.borderRightWidth,10),e+=parseInt(i.borderTopWidth,10)+parseInt(i.borderBottomWidth,10))}return{width:t,height:e}}},LD.prototype={constructor:LD,_enterable:!0,update:function(t){t.get(\"alwaysShowContent\")&&this._moveTooltipIfResized()},_moveTooltipIfResized:function(){var t=this._styleCoord[2],e=this._styleCoord[3],i=t*this._zr.getWidth(),n=e*this._zr.getHeight();this.moveTo(i,n)},show:function(t){this._hideTimeout&&clearTimeout(this._hideTimeout),this.el.attr(\"show\",!0),this._show=!0},setContent:function(t,e,i){this.el&&this._zr.remove(this.el);for(var n={},o=t,a=\"{marker\",r=o.indexOf(a);0<=r;){var s=o.indexOf(\"|}\"),l=o.substr(r+a.length,s-r-a.length);-1<l.indexOf(\"sub\")?n[\"marker\"+l]={textWidth:4,textHeight:4,textBorderRadius:2,textBackgroundColor:e[l],textOffset:[3,0]}:n[\"marker\"+l]={textWidth:10,textHeight:10,textBorderRadius:5,textBackgroundColor:e[l]},r=(o=o.substr(s+1)).indexOf(\"{marker\")}var u=i.getModel(\"textStyle\"),h=u.get(\"fontSize\"),c=i.get(\"textLineHeight\");null==c&&(c=Math.round(3*h/2)),this.el=new Ur({style:nl({},u,{rich:n,text:t,textBackgroundColor:i.get(\"backgroundColor\"),textBorderRadius:i.get(\"borderRadius\"),textFill:i.get(\"textStyle.color\"),textPadding:i.get(\"padding\"),textLineHeight:c}),z:i.get(\"z\")}),this._zr.add(this.el);var d=this;this.el.on(\"mouseover\",function(){d._enterable&&(clearTimeout(d._hideTimeout),d._show=!0),d._inContent=!0}),this.el.on(\"mouseout\",function(){d._enterable&&d._show&&d.hideLater(d._hideDelay),d._inContent=!1})},setEnterable:function(t){this._enterable=t},getSize:function(){var t=this.el.getBoundingRect();return[t.width,t.height]},moveTo:function(t,e){if(this.el){var i=this._styleCoord;CD(i,this._zr,t,e),this.el.attr(\"position\",[i[0],i[1]])}},hide:function(){this.el&&this.el.hide(),this._show=!1},hideLater:function(t){!this._show||this._inContent&&this._enterable||(t?(this._hideDelay=t,this._show=!1,this._hideTimeout=setTimeout(A(this.hide,this),t)):this.hide())},isShow:function(){return this._show},dispose:function(){clearTimeout(this._hideTimeout),this.el&&this._zr.remove(this.el)},getOuterSize:function(){var t=this.getSize();return{width:t[0],height:t[1]}}};var kD=A,PD=R,ND=El,OD=new rs({shape:{x:-1,y:-1,width:2,height:2}});function RD(t){for(var e=t.pop();t.length;){var i=t.pop();i&&(Cl.isInstance(i)&&(i=i.get(\"tooltip\",!0)),\"string\"==typeof i&&(i={formatter:i}),e=new Cl(i,e,e.ecModel))}return e}function ED(t,e){return t.dispatchAction||A(e.dispatchAction,e)}function zD(t){return\"center\"===t||\"middle\"===t}Af({type:\"tooltip\",init:function(t,e){if(!v.node){var i,n=t.getComponent(\"tooltip\"),o=n.get(\"renderMode\");this._renderMode=Qo(o),\"html\"===this._renderMode?(i=new DD(e.getDom(),e,{appendToBody:n.get(\"appendToBody\",!0)}),this._newLine=\"<br/>\"):(i=new LD(e),this._newLine=\"\\n\"),this._tooltipContent=i}},render:function(t,e,i){if(!v.node){this.group.removeAll(),this._tooltipModel=t,this._ecModel=e,this._api=i,this._lastDataByCoordSys=null,this._alwaysShowContent=t.get(\"alwaysShowContent\");var n=this._tooltipContent;n.update(t),n.setEnterable(t.get(\"enterable\")),this._initGlobalListener(),this._keepShow()}},_initGlobalListener:function(){var n=this._tooltipModel.get(\"triggerOn\");bI(\"itemTooltip\",this._api,kD(function(t,e,i){\"none\"!==n&&(0<=n.indexOf(t)?this._tryShow(e,i):\"leave\"===t&&this._hide(i))},this))},_keepShow:function(){var t=this._tooltipModel,e=this._ecModel,i=this._api;if(null!=this._lastX&&null!=this._lastY&&\"none\"!==t.get(\"triggerOn\")){var n=this;clearTimeout(this._refreshUpdateTimeout),this._refreshUpdateTimeout=setTimeout(function(){i.isDisposed()||n.manuallyShowTip(t,e,i,{x:n._lastX,y:n._lastY})})}},manuallyShowTip:function(t,e,i,n){if(n.from!==this.uid&&!v.node){var o=ED(n,i);this._ticket=\"\";var a=n.dataByCoordSys;if(n.tooltip&&null!=n.x&&null!=n.y){var r=OD;r.position=[n.x,n.y],r.update(),r.tooltip=n.tooltip,this._tryShow({offsetX:n.x,offsetY:n.y,target:r},o)}else if(a)this._tryShow({offsetX:n.x,offsetY:n.y,position:n.position,dataByCoordSys:n.dataByCoordSys,tooltipOption:n.tooltipOption},o);else if(null!=n.seriesIndex){if(this._manuallyAxisShowTip(t,e,i,n))return;var s=cI(n,e),l=s.point[0],u=s.point[1];null!=l&&null!=u&&this._tryShow({offsetX:l,offsetY:u,position:n.position,target:s.el},o)}else null!=n.x&&null!=n.y&&(i.dispatchAction({type:\"updateAxisPointer\",x:n.x,y:n.y}),this._tryShow({offsetX:n.x,offsetY:n.y,position:n.position,target:i.getZr().findHover(n.x,n.y).target},o))}},manuallyHideTip:function(t,e,i,n){var o=this._tooltipContent;!this._alwaysShowContent&&this._tooltipModel&&o.hideLater(this._tooltipModel.get(\"hideDelay\")),this._lastX=this._lastY=null,n.from!==this.uid&&this._hide(ED(n,i))},_manuallyAxisShowTip:function(t,e,i,n){var o=n.seriesIndex,a=n.dataIndex,r=e.getComponent(\"axisPointer\").coordSysAxesInfo;if(null!=o&&null!=a&&null!=r){var s=e.getSeriesByIndex(o);if(s)if(\"axis\"===(t=RD([s.getData().getItemModel(a),s,(s.coordinateSystem||{}).model,t])).get(\"trigger\"))return i.dispatchAction({type:\"updateAxisPointer\",seriesIndex:o,dataIndex:a,position:n.position}),!0}},_tryShow:function(t,e){var i=t.target;if(this._tooltipModel){this._lastX=t.offsetX,this._lastY=t.offsetY;var n=t.dataByCoordSys;n&&n.length?this._showAxisTooltip(n,t):i&&null!=i.dataIndex?(this._lastDataByCoordSys=null,this._showSeriesItemTooltip(t,i,e)):i&&i.tooltip?(this._lastDataByCoordSys=null,this._showComponentItemTooltip(t,i,e)):(this._lastDataByCoordSys=null,this._hide(e))}},_showOrMove:function(t,e){var i=t.get(\"showDelay\");e=A(e,this),clearTimeout(this._showTimout),0<i?this._showTimout=setTimeout(e,i):e()},_showAxisTooltip:function(t,e){var d=this._ecModel,i=this._tooltipModel,n=[e.offsetX,e.offsetY],o=[],f=[],a=RD([e.tooltipOption,i]),p=this._renderMode,r=this._newLine,g={};PD(t,function(t){PD(t.dataByAxis,function(s){var l=d.getComponent(s.axisDim+\"Axis\",s.axisIndex),u=s.value,h=[];if(l&&null!=u){var c=zI(u,l.axis,d,s.seriesDataIndices,s.valueLabelOpt);R(s.seriesDataIndices,function(t){var e=d.getSeriesByIndex(t.seriesIndex),i=t.dataIndexInside,n=e&&e.getDataParams(i);if(n.axisDim=s.axisDim,n.axisIndex=s.axisIndex,n.axisType=s.axisType,n.axisId=s.axisId,n.axisValue=ug(l.axis,u),n.axisValueLabel=c,n){f.push(n);var o,a=e.formatTooltip(i,!0,null,p);if(z(a)){o=a.html;var r=a.markers;m(g,r)}else o=a;h.push(o)}});var t=c;\"html\"!==p?o.push(h.join(r)):o.push((t?au(t)+r:\"\")+h.join(r))}})},this),o.reverse(),o=o.join(this._newLine+this._newLine);var s=e.position;this._showOrMove(a,function(){this._updateContentNotChangedOnAxis(t)?this._updatePosition(a,s,n[0],n[1],this._tooltipContent,f):this._showTooltipContent(a,o,f,Math.random(),n[0],n[1],s,void 0,g)})},_showSeriesItemTooltip:function(t,e,i){var n=this._ecModel,o=e.seriesIndex,a=n.getSeriesByIndex(o),r=e.dataModel||a,s=e.dataIndex,l=e.dataType,u=r.getData(l),h=RD([u.getItemModel(s),r,a&&(a.coordinateSystem||{}).model,this._tooltipModel]),c=h.get(\"trigger\");if(null==c||\"item\"===c){var d,f,p=r.getDataParams(s,l),g=r.formatTooltip(s,!1,l,this._renderMode);f=z(g)?(d=g.html,g.markers):(d=g,null);var m=\"item_\"+r.name+\"_\"+s;this._showOrMove(h,function(){this._showTooltipContent(h,d,p,m,t.offsetX,t.offsetY,t.position,t.target,f)}),i({type:\"showTip\",dataIndexInside:s,dataIndex:u.getRawIndex(s),seriesIndex:o,from:this.uid})}},_showComponentItemTooltip:function(t,e,i){var n=e.tooltip;if(\"string\"==typeof n){n={content:n,formatter:n}}var o=new Cl(n,this._tooltipModel,this._ecModel),a=o.get(\"content\"),r=Math.random();this._showOrMove(o,function(){this._showTooltipContent(o,a,o.get(\"formatterParams\")||{},r,t.offsetX,t.offsetY,t.position,e)}),i({type:\"showTip\",from:this.uid})},_showTooltipContent:function(i,t,n,e,o,a,r,s,l){if(this._ticket=\"\",i.get(\"showContent\")&&i.get(\"show\")){var u=this._tooltipContent,h=i.get(\"formatter\");r=r||i.get(\"position\");var c=t;if(h&&\"string\"==typeof h)c=lu(h,n,!0);else if(\"function\"==typeof h){var d=kD(function(t,e){t===this._ticket&&(u.setContent(e,l,i),this._updatePosition(i,r,o,a,u,n,s))},this);this._ticket=e,c=h(n,e,d)}u.setContent(c,l,i),u.show(i),this._updatePosition(i,r,o,a,u,n,s)}},_updatePosition:function(t,e,i,n,o,a,r){var s=this._api.getWidth(),l=this._api.getHeight();e=e||t.get(\"position\");var u=o.getSize(),h=t.get(\"align\"),c=t.get(\"verticalAlign\"),d=r&&r.getBoundingRect().clone();if(r&&d.applyTransform(r.transform),\"function\"==typeof e&&(e=e([i,n],a,o.el,d,{viewSize:[s,l],contentSize:u.slice()})),L(e))i=ND(e[0],s),n=ND(e[1],l);else if(z(e)){e.width=u[0],e.height=u[1];var f=bu(e,{width:s,height:l});i=f.x,n=f.y,c=h=null}else if(\"string\"==typeof e&&r){i=(p=function(t,e,i){var n=i[0],o=i[1],a=0,r=0,s=e.width,l=e.height;switch(t){case\"inside\":a=e.x+s/2-n/2,r=e.y+l/2-o/2;break;case\"top\":a=e.x+s/2-n/2,r=e.y-o-5;break;case\"bottom\":a=e.x+s/2-n/2,r=e.y+l+5;break;case\"left\":a=e.x-n-5,r=e.y+l/2-o/2;break;case\"right\":a=e.x+s+5,r=e.y+l/2-o/2}return[a,r]}(e,d,u))[0],n=p[1]}else{var p;i=(p=function(t,e,i,n,o,a,r){var s=i.getOuterSize(),l=s.width,u=s.height;null!=a&&(n<t+l+a?t-=l+a:t+=a);null!=r&&(o<e+u+r?e-=u+r:e+=r);return[t,e]}(i,n,o,s,l,h?null:20,c?null:20))[0],n=p[1]}h&&(i-=zD(h)?u[0]/2:\"right\"===h?u[0]:0),c&&(n-=zD(c)?u[1]/2:\"bottom\"===c?u[1]:0),t.get(\"confine\")&&(i=(p=function(t,e,i,n,o){var a=i.getOuterSize(),r=a.width,s=a.height;return t=Math.min(t+r,n)-r,e=Math.min(e+s,o)-s,t=Math.max(t,0),e=Math.max(e,0),[t,e]}(i,n,o,s,l))[0],n=p[1]);o.moveTo(i,n)},_updateContentNotChangedOnAxis:function(n){var t=this._lastDataByCoordSys,r=!!t&&t.length===n.length;return r&&PD(t,function(t,e){var i=t.dataByAxis||{},a=(n[e]||{}).dataByAxis||[];(r&=i.length===a.length)&&PD(i,function(t,e){var i=a[e]||{},n=t.seriesDataIndices||[],o=i.seriesDataIndices||[];(r&=t.value===i.value&&t.axisType===i.axisType&&t.axisId===i.axisId&&n.length===o.length)&&PD(n,function(t,e){var i=o[e];r&=t.seriesIndex===i.seriesIndex&&t.dataIndex===i.dataIndex})})}),this._lastDataByCoordSys=n,!!r},_hide:function(t){this._lastDataByCoordSys=null,t({type:\"hideTip\",from:this.uid})},dispose:function(t,e){v.node||(this._tooltipContent.dispose(),II(\"itemTooltip\",e))}}),_f({type:\"showTip\",event:\"showTip\",update:\"tooltip:manuallyShowTip\"},function(){}),_f({type:\"hideTip\",event:\"hideTip\",update:\"tooltip:manuallyHideTip\"},function(){});var BD=[\"rect\",\"polygon\",\"keep\",\"clear\"];var VD=R;function GD(t){if(t)for(var e in t)if(t.hasOwnProperty(e))return!0}function FD(t,e,a){var i={};return VD(e,function(n){var o=i[n]=function(){function t(){}return t.prototype.__hidden=t.prototype,new t}();VD(t[n],function(t,e){if(g_.isValidType(e)){var i={type:e,visual:t};a&&a(i,n),o[e]=new g_(i),\"opacity\"===e&&((i=k(i)).type=\"colorAlpha\",o.__hidden.__alphaForOpacity=new g_(i))}})}),i}function WD(e,i,t){var n;R(t,function(t){i.hasOwnProperty(t)&&GD(i[t])&&(n=!0)}),n&&R(t,function(t){i.hasOwnProperty(t)&&GD(i[t])?e[t]=k(i[t]):delete e[t]})}var HD={lineX:ZD(0),lineY:ZD(1),rect:{point:function(t,e,i){return t&&i.boundingRect.contain(t[0],t[1])},rect:function(t,e,i){return t&&i.boundingRect.intersect(t)}},polygon:{point:function(t,e,i){return t&&i.boundingRect.contain(t[0],t[1])&&Tg(i.range,t[0],t[1])},rect:function(t,e,i){var n=i.range;if(!t||n.length<=1)return!1;var o=t.x,a=t.y,r=t.width,s=t.height,l=n[0];return!!(Tg(n,o,a)||Tg(n,o+r,a)||Tg(n,o,a+s)||Tg(n,o+r,a+s)||Di.create(t).contain(l[0],l[1])||xl(o,a,o+r,a,n)||xl(o,a,o,a+s,n)||xl(o+r,a,o+r,a+s,n)||xl(o,a+s,o+r,a+s,n))||void 0}}};function ZD(a){var r=[\"x\",\"y\"],s=[\"width\",\"height\"];return{point:function(t,e,i){if(t){var n=i.range;return UD(t[a],n)}},rect:function(t,e,i){if(t){var n=i.range,o=[t[r[a]],t[r[a]]+t[s[a]]];return o[1]<o[0]&&o.reverse(),UD(o[0],n)||UD(o[1],n)||UD(n[0],o)||UD(n[1],o)}}}}function UD(t,e){return e[0]<=t&&t<=e[1]}var XD=[\"inBrush\",\"outOfBrush\"],YD=\"__ecBrushSelect\",jD=\"__ecInBrushSelectEvent\",qD=Ld.VISUAL.BRUSH;function KD(e){e.eachComponent({mainType:\"brush\"},function(t){(t.brushTargetManager=new zA(t.option,e)).setInputRanges(t.areas,e)})}function $D(t,e){if(!t.isDisposed()){var i=t.getZr();i[jD]=!0,t.dispatchAction({type:\"brushSelect\",batch:e}),i[jD]=!1}}function JD(t,e,i,n){for(var o=0,a=e.length;o<a;o++){var r=e[o];if(t[r.brushType](n,i,r.selectors,r))return!0}}function QD(t){var r=t.brushSelector;if(E(r)){var e=[];return R(HD,function(a,t){e[t]=function(t,e,i,n){var o=e.getItemLayout(t);return a[r](o,i,n)}}),e}if(C(r)){var i={};return R(HD,function(t,e){i[e]=r}),i}return r}bf(qD,function(t,e,i){t.eachComponent({mainType:\"brush\"},function(t){i&&\"takeGlobalCursor\"===i.type&&t.setBrushOption(\"brush\"===i.key?i.brushOption:{brushType:!1})}),KD(t)}),Sf(qD,function(p,t,e){var o,g,m=[];p.eachComponent({mainType:\"brush\"},function(a,t){var s={brushId:a.id,brushIndex:t,brushName:a.name,areas:k(a.areas),selected:[]};m.push(s);var e=a.option,i=e.brushLink,n=[],l=[],u=[],h=0;t||(o=e.throttleType,g=e.throttleDelay);var r=O(a.areas,function(t){return function(i){var n=i.selectors={};return R(HD[i.brushType],function(e,t){n[t]=function(t){return e(t,n,i)}}),i}(D({boundingRect:tC[t.brushType](t)},t))}),c=FD(a.option,XD,function(t){t.mappingMethod=\"fixed\"});function d(t){return\"all\"===i||n[t]}function f(t){return!!t.length}L(i)&&R(i,function(t){n[t]=1}),p.eachSeries(function(t,e){var i=u[e]=[];\"parallel\"===t.subType?function(t,e){var i=t.coordinateSystem;h|=i.hasAxisBrushed(),d(e)&&i.eachActiveState(t.getData(),function(t,e){\"active\"===t&&(l[e]=1)})}(t,e):function(e,t,i){var n=QD(e);if(!n||function(t,e){var i=t.option.seriesIndex;return null!=i&&\"all\"!==i&&(L(i)?_(i,e)<0:e!==i)}(a,t))return;if(R(r,function(t){n[t.brushType]&&a.brushTargetManager.controlSeries(t,e,p)&&i.push(t),h|=f(i)}),d(t)&&f(i)){var o=e.getData();o.each(function(t){JD(n,i,o,t)&&(l[t]=1)})}}(t,e,i)}),p.eachSeries(function(t,e){var i={seriesId:t.id,seriesIndex:e,seriesName:t.name,dataIndex:[]};s.selected.push(i);var n=QD(t),o=u[e],a=t.getData(),r=d(e)?function(t){return l[t]?(i.dataIndex.push(a.getRawIndex(t)),\"inBrush\"):\"outOfBrush\"}:function(t){return JD(n,o,a,t)?(i.dataIndex.push(a.getRawIndex(t)),\"inBrush\"):\"outOfBrush\"};(d(e)?h:f(o))&&function(t,u,h,c,d,f){var p,g={};function m(t){return h.getItemVisual(p,t)}function v(t,e){h.setItemVisual(p,t,e)}function e(t,e){p=null==f?t:e;var i=h.getRawDataItem(p);if(!i||!1!==i.visualMap)for(var n=c.call(d,t),o=u[n],a=g[n],r=0,s=a.length;r<s;r++){var l=a[r];o[l]&&o[l].applyVisual(t,m,v)}}R(t,function(t){var e=g_.prepareVisualTypes(u[t]);g[t]=e}),null==f?h.each(e):h.each([f],e)}(XD,c,a,r)})}),function(t,e,i,n,o){if(!o)return;var a=t.getZr();if(a[jD])return;a[YD]||(a[YD]=$D);kc(a,YD,i,e)(t,n)}(t,o,g,m,e)});var tC={lineX:et,lineY:et,rect:function(t){return eC(t.range)},polygon:function(t){for(var e,i=t.range,n=0,o=i.length;n<o;n++){e=e||[[1/0,-1/0],[1/0,-1/0]];var a=i[n];a[0]<e[0][0]&&(e[0][0]=a[0]),a[0]>e[0][1]&&(e[0][1]=a[0]),a[1]<e[1][0]&&(e[1][0]=a[1]),a[1]>e[1][1]&&(e[1][1]=a[1])}return e&&eC(e)}};function eC(t){return new Di(t[0][0],t[1][0],t[0][1]-t[0][0],t[1][1]-t[1][0])}var iC=[\"#ddd\"];Tf({type:\"brush\",dependencies:[\"geo\",\"grid\",\"xAxis\",\"yAxis\",\"parallel\",\"series\"],defaultOption:{toolbox:null,brushLink:null,seriesIndex:\"all\",geoIndex:null,xAxisIndex:null,yAxisIndex:null,brushType:\"rect\",brushMode:\"single\",transformable:!0,brushStyle:{borderWidth:1,color:\"rgba(120,140,180,0.3)\",borderColor:\"rgba(120,140,180,0.8)\"},throttleType:\"fixRate\",throttleDelay:0,removeOnClick:!0,z:1e4},areas:[],brushType:null,brushOption:{},coordInfoList:[],optionUpdated:function(t,e){var i=this.option;e||WD(i,t,[\"inBrush\",\"outOfBrush\"]);var n=i.inBrush=i.inBrush||{};i.outOfBrush=i.outOfBrush||{color:iC},n.hasOwnProperty(\"liftZ\")||(n.liftZ=5)},setAreas:function(t){t&&(this.areas=O(t,function(t){return nC(this.option,t)},this))},setBrushOption:function(t){this.brushOption=nC(this.option,t),this.brushType=this.brushOption.brushType}});function nC(t,e){return m({brushType:t.brushType,brushMode:t.brushMode,transformable:t.transformable,brushStyle:new Cl(t.brushStyle).getItemStyle(),removeOnClick:t.removeOnClick,z:t.z},e,!0)}function oC(t,e,i,n){n&&n.$from===t.id||this._brushController.setPanels(t.brushTargetManager.makePanelOpts(i)).enableBrush(t.brushOption).updateCovers(t.areas.slice())}Af({type:\"brush\",init:function(t,e){this.ecModel=t,this.api=e,this.model,(this._brushController=new Ob(e.getZr())).on(\"brush\",A(this._onBrush,this)).mount()},render:function(t){return this.model=t,oC.apply(this,arguments)},updateTransform:function(t,e){return KD(e),oC.apply(this,arguments)},updateView:oC,dispose:function(){this._brushController.dispose()},_onBrush:function(t,e){var i=this.model.id;this.model.brushTargetManager.setOutputRanges(t,this.ecModel),e.isEnd&&!e.removeOnClick||this.api.dispatchAction({type:\"brush\",brushId:i,areas:k(t),$from:i}),e.isEnd&&this.api.dispatchAction({type:\"brushEnd\",brushId:i,areas:k(t),$from:i})}}),_f({type:\"brush\",event:\"brush\"},function(e,t){t.eachComponent({mainType:\"brush\",query:e},function(t){t.setAreas(e.areas)})}),_f({type:\"brushSelect\",event:\"brushSelected\",update:\"none\"},function(){}),_f({type:\"brushEnd\",event:\"brushEnd\",update:\"none\"},function(){});var aC=Oc.toolbox.brush;function rC(t,e,i){this.model=t,this.ecModel=e,this.api=i,this._brushType,this._brushMode}rC.defaultOption={show:!0,type:[\"rect\",\"polygon\",\"lineX\",\"lineY\",\"keep\",\"clear\"],icon:{rect:\"M7.3,34.7 M0.4,10V-0.2h9.8 M89.6,10V-0.2h-9.8 M0.4,60v10.2h9.8 M89.6,60v10.2h-9.8 M12.3,22.4V10.5h13.1 M33.6,10.5h7.8 M49.1,10.5h7.8 M77.5,22.4V10.5h-13 M12.3,31.1v8.2 M77.7,31.1v8.2 M12.3,47.6v11.9h13.1 M33.6,59.5h7.6 M49.1,59.5 h7.7 M77.5,47.6v11.9h-13\",polygon:\"M55.2,34.9c1.7,0,3.1,1.4,3.1,3.1s-1.4,3.1-3.1,3.1 s-3.1-1.4-3.1-3.1S53.5,34.9,55.2,34.9z M50.4,51c1.7,0,3.1,1.4,3.1,3.1c0,1.7-1.4,3.1-3.1,3.1c-1.7,0-3.1-1.4-3.1-3.1 C47.3,52.4,48.7,51,50.4,51z M55.6,37.1l1.5-7.8 M60.1,13.5l1.6-8.7l-7.8,4 M59,19l-1,5.3 M24,16.1l6.4,4.9l6.4-3.3 M48.5,11.6 l-5.9,3.1 M19.1,12.8L9.7,5.1l1.1,7.7 M13.4,29.8l1,7.3l6.6,1.6 M11.6,18.4l1,6.1 M32.8,41.9 M26.6,40.4 M27.3,40.2l6.1,1.6 M49.9,52.1l-5.6-7.6l-4.9-1.2\",lineX:\"M15.2,30 M19.7,15.6V1.9H29 M34.8,1.9H40.4 M55.3,15.6V1.9H45.9 M19.7,44.4V58.1H29 M34.8,58.1H40.4 M55.3,44.4 V58.1H45.9 M12.5,20.3l-9.4,9.6l9.6,9.8 M3.1,29.9h16.5 M62.5,20.3l9.4,9.6L62.3,39.7 M71.9,29.9H55.4\",lineY:\"M38.8,7.7 M52.7,12h13.2v9 M65.9,26.6V32 M52.7,46.3h13.2v-9 M24.9,12H11.8v9 M11.8,26.6V32 M24.9,46.3H11.8v-9 M48.2,5.1l-9.3-9l-9.4,9.2 M38.9-3.9V12 M48.2,53.3l-9.3,9l-9.4-9.2 M38.9,62.3V46.4\",keep:\"M4,10.5V1h10.3 M20.7,1h6.1 M33,1h6.1 M55.4,10.5V1H45.2 M4,17.3v6.6 M55.6,17.3v6.6 M4,30.5V40h10.3 M20.7,40 h6.1 M33,40h6.1 M55.4,30.5V40H45.2 M21,18.9h62.9v48.6H21V18.9z\",clear:\"M22,14.7l30.9,31 M52.9,14.7L22,45.7 M4.7,16.8V4.2h13.1 M26,4.2h7.8 M41.6,4.2h7.8 M70.3,16.8V4.2H57.2 M4.7,25.9v8.6 M70.3,25.9v8.6 M4.7,43.2v12.6h13.1 M26,55.8h7.8 M41.6,55.8h7.8 M70.3,43.2v12.6H57.2\"},title:k(aC.title)};var sC=rC.prototype;sC.render=sC.updateView=function(e,t,i){var n,o,a;t.eachComponent({mainType:\"brush\"},function(t){n=t.brushType,o=t.brushOption.brushMode||\"single\",a|=t.areas.length}),this._brushType=n,this._brushMode=o,R(e.get(\"type\",!0),function(t){e.setIconStatus(t,(\"keep\"===t?\"multiple\"===o:\"clear\"===t?a:t===n)?\"emphasis\":\"normal\")})},sC.getIcons=function(){var t=this.model,e=t.get(\"icon\",!0),i={};return R(t.get(\"type\",!0),function(t){e[t]&&(i[t]=e[t])}),i},sC.onclick=function(t,e,i){var n=this._brushType,o=this._brushMode;\"clear\"===i?(e.dispatchAction({type:\"axisAreaSelect\",intervals:[]}),e.dispatchAction({type:\"brush\",command:\"clear\",areas:[]})):e.dispatchAction({type:\"takeGlobalCursor\",key:\"brush\",brushOption:{brushType:\"keep\"===i?n:n!==i&&i,brushMode:\"keep\"===i?\"multiple\"===o?\"single\":\"multiple\":o}})},dA(\"brush\",rC),yf(function(t,e){var i=t&&t.brush;if(L(i)||(i=i?[i]:[]),i.length){var n=[];R(i,function(t){var e=t.hasOwnProperty(\"toolbox\")?t.toolbox:[];e instanceof Array&&(n=n.concat(e))});var o=t&&t.toolbox;L(o)&&(o=o[0]),o||(o={feature:{}},t.toolbox=[o]);var a=o.feature||(o.feature={}),r=a.brush||(a.brush={}),s=r.type||(r.type=[]);s.push.apply(s,n),function(i){var e={};R(i,function(t){e[t]=1}),i.length=0,R(e,function(t,e){i.push(e)})}(s),e&&!s.length&&s.push.apply(s,BD)}}),Tf({type:\"title\",layoutMode:{type:\"box\",ignoreSize:!0},defaultOption:{zlevel:0,z:6,show:!0,text:\"\",target:\"blank\",subtext:\"\",subtarget:\"blank\",left:0,top:0,backgroundColor:\"rgba(0,0,0,0)\",borderColor:\"#ccc\",borderWidth:0,padding:5,itemGap:10,textStyle:{fontSize:18,fontWeight:\"bolder\",color:\"#333\"},subtextStyle:{color:\"#aaa\"}}}),Af({type:\"title\",render:function(t,e,i){if(this.group.removeAll(),t.get(\"show\")){var n=this.group,o=t.getModel(\"textStyle\"),a=t.getModel(\"subtextStyle\"),r=t.get(\"textAlign\"),s=H(t.get(\"textBaseline\"),t.get(\"textVerticalAlign\")),l=new Ur({style:nl({},o,{text:t.get(\"text\"),textFill:o.getTextColor()},{disableBox:!0}),z2:10}),u=l.getBoundingRect(),h=t.get(\"subtext\"),c=new Ur({style:nl({},a,{text:h,textFill:a.getTextColor(),y:u.height+t.get(\"itemGap\"),textVerticalAlign:\"top\"},{disableBox:!0}),z2:10}),d=t.get(\"link\"),f=t.get(\"sublink\"),p=t.get(\"triggerEvent\",!0);l.silent=!d&&!p,c.silent=!f&&!p,d&&l.on(\"click\",function(){gu(d,\"_\"+t.get(\"target\"))}),f&&c.on(\"click\",function(){gu(f,\"_\"+t.get(\"subtarget\"))}),l.eventData=c.eventData=p?{componentType:\"title\",componentIndex:t.componentIndex}:null,n.add(l),h&&n.add(c);var g=n.getBoundingRect(),m=t.getBoxLayoutParams();m.width=g.width,m.height=g.height;var v=bu(m,{width:i.getWidth(),height:i.getHeight()},t.get(\"padding\"));r||(\"middle\"===(r=t.get(\"left\")||t.get(\"right\"))&&(r=\"center\"),\"right\"===r?v.x+=v.width:\"center\"===r&&(v.x+=v.width/2)),s||(\"center\"===(s=t.get(\"top\")||t.get(\"bottom\"))&&(s=\"middle\"),\"bottom\"===s?v.y+=v.height:\"middle\"===s&&(v.y+=v.height/2),s=s||\"top\"),n.attr(\"position\",[v.x,v.y]);var y={textAlign:r,textVerticalAlign:s};l.setStyle(y),c.setStyle(y),g=n.getBoundingRect();var x=v.margin,_=t.getItemStyle([\"color\",\"opacity\"]);_.fill=t.get(\"backgroundColor\");var w=new rs({shape:{x:g.x-x[3],y:g.y-x[0],width:g.width+x[1]+x[3],height:g.height+x[0]+x[2],r:t.get(\"borderRadius\")},style:_,subPixelOptimize:!0,silent:!0});n.add(w)}}});function lC(t){var e=t.itemStyle||(t.itemStyle={}),i=e.emphasis||(e.emphasis={}),n=t.label||t.label||{},o=n.normal||(n.normal={}),a={normal:1,emphasis:1};R(n,function(t,e){a[e]||uC(o,e)||(o[e]=t)}),i.label&&!uC(n,\"emphasis\")&&(n.emphasis=i.label,delete i.label)}function uC(t,e){return t.hasOwnProperty(e)}ku.registerSubTypeDefaulter(\"timeline\",function(){return\"slider\"}),_f({type:\"timelineChange\",event:\"timelineChanged\",update:\"prepareAndUpdate\"},function(t,e){var i=e.getComponent(\"timeline\");return i&&null!=t.currentIndex&&(i.setCurrentIndex(t.currentIndex),!i.get(\"loop\",!0)&&i.isIndexMax()&&i.setPlayState(!1)),e.resetOption(\"timeline\"),D({currentIndex:i.option.currentIndex},t)}),_f({type:\"timelinePlayChange\",event:\"timelinePlayChanged\",update:\"update\"},function(t,e){var i=e.getComponent(\"timeline\");i&&null!=t.playState&&i.setPlayState(t.playState)});var hC=ku.extend({type:\"timeline\",layoutMode:\"box\",defaultOption:{zlevel:0,z:4,show:!0,axisType:\"time\",realtime:!0,left:\"20%\",top:null,right:\"20%\",bottom:0,width:null,height:40,padding:5,controlPosition:\"left\",autoPlay:!1,rewind:!1,loop:!0,playInterval:2e3,currentIndex:0,itemStyle:{},label:{color:\"#000\"},data:[]},init:function(t,e,i){this._data,this._names,this.mergeDefaultAndTheme(t,i),this._initData()},mergeOption:function(t){hC.superApply(this,\"mergeOption\",arguments),this._initData()},setCurrentIndex:function(t){null==t&&(t=this.option.currentIndex);var e=this._data.count();this.option.loop?t=(t%e+e)%e:(e<=t&&(t=e-1),t<0&&(t=0)),this.option.currentIndex=t},getCurrentIndex:function(){return this.option.currentIndex},isIndexMax:function(){return this.getCurrentIndex()>=this._data.count()-1},setPlayState:function(t){this.option.autoPlay=!!t},getPlayState:function(){return!!this.option.autoPlay},_initData:function(){var t=this.option,e=t.data||[],i=t.axisType,o=this._names=[];if(\"category\"===i){var a=[];R(e,function(t,e){var i,n=Wo(t);z(t)?(i=k(t)).value=e:i=e,a.push(i),E(n)||null!=n&&!isNaN(n)||(n=\"\"),o.push(n+\"\")}),e=a}var n={category:\"ordinal\",time:\"time\"}[i]||\"number\";(this._data=new Yf([{name:\"value\",type:n}],this)).initData(e,o)},getData:function(){return this._data},getCategories:function(){if(\"category\"===this.get(\"axisType\"))return this._names.slice()}});b(hC.extend({type:\"timeline.slider\",defaultOption:{backgroundColor:\"rgba(0,0,0,0)\",borderColor:\"#ccc\",borderWidth:0,orient:\"horizontal\",inverse:!1,tooltip:{trigger:\"item\"},symbol:\"emptyCircle\",symbolSize:10,lineStyle:{show:!0,width:2,color:\"#304654\"},label:{position:\"auto\",show:!0,interval:\"auto\",rotate:0,color:\"#304654\"},itemStyle:{color:\"#304654\",borderWidth:1},checkpointStyle:{symbol:\"circle\",symbolSize:13,color:\"#c23531\",borderWidth:5,borderColor:\"rgba(194,53,49, 0.5)\",animation:!0,animationDuration:300,animationEasing:\"quinticInOut\"},controlStyle:{show:!0,showPlayBtn:!0,showPrevBtn:!0,showNextBtn:!0,itemSize:22,itemGap:12,position:\"left\",playIcon:\"path://M31.6,53C17.5,53,6,41.5,6,27.4S17.5,1.8,31.6,1.8C45.7,1.8,57.2,13.3,57.2,27.4S45.7,53,31.6,53z M31.6,3.3 C18.4,3.3,7.5,14.1,7.5,27.4c0,13.3,10.8,24.1,24.1,24.1C44.9,51.5,55.7,40.7,55.7,27.4C55.7,14.1,44.9,3.3,31.6,3.3z M24.9,21.3 c0-2.2,1.6-3.1,3.5-2l10.5,6.1c1.899,1.1,1.899,2.9,0,4l-10.5,6.1c-1.9,1.1-3.5,0.2-3.5-2V21.3z\",stopIcon:\"path://M30.9,53.2C16.8,53.2,5.3,41.7,5.3,27.6S16.8,2,30.9,2C45,2,56.4,13.5,56.4,27.6S45,53.2,30.9,53.2z M30.9,3.5C17.6,3.5,6.8,14.4,6.8,27.6c0,13.3,10.8,24.1,24.101,24.1C44.2,51.7,55,40.9,55,27.6C54.9,14.4,44.1,3.5,30.9,3.5z M36.9,35.8c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H36c0.5,0,0.9,0.4,0.9,1V35.8z M27.8,35.8 c0,0.601-0.4,1-0.9,1h-1.3c-0.5,0-0.9-0.399-0.9-1V19.5c0-0.6,0.4-1,0.9-1H27c0.5,0,0.9,0.4,0.9,1L27.8,35.8L27.8,35.8z\",nextIcon:\"path://M18.6,50.8l22.5-22.5c0.2-0.2,0.3-0.4,0.3-0.7c0-0.3-0.1-0.5-0.3-0.7L18.7,4.4c-0.1-0.1-0.2-0.3-0.2-0.5 c0-0.4,0.3-0.8,0.8-0.8c0.2,0,0.5,0.1,0.6,0.3l23.5,23.5l0,0c0.2,0.2,0.3,0.4,0.3,0.7c0,0.3-0.1,0.5-0.3,0.7l-0.1,0.1L19.7,52 c-0.1,0.1-0.3,0.2-0.5,0.2c-0.4,0-0.8-0.3-0.8-0.8C18.4,51.2,18.5,51,18.6,50.8z\",prevIcon:\"path://M43,52.8L20.4,30.3c-0.2-0.2-0.3-0.4-0.3-0.7c0-0.3,0.1-0.5,0.3-0.7L42.9,6.4c0.1-0.1,0.2-0.3,0.2-0.5 c0-0.4-0.3-0.8-0.8-0.8c-0.2,0-0.5,0.1-0.6,0.3L18.3,28.8l0,0c-0.2,0.2-0.3,0.4-0.3,0.7c0,0.3,0.1,0.5,0.3,0.7l0.1,0.1L41.9,54 c0.1,0.1,0.3,0.2,0.5,0.2c0.4,0,0.8-0.3,0.8-0.8C43.2,53.2,43.1,53,43,52.8z\",color:\"#304654\",borderColor:\"#304654\",borderWidth:1},emphasis:{label:{show:!0,color:\"#c23531\"},itemStyle:{color:\"#c23531\"},controlStyle:{color:\"#c23531\",borderColor:\"#c23531\",borderWidth:2}},data:[]}}),Xh);function cC(t,e,i,n){Gg.call(this,t,e,i),this.type=n||\"value\",this.model=null}var dC=gc.extend({type:\"timeline\"});cC.prototype={constructor:cC,getLabelModel:function(){return this.model.getModel(\"label\")},isHorizontal:function(){return\"horizontal\"===this.model.get(\"orient\")}},w(cC,Gg);var fC=A,pC=R,gC=Math.PI;function mC(t,e,i,n,o,a){var r=e.get(\"color\");o?(o.setColor(r),i.add(o),a&&a.onUpdate(o)):((o=wg(t.get(\"symbol\"),-1,-1,2,2,r)).setStyle(\"strokeNoScale\",!0),i.add(o),a&&a.onCreate(o));var s=e.getItemStyle([\"color\",\"symbol\",\"symbolSize\"]);o.setStyle(s),n=m({rectHover:!0,z2:100},n,!0);var l=t.get(\"symbolSize\");(l=l instanceof Array?l.slice():[+l,+l])[0]/=2,l[1]/=2,n.scale=l;var u=t.get(\"symbolOffset\");if(u){var h=n.position=n.position||[0,0];h[0]+=El(u[0],l[0]),h[1]+=El(u[1],l[1])}var c=t.get(\"symbolRotate\");return n.rotation=(c||0)*Math.PI/180||0,o.attr(n),o.updateTransform(),o}function vC(t,e,i,n,o){if(!t.dragging){var a=n.getModel(\"checkpointStyle\"),r=i.dataToCoord(n.getData().get([\"value\"],e));o||!a.get(\"animation\",!0)?t.attr({position:[r,0]}):(t.stopAnimation(!0),t.animateTo({position:[r,0]},a.get(\"animationDuration\",!0),a.get(\"animationEasing\",!0)))}}dC.extend({type:\"timeline.slider\",init:function(t,e){this.api=e,this._axis,this._viewRect,this._timer,this._currentPointer,this._mainGroup,this._labelGroup},render:function(e,t,i,n){if(this.model=e,this.api=i,this.ecModel=t,this.group.removeAll(),e.get(\"show\",!0)){var o=this._layout(e,i),a=this._createGroup(\"mainGroup\"),r=this._createGroup(\"labelGroup\"),s=this._axis=this._createAxis(o,e);e.formatTooltip=function(t){return au(s.scale.getLabel(t))},pC([\"AxisLine\",\"AxisTick\",\"Control\",\"CurrentPointer\"],function(t){this[\"_render\"+t](o,a,s,e)},this),this._renderAxisLabel(o,r,s,e),this._position(o,e)}this._doPlayStop()},remove:function(){this._clearTimer(),this.group.removeAll()},dispose:function(){this._clearTimer()},_layout:function(t,e){var i=t.get(\"label.position\"),n=t.get(\"orient\"),o=function(t,e){return bu(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()},t.get(\"padding\"))}(t,e);null==i||\"auto\"===i?i=\"horizontal\"===n?o.y+o.height/2<e.getHeight()/2?\"-\":\"+\":o.x+o.width/2<e.getWidth()/2?\"+\":\"-\":isNaN(i)&&(i={horizontal:{top:\"-\",bottom:\"+\"},vertical:{left:\"-\",right:\"+\"}}[n][i]);var a,r,s,l,u={horizontal:\"center\",vertical:0<=i||\"+\"===i?\"left\":\"right\"},h={horizontal:0<=i||\"+\"===i?\"top\":\"bottom\",vertical:\"middle\"},c={horizontal:0,vertical:gC/2},d=\"vertical\"===n?o.height:o.width,f=t.getModel(\"controlStyle\"),p=f.get(\"show\",!0),g=p?f.get(\"itemSize\"):0,m=p?f.get(\"itemGap\"):0,v=g+m,y=t.get(\"label.rotate\")||0;y=y*gC/180;var x=f.get(\"position\",!0),_=p&&f.get(\"showPlayBtn\",!0),w=p&&f.get(\"showPrevBtn\",!0),b=p&&f.get(\"showNextBtn\",!0),S=0,M=d;return\"left\"===x||\"bottom\"===x?(_&&(a=[0,0],S+=v),w&&(r=[S,0],S+=v)):(_&&(a=[M-g,0],M-=v),w&&(r=[0,0],S+=v)),b&&(s=[M-g,0],M-=v),l=[S,M],t.get(\"inverse\")&&l.reverse(),{viewRect:o,mainLength:d,orient:n,rotation:c[n],labelRotation:y,labelPosOpt:i,labelAlign:t.get(\"label.align\")||u[n],labelBaseline:t.get(\"label.verticalAlign\")||t.get(\"label.baseline\")||h[n],playPosition:a,prevBtnPosition:r,nextBtnPosition:s,axisExtent:l,controlSize:g,controlGap:m}},_position:function(t,e){var i=this._mainGroup,n=this._labelGroup,o=t.viewRect;if(\"vertical\"===t.orient){var a=ae(),r=o.x,s=o.y+o.height;ue(a,a,[-r,-s]),he(a,a,-gC/2),ue(a,a,[r,s]),(o=o.clone()).applyTransform(a)}var l=m(o),u=m(i.getBoundingRect()),h=m(n.getBoundingRect()),c=i.position,d=n.position;d[0]=c[0]=l[0][0];var f,p=t.labelPosOpt;isNaN(p)?(v(c,u,l,1,f=\"+\"===p?0:1),v(d,h,l,1,1-f)):(v(c,u,l,1,f=0<=p?0:1),d[1]=c[1]+p);function g(t){var e=t.position;t.origin=[l[0][0]-e[0],l[1][0]-e[1]]}function m(t){return[[t.x,t.x+t.width],[t.y,t.y+t.height]]}function v(t,e,i,n,o){t[n]+=i[n][o]-e[n][o]}i.attr(\"position\",c),n.attr(\"position\",d),i.rotation=n.rotation=t.rotation,g(i),g(n)},_createAxis:function(t,e){var i=e.getData(),n=e.get(\"axisType\"),o=sg(e,n);o.getTicks=function(){return i.mapArray([\"value\"],function(t){return t})};var a=i.getDataExtent(\"value\");o.setExtent(a[0],a[1]),o.niceTicks();var r=new cC(\"value\",o,t.axisExtent,n);return r.model=e,r},_createGroup:function(t){var e=this[\"_\"+t]=new Ci;return this.group.add(e),e},_renderAxisLine:function(t,e,i,n){var o=i.getExtent();n.get(\"lineStyle.show\")&&e.add(new ls({shape:{x1:o[0],y1:0,x2:o[1],y2:0},style:P({lineCap:\"round\"},n.getModel(\"lineStyle\").getLineStyle()),silent:!0,z2:1}))},_renderAxisTick:function(t,s,l,u){var h=u.getData(),e=l.scale.getTicks();pC(e,function(t){var e=l.dataToCoord(t),i=h.getItemModel(t),n=i.getModel(\"itemStyle\"),o=i.getModel(\"emphasis.itemStyle\"),a={position:[e,0],onclick:fC(this._changeTimeline,this,t)},r=mC(i,n,s,a);$s(r,o.getItemStyle()),i.get(\"tooltip\")?(r.dataIndex=t,r.dataModel=u):r.dataIndex=r.dataModel=null},this)},_renderAxisLabel:function(s,l,u,t){if(u.getLabelModel().get(\"show\")){var h=t.getData(),e=u.getViewLabels();pC(e,function(t){var e=t.tickValue,i=h.getItemModel(e),n=i.getModel(\"label\"),o=i.getModel(\"emphasis.label\"),a=u.dataToCoord(t.tickValue),r=new Ur({position:[a,0],rotation:s.labelRotation-s.rotation,onclick:fC(this._changeTimeline,this,e),silent:!1});nl(r.style,n,{text:t.formattedLabel,textAlign:s.labelAlign,textVerticalAlign:s.labelBaseline}),l.add(r),$s(r,nl({},o))},this)}},_renderControl:function(t,a,e,r){var s=t.controlSize,l=t.rotation,u=r.getModel(\"controlStyle\").getItemStyle(),h=r.getModel(\"emphasis.controlStyle\").getItemStyle(),c=[0,-s/2,s,s],i=r.getPlayState(),n=r.get(\"inverse\",!0);function o(t,e,i,n){if(t){var o=function(t,e,i,n){var o=n.style,a=yl(t.get(e),n||{},new Di(i[0],i[1],i[2],i[3]));o&&a.setStyle(o);return a}(r,e,c,{position:t,origin:[s/2,0],rotation:n?-l:0,rectHover:!0,style:u,onclick:i});a.add(o),$s(o,h)}}o(t.nextBtnPosition,\"controlStyle.nextIcon\",fC(this._changeTimeline,this,n?\"-\":\"+\")),o(t.prevBtnPosition,\"controlStyle.prevIcon\",fC(this._changeTimeline,this,n?\"+\":\"-\")),o(t.playPosition,\"controlStyle.\"+(i?\"stopIcon\":\"playIcon\"),fC(this._handlePlayClick,this,!i),!0)},_renderCurrentPointer:function(t,e,i,n){var o=n.getData(),a=n.getCurrentIndex(),r=o.getItemModel(a).getModel(\"checkpointStyle\"),s=this,l={onCreate:function(t){t.draggable=!0,t.drift=fC(s._handlePointerDrag,s),t.ondragend=fC(s._handlePointerDragend,s),vC(t,a,i,n,!0)},onUpdate:function(t){vC(t,a,i,n)}};this._currentPointer=mC(r,r,this._mainGroup,{},this._currentPointer,l)},_handlePlayClick:function(t){this._clearTimer(),this.api.dispatchAction({type:\"timelinePlayChange\",playState:t,from:this.uid})},_handlePointerDrag:function(t,e,i){this._clearTimer(),this._pointerChangeTimeline([i.offsetX,i.offsetY])},_handlePointerDragend:function(t){this._pointerChangeTimeline([t.offsetX,t.offsetY],!0)},_pointerChangeTimeline:function(t,e){var i=this._toAxisCoord(t)[0],n=Bl(this._axis.getExtent().slice());i>n[1]&&(i=n[1]),i<n[0]&&(i=n[0]),this._currentPointer.position[0]=i,this._currentPointer.dirty();var o=this._findNearestTick(i),a=this.model;(e||o!==a.getCurrentIndex()&&a.get(\"realtime\"))&&this._changeTimeline(o)},_doPlayStop:function(){this._clearTimer(),this.model.getPlayState()&&(this._timer=setTimeout(fC(function(){var t=this.model;this._changeTimeline(t.getCurrentIndex()+(t.get(\"rewind\",!0)?-1:1))},this),this.model.get(\"playInterval\")))},_toAxisCoord:function(t){return pl(t,this._mainGroup.getLocalTransform(),!0)},_findNearestTick:function(o){var a,t=this.model.getData(),r=1/0,s=this._axis;return t.each([\"value\"],function(t,e){var i=s.dataToCoord(t),n=Math.abs(i-o);n<r&&(r=n,a=e)}),a},_clearTimer:function(){this._timer&&(clearTimeout(this._timer),this._timer=null)},_changeTimeline:function(t){var e=this.model.getCurrentIndex();\"+\"===t?t=e+1:\"-\"===t&&(t=e-1),this.api.dispatchAction({type:\"timelineChange\",currentIndex:t,from:this.uid})}}),yf(function(t){var e=t&&t.timeline;L(e)||(e=e?[e]:[]),R(e,function(t){t&&function(t){var e=t.type,i={number:\"value\",time:\"time\"};i[e]&&(t.axisType=i[e],delete t.type);if(lC(t),uC(t,\"controlPosition\")){var n=t.controlStyle||(t.controlStyle={});uC(n,\"position\")||(n.position=t.controlPosition),\"none\"!==n.position||uC(n,\"show\")||(n.show=!1,delete n.position),delete t.controlPosition}R(t.data||[],function(t){z(t)&&!L(t)&&(!uC(t,\"value\")&&uC(t,\"name\")&&(t.value=t.name),lC(t))})}(t)})});var yC=tu,xC=au;function _C(t){Go(t,\"label\",[\"show\"])}var wC=Tf({type:\"marker\",dependencies:[\"series\",\"grid\",\"polar\",\"geo\"],init:function(t,e,i){this.mergeDefaultAndTheme(t,i),this._mergeOption(t,i,!1,!0)},isAnimationEnabled:function(){if(v.node)return!1;var t=this.__hostSeries;return this.getShallow(\"animation\")&&t&&t.isAnimationEnabled()},mergeOption:function(t,e){this._mergeOption(t,e,!1,!1)},_mergeOption:function(t,n,e,o){var a=this.constructor,r=this.mainType+\"Model\";e||n.eachSeries(function(t){var e=t.get(this.mainType,!0),i=t[r];e&&e.data?(i?i._mergeOption(e,n,!0):(o&&_C(e),R(e.data,function(t){t instanceof Array?(_C(t[0]),_C(t[1])):_C(t)}),P(i=new a(e,this,n),{mainType:this.mainType,seriesIndex:t.seriesIndex,name:t.name,createdBySelf:!0}),i.__hostSeries=t),t[r]=i):t[r]=null},this)},formatTooltip:function(t,e,i,n){var o=this.getData(),a=this.getRawValue(t),r=L(a)?O(a,yC).join(\", \"):yC(a),s=o.getName(t),l=xC(this.name);return null==a&&!s||(l+=\"html\"===n?\"<br/>\":\"\\n\"),s&&(l+=xC(s),null!=a&&(l+=\" : \")),null!=a&&(l+=xC(r)),l},getData:function(){return this._data},setData:function(t){this._data=t}});b(wC,Xh),wC.extend({type:\"markPoint\",defaultOption:{zlevel:0,z:5,symbol:\"pin\",symbolSize:50,tooltip:{trigger:\"item\"},label:{show:!0,position:\"inside\"},itemStyle:{borderWidth:2},emphasis:{label:{show:!0}}}});var bC=_;function SC(t,e,i,n,o,a){var r=[],s=fp(e,n)?e.getCalculationInfo(\"stackResultDimension\"):n,l=LC(e,s,t),u=e.indicesOfNearest(s,l)[0];r[o]=e.get(i,u),r[a]=e.get(s,u);var h=e.get(n,u),c=Vl(e.get(n,u));return 0<=(c=Math.min(c,20))&&(r[a]=+r[a].toFixed(c)),[r,h]}var MC=T,IC={min:MC(SC,\"min\"),max:MC(SC,\"max\"),average:MC(SC,\"average\")};function TC(t,e){var i=t.getData(),n=t.coordinateSystem;if(e&&!function(t){return!isNaN(parseFloat(t.x))&&!isNaN(parseFloat(t.y))}(e)&&!L(e.coord)&&n){var o=n.dimensions,a=AC(e,i,n,t);if((e=k(e)).type&&IC[e.type]&&a.baseAxis&&a.valueAxis){var r=bC(o,a.baseAxis.dim),s=bC(o,a.valueAxis.dim),l=IC[e.type](i,a.baseDataDim,a.valueDataDim,r,s);e.coord=l[0],e.value=l[1]}else{for(var u=[null!=e.xAxis?e.xAxis:e.radiusAxis,null!=e.yAxis?e.yAxis:e.angleAxis],h=0;h<2;h++)IC[u[h]]&&(u[h]=LC(i,i.mapDimension(o[h]),u[h]));e.coord=u}}return e}function AC(t,e,i,n){var o={};return null!=t.valueIndex||null!=t.valueDim?(o.valueDataDim=null!=t.valueIndex?e.getDimension(t.valueIndex):t.valueDim,o.valueAxis=i.getAxis(function(t,e){var i=t.getData(),n=i.dimensions;e=i.getDimension(e);for(var o=0;o<n.length;o++){var a=i.getDimensionInfo(n[o]);if(a.name===e)return a.coordDim}}(n,o.valueDataDim)),o.baseAxis=i.getOtherAxis(o.valueAxis),o.baseDataDim=e.mapDimension(o.baseAxis.dim)):(o.baseAxis=n.getBaseAxis(),o.valueAxis=i.getOtherAxis(o.baseAxis),o.baseDataDim=e.mapDimension(o.baseAxis.dim),o.valueDataDim=e.mapDimension(o.valueAxis.dim)),o}function DC(t,e){return!(t&&t.containData&&e.coord&&!function(t){return!(isNaN(parseFloat(t.x))&&isNaN(parseFloat(t.y)))}(e))||t.containData(e.coord)}function CC(t,e,i,n){return n<2?t.coord&&t.coord[n]:t.value}function LC(t,e,i){if(\"average\"!==i)return\"median\"===i?t.getMedian(e):t.getDataExtent(e,!0)[\"max\"===i?1:0];var n=0,o=0;return t.each(e,function(t,e){isNaN(t)||(n+=t,o++)}),n/o}var kC=Af({type:\"marker\",init:function(){this.markerGroupMap=Q()},render:function(t,i,n){var e=this.markerGroupMap;e.each(function(t){t.__keep=!1});var o=this.type+\"Model\";i.eachSeries(function(t){var e=t[o];e&&this.renderSeries(t,e,i,n)},this),e.each(function(t){t.__keep||this.group.remove(t.group)},this)},renderSeries:function(){}});function PC(s,l,u){var h=l.coordinateSystem;s.each(function(t){var e,i=s.getItemModel(t),n=El(i.get(\"x\"),u.getWidth()),o=El(i.get(\"y\"),u.getHeight());if(isNaN(n)||isNaN(o)){if(l.getMarkerPosition)e=l.getMarkerPosition(s.getValues(s.dimensions,t));else if(h){var a=s.get(h.dimensions[0],t),r=s.get(h.dimensions[1],t);e=h.dataToPoint([a,r])}}else e=[n,o];isNaN(n)||(e[0]=n),isNaN(o)||(e[1]=o),s.setItemLayout(t,e)})}kC.extend({type:\"markPoint\",updateTransform:function(t,e,i){e.eachSeries(function(t){var e=t.markPointModel;e&&(PC(e.getData(),t,i),this.markerGroupMap.get(t.id).updateLayout(e))},this)},renderSeries:function(t,h,e,i){var n=t.coordinateSystem,o=t.id,c=t.getData(),a=this.markerGroupMap,r=a.get(o)||a.set(o,new im),d=function(t,e,i){var n;n=t?O(t&&t.dimensions,function(t){return D({name:t},e.getData().getDimensionInfo(e.getData().mapDimension(t))||{})}):[{name:\"value\",type:\"float\"}];var o=new Yf(n,i),a=O(i.get(\"data\"),T(TC,e));t&&(a=M(a,T(DC,t)));return o.initData(a,null,t?CC:function(t){return t.value}),o}(n,t,h);h.setData(d),PC(h.getData(),t,i),d.each(function(t){var e=d.getItemModel(t),i=e.getShallow(\"symbol\"),n=e.getShallow(\"symbolSize\"),o=e.getShallow(\"symbolRotate\"),a=C(i),r=C(n),s=C(o);if(a||r||s){var l=h.getRawValue(t),u=h.getDataParams(t);a&&(i=i(l,u)),r&&(n=n(l,u)),s&&(o=o(l,u))}d.setItemVisual(t,{symbol:i,symbolSize:n,symbolRotate:o,color:e.get(\"itemStyle.color\")||c.getVisual(\"color\")})}),r.updateData(d),this.group.add(r.group),d.eachItemGraphicEl(function(t){t.traverse(function(t){t.dataModel=h})}),r.__keep=!0,r.group.silent=h.get(\"silent\")||t.get(\"silent\")}}),yf(function(t){t.markPoint=t.markPoint||{}}),wC.extend({type:\"markLine\",defaultOption:{zlevel:0,z:5,symbol:[\"circle\",\"arrow\"],symbolSize:[8,16],precision:2,tooltip:{trigger:\"item\"},label:{show:!0,position:\"end\",distance:5},lineStyle:{type:\"dashed\"},emphasis:{label:{show:!0},lineStyle:{width:3}},animationEasing:\"linear\"}});function NC(t,e,i,n){var o=t.getData(),a=n.type;if(!L(n)&&(\"min\"===a||\"max\"===a||\"average\"===a||\"median\"===a||null!=n.xAxis||null!=n.yAxis)){var r,s;if(null!=n.yAxis||null!=n.xAxis)r=e.getAxis(null!=n.yAxis?\"y\":\"x\"),s=W(n.yAxis,n.xAxis);else{var l=AC(n,o,e,t);r=l.valueAxis,s=LC(o,pp(o,l.valueDataDim),a)}var u=\"x\"===r.dim?0:1,h=1-u,c=k(n),d={};c.type=null,c.coord=[],d.coord=[],c.coord[h]=-1/0,d.coord[h]=1/0;var f=i.get(\"precision\");0<=f&&\"number\"==typeof s&&(s=+s.toFixed(Math.min(f,20))),c.coord[u]=d.coord[u]=s,n=[c,d,{type:a,valueIndex:n.valueIndex,value:s}]}return(n=[TC(t,n[0]),TC(t,n[1]),P({},n[2])])[2].type=n[2].type||\"\",m(n[2],n[0]),m(n[2],n[1]),n}function OC(t){return!isNaN(t)&&!isFinite(t)}function RC(t,e,i,n){var o=1-t,a=n.dimensions[t];return OC(e[o])&&OC(i[o])&&e[t]===i[t]&&n.getAxis(a).containData(e[t])}function EC(t,e){if(\"cartesian2d\"===t.type){var i=e[0].coord,n=e[1].coord;if(i&&n&&(RC(1,i,n,t)||RC(0,i,n,t)))return!0}return DC(t,e[0])&&DC(t,e[1])}function zC(t,e,i,n,o){var a,r=n.coordinateSystem,s=t.getItemModel(e),l=El(s.get(\"x\"),o.getWidth()),u=El(s.get(\"y\"),o.getHeight());if(isNaN(l)||isNaN(u)){if(n.getMarkerPosition)a=n.getMarkerPosition(t.getValues(t.dimensions,e));else{var h=r.dimensions,c=t.get(h[0],e),d=t.get(h[1],e);a=r.dataToPoint([c,d])}if(\"cartesian2d\"===r.type){var f=r.getAxis(\"x\"),p=r.getAxis(\"y\");h=r.dimensions;OC(t.get(h[0],e))?a[0]=f.toGlobalCoord(f.getExtent()[i?0:1]):OC(t.get(h[1],e))&&(a[1]=p.toGlobalCoord(p.getExtent()[i?0:1]))}isNaN(l)||(a[0]=l),isNaN(u)||(a[1]=u)}else a=[l,u];t.setItemLayout(e,a)}kC.extend({type:\"markLine\",updateTransform:function(t,e,a){e.eachSeries(function(e){var t=e.markLineModel;if(t){var i=t.getData(),n=t.__from,o=t.__to;n.each(function(t){zC(n,t,!0,e,a),zC(o,t,!1,e,a)}),i.each(function(t){i.setItemLayout(t,[n.getItemLayout(t),o.getItemLayout(t)])}),this.markerGroupMap.get(e.id).updateLayout()}},this)},renderSeries:function(o,i,t,a){var e=o.coordinateSystem,n=o.id,r=o.getData(),s=this.markerGroupMap,l=s.get(n)||s.set(n,new Sw);this.group.add(l.group);var u=function(t,e,i){var n;n=t?O(t&&t.dimensions,function(t){return D({name:t},e.getData().getDimensionInfo(e.getData().mapDimension(t))||{})}):[{name:\"value\",type:\"float\"}];var o=new Yf(n,i),a=new Yf(n,i),r=new Yf([],i),s=O(i.get(\"data\"),T(NC,e,t,i));t&&(s=M(s,T(EC,t)));var l=t?CC:function(t){return t.value};return o.initData(O(s,function(t){return t[0]}),null,l),a.initData(O(s,function(t){return t[1]}),null,l),r.initData(O(s,function(t){return t[2]})),r.hasItemOption=!0,{from:o,to:a,line:r}}(e,o,i),h=u.from,c=u.to,d=u.line;i.__from=h,i.__to=c,i.setData(d);var f=i.get(\"symbol\"),p=i.get(\"symbolSize\");function g(t,e,i){var n=t.getItemModel(e);zC(t,e,i,o,a),t.setItemVisual(e,{symbolRotate:n.get(\"symbolRotate\"),symbolSize:n.get(\"symbolSize\")||p[i?0:1],symbol:n.get(\"symbol\",!0)||f[i?0:1],color:n.get(\"itemStyle.color\")||r.getVisual(\"color\")})}L(f)||(f=[f,f]),\"number\"==typeof p&&(p=[p,p]),u.from.each(function(t){g(h,t,!0),g(c,t,!1)}),d.each(function(t){var e=d.getItemModel(t).get(\"lineStyle.color\");d.setItemVisual(t,{color:e||h.getItemVisual(t,\"color\")}),d.setItemLayout(t,[h.getItemLayout(t),c.getItemLayout(t)]),d.setItemVisual(t,{fromSymbolRotate:h.getItemVisual(t,\"symbolRotate\"),fromSymbolSize:h.getItemVisual(t,\"symbolSize\"),fromSymbol:h.getItemVisual(t,\"symbol\"),toSymbolRotate:c.getItemVisual(t,\"symbolRotate\"),toSymbolSize:c.getItemVisual(t,\"symbolSize\"),toSymbol:c.getItemVisual(t,\"symbol\")})}),l.updateData(d),u.line.eachItemGraphicEl(function(t,e){t.traverse(function(t){t.dataModel=i})}),l.__keep=!0,l.group.silent=i.get(\"silent\")||o.get(\"silent\")}}),yf(function(t){t.markLine=t.markLine||{}}),wC.extend({type:\"markArea\",defaultOption:{zlevel:0,z:1,tooltip:{trigger:\"item\"},animation:!1,label:{show:!0,position:\"top\"},itemStyle:{borderWidth:0},emphasis:{label:{show:!0,position:\"top\"}}}});function BC(t,e,i,n){var o=TC(t,n[0]),a=TC(t,n[1]),r=W,s=o.coord,l=a.coord;s[0]=r(s[0],-1/0),s[1]=r(s[1],-1/0),l[0]=r(l[0],1/0),l[1]=r(l[1],1/0);var u=p([{},o,a]);return u.coord=[o.coord,a.coord],u.x0=o.x,u.y0=o.y,u.x1=a.x,u.y1=a.y,u}function VC(t){return!isNaN(t)&&!isFinite(t)}function GC(t,e,i){var n=1-t;return VC(e[n])&&VC(i[n])}function FC(t,e){var i=e.coord[0],n=e.coord[1];return!(\"cartesian2d\"!==t.type||!i||!n||!GC(1,i,n)&&!GC(0,i,n))||(DC(t,{coord:i,x:e.x0,y:e.y0})||DC(t,{coord:n,x:e.x1,y:e.y1}))}function WC(t,e,i,n,o){var a,r=n.coordinateSystem,s=t.getItemModel(e),l=El(s.get(i[0]),o.getWidth()),u=El(s.get(i[1]),o.getHeight());if(isNaN(l)||isNaN(u)){if(n.getMarkerPosition)a=n.getMarkerPosition(t.getValues(i,e));else{var h=[f=t.get(i[0],e),p=t.get(i[1],e)];r.clampData&&r.clampData(h,h),a=r.dataToPoint(h,!0)}if(\"cartesian2d\"===r.type){var c=r.getAxis(\"x\"),d=r.getAxis(\"y\"),f=t.get(i[0],e),p=t.get(i[1],e);VC(f)?a[0]=c.toGlobalCoord(c.getExtent()[\"x0\"===i[0]?0:1]):VC(p)&&(a[1]=d.toGlobalCoord(d.getExtent()[\"y0\"===i[1]?0:1]))}isNaN(l)||(a[0]=l),isNaN(u)||(a[1]=u)}else a=[l,u];return a}var HC=[[\"x0\",\"y0\"],[\"x1\",\"y0\"],[\"x1\",\"y1\"],[\"x0\",\"y1\"]];kC.extend({type:\"markArea\",updateTransform:function(t,e,o){e.eachSeries(function(i){var t=i.markAreaModel;if(t){var n=t.getData();n.each(function(e){var t=O(HC,function(t){return WC(n,e,t,i,o)});n.setItemLayout(e,t),n.getItemGraphicEl(e).setShape(\"points\",t)})}},this)},renderSeries:function(e,r,t,i){var a=e.coordinateSystem,n=e.id,s=e.getData(),o=this.markerGroupMap,l=o.get(n)||o.set(n,{group:new Ci});this.group.add(l.group),l.__keep=!0;var u=function(t,i,e){var n,o;o=t?(n=O(t&&t.dimensions,function(t){var e=i.getData();return D({name:t},e.getDimensionInfo(e.mapDimension(t))||{})}),new Yf(O([\"x0\",\"y0\",\"x1\",\"y1\"],function(t,e){return{name:t,type:n[e%2].type}}),e)):new Yf(n=[{name:\"value\",type:\"float\"}],e);var a=O(e.get(\"data\"),T(BC,i,t,e));t&&(a=M(a,T(FC,t)));var r=t?function(t,e,i,n){return t.coord[Math.floor(n/2)][n%2]}:function(t){return t.value};return o.initData(a,null,r),o.hasItemOption=!0,o}(a,e,r);r.setData(u),u.each(function(n){var t=O(HC,function(t){return WC(u,n,t,e,i)}),o=!0;R(HC,function(t){if(o){var e=u.get(t[0],n),i=u.get(t[1],n);(VC(e)||a.getAxis(\"x\").containData(e))&&(VC(i)||a.getAxis(\"y\").containData(i))&&(o=!1)}}),u.setItemLayout(n,{points:t,allClipped:o}),u.setItemVisual(n,{color:s.getVisual(\"color\")})}),u.diff(l.__data).add(function(t){var e=u.getItemLayout(t);if(!e.allClipped){var i=new Qr({shape:{points:e.points}});u.setItemGraphicEl(t,i),l.group.add(i)}}).update(function(t,e){var i=l.__data.getItemGraphicEl(e),n=u.getItemLayout(t);n.allClipped?i&&l.group.remove(i):(i?cl(i,{shape:{points:n.points}},r,t):i=new Qr({shape:{points:n.points}}),u.setItemGraphicEl(t,i),l.group.add(i))}).remove(function(t){var e=l.__data.getItemGraphicEl(t);l.group.remove(e)}).execute(),u.eachItemGraphicEl(function(t,e){var i=u.getItemModel(e),n=i.getModel(\"label\"),o=i.getModel(\"emphasis.label\"),a=u.getItemVisual(e,\"color\");t.useStyle(D(i.getModel(\"itemStyle\").getItemStyle(),{fill:Ke(a,.4),stroke:a})),t.hoverStyle=i.getModel(\"emphasis.itemStyle\").getItemStyle(),el(t.style,t.hoverStyle,n,o,{labelFetcher:r,labelDataIndex:e,defaultText:u.getName(e)||\"\",isRectText:!0,autoColor:a}),$s(t,{}),t.dataModel=r}),l.__data=u,l.group.silent=r.get(\"silent\")||e.get(\"silent\")}}),yf(function(t){t.markArea=t.markArea||{}});var ZC=Oc.legend.selector,UC={all:{type:\"all\",title:k(ZC.all)},inverse:{type:\"inverse\",title:k(ZC.inverse)}},XC=Tf({type:\"legend.plain\",dependencies:[\"series\"],layoutMode:{type:\"box\",ignoreSize:!0},init:function(t,e,i){this.mergeDefaultAndTheme(t,i),t.selected=t.selected||{},this._updateSelector(t)},mergeOption:function(t){XC.superCall(this,\"mergeOption\",t),this._updateSelector(t)},_updateSelector:function(t){var i=t.selector;!0===i&&(i=t.selector=[\"all\",\"inverse\"]),L(i)&&R(i,function(t,e){E(t)&&(t={type:t}),i[e]=m(t,UC[t.type])})},optionUpdated:function(){this._updateData(this.ecModel);var t=this._data;if(t[0]&&\"single\"===this.get(\"selectedMode\")){for(var e=!1,i=0;i<t.length;i++){var n=t[i].get(\"name\");if(this.isSelected(n)){this.select(n),e=!0;break}}e||this.select(t[0].get(\"name\"))}},_updateData:function(o){var a=[],r=[];o.eachRawSeries(function(t){var e,i=t.name;if(r.push(i),t.legendVisualProvider){var n=t.legendVisualProvider.getAllNames();o.isSeriesFiltered(t)||(r=r.concat(n)),n.length?a=a.concat(n):e=!0}else e=!0;e&&Uo(t)&&a.push(t.name)}),this._availableNames=r;var t=O(this.get(\"data\")||a,function(t){return\"string\"!=typeof t&&\"number\"!=typeof t||(t={name:t}),new Cl(t,this,this.ecModel)},this);this._data=t},getData:function(){return this._data},select:function(t){var e=this.option.selected;\"single\"===this.get(\"selectedMode\")&&R(this._data,function(t){e[t.get(\"name\")]=!1});e[t]=!0},unSelect:function(t){\"single\"!==this.get(\"selectedMode\")&&(this.option.selected[t]=!1)},toggleSelected:function(t){var e=this.option.selected;e.hasOwnProperty(t)||(e[t]=!0),this[e[t]?\"unSelect\":\"select\"](t)},allSelect:function(){var t=this._data,e=this.option.selected;R(t,function(t){e[t.get(\"name\",!0)]=!0})},inverseSelect:function(){var t=this._data,i=this.option.selected;R(t,function(t){var e=t.get(\"name\",!0);i.hasOwnProperty(e)||(i[e]=!0),i[e]=!i[e]})},isSelected:function(t){var e=this.option.selected;return!(e.hasOwnProperty(t)&&!e[t])&&0<=_(this._availableNames,t)},getOrient:function(){return\"vertical\"===this.get(\"orient\")?{index:1,name:\"vertical\"}:{index:0,name:\"horizontal\"}},defaultOption:{zlevel:0,z:4,show:!0,orient:\"horizontal\",left:\"center\",top:0,align:\"auto\",backgroundColor:\"rgba(0,0,0,0)\",borderColor:\"#ccc\",borderRadius:0,borderWidth:0,padding:5,itemGap:10,itemWidth:25,itemHeight:14,inactiveColor:\"#ccc\",inactiveBorderColor:\"#ccc\",itemStyle:{borderWidth:0},textStyle:{color:\"#333\"},selectedMode:!0,selector:!1,selectorLabel:{show:!0,borderRadius:10,padding:[3,5,3,5],fontSize:12,fontFamily:\" sans-serif\",color:\"#666\",borderWidth:1,borderColor:\"#666\"},emphasis:{selectorLabel:{show:!0,color:\"#eee\",backgroundColor:\"#666\"}},selectorPosition:\"auto\",selectorItemGap:7,selectorButtonGap:10,tooltip:{show:!1}}});function YC(t,e,i){var o,a={},r=\"toggleSelected\"===t;return i.eachComponent(\"legend\",function(n){r&&null!=o?n[o?\"select\":\"unSelect\"](e.name):\"allSelect\"===t||\"inverseSelect\"===t?n[t]():(n[t](e.name),o=n.isSelected(e.name)),R(n.getData(),function(t){var e=t.get(\"name\");if(\"\\n\"!==e&&\"\"!==e){var i=n.isSelected(e);a.hasOwnProperty(e)?a[e]=a[e]&&i:a[e]=i}})}),\"allSelect\"===t||\"inverseSelect\"===t?{selected:a}:{name:e.name,selected:a}}_f(\"legendToggleSelect\",\"legendselectchanged\",T(YC,\"toggleSelected\")),_f(\"legendAllSelect\",\"legendselectall\",T(YC,\"allSelect\")),_f(\"legendInverseSelect\",\"legendinverseselect\",T(YC,\"inverseSelect\")),_f(\"legendSelect\",\"legendselected\",T(YC,\"select\")),_f(\"legendUnSelect\",\"legendunselected\",T(YC,\"unSelect\"));var jC=T,qC=R,KC=Ci,$C=Af({type:\"legend.plain\",newlineDisabled:!1,init:function(){this.group.add(this._contentGroup=new KC),this._backgroundEl,this.group.add(this._selectorGroup=new KC),this._isFirstRender=!0},getContentGroup:function(){return this._contentGroup},getSelectorGroup:function(){return this._selectorGroup},render:function(t,e,i){var n=this._isFirstRender;if(this._isFirstRender=!1,this.resetInner(),t.get(\"show\",!0)){var o=t.get(\"align\"),a=t.get(\"orient\");o&&\"auto\"!==o||(o=\"right\"===t.get(\"left\")&&\"vertical\"===a?\"right\":\"left\");var r=t.get(\"selector\",!0),s=t.get(\"selectorPosition\",!0);!r||s&&\"auto\"!==s||(s=\"horizontal\"===a?\"end\":\"start\"),this.renderInner(o,t,e,i,r,a,s);var l=t.getBoxLayoutParams(),u={width:i.getWidth(),height:i.getHeight()},h=t.get(\"padding\"),c=bu(l,u,h),d=this.layoutInner(t,o,c,n,r,s),f=bu(D({width:d.width,height:d.height},l),u,h);this.group.attr(\"position\",[f.x-d.x,f.y-d.y]),this.group.add(this._backgroundEl=gA(d,t))}},resetInner:function(){this.getContentGroup().removeAll(),this._backgroundEl&&this.group.remove(this._backgroundEl),this.getSelectorGroup().removeAll()},renderInner:function(u,h,c,d,t,e,i){var f=this.getContentGroup(),p=Q(),g=h.get(\"selectedMode\"),m=[];c.eachRawSeries(function(t){t.get(\"legendHoverLink\")||m.push(t.id)}),qC(h.getData(),function(a,r){var s=a.get(\"name\");if(this.newlineDisabled||\"\"!==s&&\"\\n\"!==s){var t=c.getSeriesByName(s)[0];if(!p.get(s))if(t){var e=t.getData(),i=e.getVisual(\"color\"),n=e.getVisual(\"borderColor\");\"function\"==typeof i&&(i=i(t.getDataParams(0))),\"function\"==typeof n&&(n=n(t.getDataParams(0)));var o=e.getVisual(\"legendSymbol\")||\"roundRect\",l=e.getVisual(\"symbol\");this._createItem(s,r,a,h,o,l,u,i,n,g).on(\"click\",jC(QC,s,null,d,m)).on(\"mouseover\",jC(tL,t.name,null,d,m)).on(\"mouseout\",jC(eL,t.name,null,d,m)),p.set(s,!0)}else c.eachRawSeries(function(t){if(!p.get(s)&&t.legendVisualProvider){var e=t.legendVisualProvider;if(!e.containName(s))return;var i=e.indexOfName(s),n=e.getItemVisual(i,\"color\"),o=e.getItemVisual(i,\"borderColor\");this._createItem(s,r,a,h,\"roundRect\",null,u,n,o,g).on(\"click\",jC(QC,null,s,d,m)).on(\"mouseover\",jC(tL,null,s,d,m)).on(\"mouseout\",jC(eL,null,s,d,m)),p.set(s,!0)}},this)}else f.add(new KC({newline:!0}))},this),t&&this._createSelector(t,h,d,e,i)},_createSelector:function(t,a,r,e,i){var s=this.getSelectorGroup();qC(t,function(t){!function(t){var e=t.type,i=new Ur({style:{x:0,y:0,align:\"center\",verticalAlign:\"middle\"},onclick:function(){r.dispatchAction({type:\"all\"===e?\"legendAllSelect\":\"legendInverseSelect\"})}});s.add(i);var n=a.getModel(\"selectorLabel\"),o=a.getModel(\"emphasis.selectorLabel\");el(i.style,i.hoverStyle={},n,o,{defaultText:t.title,isRectText:!1}),$s(i)}(t)})},_createItem:function(t,e,i,n,o,a,r,s,l,u){var h=n.get(\"itemWidth\"),c=n.get(\"itemHeight\"),d=n.get(\"inactiveColor\"),f=n.get(\"inactiveBorderColor\"),p=n.get(\"symbolKeepAspect\"),g=n.getModel(\"itemStyle\"),m=n.isSelected(t),v=new KC,y=i.getModel(\"textStyle\"),x=i.get(\"icon\"),_=i.getModel(\"tooltip\"),w=_.parentModel,b=wg(o=x||o,0,0,h,c,m?s:d,null==p||p);if(v.add(JC(b,o,g,l,f,m)),!x&&a&&(a!==o||\"none\"===a)){var S=.8*c;\"none\"===a&&(a=\"circle\");var M=wg(a,(h-S)/2,(c-S)/2,S,S,m?s:d,null==p||p);v.add(JC(M,a,g,l,f,m))}var I=\"left\"===r?h+5:-5,T=r,A=n.get(\"formatter\"),D=t;\"string\"==typeof A&&A?D=A.replace(\"{name}\",null!=t?t:\"\"):\"function\"==typeof A&&(D=A(t)),v.add(new Ur({style:nl({},y,{text:D,x:I,y:c/2,textFill:m?y.getTextColor():d,textAlign:T,textVerticalAlign:\"middle\"})}));var C=new rs({shape:v.getBoundingRect(),invisible:!0,tooltip:_.get(\"show\")?P({content:t,formatter:w.get(\"formatter\",!0)||function(){return t},formatterParams:{componentType:\"legend\",legendIndex:n.componentIndex,name:t,$vars:[\"name\"]}},_.option):null});return v.add(C),v.eachChild(function(t){t.silent=!0}),C.silent=!u,this.getContentGroup().add(v),$s(v),v.__legendDataIndex=e,v},layoutInner:function(t,e,i,n,o,a){var r=this.getContentGroup(),s=this.getSelectorGroup();wu(t.get(\"orient\"),r,t.get(\"itemGap\"),i.width,i.height);var l=r.getBoundingRect(),u=[-l.x,-l.y];if(o){wu(\"horizontal\",s,t.get(\"selectorItemGap\",!0));var h=s.getBoundingRect(),c=[-h.x,-h.y],d=t.get(\"selectorButtonGap\",!0),f=t.getOrient().index,p=0===f?\"width\":\"height\",g=0===f?\"height\":\"width\",m=0===f?\"y\":\"x\";\"end\"===a?c[f]+=l[p]+d:u[f]+=h[p]+d,c[1-f]+=l[g]/2-h[g]/2,s.attr(\"position\",c),r.attr(\"position\",u);var v={x:0,y:0};return v[p]=l[p]+d+h[p],v[g]=Math.max(l[g],h[g]),v[m]=Math.min(0,h[m]+c[1-f]),v}return r.attr(\"position\",u),this.group.getBoundingRect()},remove:function(){this.getContentGroup().removeAll(),this._isFirstRender=!0}});function JC(t,e,i,n,o,a){var r;return\"line\"!==e&&e.indexOf(\"empty\")<0?(r=i.getItemStyle(),t.style.stroke=n,a||(r.stroke=o)):r=i.getItemStyle([\"borderWidth\",\"borderColor\"]),t.setStyle(r)}function QC(t,e,i,n){eL(t,e,i,n),i.dispatchAction({type:\"legendToggleSelect\",name:null!=t?t:e}),tL(t,e,i,n)}function tL(t,e,i,n){var o=i.getZr().storage.getDisplayList()[0];o&&o.useHoverLayer||i.dispatchAction({type:\"highlight\",seriesName:t,name:e,excludeSeriesId:n})}function eL(t,e,i,n){var o=i.getZr().storage.getDisplayList()[0];o&&o.useHoverLayer||i.dispatchAction({type:\"downplay\",seriesName:t,name:e,excludeSeriesId:n})}xf(Ld.PROCESSOR.SERIES_FILTER,function(t){var i=t.findComponents({mainType:\"legend\"});i&&i.length&&t.filterSeries(function(t){for(var e=0;e<i.length;e++)if(!i[e].isSelected(t.name))return!1;return!0})}),ku.registerSubTypeDefaulter(\"legend\",function(){return\"plain\"});var iL=XC.extend({type:\"legend.scroll\",setScrollDataIndex:function(t){this.option.scrollDataIndex=t},defaultOption:{scrollDataIndex:0,pageButtonItemGap:5,pageButtonGap:null,pageButtonPosition:\"end\",pageFormatter:\"{current}/{total}\",pageIcons:{horizontal:[\"M0,0L12,-10L12,10z\",\"M0,0L-12,-10L-12,10z\"],vertical:[\"M0,0L20,0L10,-20z\",\"M0,0L20,0L10,20z\"]},pageIconColor:\"#2f4554\",pageIconInactiveColor:\"#aaa\",pageIconSize:15,pageTextStyle:{color:\"#333\"},animationDurationUpdate:800},init:function(t,e,i,n){var o=Iu(t);iL.superCall(this,\"init\",t,e,i,n),nL(this,t,o)},mergeOption:function(t,e){iL.superCall(this,\"mergeOption\",t,e),nL(this,this.option,t)}});function nL(t,e,i){var n=[1,1];n[t.getOrient().index]=0,Mu(e,i,{type:\"box\",ignoreSize:n})}var oL=Ci,aL=[\"width\",\"height\"],rL=[\"x\",\"y\"],sL=$C.extend({type:\"legend.scroll\",newlineDisabled:!0,init:function(){sL.superCall(this,\"init\"),this._currentIndex=0,this.group.add(this._containerGroup=new oL),this._containerGroup.add(this.getContentGroup()),this.group.add(this._controllerGroup=new oL),this._showController},resetInner:function(){sL.superCall(this,\"resetInner\"),this._controllerGroup.removeAll(),this._containerGroup.removeClipPath(),this._containerGroup.__rectSize=null},renderInner:function(t,o,e,a,i,n,r){var s=this;sL.superCall(this,\"renderInner\",t,o,e,a,i,n,r);var l=this._controllerGroup,u=o.get(\"pageIconSize\",!0);L(u)||(u=[u,u]),c(\"pagePrev\",0);var h=o.getModel(\"pageTextStyle\");function c(t,e){var i=t+\"DataIndex\",n=yl(o.get(\"pageIcons\",!0)[o.getOrient().name][e],{onclick:A(s._pageGo,s,i,o,a)},{x:-u[0]/2,y:-u[1]/2,width:u[0],height:u[1]});n.name=t,l.add(n)}l.add(new Ur({name:\"pageText\",style:{textFill:h.getTextColor(),font:h.getFont(),textVerticalAlign:\"middle\",textAlign:\"center\"},silent:!0})),c(\"pageNext\",1)},layoutInner:function(t,e,i,n,o,a){var r=this.getSelectorGroup(),s=t.getOrient().index,l=aL[s],u=rL[s],h=aL[1-s],c=rL[1-s];o&&wu(\"horizontal\",r,t.get(\"selectorItemGap\",!0));var d=t.get(\"selectorButtonGap\",!0),f=r.getBoundingRect(),p=[-f.x,-f.y],g=k(i);o&&(g[l]=i[l]-f[l]-d);var m=this._layoutContentAndController(t,n,g,s,l,h,c);if(o){if(\"end\"===a)p[s]+=m[l]+d;else{var v=f[l]+d;p[s]-=v,m[u]-=v}m[l]+=f[l]+d,p[1-s]+=m[c]+m[h]/2-f[h]/2,m[h]=Math.max(m[h],f[h]),m[c]=Math.min(m[c],f[c]+p[1-s]),r.attr(\"position\",p)}return m},_layoutContentAndController:function(t,e,i,n,o,a,r){var s=this.getContentGroup(),l=this._containerGroup,u=this._controllerGroup;wu(t.get(\"orient\"),s,t.get(\"itemGap\"),n?i.width:null,n?null:i.height),wu(\"horizontal\",u,t.get(\"pageButtonItemGap\",!0));var h=s.getBoundingRect(),c=u.getBoundingRect(),d=this._showController=h[o]>i[o],f=[-h.x,-h.y];e||(f[n]=s.position[n]);var p=[0,0],g=[-c.x,-c.y],m=H(t.get(\"pageButtonGap\",!0),t.get(\"itemGap\",!0));d&&(\"end\"===t.get(\"pageButtonPosition\",!0)?g[n]+=i[o]-c[o]:p[n]+=c[o]+m);g[1-n]+=h[a]/2-c[a]/2,s.attr(\"position\",f),l.attr(\"position\",p),u.attr(\"position\",g);var v={x:0,y:0};if(v[o]=d?i[o]:h[o],v[a]=Math.max(h[a],c[a]),v[r]=Math.min(0,c[r]+g[1-n]),l.__rectSize=i[o],d){var y={x:0,y:0};y[o]=Math.max(i[o]-c[o]-m,0),y[a]=v[a],l.setClipPath(new rs({shape:y})),l.__rectSize=y[o]}else u.eachChild(function(t){t.attr({invisible:!0,silent:!0})});var x=this._getPageInfo(t);return null!=x.pageIndex&&cl(s,{position:x.contentPosition},d&&t),this._updatePageInfoView(t,x),v},_pageGo:function(t,e,i){var n=this._getPageInfo(e)[t];null!=n&&i.dispatchAction({type:\"legendScroll\",scrollDataIndex:n,legendId:e.id})},_updatePageInfoView:function(n,o){var a=this._controllerGroup;R([\"pagePrev\",\"pageNext\"],function(t){var e=null!=o[t+\"DataIndex\"],i=a.childOfName(t);i&&(i.setStyle(\"fill\",e?n.get(\"pageIconColor\",!0):n.get(\"pageIconInactiveColor\",!0)),i.cursor=e?\"pointer\":\"default\")});var t=a.childOfName(\"pageText\"),e=n.get(\"pageFormatter\"),i=o.pageIndex,r=null!=i?i+1:0,s=o.pageCount;t&&e&&t.setStyle(\"text\",E(e)?e.replace(\"{current}\",r).replace(\"{total}\",s):e({current:r,total:s}))},_getPageInfo:function(t){var e=t.get(\"scrollDataIndex\",!0),i=this.getContentGroup(),n=this._containerGroup.__rectSize,o=t.getOrient().index,a=aL[o],r=rL[o],s=this._findTargetItemIndex(e),l=i.children(),u=l[s],h=l.length,c=h?1:0,d={contentPosition:i.position.slice(),pageCount:c,pageIndex:c-1,pagePrevDataIndex:null,pageNextDataIndex:null};if(!u)return d;var f=y(u);d.contentPosition[o]=-f.s;for(var p=s+1,g=f,m=f,v=null;p<=h;++p)(!(v=y(l[p]))&&m.e>g.s+n||v&&!x(v,g.s))&&(g=m.i>g.i?m:v)&&(null==d.pageNextDataIndex&&(d.pageNextDataIndex=g.i),++d.pageCount),m=v;for(p=s-1,g=f,m=f,v=null;-1<=p;--p)(v=y(l[p]))&&x(m,v.s)||!(g.i<m.i)||(m=g,null==d.pagePrevDataIndex&&(d.pagePrevDataIndex=g.i),++d.pageCount,++d.pageIndex),g=v;return d;function y(t){if(t){var e=t.getBoundingRect(),i=e[r]+t.position[o];return{s:i,e:i+e[a],i:t.__legendDataIndex}}}function x(t,e){return t.e>=e&&t.s<=e+n}},_findTargetItemIndex:function(n){return this._showController?(this.getContentGroup().eachChild(function(t,e){var i=t.__legendDataIndex;null==a&&null!=i&&(a=e),i===n&&(o=e)}),null!=o?o:a):0;var o,a}});_f(\"legendScroll\",\"legendscroll\",function(t,e){var i=t.scrollDataIndex;null!=i&&e.eachComponent({mainType:\"legend\",subType:\"scroll\",query:t},function(t){t.setScrollDataIndex(i)})});cD.extend({type:\"dataZoom.slider\",layoutMode:\"box\",defaultOption:{show:!0,right:\"ph\",top:\"ph\",width:\"ph\",height:\"ph\",left:null,bottom:null,backgroundColor:\"rgba(47,69,84,0)\",dataBackground:{lineStyle:{color:\"#2f4554\",width:.5,opacity:.3},areaStyle:{color:\"rgba(47,69,84,0.3)\",opacity:.3}},borderColor:\"#ddd\",fillerColor:\"rgba(167,183,204,0.4)\",handleIcon:\"M8.2,13.6V3.9H6.3v9.7H3.1v14.9h3.3v9.7h1.8v-9.7h3.3V13.6H8.2z M9.7,24.4H4.8v-1.4h4.9V24.4z M9.7,19.1H4.8v-1.4h4.9V19.1z\",handleSize:\"100%\",handleStyle:{color:\"#a7b7cc\"},labelPrecision:null,labelFormatter:null,showDetail:!0,showDataShadow:\"auto\",realtime:!0,zoomLock:!1,textStyle:{color:\"#333\"}}});var lL=rs,uL=Rl,hL=Bl,cL=A,dL=R,fL=\"horizontal\",pL=\"vertical\",gL=[\"line\",\"bar\",\"candlestick\",\"scatter\"],mL=pD.extend({type:\"dataZoom.slider\",init:function(t,e){this._displayables={},this._orient,this._range,this._handleEnds,this._size,this._handleWidth,this._handleHeight,this._location,this._dragging,this._dataShadowInfo,this.api=e},render:function(t,e,i,n){mL.superApply(this,\"render\",arguments),kc(this,\"_dispatchZoomAction\",this.dataZoomModel.get(\"throttle\"),\"fixRate\"),this._orient=t.get(\"orient\"),!1!==this.dataZoomModel.get(\"show\")?(n&&\"dataZoom\"===n.type&&n.from===this.uid||this._buildView(),this._updateView()):this.group.removeAll()},remove:function(){mL.superApply(this,\"remove\",arguments),Pc(this,\"_dispatchZoomAction\")},dispose:function(){mL.superApply(this,\"dispose\",arguments),Pc(this,\"_dispatchZoomAction\")},_buildView:function(){var t=this.group;t.removeAll(),this._resetLocation(),this._resetInterval();var e=this._displayables.barGroup=new Ci;this._renderBackground(),this._renderHandle(),this._renderDataShadow(),t.add(e),this._positionGroup()},_resetLocation:function(){var t=this.dataZoomModel,e=this.api,i=this._findCoordRect(),n={width:e.getWidth(),height:e.getHeight()},o=this._orient===fL?{right:n.width-i.x-i.width,top:n.height-30-7,width:i.width,height:30}:{right:7,top:i.y,width:30,height:i.height},a=Iu(t.option);R([\"right\",\"top\",\"width\",\"height\"],function(t){\"ph\"===a[t]&&(a[t]=o[t])});var r=bu(a,n,t.padding);this._location={x:r.x,y:r.y},this._size=[r.width,r.height],this._orient===pL&&this._size.reverse()},_positionGroup:function(){var t=this.group,e=this._location,i=this._orient,n=this.dataZoomModel.getFirstTargetAxisModel(),o=n&&n.get(\"inverse\"),a=this._displayables.barGroup,r=(this._dataShadowInfo||{}).otherAxisInverse;a.attr(i!==fL||o?i===fL&&o?{scale:r?[-1,1]:[-1,-1]}:i!==pL||o?{scale:r?[-1,-1]:[-1,1],rotation:Math.PI/2}:{scale:r?[1,-1]:[1,1],rotation:Math.PI/2}:{scale:r?[1,1]:[1,-1]});var s=t.getBoundingRect([a]);t.attr(\"position\",[e.x-s.x,e.y-s.y])},_getViewExtent:function(){return[0,this._size[0]]},_renderBackground:function(){var t=this.dataZoomModel,e=this._size,i=this._displayables.barGroup;i.add(new lL({silent:!0,shape:{x:0,y:0,width:e[0],height:e[1]},style:{fill:t.get(\"backgroundColor\")},z2:-40})),i.add(new lL({shape:{x:0,y:0,width:e[0],height:e[1]},style:{fill:\"transparent\"},z2:0,onclick:A(this._onClickPanelClick,this)}))},_renderDataShadow:function(){var t=this._dataShadowInfo=this._prepareDataShadowInfo();if(t){var e=this._size,i=t.series,n=i.getRawData(),o=i.getShadowDim?i.getShadowDim():t.otherDim;if(null!=o){var a=n.getDataExtent(o),r=.3*(a[1]-a[0]);a=[a[0]-r,a[1]+r];var s,l=[0,e[1]],u=[0,e[0]],h=[[e[0],0],[0,0]],c=[],d=u[1]/(n.count()-1),f=0,p=Math.round(n.count()/e[0]);n.each([o],function(t,e){if(0<p&&e%p)f+=d;else{var i=null==t||isNaN(t)||\"\"===t,n=i?0:uL(t,a,l,!0);i&&!s&&e?(h.push([h[h.length-1][0],0]),c.push([c[c.length-1][0],0])):!i&&s&&(h.push([f,0]),c.push([f,0])),h.push([f,n]),c.push([f,n]),f+=d,s=i}});var g=this.dataZoomModel;this._displayables.barGroup.add(new Qr({shape:{points:h},style:D({fill:g.get(\"dataBackgroundColor\")},g.getModel(\"dataBackground.areaStyle\").getAreaStyle()),silent:!0,z2:-20})),this._displayables.barGroup.add(new ts({shape:{points:c},style:g.getModel(\"dataBackground.lineStyle\").getLineStyle(),silent:!0,z2:-19}))}}},_prepareDataShadowInfo:function(){var t=this.dataZoomModel,s=t.get(\"showDataShadow\");if(!1!==s){var l,u=this.ecModel;return t.eachTargetAxis(function(a,r){R(t.getAxisProxy(a.name,r).getTargetSeriesModels(),function(t){if(!(l||!0!==s&&_(gL,t.get(\"type\"))<0)){var e,i=u.getComponent(a.axis,r).axis,n=function(t){return{x:\"y\",y:\"x\",radius:\"angle\",angle:\"radius\"}[t]}(a.name),o=t.coordinateSystem;null!=n&&o.getOtherAxis&&(e=o.getOtherAxis(i).inverse),n=t.getData().mapDimension(n),l={thisAxis:i,series:t,thisDim:a.name,otherDim:n,otherAxisInverse:e}}},this)},this),l}},_renderHandle:function(){var t=this._displayables,a=t.handles=[],r=t.handleLabels=[],s=this._displayables.barGroup,e=this._size,l=this.dataZoomModel;s.add(t.filler=new lL({draggable:!0,cursor:vL(this._orient),drift:cL(this._onDragMove,this,\"all\"),ondragstart:cL(this._showDataInfo,this,!0),ondragend:cL(this._onDragEnd,this),onmouseover:cL(this._showDataInfo,this,!0),onmouseout:cL(this._showDataInfo,this,!1),style:{fill:l.get(\"fillerColor\"),textPosition:\"inside\"}})),s.add(new lL({silent:!0,subPixelOptimize:!0,shape:{x:0,y:0,width:e[0],height:e[1]},style:{stroke:l.get(\"dataBackgroundColor\")||l.get(\"borderColor\"),lineWidth:1,fill:\"rgba(0,0,0,0)\"}})),dL([0,1],function(t){var e=yl(l.get(\"handleIcon\"),{cursor:vL(this._orient),draggable:!0,drift:cL(this._onDragMove,this,t),ondragend:cL(this._onDragEnd,this),onmouseover:cL(this._showDataInfo,this,!0),onmouseout:cL(this._showDataInfo,this,!1)},{x:-1,y:0,width:2,height:2}),i=e.getBoundingRect();this._handleHeight=El(l.get(\"handleSize\"),this._size[1]),this._handleWidth=i.width/i.height*this._handleHeight,e.setStyle(l.getModel(\"handleStyle\").getItemStyle());var n=l.get(\"handleColor\");null!=n&&(e.style.fill=n),s.add(a[t]=e);var o=l.textStyleModel;this.group.add(r[t]=new Ur({silent:!0,invisible:!0,style:{x:0,y:0,text:\"\",textVerticalAlign:\"middle\",textAlign:\"center\",textFill:o.getTextColor(),textFont:o.getFont()},z2:10}))},this)},_resetInterval:function(){var t=this._range=this.dataZoomModel.getPercentRange(),e=this._getViewExtent();this._handleEnds=[uL(t[0],[0,100],e,!0),uL(t[1],[0,100],e,!0)]},_updateInterval:function(t,e){var i=this.dataZoomModel,n=this._handleEnds,o=this._getViewExtent(),a=i.findRepresentativeAxisProxy().getMinMaxSpan(),r=[0,100];sb(e,n,o,i.get(\"zoomLock\")?\"all\":t,null!=a.minSpan?uL(a.minSpan,r,o,!0):null,null!=a.maxSpan?uL(a.maxSpan,r,o,!0):null);var s=this._range,l=this._range=hL([uL(n[0],o,r,!0),uL(n[1],o,r,!0)]);return!s||s[0]!==l[0]||s[1]!==l[1]},_updateView:function(t){var n=this._displayables,o=this._handleEnds,e=hL(o.slice()),a=this._size;dL([0,1],function(t){var e=n.handles[t],i=this._handleHeight;e.attr({scale:[i/2,i/2],position:[o[t],a[1]/2-i/2]})},this),n.filler.setShape({x:e[0],y:0,width:e[1]-e[0],height:a[1]}),this._updateDataInfo(t)},_updateDataInfo:function(t){var e=this.dataZoomModel,a=this._displayables,r=a.handleLabels,s=this._orient,l=[\"\",\"\"];if(e.get(\"showDetail\")){var i=e.findRepresentativeAxisProxy();if(i){var n=i.getAxisModel().axis,o=this._range,u=t?i.calculateDataWindow({start:o[0],end:o[1]}).valueWindow:i.getDataValueWindow();l=[this._formatLabel(u[0],n),this._formatLabel(u[1],n)]}}var h=hL(this._handleEnds.slice());function c(t){var e=fl(a.handles[t].parent,this.group),i=gl(0===t?\"right\":\"left\",e),n=this._handleWidth/2+5,o=pl([h[t]+(0===t?-n:n),this._size[1]/2],e);r[t].setStyle({x:o[0],y:o[1],textVerticalAlign:s===fL?\"middle\":i,textAlign:s===fL?i:\"center\",text:l[t]})}c.call(this,0),c.call(this,1)},_formatLabel:function(t,e){var i=this.dataZoomModel,n=i.get(\"labelFormatter\"),o=i.get(\"labelPrecision\");null!=o&&\"auto\"!==o||(o=e.getPixelPrecision());var a=null==t||isNaN(t)?\"\":\"category\"===e.type||\"time\"===e.type?e.scale.getLabel(Math.round(t)):t.toFixed(Math.min(o,20));return C(n)?n(t,a):E(n)?n.replace(\"{value}\",a):a},_showDataInfo:function(t){t=this._dragging||t;var e=this._displayables.handleLabels;e[0].attr(\"invisible\",!t),e[1].attr(\"invisible\",!t)},_onDragMove:function(t,e,i,n){this._dragging=!0,Xt(n.event);var o=pl([e,i],this._displayables.barGroup.getLocalTransform(),!0),a=this._updateInterval(t,o[0]),r=this.dataZoomModel.get(\"realtime\");this._updateView(!r),a&&r&&this._dispatchZoomAction()},_onDragEnd:function(){this._dragging=!1,this._showDataInfo(!1),this.dataZoomModel.get(\"realtime\")||this._dispatchZoomAction()},_onClickPanelClick:function(t){var e=this._size,i=this._displayables.barGroup.transformCoordToLocal(t.offsetX,t.offsetY);if(!(i[0]<0||i[0]>e[0]||i[1]<0||i[1]>e[1])){var n=this._handleEnds,o=(n[0]+n[1])/2,a=this._updateInterval(\"all\",i[0]-o);this._updateView(),a&&this._dispatchZoomAction()}},_dispatchZoomAction:function(){var t=this._range;this.api.dispatchAction({type:\"dataZoom\",from:this.uid,dataZoomId:this.dataZoomModel.id,start:t[0],end:t[1]})},_findCoordRect:function(){var i;if(dL(this.getTargetCoordInfo(),function(t){if(!i&&t.length){var e=t[0].model.coordinateSystem;i=e.getRect&&e.getRect()}}),!i){var t=this.api.getWidth(),e=this.api.getHeight();i={x:.2*t,y:.2*e,width:.6*t,height:.6*e}}return i}});function vL(t){return\"vertical\"===t?\"ns-resize\":\"ew-resize\"}cD.extend({type:\"dataZoom.inside\",defaultOption:{disabled:!1,zoomLock:!1,zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!1,preventDefaultMouseMove:!0}});var yL=\"\\0_ec_dataZoom_roams\";function xL(t,n){var e=wL(t),o=n.dataZoomId,a=n.coordId;R(e,function(t,e){var i=t.dataZoomInfos;i[o]&&_(n.allCoordIds,a)<0&&(delete i[o],t.count--)}),bL(e);var i=e[a];i||((i=e[a]={coordId:a,dataZoomInfos:{},count:0}).controller=function(t,r){var e=new Vy(t.getZr());return R([\"pan\",\"zoom\",\"scrollMove\"],function(a){e.on(a,function(n){var o=[];R(r.dataZoomInfos,function(t){if(n.isAvailableBehavior(t.dataZoomModel.option)){var e=(t.getRange||{})[a],i=e&&e(r.controller,n);!t.dataZoomModel.get(\"disabled\",!0)&&i&&o.push({dataZoomId:t.dataZoomId,start:i[0],end:i[1]})}}),o.length&&r.dispatchAction(o)})}),e}(t,i),i.dispatchAction=T(SL,t)),i.dataZoomInfos[o]||i.count++,i.dataZoomInfos[o]=n;var r=function(t){var n,o={type_true:2,type_move:1,type_false:0,type_undefined:-1},a=!0;return R(t,function(t){var e=t.dataZoomModel,i=!e.get(\"disabled\",!0)&&(!e.get(\"zoomLock\",!0)||\"move\");o[\"type_\"+n]<o[\"type_\"+i]&&(n=i),a&=e.get(\"preventDefaultMouseMove\",!0)}),{controlType:n,opt:{zoomOnMouseWheel:!0,moveOnMouseMove:!0,moveOnMouseWheel:!0,preventDefaultMouseMove:!!a}}}(i.dataZoomInfos);i.controller.enable(r.controlType,r.opt),i.controller.setPointerChecker(n.containsPoint),kc(i,\"dispatchAction\",n.dataZoomModel.get(\"throttle\",!0),\"fixRate\")}function _L(t){return t.type+\"\\0_\"+t.id}function wL(t){var e=t.getZr();return e[yL]||(e[yL]={})}function bL(i){R(i,function(t,e){t.count||(t.controller.dispose(),delete i[e])})}function SL(t,e){t.dispatchAction({type:\"dataZoom\",batch:e})}var ML=A,IL=pD.extend({type:\"dataZoom.inside\",init:function(t,e){this._range},render:function(r,t,s,e){IL.superApply(this,\"render\",arguments),this._range=r.getPercentRange(),R(this.getTargetCoordInfo(),function(t,o){var a=O(t,function(t){return _L(t.model)});R(t,function(e){var n=e.model,i={};R([\"pan\",\"zoom\",\"scrollMove\"],function(t){i[t]=ML(TL[t],this,e,o)},this),xL(s,{coordId:_L(n),allCoordIds:a,containsPoint:function(t,e,i){return n.coordinateSystem.containPoint([e,i])},dataZoomId:r.id,dataZoomModel:r,getRange:i})},this)},this)},dispose:function(){!function(t,i){var e=wL(t);R(e,function(t){t.controller.dispose();var e=t.dataZoomInfos;e[i]&&(delete e[i],t.count--)}),bL(e)}(this.api,this.dataZoomModel.id),IL.superApply(this,\"dispose\",arguments),this._range=null}}),TL={zoom:function(t,e,i,n){var o=this._range,a=o.slice(),r=t.axisModels[0];if(r){var s=CL[e](null,[n.originX,n.originY],r,i,t),l=(0<s.signal?s.pixelStart+s.pixelLength-s.pixel:s.pixel-s.pixelStart)/s.pixelLength*(a[1]-a[0])+a[0],u=Math.max(1/n.scale,0);a[0]=(a[0]-l)*u+l,a[1]=(a[1]-l)*u+l;var h=this.dataZoomModel.findRepresentativeAxisProxy().getMinMaxSpan();return sb(0,a,[0,100],0,h.minSpan,h.maxSpan),this._range=a,o[0]!==a[0]||o[1]!==a[1]?a:void 0}},pan:AL(function(t,e,i,n,o,a){var r=CL[n]([a.oldX,a.oldY],[a.newX,a.newY],e,o,i);return r.signal*(t[1]-t[0])*r.pixel/r.pixelLength}),scrollMove:AL(function(t,e,i,n,o,a){return CL[n]([0,0],[a.scrollDelta,a.scrollDelta],e,o,i).signal*(t[1]-t[0])*a.scrollDelta})};function AL(l){return function(t,e,i,n){var o=this._range,a=o.slice(),r=t.axisModels[0];if(r){var s=l(a,r,t,e,i,n);return sb(s,a,[0,100],\"all\"),this._range=a,o[0]!==a[0]||o[1]!==a[1]?a:void 0}}}function DL(t){var e=t&&t.visualMap;L(e)||(e=e?[e]:[]),LL(e,function(t){if(t){kL(t,\"splitList\")&&!kL(t,\"pieces\")&&(t.pieces=t.splitList,delete t.splitList);var e=t.pieces;e&&L(e)&&LL(e,function(t){z(t)&&(kL(t,\"start\")&&!kL(t,\"min\")&&(t.min=t.start),kL(t,\"end\")&&!kL(t,\"max\")&&(t.max=t.end))})}})}var CL={grid:function(t,e,i,n,o){var a=i.axis,r={},s=o.model.coordinateSystem.getRect();return t=t||[0,0],\"x\"===a.dim?(r.pixel=e[0]-t[0],r.pixelLength=s.width,r.pixelStart=s.x,r.signal=a.inverse?1:-1):(r.pixel=e[1]-t[1],r.pixelLength=s.height,r.pixelStart=s.y,r.signal=a.inverse?-1:1),r},polar:function(t,e,i,n,o){var a=i.axis,r={},s=o.model.coordinateSystem,l=s.getRadiusAxis().getExtent(),u=s.getAngleAxis().getExtent();return t=t?s.pointToCoord(t):[0,0],e=s.pointToCoord(e),\"radiusAxis\"===i.mainType?(r.pixel=e[0]-t[0],r.pixelLength=l[1]-l[0],r.pixelStart=l[0],r.signal=a.inverse?1:-1):(r.pixel=e[1]-t[1],r.pixelLength=u[1]-u[0],r.pixelStart=u[0],r.signal=a.inverse?-1:1),r},singleAxis:function(t,e,i,n,o){var a=i.axis,r=o.model.coordinateSystem.getRect(),s={};return t=t||[0,0],\"horizontal\"===a.orient?(s.pixel=e[0]-t[0],s.pixelLength=r.width,s.pixelStart=r.x,s.signal=a.inverse?1:-1):(s.pixel=e[1]-t[1],s.pixelLength=r.height,s.pixelStart=r.y,s.signal=a.inverse?-1:1),s}},LL=R;function kL(t,e){return t&&t.hasOwnProperty&&t.hasOwnProperty(e)}ku.registerSubTypeDefaulter(\"visualMap\",function(t){return t.categories||(t.pieces?0<t.pieces.length:0<t.splitNumber)&&!t.calculable?\"piecewise\":\"continuous\"});var PL=Ld.VISUAL.COMPONENT;function NL(t,e,i,n){for(var o=e.targetVisuals[n],a=g_.prepareVisualTypes(o),r={color:t.getData().getVisual(\"color\")},s=0,l=a.length;s<l;s++){var u=a[s],h=o[\"opacity\"===u?\"__alphaForOpacity\":u];h&&h.applyVisual(i,c,d)}return r.color;function c(t){return r[t]}function d(t,e){r[t]=e}}Sf(PL,{createOnAllSeries:!0,reset:function(i,t){var n=[];return t.eachComponent(\"visualMap\",function(t){var e=i.pipelineContext;!t.isTargetSeries(i)||e&&e.large||n.push(function(t,f,p,g){var m={};return R(t,function(t){var e=g_.prepareVisualTypes(f[t]);m[t]=e}),{progress:function(t,i){function e(t){return i.getItemVisual(o,t)}function n(t,e){i.setItemVisual(o,t,e)}var o;for(null!=g&&(g=i.getDimension(g));null!=(o=t.next());){var a=i.getRawDataItem(o);if(!a||!1!==a.visualMap)for(var r=null!=g?i.get(g,o,!0):o,s=p(r),l=f[s],u=m[s],h=0,c=u.length;h<c;h++){var d=u[h];l[d]&&l[d].applyVisual(r,e,n)}}}}}(t.stateList,t.targetVisuals,A(t.getValueState,t),t.getDataDimension(i.getData())))}),n}}),Sf(PL,{createOnAllSeries:!0,reset:function(o,t){var a=o.getData(),r=[];t.eachComponent(\"visualMap\",function(t){if(t.isTargetSeries(o)){var e=t.getVisualMeta(A(NL,null,o,t))||{stops:[],outerColors:[]},i=t.getDataDimension(a),n=a.getDimensionInfo(i);null!=n&&(e.dimension=n.index,r.push(e))}}),o.getData().setVisual(\"visualMeta\",r)}});var OL=function(t,e,i){var n=k((RL[t]||{})[e]);return i&&L(n)?n[n.length-1]:n},RL={color:{active:[\"#006edd\",\"#e0ffff\"],inactive:[\"rgba(0,0,0,0)\"]},colorHue:{active:[0,360],inactive:[0,0]},colorSaturation:{active:[.3,1],inactive:[0,0]},colorLightness:{active:[.9,.5],inactive:[0,0]},colorAlpha:{active:[.3,1],inactive:[0,0]},opacity:{active:[.3,1],inactive:[0,0]},symbol:{active:[\"circle\",\"roundRect\",\"diamond\"],inactive:[\"none\"]},symbolSize:{active:[10,50],inactive:[0,0]}},EL=g_.mapVisual,zL=g_.eachVisual,BL=L,VL=R,GL=Bl,FL=Rl,WL=Tf({type:\"visualMap\",dependencies:[\"series\"],stateList:[\"inRange\",\"outOfRange\"],replacableOptionKeys:[\"inRange\",\"outOfRange\",\"target\",\"controller\",\"color\"],dataBound:[-1/0,1/0],layoutMode:{type:\"box\",ignoreSize:!0},defaultOption:{show:!0,zlevel:0,z:4,seriesIndex:\"all\",min:0,max:200,dimension:null,inRange:null,outOfRange:null,left:0,right:null,top:null,bottom:0,itemWidth:null,itemHeight:null,inverse:!1,orient:\"vertical\",backgroundColor:\"rgba(0,0,0,0)\",borderColor:\"#ccc\",contentColor:\"#5793f3\",inactiveColor:\"#aaa\",borderWidth:0,padding:5,textGap:10,precision:0,color:null,formatter:null,text:null,textStyle:{color:\"#333\"}},init:function(t,e,i){this._dataExtent,this.targetVisuals={},this.controllerVisuals={},this.textStyleModel,this.itemSize,this.mergeDefaultAndTheme(t,i)},optionUpdated:function(t,e){var i=this.option;v.canvasSupported||(i.realtime=!1),e||WD(i,t,this.replacableOptionKeys),this.textStyleModel=this.getModel(\"textStyle\"),this.resetItemSize(),this.completeVisualOption()},resetVisual:function(t){var e=this.stateList;t=A(t,this),this.controllerVisuals=FD(this.option.controller,e,t),this.targetVisuals=FD(this.option.target,e,t)},getTargetSeriesIndices:function(){var t=this.option.seriesIndex,i=[];return null==t||\"all\"===t?this.ecModel.eachSeries(function(t,e){i.push(e)}):i=Vo(t),i},eachTargetSeries:function(e,i){R(this.getTargetSeriesIndices(),function(t){e.call(i,this.ecModel.getSeriesByIndex(t))},this)},isTargetSeries:function(e){var i=!1;return this.eachTargetSeries(function(t){t===e&&(i=!0)}),i},formatValueText:function(t,e,i){var n,o,a=this.option,r=a.precision,s=this.dataBound,l=a.formatter;return i=i||[\"<\",\">\"],L(t)&&(t=t.slice(),n=!0),o=e?t:n?[u(t[0]),u(t[1])]:u(t),E(l)?l.replace(\"{value}\",n?o[0]:o).replace(\"{value2}\",n?o[1]:o):C(l)?n?l(t[0],t[1]):l(t):n?t[0]===s[0]?i[0]+\" \"+o[1]:t[1]===s[1]?i[1]+\" \"+o[0]:o[0]+\" - \"+o[1]:o;function u(t){return t===s[0]?\"min\":t===s[1]?\"max\":(+t).toFixed(Math.min(r,20))}},resetExtent:function(){var t=this.option,e=GL([t.min,t.max]);this._dataExtent=e},getDataDimension:function(t){var e=this.option.dimension,i=t.dimensions;if(null!=e||i.length){if(null!=e)return t.getDimension(e);for(var n=t.dimensions,o=n.length-1;0<=o;o--){var a=n[o];if(!t.getDimensionInfo(a).isCalculationCoord)return a}}},getExtent:function(){return this._dataExtent.slice()},completeVisualOption:function(){var t=this.ecModel,e=this.option,i={inRange:e.inRange,outOfRange:e.outOfRange},n=e.target||(e.target={}),o=e.controller||(e.controller={});m(n,i),m(o,i);var u=this.isCategory();function a(n){BL(e.color)&&!n.inRange&&(n.inRange={color:e.color.slice().reverse()}),n.inRange=n.inRange||{color:t.get(\"gradientColor\")},VL(this.stateList,function(t){var e=n[t];if(E(e)){var i=OL(e,\"active\",u);i?(n[t]={},n[t][e]=i):delete n[t]}},this)}a.call(this,n),a.call(this,o),function(t,e,i){var n=t[e],o=t[i];n&&!o&&(o=t[i]={},VL(n,function(t,e){if(g_.isValidType(e)){var i=OL(e,\"inactive\",u);null!=i&&(o[e]=i,\"color\"!==e||o.hasOwnProperty(\"opacity\")||o.hasOwnProperty(\"colorAlpha\")||(o.opacity=[0,0]))}}))}.call(this,n,\"inRange\",\"outOfRange\"),function(a){var r=(a.inRange||{}).symbol||(a.outOfRange||{}).symbol,s=(a.inRange||{}).symbolSize||(a.outOfRange||{}).symbolSize,l=this.get(\"inactiveColor\");VL(this.stateList,function(t){var e=this.itemSize,i=a[t];null==(i=i||(a[t]={color:u?l:[l]})).symbol&&(i.symbol=r&&k(r)||(u?\"roundRect\":[\"roundRect\"])),null==i.symbolSize&&(i.symbolSize=s&&k(s)||(u?e[0]:[e[0],e[0]])),i.symbol=EL(i.symbol,function(t){return\"none\"===t||\"square\"===t?\"roundRect\":t});var n=i.symbolSize;if(null!=n){var o=-1/0;zL(n,function(t){o<t&&(o=t)}),i.symbolSize=EL(n,function(t){return FL(t,[0,o],[0,e[0]],!0)})}},this)}.call(this,o)},resetItemSize:function(){this.itemSize=[parseFloat(this.get(\"itemWidth\")),parseFloat(this.get(\"itemHeight\"))]},isCategory:function(){return!!this.option.categories},setSelected:et,getValueState:et,getVisualMeta:et}),HL=[20,140],ZL=WL.extend({type:\"visualMap.continuous\",defaultOption:{align:\"auto\",calculable:!1,range:null,realtime:!0,itemHeight:null,itemWidth:null,hoverLink:!0,hoverLinkDataSize:null,hoverLinkOnHandle:null},optionUpdated:function(t,e){ZL.superApply(this,\"optionUpdated\",arguments),this.resetExtent(),this.resetVisual(function(t){t.mappingMethod=\"linear\",t.dataExtent=this.getExtent()}),this._resetRange()},resetItemSize:function(){ZL.superApply(this,\"resetItemSize\",arguments);var t=this.itemSize;\"horizontal\"===this._orient&&t.reverse(),null!=t[0]&&!isNaN(t[0])||(t[0]=HL[0]),null!=t[1]&&!isNaN(t[1])||(t[1]=HL[1])},_resetRange:function(){var t=this.getExtent(),e=this.option.range;!e||e.auto?(t.auto=1,this.option.range=t):L(e)&&(e[0]>e[1]&&e.reverse(),e[0]=Math.max(e[0],t[0]),e[1]=Math.min(e[1],t[1]))},completeVisualOption:function(){WL.prototype.completeVisualOption.apply(this,arguments),R(this.stateList,function(t){var e=this.option.controller[t].symbolSize;e&&e[0]!==e[1]&&(e[0]=0)},this)},setSelected:function(t){this.option.range=t.slice(),this._resetRange()},getSelected:function(){var t=this.getExtent(),e=Bl((this.get(\"range\")||[]).slice());return e[0]>t[1]&&(e[0]=t[1]),e[1]>t[1]&&(e[1]=t[1]),e[0]<t[0]&&(e[0]=t[0]),e[1]<t[0]&&(e[1]=t[0]),e},getValueState:function(t){var e=this.option.range,i=this.getExtent();return(e[0]<=i[0]||e[0]<=t)&&(e[1]>=i[1]||t<=e[1])?\"inRange\":\"outOfRange\"},findTargetDataIndices:function(n){var o=[];return this.eachTargetSeries(function(t){var i=[],e=t.getData();e.each(this.getDataDimension(e),function(t,e){n[0]<=t&&t<=n[1]&&i.push(e)},this),o.push({seriesId:t.id,dataIndex:i})},this),o},getVisualMeta:function(i){var t=UL(this,\"outOfRange\",this.getExtent()),e=UL(this,\"inRange\",this.option.range.slice()),n=[];function o(t,e){n.push({value:t,color:i(t,e)})}for(var a=0,r=0,s=e.length,l=t.length;r<l&&(!e.length||t[r]<=e[0]);r++)t[r]<e[a]&&o(t[r],\"outOfRange\");for(var u=1;a<s;a++,u=0)u&&n.length&&o(e[a],\"outOfRange\"),o(e[a],\"inRange\");for(u=1;r<l;r++)(!e.length||e[e.length-1]<t[r])&&(u&&(n.length&&o(n[n.length-1].value,\"outOfRange\"),u=0),o(t[r],\"outOfRange\"));var h=n.length;return{stops:n,outerColors:[h?n[0].color:\"transparent\",h?n[h-1].color:\"transparent\"]}}});function UL(t,e,i){if(i[0]===i[1])return i.slice();for(var n=(i[1]-i[0])/200,o=i[0],a=[],r=0;r<=200&&o<i[1];r++)a.push(o),o+=n;return a.push(i[1]),a}var XL=Af({type:\"visualMap\",autoPositionValues:{left:1,right:1,top:1,bottom:1},init:function(t,e){this.ecModel=t,this.api=e,this.visualMapModel},render:function(t,e,i,n){!1!==(this.visualMapModel=t).get(\"show\")?this.doRender.apply(this,arguments):this.group.removeAll()},renderBackground:function(t){var e=this.visualMapModel,i=iu(e.get(\"padding\")||0),n=t.getBoundingRect();t.add(new rs({z2:-1,silent:!0,shape:{x:n.x-i[3],y:n.y-i[0],width:n.width+i[3]+i[1],height:n.height+i[0]+i[2]},style:{fill:e.get(\"backgroundColor\"),stroke:e.get(\"borderColor\"),lineWidth:e.get(\"borderWidth\")}}))},getControllerVisual:function(i,n,o){var t=(o=o||{}).forceState,e=this.visualMapModel,a={};if(\"symbol\"===n&&(a.symbol=e.get(\"itemSymbol\")),\"color\"===n){var r=e.get(\"contentColor\");a.color=r}function s(t){return a[t]}function l(t,e){a[t]=e}var u=e.controllerVisuals[t||e.getValueState(i)];return R(g_.prepareVisualTypes(u),function(t){var e=u[t];o.convertOpacityToAlpha&&\"opacity\"===t&&(t=\"colorAlpha\",e=u.__alphaForOpacity),g_.dependsOn(t,n)&&e&&e.applyVisual(i,s,l)}),a[n]},positionGroup:function(t){var e=this.visualMapModel,i=this.api;Su(t,e.getBoxLayoutParams(),{width:i.getWidth(),height:i.getHeight()})},doRender:et});function YL(t,e,i){var n=t.option,o=n.align;if(null!=o&&\"auto\"!==o)return o;for(var a={width:e.getWidth(),height:e.getHeight()},r=\"horizontal\"===n.orient?1:0,s=[[\"left\",\"right\",\"width\"],[\"top\",\"bottom\",\"height\"]],l=s[r],u=[0,null,10],h={},c=0;c<3;c++)h[s[1-r][c]]=u[c],h[l[c]]=2===c?i[0]:n[l[c]];var d=[[\"x\",\"width\",3],[\"y\",\"height\",0]][r],f=bu(h,a,n.padding);return l[(f.margin[d[2]]||0)+f[d[0]]+.5*f[d[1]]<.5*a[d[1]]?0:1]}function jL(t,e){return R(t||[],function(t){null!=t.dataIndex&&(t.dataIndexInside=t.dataIndex,t.dataIndex=null),t.highlightKey=\"visualMap\"+(e?e.componentIndex:\"\")}),t}var qL=Rl,KL=R,$L=Math.min,JL=Math.max,QL=XL.extend({type:\"visualMap.continuous\",init:function(){QL.superApply(this,\"init\",arguments),this._shapes={},this._dataInterval=[],this._handleEnds=[],this._orient,this._useHandle,this._hoverLinkDataIndices=[],this._dragging,this._hovering},doRender:function(t,e,i,n){n&&\"selectDataRange\"===n.type&&n.from===this.uid||this._buildView()},_buildView:function(){this.group.removeAll();var t=this.visualMapModel,e=this.group;this._orient=t.get(\"orient\"),this._useHandle=t.get(\"calculable\"),this._resetInterval(),this._renderBar(e);var i=t.get(\"text\");this._renderEndsText(e,i,0),this._renderEndsText(e,i,1),this._updateView(!0),this.renderBackground(e),this._updateView(),this._enableHoverLinkToSeries(),this._enableHoverLinkFromSeries(),this.positionGroup(e)},_renderEndsText:function(t,e,i){if(e){var n=e[1-i];n=null!=n?n+\"\":\"\";var o=this.visualMapModel,a=o.get(\"textGap\"),r=o.itemSize,s=this._shapes.barGroup,l=this._applyTransform([r[0]/2,0===i?-a:r[1]+a],s),u=this._applyTransform(0===i?\"bottom\":\"top\",s),h=this._orient,c=this.visualMapModel.textStyleModel;this.group.add(new Ur({style:{x:l[0],y:l[1],textVerticalAlign:\"horizontal\"===h?\"middle\":u,textAlign:\"horizontal\"===h?u:\"center\",text:n,textFont:c.getFont(),textFill:c.getTextColor()}}))}},_renderBar:function(t){var e=this.visualMapModel,i=this._shapes,n=e.itemSize,o=this._orient,a=this._useHandle,r=YL(e,this.api,n),s=i.barGroup=this._createBarGroup(r);s.add(i.outOfRange=tk()),s.add(i.inRange=tk(null,a?ik(this._orient):null,A(this._dragHandle,this,\"all\",!1),A(this._dragHandle,this,\"all\",!0)));var l=e.textStyleModel.getTextRect(\"国\"),u=JL(l.width,l.height);a&&(i.handleThumbs=[],i.handleLabels=[],i.handleLabelPoints=[],this._createHandle(s,0,n,u,o,r),this._createHandle(s,1,n,u,o,r)),this._createIndicator(s,n,u,o),t.add(s)},_createHandle:function(t,e,i,n,o){var a=A(this._dragHandle,this,e,!1),r=A(this._dragHandle,this,e,!0),s=tk(function(t,e){return 0===t?[[0,0],[e,0],[e,-e]]:[[0,0],[e,0],[e,e]]}(e,n),ik(this._orient),a,r);s.position[0]=i[0],t.add(s);var l=this.visualMapModel.textStyleModel,u=new Ur({draggable:!0,drift:a,onmousemove:function(t){Xt(t.event)},ondragend:r,style:{x:0,y:0,text:\"\",textFont:l.getFont(),textFill:l.getTextColor()}});this.group.add(u);var h=[\"horizontal\"===o?n/2:1.5*n,\"horizontal\"===o?0===e?-1.5*n:1.5*n:0===e?-n/2:n/2],c=this._shapes;c.handleThumbs[e]=s,c.handleLabelPoints[e]=h,c.handleLabels[e]=u},_createIndicator:function(t,e,i,n){var o=tk([[0,0]],\"move\");o.position[0]=e[0],o.attr({invisible:!0,silent:!0}),t.add(o);var a=this.visualMapModel.textStyleModel,r=new Ur({silent:!0,invisible:!0,style:{x:0,y:0,text:\"\",textFont:a.getFont(),textFill:a.getTextColor()}});this.group.add(r);var s=[\"horizontal\"===n?i/2:9,0],l=this._shapes;l.indicator=o,l.indicatorLabel=r,l.indicatorLabelPoint=s},_dragHandle:function(t,e,i,n){if(this._useHandle){if(this._dragging=!e,!e){var o=this._applyTransform([i,n],this._shapes.barGroup,!0);this._updateInterval(t,o[1]),this._updateView()}e===!this.visualMapModel.get(\"realtime\")&&this.api.dispatchAction({type:\"selectDataRange\",from:this.uid,visualMapId:this.visualMapModel.id,selected:this._dataInterval.slice()}),e?this._hovering||this._clearHoverLinkToSeries():ek(this.visualMapModel)&&this._doHoverLinkToSeries(this._handleEnds[t],!1)}},_resetInterval:function(){var t=this.visualMapModel,e=this._dataInterval=t.getSelected(),i=t.getExtent(),n=[0,t.itemSize[1]];this._handleEnds=[qL(e[0],i,n,!0),qL(e[1],i,n,!0)]},_updateInterval:function(t,e){e=e||0;var i=this.visualMapModel,n=this._handleEnds,o=[0,i.itemSize[1]];sb(e,n,o,t,0);var a=i.getExtent();this._dataInterval=[qL(n[0],o,a,!0),qL(n[1],o,a,!0)]},_updateView:function(t){var e=this.visualMapModel,i=e.getExtent(),n=this._shapes,o=[0,e.itemSize[1]],a=t?o:this._handleEnds,r=this._createBarVisual(this._dataInterval,i,a,\"inRange\"),s=this._createBarVisual(i,i,o,\"outOfRange\");n.inRange.setStyle({fill:r.barColor,opacity:r.opacity}).setShape(\"points\",r.barPoints),n.outOfRange.setStyle({fill:s.barColor,opacity:s.opacity}).setShape(\"points\",s.barPoints),this._updateHandle(a,r)},_createBarVisual:function(t,e,i,n){var o={forceState:n,convertOpacityToAlpha:!0},a=this._makeColorGradient(t,o),r=[this.getControllerVisual(t[0],\"symbolSize\",o),this.getControllerVisual(t[1],\"symbolSize\",o)],s=this._createBarPoints(i,r);return{barColor:new gs(0,0,0,1,a),barPoints:s,handlesColor:[a[0].color,a[a.length-1].color]}},_makeColorGradient:function(t,e){var i=[],n=(t[1]-t[0])/100;i.push({color:this.getControllerVisual(t[0],\"color\",e),offset:0});for(var o=1;o<100;o++){var a=t[0]+n*o;if(a>t[1])break;i.push({color:this.getControllerVisual(a,\"color\",e),offset:o/100})}return i.push({color:this.getControllerVisual(t[1],\"color\",e),offset:1}),i},_createBarPoints:function(t,e){var i=this.visualMapModel.itemSize;return[[i[0]-e[0],t[0]],[i[0],t[0]],[i[0],t[1]],[i[0]-e[1],t[1]]]},_createBarGroup:function(t){var e=this._orient,i=this.visualMapModel.get(\"inverse\");return new Ci(\"horizontal\"!==e||i?\"horizontal\"===e&&i?{scale:\"bottom\"===t?[-1,1]:[1,1],rotation:-Math.PI/2}:\"vertical\"!==e||i?{scale:\"left\"===t?[1,1]:[-1,1]}:{scale:\"left\"===t?[1,-1]:[-1,-1]}:{scale:\"bottom\"===t?[1,1]:[-1,1],rotation:Math.PI/2})},_updateHandle:function(n,o){if(this._useHandle){var a=this._shapes,r=this.visualMapModel,s=a.handleThumbs,l=a.handleLabels;KL([0,1],function(t){var e=s[t];e.setStyle(\"fill\",o.handlesColor[t]),e.position[1]=n[t];var i=pl(a.handleLabelPoints[t],fl(e,this.group));l[t].setStyle({x:i[0],y:i[1],text:r.formatValueText(this._dataInterval[t]),textVerticalAlign:\"middle\",textAlign:this._applyTransform(\"horizontal\"===this._orient?0===t?\"bottom\":\"top\":\"left\",a.barGroup)})},this)}},_showIndicator:function(t,e,i,n){var o=this.visualMapModel,a=o.getExtent(),r=o.itemSize,s=[0,r[1]],l=qL(t,a,s,!0),u=this._shapes,h=u.indicator;if(h){h.position[1]=l,h.attr(\"invisible\",!1),h.setShape(\"points\",function(t,e,i,n){return t?[[0,-$L(e,JL(i,0))],[6,0],[0,$L(e,JL(n-i,0))]]:[[0,0],[5,-5],[5,5]]}(!!i,n,l,r[1]));var c=this.getControllerVisual(t,\"color\",{convertOpacityToAlpha:!0});h.setStyle(\"fill\",c);var d=pl(u.indicatorLabelPoint,fl(h,this.group)),f=u.indicatorLabel;f.attr(\"invisible\",!1);var p=this._applyTransform(\"left\",u.barGroup),g=this._orient;f.setStyle({text:(i||\"\")+o.formatValueText(e),textVerticalAlign:\"horizontal\"===g?p:\"middle\",textAlign:\"horizontal\"===g?\"center\":p,x:d[0],y:d[1]})}},_enableHoverLinkToSeries:function(){var n=this;this._shapes.barGroup.on(\"mousemove\",function(t){if(n._hovering=!0,!n._dragging){var e=n.visualMapModel.itemSize,i=n._applyTransform([t.offsetX,t.offsetY],n._shapes.barGroup,!0,!0);i[1]=$L(JL(0,i[1]),e[1]),n._doHoverLinkToSeries(i[1],0<=i[0]&&i[0]<=e[0])}}).on(\"mouseout\",function(){n._hovering=!1,n._dragging||n._clearHoverLinkToSeries()})},_enableHoverLinkFromSeries:function(){var t=this.api.getZr();this.visualMapModel.option.hoverLink?(t.on(\"mouseover\",this._hoverLinkFromSeriesMouseOver,this),t.on(\"mouseout\",this._hideIndicator,this)):this._clearHoverLinkFromSeries()},_doHoverLinkToSeries:function(t,e){var i=this.visualMapModel,n=i.itemSize;if(i.option.hoverLink){var o=[0,n[1]],a=i.getExtent();t=$L(JL(o[0],t),o[1]);var r=function(t,e,i){var n=6,o=t.get(\"hoverLinkDataSize\");o&&(n=qL(o,e,i,!0)/2);return n}(i,a,o),s=[t-r,t+r],l=qL(t,o,a,!0),u=[qL(s[0],o,a,!0),qL(s[1],o,a,!0)];s[0]<o[0]&&(u[0]=-1/0),o[1]<s[1]&&(u[1]=1/0),e&&(u[0]===-1/0?this._showIndicator(l,u[1],\"< \",r):u[1]===1/0?this._showIndicator(l,u[0],\"> \",r):this._showIndicator(l,l,\"≈ \",r));var h=this._hoverLinkDataIndices,c=[];(e||ek(i))&&(c=this._hoverLinkDataIndices=i.findTargetDataIndices(u));var d=function(t,e){var i={},n={};return o(t||[],i),o(e||[],n,i),[a(i),a(n)];function o(t,e,i){for(var n=0,o=t.length;n<o;n++)for(var a=t[n].seriesId,r=Vo(t[n].dataIndex),s=i&&i[a],l=0,u=r.length;l<u;l++){var h=r[l];s&&s[h]?s[h]=null:(e[a]||(e[a]={}))[h]=1}}function a(t,e){var i=[];for(var n in t)if(t.hasOwnProperty(n)&&null!=t[n])if(e)i.push(+n);else{var o=a(t[n],!0);o.length&&i.push({seriesId:n,dataIndex:o})}return i}}(h,c);this._dispatchHighDown(\"downplay\",jL(d[0],i)),this._dispatchHighDown(\"highlight\",jL(d[1],i))}},_hoverLinkFromSeriesMouseOver:function(t){var e=t.target,i=this.visualMapModel;if(e&&null!=e.dataIndex){var n=this.ecModel.getSeriesByIndex(e.seriesIndex);if(i.isTargetSeries(n)){var o=n.getData(e.dataType),a=o.get(i.getDataDimension(o),e.dataIndex,!0);isNaN(a)||this._showIndicator(a,a)}}},_hideIndicator:function(){var t=this._shapes;t.indicator&&t.indicator.attr(\"invisible\",!0),t.indicatorLabel&&t.indicatorLabel.attr(\"invisible\",!0)},_clearHoverLinkToSeries:function(){this._hideIndicator();var t=this._hoverLinkDataIndices;this._dispatchHighDown(\"downplay\",jL(t,this.visualMapModel)),t.length=0},_clearHoverLinkFromSeries:function(){this._hideIndicator();var t=this.api.getZr();t.off(\"mouseover\",this._hoverLinkFromSeriesMouseOver),t.off(\"mouseout\",this._hideIndicator)},_applyTransform:function(t,e,i,n){var o=fl(e,n?null:this.group);return bl[L(t)?\"applyTransform\":\"transformDirection\"](t,o,i)},_dispatchHighDown:function(t,e){e&&e.length&&this.api.dispatchAction({type:t,batch:e})},dispose:function(){this._clearHoverLinkFromSeries(),this._clearHoverLinkToSeries()},remove:function(){this._clearHoverLinkFromSeries(),this._clearHoverLinkToSeries()}});function tk(t,e,i,n){return new Qr({shape:{points:t},draggable:!!i,cursor:e,drift:i,onmousemove:function(t){Xt(t.event)},ondragend:n})}function ek(t){var e=t.get(\"hoverLinkOnHandle\");return!!(null==e?t.get(\"realtime\"):e)}function ik(t){return\"vertical\"===t?\"ns-resize\":\"ew-resize\"}_f({type:\"selectDataRange\",event:\"dataRangeSelected\",update:\"update\"},function(e,t){t.eachComponent({mainType:\"visualMap\",query:e},function(t){t.setSelected(e.selected)})}),yf(DL);var nk=WL.extend({type:\"visualMap.piecewise\",defaultOption:{selected:null,minOpen:!1,maxOpen:!1,align:\"auto\",itemWidth:20,itemHeight:14,itemSymbol:\"roundRect\",pieceList:null,categories:null,splitNumber:5,selectedMode:\"multiple\",itemGap:10,hoverLink:!0,showLabel:null},optionUpdated:function(t,e){nk.superApply(this,\"optionUpdated\",arguments),this._pieceList=[],this.resetExtent();var i=this._mode=this._determineMode();ok[this._mode].call(this),this._resetSelected(t,e);var n=this.option.categories;this.resetVisual(function(t,e){\"categories\"===i?(t.mappingMethod=\"category\",t.categories=k(n)):(t.dataExtent=this.getExtent(),t.mappingMethod=\"piecewise\",t.pieceList=O(this._pieceList,function(t){t=k(t);return\"inRange\"!==e&&(t.visual=null),t}))})},completeVisualOption:function(){var n=this.option,i={},t=g_.listVisualTypes(),o=this.isCategory();function a(t,e,i){return t&&t[e]&&(z(t[e])?t[e].hasOwnProperty(i):t[e]===i)}R(n.pieces,function(e){R(t,function(t){e.hasOwnProperty(t)&&(i[t]=1)})}),R(i,function(t,e){var i=0;R(this.stateList,function(t){i|=a(n,t,e)||a(n.target,t,e)},this),i||R(this.stateList,function(t){(n[t]||(n[t]={}))[e]=OL(e,\"inRange\"===t?\"active\":\"inactive\",o)})},this),WL.prototype.completeVisualOption.apply(this,arguments)},_resetSelected:function(t,e){var i=this.option,n=this._pieceList,o=(e?i:t).selected||{};if(i.selected=o,R(n,function(t,e){var i=this.getSelectedMapKey(t);o.hasOwnProperty(i)||(o[i]=!0)},this),\"single\"===i.selectedMode){var a=!1;R(n,function(t,e){var i=this.getSelectedMapKey(t);o[i]&&(a?o[i]=!1:a=!0)},this)}},getSelectedMapKey:function(t){return\"categories\"===this._mode?t.value+\"\":t.index+\"\"},getPieceList:function(){return this._pieceList},_determineMode:function(){var t=this.option;return t.pieces&&0<t.pieces.length?\"pieces\":this.option.categories?\"categories\":\"splitNumber\"},setSelected:function(t){this.option.selected=k(t)},getValueState:function(t){var e=g_.findPieceIndex(t,this._pieceList);return null!=e&&this.option.selected[this.getSelectedMapKey(this._pieceList[e])]?\"inRange\":\"outOfRange\"},findTargetDataIndices:function(n){var o=[];return this.eachTargetSeries(function(t){var i=[],e=t.getData();e.each(this.getDataDimension(e),function(t,e){g_.findPieceIndex(t,this._pieceList)===n&&i.push(e)},this),o.push({seriesId:t.id,dataIndex:i})},this),o},getRepresentValue:function(t){var e;if(this.isCategory())e=t.value;else if(null!=t.value)e=t.value;else{var i=t.interval||[];e=i[0]===-1/0&&i[1]===1/0?0:(i[0]+i[1])/2}return e},getVisualMeta:function(o){if(!this.isCategory()){var a=[],r=[],s=this,t=this._pieceList.slice();if(t.length){var e=t[0].interval[0];e!==-1/0&&t.unshift({interval:[-1/0,e]}),(e=t[t.length-1].interval[1])!==1/0&&t.push({interval:[e,1/0]})}else t.push({interval:[-1/0,1/0]});var i=-1/0;return R(t,function(t){var e=t.interval;e&&(e[0]>i&&n([i,e[0]],\"outOfRange\"),n(e.slice()),i=e[1])},this),{stops:a,outerColors:r}}function n(t,e){var i=s.getRepresentValue({interval:t});e=e||s.getValueState(i);var n=o(i,e);t[0]===-1/0?r[0]=n:t[1]===1/0?r[1]=n:a.push({value:t[0],color:n},{value:t[1],color:n})}}}),ok={splitNumber:function(){var t=this.option,e=this._pieceList,i=Math.min(t.precision,20),n=this.getExtent(),o=t.splitNumber;o=Math.max(parseInt(o,10),1),t.splitNumber=o;for(var a=(n[1]-n[0])/o;+a.toFixed(i)!==a&&i<5;)i++;t.precision=i,a=+a.toFixed(i),t.minOpen&&e.push({interval:[-1/0,n[0]],close:[0,0]});for(var r=0,s=n[0];r<o;s+=a,r++){var l=r===o-1?n[1]:s+a;e.push({interval:[s,l],close:[1,1]})}t.maxOpen&&e.push({interval:[n[1],1/0],close:[0,0]}),$l(e),R(e,function(t,e){t.index=e,t.text=this.formatValueText(t.interval)},this)},categories:function(){var t=this.option;R(t.categories,function(t){this._pieceList.push({text:this.formatValueText(t,!0),value:t})},this),ak(t,this._pieceList)},pieces:function(){var t=this.option,d=this._pieceList;R(t.pieces,function(t,e){z(t)||(t={value:t});var i={text:\"\",index:e};if(null!=t.label&&(i.text=t.label),t.hasOwnProperty(\"value\")){var n=i.value=t.value;i.interval=[n,n],i.close=[1,1]}else{for(var o=i.interval=[],a=i.close=[0,0],r=[1,0,1],s=[-1/0,1/0],l=[],u=0;u<2;u++){for(var h=[[\"gte\",\"gt\",\"min\"],[\"lte\",\"lt\",\"max\"]][u],c=0;c<3&&null==o[u];c++)o[u]=t[h[c]],a[u]=r[c],l[u]=2===c;null==o[u]&&(o[u]=s[u])}l[0]&&o[1]===1/0&&(a[0]=0),l[1]&&o[0]===-1/0&&(a[1]=0),o[0]===o[1]&&a[0]&&a[1]&&(i.value=o[0])}i.visual=g_.retrieveVisuals(t),d.push(i)},this),ak(t,d),$l(d),R(d,function(t){var e=t.close,i=[[\"<\",\"≤\"][e[1]],[\">\",\"≥\"][e[0]]];t.text=t.text||this.formatValueText(null!=t.value?t.value:t.interval,!1,i)},this)}};function ak(t,e){var i=t.inverse;(\"vertical\"===t.orient?!i:i)&&e.reverse()}XL.extend({type:\"visualMap.piecewise\",doRender:function(){var a=this.group;a.removeAll();var r=this.visualMapModel,s=r.get(\"textGap\"),t=r.textStyleModel,l=t.getFont(),u=t.getTextColor(),h=this._getItemAlign(),c=r.itemSize,e=this._getViewData(),i=e.endsText,d=W(r.get(\"showLabel\",!0),!i);i&&this._renderEndsText(a,i[0],c,d,h),R(e.viewPieceList,function(t){var e=t.piece,i=new Ci;i.onclick=A(this._onItemClick,this,e),this._enableHoverLink(i,t.indexInModelPieceList);var n=r.getRepresentValue(e);if(this._createItemSymbol(i,n,[0,0,c[0],c[1]]),d){var o=this.visualMapModel.getValueState(n);i.add(new Ur({style:{x:\"right\"===h?-s:c[0]+s,y:c[1]/2,text:e.text,textVerticalAlign:\"middle\",textAlign:h,textFont:l,textFill:u,opacity:\"outOfRange\"===o?.5:1}}))}a.add(i)},this),i&&this._renderEndsText(a,i[1],c,d,h),wu(r.get(\"orient\"),a,r.get(\"itemGap\")),this.renderBackground(a),this.positionGroup(a)},_enableHoverLink:function(t,i){function e(t){var e=this.visualMapModel;e.option.hoverLink&&this.api.dispatchAction({type:t,batch:jL(e.findTargetDataIndices(i),e)})}t.on(\"mouseover\",A(e,this,\"highlight\")).on(\"mouseout\",A(e,this,\"downplay\"))},_getItemAlign:function(){var t=this.visualMapModel,e=t.option;if(\"vertical\"===e.orient)return YL(t,this.api,t.itemSize);var i=e.align;return i&&\"auto\"!==i||(i=\"left\"),i},_renderEndsText:function(t,e,i,n,o){if(e){var a=new Ci,r=this.visualMapModel.textStyleModel;a.add(new Ur({style:{x:n?\"right\"===o?i[0]:0:i[0]/2,y:i[1]/2,textVerticalAlign:\"middle\",textAlign:n?o:\"center\",text:e,textFont:r.getFont(),textFill:r.getTextColor()}})),t.add(a)}},_getViewData:function(){var t=this.visualMapModel,e=O(t.getPieceList(),function(t,e){return{piece:t,indexInModelPieceList:e}}),i=t.get(\"text\"),n=t.get(\"orient\"),o=t.get(\"inverse\");return(\"horizontal\"===n?o:!o)?e.reverse():i=i&&i.slice().reverse(),{viewPieceList:e,endsText:i}},_createItemSymbol:function(t,e,i){t.add(wg(this.getControllerVisual(e,\"symbol\"),i[0],i[1],i[2],i[3],this.getControllerVisual(e,\"color\")))},_onItemClick:function(t){var e=this.visualMapModel,i=e.option,n=k(i.selected),o=e.getSelectedMapKey(t);\"single\"===i.selectedMode?(n[o]=!0,R(n,function(t,e){n[e]=e===o})):n[o]=!n[o],this.api.dispatchAction({type:\"selectDataRange\",from:this.uid,visualMapId:this.visualMapModel.id,selected:n})}});yf(DL);var rk,sk=\"urn:schemas-microsoft-com:vml\",lk=\"undefined\"==typeof window?null:window,uk=!1,hk=lk&&lk.document;function ck(t){return rk(t)}if(hk&&!v.canvasSupported)try{hk.namespaces.zrvml||hk.namespaces.add(\"zrvml\",sk),rk=function(t){return hk.createElement(\"<zrvml:\"+t+' class=\"zrvml\">')}}catch(t){rk=function(t){return hk.createElement(\"<\"+t+' xmlns=\"'+sk+'\" class=\"zrvml\">')}}var dk,fk=rr.CMD,pk=Math.round,gk=Math.sqrt,mk=Math.abs,vk=Math.cos,yk=Math.sin,xk=Math.max;if(!v.canvasSupported){var _k=\",\",wk=\"progid:DXImageTransform.Microsoft\",bk=21600,Sk=bk/2,Mk=function(t){t.style.cssText=\"position:absolute;left:0;top:0;width:1px;height:1px;\",t.coordsize=bk+\",\"+bk,t.coordorigin=\"0,0\"},Ik=function(t,e,i){return\"rgb(\"+[t,e,i].join(\",\")+\")\"},Tk=function(t,e){e&&t&&e.parentNode!==t&&t.appendChild(e)},Ak=function(t,e){e&&t&&e.parentNode===t&&t.removeChild(e)},Dk=function(t,e,i){return 1e5*(parseFloat(t)||0)+1e3*(parseFloat(e)||0)+i},Ck=Yn,Lk=function(t,e,i){var n=Fe(e);i=+i,isNaN(i)&&(i=1),n&&(t.color=Ik(n[0],n[1],n[2]),t.opacity=i*n[3])},kk=function(t,e,i,n){var o=\"fill\"===e,a=t.getElementsByTagName(e)[0];null!=i[e]&&\"none\"!==i[e]&&(o||!o&&i.lineWidth)?(t[o?\"filled\":\"stroked\"]=\"true\",i[e]instanceof cs&&Ak(t,a),a=a||ck(e),o?function(t,e,i){var n,o,a=e.fill;if(null!=a)if(a instanceof cs){var r,s=0,l=[0,0],u=0,h=1,c=i.getBoundingRect(),d=c.width,f=c.height;if(\"linear\"===a.type){r=\"gradient\";var p=i.transform,g=[a.x*d,a.y*f],m=[a.x2*d,a.y2*f];p&&(bt(g,g,p),bt(m,m,p));var v=m[0]-g[0],y=m[1]-g[1];(s=180*Math.atan2(v,y)/Math.PI)<0&&(s+=360),s<1e-6&&(s=0)}else{r=\"gradientradial\";g=[a.x*d,a.y*f],p=i.transform;var x=i.scale,_=d,w=f;l=[(g[0]-c.x)/_,(g[1]-c.y)/w],p&&bt(g,g,p),_/=x[0]*bk,w/=x[1]*bk;var b=xk(_,w);u=0/b,h=2*a.r/b-u}var S=a.colorStops.slice();S.sort(function(t,e){return t.offset-e.offset});for(var M=S.length,I=[],T=[],A=0;A<M;A++){var D=S[A],C=(n=D.color,void 0,o=Fe(n),[Ik(o[0],o[1],o[2]),o[3]]);T.push(D.offset*h+u+\" \"+C[0]),0!==A&&A!==M-1||I.push(C)}if(2<=M){var L=I[0][0],k=I[1][0],P=I[0][1]*e.opacity,N=I[1][1]*e.opacity;t.type=r,t.method=\"none\",t.focus=\"100%\",t.angle=s,t.color=L,t.color2=k,t.colors=T.join(\",\"),t.opacity=N,t.opacity2=P}\"radial\"===r&&(t.focusposition=l.join(\",\"))}else Lk(t,a,e.opacity)}(a,i,n):function(t,e){e.lineDash&&(t.dashstyle=e.lineDash.join(\" \")),null==e.stroke||e.stroke instanceof cs||Lk(t,e.stroke,e.opacity)}(a,i),Tk(t,a)):(t[o?\"filled\":\"stroked\"]=\"false\",Ak(t,a))},Pk=[[],[],[]];Ar.prototype.brushVML=function(t){var e=this.style,i=this._vmlEl;i||(i=ck(\"shape\"),Mk(i),this._vmlEl=i),kk(i,\"fill\",e,this),kk(i,\"stroke\",e,this);var n=this.transform,o=null!=n,a=i.getElementsByTagName(\"stroke\")[0];if(a){var r=e.lineWidth;if(o&&!e.strokeNoScale){var s=n[0]*n[3]-n[1]*n[2];r*=gk(mk(s))}a.weight=r+\"px\"}var l=this.path||(this.path=new rr);this.__dirtyPath&&(l.beginPath(),l.subPixelOptimize=!1,this.buildPath(l,this.shape),l.toStatic(),this.__dirtyPath=!1),i.path=function(t,e){var i,n,o,a,r,s,l=fk.M,u=fk.C,h=fk.L,c=fk.A,d=fk.Q,f=[],p=t.data,g=t.len();for(a=0;a<g;){switch(n=\"\",i=0,o=p[a++]){case l:n=\" m \",i=1,r=p[a++],s=p[a++],Pk[0][0]=r,Pk[0][1]=s;break;case h:n=\" l \",i=1,r=p[a++],s=p[a++],Pk[0][0]=r,Pk[0][1]=s;break;case d:case u:n=\" c \",i=3;var m,v,y=p[a++],x=p[a++],_=p[a++],w=p[a++];o===d?(_=((m=_)+2*y)/3,w=((v=w)+2*x)/3,y=(r+2*y)/3,x=(s+2*x)/3):(m=p[a++],v=p[a++]),Pk[0][0]=y,Pk[0][1]=x,Pk[1][0]=_,Pk[1][1]=w,r=Pk[2][0]=m,s=Pk[2][1]=v;break;case c:var b=0,S=0,M=1,I=1,T=0;e&&(b=e[4],S=e[5],M=gk(e[0]*e[0]+e[1]*e[1]),I=gk(e[2]*e[2]+e[3]*e[3]),T=Math.atan2(-e[1]/I,e[0]/M));var A=p[a++],D=p[a++],C=p[a++],L=p[a++],k=p[a++]+T,P=p[a++]+k+T;a++;var N=p[a++],O=A+vk(k)*C,R=D+yk(k)*L,E=(y=A+vk(P)*C,x=D+yk(P)*L,N?\" wa \":\" at \");Math.abs(O-y)<1e-4&&(.01<Math.abs(P-k)?N&&(O+=.0125):Math.abs(R-D)<1e-4?N&&O<A||!N&&A<O?x-=.0125:x+=.0125:N&&R<D||!N&&D<R?y+=.0125:y-=.0125),f.push(E,pk(((A-C)*M+b)*bk-Sk),_k,pk(((D-L)*I+S)*bk-Sk),_k,pk(((A+C)*M+b)*bk-Sk),_k,pk(((D+L)*I+S)*bk-Sk),_k,pk((O*M+b)*bk-Sk),_k,pk((R*I+S)*bk-Sk),_k,pk((y*M+b)*bk-Sk),_k,pk((x*I+S)*bk-Sk)),r=y,s=x;break;case fk.R:var z=Pk[0],B=Pk[1];z[0]=p[a++],z[1]=p[a++],B[0]=z[0]+p[a++],B[1]=z[1]+p[a++],e&&(bt(z,z,e),bt(B,B,e)),z[0]=pk(z[0]*bk-Sk),B[0]=pk(B[0]*bk-Sk),z[1]=pk(z[1]*bk-Sk),B[1]=pk(B[1]*bk-Sk),f.push(\" m \",z[0],_k,z[1],\" l \",B[0],_k,z[1],\" l \",B[0],_k,B[1],\" l \",z[0],_k,B[1]);break;case fk.Z:f.push(\" x \")}if(0<i){f.push(n);for(var V=0;V<i;V++){var G=Pk[V];e&&bt(G,G,e),f.push(pk(G[0]*bk-Sk),_k,pk(G[1]*bk-Sk),V<i-1?_k:\"\")}}}return f.join(\"\")}(l,this.transform),i.style.zIndex=Dk(this.zlevel,this.z,this.z2),Tk(t,i),null!=e.text?this.drawRectText(t,this.getBoundingRect()):this.removeRectText(t)},Ar.prototype.onRemove=function(t){Ak(t,this._vmlEl),this.removeRectText(t)},Ar.prototype.onAdd=function(t){Tk(t,this._vmlEl),this.appendRectText(t)};Qn.prototype.brushVML=function(t){var e,i,n=this.style,o=n.image;if(function(t){return\"object\"==typeof t&&t.tagName&&\"IMG\"===t.tagName.toUpperCase()}(o)){var a=o.src;if(a===this._imageSrc)e=this._imageWidth,i=this._imageHeight;else{var r=o.runtimeStyle,s=r.width,l=r.height;r.width=\"auto\",r.height=\"auto\",e=o.width,i=o.height,r.width=s,r.height=l,this._imageSrc=a,this._imageWidth=e,this._imageHeight=i}o=a}else o===this._imageSrc&&(e=this._imageWidth,i=this._imageHeight);if(o){var u=n.x||0,h=n.y||0,c=n.width,d=n.height,f=n.sWidth,p=n.sHeight,g=n.sx||0,m=n.sy||0,v=f&&p,y=this._vmlEl;y||(y=hk.createElement(\"div\"),Mk(y),this._vmlEl=y);var x,_=y.style,w=!1,b=1,S=1;if(this.transform&&(x=this.transform,b=gk(x[0]*x[0]+x[1]*x[1]),S=gk(x[2]*x[2]+x[3]*x[3]),w=x[1]||x[2]),w){var M=[u,h],I=[u+c,h],T=[u,h+d],A=[u+c,h+d];bt(M,M,x),bt(I,I,x),bt(T,T,x),bt(A,A,x);var D=xk(M[0],I[0],T[0],A[0]),C=xk(M[1],I[1],T[1],A[1]),L=[];L.push(\"M11=\",x[0]/b,_k,\"M12=\",x[2]/S,_k,\"M21=\",x[1]/b,_k,\"M22=\",x[3]/S,_k,\"Dx=\",pk(u*b+x[4]),_k,\"Dy=\",pk(h*S+x[5])),_.padding=\"0 \"+pk(D)+\"px \"+pk(C)+\"px 0\",_.filter=wk+\".Matrix(\"+L.join(\"\")+\", SizingMethod=clip)\"}else x&&(u=u*b+x[4],h=h*S+x[5]),_.filter=\"\",_.left=pk(u)+\"px\",_.top=pk(h)+\"px\";var k=this._imageEl,P=this._cropEl;k||(k=hk.createElement(\"div\"),this._imageEl=k);var N=k.style;if(v){if(e&&i)N.width=pk(b*e*c/f)+\"px\",N.height=pk(S*i*d/p)+\"px\";else{var O=new Image,R=this;O.onload=function(){O.onload=null,e=O.width,i=O.height,N.width=pk(b*e*c/f)+\"px\",N.height=pk(S*i*d/p)+\"px\",R._imageWidth=e,R._imageHeight=i,R._imageSrc=o},O.src=o}P||((P=hk.createElement(\"div\")).style.overflow=\"hidden\",this._cropEl=P);var E=P.style;E.width=pk((c+g*c/f)*b),E.height=pk((d+m*d/p)*S),E.filter=wk+\".Matrix(Dx=\"+-g*c/f*b+\",Dy=\"+-m*d/p*S+\")\",P.parentNode||y.appendChild(P),k.parentNode!==P&&P.appendChild(k)}else N.width=pk(b*c)+\"px\",N.height=pk(S*d)+\"px\",y.appendChild(k),P&&P.parentNode&&(y.removeChild(P),this._cropEl=null);var z=\"\",B=n.opacity;B<1&&(z+=\".Alpha(opacity=\"+pk(100*B)+\") \"),z+=wk+\".AlphaImageLoader(src=\"+o+\", SizingMethod=scale)\",N.filter=z,y.style.zIndex=Dk(this.zlevel,this.z,this.z2),Tk(t,y),null!=n.text&&this.drawRectText(t,this.getBoundingRect())}},Qn.prototype.onRemove=function(t){Ak(t,this._vmlEl),this._vmlEl=null,this._cropEl=null,this._imageEl=null,this.removeRectText(t)},Qn.prototype.onAdd=function(t){Tk(t,this._vmlEl),this.appendRectText(t)};var Nk,Ok=\"normal\",Rk={},Ek=0,zk=document.createElement(\"div\");dk=function(t,e){var i=hk;Nk||((Nk=i.createElement(\"div\")).style.cssText=\"position:absolute;top:-20000px;left:0;padding:0;margin:0;border:none;white-space:pre;\",hk.body.appendChild(Nk));try{Nk.style.font=e}catch(t){}return Nk.innerHTML=\"\",Nk.appendChild(i.createTextNode(t)),{width:Nk.offsetWidth}},fn[\"measureText\"]=dk;for(var Bk=new Di,Vk=function(t,e,i,n){var o=this.style;this.__dirty&&Rn(o);var a=o.text;if(null!=a&&(a+=\"\"),a){if(o.rich){var r=In(a,o);a=[];for(var s=0;s<r.lines.length;s++){for(var l=r.lines[s].tokens,u=[],h=0;h<l.length;h++)u.push(l[h].text);a.push(u.join(\"\"))}a=a.join(\"\\n\")}var c,d,f=o.textAlign,p=o.textVerticalAlign,g=function(t){var e=Rk[t];if(!e){100<Ek&&(Ek=0,Rk={});var i,n=zk.style;try{n.font=t,i=n.fontFamily.split(\",\")[0]}catch(t){}e={style:n.fontStyle||Ok,variant:n.fontVariant||Ok,weight:n.fontWeight||Ok,size:0|parseFloat(n.fontSize||12),family:i||\"Microsoft YaHei\"},Rk[t]=e,Ek++}return e}(o.font),m=g.style+\" \"+g.variant+\" \"+g.weight+\" \"+g.size+'px \"'+g.family+'\"';i=i||gn(a,m,f,p,o.textPadding,o.textLineHeight);var v=this.transform;if(v&&!n&&(Bk.copy(e),Bk.applyTransform(v),e=Bk),n)c=e.x,d=e.y;else{var y=o.textPosition;if(y instanceof Array)c=e.x+Ck(y[0],e.width),d=e.y+Ck(y[1],e.height),f=f||\"left\";else{var x=this.calculateTextPosition?this.calculateTextPosition({},o,e):yn({},o,e);c=x.x,d=x.y,f=f||x.textAlign,p=p||x.textVerticalAlign}}c=mn(c,i.width,f),d=vn(d,i.height,p),d+=i.height/2;var _,w,b,S=ck,M=this._textVmlEl;M?w=(_=(b=M.firstChild).nextSibling).nextSibling:(M=S(\"line\"),_=S(\"path\"),w=S(\"textpath\"),b=S(\"skew\"),w.style[\"v-text-align\"]=\"left\",Mk(M),_.textpathok=!0,w.on=!0,M.from=\"0 0\",M.to=\"1000 0.05\",Tk(M,b),Tk(M,_),Tk(M,w),this._textVmlEl=M);var I=[c,d],T=M.style;v&&n?(bt(I,I,v),b.on=!0,b.matrix=v[0].toFixed(3)+_k+v[2].toFixed(3)+_k+v[1].toFixed(3)+_k+v[3].toFixed(3)+\",0,0\",b.offset=(pk(I[0])||0)+\",\"+(pk(I[1])||0),b.origin=\"0 0\",T.left=\"0px\",T.top=\"0px\"):(b.on=!1,T.left=pk(c)+\"px\",T.top=pk(d)+\"px\"),w.string=function(t){return String(t).replace(/&/g,\"&amp;\").replace(/\"/g,\"&quot;\")}(a);try{w.style.font=m}catch(t){}kk(M,\"fill\",{fill:o.textFill,opacity:o.opacity},this),kk(M,\"stroke\",{stroke:o.textStroke,opacity:o.opacity,lineDash:o.lineDash||null},this),M.style.zIndex=Dk(this.zlevel,this.z,this.z2),Tk(t,M)}},Gk=function(t){Ak(t,this._textVmlEl),this._textVmlEl=null},Fk=function(t){Tk(t,this._textVmlEl)},Wk=[Kn,Jn,Qn,Ar,Ur],Hk=0;Hk<Wk.length;Hk++){var Zk=Wk[Hk].prototype;Zk.drawRectText=Vk,Zk.removeRectText=Gk,Zk.appendRectText=Fk}Ur.prototype.brushVML=function(t){var e=this.style;null!=e.text?this.drawRectText(t,{x:e.x||0,y:e.y||0,width:0,height:0},this.getBoundingRect(),!0):this.removeRectText(t)},Ur.prototype.onRemove=function(t){this.removeRectText(t)},Ur.prototype.onAdd=function(t){this.appendRectText(t)}}function Uk(t){return parseInt(t,10)}function Xk(t,e){!function(){if(!uk&&hk){uk=!0;var t=hk.styleSheets;t.length<31?hk.createStyleSheet().addRule(\".zrvml\",\"behavior:url(#default#VML)\"):t[0].addRule(\".zrvml\",\"behavior:url(#default#VML)\")}}(),this.root=t,this.storage=e;var i=document.createElement(\"div\"),n=document.createElement(\"div\");i.style.cssText=\"display:inline-block;overflow:hidden;position:relative;width:300px;height:150px;\",n.style.cssText=\"position:absolute;left:0;top:0;\",t.appendChild(i),this._vmlRoot=n,this._vmlViewport=i,this.resize();var o=e.delFromStorage,a=e.addToStorage;e.delFromStorage=function(t){o.call(e,t),t&&t.onRemove&&t.onRemove(n)},e.addToStorage=function(t){t.onAdd&&t.onAdd(n),a.call(e,t)},this._firstPaint=!0}Xk.prototype={constructor:Xk,getType:function(){return\"vml\"},getViewportRoot:function(){return this._vmlViewport},getViewportRootOffset:function(){var t=this.getViewportRoot();if(t)return{offsetLeft:t.offsetLeft||0,offsetTop:t.offsetTop||0}},refresh:function(){var t=this.storage.getDisplayList(!0,!0);this._paintList(t)},_paintList:function(t){for(var e=this._vmlRoot,i=0;i<t.length;i++){var n=t[i];n.invisible||n.ignore?(n.__alreadyNotVisible||n.onRemove(e),n.__alreadyNotVisible=!0):(n.__alreadyNotVisible&&n.onAdd(e),n.__alreadyNotVisible=!1,n.__dirty&&(n.beforeBrush&&n.beforeBrush(),(n.brushVML||n.brush).call(n,e),n.afterBrush&&n.afterBrush())),n.__dirty=!1}this._firstPaint&&(this._vmlViewport.appendChild(e),this._firstPaint=!1)},resize:function(t,e){t=null==t?this._getWidth():t,e=null==e?this._getHeight():e;if(this._width!==t||this._height!==e){this._width=t,this._height=e;var i=this._vmlViewport.style;i.width=t+\"px\",i.height=e+\"px\"}},dispose:function(){this.root.innerHTML=\"\",this._vmlRoot=this._vmlViewport=this.storage=null},getWidth:function(){return this._width},getHeight:function(){return this._height},clear:function(){this._vmlViewport&&this.root.removeChild(this._vmlViewport)},_getWidth:function(){var t=this.root,e=t.currentStyle;return(t.clientWidth||Uk(e.width))-Uk(e.paddingLeft)-Uk(e.paddingRight)|0},_getHeight:function(){var t=this.root,e=t.currentStyle;return(t.clientHeight||Uk(e.height))-Uk(e.paddingTop)-Uk(e.paddingBottom)|0}},R([\"getLayer\",\"insertLayer\",\"eachLayer\",\"eachBuiltinLayer\",\"eachOtherLayer\",\"getLayers\",\"modLayer\",\"delLayer\",\"clearLayer\",\"toDataURL\",\"pathToImage\"],function(t){Xk.prototype[t]=function(t){return function(){vi('In IE8.0 VML mode painter not support method \"'+t+'\"')}}(t)}),Po(\"vml\",Xk);function Yk(t){return document.createElementNS(\"http://www.w3.org/2000/svg\",t)}var jk=rr.CMD,qk=Array.prototype.join,Kk=\"none\",$k=Math.round,Jk=Math.sin,Qk=Math.cos,tP=Math.PI,eP=2*Math.PI,iP=180/tP,nP=1e-4;function oP(t){return $k(1e4*t)/1e4}function aP(t){return t<nP&&-nP<t}function rP(t,e){e&&sP(t,\"transform\",\"matrix(\"+qk.call(e,\",\")+\")\")}function sP(t,e,i){i&&(\"linear\"===i.type||\"radial\"===i.type)||t.setAttribute(e,i)}function lP(t,e,i,n){if(function(t,e){var i=e?t.textFill:t.fill;return null!=i&&i!==Kk}(e,i)){var o=i?e.textFill:e.fill;sP(t,\"fill\",o=\"transparent\"===o?Kk:o),sP(t,\"fill-opacity\",null!=e.fillOpacity?e.fillOpacity*e.opacity:e.opacity)}else sP(t,\"fill\",Kk);if(function(t,e){var i=e?t.textStroke:t.stroke;return null!=i&&i!==Kk}(e,i)){var a=i?e.textStroke:e.stroke;sP(t,\"stroke\",a=\"transparent\"===a?Kk:a),sP(t,\"stroke-width\",(i?e.textStrokeWidth:e.lineWidth)/(!i&&e.strokeNoScale?n.getLineScale():1)),sP(t,\"paint-order\",i?\"stroke\":\"fill\"),sP(t,\"stroke-opacity\",null!=e.strokeOpacity?e.strokeOpacity:e.opacity),e.lineDash?(sP(t,\"stroke-dasharray\",e.lineDash.join(\",\")),sP(t,\"stroke-dashoffset\",$k(e.lineDashOffset||0))):sP(t,\"stroke-dasharray\",\"\"),e.lineCap&&sP(t,\"stroke-linecap\",e.lineCap),e.lineJoin&&sP(t,\"stroke-linejoin\",e.lineJoin),e.miterLimit&&sP(t,\"stroke-miterlimit\",e.miterLimit)}else sP(t,\"stroke\",Kk)}var uP={};uP.brush=function(t){var e=t.style,i=t.__svgEl;i||(i=Yk(\"path\"),t.__svgEl=i),t.path||t.createPathProxy();var n=t.path;if(t.__dirtyPath){n.beginPath(),n.subPixelOptimize=!1,t.buildPath(n,t.shape),t.__dirtyPath=!1;var o=function(t){for(var e=[],i=t.data,n=t.len(),o=0;o<n;){var a=\"\",r=0;switch(i[o++]){case jk.M:a=\"M\",r=2;break;case jk.L:a=\"L\",r=2;break;case jk.Q:a=\"Q\",r=4;break;case jk.C:a=\"C\",r=6;break;case jk.A:var s=i[o++],l=i[o++],u=i[o++],h=i[o++],c=i[o++],d=i[o++],f=i[o++],p=i[o++],g=Math.abs(d),m=aP(g-eP)||(p?eP<=d:eP<=-d),v=0<d?d%eP:d%eP+eP,y=!1;y=!!m||!aP(g)&&tP<=v==!!p;var x=oP(s+u*Qk(c)),_=oP(l+h*Jk(c));m&&(d=p?eP-1e-4:1e-4-eP,y=!0,9===o&&e.push(\"M\",x,_));var w=oP(s+u*Qk(c+d)),b=oP(l+h*Jk(c+d));e.push(\"A\",oP(u),oP(h),$k(f*iP),+y,+p,w,b);break;case jk.Z:a=\"Z\";break;case jk.R:w=oP(i[o++]),b=oP(i[o++]);var S=oP(i[o++]),M=oP(i[o++]);e.push(\"M\",w,b,\"L\",w+S,b,\"L\",w+S,b+M,\"L\",w,b+M,\"L\",w,b)}a&&e.push(a);for(var I=0;I<r;I++)e.push(oP(i[o++]))}return e.join(\" \")}(n);o.indexOf(\"NaN\")<0&&sP(i,\"d\",o)}lP(i,e,!1,t),rP(i,t.transform),null!=e.text?mP(t,t.getBoundingRect()):yP(t)};var hP={brush:function(t){var e=t.style,i=e.image;i instanceof HTMLImageElement&&(i=i.src);if(i){var n=e.x||0,o=e.y||0,a=e.width,r=e.height,s=t.__svgEl;s||(s=Yk(\"image\"),t.__svgEl=s),i!==t.__imageSrc&&(function(t,e,i){t.setAttributeNS(\"http://www.w3.org/1999/xlink\",e,i)}(s,\"href\",i),t.__imageSrc=i),sP(s,\"width\",a),sP(s,\"height\",r),sP(s,\"x\",n),sP(s,\"y\",o),rP(s,t.transform),null!=e.text?mP(t,t.getBoundingRect()):yP(t)}}},cP={},dP=new Di,fP={},pP=[],gP={left:\"start\",right:\"end\",center:\"middle\",middle:\"middle\"},mP=function(t,e){var i=t.style,n=t.transform,o=t instanceof Ur||i.transformText;t.__dirty&&Rn(i);var a=i.text;if(null!=a&&(a+=\"\"),qn(a,i)){null==a&&(a=\"\"),!o&&n&&(dP.copy(e),dP.applyTransform(n),e=dP);var r=t.__textSvgEl;r||(r=Yk(\"text\"),t.__textSvgEl=r);var s=r.style,l=i.font||dn,u=r.__computedFont;l!==r.__styleFont&&(s.font=r.__styleFont=l,u=r.__computedFont=s.font);var h=i.textPadding,c=i.textLineHeight,d=t.__textCotentBlock;d&&!t.__dirtyText||(d=t.__textCotentBlock=Mn(a,u,h,c,i.truncate));var f=d.outerHeight,p=d.lineHeight;Hn(fP,t,i,e);var g=fP.baseX,m=fP.baseY,v=fP.textAlign||\"left\",y=fP.textVerticalAlign;!function(t,e,i,n,o,a,r){re(pP),e&&i&&se(pP,i);var s=n.textRotation;if(o&&s){var l=n.textOrigin;\"center\"===l?(a=o.width/2+o.x,r=o.height/2+o.y):l&&(a=l[0]+o.x,r=l[1]+o.y),pP[4]-=a,pP[5]-=r,he(pP,pP,s),pP[4]+=a,pP[5]+=r}rP(t,pP)}(r,o,n,i,e,g,m);var x=g,_=vn(m,f,y);h&&(x=function(t,e,i){return\"right\"===e?t-i[1]:\"center\"===e?t+i[3]/2-i[1]/2:t+i[3]}(g,v,h),_+=h[0]),_+=p/2,lP(r,i,!0,t);var w=d.canCacheByTextString,b=t.__tspanList||(t.__tspanList=[]),S=b.length;if(w&&t.__canCacheByTextString&&t.__text===a){if(t.__dirtyText&&S)for(var M=0;M<S;++M)vP(b[M],v,x,_+M*p)}else{t.__text=a,t.__canCacheByTextString=w;var I=d.lines,T=I.length;for(M=0;M<T;M++){var A=b[M],D=I[M];A?A.__zrText!==D&&(A.innerHTML=\"\",A.appendChild(document.createTextNode(D))):(A=b[M]=Yk(\"tspan\"),r.appendChild(A),A.appendChild(document.createTextNode(D))),vP(A,v,x,_+M*p)}if(T<S){for(;M<S;M++)r.removeChild(b[M]);b.length=T}}}};function vP(t,e,i,n){sP(t,\"dominant-baseline\",\"middle\"),sP(t,\"text-anchor\",gP[e]),sP(t,\"x\",i),sP(t,\"y\",n)}function yP(t){t&&t.__textSvgEl&&(t.__textSvgEl.parentNode&&t.__textSvgEl.parentNode.removeChild(t.__textSvgEl),t.__textSvgEl=null,t.__tspanList=[],t.__text=null)}function xP(){}function _P(t,e){for(var i=0,n=e.length,o=0,a=0;i<n;i++){var r=e[i];if(r.removed){for(s=[],l=a;l<a+r.count;l++)s.push(l);r.indices=s,a+=r.count}else{for(var s=[],l=o;l<o+r.count;l++)s.push(l);r.indices=s,o+=r.count,r.added||(a+=r.count)}}return e}cP.drawRectText=mP,cP.brush=function(t){null!=t.style.text?mP(t,!1):yP(t)},xP.prototype={diff:function(l,u,t){t=t||function(t,e){return t===e},this.equals=t;var h=this;l=l.slice();var c=(u=u.slice()).length,d=l.length,f=1,e=c+d,p=[{newPos:-1,components:[]}],i=this.extractCommon(p[0],u,l,0);if(p[0].newPos+1>=c&&d<=i+1){for(var n=[],o=0;o<u.length;o++)n.push(o);return[{indices:n,count:u.length}]}function a(){for(var t=-1*f;t<=f;t+=2){var e,i=p[t-1],n=p[t+1],o=(n?n.newPos:0)-t;i&&(p[t-1]=void 0);var a=i&&i.newPos+1<c,r=n&&0<=o&&o<d;if(a||r){if(!a||r&&i.newPos<n.newPos?(e={newPos:(s=n).newPos,components:s.components.slice(0)},h.pushComponent(e.components,void 0,!0)):((e=i).newPos++,h.pushComponent(e.components,!0,void 0)),o=h.extractCommon(e,u,l,t),e.newPos+1>=c&&d<=o+1)return _P(h,e.components,u,l);p[t]=e}else p[t]=void 0}var s;f++}for(;f<=e;){var r=a();if(r)return r}},pushComponent:function(t,e,i){var n=t[t.length-1];n&&n.added===e&&n.removed===i?t[t.length-1]={count:n.count+1,added:e,removed:i}:t.push({count:1,added:e,removed:i})},extractCommon:function(t,e,i,n){for(var o=e.length,a=i.length,r=t.newPos,s=r-n,l=0;r+1<o&&s+1<a&&this.equals(e[r+1],i[s+1]);)r++,s++,l++;return l&&t.components.push({count:l}),t.newPos=r,s},tokenize:function(t){return t.slice()},join:function(t){return t.slice()}};var wP=new xP;function bP(t,e,i,n,o){this._zrId=t,this._svgRoot=e,this._tagNames=\"string\"==typeof i?[i]:i,this._markLabel=n,this._domName=o||\"_dom\",this.nextId=0}function SP(t,e){bP.call(this,t,e,[\"linearGradient\",\"radialGradient\"],\"__gradient_in_use__\")}function MP(t,e){bP.call(this,t,e,\"clipPath\",\"__clippath_in_use__\")}function IP(t,e){bP.call(this,t,e,[\"filter\"],\"__filter_in_use__\",\"_shadowDom\")}function TP(t){return t&&(t.shadowBlur||t.shadowOffsetX||t.shadowOffsetY||t.textShadowBlur||t.textShadowOffsetX||t.textShadowOffsetY)}function AP(t){return parseInt(t,10)}function DP(t,e){return e&&t&&e.parentNode!==t}function CP(t,e,i){if(DP(t,e)&&i){var n=i.nextSibling;n?t.insertBefore(e,n):t.appendChild(e)}}function LP(t,e){if(DP(t,e)){var i=t.firstChild;i?t.insertBefore(e,i):t.appendChild(e)}}function kP(t,e){e&&t&&e.parentNode===t&&t.removeChild(e)}function PP(t){return t.__textSvgEl}function NP(t){return t.__svgEl}bP.prototype.createElement=Yk,bP.prototype.getDefs=function(t){var e=this._svgRoot,n=this._svgRoot.getElementsByTagName(\"defs\");return 0===n.length?t?((n=e.insertBefore(this.createElement(\"defs\"),e.firstChild)).contains||(n.contains=function(t){var e=n.children;if(!e)return!1;for(var i=e.length-1;0<=i;--i)if(e[i]===t)return!0;return!1}),n):null:n[0]},bP.prototype.update=function(t,e){if(t){var i=this.getDefs(!1);if(t[this._domName]&&i.contains(t[this._domName]))\"function\"==typeof e&&e(t);else{var n=this.add(t);n&&(t[this._domName]=n)}}},bP.prototype.addDom=function(t){this.getDefs(!0).appendChild(t)},bP.prototype.removeDom=function(t){var e=this.getDefs(!1);e&&t[this._domName]&&(e.removeChild(t[this._domName]),t[this._domName]=null)},bP.prototype.getDoms=function(){var i=this.getDefs(!1);if(!i)return[];var n=[];return R(this._tagNames,function(t){var e=i.getElementsByTagName(t);n=n.concat([].slice.call(e))}),n},bP.prototype.markAllUnused=function(){var t=this.getDoms(),e=this;R(t,function(t){t[e._markLabel]=\"0\"})},bP.prototype.markUsed=function(t){t&&(t[this._markLabel]=\"1\")},bP.prototype.removeUnused=function(){var e=this.getDefs(!1);if(e){var t=this.getDoms(),i=this;R(t,function(t){\"1\"!==t[i._markLabel]&&e.removeChild(t)})}},bP.prototype.getSvgProxy=function(t){return t instanceof Ar?uP:t instanceof Qn?hP:t instanceof Ur?cP:uP},bP.prototype.getTextSvgElement=function(t){return t.__textSvgEl},bP.prototype.getSvgElement=function(t){return t.__svgEl},w(SP,bP),SP.prototype.addWithoutUpdate=function(a,r){if(r&&r.style){var s=this;R([\"fill\",\"stroke\"],function(t){if(r.style[t]&&(\"linear\"===r.style[t].type||\"radial\"===r.style[t].type)){var e,i=r.style[t],n=s.getDefs(!0);i._dom?(e=i._dom,n.contains(i._dom)||s.addDom(e)):e=s.add(i),s.markUsed(r);var o=e.getAttribute(\"id\");a.setAttribute(t,\"url(#\"+o+\")\")}})}},SP.prototype.add=function(t){var e;if(\"linear\"===t.type)e=this.createElement(\"linearGradient\");else{if(\"radial\"!==t.type)return vi(\"Illegal gradient type.\"),null;e=this.createElement(\"radialGradient\")}return t.id=t.id||this.nextId++,e.setAttribute(\"id\",\"zr\"+this._zrId+\"-gradient-\"+t.id),this.updateDom(t,e),this.addDom(e),e},SP.prototype.update=function(i){var n=this;bP.prototype.update.call(this,i,function(){var t=i.type,e=i._dom.tagName;\"linear\"===t&&\"linearGradient\"===e||\"radial\"===t&&\"radialGradient\"===e?n.updateDom(i,i._dom):(n.removeDom(i),n.add(i))})},SP.prototype.updateDom=function(t,e){if(\"linear\"===t.type)e.setAttribute(\"x1\",t.x),e.setAttribute(\"y1\",t.y),e.setAttribute(\"x2\",t.x2),e.setAttribute(\"y2\",t.y2);else{if(\"radial\"!==t.type)return void vi(\"Illegal gradient type.\");e.setAttribute(\"cx\",t.x),e.setAttribute(\"cy\",t.y),e.setAttribute(\"r\",t.r)}t.global?e.setAttribute(\"gradientUnits\",\"userSpaceOnUse\"):e.setAttribute(\"gradientUnits\",\"objectBoundingBox\"),e.innerHTML=\"\";for(var i=t.colorStops,n=0,o=i.length;n<o;++n){var a=this.createElement(\"stop\");a.setAttribute(\"offset\",100*i[n].offset+\"%\");var r=i[n].color;if(-1<r.indexOf(\"rgba\")){var s=Fe(r)[3],l=Ze(r);a.setAttribute(\"stop-color\",\"#\"+l),a.setAttribute(\"stop-opacity\",s)}else a.setAttribute(\"stop-color\",i[n].color);e.appendChild(a)}t._dom=e},SP.prototype.markUsed=function(t){if(t.style){var e=t.style.fill;e&&e._dom&&bP.prototype.markUsed.call(this,e._dom),(e=t.style.stroke)&&e._dom&&bP.prototype.markUsed.call(this,e._dom)}},w(MP,bP),MP.prototype.update=function(t){var e=this.getSvgElement(t);e&&this.updateDom(e,t.__clipPaths,!1);var i=this.getTextSvgElement(t);i&&this.updateDom(i,t.__clipPaths,!0),this.markUsed(t)},MP.prototype.updateDom=function(t,e,i){if(e&&0<e.length){var n,o,a=this.getDefs(!0),r=e[0],s=i?\"_textDom\":\"_dom\";r[s]?(o=r[s].getAttribute(\"id\"),n=r[s],a.contains(n)||a.appendChild(n)):(o=\"zr\"+this._zrId+\"-clip-\"+this.nextId,++this.nextId,(n=this.createElement(\"clipPath\")).setAttribute(\"id\",o),a.appendChild(n),r[s]=n);var l=this.getSvgProxy(r);if(r.transform&&r.parent.invTransform&&!i){var u=Array.prototype.slice.call(r.transform);le(r.transform,r.parent.invTransform,r.transform),l.brush(r),r.transform=u}else l.brush(r);var h=this.getSvgElement(r);n.innerHTML=\"\",n.appendChild(h.cloneNode()),t.setAttribute(\"clip-path\",\"url(#\"+o+\")\"),1<e.length&&this.updateDom(n,e.slice(1),i)}else t&&t.setAttribute(\"clip-path\",\"none\")},MP.prototype.markUsed=function(t){var e=this;t.__clipPaths&&R(t.__clipPaths,function(t){t._dom&&bP.prototype.markUsed.call(e,t._dom),t._textDom&&bP.prototype.markUsed.call(e,t._textDom)})},w(IP,bP),IP.prototype.addWithoutUpdate=function(t,e){if(e&&TP(e.style)){var i;if(e._shadowDom)i=e._shadowDom,this.getDefs(!0).contains(e._shadowDom)||this.addDom(i);else i=this.add(e);this.markUsed(e);var n=i.getAttribute(\"id\");t.style.filter=\"url(#\"+n+\")\"}},IP.prototype.add=function(t){var e=this.createElement(\"filter\");return t._shadowDomId=t._shadowDomId||this.nextId++,e.setAttribute(\"id\",\"zr\"+this._zrId+\"-shadow-\"+t._shadowDomId),this.updateDom(t,e),this.addDom(e),e},IP.prototype.update=function(t,e){if(TP(e.style)){var i=this;bP.prototype.update.call(this,e,function(){i.updateDom(e,e._shadowDom)})}else this.remove(t,e)},IP.prototype.remove=function(t,e){null!=e._shadowDomId&&(this.removeDom(t),t.style.filter=\"\")},IP.prototype.updateDom=function(t,e){var i=e.getElementsByTagName(\"feDropShadow\");i=0===i.length?this.createElement(\"feDropShadow\"):i[0];var n,o,a,r,s=t.style,l=t.scale&&t.scale[0]||1,u=t.scale&&t.scale[1]||1;if(s.shadowBlur||s.shadowOffsetX||s.shadowOffsetY)n=s.shadowOffsetX||0,o=s.shadowOffsetY||0,a=s.shadowBlur,r=s.shadowColor;else{if(!s.textShadowBlur)return void this.removeDom(e,s);n=s.textShadowOffsetX||0,o=s.textShadowOffsetY||0,a=s.textShadowBlur,r=s.textShadowColor}i.setAttribute(\"dx\",n/l),i.setAttribute(\"dy\",o/u),i.setAttribute(\"flood-color\",r);var h=a/2/l+\" \"+a/2/u;i.setAttribute(\"stdDeviation\",h),e.setAttribute(\"x\",\"-100%\"),e.setAttribute(\"y\",\"-100%\"),e.setAttribute(\"width\",Math.ceil(a/2*200)+\"%\"),e.setAttribute(\"height\",Math.ceil(a/2*200)+\"%\"),e.appendChild(i),t._shadowDom=e},IP.prototype.markUsed=function(t){t._shadowDom&&bP.prototype.markUsed.call(this,t._shadowDom)};function OP(t,e,i,n){this.root=t,this.storage=e,this._opts=i=P({},i||{});var o=Yk(\"svg\");o.setAttribute(\"xmlns\",\"http://www.w3.org/2000/svg\"),o.setAttribute(\"version\",\"1.1\"),o.setAttribute(\"baseProfile\",\"full\"),o.style.cssText=\"user-select:none;position:absolute;left:0;top:0;\";var a=Yk(\"g\");o.appendChild(a);var r=Yk(\"g\");o.appendChild(r),this.gradientManager=new SP(n,r),this.clipPathManager=new MP(n,r),this.shadowManager=new IP(n,r);var s=document.createElement(\"div\");s.style.cssText=\"overflow:hidden;position:relative\",this._svgDom=o,this._svgRoot=r,this._backgroundRoot=a,this._viewport=s,t.appendChild(s),s.appendChild(o),this.resize(i.width,i.height),this._visibleList=[]}OP.prototype={constructor:OP,getType:function(){return\"svg\"},getViewportRoot:function(){return this._viewport},getSvgDom:function(){return this._svgDom},getSvgRoot:function(){return this._svgRoot},getViewportRootOffset:function(){var t=this.getViewportRoot();if(t)return{offsetLeft:t.offsetLeft||0,offsetTop:t.offsetTop||0}},refresh:function(){var t=this.storage.getDisplayList(!0);this._paintList(t)},setBackgroundColor:function(t){this._backgroundRoot&&this._backgroundNode&&this._backgroundRoot.removeChild(this._backgroundNode);var e=Yk(\"rect\");e.setAttribute(\"width\",this.getWidth()),e.setAttribute(\"height\",this.getHeight()),e.setAttribute(\"x\",0),e.setAttribute(\"y\",0),e.setAttribute(\"id\",0),e.style.fill=t,this._backgroundRoot.appendChild(e),this._backgroundNode=e},_paintList:function(t){this.gradientManager.markAllUnused(),this.clipPathManager.markAllUnused(),this.shadowManager.markAllUnused();var e,i,n=this._svgRoot,o=this._visibleList,a=t.length,r=[];for(e=0;e<a;e++){var s=t[e],l=(i=s)instanceof Ar?uP:i instanceof Qn?hP:i instanceof Ur?cP:uP,u=NP(s)||PP(s);s.invisible||(s.__dirty&&(l&&l.brush(s),this.clipPathManager.update(s),s.style&&(this.gradientManager.update(s.style.fill),this.gradientManager.update(s.style.stroke),this.shadowManager.update(u,s)),s.__dirty=!1),r.push(s))}var h,c=function(t,e,i){return wP.diff(t,e,i)}(o,r);for(e=0;e<c.length;e++){if((p=c[e]).removed)for(var d=0;d<p.count;d++){u=NP(s=o[p.indices[d]]);var f=PP(s);kP(n,u),kP(n,f)}}for(e=0;e<c.length;e++){var p;if((p=c[e]).added)for(d=0;d<p.count;d++){u=NP(s=r[p.indices[d]]),f=PP(s);h?CP(n,u,h):LP(n,u),u?CP(n,f,u):h?CP(n,f,h):LP(n,f),CP(n,f,u),h=f||u||h,this.gradientManager.addWithoutUpdate(u||f,s),this.shadowManager.addWithoutUpdate(u||f,s),this.clipPathManager.markUsed(s)}else if(!p.removed)for(d=0;d<p.count;d++){u=NP(s=r[p.indices[d]]),f=PP(s),u=NP(s),f=PP(s);this.gradientManager.markUsed(s),this.gradientManager.addWithoutUpdate(u||f,s),this.shadowManager.markUsed(s),this.shadowManager.addWithoutUpdate(u||f,s),this.clipPathManager.markUsed(s),f&&CP(n,f,u),h=u||f||h}}this.gradientManager.removeUnused(),this.clipPathManager.removeUnused(),this.shadowManager.removeUnused(),this._visibleList=r},_getDefs:function(t){var n,e=this._svgDom;return 0!==(n=e.getElementsByTagName(\"defs\")).length?n[0]:t?((n=e.insertBefore(Yk(\"defs\"),e.firstChild)).contains||(n.contains=function(t){var e=n.children;if(!e)return!1;for(var i=e.length-1;0<=i;--i)if(e[i]===t)return!0;return!1}),n):null},resize:function(t,e){var i=this._viewport;i.style.display=\"none\";var n=this._opts;if(null!=t&&(n.width=t),null!=e&&(n.height=e),t=this._getSize(0),e=this._getSize(1),i.style.display=\"\",this._width!==t||this._height!==e){this._width=t,this._height=e;var o=i.style;o.width=t+\"px\",o.height=e+\"px\";var a=this._svgDom;a.setAttribute(\"width\",t),a.setAttribute(\"height\",e)}this._backgroundNode&&(this._backgroundNode.setAttribute(\"width\",t),this._backgroundNode.setAttribute(\"height\",e))},getWidth:function(){return this._width},getHeight:function(){return this._height},_getSize:function(t){var e=this._opts,i=[\"width\",\"height\"][t],n=[\"clientWidth\",\"clientHeight\"][t],o=[\"paddingLeft\",\"paddingTop\"][t],a=[\"paddingRight\",\"paddingBottom\"][t];if(null!=e[i]&&\"auto\"!==e[i])return parseFloat(e[i]);var r=this.root,s=document.defaultView.getComputedStyle(r);return(r[n]||AP(s[i])||AP(r.style[i]))-(AP(s[o])||0)-(AP(s[a])||0)|0},dispose:function(){this.root.innerHTML=\"\",this._svgRoot=this._backgroundRoot=this._svgDom=this._backgroundNode=this._viewport=this.storage=null},clear:function(){this._viewport&&this.root.removeChild(this._viewport)},toDataURL:function(){return this.refresh(),\"data:image/svg+xml;charset=UTF-8,\"+encodeURIComponent(this._svgDom.outerHTML.replace(/></g,\">\\n\\r<\"))}},R([\"getLayer\",\"insertLayer\",\"eachLayer\",\"eachBuiltinLayer\",\"eachOtherLayer\",\"getLayers\",\"modLayer\",\"delLayer\",\"clearLayer\",\"pathToImage\"],function(t){OP.prototype[t]=function(t){return function(){vi('In SVG mode painter not support method \"'+t+'\"')}}(t)}),Po(\"svg\",OP),t.version=\"4.9.0\",t.dependencies={zrender:\"4.3.2\"},t.PRIORITY=Ld,t.init=function(t,e,i){var n=mf(t);if(n)return n;var o=new Ed(t,e,i);return o.id=\"ec_\"+cf++,uf[o.id]=o,Jo(t,ff,o.id),function(n){var o=\"__connectUpdateStatus\";function a(t,e){for(var i=0;i<t.length;i++){t[i][o]=e}}Td(ef,function(t,e){n._messageCenter.on(e,function(t){if(hf[n.group]&&0!==n[o]){if(t&&t.escapeConnect)return;var e=n.makeActionFromEvent(t),i=[];Td(uf,function(t){t!==n&&t.group===n.group&&i.push(t)}),a(i,0),Td(i,function(t){1!==t[o]&&t.dispatchAction(e)}),a(i,2)}})})}(o),o},t.connect=function(e){if(L(e)){var t=e;e=null,Td(t,function(t){null!=t.group&&(e=t.group)}),e=e||\"g_\"+df++,Td(t,function(t){t.group=e})}return hf[e]=!0,e},t.disConnect=pf,t.disconnect=gf,t.dispose=function(t){\"string\"==typeof t?t=uf[t]:t instanceof Ed||(t=mf(t)),t instanceof Ed&&!t.isDisposed()&&t.dispose()},t.getInstanceByDom=mf,t.getInstanceById=function(t){return uf[t]},t.registerTheme=vf,t.registerPreprocessor=yf,t.registerProcessor=xf,t.registerPostUpdate=function(t){af.push(t)},t.registerAction=_f,t.registerCoordinateSystem=wf,t.getCoordinateSystemDimensions=function(t){var e=lh.get(t);if(e)return e.getDimensionsInfo?e.getDimensionsInfo():e.dimensions.slice()},t.registerLayout=bf,t.registerVisual=Sf,t.registerLoading=If,t.extendComponentModel=Tf,t.extendComponentView=Af,t.extendSeriesModel=Df,t.extendChartView=Cf,t.setCanvasCreator=function(t){f(\"createCanvas\",t)},t.registerMap=function(t,e,i){Sd.registerMap(t,e,i)},t.getMap=function(t){var e=Sd.retrieveMap(t);return e&&e[0]&&{geoJson:e[0].geoJSON,specialAreas:e[0].specialAreas}},t.dataTool={},t.zrender=Oo,t.number=Ql,t.format=mu,t.throttle=Lc,t.helper=Sg,t.matrix=pe,t.vector=It,t.color=Je,t.parseGeoJSON=Cg,t.parseGeoJson=Wg,t.util=Hg,t.graphic=Zg,t.List=Yf,t.Model=Cl,t.Axis=Gg,t.env=v});\n","\n/*\n* Licensed to the Apache Software Foundation (ASF) under one\n* or more contributor license agreements.  See the NOTICE file\n* distributed with this work for additional information\n* regarding copyright ownership.  The ASF licenses this file\n* to you under the Apache License, Version 2.0 (the\n* \"License\"); you may not use this file except in compliance\n* with the License.  You may obtain a copy of the License at\n*\n*   http://www.apache.org/licenses/LICENSE-2.0\n*\n* Unless required by applicable law or agreed to in writing,\n* software distributed under the License is distributed on an\n* \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n* KIND, either express or implied.  See the License for the\n* specific language governing permissions and limitations\n* under the License.\n*/\n\n\n!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t(exports,require(\"echarts\")):\"function\"==typeof define&&define.amd?define([\"exports\",\"echarts\"],t):t(e.bmap={},e.echarts)}(this,function(e,y){\"use strict\";function h(e,t){this._bmap=e,this.dimensions=[\"lng\",\"lat\"],this._mapOffset=[0,0],this._api=t,this._projection=new BMap.MercatorProjection}function o(a,r){return r=r||[0,0],y.util.map([0,1],function(e){var t=r[e],o=a[e]/2,n=[],i=[];return n[e]=t-o,i[e]=t+o,n[1-e]=i[1-e]=r[1-e],Math.abs(this.dataToPoint(n)[e]-this.dataToPoint(i)[e])},this)}var g;function v(e){for(var t in e)if(e.hasOwnProperty(t))return!1;return!0}h.prototype.dimensions=[\"lng\",\"lat\"],h.prototype.setZoom=function(e){this._zoom=e},h.prototype.setCenter=function(e){this._center=this._projection.lngLatToPoint(new BMap.Point(e[0],e[1]))},h.prototype.setMapOffset=function(e){this._mapOffset=e},h.prototype.getBMap=function(){return this._bmap},h.prototype.dataToPoint=function(e){var t=new BMap.Point(e[0],e[1]),o=this._bmap.pointToOverlayPixel(t),n=this._mapOffset;return[o.x-n[0],o.y-n[1]]},h.prototype.pointToData=function(e){var t=this._mapOffset;return[(e=this._bmap.overlayPixelToPoint({x:e[0]+t[0],y:e[1]+t[1]})).lng,e.lat]},h.prototype.getViewRect=function(){var e=this._api;return new y.graphic.BoundingRect(0,0,e.getWidth(),e.getHeight())},h.prototype.getRoamTransform=function(){return y.matrix.create()},h.prototype.prepareCustoms=function(e){var t=this.getViewRect();return{coordSys:{type:\"bmap\",x:t.x,y:t.y,width:t.width,height:t.height},api:{coord:y.util.bind(this.dataToPoint,this),size:y.util.bind(o,this)}}},h.dimensions=h.prototype.dimensions,h.create=function(e,l){var f,u=l.getDom();e.eachComponent(\"bmap\",function(e){var t=l.getZr().painter,o=t.getViewportRoot();if(\"undefined\"==typeof BMap)throw new Error(\"BMap api is not loaded\");if(g=g||function(){function e(e){this._root=e}return(e.prototype=new BMap.Overlay).initialize=function(e){return e.getPanes().labelPane.appendChild(this._root),this._root},e.prototype.draw=function(){},e}(),f)throw new Error(\"Only one bmap component can exist\");if(!e.__bmap){var n=u.querySelector(\".ec-extension-bmap\");n&&(o.style.left=\"0px\",o.style.top=\"0px\",u.removeChild(n)),(n=document.createElement(\"div\")).style.cssText=\"width:100%;height:100%\",n.classList.add(\"ec-extension-bmap\"),u.appendChild(n);var i=e.get(\"mapOptions\")||{};delete i.mapType;var a=e.__bmap=new BMap.Map(n,i),r=new g(o);a.addOverlay(r),t.getViewportRootOffset=function(){return{offsetLeft:0,offsetTop:0}}}a=e.__bmap;var p=e.get(\"center\"),s=e.get(\"zoom\");if(p&&s){var m=a.getCenter(),d=a.getZoom();if(e.centerOrZoomChanged([m.lng,m.lat],d)){var c=new BMap.Point(p[0],p[1]);a.centerAndZoom(c,s)}}(f=new h(a,l)).setMapOffset(e.__mapOffset||[0,0]),f.setZoom(s),f.setCenter(p),e.coordinateSystem=f}),e.eachSeries(function(e){\"bmap\"===e.get(\"coordinateSystem\")&&(e.coordinateSystem=f)})},y.extendComponentModel({type:\"bmap\",getBMap:function(){return this.__bmap},setCenterAndZoom:function(e,t){this.option.center=e,this.option.zoom=t},centerOrZoomChanged:function(e,t){var o=this.option;return!(function(e,t){return e&&t&&e[0]===t[0]&&e[1]===t[1]}(e,o.center)&&t===o.zoom)},defaultOption:{center:[104.114129,37.550339],zoom:5,mapStyle:{},mapStyleV2:{},mapOptions:{},roam:!1}}),y.extendComponentView({type:\"bmap\",render:function(i,e,a){function t(e,t){if(!r){var o=p.parentNode.parentNode.parentNode,n=[-parseInt(o.style.left,10)||0,-parseInt(o.style.top,10)||0];p.style.left=n[0]+\"px\",p.style.top=n[1]+\"px\",s.setMapOffset(n),i.__mapOffset=n,a.dispatchAction({type:\"bmapRoam\"})}}var r=!0,o=i.getBMap(),p=a.getZr().painter.getViewportRoot(),s=i.coordinateSystem;function n(){r||a.dispatchAction({type:\"bmapRoam\"})}o.removeEventListener(\"moving\",this._oldMoveHandler),o.removeEventListener(\"moveend\",this._oldMoveHandler),o.removeEventListener(\"zoomend\",this._oldZoomEndHandler),o.addEventListener(\"moving\",t),o.addEventListener(\"moveend\",t),o.addEventListener(\"zoomend\",n),this._oldMoveHandler=t,this._oldZoomEndHandler=n;var m=i.get(\"roam\");m&&\"scale\"!==m?o.enableDragging():o.disableDragging(),m&&\"move\"!==m?(o.enableScrollWheelZoom(),o.enableDoubleClickZoom(),o.enablePinchToZoom()):(o.disableScrollWheelZoom(),o.disableDoubleClickZoom(),o.disablePinchToZoom());var d=i.__mapStyle,c=i.get(\"mapStyle\")||{},l=JSON.stringify(c);JSON.stringify(d)!==l&&(v(u)||o.setMapStyle(y.util.clone(c)),i.__mapStyle=JSON.parse(l));var f=i.__mapStyle2,u=i.get(\"mapStyleV2\")||{},h=JSON.stringify(u);JSON.stringify(f)!==h&&(v(u)||o.setMapStyleV2(y.util.clone(u)),i.__mapStyle2=JSON.parse(h)),r=!1}}),y.registerCoordinateSystem(\"bmap\",h),y.registerAction({type:\"bmapRoam\",event:\"bmapRoam\",update:\"updateLayout\"},function(e,t){t.eachComponent(\"bmap\",function(e){var t=e.getBMap(),o=t.getCenter();e.setCenterAndZoom([o.lng,o.lat],t.getZoom())})});e.version=\"1.0.0\"});\n","/*!\n * Chart.js\n * http://chartjs.org/\n * Version: 2.7.1\n *\n * Copyright 2017 Nick Downie\n * Released under the MIT license\n * https://github.com/chartjs/Chart.js/blob/master/LICENSE.md\n */\n!function(t){if(\"object\"==typeof exports&&\"undefined\"!=typeof module)module.exports=t();else if(\"function\"==typeof define&&define.amd)define([],t);else{(\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:this).Chart=t()}}(function(){return function t(e,n,i){function a(r,l){if(!n[r]){if(!e[r]){var s=\"function\"==typeof require&&require;if(!l&&s)return s(r,!0);if(o)return o(r,!0);var u=new Error(\"Cannot find module '\"+r+\"'\");throw u.code=\"MODULE_NOT_FOUND\",u}var d=n[r]={exports:{}};e[r][0].call(d.exports,function(t){var n=e[r][1][t];return a(n||t)},d,d.exports,t,e,n,i)}return n[r].exports}for(var o=\"function\"==typeof require&&require,r=0;r<i.length;r++)a(i[r]);return a}({1:[function(t,e,n){},{}],2:[function(t,e,n){function i(t){if(t){var e=[0,0,0],n=1,i=t.match(/^#([a-fA-F0-9]{3})$/i);if(i){i=i[1];for(a=0;a<e.length;a++)e[a]=parseInt(i[a]+i[a],16)}else if(i=t.match(/^#([a-fA-F0-9]{6})$/i)){i=i[1];for(a=0;a<e.length;a++)e[a]=parseInt(i.slice(2*a,2*a+2),16)}else if(i=t.match(/^rgba?\\(\\s*([+-]?\\d+)\\s*,\\s*([+-]?\\d+)\\s*,\\s*([+-]?\\d+)\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/i)){for(a=0;a<e.length;a++)e[a]=parseInt(i[a+1]);n=parseFloat(i[4])}else if(i=t.match(/^rgba?\\(\\s*([+-]?[\\d\\.]+)\\%\\s*,\\s*([+-]?[\\d\\.]+)\\%\\s*,\\s*([+-]?[\\d\\.]+)\\%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)$/i)){for(a=0;a<e.length;a++)e[a]=Math.round(2.55*parseFloat(i[a+1]));n=parseFloat(i[4])}else if(i=t.match(/(\\w+)/)){if(\"transparent\"==i[1])return[0,0,0,0];if(!(e=c[i[1]]))return}for(var a=0;a<e.length;a++)e[a]=u(e[a],0,255);return n=n||0==n?u(n,0,1):1,e[3]=n,e}}function a(t){if(t){var e=t.match(/^hsla?\\(\\s*([+-]?\\d+)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)/);if(e){var n=parseFloat(e[4]);return[u(parseInt(e[1]),0,360),u(parseFloat(e[2]),0,100),u(parseFloat(e[3]),0,100),u(isNaN(n)?1:n,0,1)]}}}function o(t){if(t){var e=t.match(/^hwb\\(\\s*([+-]?\\d+)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?[\\d\\.]+)\\s*)?\\)/);if(e){var n=parseFloat(e[4]);return[u(parseInt(e[1]),0,360),u(parseFloat(e[2]),0,100),u(parseFloat(e[3]),0,100),u(isNaN(n)?1:n,0,1)]}}}function r(t,e){return void 0===e&&(e=void 0!==t[3]?t[3]:1),\"rgba(\"+t[0]+\", \"+t[1]+\", \"+t[2]+\", \"+e+\")\"}function l(t,e){return\"rgba(\"+Math.round(t[0]/255*100)+\"%, \"+Math.round(t[1]/255*100)+\"%, \"+Math.round(t[2]/255*100)+\"%, \"+(e||t[3]||1)+\")\"}function s(t,e){return void 0===e&&(e=void 0!==t[3]?t[3]:1),\"hsla(\"+t[0]+\", \"+t[1]+\"%, \"+t[2]+\"%, \"+e+\")\"}function u(t,e,n){return Math.min(Math.max(e,t),n)}function d(t){var e=t.toString(16).toUpperCase();return e.length<2?\"0\"+e:e}var c=t(6);e.exports={getRgba:i,getHsla:a,getRgb:function(t){var e=i(t);return e&&e.slice(0,3)},getHsl:function(t){var e=a(t);return e&&e.slice(0,3)},getHwb:o,getAlpha:function(t){var e=i(t);return e?e[3]:(e=a(t))?e[3]:(e=o(t))?e[3]:void 0},hexString:function(t){return\"#\"+d(t[0])+d(t[1])+d(t[2])},rgbString:function(t,e){return e<1||t[3]&&t[3]<1?r(t,e):\"rgb(\"+t[0]+\", \"+t[1]+\", \"+t[2]+\")\"},rgbaString:r,percentString:function(t,e){return e<1||t[3]&&t[3]<1?l(t,e):\"rgb(\"+Math.round(t[0]/255*100)+\"%, \"+Math.round(t[1]/255*100)+\"%, \"+Math.round(t[2]/255*100)+\"%)\"},percentaString:l,hslString:function(t,e){return e<1||t[3]&&t[3]<1?s(t,e):\"hsl(\"+t[0]+\", \"+t[1]+\"%, \"+t[2]+\"%)\"},hslaString:s,hwbString:function(t,e){return void 0===e&&(e=void 0!==t[3]?t[3]:1),\"hwb(\"+t[0]+\", \"+t[1]+\"%, \"+t[2]+\"%\"+(void 0!==e&&1!==e?\", \"+e:\"\")+\")\"},keyword:function(t){return h[t.slice(0,3)]}};var h={};for(var f in c)h[c[f]]=f},{6:6}],3:[function(t,e,n){var i=t(5),a=t(2),o=function(t){if(t instanceof o)return t;if(!(this instanceof o))return new o(t);this.valid=!1,this.values={rgb:[0,0,0],hsl:[0,0,0],hsv:[0,0,0],hwb:[0,0,0],cmyk:[0,0,0,0],alpha:1};var e;\"string\"==typeof t?(e=a.getRgba(t))?this.setValues(\"rgb\",e):(e=a.getHsla(t))?this.setValues(\"hsl\",e):(e=a.getHwb(t))&&this.setValues(\"hwb\",e):\"object\"==typeof t&&(void 0!==(e=t).r||void 0!==e.red?this.setValues(\"rgb\",e):void 0!==e.l||void 0!==e.lightness?this.setValues(\"hsl\",e):void 0!==e.v||void 0!==e.value?this.setValues(\"hsv\",e):void 0!==e.w||void 0!==e.whiteness?this.setValues(\"hwb\",e):void 0===e.c&&void 0===e.cyan||this.setValues(\"cmyk\",e))};o.prototype={isValid:function(){return this.valid},rgb:function(){return this.setSpace(\"rgb\",arguments)},hsl:function(){return this.setSpace(\"hsl\",arguments)},hsv:function(){return this.setSpace(\"hsv\",arguments)},hwb:function(){return this.setSpace(\"hwb\",arguments)},cmyk:function(){return this.setSpace(\"cmyk\",arguments)},rgbArray:function(){return this.values.rgb},hslArray:function(){return this.values.hsl},hsvArray:function(){return this.values.hsv},hwbArray:function(){var t=this.values;return 1!==t.alpha?t.hwb.concat([t.alpha]):t.hwb},cmykArray:function(){return this.values.cmyk},rgbaArray:function(){var t=this.values;return t.rgb.concat([t.alpha])},hslaArray:function(){var t=this.values;return t.hsl.concat([t.alpha])},alpha:function(t){return void 0===t?this.values.alpha:(this.setValues(\"alpha\",t),this)},red:function(t){return this.setChannel(\"rgb\",0,t)},green:function(t){return this.setChannel(\"rgb\",1,t)},blue:function(t){return this.setChannel(\"rgb\",2,t)},hue:function(t){return t&&(t=(t%=360)<0?360+t:t),this.setChannel(\"hsl\",0,t)},saturation:function(t){return this.setChannel(\"hsl\",1,t)},lightness:function(t){return this.setChannel(\"hsl\",2,t)},saturationv:function(t){return this.setChannel(\"hsv\",1,t)},whiteness:function(t){return this.setChannel(\"hwb\",1,t)},blackness:function(t){return this.setChannel(\"hwb\",2,t)},value:function(t){return this.setChannel(\"hsv\",2,t)},cyan:function(t){return this.setChannel(\"cmyk\",0,t)},magenta:function(t){return this.setChannel(\"cmyk\",1,t)},yellow:function(t){return this.setChannel(\"cmyk\",2,t)},black:function(t){return this.setChannel(\"cmyk\",3,t)},hexString:function(){return a.hexString(this.values.rgb)},rgbString:function(){return a.rgbString(this.values.rgb,this.values.alpha)},rgbaString:function(){return a.rgbaString(this.values.rgb,this.values.alpha)},percentString:function(){return a.percentString(this.values.rgb,this.values.alpha)},hslString:function(){return a.hslString(this.values.hsl,this.values.alpha)},hslaString:function(){return a.hslaString(this.values.hsl,this.values.alpha)},hwbString:function(){return a.hwbString(this.values.hwb,this.values.alpha)},keyword:function(){return a.keyword(this.values.rgb,this.values.alpha)},rgbNumber:function(){var t=this.values.rgb;return t[0]<<16|t[1]<<8|t[2]},luminosity:function(){for(var t=this.values.rgb,e=[],n=0;n<t.length;n++){var i=t[n]/255;e[n]=i<=.03928?i/12.92:Math.pow((i+.055)/1.055,2.4)}return.2126*e[0]+.7152*e[1]+.0722*e[2]},contrast:function(t){var e=this.luminosity(),n=t.luminosity();return e>n?(e+.05)/(n+.05):(n+.05)/(e+.05)},level:function(t){var e=this.contrast(t);return e>=7.1?\"AAA\":e>=4.5?\"AA\":\"\"},dark:function(){var t=this.values.rgb;return(299*t[0]+587*t[1]+114*t[2])/1e3<128},light:function(){return!this.dark()},negate:function(){for(var t=[],e=0;e<3;e++)t[e]=255-this.values.rgb[e];return this.setValues(\"rgb\",t),this},lighten:function(t){var e=this.values.hsl;return e[2]+=e[2]*t,this.setValues(\"hsl\",e),this},darken:function(t){var e=this.values.hsl;return e[2]-=e[2]*t,this.setValues(\"hsl\",e),this},saturate:function(t){var e=this.values.hsl;return e[1]+=e[1]*t,this.setValues(\"hsl\",e),this},desaturate:function(t){var e=this.values.hsl;return e[1]-=e[1]*t,this.setValues(\"hsl\",e),this},whiten:function(t){var e=this.values.hwb;return e[1]+=e[1]*t,this.setValues(\"hwb\",e),this},blacken:function(t){var e=this.values.hwb;return e[2]+=e[2]*t,this.setValues(\"hwb\",e),this},greyscale:function(){var t=this.values.rgb,e=.3*t[0]+.59*t[1]+.11*t[2];return this.setValues(\"rgb\",[e,e,e]),this},clearer:function(t){var e=this.values.alpha;return this.setValues(\"alpha\",e-e*t),this},opaquer:function(t){var e=this.values.alpha;return this.setValues(\"alpha\",e+e*t),this},rotate:function(t){var e=this.values.hsl,n=(e[0]+t)%360;return e[0]=n<0?360+n:n,this.setValues(\"hsl\",e),this},mix:function(t,e){var n=this,i=t,a=void 0===e?.5:e,o=2*a-1,r=n.alpha()-i.alpha(),l=((o*r==-1?o:(o+r)/(1+o*r))+1)/2,s=1-l;return this.rgb(l*n.red()+s*i.red(),l*n.green()+s*i.green(),l*n.blue()+s*i.blue()).alpha(n.alpha()*a+i.alpha()*(1-a))},toJSON:function(){return this.rgb()},clone:function(){var t,e,n=new o,i=this.values,a=n.values;for(var r in i)i.hasOwnProperty(r)&&(t=i[r],\"[object Array]\"===(e={}.toString.call(t))?a[r]=t.slice(0):\"[object Number]\"===e?a[r]=t:console.error(\"unexpected color value:\",t));return n}},o.prototype.spaces={rgb:[\"red\",\"green\",\"blue\"],hsl:[\"hue\",\"saturation\",\"lightness\"],hsv:[\"hue\",\"saturation\",\"value\"],hwb:[\"hue\",\"whiteness\",\"blackness\"],cmyk:[\"cyan\",\"magenta\",\"yellow\",\"black\"]},o.prototype.maxes={rgb:[255,255,255],hsl:[360,100,100],hsv:[360,100,100],hwb:[360,100,100],cmyk:[100,100,100,100]},o.prototype.getValues=function(t){for(var e=this.values,n={},i=0;i<t.length;i++)n[t.charAt(i)]=e[t][i];return 1!==e.alpha&&(n.a=e.alpha),n},o.prototype.setValues=function(t,e){var n,a=this.values,o=this.spaces,r=this.maxes,l=1;if(this.valid=!0,\"alpha\"===t)l=e;else if(e.length)a[t]=e.slice(0,t.length),l=e[t.length];else if(void 0!==e[t.charAt(0)]){for(n=0;n<t.length;n++)a[t][n]=e[t.charAt(n)];l=e.a}else if(void 0!==e[o[t][0]]){var s=o[t];for(n=0;n<t.length;n++)a[t][n]=e[s[n]];l=e.alpha}if(a.alpha=Math.max(0,Math.min(1,void 0===l?a.alpha:l)),\"alpha\"===t)return!1;var u;for(n=0;n<t.length;n++)u=Math.max(0,Math.min(r[t][n],a[t][n])),a[t][n]=Math.round(u);for(var d in o)d!==t&&(a[d]=i[t][d](a[t]));return!0},o.prototype.setSpace=function(t,e){var n=e[0];return void 0===n?this.getValues(t):(\"number\"==typeof n&&(n=Array.prototype.slice.call(e)),this.setValues(t,n),this)},o.prototype.setChannel=function(t,e,n){var i=this.values[t];return void 0===n?i[e]:n===i[e]?this:(i[e]=n,this.setValues(t,i),this)},\"undefined\"!=typeof window&&(window.Color=o),e.exports=o},{2:2,5:5}],4:[function(t,e,n){function i(t){var e,n,i,a=t[0]/255,o=t[1]/255,r=t[2]/255,l=Math.min(a,o,r),s=Math.max(a,o,r),u=s-l;return s==l?e=0:a==s?e=(o-r)/u:o==s?e=2+(r-a)/u:r==s&&(e=4+(a-o)/u),(e=Math.min(60*e,360))<0&&(e+=360),i=(l+s)/2,n=s==l?0:i<=.5?u/(s+l):u/(2-s-l),[e,100*n,100*i]}function a(t){var e,n,i,a=t[0],o=t[1],r=t[2],l=Math.min(a,o,r),s=Math.max(a,o,r),u=s-l;return n=0==s?0:u/s*1e3/10,s==l?e=0:a==s?e=(o-r)/u:o==s?e=2+(r-a)/u:r==s&&(e=4+(a-o)/u),(e=Math.min(60*e,360))<0&&(e+=360),i=s/255*1e3/10,[e,n,i]}function o(t){var e=t[0],n=t[1],a=t[2];return[i(t)[0],100*(1/255*Math.min(e,Math.min(n,a))),100*(a=1-1/255*Math.max(e,Math.max(n,a)))]}function l(t){var e,n,i,a,o=t[0]/255,r=t[1]/255,l=t[2]/255;return a=Math.min(1-o,1-r,1-l),e=(1-o-a)/(1-a)||0,n=(1-r-a)/(1-a)||0,i=(1-l-a)/(1-a)||0,[100*e,100*n,100*i,100*a]}function s(t){return C[JSON.stringify(t)]}function u(t){var e=t[0]/255,n=t[1]/255,i=t[2]/255;return[100*(.4124*(e=e>.04045?Math.pow((e+.055)/1.055,2.4):e/12.92)+.3576*(n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92)+.1805*(i=i>.04045?Math.pow((i+.055)/1.055,2.4):i/12.92)),100*(.2126*e+.7152*n+.0722*i),100*(.0193*e+.1192*n+.9505*i)]}function d(t){var e,n,i,a=u(t),o=a[0],r=a[1],l=a[2];return o/=95.047,r/=100,l/=108.883,o=o>.008856?Math.pow(o,1/3):7.787*o+16/116,r=r>.008856?Math.pow(r,1/3):7.787*r+16/116,l=l>.008856?Math.pow(l,1/3):7.787*l+16/116,e=116*r-16,n=500*(o-r),i=200*(r-l),[e,n,i]}function c(t){var e,n,i,a,o,r=t[0]/360,l=t[1]/100,s=t[2]/100;if(0==l)return o=255*s,[o,o,o];e=2*s-(n=s<.5?s*(1+l):s+l-s*l),a=[0,0,0];for(var u=0;u<3;u++)(i=r+1/3*-(u-1))<0&&i++,i>1&&i--,o=6*i<1?e+6*(n-e)*i:2*i<1?n:3*i<2?e+(n-e)*(2/3-i)*6:e,a[u]=255*o;return a}function h(t){var e=t[0]/60,n=t[1]/100,i=t[2]/100,a=Math.floor(e)%6,o=e-Math.floor(e),r=255*i*(1-n),l=255*i*(1-n*o),s=255*i*(1-n*(1-o)),i=255*i;switch(a){case 0:return[i,s,r];case 1:return[l,i,r];case 2:return[r,i,s];case 3:return[r,l,i];case 4:return[s,r,i];case 5:return[i,r,l]}}function f(t){var e,n,i,a,o=t[0]/360,l=t[1]/100,s=t[2]/100,u=l+s;switch(u>1&&(l/=u,s/=u),e=Math.floor(6*o),n=1-s,i=6*o-e,0!=(1&e)&&(i=1-i),a=l+i*(n-l),e){default:case 6:case 0:r=n,g=a,b=l;break;case 1:r=a,g=n,b=l;break;case 2:r=l,g=n,b=a;break;case 3:r=l,g=a,b=n;break;case 4:r=a,g=l,b=n;break;case 5:r=n,g=l,b=a}return[255*r,255*g,255*b]}function p(t){var e,n,i,a=t[0]/100,o=t[1]/100,r=t[2]/100,l=t[3]/100;return e=1-Math.min(1,a*(1-l)+l),n=1-Math.min(1,o*(1-l)+l),i=1-Math.min(1,r*(1-l)+l),[255*e,255*n,255*i]}function v(t){var e,n,i,a=t[0]/100,o=t[1]/100,r=t[2]/100;return e=3.2406*a+-1.5372*o+-.4986*r,n=-.9689*a+1.8758*o+.0415*r,i=.0557*a+-.204*o+1.057*r,e=e>.0031308?1.055*Math.pow(e,1/2.4)-.055:e*=12.92,n=n>.0031308?1.055*Math.pow(n,1/2.4)-.055:n*=12.92,i=i>.0031308?1.055*Math.pow(i,1/2.4)-.055:i*=12.92,e=Math.min(Math.max(0,e),1),n=Math.min(Math.max(0,n),1),i=Math.min(Math.max(0,i),1),[255*e,255*n,255*i]}function m(t){var e,n,i,a=t[0],o=t[1],r=t[2];return a/=95.047,o/=100,r/=108.883,a=a>.008856?Math.pow(a,1/3):7.787*a+16/116,o=o>.008856?Math.pow(o,1/3):7.787*o+16/116,r=r>.008856?Math.pow(r,1/3):7.787*r+16/116,e=116*o-16,n=500*(a-o),i=200*(o-r),[e,n,i]}function x(t){var e,n,i,a,o=t[0],r=t[1],l=t[2];return o<=8?a=(n=100*o/903.3)/100*7.787+16/116:(n=100*Math.pow((o+16)/116,3),a=Math.pow(n/100,1/3)),e=e/95.047<=.008856?e=95.047*(r/500+a-16/116)/7.787:95.047*Math.pow(r/500+a,3),i=i/108.883<=.008859?i=108.883*(a-l/200-16/116)/7.787:108.883*Math.pow(a-l/200,3),[e,n,i]}function y(t){var e,n,i,a=t[0],o=t[1],r=t[2];return e=Math.atan2(r,o),(n=360*e/2/Math.PI)<0&&(n+=360),i=Math.sqrt(o*o+r*r),[a,i,n]}function k(t){return v(x(t))}function w(t){var e,n,i,a=t[0],o=t[1];return i=t[2]/360*2*Math.PI,e=o*Math.cos(i),n=o*Math.sin(i),[a,e,n]}function M(t){return S[t]}e.exports={rgb2hsl:i,rgb2hsv:a,rgb2hwb:o,rgb2cmyk:l,rgb2keyword:s,rgb2xyz:u,rgb2lab:d,rgb2lch:function(t){return y(d(t))},hsl2rgb:c,hsl2hsv:function(t){var e,n,i=t[0],a=t[1]/100,o=t[2]/100;return 0===o?[0,0,0]:(o*=2,a*=o<=1?o:2-o,n=(o+a)/2,e=2*a/(o+a),[i,100*e,100*n])},hsl2hwb:function(t){return o(c(t))},hsl2cmyk:function(t){return l(c(t))},hsl2keyword:function(t){return s(c(t))},hsv2rgb:h,hsv2hsl:function(t){var e,n,i=t[0],a=t[1]/100,o=t[2]/100;return n=(2-a)*o,e=a*o,e/=n<=1?n:2-n,e=e||0,n/=2,[i,100*e,100*n]},hsv2hwb:function(t){return o(h(t))},hsv2cmyk:function(t){return l(h(t))},hsv2keyword:function(t){return s(h(t))},hwb2rgb:f,hwb2hsl:function(t){return i(f(t))},hwb2hsv:function(t){return a(f(t))},hwb2cmyk:function(t){return l(f(t))},hwb2keyword:function(t){return s(f(t))},cmyk2rgb:p,cmyk2hsl:function(t){return i(p(t))},cmyk2hsv:function(t){return a(p(t))},cmyk2hwb:function(t){return o(p(t))},cmyk2keyword:function(t){return s(p(t))},keyword2rgb:M,keyword2hsl:function(t){return i(M(t))},keyword2hsv:function(t){return a(M(t))},keyword2hwb:function(t){return o(M(t))},keyword2cmyk:function(t){return l(M(t))},keyword2lab:function(t){return d(M(t))},keyword2xyz:function(t){return u(M(t))},xyz2rgb:v,xyz2lab:m,xyz2lch:function(t){return y(m(t))},lab2xyz:x,lab2rgb:k,lab2lch:y,lch2lab:w,lch2xyz:function(t){return x(w(t))},lch2rgb:function(t){return k(w(t))}};var S={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},C={};for(var _ in S)C[JSON.stringify(S[_])]=_},{}],5:[function(t,e,n){var i=t(4),a=function(){return new u};for(var o in i){a[o+\"Raw\"]=function(t){return function(e){return\"number\"==typeof e&&(e=Array.prototype.slice.call(arguments)),i[t](e)}}(o);var r=/(\\w+)2(\\w+)/.exec(o),l=r[1],s=r[2];(a[l]=a[l]||{})[s]=a[o]=function(t){return function(e){\"number\"==typeof e&&(e=Array.prototype.slice.call(arguments));var n=i[t](e);if(\"string\"==typeof n||void 0===n)return n;for(var a=0;a<n.length;a++)n[a]=Math.round(n[a]);return n}}(o)}var u=function(){this.convs={}};u.prototype.routeSpace=function(t,e){var n=e[0];return void 0===n?this.getValues(t):(\"number\"==typeof n&&(n=Array.prototype.slice.call(e)),this.setValues(t,n))},u.prototype.setValues=function(t,e){return this.space=t,this.convs={},this.convs[t]=e,this},u.prototype.getValues=function(t){var e=this.convs[t];if(!e){var n=this.space,i=this.convs[n];e=a[n][t](i),this.convs[t]=e}return e},[\"rgb\",\"hsl\",\"hsv\",\"cmyk\",\"keyword\"].forEach(function(t){u.prototype[t]=function(e){return this.routeSpace(t,arguments)}}),e.exports=a},{4:4}],6:[function(t,e,n){\"use strict\";e.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},{}],7:[function(t,e,n){var i=t(29)();i.helpers=t(45),t(27)(i),i.defaults=t(25),i.Element=t(26),i.elements=t(40),i.Interaction=t(28),i.platform=t(48),t(31)(i),t(22)(i),t(23)(i),t(24)(i),t(30)(i),t(33)(i),t(32)(i),t(35)(i),t(54)(i),t(52)(i),t(53)(i),t(55)(i),t(56)(i),t(57)(i),t(15)(i),t(16)(i),t(17)(i),t(18)(i),t(19)(i),t(20)(i),t(21)(i),t(8)(i),t(9)(i),t(10)(i),t(11)(i),t(12)(i),t(13)(i),t(14)(i);var a=[];a.push(t(49)(i),t(50)(i),t(51)(i)),i.plugins.register(a),i.platform.initialize(),e.exports=i,\"undefined\"!=typeof window&&(window.Chart=i),i.canvasHelpers=i.helpers.canvas},{10:10,11:11,12:12,13:13,14:14,15:15,16:16,17:17,18:18,19:19,20:20,21:21,22:22,23:23,24:24,25:25,26:26,27:27,28:28,29:29,30:30,31:31,32:32,33:33,35:35,40:40,45:45,48:48,49:49,50:50,51:51,52:52,53:53,54:54,55:55,56:56,57:57,8:8,9:9}],8:[function(t,e,n){\"use strict\";e.exports=function(t){t.Bar=function(e,n){return n.type=\"bar\",new t(e,n)}}},{}],9:[function(t,e,n){\"use strict\";e.exports=function(t){t.Bubble=function(e,n){return n.type=\"bubble\",new t(e,n)}}},{}],10:[function(t,e,n){\"use strict\";e.exports=function(t){t.Doughnut=function(e,n){return n.type=\"doughnut\",new t(e,n)}}},{}],11:[function(t,e,n){\"use strict\";e.exports=function(t){t.Line=function(e,n){return n.type=\"line\",new t(e,n)}}},{}],12:[function(t,e,n){\"use strict\";e.exports=function(t){t.PolarArea=function(e,n){return n.type=\"polarArea\",new t(e,n)}}},{}],13:[function(t,e,n){\"use strict\";e.exports=function(t){t.Radar=function(e,n){return n.type=\"radar\",new t(e,n)}}},{}],14:[function(t,e,n){\"use strict\";e.exports=function(t){t.Scatter=function(e,n){return n.type=\"scatter\",new t(e,n)}}},{}],15:[function(t,e,n){\"use strict\";var i=t(25),a=t(40),o=t(45);i._set(\"bar\",{hover:{mode:\"label\"},scales:{xAxes:[{type:\"category\",categoryPercentage:.8,barPercentage:.9,offset:!0,gridLines:{offsetGridLines:!0}}],yAxes:[{type:\"linear\"}]}}),i._set(\"horizontalBar\",{hover:{mode:\"index\",axis:\"y\"},scales:{xAxes:[{type:\"linear\",position:\"bottom\"}],yAxes:[{position:\"left\",type:\"category\",categoryPercentage:.8,barPercentage:.9,offset:!0,gridLines:{offsetGridLines:!0}}]},elements:{rectangle:{borderSkipped:\"left\"}},tooltips:{callbacks:{title:function(t,e){var n=\"\";return t.length>0&&(t[0].yLabel?n=t[0].yLabel:e.labels.length>0&&t[0].index<e.labels.length&&(n=e.labels[t[0].index])),n},label:function(t,e){return(e.datasets[t.datasetIndex].label||\"\")+\": \"+t.xLabel}},mode:\"index\",axis:\"y\"}}),e.exports=function(t){t.controllers.bar=t.DatasetController.extend({dataElementType:a.Rectangle,initialize:function(){var e,n=this;t.DatasetController.prototype.initialize.apply(n,arguments),(e=n.getMeta()).stack=n.getDataset().stack,e.bar=!0},update:function(t){var e,n,i=this,a=i.getMeta().data;for(i._ruler=i.getRuler(),e=0,n=a.length;e<n;++e)i.updateElement(a[e],e,t)},updateElement:function(t,e,n){var i=this,a=i.chart,r=i.getMeta(),l=i.getDataset(),s=t.custom||{},u=a.options.elements.rectangle;t._xScale=i.getScaleForId(r.xAxisID),t._yScale=i.getScaleForId(r.yAxisID),t._datasetIndex=i.index,t._index=e,t._model={datasetLabel:l.label,label:a.data.labels[e],borderSkipped:s.borderSkipped?s.borderSkipped:u.borderSkipped,backgroundColor:s.backgroundColor?s.backgroundColor:o.valueAtIndexOrDefault(l.backgroundColor,e,u.backgroundColor),borderColor:s.borderColor?s.borderColor:o.valueAtIndexOrDefault(l.borderColor,e,u.borderColor),borderWidth:s.borderWidth?s.borderWidth:o.valueAtIndexOrDefault(l.borderWidth,e,u.borderWidth)},i.updateElementGeometry(t,e,n),t.pivot()},updateElementGeometry:function(t,e,n){var i=this,a=t._model,o=i.getValueScale(),r=o.getBasePixel(),l=o.isHorizontal(),s=i._ruler||i.getRuler(),u=i.calculateBarValuePixels(i.index,e),d=i.calculateBarIndexPixels(i.index,e,s);a.horizontal=l,a.base=n?r:u.base,a.x=l?n?r:u.head:d.center,a.y=l?d.center:n?r:u.head,a.height=l?d.size:void 0,a.width=l?void 0:d.size},getValueScaleId:function(){return this.getMeta().yAxisID},getIndexScaleId:function(){return this.getMeta().xAxisID},getValueScale:function(){return this.getScaleForId(this.getValueScaleId())},getIndexScale:function(){return this.getScaleForId(this.getIndexScaleId())},getStackCount:function(t){var e,n,i=this,a=i.chart,o=i.getIndexScale().options.stacked,r=void 0===t?a.data.datasets.length:t+1,l=[];for(e=0;e<r;++e)(n=a.getDatasetMeta(e)).bar&&a.isDatasetVisible(e)&&(!1===o||!0===o&&-1===l.indexOf(n.stack)||void 0===o&&(void 0===n.stack||-1===l.indexOf(n.stack)))&&l.push(n.stack);return l.length},getStackIndex:function(t){return this.getStackCount(t)-1},getRuler:function(){var t,e,n=this,i=n.getIndexScale(),a=n.getStackCount(),o=n.index,r=[],l=i.isHorizontal(),s=l?i.left:i.top,u=s+(l?i.width:i.height);for(t=0,e=n.getMeta().data.length;t<e;++t)r.push(i.getPixelForValue(null,t,o));return{pixels:r,start:s,end:u,stackCount:a,scale:i}},calculateBarValuePixels:function(t,e){var n,i,a,o,r,l,s=this,u=s.chart,d=s.getMeta(),c=s.getValueScale(),h=u.data.datasets,f=c.getRightValue(h[t].data[e]),g=c.options.stacked,p=d.stack,v=0;if(g||void 0===g&&void 0!==p)for(n=0;n<t;++n)(i=u.getDatasetMeta(n)).bar&&i.stack===p&&i.controller.getValueScaleId()===c.id&&u.isDatasetVisible(n)&&(a=c.getRightValue(h[n].data[e]),(f<0&&a<0||f>=0&&a>0)&&(v+=a));return o=c.getPixelForValue(v),r=c.getPixelForValue(v+f),l=(r-o)/2,{size:l,base:o,head:r,center:r+l/2}},calculateBarIndexPixels:function(t,e,n){var i,a,r,l,s,u,d=this,c=n.scale.options,h=d.getStackIndex(t),f=n.pixels,g=f[e],p=f.length,v=n.start,m=n.end;return 1===p?(i=g>v?g-v:m-g,a=g<m?m-g:g-v):(e>0&&(i=(g-f[e-1])/2,e===p-1&&(a=i)),e<p-1&&(a=(f[e+1]-g)/2,0===e&&(i=a))),r=i*c.categoryPercentage,l=a*c.categoryPercentage,s=(r+l)/n.stackCount,u=s*c.barPercentage,u=Math.min(o.valueOrDefault(c.barThickness,u),o.valueOrDefault(c.maxBarThickness,1/0)),g-=r,g+=s*h,g+=(s-u)/2,{size:u,base:g,head:g+u,center:g+u/2}},draw:function(){var t=this,e=t.chart,n=t.getValueScale(),i=t.getMeta().data,a=t.getDataset(),r=i.length,l=0;for(o.canvas.clipArea(e.ctx,e.chartArea);l<r;++l)isNaN(n.getRightValue(a.data[l]))||i[l].draw();o.canvas.unclipArea(e.ctx)},setHoverStyle:function(t){var e=this.chart.data.datasets[t._datasetIndex],n=t._index,i=t.custom||{},a=t._model;a.backgroundColor=i.hoverBackgroundColor?i.hoverBackgroundColor:o.valueAtIndexOrDefault(e.hoverBackgroundColor,n,o.getHoverColor(a.backgroundColor)),a.borderColor=i.hoverBorderColor?i.hoverBorderColor:o.valueAtIndexOrDefault(e.hoverBorderColor,n,o.getHoverColor(a.borderColor)),a.borderWidth=i.hoverBorderWidth?i.hoverBorderWidth:o.valueAtIndexOrDefault(e.hoverBorderWidth,n,a.borderWidth)},removeHoverStyle:function(t){var e=this.chart.data.datasets[t._datasetIndex],n=t._index,i=t.custom||{},a=t._model,r=this.chart.options.elements.rectangle;a.backgroundColor=i.backgroundColor?i.backgroundColor:o.valueAtIndexOrDefault(e.backgroundColor,n,r.backgroundColor),a.borderColor=i.borderColor?i.borderColor:o.valueAtIndexOrDefault(e.borderColor,n,r.borderColor),a.borderWidth=i.borderWidth?i.borderWidth:o.valueAtIndexOrDefault(e.borderWidth,n,r.borderWidth)}}),t.controllers.horizontalBar=t.controllers.bar.extend({getValueScaleId:function(){return this.getMeta().xAxisID},getIndexScaleId:function(){return this.getMeta().yAxisID}})}},{25:25,40:40,45:45}],16:[function(t,e,n){\"use strict\";var i=t(25),a=t(40),o=t(45);i._set(\"bubble\",{hover:{mode:\"single\"},scales:{xAxes:[{type:\"linear\",position:\"bottom\",id:\"x-axis-0\"}],yAxes:[{type:\"linear\",position:\"left\",id:\"y-axis-0\"}]},tooltips:{callbacks:{title:function(){return\"\"},label:function(t,e){var n=e.datasets[t.datasetIndex].label||\"\",i=e.datasets[t.datasetIndex].data[t.index];return n+\": (\"+t.xLabel+\", \"+t.yLabel+\", \"+i.r+\")\"}}}}),e.exports=function(t){t.controllers.bubble=t.DatasetController.extend({dataElementType:a.Point,update:function(t){var e=this,n=e.getMeta().data;o.each(n,function(n,i){e.updateElement(n,i,t)})},updateElement:function(t,e,n){var i=this,a=i.getMeta(),o=t.custom||{},r=i.getScaleForId(a.xAxisID),l=i.getScaleForId(a.yAxisID),s=i._resolveElementOptions(t,e),u=i.getDataset().data[e],d=i.index,c=n?r.getPixelForDecimal(.5):r.getPixelForValue(\"object\"==typeof u?u:NaN,e,d),h=n?l.getBasePixel():l.getPixelForValue(u,e,d);t._xScale=r,t._yScale=l,t._options=s,t._datasetIndex=d,t._index=e,t._model={backgroundColor:s.backgroundColor,borderColor:s.borderColor,borderWidth:s.borderWidth,hitRadius:s.hitRadius,pointStyle:s.pointStyle,radius:n?0:s.radius,skip:o.skip||isNaN(c)||isNaN(h),x:c,y:h},t.pivot()},setHoverStyle:function(t){var e=t._model,n=t._options;e.backgroundColor=o.valueOrDefault(n.hoverBackgroundColor,o.getHoverColor(n.backgroundColor)),e.borderColor=o.valueOrDefault(n.hoverBorderColor,o.getHoverColor(n.borderColor)),e.borderWidth=o.valueOrDefault(n.hoverBorderWidth,n.borderWidth),e.radius=n.radius+n.hoverRadius},removeHoverStyle:function(t){var e=t._model,n=t._options;e.backgroundColor=n.backgroundColor,e.borderColor=n.borderColor,e.borderWidth=n.borderWidth,e.radius=n.radius},_resolveElementOptions:function(t,e){var n,i,a,r=this,l=r.chart,s=l.data.datasets[r.index],u=t.custom||{},d=l.options.elements.point,c=o.options.resolve,h=s.data[e],f={},g={chart:l,dataIndex:e,dataset:s,datasetIndex:r.index},p=[\"backgroundColor\",\"borderColor\",\"borderWidth\",\"hoverBackgroundColor\",\"hoverBorderColor\",\"hoverBorderWidth\",\"hoverRadius\",\"hitRadius\",\"pointStyle\"];for(n=0,i=p.length;n<i;++n)f[a=p[n]]=c([u[a],s[a],d[a]],g,e);return f.radius=c([u.radius,h?h.r:void 0,s.radius,d.radius],g,e),f}})}},{25:25,40:40,45:45}],17:[function(t,e,n){\"use strict\";var i=t(25),a=t(40),o=t(45);i._set(\"doughnut\",{animation:{animateRotate:!0,animateScale:!1},hover:{mode:\"single\"},legendCallback:function(t){var e=[];e.push('<ul class=\"'+t.id+'-legend\">');var n=t.data,i=n.datasets,a=n.labels;if(i.length)for(var o=0;o<i[0].data.length;++o)e.push('<li><span style=\"background-color:'+i[0].backgroundColor[o]+'\"></span>'),a[o]&&e.push(a[o]),e.push(\"</li>\");return e.push(\"</ul>\"),e.join(\"\")},legend:{labels:{generateLabels:function(t){var e=t.data;return e.labels.length&&e.datasets.length?e.labels.map(function(n,i){var a=t.getDatasetMeta(0),r=e.datasets[0],l=a.data[i],s=l&&l.custom||{},u=o.valueAtIndexOrDefault,d=t.options.elements.arc;return{text:n,fillStyle:s.backgroundColor?s.backgroundColor:u(r.backgroundColor,i,d.backgroundColor),strokeStyle:s.borderColor?s.borderColor:u(r.borderColor,i,d.borderColor),lineWidth:s.borderWidth?s.borderWidth:u(r.borderWidth,i,d.borderWidth),hidden:isNaN(r.data[i])||a.data[i].hidden,index:i}}):[]}},onClick:function(t,e){var n,i,a,o=e.index,r=this.chart;for(n=0,i=(r.data.datasets||[]).length;n<i;++n)(a=r.getDatasetMeta(n)).data[o]&&(a.data[o].hidden=!a.data[o].hidden);r.update()}},cutoutPercentage:50,rotation:-.5*Math.PI,circumference:2*Math.PI,tooltips:{callbacks:{title:function(){return\"\"},label:function(t,e){var n=e.labels[t.index],i=\": \"+e.datasets[t.datasetIndex].data[t.index];return o.isArray(n)?(n=n.slice())[0]+=i:n+=i,n}}}}),i._set(\"pie\",o.clone(i.doughnut)),i._set(\"pie\",{cutoutPercentage:0}),e.exports=function(t){t.controllers.doughnut=t.controllers.pie=t.DatasetController.extend({dataElementType:a.Arc,linkScales:o.noop,getRingIndex:function(t){for(var e=0,n=0;n<t;++n)this.chart.isDatasetVisible(n)&&++e;return e},update:function(t){var e=this,n=e.chart,i=n.chartArea,a=n.options,r=a.elements.arc,l=i.right-i.left-r.borderWidth,s=i.bottom-i.top-r.borderWidth,u=Math.min(l,s),d={x:0,y:0},c=e.getMeta(),h=a.cutoutPercentage,f=a.circumference;if(f<2*Math.PI){var g=a.rotation%(2*Math.PI),p=(g+=2*Math.PI*(g>=Math.PI?-1:g<-Math.PI?1:0))+f,v={x:Math.cos(g),y:Math.sin(g)},m={x:Math.cos(p),y:Math.sin(p)},b=g<=0&&p>=0||g<=2*Math.PI&&2*Math.PI<=p,x=g<=.5*Math.PI&&.5*Math.PI<=p||g<=2.5*Math.PI&&2.5*Math.PI<=p,y=g<=-Math.PI&&-Math.PI<=p||g<=Math.PI&&Math.PI<=p,k=g<=.5*-Math.PI&&.5*-Math.PI<=p||g<=1.5*Math.PI&&1.5*Math.PI<=p,w=h/100,M={x:y?-1:Math.min(v.x*(v.x<0?1:w),m.x*(m.x<0?1:w)),y:k?-1:Math.min(v.y*(v.y<0?1:w),m.y*(m.y<0?1:w))},S={x:b?1:Math.max(v.x*(v.x>0?1:w),m.x*(m.x>0?1:w)),y:x?1:Math.max(v.y*(v.y>0?1:w),m.y*(m.y>0?1:w))},C={width:.5*(S.x-M.x),height:.5*(S.y-M.y)};u=Math.min(l/C.width,s/C.height),d={x:-.5*(S.x+M.x),y:-.5*(S.y+M.y)}}n.borderWidth=e.getMaxBorderWidth(c.data),n.outerRadius=Math.max((u-n.borderWidth)/2,0),n.innerRadius=Math.max(h?n.outerRadius/100*h:0,0),n.radiusLength=(n.outerRadius-n.innerRadius)/n.getVisibleDatasetCount(),n.offsetX=d.x*n.outerRadius,n.offsetY=d.y*n.outerRadius,c.total=e.calculateTotal(),e.outerRadius=n.outerRadius-n.radiusLength*e.getRingIndex(e.index),e.innerRadius=Math.max(e.outerRadius-n.radiusLength,0),o.each(c.data,function(n,i){e.updateElement(n,i,t)})},updateElement:function(t,e,n){var i=this,a=i.chart,r=a.chartArea,l=a.options,s=l.animation,u=(r.left+r.right)/2,d=(r.top+r.bottom)/2,c=l.rotation,h=l.rotation,f=i.getDataset(),g=n&&s.animateRotate?0:t.hidden?0:i.calculateCircumference(f.data[e])*(l.circumference/(2*Math.PI)),p=n&&s.animateScale?0:i.innerRadius,v=n&&s.animateScale?0:i.outerRadius,m=o.valueAtIndexOrDefault;o.extend(t,{_datasetIndex:i.index,_index:e,_model:{x:u+a.offsetX,y:d+a.offsetY,startAngle:c,endAngle:h,circumference:g,outerRadius:v,innerRadius:p,label:m(f.label,e,a.data.labels[e])}});var b=t._model;this.removeHoverStyle(t),n&&s.animateRotate||(b.startAngle=0===e?l.rotation:i.getMeta().data[e-1]._model.endAngle,b.endAngle=b.startAngle+b.circumference),t.pivot()},removeHoverStyle:function(e){t.DatasetController.prototype.removeHoverStyle.call(this,e,this.chart.options.elements.arc)},calculateTotal:function(){var t,e=this.getDataset(),n=this.getMeta(),i=0;return o.each(n.data,function(n,a){t=e.data[a],isNaN(t)||n.hidden||(i+=Math.abs(t))}),i},calculateCircumference:function(t){var e=this.getMeta().total;return e>0&&!isNaN(t)?2*Math.PI*(t/e):0},getMaxBorderWidth:function(t){for(var e,n,i=0,a=this.index,o=t.length,r=0;r<o;r++)e=t[r]._model?t[r]._model.borderWidth:0,i=(n=t[r]._chart?t[r]._chart.config.data.datasets[a].hoverBorderWidth:0)>(i=e>i?e:i)?n:i;return i}})}},{25:25,40:40,45:45}],18:[function(t,e,n){\"use strict\";var i=t(25),a=t(40),o=t(45);i._set(\"line\",{showLines:!0,spanGaps:!1,hover:{mode:\"label\"},scales:{xAxes:[{type:\"category\",id:\"x-axis-0\"}],yAxes:[{type:\"linear\",id:\"y-axis-0\"}]}}),e.exports=function(t){function e(t,e){return o.valueOrDefault(t.showLine,e.showLines)}t.controllers.line=t.DatasetController.extend({datasetElementType:a.Line,dataElementType:a.Point,update:function(t){var n,i,a,r=this,l=r.getMeta(),s=l.dataset,u=l.data||[],d=r.chart.options,c=d.elements.line,h=r.getScaleForId(l.yAxisID),f=r.getDataset(),g=e(f,d);for(g&&(a=s.custom||{},void 0!==f.tension&&void 0===f.lineTension&&(f.lineTension=f.tension),s._scale=h,s._datasetIndex=r.index,s._children=u,s._model={spanGaps:f.spanGaps?f.spanGaps:d.spanGaps,tension:a.tension?a.tension:o.valueOrDefault(f.lineTension,c.tension),backgroundColor:a.backgroundColor?a.backgroundColor:f.backgroundColor||c.backgroundColor,borderWidth:a.borderWidth?a.borderWidth:f.borderWidth||c.borderWidth,borderColor:a.borderColor?a.borderColor:f.borderColor||c.borderColor,borderCapStyle:a.borderCapStyle?a.borderCapStyle:f.borderCapStyle||c.borderCapStyle,borderDash:a.borderDash?a.borderDash:f.borderDash||c.borderDash,borderDashOffset:a.borderDashOffset?a.borderDashOffset:f.borderDashOffset||c.borderDashOffset,borderJoinStyle:a.borderJoinStyle?a.borderJoinStyle:f.borderJoinStyle||c.borderJoinStyle,fill:a.fill?a.fill:void 0!==f.fill?f.fill:c.fill,steppedLine:a.steppedLine?a.steppedLine:o.valueOrDefault(f.steppedLine,c.stepped),cubicInterpolationMode:a.cubicInterpolationMode?a.cubicInterpolationMode:o.valueOrDefault(f.cubicInterpolationMode,c.cubicInterpolationMode)},s.pivot()),n=0,i=u.length;n<i;++n)r.updateElement(u[n],n,t);for(g&&0!==s._model.tension&&r.updateBezierControlPoints(),n=0,i=u.length;n<i;++n)u[n].pivot()},getPointBackgroundColor:function(t,e){var n=this.chart.options.elements.point.backgroundColor,i=this.getDataset(),a=t.custom||{};return a.backgroundColor?n=a.backgroundColor:i.pointBackgroundColor?n=o.valueAtIndexOrDefault(i.pointBackgroundColor,e,n):i.backgroundColor&&(n=i.backgroundColor),n},getPointBorderColor:function(t,e){var n=this.chart.options.elements.point.borderColor,i=this.getDataset(),a=t.custom||{};return a.borderColor?n=a.borderColor:i.pointBorderColor?n=o.valueAtIndexOrDefault(i.pointBorderColor,e,n):i.borderColor&&(n=i.borderColor),n},getPointBorderWidth:function(t,e){var n=this.chart.options.elements.point.borderWidth,i=this.getDataset(),a=t.custom||{};return isNaN(a.borderWidth)?!isNaN(i.pointBorderWidth)||o.isArray(i.pointBorderWidth)?n=o.valueAtIndexOrDefault(i.pointBorderWidth,e,n):isNaN(i.borderWidth)||(n=i.borderWidth):n=a.borderWidth,n},updateElement:function(t,e,n){var i,a,r=this,l=r.getMeta(),s=t.custom||{},u=r.getDataset(),d=r.index,c=u.data[e],h=r.getScaleForId(l.yAxisID),f=r.getScaleForId(l.xAxisID),g=r.chart.options.elements.point;void 0!==u.radius&&void 0===u.pointRadius&&(u.pointRadius=u.radius),void 0!==u.hitRadius&&void 0===u.pointHitRadius&&(u.pointHitRadius=u.hitRadius),i=f.getPixelForValue(\"object\"==typeof c?c:NaN,e,d),a=n?h.getBasePixel():r.calculatePointY(c,e,d),t._xScale=f,t._yScale=h,t._datasetIndex=d,t._index=e,t._model={x:i,y:a,skip:s.skip||isNaN(i)||isNaN(a),radius:s.radius||o.valueAtIndexOrDefault(u.pointRadius,e,g.radius),pointStyle:s.pointStyle||o.valueAtIndexOrDefault(u.pointStyle,e,g.pointStyle),backgroundColor:r.getPointBackgroundColor(t,e),borderColor:r.getPointBorderColor(t,e),borderWidth:r.getPointBorderWidth(t,e),tension:l.dataset._model?l.dataset._model.tension:0,steppedLine:!!l.dataset._model&&l.dataset._model.steppedLine,hitRadius:s.hitRadius||o.valueAtIndexOrDefault(u.pointHitRadius,e,g.hitRadius)}},calculatePointY:function(t,e,n){var i,a,o,r=this,l=r.chart,s=r.getMeta(),u=r.getScaleForId(s.yAxisID),d=0,c=0;if(u.options.stacked){for(i=0;i<n;i++)if(a=l.data.datasets[i],\"line\"===(o=l.getDatasetMeta(i)).type&&o.yAxisID===u.id&&l.isDatasetVisible(i)){var h=Number(u.getRightValue(a.data[e]));h<0?c+=h||0:d+=h||0}var f=Number(u.getRightValue(t));return f<0?u.getPixelForValue(c+f):u.getPixelForValue(d+f)}return u.getPixelForValue(t)},updateBezierControlPoints:function(){function t(t,e,n){return Math.max(Math.min(t,n),e)}var e,n,i,a,r=this,l=r.getMeta(),s=r.chart.chartArea,u=l.data||[];if(l.dataset._model.spanGaps&&(u=u.filter(function(t){return!t._model.skip})),\"monotone\"===l.dataset._model.cubicInterpolationMode)o.splineCurveMonotone(u);else for(e=0,n=u.length;e<n;++e)i=u[e]._model,a=o.splineCurve(o.previousItem(u,e)._model,i,o.nextItem(u,e)._model,l.dataset._model.tension),i.controlPointPreviousX=a.previous.x,i.controlPointPreviousY=a.previous.y,i.controlPointNextX=a.next.x,i.controlPointNextY=a.next.y;if(r.chart.options.elements.line.capBezierPoints)for(e=0,n=u.length;e<n;++e)(i=u[e]._model).controlPointPreviousX=t(i.controlPointPreviousX,s.left,s.right),i.controlPointPreviousY=t(i.controlPointPreviousY,s.top,s.bottom),i.controlPointNextX=t(i.controlPointNextX,s.left,s.right),i.controlPointNextY=t(i.controlPointNextY,s.top,s.bottom)},draw:function(){var t=this,n=t.chart,i=t.getMeta(),a=i.data||[],r=n.chartArea,l=a.length,s=0;for(o.canvas.clipArea(n.ctx,r),e(t.getDataset(),n.options)&&i.dataset.draw(),o.canvas.unclipArea(n.ctx);s<l;++s)a[s].draw(r)},setHoverStyle:function(t){var e=this.chart.data.datasets[t._datasetIndex],n=t._index,i=t.custom||{},a=t._model;a.radius=i.hoverRadius||o.valueAtIndexOrDefault(e.pointHoverRadius,n,this.chart.options.elements.point.hoverRadius),a.backgroundColor=i.hoverBackgroundColor||o.valueAtIndexOrDefault(e.pointHoverBackgroundColor,n,o.getHoverColor(a.backgroundColor)),a.borderColor=i.hoverBorderColor||o.valueAtIndexOrDefault(e.pointHoverBorderColor,n,o.getHoverColor(a.borderColor)),a.borderWidth=i.hoverBorderWidth||o.valueAtIndexOrDefault(e.pointHoverBorderWidth,n,a.borderWidth)},removeHoverStyle:function(t){var e=this,n=e.chart.data.datasets[t._datasetIndex],i=t._index,a=t.custom||{},r=t._model;void 0!==n.radius&&void 0===n.pointRadius&&(n.pointRadius=n.radius),r.radius=a.radius||o.valueAtIndexOrDefault(n.pointRadius,i,e.chart.options.elements.point.radius),r.backgroundColor=e.getPointBackgroundColor(t,i),r.borderColor=e.getPointBorderColor(t,i),r.borderWidth=e.getPointBorderWidth(t,i)}})}},{25:25,40:40,45:45}],19:[function(t,e,n){\"use strict\";var i=t(25),a=t(40),o=t(45);i._set(\"polarArea\",{scale:{type:\"radialLinear\",angleLines:{display:!1},gridLines:{circular:!0},pointLabels:{display:!1},ticks:{beginAtZero:!0}},animation:{animateRotate:!0,animateScale:!0},startAngle:-.5*Math.PI,legendCallback:function(t){var e=[];e.push('<ul class=\"'+t.id+'-legend\">');var n=t.data,i=n.datasets,a=n.labels;if(i.length)for(var o=0;o<i[0].data.length;++o)e.push('<li><span style=\"background-color:'+i[0].backgroundColor[o]+'\"></span>'),a[o]&&e.push(a[o]),e.push(\"</li>\");return e.push(\"</ul>\"),e.join(\"\")},legend:{labels:{generateLabels:function(t){var e=t.data;return e.labels.length&&e.datasets.length?e.labels.map(function(n,i){var a=t.getDatasetMeta(0),r=e.datasets[0],l=a.data[i].custom||{},s=o.valueAtIndexOrDefault,u=t.options.elements.arc;return{text:n,fillStyle:l.backgroundColor?l.backgroundColor:s(r.backgroundColor,i,u.backgroundColor),strokeStyle:l.borderColor?l.borderColor:s(r.borderColor,i,u.borderColor),lineWidth:l.borderWidth?l.borderWidth:s(r.borderWidth,i,u.borderWidth),hidden:isNaN(r.data[i])||a.data[i].hidden,index:i}}):[]}},onClick:function(t,e){var n,i,a,o=e.index,r=this.chart;for(n=0,i=(r.data.datasets||[]).length;n<i;++n)(a=r.getDatasetMeta(n)).data[o].hidden=!a.data[o].hidden;r.update()}},tooltips:{callbacks:{title:function(){return\"\"},label:function(t,e){return e.labels[t.index]+\": \"+t.yLabel}}}}),e.exports=function(t){t.controllers.polarArea=t.DatasetController.extend({dataElementType:a.Arc,linkScales:o.noop,update:function(t){var e=this,n=e.chart,i=n.chartArea,a=e.getMeta(),r=n.options,l=r.elements.arc,s=Math.min(i.right-i.left,i.bottom-i.top);n.outerRadius=Math.max((s-l.borderWidth/2)/2,0),n.innerRadius=Math.max(r.cutoutPercentage?n.outerRadius/100*r.cutoutPercentage:1,0),n.radiusLength=(n.outerRadius-n.innerRadius)/n.getVisibleDatasetCount(),e.outerRadius=n.outerRadius-n.radiusLength*e.index,e.innerRadius=e.outerRadius-n.radiusLength,a.count=e.countVisibleElements(),o.each(a.data,function(n,i){e.updateElement(n,i,t)})},updateElement:function(t,e,n){for(var i=this,a=i.chart,r=i.getDataset(),l=a.options,s=l.animation,u=a.scale,d=a.data.labels,c=i.calculateCircumference(r.data[e]),h=u.xCenter,f=u.yCenter,g=0,p=i.getMeta(),v=0;v<e;++v)isNaN(r.data[v])||p.data[v].hidden||++g;var m=l.startAngle,b=t.hidden?0:u.getDistanceFromCenterForValue(r.data[e]),x=m+c*g,y=x+(t.hidden?0:c),k=s.animateScale?0:u.getDistanceFromCenterForValue(r.data[e]);o.extend(t,{_datasetIndex:i.index,_index:e,_scale:u,_model:{x:h,y:f,innerRadius:0,outerRadius:n?k:b,startAngle:n&&s.animateRotate?m:x,endAngle:n&&s.animateRotate?m:y,label:o.valueAtIndexOrDefault(d,e,d[e])}}),i.removeHoverStyle(t),t.pivot()},removeHoverStyle:function(e){t.DatasetController.prototype.removeHoverStyle.call(this,e,this.chart.options.elements.arc)},countVisibleElements:function(){var t=this.getDataset(),e=this.getMeta(),n=0;return o.each(e.data,function(e,i){isNaN(t.data[i])||e.hidden||n++}),n},calculateCircumference:function(t){var e=this.getMeta().count;return e>0&&!isNaN(t)?2*Math.PI/e:0}})}},{25:25,40:40,45:45}],20:[function(t,e,n){\"use strict\";var i=t(25),a=t(40),o=t(45);i._set(\"radar\",{scale:{type:\"radialLinear\"},elements:{line:{tension:0}}}),e.exports=function(t){t.controllers.radar=t.DatasetController.extend({datasetElementType:a.Line,dataElementType:a.Point,linkScales:o.noop,update:function(t){var e=this,n=e.getMeta(),i=n.dataset,a=n.data,r=i.custom||{},l=e.getDataset(),s=e.chart.options.elements.line,u=e.chart.scale;void 0!==l.tension&&void 0===l.lineTension&&(l.lineTension=l.tension),o.extend(n.dataset,{_datasetIndex:e.index,_scale:u,_children:a,_loop:!0,_model:{tension:r.tension?r.tension:o.valueOrDefault(l.lineTension,s.tension),backgroundColor:r.backgroundColor?r.backgroundColor:l.backgroundColor||s.backgroundColor,borderWidth:r.borderWidth?r.borderWidth:l.borderWidth||s.borderWidth,borderColor:r.borderColor?r.borderColor:l.borderColor||s.borderColor,fill:r.fill?r.fill:void 0!==l.fill?l.fill:s.fill,borderCapStyle:r.borderCapStyle?r.borderCapStyle:l.borderCapStyle||s.borderCapStyle,borderDash:r.borderDash?r.borderDash:l.borderDash||s.borderDash,borderDashOffset:r.borderDashOffset?r.borderDashOffset:l.borderDashOffset||s.borderDashOffset,borderJoinStyle:r.borderJoinStyle?r.borderJoinStyle:l.borderJoinStyle||s.borderJoinStyle}}),n.dataset.pivot(),o.each(a,function(n,i){e.updateElement(n,i,t)},e),e.updateBezierControlPoints()},updateElement:function(t,e,n){var i=this,a=t.custom||{},r=i.getDataset(),l=i.chart.scale,s=i.chart.options.elements.point,u=l.getPointPositionForValue(e,r.data[e]);void 0!==r.radius&&void 0===r.pointRadius&&(r.pointRadius=r.radius),void 0!==r.hitRadius&&void 0===r.pointHitRadius&&(r.pointHitRadius=r.hitRadius),o.extend(t,{_datasetIndex:i.index,_index:e,_scale:l,_model:{x:n?l.xCenter:u.x,y:n?l.yCenter:u.y,tension:a.tension?a.tension:o.valueOrDefault(r.lineTension,i.chart.options.elements.line.tension),radius:a.radius?a.radius:o.valueAtIndexOrDefault(r.pointRadius,e,s.radius),backgroundColor:a.backgroundColor?a.backgroundColor:o.valueAtIndexOrDefault(r.pointBackgroundColor,e,s.backgroundColor),borderColor:a.borderColor?a.borderColor:o.valueAtIndexOrDefault(r.pointBorderColor,e,s.borderColor),borderWidth:a.borderWidth?a.borderWidth:o.valueAtIndexOrDefault(r.pointBorderWidth,e,s.borderWidth),pointStyle:a.pointStyle?a.pointStyle:o.valueAtIndexOrDefault(r.pointStyle,e,s.pointStyle),hitRadius:a.hitRadius?a.hitRadius:o.valueAtIndexOrDefault(r.pointHitRadius,e,s.hitRadius)}}),t._model.skip=a.skip?a.skip:isNaN(t._model.x)||isNaN(t._model.y)},updateBezierControlPoints:function(){var t=this.chart.chartArea,e=this.getMeta();o.each(e.data,function(n,i){var a=n._model,r=o.splineCurve(o.previousItem(e.data,i,!0)._model,a,o.nextItem(e.data,i,!0)._model,a.tension);a.controlPointPreviousX=Math.max(Math.min(r.previous.x,t.right),t.left),a.controlPointPreviousY=Math.max(Math.min(r.previous.y,t.bottom),t.top),a.controlPointNextX=Math.max(Math.min(r.next.x,t.right),t.left),a.controlPointNextY=Math.max(Math.min(r.next.y,t.bottom),t.top),n.pivot()})},setHoverStyle:function(t){var e=this.chart.data.datasets[t._datasetIndex],n=t.custom||{},i=t._index,a=t._model;a.radius=n.hoverRadius?n.hoverRadius:o.valueAtIndexOrDefault(e.pointHoverRadius,i,this.chart.options.elements.point.hoverRadius),a.backgroundColor=n.hoverBackgroundColor?n.hoverBackgroundColor:o.valueAtIndexOrDefault(e.pointHoverBackgroundColor,i,o.getHoverColor(a.backgroundColor)),a.borderColor=n.hoverBorderColor?n.hoverBorderColor:o.valueAtIndexOrDefault(e.pointHoverBorderColor,i,o.getHoverColor(a.borderColor)),a.borderWidth=n.hoverBorderWidth?n.hoverBorderWidth:o.valueAtIndexOrDefault(e.pointHoverBorderWidth,i,a.borderWidth)},removeHoverStyle:function(t){var e=this.chart.data.datasets[t._datasetIndex],n=t.custom||{},i=t._index,a=t._model,r=this.chart.options.elements.point;a.radius=n.radius?n.radius:o.valueAtIndexOrDefault(e.pointRadius,i,r.radius),a.backgroundColor=n.backgroundColor?n.backgroundColor:o.valueAtIndexOrDefault(e.pointBackgroundColor,i,r.backgroundColor),a.borderColor=n.borderColor?n.borderColor:o.valueAtIndexOrDefault(e.pointBorderColor,i,r.borderColor),a.borderWidth=n.borderWidth?n.borderWidth:o.valueAtIndexOrDefault(e.pointBorderWidth,i,r.borderWidth)}})}},{25:25,40:40,45:45}],21:[function(t,e,n){\"use strict\";t(25)._set(\"scatter\",{hover:{mode:\"single\"},scales:{xAxes:[{id:\"x-axis-1\",type:\"linear\",position:\"bottom\"}],yAxes:[{id:\"y-axis-1\",type:\"linear\",position:\"left\"}]},showLines:!1,tooltips:{callbacks:{title:function(){return\"\"},label:function(t){return\"(\"+t.xLabel+\", \"+t.yLabel+\")\"}}}}),e.exports=function(t){t.controllers.scatter=t.controllers.line}},{25:25}],22:[function(t,e,n){\"use strict\";var i=t(25),a=t(26),o=t(45);i._set(\"global\",{animation:{duration:1e3,easing:\"easeOutQuart\",onProgress:o.noop,onComplete:o.noop}}),e.exports=function(t){t.Animation=a.extend({chart:null,currentStep:0,numSteps:60,easing:\"\",render:null,onAnimationProgress:null,onAnimationComplete:null}),t.animationService={frameDuration:17,animations:[],dropFrames:0,request:null,addAnimation:function(t,e,n,i){var a,o,r=this.animations;for(e.chart=t,i||(t.animating=!0),a=0,o=r.length;a<o;++a)if(r[a].chart===t)return void(r[a]=e);r.push(e),1===r.length&&this.requestAnimationFrame()},cancelAnimation:function(t){var e=o.findIndex(this.animations,function(e){return e.chart===t});-1!==e&&(this.animations.splice(e,1),t.animating=!1)},requestAnimationFrame:function(){var t=this;null===t.request&&(t.request=o.requestAnimFrame.call(window,function(){t.request=null,t.startDigest()}))},startDigest:function(){var t=this,e=Date.now(),n=0;t.dropFrames>1&&(n=Math.floor(t.dropFrames),t.dropFrames=t.dropFrames%1),t.advance(1+n);var i=Date.now();t.dropFrames+=(i-e)/t.frameDuration,t.animations.length>0&&t.requestAnimationFrame()},advance:function(t){for(var e,n,i=this.animations,a=0;a<i.length;)n=(e=i[a]).chart,e.currentStep=(e.currentStep||0)+t,e.currentStep=Math.min(e.currentStep,e.numSteps),o.callback(e.render,[n,e],n),o.callback(e.onAnimationProgress,[e],n),e.currentStep>=e.numSteps?(o.callback(e.onAnimationComplete,[e],n),n.animating=!1,i.splice(a,1)):++a}},Object.defineProperty(t.Animation.prototype,\"animationObject\",{get:function(){return this}}),Object.defineProperty(t.Animation.prototype,\"chartInstance\",{get:function(){return this.chart},set:function(t){this.chart=t}})}},{25:25,26:26,45:45}],23:[function(t,e,n){\"use strict\";var i=t(25),a=t(45),o=t(28),r=t(48);e.exports=function(t){function e(t){var e=(t=t||{}).data=t.data||{};return e.datasets=e.datasets||[],e.labels=e.labels||[],t.options=a.configMerge(i.global,i[t.type],t.options||{}),t}function n(t){var e=t.options;e.scale?t.scale.options=e.scale:e.scales&&e.scales.xAxes.concat(e.scales.yAxes).forEach(function(e){t.scales[e.id].options=e}),t.tooltip._options=e.tooltips}function l(t){return\"top\"===t||\"bottom\"===t}var s=t.plugins;t.types={},t.instances={},t.controllers={},a.extend(t.prototype,{construct:function(n,i){var o=this;i=e(i);var l=r.acquireContext(n,i),s=l&&l.canvas,u=s&&s.height,d=s&&s.width;o.id=a.uid(),o.ctx=l,o.canvas=s,o.config=i,o.width=d,o.height=u,o.aspectRatio=u?d/u:null,o.options=i.options,o._bufferedRender=!1,o.chart=o,o.controller=o,t.instances[o.id]=o,Object.defineProperty(o,\"data\",{get:function(){return o.config.data},set:function(t){o.config.data=t}}),l&&s?(o.initialize(),o.update()):console.error(\"Failed to create chart: can't acquire context from the given item\")},initialize:function(){var t=this;return s.notify(t,\"beforeInit\"),a.retinaScale(t,t.options.devicePixelRatio),t.bindEvents(),t.options.responsive&&t.resize(!0),t.ensureScalesHaveIDs(),t.buildScales(),t.initToolTip(),s.notify(t,\"afterInit\"),t},clear:function(){return a.canvas.clear(this),this},stop:function(){return t.animationService.cancelAnimation(this),this},resize:function(t){var e=this,n=e.options,i=e.canvas,o=n.maintainAspectRatio&&e.aspectRatio||null,r=Math.max(0,Math.floor(a.getMaximumWidth(i))),l=Math.max(0,Math.floor(o?r/o:a.getMaximumHeight(i)));if((e.width!==r||e.height!==l)&&(i.width=e.width=r,i.height=e.height=l,i.style.width=r+\"px\",i.style.height=l+\"px\",a.retinaScale(e,n.devicePixelRatio),!t)){var u={width:r,height:l};s.notify(e,\"resize\",[u]),e.options.onResize&&e.options.onResize(e,u),e.stop(),e.update(e.options.responsiveAnimationDuration)}},ensureScalesHaveIDs:function(){var t=this.options,e=t.scales||{},n=t.scale;a.each(e.xAxes,function(t,e){t.id=t.id||\"x-axis-\"+e}),a.each(e.yAxes,function(t,e){t.id=t.id||\"y-axis-\"+e}),n&&(n.id=n.id||\"scale\")},buildScales:function(){var e=this,n=e.options,i=e.scales={},o=[];n.scales&&(o=o.concat((n.scales.xAxes||[]).map(function(t){return{options:t,dtype:\"category\",dposition:\"bottom\"}}),(n.scales.yAxes||[]).map(function(t){return{options:t,dtype:\"linear\",dposition:\"left\"}}))),n.scale&&o.push({options:n.scale,dtype:\"radialLinear\",isDefault:!0,dposition:\"chartArea\"}),a.each(o,function(n){var o=n.options,r=a.valueOrDefault(o.type,n.dtype),s=t.scaleService.getScaleConstructor(r);if(s){l(o.position)!==l(n.dposition)&&(o.position=n.dposition);var u=new s({id:o.id,options:o,ctx:e.ctx,chart:e});i[u.id]=u,u.mergeTicksOptions(),n.isDefault&&(e.scale=u)}}),t.scaleService.addScalesToLayout(this)},buildOrUpdateControllers:function(){var e=this,n=[],i=[];return a.each(e.data.datasets,function(a,o){var r=e.getDatasetMeta(o),l=a.type||e.config.type;if(r.type&&r.type!==l&&(e.destroyDatasetMeta(o),r=e.getDatasetMeta(o)),r.type=l,n.push(r.type),r.controller)r.controller.updateIndex(o);else{var s=t.controllers[r.type];if(void 0===s)throw new Error('\"'+r.type+'\" is not a chart type.');r.controller=new s(e,o),i.push(r.controller)}},e),i},resetElements:function(){var t=this;a.each(t.data.datasets,function(e,n){t.getDatasetMeta(n).controller.reset()},t)},reset:function(){this.resetElements(),this.tooltip.initialize()},update:function(t){var e=this;if(t&&\"object\"==typeof t||(t={duration:t,lazy:arguments[1]}),n(e),!1!==s.notify(e,\"beforeUpdate\")){e.tooltip._data=e.data;var i=e.buildOrUpdateControllers();a.each(e.data.datasets,function(t,n){e.getDatasetMeta(n).controller.buildOrUpdateElements()},e),e.updateLayout(),a.each(i,function(t){t.reset()}),e.updateDatasets(),e.tooltip.initialize(),e.lastActive=[],s.notify(e,\"afterUpdate\"),e._bufferedRender?e._bufferedRequest={duration:t.duration,easing:t.easing,lazy:t.lazy}:e.render(t)}},updateLayout:function(){var e=this;!1!==s.notify(e,\"beforeLayout\")&&(t.layoutService.update(this,this.width,this.height),s.notify(e,\"afterScaleUpdate\"),s.notify(e,\"afterLayout\"))},updateDatasets:function(){var t=this;if(!1!==s.notify(t,\"beforeDatasetsUpdate\")){for(var e=0,n=t.data.datasets.length;e<n;++e)t.updateDataset(e);s.notify(t,\"afterDatasetsUpdate\")}},updateDataset:function(t){var e=this,n=e.getDatasetMeta(t),i={meta:n,index:t};!1!==s.notify(e,\"beforeDatasetUpdate\",[i])&&(n.controller.update(),s.notify(e,\"afterDatasetUpdate\",[i]))},render:function(e){var n=this;e&&\"object\"==typeof e||(e={duration:e,lazy:arguments[1]});var i=e.duration,o=e.lazy;if(!1!==s.notify(n,\"beforeRender\")){var r=n.options.animation,l=function(t){s.notify(n,\"afterRender\"),a.callback(r&&r.onComplete,[t],n)};if(r&&(void 0!==i&&0!==i||void 0===i&&0!==r.duration)){var u=new t.Animation({numSteps:(i||r.duration)/16.66,easing:e.easing||r.easing,render:function(t,e){var n=a.easing.effects[e.easing],i=e.currentStep,o=i/e.numSteps;t.draw(n(o),o,i)},onAnimationProgress:r.onProgress,onAnimationComplete:l});t.animationService.addAnimation(n,u,i,o)}else n.draw(),l(new t.Animation({numSteps:0,chart:n}));return n}},draw:function(t){var e=this;e.clear(),a.isNullOrUndef(t)&&(t=1),e.transition(t),!1!==s.notify(e,\"beforeDraw\",[t])&&(a.each(e.boxes,function(t){t.draw(e.chartArea)},e),e.scale&&e.scale.draw(),e.drawDatasets(t),e._drawTooltip(t),s.notify(e,\"afterDraw\",[t]))},transition:function(t){for(var e=this,n=0,i=(e.data.datasets||[]).length;n<i;++n)e.isDatasetVisible(n)&&e.getDatasetMeta(n).controller.transition(t);e.tooltip.transition(t)},drawDatasets:function(t){var e=this;if(!1!==s.notify(e,\"beforeDatasetsDraw\",[t])){for(var n=(e.data.datasets||[]).length-1;n>=0;--n)e.isDatasetVisible(n)&&e.drawDataset(n,t);s.notify(e,\"afterDatasetsDraw\",[t])}},drawDataset:function(t,e){var n=this,i=n.getDatasetMeta(t),a={meta:i,index:t,easingValue:e};!1!==s.notify(n,\"beforeDatasetDraw\",[a])&&(i.controller.draw(e),s.notify(n,\"afterDatasetDraw\",[a]))},_drawTooltip:function(t){var e=this,n=e.tooltip,i={tooltip:n,easingValue:t};!1!==s.notify(e,\"beforeTooltipDraw\",[i])&&(n.draw(),s.notify(e,\"afterTooltipDraw\",[i]))},getElementAtEvent:function(t){return o.modes.single(this,t)},getElementsAtEvent:function(t){return o.modes.label(this,t,{intersect:!0})},getElementsAtXAxis:function(t){return o.modes[\"x-axis\"](this,t,{intersect:!0})},getElementsAtEventForMode:function(t,e,n){var i=o.modes[e];return\"function\"==typeof i?i(this,t,n):[]},getDatasetAtEvent:function(t){return o.modes.dataset(this,t,{intersect:!0})},getDatasetMeta:function(t){var e=this,n=e.data.datasets[t];n._meta||(n._meta={});var i=n._meta[e.id];return i||(i=n._meta[e.id]={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null}),i},getVisibleDatasetCount:function(){for(var t=0,e=0,n=this.data.datasets.length;e<n;++e)this.isDatasetVisible(e)&&t++;return t},isDatasetVisible:function(t){var e=this.getDatasetMeta(t);return\"boolean\"==typeof e.hidden?!e.hidden:!this.data.datasets[t].hidden},generateLegend:function(){return this.options.legendCallback(this)},destroyDatasetMeta:function(t){var e=this.id,n=this.data.datasets[t],i=n._meta&&n._meta[e];i&&(i.controller.destroy(),delete n._meta[e])},destroy:function(){var e,n,i=this,o=i.canvas;for(i.stop(),e=0,n=i.data.datasets.length;e<n;++e)i.destroyDatasetMeta(e);o&&(i.unbindEvents(),a.canvas.clear(i),r.releaseContext(i.ctx),i.canvas=null,i.ctx=null),s.notify(i,\"destroy\"),delete t.instances[i.id]},toBase64Image:function(){return this.canvas.toDataURL.apply(this.canvas,arguments)},initToolTip:function(){var e=this;e.tooltip=new t.Tooltip({_chart:e,_chartInstance:e,_data:e.data,_options:e.options.tooltips},e)},bindEvents:function(){var t=this,e=t._listeners={},n=function(){t.eventHandler.apply(t,arguments)};a.each(t.options.events,function(i){r.addEventListener(t,i,n),e[i]=n}),t.options.responsive&&(n=function(){t.resize()},r.addEventListener(t,\"resize\",n),e.resize=n)},unbindEvents:function(){var t=this,e=t._listeners;e&&(delete t._listeners,a.each(e,function(e,n){r.removeEventListener(t,n,e)}))},updateHoverStyle:function(t,e,n){var i,a,o,r=n?\"setHoverStyle\":\"removeHoverStyle\";for(a=0,o=t.length;a<o;++a)(i=t[a])&&this.getDatasetMeta(i._datasetIndex).controller[r](i)},eventHandler:function(t){var e=this,n=e.tooltip;if(!1!==s.notify(e,\"beforeEvent\",[t])){e._bufferedRender=!0,e._bufferedRequest=null;var i=e.handleEvent(t);i|=n&&n.handleEvent(t),s.notify(e,\"afterEvent\",[t]);var a=e._bufferedRequest;return a?e.render(a):i&&!e.animating&&(e.stop(),e.render(e.options.hover.animationDuration,!0)),e._bufferedRender=!1,e._bufferedRequest=null,e}},handleEvent:function(t){var e=this,n=e.options||{},i=n.hover,o=!1;return e.lastActive=e.lastActive||[],\"mouseout\"===t.type?e.active=[]:e.active=e.getElementsAtEventForMode(t,i.mode,i),a.callback(n.onHover||n.hover.onHover,[t.native,e.active],e),\"mouseup\"!==t.type&&\"click\"!==t.type||n.onClick&&n.onClick.call(e,t.native,e.active),e.lastActive.length&&e.updateHoverStyle(e.lastActive,i.mode,!1),e.active.length&&i.mode&&e.updateHoverStyle(e.active,i.mode,!0),o=!a.arrayEquals(e.active,e.lastActive),e.lastActive=e.active,o}}),t.Controller=t}},{25:25,28:28,45:45,48:48}],24:[function(t,e,n){\"use strict\";var i=t(45);e.exports=function(t){function e(t,e){t._chartjs?t._chartjs.listeners.push(e):(Object.defineProperty(t,\"_chartjs\",{configurable:!0,enumerable:!1,value:{listeners:[e]}}),a.forEach(function(e){var n=\"onData\"+e.charAt(0).toUpperCase()+e.slice(1),a=t[e];Object.defineProperty(t,e,{configurable:!0,enumerable:!1,value:function(){var e=Array.prototype.slice.call(arguments),o=a.apply(this,e);return i.each(t._chartjs.listeners,function(t){\"function\"==typeof t[n]&&t[n].apply(t,e)}),o}})}))}function n(t,e){var n=t._chartjs;if(n){var i=n.listeners,o=i.indexOf(e);-1!==o&&i.splice(o,1),i.length>0||(a.forEach(function(e){delete t[e]}),delete t._chartjs)}}var a=[\"push\",\"pop\",\"shift\",\"splice\",\"unshift\"];t.DatasetController=function(t,e){this.initialize(t,e)},i.extend(t.DatasetController.prototype,{datasetElementType:null,dataElementType:null,initialize:function(t,e){var n=this;n.chart=t,n.index=e,n.linkScales(),n.addElements()},updateIndex:function(t){this.index=t},linkScales:function(){var t=this,e=t.getMeta(),n=t.getDataset();null===e.xAxisID&&(e.xAxisID=n.xAxisID||t.chart.options.scales.xAxes[0].id),null===e.yAxisID&&(e.yAxisID=n.yAxisID||t.chart.options.scales.yAxes[0].id)},getDataset:function(){return this.chart.data.datasets[this.index]},getMeta:function(){return this.chart.getDatasetMeta(this.index)},getScaleForId:function(t){return this.chart.scales[t]},reset:function(){this.update(!0)},destroy:function(){this._data&&n(this._data,this)},createMetaDataset:function(){var t=this,e=t.datasetElementType;return e&&new e({_chart:t.chart,_datasetIndex:t.index})},createMetaData:function(t){var e=this,n=e.dataElementType;return n&&new n({_chart:e.chart,_datasetIndex:e.index,_index:t})},addElements:function(){var t,e,n=this,i=n.getMeta(),a=n.getDataset().data||[],o=i.data;for(t=0,e=a.length;t<e;++t)o[t]=o[t]||n.createMetaData(t);i.dataset=i.dataset||n.createMetaDataset()},addElementAndReset:function(t){var e=this.createMetaData(t);this.getMeta().data.splice(t,0,e),this.updateElement(e,t,!0)},buildOrUpdateElements:function(){var t=this,i=t.getDataset(),a=i.data||(i.data=[]);t._data!==a&&(t._data&&n(t._data,t),e(a,t),t._data=a),t.resyncElements()},update:i.noop,transition:function(t){for(var e=this.getMeta(),n=e.data||[],i=n.length,a=0;a<i;++a)n[a].transition(t);e.dataset&&e.dataset.transition(t)},draw:function(){var t=this.getMeta(),e=t.data||[],n=e.length,i=0;for(t.dataset&&t.dataset.draw();i<n;++i)e[i].draw()},removeHoverStyle:function(t,e){var n=this.chart.data.datasets[t._datasetIndex],a=t._index,o=t.custom||{},r=i.valueAtIndexOrDefault,l=t._model;l.backgroundColor=o.backgroundColor?o.backgroundColor:r(n.backgroundColor,a,e.backgroundColor),l.borderColor=o.borderColor?o.borderColor:r(n.borderColor,a,e.borderColor),l.borderWidth=o.borderWidth?o.borderWidth:r(n.borderWidth,a,e.borderWidth)},setHoverStyle:function(t){var e=this.chart.data.datasets[t._datasetIndex],n=t._index,a=t.custom||{},o=i.valueAtIndexOrDefault,r=i.getHoverColor,l=t._model;l.backgroundColor=a.hoverBackgroundColor?a.hoverBackgroundColor:o(e.hoverBackgroundColor,n,r(l.backgroundColor)),l.borderColor=a.hoverBorderColor?a.hoverBorderColor:o(e.hoverBorderColor,n,r(l.borderColor)),l.borderWidth=a.hoverBorderWidth?a.hoverBorderWidth:o(e.hoverBorderWidth,n,l.borderWidth)},resyncElements:function(){var t=this,e=t.getMeta(),n=t.getDataset().data,i=e.data.length,a=n.length;a<i?e.data.splice(a,i-a):a>i&&t.insertElements(i,a-i)},insertElements:function(t,e){for(var n=0;n<e;++n)this.addElementAndReset(t+n)},onDataPush:function(){this.insertElements(this.getDataset().data.length-1,arguments.length)},onDataPop:function(){this.getMeta().data.pop()},onDataShift:function(){this.getMeta().data.shift()},onDataSplice:function(t,e){this.getMeta().data.splice(t,e),this.insertElements(t,arguments.length-2)},onDataUnshift:function(){this.insertElements(0,arguments.length)}}),t.DatasetController.extend=i.inherits}},{45:45}],25:[function(t,e,n){\"use strict\";var i=t(45);e.exports={_set:function(t,e){return i.merge(this[t]||(this[t]={}),e)}}},{45:45}],26:[function(t,e,n){\"use strict\";function i(t,e,n,i){var o,r,l,s,u,d,c,h,f,g=Object.keys(n);for(o=0,r=g.length;o<r;++o)if(l=g[o],d=n[l],e.hasOwnProperty(l)||(e[l]=d),(s=e[l])!==d&&\"_\"!==l[0]){if(t.hasOwnProperty(l)||(t[l]=s),u=t[l],(c=typeof d)===typeof u)if(\"string\"===c){if((h=a(u)).valid&&(f=a(d)).valid){e[l]=f.mix(h,i).rgbString();continue}}else if(\"number\"===c&&isFinite(u)&&isFinite(d)){e[l]=u+(d-u)*i;continue}e[l]=d}}var a=t(3),o=t(45),r=function(t){o.extend(this,t),this.initialize.apply(this,arguments)};o.extend(r.prototype,{initialize:function(){this.hidden=!1},pivot:function(){var t=this;return t._view||(t._view=o.clone(t._model)),t._start={},t},transition:function(t){var e=this,n=e._model,a=e._start,o=e._view;return n&&1!==t?(o||(o=e._view={}),a||(a=e._start={}),i(a,o,n,t),e):(e._view=n,e._start=null,e)},tooltipPosition:function(){return{x:this._model.x,y:this._model.y}},hasValue:function(){return o.isNumber(this._model.x)&&o.isNumber(this._model.y)}}),r.extend=o.inherits,e.exports=r},{3:3,45:45}],27:[function(t,e,n){\"use strict\";var i=t(3),a=t(25),o=t(45);e.exports=function(t){function e(t,e,n){var i;return\"string\"==typeof t?(i=parseInt(t,10),-1!==t.indexOf(\"%\")&&(i=i/100*e.parentNode[n])):i=t,i}function n(t){return void 0!==t&&null!==t&&\"none\"!==t}function r(t,i,a){var o=document.defaultView,r=t.parentNode,l=o.getComputedStyle(t)[i],s=o.getComputedStyle(r)[i],u=n(l),d=n(s),c=Number.POSITIVE_INFINITY;return u||d?Math.min(u?e(l,t,a):c,d?e(s,r,a):c):\"none\"}o.configMerge=function(){return o.merge(o.clone(arguments[0]),[].slice.call(arguments,1),{merger:function(e,n,i,a){var r=n[e]||{},l=i[e];\"scales\"===e?n[e]=o.scaleMerge(r,l):\"scale\"===e?n[e]=o.merge(r,[t.scaleService.getScaleDefaults(l.type),l]):o._merger(e,n,i,a)}})},o.scaleMerge=function(){return o.merge(o.clone(arguments[0]),[].slice.call(arguments,1),{merger:function(e,n,i,a){if(\"xAxes\"===e||\"yAxes\"===e){var r,l,s,u=i[e].length;for(n[e]||(n[e]=[]),r=0;r<u;++r)s=i[e][r],l=o.valueOrDefault(s.type,\"xAxes\"===e?\"category\":\"linear\"),r>=n[e].length&&n[e].push({}),!n[e][r].type||s.type&&s.type!==n[e][r].type?o.merge(n[e][r],[t.scaleService.getScaleDefaults(l),s]):o.merge(n[e][r],s)}else o._merger(e,n,i,a)}})},o.where=function(t,e){if(o.isArray(t)&&Array.prototype.filter)return t.filter(e);var n=[];return o.each(t,function(t){e(t)&&n.push(t)}),n},o.findIndex=Array.prototype.findIndex?function(t,e,n){return t.findIndex(e,n)}:function(t,e,n){n=void 0===n?t:n;for(var i=0,a=t.length;i<a;++i)if(e.call(n,t[i],i,t))return i;return-1},o.findNextWhere=function(t,e,n){o.isNullOrUndef(n)&&(n=-1);for(var i=n+1;i<t.length;i++){var a=t[i];if(e(a))return a}},o.findPreviousWhere=function(t,e,n){o.isNullOrUndef(n)&&(n=t.length);for(var i=n-1;i>=0;i--){var a=t[i];if(e(a))return a}},o.isNumber=function(t){return!isNaN(parseFloat(t))&&isFinite(t)},o.almostEquals=function(t,e,n){return Math.abs(t-e)<n},o.almostWhole=function(t,e){var n=Math.round(t);return n-e<t&&n+e>t},o.max=function(t){return t.reduce(function(t,e){return isNaN(e)?t:Math.max(t,e)},Number.NEGATIVE_INFINITY)},o.min=function(t){return t.reduce(function(t,e){return isNaN(e)?t:Math.min(t,e)},Number.POSITIVE_INFINITY)},o.sign=Math.sign?function(t){return Math.sign(t)}:function(t){return 0==(t=+t)||isNaN(t)?t:t>0?1:-1},o.log10=Math.log10?function(t){return Math.log10(t)}:function(t){return Math.log(t)/Math.LN10},o.toRadians=function(t){return t*(Math.PI/180)},o.toDegrees=function(t){return t*(180/Math.PI)},o.getAngleFromPoint=function(t,e){var n=e.x-t.x,i=e.y-t.y,a=Math.sqrt(n*n+i*i),o=Math.atan2(i,n);return o<-.5*Math.PI&&(o+=2*Math.PI),{angle:o,distance:a}},o.distanceBetweenPoints=function(t,e){return Math.sqrt(Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2))},o.aliasPixel=function(t){return t%2==0?0:.5},o.splineCurve=function(t,e,n,i){var a=t.skip?e:t,o=e,r=n.skip?e:n,l=Math.sqrt(Math.pow(o.x-a.x,2)+Math.pow(o.y-a.y,2)),s=Math.sqrt(Math.pow(r.x-o.x,2)+Math.pow(r.y-o.y,2)),u=l/(l+s),d=s/(l+s),c=i*(u=isNaN(u)?0:u),h=i*(d=isNaN(d)?0:d);return{previous:{x:o.x-c*(r.x-a.x),y:o.y-c*(r.y-a.y)},next:{x:o.x+h*(r.x-a.x),y:o.y+h*(r.y-a.y)}}},o.EPSILON=Number.EPSILON||1e-14,o.splineCurveMonotone=function(t){var e,n,i,a,r=(t||[]).map(function(t){return{model:t._model,deltaK:0,mK:0}}),l=r.length;for(e=0;e<l;++e)if(!(i=r[e]).model.skip){if(n=e>0?r[e-1]:null,(a=e<l-1?r[e+1]:null)&&!a.model.skip){var s=a.model.x-i.model.x;i.deltaK=0!==s?(a.model.y-i.model.y)/s:0}!n||n.model.skip?i.mK=i.deltaK:!a||a.model.skip?i.mK=n.deltaK:this.sign(n.deltaK)!==this.sign(i.deltaK)?i.mK=0:i.mK=(n.deltaK+i.deltaK)/2}var u,d,c,h;for(e=0;e<l-1;++e)i=r[e],a=r[e+1],i.model.skip||a.model.skip||(o.almostEquals(i.deltaK,0,this.EPSILON)?i.mK=a.mK=0:(u=i.mK/i.deltaK,d=a.mK/i.deltaK,(h=Math.pow(u,2)+Math.pow(d,2))<=9||(c=3/Math.sqrt(h),i.mK=u*c*i.deltaK,a.mK=d*c*i.deltaK)));var f;for(e=0;e<l;++e)(i=r[e]).model.skip||(n=e>0?r[e-1]:null,a=e<l-1?r[e+1]:null,n&&!n.model.skip&&(f=(i.model.x-n.model.x)/3,i.model.controlPointPreviousX=i.model.x-f,i.model.controlPointPreviousY=i.model.y-f*i.mK),a&&!a.model.skip&&(f=(a.model.x-i.model.x)/3,i.model.controlPointNextX=i.model.x+f,i.model.controlPointNextY=i.model.y+f*i.mK))},o.nextItem=function(t,e,n){return n?e>=t.length-1?t[0]:t[e+1]:e>=t.length-1?t[t.length-1]:t[e+1]},o.previousItem=function(t,e,n){return n?e<=0?t[t.length-1]:t[e-1]:e<=0?t[0]:t[e-1]},o.niceNum=function(t,e){var n=Math.floor(o.log10(t)),i=t/Math.pow(10,n);return(e?i<1.5?1:i<3?2:i<7?5:10:i<=1?1:i<=2?2:i<=5?5:10)*Math.pow(10,n)},o.requestAnimFrame=\"undefined\"==typeof window?function(t){t()}:window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(t){return window.setTimeout(t,1e3/60)},o.getRelativePosition=function(t,e){var n,i,a=t.originalEvent||t,r=t.currentTarget||t.srcElement,l=r.getBoundingClientRect(),s=a.touches;s&&s.length>0?(n=s[0].clientX,i=s[0].clientY):(n=a.clientX,i=a.clientY);var u=parseFloat(o.getStyle(r,\"padding-left\")),d=parseFloat(o.getStyle(r,\"padding-top\")),c=parseFloat(o.getStyle(r,\"padding-right\")),h=parseFloat(o.getStyle(r,\"padding-bottom\")),f=l.right-l.left-u-c,g=l.bottom-l.top-d-h;return n=Math.round((n-l.left-u)/f*r.width/e.currentDevicePixelRatio),i=Math.round((i-l.top-d)/g*r.height/e.currentDevicePixelRatio),{x:n,y:i}},o.getConstraintWidth=function(t){return r(t,\"max-width\",\"clientWidth\")},o.getConstraintHeight=function(t){return r(t,\"max-height\",\"clientHeight\")},o.getMaximumWidth=function(t){var e=t.parentNode;if(!e)return t.clientWidth;var n=parseInt(o.getStyle(e,\"padding-left\"),10),i=parseInt(o.getStyle(e,\"padding-right\"),10),a=e.clientWidth-n-i,r=o.getConstraintWidth(t);return isNaN(r)?a:Math.min(a,r)},o.getMaximumHeight=function(t){var e=t.parentNode;if(!e)return t.clientHeight;var n=parseInt(o.getStyle(e,\"padding-top\"),10),i=parseInt(o.getStyle(e,\"padding-bottom\"),10),a=e.clientHeight-n-i,r=o.getConstraintHeight(t);return isNaN(r)?a:Math.min(a,r)},o.getStyle=function(t,e){return t.currentStyle?t.currentStyle[e]:document.defaultView.getComputedStyle(t,null).getPropertyValue(e)},o.retinaScale=function(t,e){var n=t.currentDevicePixelRatio=e||window.devicePixelRatio||1;if(1!==n){var i=t.canvas,a=t.height,o=t.width;i.height=a*n,i.width=o*n,t.ctx.scale(n,n),i.style.height=a+\"px\",i.style.width=o+\"px\"}},o.fontString=function(t,e,n){return e+\" \"+t+\"px \"+n},o.longestText=function(t,e,n,i){var a=(i=i||{}).data=i.data||{},r=i.garbageCollect=i.garbageCollect||[];i.font!==e&&(a=i.data={},r=i.garbageCollect=[],i.font=e),t.font=e;var l=0;o.each(n,function(e){void 0!==e&&null!==e&&!0!==o.isArray(e)?l=o.measureText(t,a,r,l,e):o.isArray(e)&&o.each(e,function(e){void 0===e||null===e||o.isArray(e)||(l=o.measureText(t,a,r,l,e))})});var s=r.length/2;if(s>n.length){for(var u=0;u<s;u++)delete a[r[u]];r.splice(0,s)}return l},o.measureText=function(t,e,n,i,a){var o=e[a];return o||(o=e[a]=t.measureText(a).width,n.push(a)),o>i&&(i=o),i},o.numberOfLabelLines=function(t){var e=1;return o.each(t,function(t){o.isArray(t)&&t.length>e&&(e=t.length)}),e},o.color=i?function(t){return t instanceof CanvasGradient&&(t=a.global.defaultColor),i(t)}:function(t){return console.error(\"Color.js not found!\"),t},o.getHoverColor=function(t){return t instanceof CanvasPattern?t:o.color(t).saturate(.5).darken(.1).rgbString()}}},{25:25,3:3,45:45}],28:[function(t,e,n){\"use strict\";function i(t,e){return t.native?{x:t.x,y:t.y}:u.getRelativePosition(t,e)}function a(t,e){var n,i,a,o,r;for(i=0,o=t.data.datasets.length;i<o;++i)if(t.isDatasetVisible(i))for(a=0,r=(n=t.getDatasetMeta(i)).data.length;a<r;++a){var l=n.data[a];l._view.skip||e(l)}}function o(t,e){var n=[];return a(t,function(t){t.inRange(e.x,e.y)&&n.push(t)}),n}function r(t,e,n,i){var o=Number.POSITIVE_INFINITY,r=[];return a(t,function(t){if(!n||t.inRange(e.x,e.y)){var a=t.getCenterPoint(),l=i(e,a);l<o?(r=[t],o=l):l===o&&r.push(t)}}),r}function l(t){var e=-1!==t.indexOf(\"x\"),n=-1!==t.indexOf(\"y\");return function(t,i){var a=e?Math.abs(t.x-i.x):0,o=n?Math.abs(t.y-i.y):0;return Math.sqrt(Math.pow(a,2)+Math.pow(o,2))}}function s(t,e,n){var a=i(e,t);n.axis=n.axis||\"x\";var s=l(n.axis),u=n.intersect?o(t,a):r(t,a,!1,s),d=[];return u.length?(t.data.datasets.forEach(function(e,n){if(t.isDatasetVisible(n)){var i=t.getDatasetMeta(n).data[u[0]._index];i&&!i._view.skip&&d.push(i)}}),d):[]}var u=t(45);e.exports={modes:{single:function(t,e){var n=i(e,t),o=[];return a(t,function(t){if(t.inRange(n.x,n.y))return o.push(t),o}),o.slice(0,1)},label:s,index:s,dataset:function(t,e,n){var a=i(e,t);n.axis=n.axis||\"xy\";var s=l(n.axis),u=n.intersect?o(t,a):r(t,a,!1,s);return u.length>0&&(u=t.getDatasetMeta(u[0]._datasetIndex).data),u},\"x-axis\":function(t,e){return s(t,e,{intersect:!1})},point:function(t,e){return o(t,i(e,t))},nearest:function(t,e,n){var a=i(e,t);n.axis=n.axis||\"xy\";var o=l(n.axis),s=r(t,a,n.intersect,o);return s.length>1&&s.sort(function(t,e){var n=t.getArea()-e.getArea();return 0===n&&(n=t._datasetIndex-e._datasetIndex),n}),s.slice(0,1)},x:function(t,e,n){var o=i(e,t),r=[],l=!1;return a(t,function(t){t.inXRange(o.x)&&r.push(t),t.inRange(o.x,o.y)&&(l=!0)}),n.intersect&&!l&&(r=[]),r},y:function(t,e,n){var o=i(e,t),r=[],l=!1;return a(t,function(t){t.inYRange(o.y)&&r.push(t),t.inRange(o.x,o.y)&&(l=!0)}),n.intersect&&!l&&(r=[]),r}}}},{45:45}],29:[function(t,e,n){\"use strict\";t(25)._set(\"global\",{responsive:!0,responsiveAnimationDuration:0,maintainAspectRatio:!0,events:[\"mousemove\",\"mouseout\",\"click\",\"touchstart\",\"touchmove\"],hover:{onHover:null,mode:\"nearest\",intersect:!0,animationDuration:400},onClick:null,defaultColor:\"rgba(0,0,0,0.1)\",defaultFontColor:\"#666\",defaultFontFamily:\"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif\",defaultFontSize:12,defaultFontStyle:\"normal\",showLines:!0,elements:{},layout:{padding:{top:0,right:0,bottom:0,left:0}}}),e.exports=function(){var t=function(t,e){return this.construct(t,e),this};return t.Chart=t,t}},{25:25}],30:[function(t,e,n){\"use strict\";var i=t(45);e.exports=function(t){function e(t,e){return i.where(t,function(t){return t.position===e})}function n(t,e){t.forEach(function(t,e){return t._tmpIndex_=e,t}),t.sort(function(t,n){var i=e?n:t,a=e?t:n;return i.weight===a.weight?i._tmpIndex_-a._tmpIndex_:i.weight-a.weight}),t.forEach(function(t){delete t._tmpIndex_})}t.layoutService={defaults:{},addBox:function(t,e){t.boxes||(t.boxes=[]),e.fullWidth=e.fullWidth||!1,e.position=e.position||\"top\",e.weight=e.weight||0,t.boxes.push(e)},removeBox:function(t,e){var n=t.boxes?t.boxes.indexOf(e):-1;-1!==n&&t.boxes.splice(n,1)},configure:function(t,e,n){for(var i,a=[\"fullWidth\",\"position\",\"weight\"],o=a.length,r=0;r<o;++r)i=a[r],n.hasOwnProperty(i)&&(e[i]=n[i])},update:function(t,a,o){function r(t){var e=i.findNextWhere(_,function(e){return e.box===t});if(e)if(t.isHorizontal()){var n={left:Math.max(T,D),right:Math.max(F,I),top:0,bottom:0};t.update(t.fullWidth?x:S,y/2,n)}else t.update(e.minSize.width,C)}function l(t){t.isHorizontal()?(t.left=t.fullWidth?d:T,t.right=t.fullWidth?a-c:T+S,t.top=V,t.bottom=V+t.height,V=t.bottom):(t.left=N,t.right=N+t.width,t.top=O,t.bottom=O+C,N=t.right)}if(t){var s=t.options.layout||{},u=i.options.toPadding(s.padding),d=u.left,c=u.right,h=u.top,f=u.bottom,g=e(t.boxes,\"left\"),p=e(t.boxes,\"right\"),v=e(t.boxes,\"top\"),m=e(t.boxes,\"bottom\"),b=e(t.boxes,\"chartArea\");n(g,!0),n(p,!1),n(v,!0),n(m,!1);var x=a-d-c,y=o-h-f,k=y/2,w=(a-x/2)/(g.length+p.length),M=(o-k)/(v.length+m.length),S=x,C=y,_=[];i.each(g.concat(p,v,m),function(t){var e,n=t.isHorizontal();n?(e=t.update(t.fullWidth?x:S,M),C-=e.height):(e=t.update(w,k),S-=e.width),_.push({horizontal:n,minSize:e,box:t})});var D=0,I=0,P=0,A=0;i.each(v.concat(m),function(t){if(t.getPadding){var e=t.getPadding();D=Math.max(D,e.left),I=Math.max(I,e.right)}}),i.each(g.concat(p),function(t){if(t.getPadding){var e=t.getPadding();P=Math.max(P,e.top),A=Math.max(A,e.bottom)}});var T=d,F=c,O=h,R=f;i.each(g.concat(p),r),i.each(g,function(t){T+=t.width}),i.each(p,function(t){F+=t.width}),i.each(v.concat(m),r),i.each(v,function(t){O+=t.height}),i.each(m,function(t){R+=t.height}),i.each(g.concat(p),function(t){var e=i.findNextWhere(_,function(e){return e.box===t}),n={left:0,right:0,top:O,bottom:R};e&&t.update(e.minSize.width,C,n)}),T=d,F=c,O=h,R=f,i.each(g,function(t){T+=t.width}),i.each(p,function(t){F+=t.width}),i.each(v,function(t){O+=t.height}),i.each(m,function(t){R+=t.height});var L=Math.max(D-T,0);T+=L,F+=Math.max(I-F,0);var z=Math.max(P-O,0);O+=z,R+=Math.max(A-R,0);var B=o-O-R,W=a-T-F;W===S&&B===C||(i.each(g,function(t){t.height=B}),i.each(p,function(t){t.height=B}),i.each(v,function(t){t.fullWidth||(t.width=W)}),i.each(m,function(t){t.fullWidth||(t.width=W)}),C=B,S=W);var N=d+L,V=h+z;i.each(g.concat(v),l),N+=S,V+=C,i.each(p,l),i.each(m,l),t.chartArea={left:T,top:O,right:T+S,bottom:O+C},i.each(b,function(e){e.left=t.chartArea.left,e.top=t.chartArea.top,e.right=t.chartArea.right,e.bottom=t.chartArea.bottom,e.update(S,C)})}}}}},{45:45}],31:[function(t,e,n){\"use strict\";var i=t(25),a=t(26),o=t(45);i._set(\"global\",{plugins:{}}),e.exports=function(t){t.plugins={_plugins:[],_cacheId:0,register:function(t){var e=this._plugins;[].concat(t).forEach(function(t){-1===e.indexOf(t)&&e.push(t)}),this._cacheId++},unregister:function(t){var e=this._plugins;[].concat(t).forEach(function(t){var n=e.indexOf(t);-1!==n&&e.splice(n,1)}),this._cacheId++},clear:function(){this._plugins=[],this._cacheId++},count:function(){return this._plugins.length},getAll:function(){return this._plugins},notify:function(t,e,n){var i,a,o,r,l,s=this.descriptors(t),u=s.length;for(i=0;i<u;++i)if(a=s[i],o=a.plugin,\"function\"==typeof(l=o[e])&&((r=[t].concat(n||[])).push(a.options),!1===l.apply(o,r)))return!1;return!0},descriptors:function(t){var e=t._plugins||(t._plugins={});if(e.id===this._cacheId)return e.descriptors;var n=[],a=[],r=t&&t.config||{},l=r.options&&r.options.plugins||{};return this._plugins.concat(r.plugins||[]).forEach(function(t){if(-1===n.indexOf(t)){var e=t.id,r=l[e];!1!==r&&(!0===r&&(r=o.clone(i.global.plugins[e])),n.push(t),a.push({plugin:t,options:r||{}}))}}),e.descriptors=a,e.id=this._cacheId,a}},t.pluginService=t.plugins,t.PluginBase=a.extend({})}},{25:25,26:26,45:45}],32:[function(t,e,n){\"use strict\";function i(t){var e,n,i=[];for(e=0,n=t.length;e<n;++e)i.push(t[e].label);return i}function a(t,e,n){var i=t.getPixelForTick(e);return n&&(i-=0===e?(t.getPixelForTick(1)-i)/2:(i-t.getPixelForTick(e-1))/2),i}var o=t(25),r=t(26),l=t(45),s=t(34);o._set(\"scale\",{display:!0,position:\"left\",offset:!1,gridLines:{display:!0,color:\"rgba(0, 0, 0, 0.1)\",lineWidth:1,drawBorder:!0,drawOnChartArea:!0,drawTicks:!0,tickMarkLength:10,zeroLineWidth:1,zeroLineColor:\"rgba(0,0,0,0.25)\",zeroLineBorderDash:[],zeroLineBorderDashOffset:0,offsetGridLines:!1,borderDash:[],borderDashOffset:0},scaleLabel:{display:!1,labelString:\"\",lineHeight:1.2,padding:{top:4,bottom:4}},ticks:{beginAtZero:!1,minRotation:0,maxRotation:50,mirror:!1,padding:0,reverse:!1,display:!0,autoSkip:!0,autoSkipPadding:0,labelOffset:0,callback:s.formatters.values,minor:{},major:{}}}),e.exports=function(t){function e(t,e,n){return l.isArray(e)?l.longestText(t,n,e):t.measureText(e).width}function n(t){var e=l.valueOrDefault,n=o.global,i=e(t.fontSize,n.defaultFontSize),a=e(t.fontStyle,n.defaultFontStyle),r=e(t.fontFamily,n.defaultFontFamily);return{size:i,style:a,family:r,font:l.fontString(i,a,r)}}function s(t){return l.options.toLineHeight(l.valueOrDefault(t.lineHeight,1.2),l.valueOrDefault(t.fontSize,o.global.defaultFontSize))}t.Scale=r.extend({getPadding:function(){var t=this;return{left:t.paddingLeft||0,top:t.paddingTop||0,right:t.paddingRight||0,bottom:t.paddingBottom||0}},getTicks:function(){return this._ticks},mergeTicksOptions:function(){var t=this.options.ticks;!1===t.minor&&(t.minor={display:!1}),!1===t.major&&(t.major={display:!1});for(var e in t)\"major\"!==e&&\"minor\"!==e&&(void 0===t.minor[e]&&(t.minor[e]=t[e]),void 0===t.major[e]&&(t.major[e]=t[e]))},beforeUpdate:function(){l.callback(this.options.beforeUpdate,[this])},update:function(t,e,n){var i,a,o,r,s,u,d=this;for(d.beforeUpdate(),d.maxWidth=t,d.maxHeight=e,d.margins=l.extend({left:0,right:0,top:0,bottom:0},n),d.longestTextCache=d.longestTextCache||{},d.beforeSetDimensions(),d.setDimensions(),d.afterSetDimensions(),d.beforeDataLimits(),d.determineDataLimits(),d.afterDataLimits(),d.beforeBuildTicks(),s=d.buildTicks()||[],d.afterBuildTicks(),d.beforeTickToLabelConversion(),o=d.convertTicksToLabels(s)||d.ticks,d.afterTickToLabelConversion(),d.ticks=o,i=0,a=o.length;i<a;++i)r=o[i],(u=s[i])?u.label=r:s.push(u={label:r,major:!1});return d._ticks=s,d.beforeCalculateTickRotation(),d.calculateTickRotation(),d.afterCalculateTickRotation(),d.beforeFit(),d.fit(),d.afterFit(),d.afterUpdate(),d.minSize},afterUpdate:function(){l.callback(this.options.afterUpdate,[this])},beforeSetDimensions:function(){l.callback(this.options.beforeSetDimensions,[this])},setDimensions:function(){var t=this;t.isHorizontal()?(t.width=t.maxWidth,t.left=0,t.right=t.width):(t.height=t.maxHeight,t.top=0,t.bottom=t.height),t.paddingLeft=0,t.paddingTop=0,t.paddingRight=0,t.paddingBottom=0},afterSetDimensions:function(){l.callback(this.options.afterSetDimensions,[this])},beforeDataLimits:function(){l.callback(this.options.beforeDataLimits,[this])},determineDataLimits:l.noop,afterDataLimits:function(){l.callback(this.options.afterDataLimits,[this])},beforeBuildTicks:function(){l.callback(this.options.beforeBuildTicks,[this])},buildTicks:l.noop,afterBuildTicks:function(){l.callback(this.options.afterBuildTicks,[this])},beforeTickToLabelConversion:function(){l.callback(this.options.beforeTickToLabelConversion,[this])},convertTicksToLabels:function(){var t=this,e=t.options.ticks;t.ticks=t.ticks.map(e.userCallback||e.callback,this)},afterTickToLabelConversion:function(){l.callback(this.options.afterTickToLabelConversion,[this])},beforeCalculateTickRotation:function(){l.callback(this.options.beforeCalculateTickRotation,[this])},calculateTickRotation:function(){var t=this,e=t.ctx,a=t.options.ticks,o=i(t._ticks),r=n(a);e.font=r.font;var s=a.minRotation||0;if(o.length&&t.options.display&&t.isHorizontal())for(var u,d=l.longestText(e,r.font,o,t.longestTextCache),c=d,h=t.getPixelForTick(1)-t.getPixelForTick(0)-6;c>h&&s<a.maxRotation;){var f=l.toRadians(s);if(u=Math.cos(f),Math.sin(f)*d>t.maxHeight){s--;break}s++,c=u*d}t.labelRotation=s},afterCalculateTickRotation:function(){l.callback(this.options.afterCalculateTickRotation,[this])},beforeFit:function(){l.callback(this.options.beforeFit,[this])},fit:function(){var t=this,a=t.minSize={width:0,height:0},o=i(t._ticks),r=t.options,u=r.ticks,d=r.scaleLabel,c=r.gridLines,h=r.display,f=t.isHorizontal(),g=n(u),p=r.gridLines.tickMarkLength;if(a.width=f?t.isFullWidth()?t.maxWidth-t.margins.left-t.margins.right:t.maxWidth:h&&c.drawTicks?p:0,a.height=f?h&&c.drawTicks?p:0:t.maxHeight,d.display&&h){var v=s(d)+l.options.toPadding(d.padding).height;f?a.height+=v:a.width+=v}if(u.display&&h){var m=l.longestText(t.ctx,g.font,o,t.longestTextCache),b=l.numberOfLabelLines(o),x=.5*g.size,y=t.options.ticks.padding;if(f){t.longestLabelWidth=m;var k=l.toRadians(t.labelRotation),w=Math.cos(k),M=Math.sin(k)*m+g.size*b+x*(b-1)+x;a.height=Math.min(t.maxHeight,a.height+M+y),t.ctx.font=g.font;var S=e(t.ctx,o[0],g.font),C=e(t.ctx,o[o.length-1],g.font);0!==t.labelRotation?(t.paddingLeft=\"bottom\"===r.position?w*S+3:w*x+3,t.paddingRight=\"bottom\"===r.position?w*x+3:w*C+3):(t.paddingLeft=S/2+3,t.paddingRight=C/2+3)}else u.mirror?m=0:m+=y+x,a.width=Math.min(t.maxWidth,a.width+m),t.paddingTop=g.size/2,t.paddingBottom=g.size/2}t.handleMargins(),t.width=a.width,t.height=a.height},handleMargins:function(){var t=this;t.margins&&(t.paddingLeft=Math.max(t.paddingLeft-t.margins.left,0),t.paddingTop=Math.max(t.paddingTop-t.margins.top,0),t.paddingRight=Math.max(t.paddingRight-t.margins.right,0),t.paddingBottom=Math.max(t.paddingBottom-t.margins.bottom,0))},afterFit:function(){l.callback(this.options.afterFit,[this])},isHorizontal:function(){return\"top\"===this.options.position||\"bottom\"===this.options.position},isFullWidth:function(){return this.options.fullWidth},getRightValue:function(t){if(l.isNullOrUndef(t))return NaN;if(\"number\"==typeof t&&!isFinite(t))return NaN;if(t)if(this.isHorizontal()){if(void 0!==t.x)return this.getRightValue(t.x)}else if(void 0!==t.y)return this.getRightValue(t.y);return t},getLabelForIndex:l.noop,getPixelForValue:l.noop,getValueForPixel:l.noop,getPixelForTick:function(t){var e=this,n=e.options.offset;if(e.isHorizontal()){var i=(e.width-(e.paddingLeft+e.paddingRight))/Math.max(e._ticks.length-(n?0:1),1),a=i*t+e.paddingLeft;n&&(a+=i/2);var o=e.left+Math.round(a);return o+=e.isFullWidth()?e.margins.left:0}var r=e.height-(e.paddingTop+e.paddingBottom);return e.top+t*(r/(e._ticks.length-1))},getPixelForDecimal:function(t){var e=this;if(e.isHorizontal()){var n=(e.width-(e.paddingLeft+e.paddingRight))*t+e.paddingLeft,i=e.left+Math.round(n);return i+=e.isFullWidth()?e.margins.left:0}return e.top+t*e.height},getBasePixel:function(){return this.getPixelForValue(this.getBaseValue())},getBaseValue:function(){var t=this,e=t.min,n=t.max;return t.beginAtZero?0:e<0&&n<0?n:e>0&&n>0?e:0},_autoSkip:function(t){var e,n,i,a,o=this,r=o.isHorizontal(),s=o.options.ticks.minor,u=t.length,d=l.toRadians(o.labelRotation),c=Math.cos(d),h=o.longestLabelWidth*c,f=[];for(s.maxTicksLimit&&(a=s.maxTicksLimit),r&&(e=!1,(h+s.autoSkipPadding)*u>o.width-(o.paddingLeft+o.paddingRight)&&(e=1+Math.floor((h+s.autoSkipPadding)*u/(o.width-(o.paddingLeft+o.paddingRight)))),a&&u>a&&(e=Math.max(e,Math.floor(u/a)))),n=0;n<u;n++)i=t[n],(e>1&&n%e>0||n%e==0&&n+e>=u)&&n!==u-1&&delete i.label,f.push(i);return f},draw:function(t){var e=this,i=e.options;if(i.display){var r=e.ctx,u=o.global,d=i.ticks.minor,c=i.ticks.major||d,h=i.gridLines,f=i.scaleLabel,g=0!==e.labelRotation,p=e.isHorizontal(),v=d.autoSkip?e._autoSkip(e.getTicks()):e.getTicks(),m=l.valueOrDefault(d.fontColor,u.defaultFontColor),b=n(d),x=l.valueOrDefault(c.fontColor,u.defaultFontColor),y=n(c),k=h.drawTicks?h.tickMarkLength:0,w=l.valueOrDefault(f.fontColor,u.defaultFontColor),M=n(f),S=l.options.toPadding(f.padding),C=l.toRadians(e.labelRotation),_=[],D=\"right\"===i.position?e.left:e.right-k,I=\"right\"===i.position?e.left+k:e.right,P=\"bottom\"===i.position?e.top:e.bottom-k,A=\"bottom\"===i.position?e.top+k:e.bottom;if(l.each(v,function(n,o){if(!l.isNullOrUndef(n.label)){var r,s,c,f,m=n.label;o===e.zeroLineIndex&&i.offset===h.offsetGridLines?(r=h.zeroLineWidth,s=h.zeroLineColor,c=h.zeroLineBorderDash,f=h.zeroLineBorderDashOffset):(r=l.valueAtIndexOrDefault(h.lineWidth,o),s=l.valueAtIndexOrDefault(h.color,o),c=l.valueOrDefault(h.borderDash,u.borderDash),f=l.valueOrDefault(h.borderDashOffset,u.borderDashOffset));var b,x,y,w,M,S,T,F,O,R,L=\"middle\",z=\"middle\",B=d.padding;if(p){var W=k+B;\"bottom\"===i.position?(z=g?\"middle\":\"top\",L=g?\"right\":\"center\",R=e.top+W):(z=g?\"middle\":\"bottom\",L=g?\"left\":\"center\",R=e.bottom-W);var N=a(e,o,h.offsetGridLines&&v.length>1);N<e.left&&(s=\"rgba(0,0,0,0)\"),N+=l.aliasPixel(r),O=e.getPixelForTick(o)+d.labelOffset,b=y=M=T=N,x=P,w=A,S=t.top,F=t.bottom}else{var V,E=\"left\"===i.position;d.mirror?(L=E?\"left\":\"right\",V=B):(L=E?\"right\":\"left\",V=k+B),O=E?e.right-V:e.left+V;var H=a(e,o,h.offsetGridLines&&v.length>1);H<e.top&&(s=\"rgba(0,0,0,0)\"),H+=l.aliasPixel(r),R=e.getPixelForTick(o)+d.labelOffset,b=D,y=I,M=t.left,T=t.right,x=w=S=F=H}_.push({tx1:b,ty1:x,tx2:y,ty2:w,x1:M,y1:S,x2:T,y2:F,labelX:O,labelY:R,glWidth:r,glColor:s,glBorderDash:c,glBorderDashOffset:f,rotation:-1*C,label:m,major:n.major,textBaseline:z,textAlign:L})}}),l.each(_,function(t){if(h.display&&(r.save(),r.lineWidth=t.glWidth,r.strokeStyle=t.glColor,r.setLineDash&&(r.setLineDash(t.glBorderDash),r.lineDashOffset=t.glBorderDashOffset),r.beginPath(),h.drawTicks&&(r.moveTo(t.tx1,t.ty1),r.lineTo(t.tx2,t.ty2)),h.drawOnChartArea&&(r.moveTo(t.x1,t.y1),r.lineTo(t.x2,t.y2)),r.stroke(),r.restore()),d.display){r.save(),r.translate(t.labelX,t.labelY),r.rotate(t.rotation),r.font=t.major?y.font:b.font,r.fillStyle=t.major?x:m,r.textBaseline=t.textBaseline,r.textAlign=t.textAlign;var e=t.label;if(l.isArray(e))for(var n=0,i=0;n<e.length;++n)r.fillText(\"\"+e[n],0,i),i+=1.5*b.size;else r.fillText(e,0,0);r.restore()}}),f.display){var T,F,O=0,R=s(f)/2;if(p)T=e.left+(e.right-e.left)/2,F=\"bottom\"===i.position?e.bottom-R-S.bottom:e.top+R+S.top;else{var L=\"left\"===i.position;T=L?e.left+R+S.top:e.right-R-S.top,F=e.top+(e.bottom-e.top)/2,O=L?-.5*Math.PI:.5*Math.PI}r.save(),r.translate(T,F),r.rotate(O),r.textAlign=\"center\",r.textBaseline=\"middle\",r.fillStyle=w,r.font=M.font,r.fillText(f.labelString,0,0),r.restore()}if(h.drawBorder){r.lineWidth=l.valueAtIndexOrDefault(h.lineWidth,0),r.strokeStyle=l.valueAtIndexOrDefault(h.color,0);var z=e.left,B=e.right,W=e.top,N=e.bottom,V=l.aliasPixel(r.lineWidth);p?(W=N=\"top\"===i.position?e.bottom:e.top,W+=V,N+=V):(z=B=\"left\"===i.position?e.right:e.left,z+=V,B+=V),r.beginPath(),r.moveTo(z,W),r.lineTo(B,N),r.stroke()}}}})}},{25:25,26:26,34:34,45:45}],33:[function(t,e,n){\"use strict\";var i=t(25),a=t(45);e.exports=function(t){t.scaleService={constructors:{},defaults:{},registerScaleType:function(t,e,n){this.constructors[t]=e,this.defaults[t]=a.clone(n)},getScaleConstructor:function(t){return this.constructors.hasOwnProperty(t)?this.constructors[t]:void 0},getScaleDefaults:function(t){return this.defaults.hasOwnProperty(t)?a.merge({},[i.scale,this.defaults[t]]):{}},updateScaleDefaults:function(t,e){var n=this;n.defaults.hasOwnProperty(t)&&(n.defaults[t]=a.extend(n.defaults[t],e))},addScalesToLayout:function(e){a.each(e.scales,function(n){n.fullWidth=n.options.fullWidth,n.position=n.options.position,n.weight=n.options.weight,t.layoutService.addBox(e,n)})}}}},{25:25,45:45}],34:[function(t,e,n){\"use strict\";var i=t(45);e.exports={generators:{linear:function(t,e){var n,a=[];if(t.stepSize&&t.stepSize>0)n=t.stepSize;else{var o=i.niceNum(e.max-e.min,!1);n=i.niceNum(o/(t.maxTicks-1),!0)}var r=Math.floor(e.min/n)*n,l=Math.ceil(e.max/n)*n;t.min&&t.max&&t.stepSize&&i.almostWhole((t.max-t.min)/t.stepSize,n/1e3)&&(r=t.min,l=t.max);var s=(l-r)/n;s=i.almostEquals(s,Math.round(s),n/1e3)?Math.round(s):Math.ceil(s),a.push(void 0!==t.min?t.min:r);for(var u=1;u<s;++u)a.push(r+u*n);return a.push(void 0!==t.max?t.max:l),a},logarithmic:function(t,e){var n,a,o=[],r=i.valueOrDefault,l=r(t.min,Math.pow(10,Math.floor(i.log10(e.min)))),s=Math.floor(i.log10(e.max)),u=Math.ceil(e.max/Math.pow(10,s));0===l?(n=Math.floor(i.log10(e.minNotZero)),a=Math.floor(e.minNotZero/Math.pow(10,n)),o.push(l),l=a*Math.pow(10,n)):(n=Math.floor(i.log10(l)),a=Math.floor(l/Math.pow(10,n)));do{o.push(l),10===++a&&(a=1,++n),l=a*Math.pow(10,n)}while(n<s||n===s&&a<u);var d=r(t.max,l);return o.push(d),o}},formatters:{values:function(t){return i.isArray(t)?t:\"\"+t},linear:function(t,e,n){var a=n.length>3?n[2]-n[1]:n[1]-n[0];Math.abs(a)>1&&t!==Math.floor(t)&&(a=t-Math.floor(t));var o=i.log10(Math.abs(a)),r=\"\";if(0!==t){var l=-1*Math.floor(o);l=Math.max(Math.min(l,20),0),r=t.toFixed(l)}else r=\"0\";return r},logarithmic:function(t,e,n){var a=t/Math.pow(10,Math.floor(i.log10(t)));return 0===t?\"0\":1===a||2===a||5===a||0===e||e===n.length-1?t.toExponential():\"\"}}}},{45:45}],35:[function(t,e,n){\"use strict\";var i=t(25),a=t(26),o=t(45);i._set(\"global\",{tooltips:{enabled:!0,custom:null,mode:\"nearest\",position:\"average\",intersect:!0,backgroundColor:\"rgba(0,0,0,0.8)\",titleFontStyle:\"bold\",titleSpacing:2,titleMarginBottom:6,titleFontColor:\"#fff\",titleAlign:\"left\",bodySpacing:2,bodyFontColor:\"#fff\",bodyAlign:\"left\",footerFontStyle:\"bold\",footerSpacing:2,footerMarginTop:6,footerFontColor:\"#fff\",footerAlign:\"left\",yPadding:6,xPadding:6,caretPadding:2,caretSize:5,cornerRadius:6,multiKeyBackground:\"#fff\",displayColors:!0,borderColor:\"rgba(0,0,0,0)\",borderWidth:0,callbacks:{beforeTitle:o.noop,title:function(t,e){var n=\"\",i=e.labels,a=i?i.length:0;if(t.length>0){var o=t[0];o.xLabel?n=o.xLabel:a>0&&o.index<a&&(n=i[o.index])}return n},afterTitle:o.noop,beforeBody:o.noop,beforeLabel:o.noop,label:function(t,e){var n=e.datasets[t.datasetIndex].label||\"\";return n&&(n+=\": \"),n+=t.yLabel},labelColor:function(t,e){var n=e.getDatasetMeta(t.datasetIndex).data[t.index]._view;return{borderColor:n.borderColor,backgroundColor:n.backgroundColor}},labelTextColor:function(){return this._options.bodyFontColor},afterLabel:o.noop,afterBody:o.noop,beforeFooter:o.noop,footer:o.noop,afterFooter:o.noop}}}),e.exports=function(t){function e(t,e){var n=o.color(t);return n.alpha(e*n.alpha()).rgbaString()}function n(t,e){return e&&(o.isArray(e)?Array.prototype.push.apply(t,e):t.push(e)),t}function r(t){var e=t._xScale,n=t._yScale||t._scale,i=t._index,a=t._datasetIndex;return{xLabel:e?e.getLabelForIndex(i,a):\"\",yLabel:n?n.getLabelForIndex(i,a):\"\",index:i,datasetIndex:a,x:t._model.x,y:t._model.y}}function l(t){var e=i.global,n=o.valueOrDefault;return{xPadding:t.xPadding,yPadding:t.yPadding,xAlign:t.xAlign,yAlign:t.yAlign,bodyFontColor:t.bodyFontColor,_bodyFontFamily:n(t.bodyFontFamily,e.defaultFontFamily),_bodyFontStyle:n(t.bodyFontStyle,e.defaultFontStyle),_bodyAlign:t.bodyAlign,bodyFontSize:n(t.bodyFontSize,e.defaultFontSize),bodySpacing:t.bodySpacing,titleFontColor:t.titleFontColor,_titleFontFamily:n(t.titleFontFamily,e.defaultFontFamily),_titleFontStyle:n(t.titleFontStyle,e.defaultFontStyle),titleFontSize:n(t.titleFontSize,e.defaultFontSize),_titleAlign:t.titleAlign,titleSpacing:t.titleSpacing,titleMarginBottom:t.titleMarginBottom,footerFontColor:t.footerFontColor,_footerFontFamily:n(t.footerFontFamily,e.defaultFontFamily),_footerFontStyle:n(t.footerFontStyle,e.defaultFontStyle),footerFontSize:n(t.footerFontSize,e.defaultFontSize),_footerAlign:t.footerAlign,footerSpacing:t.footerSpacing,footerMarginTop:t.footerMarginTop,caretSize:t.caretSize,cornerRadius:t.cornerRadius,backgroundColor:t.backgroundColor,opacity:0,legendColorBackground:t.multiKeyBackground,displayColors:t.displayColors,borderColor:t.borderColor,borderWidth:t.borderWidth}}function s(t,e){var n=t._chart.ctx,i=2*e.yPadding,a=0,r=e.body,l=r.reduce(function(t,e){return t+e.before.length+e.lines.length+e.after.length},0);l+=e.beforeBody.length+e.afterBody.length;var s=e.title.length,u=e.footer.length,d=e.titleFontSize,c=e.bodyFontSize,h=e.footerFontSize;i+=s*d,i+=s?(s-1)*e.titleSpacing:0,i+=s?e.titleMarginBottom:0,i+=l*c,i+=l?(l-1)*e.bodySpacing:0,i+=u?e.footerMarginTop:0,i+=u*h,i+=u?(u-1)*e.footerSpacing:0;var f=0,g=function(t){a=Math.max(a,n.measureText(t).width+f)};return n.font=o.fontString(d,e._titleFontStyle,e._titleFontFamily),o.each(e.title,g),n.font=o.fontString(c,e._bodyFontStyle,e._bodyFontFamily),o.each(e.beforeBody.concat(e.afterBody),g),f=e.displayColors?c+2:0,o.each(r,function(t){o.each(t.before,g),o.each(t.lines,g),o.each(t.after,g)}),f=0,n.font=o.fontString(h,e._footerFontStyle,e._footerFontFamily),o.each(e.footer,g),a+=2*e.xPadding,{width:a,height:i}}function u(t,e){var n=t._model,i=t._chart,a=t._chart.chartArea,o=\"center\",r=\"center\";n.y<e.height?r=\"top\":n.y>i.height-e.height&&(r=\"bottom\");var l,s,u,d,c,h=(a.left+a.right)/2,f=(a.top+a.bottom)/2;\"center\"===r?(l=function(t){return t<=h},s=function(t){return t>h}):(l=function(t){return t<=e.width/2},s=function(t){return t>=i.width-e.width/2}),u=function(t){return t+e.width>i.width},d=function(t){return t-e.width<0},c=function(t){return t<=f?\"top\":\"bottom\"},l(n.x)?(o=\"left\",u(n.x)&&(o=\"center\",r=c(n.y))):s(n.x)&&(o=\"right\",d(n.x)&&(o=\"center\",r=c(n.y)));var g=t._options;return{xAlign:g.xAlign?g.xAlign:o,yAlign:g.yAlign?g.yAlign:r}}function d(t,e,n){var i=t.x,a=t.y,o=t.caretSize,r=t.caretPadding,l=t.cornerRadius,s=n.xAlign,u=n.yAlign,d=o+r,c=l+r;return\"right\"===s?i-=e.width:\"center\"===s&&(i-=e.width/2),\"top\"===u?a+=d:a-=\"bottom\"===u?e.height+d:e.height/2,\"center\"===u?\"left\"===s?i+=d:\"right\"===s&&(i-=d):\"left\"===s?i-=c:\"right\"===s&&(i+=c),{x:i,y:a}}t.Tooltip=a.extend({initialize:function(){this._model=l(this._options),this._lastActive=[]},getTitle:function(){var t=this,e=t._options.callbacks,i=e.beforeTitle.apply(t,arguments),a=e.title.apply(t,arguments),o=e.afterTitle.apply(t,arguments),r=[];return r=n(r,i),r=n(r,a),r=n(r,o)},getBeforeBody:function(){var t=this._options.callbacks.beforeBody.apply(this,arguments);return o.isArray(t)?t:void 0!==t?[t]:[]},getBody:function(t,e){var i=this,a=i._options.callbacks,r=[];return o.each(t,function(t){var o={before:[],lines:[],after:[]};n(o.before,a.beforeLabel.call(i,t,e)),n(o.lines,a.label.call(i,t,e)),n(o.after,a.afterLabel.call(i,t,e)),r.push(o)}),r},getAfterBody:function(){var t=this._options.callbacks.afterBody.apply(this,arguments);return o.isArray(t)?t:void 0!==t?[t]:[]},getFooter:function(){var t=this,e=t._options.callbacks,i=e.beforeFooter.apply(t,arguments),a=e.footer.apply(t,arguments),o=e.afterFooter.apply(t,arguments),r=[];return r=n(r,i),r=n(r,a),r=n(r,o)},update:function(e){var n,i,a=this,c=a._options,h=a._model,f=a._model=l(c),g=a._active,p=a._data,v={xAlign:h.xAlign,yAlign:h.yAlign},m={x:h.x,y:h.y},b={width:h.width,height:h.height},x={x:h.caretX,y:h.caretY};if(g.length){f.opacity=1;var y=[],k=[];x=t.Tooltip.positioners[c.position].call(a,g,a._eventPosition);var w=[];for(n=0,i=g.length;n<i;++n)w.push(r(g[n]));c.filter&&(w=w.filter(function(t){return c.filter(t,p)})),c.itemSort&&(w=w.sort(function(t,e){return c.itemSort(t,e,p)})),o.each(w,function(t){y.push(c.callbacks.labelColor.call(a,t,a._chart)),k.push(c.callbacks.labelTextColor.call(a,t,a._chart))}),f.title=a.getTitle(w,p),f.beforeBody=a.getBeforeBody(w,p),f.body=a.getBody(w,p),f.afterBody=a.getAfterBody(w,p),f.footer=a.getFooter(w,p),f.x=Math.round(x.x),f.y=Math.round(x.y),f.caretPadding=c.caretPadding,f.labelColors=y,f.labelTextColors=k,f.dataPoints=w,m=d(f,b=s(this,f),v=u(this,b))}else f.opacity=0;return f.xAlign=v.xAlign,f.yAlign=v.yAlign,f.x=m.x,f.y=m.y,f.width=b.width,f.height=b.height,f.caretX=x.x,f.caretY=x.y,a._model=f,e&&c.custom&&c.custom.call(a,f),a},drawCaret:function(t,e){var n=this._chart.ctx,i=this._view,a=this.getCaretPosition(t,e,i);n.lineTo(a.x1,a.y1),n.lineTo(a.x2,a.y2),n.lineTo(a.x3,a.y3)},getCaretPosition:function(t,e,n){var i,a,o,r,l,s,u=n.caretSize,d=n.cornerRadius,c=n.xAlign,h=n.yAlign,f=t.x,g=t.y,p=e.width,v=e.height;if(\"center\"===h)l=g+v/2,\"left\"===c?(a=(i=f)-u,o=i,r=l+u,s=l-u):(a=(i=f+p)+u,o=i,r=l-u,s=l+u);else if(\"left\"===c?(i=(a=f+d+u)-u,o=a+u):\"right\"===c?(i=(a=f+p-d-u)-u,o=a+u):(i=(a=f+p/2)-u,o=a+u),\"top\"===h)l=(r=g)-u,s=r;else{l=(r=g+v)+u,s=r;var m=o;o=i,i=m}return{x1:i,x2:a,x3:o,y1:r,y2:l,y3:s}},drawTitle:function(t,n,i,a){var r=n.title;if(r.length){i.textAlign=n._titleAlign,i.textBaseline=\"top\";var l=n.titleFontSize,s=n.titleSpacing;i.fillStyle=e(n.titleFontColor,a),i.font=o.fontString(l,n._titleFontStyle,n._titleFontFamily);var u,d;for(u=0,d=r.length;u<d;++u)i.fillText(r[u],t.x,t.y),t.y+=l+s,u+1===r.length&&(t.y+=n.titleMarginBottom-s)}},drawBody:function(t,n,i,a){var r=n.bodyFontSize,l=n.bodySpacing,s=n.body;i.textAlign=n._bodyAlign,i.textBaseline=\"top\",i.font=o.fontString(r,n._bodyFontStyle,n._bodyFontFamily);var u=0,d=function(e){i.fillText(e,t.x+u,t.y),t.y+=r+l};i.fillStyle=e(n.bodyFontColor,a),o.each(n.beforeBody,d);var c=n.displayColors;u=c?r+2:0,o.each(s,function(l,s){var u=e(n.labelTextColors[s],a);i.fillStyle=u,o.each(l.before,d),o.each(l.lines,function(o){c&&(i.fillStyle=e(n.legendColorBackground,a),i.fillRect(t.x,t.y,r,r),i.lineWidth=1,i.strokeStyle=e(n.labelColors[s].borderColor,a),i.strokeRect(t.x,t.y,r,r),i.fillStyle=e(n.labelColors[s].backgroundColor,a),i.fillRect(t.x+1,t.y+1,r-2,r-2),i.fillStyle=u),d(o)}),o.each(l.after,d)}),u=0,o.each(n.afterBody,d),t.y-=l},drawFooter:function(t,n,i,a){var r=n.footer;r.length&&(t.y+=n.footerMarginTop,i.textAlign=n._footerAlign,i.textBaseline=\"top\",i.fillStyle=e(n.footerFontColor,a),i.font=o.fontString(n.footerFontSize,n._footerFontStyle,n._footerFontFamily),o.each(r,function(e){i.fillText(e,t.x,t.y),t.y+=n.footerFontSize+n.footerSpacing}))},drawBackground:function(t,n,i,a,o){i.fillStyle=e(n.backgroundColor,o),i.strokeStyle=e(n.borderColor,o),i.lineWidth=n.borderWidth;var r=n.xAlign,l=n.yAlign,s=t.x,u=t.y,d=a.width,c=a.height,h=n.cornerRadius;i.beginPath(),i.moveTo(s+h,u),\"top\"===l&&this.drawCaret(t,a),i.lineTo(s+d-h,u),i.quadraticCurveTo(s+d,u,s+d,u+h),\"center\"===l&&\"right\"===r&&this.drawCaret(t,a),i.lineTo(s+d,u+c-h),i.quadraticCurveTo(s+d,u+c,s+d-h,u+c),\"bottom\"===l&&this.drawCaret(t,a),i.lineTo(s+h,u+c),i.quadraticCurveTo(s,u+c,s,u+c-h),\"center\"===l&&\"left\"===r&&this.drawCaret(t,a),i.lineTo(s,u+h),i.quadraticCurveTo(s,u,s+h,u),i.closePath(),i.fill(),n.borderWidth>0&&i.stroke()},draw:function(){var t=this._chart.ctx,e=this._view;if(0!==e.opacity){var n={width:e.width,height:e.height},i={x:e.x,y:e.y},a=Math.abs(e.opacity<.001)?0:e.opacity,o=e.title.length||e.beforeBody.length||e.body.length||e.afterBody.length||e.footer.length;this._options.enabled&&o&&(this.drawBackground(i,e,t,n,a),i.x+=e.xPadding,i.y+=e.yPadding,this.drawTitle(i,e,t,a),this.drawBody(i,e,t,a),this.drawFooter(i,e,t,a))}},handleEvent:function(t){var e=this,n=e._options,i=!1;if(e._lastActive=e._lastActive||[],\"mouseout\"===t.type?e._active=[]:e._active=e._chart.getElementsAtEventForMode(t,n.mode,n),!(i=!o.arrayEquals(e._active,e._lastActive)))return!1;if(e._lastActive=e._active,n.enabled||n.custom){e._eventPosition={x:t.x,y:t.y};var a=e._model;e.update(!0),e.pivot(),i|=a.x!==e._model.x||a.y!==e._model.y}return i}}),t.Tooltip.positioners={average:function(t){if(!t.length)return!1;var e,n,i=0,a=0,o=0;for(e=0,n=t.length;e<n;++e){var r=t[e];if(r&&r.hasValue()){var l=r.tooltipPosition();i+=l.x,a+=l.y,++o}}return{x:Math.round(i/o),y:Math.round(a/o)}},nearest:function(t,e){var n,i,a,r=e.x,l=e.y,s=Number.POSITIVE_INFINITY;for(n=0,i=t.length;n<i;++n){var u=t[n];if(u&&u.hasValue()){var d=u.getCenterPoint(),c=o.distanceBetweenPoints(e,d);c<s&&(s=c,a=u)}}if(a){var h=a.tooltipPosition();r=h.x,l=h.y}return{x:r,y:l}}}}},{25:25,26:26,45:45}],36:[function(t,e,n){\"use strict\";var i=t(25),a=t(26),o=t(45);i._set(\"global\",{elements:{arc:{backgroundColor:i.global.defaultColor,borderColor:\"#fff\",borderWidth:2}}}),e.exports=a.extend({inLabelRange:function(t){var e=this._view;return!!e&&Math.pow(t-e.x,2)<Math.pow(e.radius+e.hoverRadius,2)},inRange:function(t,e){var n=this._view;if(n){for(var i=o.getAngleFromPoint(n,{x:t,y:e}),a=i.angle,r=i.distance,l=n.startAngle,s=n.endAngle;s<l;)s+=2*Math.PI;for(;a>s;)a-=2*Math.PI;for(;a<l;)a+=2*Math.PI;var u=a>=l&&a<=s,d=r>=n.innerRadius&&r<=n.outerRadius;return u&&d}return!1},getCenterPoint:function(){var t=this._view,e=(t.startAngle+t.endAngle)/2,n=(t.innerRadius+t.outerRadius)/2;return{x:t.x+Math.cos(e)*n,y:t.y+Math.sin(e)*n}},getArea:function(){var t=this._view;return Math.PI*((t.endAngle-t.startAngle)/(2*Math.PI))*(Math.pow(t.outerRadius,2)-Math.pow(t.innerRadius,2))},tooltipPosition:function(){var t=this._view,e=t.startAngle+(t.endAngle-t.startAngle)/2,n=(t.outerRadius-t.innerRadius)/2+t.innerRadius;return{x:t.x+Math.cos(e)*n,y:t.y+Math.sin(e)*n}},draw:function(){var t=this._chart.ctx,e=this._view,n=e.startAngle,i=e.endAngle;t.beginPath(),t.arc(e.x,e.y,e.outerRadius,n,i),t.arc(e.x,e.y,e.innerRadius,i,n,!0),t.closePath(),t.strokeStyle=e.borderColor,t.lineWidth=e.borderWidth,t.fillStyle=e.backgroundColor,t.fill(),t.lineJoin=\"bevel\",e.borderWidth&&t.stroke()}})},{25:25,26:26,45:45}],37:[function(t,e,n){\"use strict\";var i=t(25),a=t(26),o=t(45),r=i.global;i._set(\"global\",{elements:{line:{tension:.4,backgroundColor:r.defaultColor,borderWidth:3,borderColor:r.defaultColor,borderCapStyle:\"butt\",borderDash:[],borderDashOffset:0,borderJoinStyle:\"miter\",capBezierPoints:!0,fill:!0}}}),e.exports=a.extend({draw:function(){var t,e,n,i,a=this,l=a._view,s=a._chart.ctx,u=l.spanGaps,d=a._children.slice(),c=r.elements.line,h=-1;for(a._loop&&d.length&&d.push(d[0]),s.save(),s.lineCap=l.borderCapStyle||c.borderCapStyle,s.setLineDash&&s.setLineDash(l.borderDash||c.borderDash),s.lineDashOffset=l.borderDashOffset||c.borderDashOffset,s.lineJoin=l.borderJoinStyle||c.borderJoinStyle,s.lineWidth=l.borderWidth||c.borderWidth,s.strokeStyle=l.borderColor||r.defaultColor,s.beginPath(),h=-1,t=0;t<d.length;++t)e=d[t],n=o.previousItem(d,t),i=e._view,0===t?i.skip||(s.moveTo(i.x,i.y),h=t):(n=-1===h?n:d[h],i.skip||(h!==t-1&&!u||-1===h?s.moveTo(i.x,i.y):o.canvas.lineTo(s,n._view,e._view),h=t));s.stroke(),s.restore()}})},{25:25,26:26,45:45}],38:[function(t,e,n){\"use strict\";function i(t){var e=this._view;return!!e&&Math.pow(t-e.x,2)<Math.pow(e.radius+e.hitRadius,2)}var a=t(25),o=t(26),r=t(45),l=a.global.defaultColor;a._set(\"global\",{elements:{point:{radius:3,pointStyle:\"circle\",backgroundColor:l,borderColor:l,borderWidth:1,hitRadius:1,hoverRadius:4,hoverBorderWidth:1}}}),e.exports=o.extend({inRange:function(t,e){var n=this._view;return!!n&&Math.pow(t-n.x,2)+Math.pow(e-n.y,2)<Math.pow(n.hitRadius+n.radius,2)},inLabelRange:i,inXRange:i,inYRange:function(t){var e=this._view;return!!e&&Math.pow(t-e.y,2)<Math.pow(e.radius+e.hitRadius,2)},getCenterPoint:function(){var t=this._view;return{x:t.x,y:t.y}},getArea:function(){return Math.PI*Math.pow(this._view.radius,2)},tooltipPosition:function(){var t=this._view;return{x:t.x,y:t.y,padding:t.radius+t.borderWidth}},draw:function(t){var e=this._view,n=this._model,i=this._chart.ctx,o=e.pointStyle,s=e.radius,u=e.x,d=e.y,c=r.color,h=0;e.skip||(i.strokeStyle=e.borderColor||l,i.lineWidth=r.valueOrDefault(e.borderWidth,a.global.elements.point.borderWidth),i.fillStyle=e.backgroundColor||l,void 0!==t&&(n.x<t.left||1.01*t.right<n.x||n.y<t.top||1.01*t.bottom<n.y)&&(n.x<t.left?h=(u-n.x)/(t.left-n.x):1.01*t.right<n.x?h=(n.x-u)/(n.x-t.right):n.y<t.top?h=(d-n.y)/(t.top-n.y):1.01*t.bottom<n.y&&(h=(n.y-d)/(n.y-t.bottom)),h=Math.round(100*h)/100,i.strokeStyle=c(i.strokeStyle).alpha(h).rgbString(),i.fillStyle=c(i.fillStyle).alpha(h).rgbString()),r.canvas.drawPoint(i,o,s,u,d))}})},{25:25,26:26,45:45}],39:[function(t,e,n){\"use strict\";function i(t){return void 0!==t._view.width}function a(t){var e,n,a,o,r=t._view;if(i(t)){var l=r.width/2;e=r.x-l,n=r.x+l,a=Math.min(r.y,r.base),o=Math.max(r.y,r.base)}else{var s=r.height/2;e=Math.min(r.x,r.base),n=Math.max(r.x,r.base),a=r.y-s,o=r.y+s}return{left:e,top:a,right:n,bottom:o}}var o=t(25),r=t(26);o._set(\"global\",{elements:{rectangle:{backgroundColor:o.global.defaultColor,borderColor:o.global.defaultColor,borderSkipped:\"bottom\",borderWidth:0}}}),e.exports=r.extend({draw:function(){function t(t){return m[(b+t)%4]}var e,n,i,a,o,r,l,s=this._chart.ctx,u=this._view,d=u.borderWidth;if(u.horizontal?(e=u.base,n=u.x,i=u.y-u.height/2,a=u.y+u.height/2,o=n>e?1:-1,r=1,l=u.borderSkipped||\"left\"):(e=u.x-u.width/2,n=u.x+u.width/2,i=u.y,o=1,r=(a=u.base)>i?1:-1,l=u.borderSkipped||\"bottom\"),d){var c=Math.min(Math.abs(e-n),Math.abs(i-a)),h=(d=d>c?c:d)/2,f=e+(\"left\"!==l?h*o:0),g=n+(\"right\"!==l?-h*o:0),p=i+(\"top\"!==l?h*r:0),v=a+(\"bottom\"!==l?-h*r:0);f!==g&&(i=p,a=v),p!==v&&(e=f,n=g)}s.beginPath(),s.fillStyle=u.backgroundColor,s.strokeStyle=u.borderColor,s.lineWidth=d;var m=[[e,a],[e,i],[n,i],[n,a]],b=[\"bottom\",\"left\",\"top\",\"right\"].indexOf(l,0);-1===b&&(b=0);var x=t(0);s.moveTo(x[0],x[1]);for(var y=1;y<4;y++)x=t(y),s.lineTo(x[0],x[1]);s.fill(),d&&s.stroke()},height:function(){var t=this._view;return t.base-t.y},inRange:function(t,e){var n=!1;if(this._view){var i=a(this);n=t>=i.left&&t<=i.right&&e>=i.top&&e<=i.bottom}return n},inLabelRange:function(t,e){var n=this;if(!n._view)return!1;var o=a(n);return i(n)?t>=o.left&&t<=o.right:e>=o.top&&e<=o.bottom},inXRange:function(t){var e=a(this);return t>=e.left&&t<=e.right},inYRange:function(t){var e=a(this);return t>=e.top&&t<=e.bottom},getCenterPoint:function(){var t,e,n=this._view;return i(this)?(t=n.x,e=(n.y+n.base)/2):(t=(n.x+n.base)/2,e=n.y),{x:t,y:e}},getArea:function(){var t=this._view;return t.width*Math.abs(t.y-t.base)},tooltipPosition:function(){var t=this._view;return{x:t.x,y:t.y}}})},{25:25,26:26}],40:[function(t,e,n){\"use strict\";e.exports={},e.exports.Arc=t(36),e.exports.Line=t(37),e.exports.Point=t(38),e.exports.Rectangle=t(39)},{36:36,37:37,38:38,39:39}],41:[function(t,e,n){\"use strict\";var i=t(42),n=e.exports={clear:function(t){t.ctx.clearRect(0,0,t.width,t.height)},roundedRect:function(t,e,n,i,a,o){if(o){var r=Math.min(o,i/2),l=Math.min(o,a/2);t.moveTo(e+r,n),t.lineTo(e+i-r,n),t.quadraticCurveTo(e+i,n,e+i,n+l),t.lineTo(e+i,n+a-l),t.quadraticCurveTo(e+i,n+a,e+i-r,n+a),t.lineTo(e+r,n+a),t.quadraticCurveTo(e,n+a,e,n+a-l),t.lineTo(e,n+l),t.quadraticCurveTo(e,n,e+r,n)}else t.rect(e,n,i,a)},drawPoint:function(t,e,n,i,a){var o,r,l,s,u,d;if(!e||\"object\"!=typeof e||\"[object HTMLImageElement]\"!==(o=e.toString())&&\"[object HTMLCanvasElement]\"!==o){if(!(isNaN(n)||n<=0)){switch(e){default:t.beginPath(),t.arc(i,a,n,0,2*Math.PI),t.closePath(),t.fill();break;case\"triangle\":t.beginPath(),u=(r=3*n/Math.sqrt(3))*Math.sqrt(3)/2,t.moveTo(i-r/2,a+u/3),t.lineTo(i+r/2,a+u/3),t.lineTo(i,a-2*u/3),t.closePath(),t.fill();break;case\"rect\":d=1/Math.SQRT2*n,t.beginPath(),t.fillRect(i-d,a-d,2*d,2*d),t.strokeRect(i-d,a-d,2*d,2*d);break;case\"rectRounded\":var c=n/Math.SQRT2,h=i-c,f=a-c,g=Math.SQRT2*n;t.beginPath(),this.roundedRect(t,h,f,g,g,n/2),t.closePath(),t.fill();break;case\"rectRot\":d=1/Math.SQRT2*n,t.beginPath(),t.moveTo(i-d,a),t.lineTo(i,a+d),t.lineTo(i+d,a),t.lineTo(i,a-d),t.closePath(),t.fill();break;case\"cross\":t.beginPath(),t.moveTo(i,a+n),t.lineTo(i,a-n),t.moveTo(i-n,a),t.lineTo(i+n,a),t.closePath();break;case\"crossRot\":t.beginPath(),l=Math.cos(Math.PI/4)*n,s=Math.sin(Math.PI/4)*n,t.moveTo(i-l,a-s),t.lineTo(i+l,a+s),t.moveTo(i-l,a+s),t.lineTo(i+l,a-s),t.closePath();break;case\"star\":t.beginPath(),t.moveTo(i,a+n),t.lineTo(i,a-n),t.moveTo(i-n,a),t.lineTo(i+n,a),l=Math.cos(Math.PI/4)*n,s=Math.sin(Math.PI/4)*n,t.moveTo(i-l,a-s),t.lineTo(i+l,a+s),t.moveTo(i-l,a+s),t.lineTo(i+l,a-s),t.closePath();break;case\"line\":t.beginPath(),t.moveTo(i-n,a),t.lineTo(i+n,a),t.closePath();break;case\"dash\":t.beginPath(),t.moveTo(i,a),t.lineTo(i+n,a),t.closePath()}t.stroke()}}else t.drawImage(e,i-e.width/2,a-e.height/2,e.width,e.height)},clipArea:function(t,e){t.save(),t.beginPath(),t.rect(e.left,e.top,e.right-e.left,e.bottom-e.top),t.clip()},unclipArea:function(t){t.restore()},lineTo:function(t,e,n,i){if(n.steppedLine)return\"after\"===n.steppedLine&&!i||\"after\"!==n.steppedLine&&i?t.lineTo(e.x,n.y):t.lineTo(n.x,e.y),void t.lineTo(n.x,n.y);n.tension?t.bezierCurveTo(i?e.controlPointPreviousX:e.controlPointNextX,i?e.controlPointPreviousY:e.controlPointNextY,i?n.controlPointNextX:n.controlPointPreviousX,i?n.controlPointNextY:n.controlPointPreviousY,n.x,n.y):t.lineTo(n.x,n.y)}};i.clear=n.clear,i.drawRoundedRectangle=function(t){t.beginPath(),n.roundedRect.apply(n,arguments),t.closePath()}},{42:42}],42:[function(t,e,n){\"use strict\";var i={noop:function(){},uid:function(){var t=0;return function(){return t++}}(),isNullOrUndef:function(t){return null===t||void 0===t},isArray:Array.isArray?Array.isArray:function(t){return\"[object Array]\"===Object.prototype.toString.call(t)},isObject:function(t){return null!==t&&\"[object Object]\"===Object.prototype.toString.call(t)},valueOrDefault:function(t,e){return void 0===t?e:t},valueAtIndexOrDefault:function(t,e,n){return i.valueOrDefault(i.isArray(t)?t[e]:t,n)},callback:function(t,e,n){if(t&&\"function\"==typeof t.call)return t.apply(n,e)},each:function(t,e,n,a){var o,r,l;if(i.isArray(t))if(r=t.length,a)for(o=r-1;o>=0;o--)e.call(n,t[o],o);else for(o=0;o<r;o++)e.call(n,t[o],o);else if(i.isObject(t))for(r=(l=Object.keys(t)).length,o=0;o<r;o++)e.call(n,t[l[o]],l[o])},arrayEquals:function(t,e){var n,a,o,r;if(!t||!e||t.length!==e.length)return!1;for(n=0,a=t.length;n<a;++n)if(o=t[n],r=e[n],o instanceof Array&&r instanceof Array){if(!i.arrayEquals(o,r))return!1}else if(o!==r)return!1;return!0},clone:function(t){if(i.isArray(t))return t.map(i.clone);if(i.isObject(t)){for(var e={},n=Object.keys(t),a=n.length,o=0;o<a;++o)e[n[o]]=i.clone(t[n[o]]);return e}return t},_merger:function(t,e,n,a){var o=e[t],r=n[t];i.isObject(o)&&i.isObject(r)?i.merge(o,r,a):e[t]=i.clone(r)},_mergerIf:function(t,e,n){var a=e[t],o=n[t];i.isObject(a)&&i.isObject(o)?i.mergeIf(a,o):e.hasOwnProperty(t)||(e[t]=i.clone(o))},merge:function(t,e,n){var a,o,r,l,s,u=i.isArray(e)?e:[e],d=u.length;if(!i.isObject(t))return t;for(a=(n=n||{}).merger||i._merger,o=0;o<d;++o)if(e=u[o],i.isObject(e))for(s=0,l=(r=Object.keys(e)).length;s<l;++s)a(r[s],t,e,n);return t},mergeIf:function(t,e){return i.merge(t,e,{merger:i._mergerIf})},extend:function(t){for(var e=1,n=arguments.length;e<n;++e)i.each(arguments[e],function(e,n){t[n]=e});return t},inherits:function(t){var e=this,n=t&&t.hasOwnProperty(\"constructor\")?t.constructor:function(){return e.apply(this,arguments)},a=function(){this.constructor=n};return a.prototype=e.prototype,n.prototype=new a,n.extend=i.inherits,t&&i.extend(n.prototype,t),n.__super__=e.prototype,n}};e.exports=i,i.callCallback=i.callback,i.indexOf=function(t,e,n){return Array.prototype.indexOf.call(t,e,n)},i.getValueOrDefault=i.valueOrDefault,i.getValueAtIndexOrDefault=i.valueAtIndexOrDefault},{}],43:[function(t,e,n){\"use strict\";var i=t(42),a={linear:function(t){return t},easeInQuad:function(t){return t*t},easeOutQuad:function(t){return-t*(t-2)},easeInOutQuad:function(t){return(t/=.5)<1?.5*t*t:-.5*(--t*(t-2)-1)},easeInCubic:function(t){return t*t*t},easeOutCubic:function(t){return(t-=1)*t*t+1},easeInOutCubic:function(t){return(t/=.5)<1?.5*t*t*t:.5*((t-=2)*t*t+2)},easeInQuart:function(t){return t*t*t*t},easeOutQuart:function(t){return-((t-=1)*t*t*t-1)},easeInOutQuart:function(t){return(t/=.5)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)},easeInQuint:function(t){return t*t*t*t*t},easeOutQuint:function(t){return(t-=1)*t*t*t*t+1},easeInOutQuint:function(t){return(t/=.5)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)},easeInSine:function(t){return 1-Math.cos(t*(Math.PI/2))},easeOutSine:function(t){return Math.sin(t*(Math.PI/2))},easeInOutSine:function(t){return-.5*(Math.cos(Math.PI*t)-1)},easeInExpo:function(t){return 0===t?0:Math.pow(2,10*(t-1))},easeOutExpo:function(t){return 1===t?1:1-Math.pow(2,-10*t)},easeInOutExpo:function(t){return 0===t?0:1===t?1:(t/=.5)<1?.5*Math.pow(2,10*(t-1)):.5*(2-Math.pow(2,-10*--t))},easeInCirc:function(t){return t>=1?t:-(Math.sqrt(1-t*t)-1)},easeOutCirc:function(t){return Math.sqrt(1-(t-=1)*t)},easeInOutCirc:function(t){return(t/=.5)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)},easeInElastic:function(t){var e=1.70158,n=0,i=1;return 0===t?0:1===t?1:(n||(n=.3),i<1?(i=1,e=n/4):e=n/(2*Math.PI)*Math.asin(1/i),-i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/n))},easeOutElastic:function(t){var e=1.70158,n=0,i=1;return 0===t?0:1===t?1:(n||(n=.3),i<1?(i=1,e=n/4):e=n/(2*Math.PI)*Math.asin(1/i),i*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/n)+1)},easeInOutElastic:function(t){var e=1.70158,n=0,i=1;return 0===t?0:2==(t/=.5)?1:(n||(n=.45),i<1?(i=1,e=n/4):e=n/(2*Math.PI)*Math.asin(1/i),t<1?i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/n)*-.5:i*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/n)*.5+1)},easeInBack:function(t){var e=1.70158;return t*t*((e+1)*t-e)},easeOutBack:function(t){var e=1.70158;return(t-=1)*t*((e+1)*t+e)+1},easeInOutBack:function(t){var e=1.70158;return(t/=.5)<1?t*t*((1+(e*=1.525))*t-e)*.5:.5*((t-=2)*t*((1+(e*=1.525))*t+e)+2)},easeInBounce:function(t){return 1-a.easeOutBounce(1-t)},easeOutBounce:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},easeInOutBounce:function(t){return t<.5?.5*a.easeInBounce(2*t):.5*a.easeOutBounce(2*t-1)+.5}};e.exports={effects:a},i.easingEffects=a},{42:42}],44:[function(t,e,n){\"use strict\";var i=t(42);e.exports={toLineHeight:function(t,e){var n=(\"\"+t).match(/^(normal|(\\d+(?:\\.\\d+)?)(px|em|%)?)$/);if(!n||\"normal\"===n[1])return 1.2*e;switch(t=+n[2],n[3]){case\"px\":return t;case\"%\":t/=100}return e*t},toPadding:function(t){var e,n,a,o;return i.isObject(t)?(e=+t.top||0,n=+t.right||0,a=+t.bottom||0,o=+t.left||0):e=n=a=o=+t||0,{top:e,right:n,bottom:a,left:o,height:e+a,width:o+n}},resolve:function(t,e,n){var a,o,r;for(a=0,o=t.length;a<o;++a)if(void 0!==(r=t[a])&&(void 0!==e&&\"function\"==typeof r&&(r=r(e)),void 0!==n&&i.isArray(r)&&(r=r[n]),void 0!==r))return r}}},{42:42}],45:[function(t,e,n){\"use strict\";e.exports=t(42),e.exports.easing=t(43),e.exports.canvas=t(41),e.exports.options=t(44)},{41:41,42:42,43:43,44:44}],46:[function(t,e,n){e.exports={acquireContext:function(t){return t&&t.canvas&&(t=t.canvas),t&&t.getContext(\"2d\")||null}}},{}],47:[function(t,e,n){\"use strict\";function i(t,e){var n=v.getStyle(t,e),i=n&&n.match(/^(\\d+)(\\.\\d+)?px$/);return i?Number(i[1]):void 0}function a(t,e){var n=t.style,a=t.getAttribute(\"height\"),o=t.getAttribute(\"width\");if(t[m]={initial:{height:a,width:o,style:{display:n.display,height:n.height,width:n.width}}},n.display=n.display||\"block\",null===o||\"\"===o){var r=i(t,\"width\");void 0!==r&&(t.width=r)}if(null===a||\"\"===a)if(\"\"===t.style.height)t.height=t.width/(e.options.aspectRatio||2);else{var l=i(t,\"height\");void 0!==r&&(t.height=l)}return t}function o(t,e,n){t.addEventListener(e,n,M)}function r(t,e,n){t.removeEventListener(e,n,M)}function l(t,e,n,i,a){return{type:t,chart:e,native:a||null,x:void 0!==n?n:null,y:void 0!==i?i:null}}function s(t,e){var n=w[t.type]||t.type,i=v.getRelativePosition(t,e);return l(n,e,i.x,i.y,t)}function u(t,e){var n=!1,i=[];return function(){i=Array.prototype.slice.call(arguments),e=e||this,n||(n=!0,v.requestAnimFrame.call(window,function(){n=!1,t.apply(e,i)}))}}function d(t){var e=document.createElement(\"div\"),n=b+\"size-monitor\",i=\"position:absolute;left:0;top:0;right:0;bottom:0;overflow:hidden;pointer-events:none;visibility:hidden;z-index:-1;\";e.style.cssText=i,e.className=n,e.innerHTML='<div class=\"'+n+'-expand\" style=\"'+i+'\"><div style=\"position:absolute;width:1000000px;height:1000000px;left:0;top:0\"></div></div><div class=\"'+n+'-shrink\" style=\"'+i+'\"><div style=\"position:absolute;width:200%;height:200%;left:0; top:0\"></div></div>';var a=e.childNodes[0],r=e.childNodes[1];e._reset=function(){a.scrollLeft=1e6,a.scrollTop=1e6,r.scrollLeft=1e6,r.scrollTop=1e6};var l=function(){e._reset(),t()};return o(a,\"scroll\",l.bind(a,\"expand\")),o(r,\"scroll\",l.bind(r,\"shrink\")),e}function c(t,e){var n=t[m]||(t[m]={}),i=n.renderProxy=function(t){t.animationName===y&&e()};v.each(k,function(e){o(t,e,i)}),n.reflow=!!t.offsetParent,t.classList.add(x)}function h(t){var e=t[m]||{},n=e.renderProxy;n&&(v.each(k,function(e){r(t,e,n)}),delete e.renderProxy),t.classList.remove(x)}function f(t,e,n){var i=t[m]||(t[m]={}),a=i.resizer=d(u(function(){if(i.resizer)return e(l(\"resize\",n))}));c(t,function(){if(i.resizer){var e=t.parentNode;e&&e!==a.parentNode&&e.insertBefore(a,e.firstChild),a._reset()}})}function g(t){var e=t[m]||{},n=e.resizer;delete e.resizer,h(t),n&&n.parentNode&&n.parentNode.removeChild(n)}function p(t,e){var n=t._style||document.createElement(\"style\");t._style||(t._style=n,e=\"/* Chart.js */\\n\"+e,n.setAttribute(\"type\",\"text/css\"),document.getElementsByTagName(\"head\")[0].appendChild(n)),n.appendChild(document.createTextNode(e))}var v=t(45),m=\"$chartjs\",b=\"chartjs-\",x=b+\"render-monitor\",y=b+\"render-animation\",k=[\"animationstart\",\"webkitAnimationStart\"],w={touchstart:\"mousedown\",touchmove:\"mousemove\",touchend:\"mouseup\",pointerenter:\"mouseenter\",pointerdown:\"mousedown\",pointermove:\"mousemove\",pointerup:\"mouseup\",pointerleave:\"mouseout\",pointerout:\"mouseout\"},M=!!function(){var t=!1;try{var e=Object.defineProperty({},\"passive\",{get:function(){t=!0}});window.addEventListener(\"e\",null,e)}catch(t){}return t}()&&{passive:!0};e.exports={_enabled:\"undefined\"!=typeof window&&\"undefined\"!=typeof document,initialize:function(){var t=\"from{opacity:0.99}to{opacity:1}\";p(this,\"@-webkit-keyframes \"+y+\"{\"+t+\"}@keyframes \"+y+\"{\"+t+\"}.\"+x+\"{-webkit-animation:\"+y+\" 0.001s;animation:\"+y+\" 0.001s;}\")},acquireContext:function(t,e){\"string\"==typeof t?t=document.getElementById(t):t.length&&(t=t[0]),t&&t.canvas&&(t=t.canvas);var n=t&&t.getContext&&t.getContext(\"2d\");return n&&n.canvas===t?(a(t,e),n):null},releaseContext:function(t){var e=t.canvas;if(e[m]){var n=e[m].initial;[\"height\",\"width\"].forEach(function(t){var i=n[t];v.isNullOrUndef(i)?e.removeAttribute(t):e.setAttribute(t,i)}),v.each(n.style||{},function(t,n){e.style[n]=t}),e.width=e.width,delete e[m]}},addEventListener:function(t,e,n){var i=t.canvas;if(\"resize\"!==e){var a=n[m]||(n[m]={});o(i,e,(a.proxies||(a.proxies={}))[t.id+\"_\"+e]=function(e){n(s(e,t))})}else f(i,n,t)},removeEventListener:function(t,e,n){var i=t.canvas;if(\"resize\"!==e){var a=((n[m]||{}).proxies||{})[t.id+\"_\"+e];a&&r(i,e,a)}else g(i)}},v.addEvent=o,v.removeEvent=r},{45:45}],48:[function(t,e,n){\"use strict\";var i=t(45),a=t(46),o=t(47),r=o._enabled?o:a;e.exports=i.extend({initialize:function(){},acquireContext:function(){},releaseContext:function(){},addEventListener:function(){},removeEventListener:function(){}},r)},{45:45,46:46,47:47}],49:[function(t,e,n){\"use strict\";var i=t(25),a=t(40),o=t(45);i._set(\"global\",{plugins:{filler:{propagate:!0}}}),e.exports=function(){function t(t,e,n){var i,a=t._model||{},o=a.fill;if(void 0===o&&(o=!!a.backgroundColor),!1===o||null===o)return!1;if(!0===o)return\"origin\";if(i=parseFloat(o,10),isFinite(i)&&Math.floor(i)===i)return\"-\"!==o[0]&&\"+\"!==o[0]||(i=e+i),!(i===e||i<0||i>=n)&&i;switch(o){case\"bottom\":return\"start\";case\"top\":return\"end\";case\"zero\":return\"origin\";case\"origin\":case\"start\":case\"end\":return o;default:return!1}}function e(t){var e,n=t.el._model||{},i=t.el._scale||{},a=t.fill,o=null;if(isFinite(a))return null;if(\"start\"===a?o=void 0===n.scaleBottom?i.bottom:n.scaleBottom:\"end\"===a?o=void 0===n.scaleTop?i.top:n.scaleTop:void 0!==n.scaleZero?o=n.scaleZero:i.getBasePosition?o=i.getBasePosition():i.getBasePixel&&(o=i.getBasePixel()),void 0!==o&&null!==o){if(void 0!==o.x&&void 0!==o.y)return o;if(\"number\"==typeof o&&isFinite(o))return e=i.isHorizontal(),{x:e?o:null,y:e?null:o}}return null}function n(t,e,n){var i,a=t[e].fill,o=[e];if(!n)return a;for(;!1!==a&&-1===o.indexOf(a);){if(!isFinite(a))return a;if(!(i=t[a]))return!1;if(i.visible)return a;o.push(a),a=i.fill}return!1}function r(t){var e=t.fill,n=\"dataset\";return!1===e?null:(isFinite(e)||(n=\"boundary\"),d[n](t))}function l(t){return t&&!t.skip}function s(t,e,n,i,a){var r;if(i&&a){for(t.moveTo(e[0].x,e[0].y),r=1;r<i;++r)o.canvas.lineTo(t,e[r-1],e[r]);for(t.lineTo(n[a-1].x,n[a-1].y),r=a-1;r>0;--r)o.canvas.lineTo(t,n[r],n[r-1],!0)}}function u(t,e,n,i,a,o){var r,u,d,c,h,f,g,p=e.length,v=i.spanGaps,m=[],b=[],x=0,y=0;for(t.beginPath(),r=0,u=p+!!o;r<u;++r)h=n(c=e[d=r%p]._view,d,i),f=l(c),g=l(h),f&&g?(x=m.push(c),y=b.push(h)):x&&y&&(v?(f&&m.push(c),g&&b.push(h)):(s(t,m,b,x,y),x=y=0,m=[],b=[]));s(t,m,b,x,y),t.closePath(),t.fillStyle=a,t.fill()}var d={dataset:function(t){var e=t.fill,n=t.chart,i=n.getDatasetMeta(e),a=i&&n.isDatasetVisible(e)&&i.dataset._children||[],o=a.length||0;return o?function(t,e){return e<o&&a[e]._view||null}:null},boundary:function(t){var e=t.boundary,n=e?e.x:null,i=e?e.y:null;return function(t){return{x:null===n?t.x:n,y:null===i?t.y:i}}}};return{id:\"filler\",afterDatasetsUpdate:function(i,o){var l,s,u,d,c=(i.data.datasets||[]).length,h=o.propagate,f=[];for(s=0;s<c;++s)d=null,(u=(l=i.getDatasetMeta(s)).dataset)&&u._model&&u instanceof a.Line&&(d={visible:i.isDatasetVisible(s),fill:t(u,s,c),chart:i,el:u}),l.$filler=d,f.push(d);for(s=0;s<c;++s)(d=f[s])&&(d.fill=n(f,s,h),d.boundary=e(d),d.mapper=r(d))},beforeDatasetDraw:function(t,e){var n=e.meta.$filler;if(n){var a=t.ctx,r=n.el,l=r._view,s=r._children||[],d=n.mapper,c=l.backgroundColor||i.global.defaultColor;d&&c&&s.length&&(o.canvas.clipArea(a,t.chartArea),u(a,s,d,l,c,r._loop),o.canvas.unclipArea(a))}}}}},{25:25,40:40,45:45}],50:[function(t,e,n){\"use strict\";var i=t(25),a=t(26),o=t(45);i._set(\"global\",{legend:{display:!0,position:\"top\",fullWidth:!0,reverse:!1,weight:1e3,onClick:function(t,e){var n=e.datasetIndex,i=this.chart,a=i.getDatasetMeta(n);a.hidden=null===a.hidden?!i.data.datasets[n].hidden:null,i.update()},onHover:null,labels:{boxWidth:40,padding:10,generateLabels:function(t){var e=t.data;return o.isArray(e.datasets)?e.datasets.map(function(e,n){return{text:e.label,fillStyle:o.isArray(e.backgroundColor)?e.backgroundColor[0]:e.backgroundColor,hidden:!t.isDatasetVisible(n),lineCap:e.borderCapStyle,lineDash:e.borderDash,lineDashOffset:e.borderDashOffset,lineJoin:e.borderJoinStyle,lineWidth:e.borderWidth,strokeStyle:e.borderColor,pointStyle:e.pointStyle,datasetIndex:n}},this):[]}}},legendCallback:function(t){var e=[];e.push('<ul class=\"'+t.id+'-legend\">');for(var n=0;n<t.data.datasets.length;n++)e.push('<li><span style=\"background-color:'+t.data.datasets[n].backgroundColor+'\"></span>'),t.data.datasets[n].label&&e.push(t.data.datasets[n].label),e.push(\"</li>\");return e.push(\"</ul>\"),e.join(\"\")}}),e.exports=function(t){function e(t,e){return t.usePointStyle?e*Math.SQRT2:t.boxWidth}function n(e,n){var i=new t.Legend({ctx:e.ctx,options:n,chart:e});r.configure(e,i,n),r.addBox(e,i),e.legend=i}var r=t.layoutService,l=o.noop;return t.Legend=a.extend({initialize:function(t){o.extend(this,t),this.legendHitBoxes=[],this.doughnutMode=!1},beforeUpdate:l,update:function(t,e,n){var i=this;return i.beforeUpdate(),i.maxWidth=t,i.maxHeight=e,i.margins=n,i.beforeSetDimensions(),i.setDimensions(),i.afterSetDimensions(),i.beforeBuildLabels(),i.buildLabels(),i.afterBuildLabels(),i.beforeFit(),i.fit(),i.afterFit(),i.afterUpdate(),i.minSize},afterUpdate:l,beforeSetDimensions:l,setDimensions:function(){var t=this;t.isHorizontal()?(t.width=t.maxWidth,t.left=0,t.right=t.width):(t.height=t.maxHeight,t.top=0,t.bottom=t.height),t.paddingLeft=0,t.paddingTop=0,t.paddingRight=0,t.paddingBottom=0,t.minSize={width:0,height:0}},afterSetDimensions:l,beforeBuildLabels:l,buildLabels:function(){var t=this,e=t.options.labels||{},n=o.callback(e.generateLabels,[t.chart],t)||[];e.filter&&(n=n.filter(function(n){return e.filter(n,t.chart.data)})),t.options.reverse&&n.reverse(),t.legendItems=n},afterBuildLabels:l,beforeFit:l,fit:function(){var t=this,n=t.options,a=n.labels,r=n.display,l=t.ctx,s=i.global,u=o.valueOrDefault,d=u(a.fontSize,s.defaultFontSize),c=u(a.fontStyle,s.defaultFontStyle),h=u(a.fontFamily,s.defaultFontFamily),f=o.fontString(d,c,h),g=t.legendHitBoxes=[],p=t.minSize,v=t.isHorizontal();if(v?(p.width=t.maxWidth,p.height=r?10:0):(p.width=r?10:0,p.height=t.maxHeight),r)if(l.font=f,v){var m=t.lineWidths=[0],b=t.legendItems.length?d+a.padding:0;l.textAlign=\"left\",l.textBaseline=\"top\",o.each(t.legendItems,function(n,i){var o=e(a,d)+d/2+l.measureText(n.text).width;m[m.length-1]+o+a.padding>=t.width&&(b+=d+a.padding,m[m.length]=t.left),g[i]={left:0,top:0,width:o,height:d},m[m.length-1]+=o+a.padding}),p.height+=b}else{var x=a.padding,y=t.columnWidths=[],k=a.padding,w=0,M=0,S=d+x;o.each(t.legendItems,function(t,n){var i=e(a,d)+d/2+l.measureText(t.text).width;M+S>p.height&&(k+=w+a.padding,y.push(w),w=0,M=0),w=Math.max(w,i),M+=S,g[n]={left:0,top:0,width:i,height:d}}),k+=w,y.push(w),p.width+=k}t.width=p.width,t.height=p.height},afterFit:l,isHorizontal:function(){return\"top\"===this.options.position||\"bottom\"===this.options.position},draw:function(){var t=this,n=t.options,a=n.labels,r=i.global,l=r.elements.line,s=t.width,u=t.lineWidths;if(n.display){var d,c=t.ctx,h=o.valueOrDefault,f=h(a.fontColor,r.defaultFontColor),g=h(a.fontSize,r.defaultFontSize),p=h(a.fontStyle,r.defaultFontStyle),v=h(a.fontFamily,r.defaultFontFamily),m=o.fontString(g,p,v);c.textAlign=\"left\",c.textBaseline=\"middle\",c.lineWidth=.5,c.strokeStyle=f,c.fillStyle=f,c.font=m;var b=e(a,g),x=t.legendHitBoxes,y=function(t,e,i){if(!(isNaN(b)||b<=0)){c.save(),c.fillStyle=h(i.fillStyle,r.defaultColor),c.lineCap=h(i.lineCap,l.borderCapStyle),c.lineDashOffset=h(i.lineDashOffset,l.borderDashOffset),c.lineJoin=h(i.lineJoin,l.borderJoinStyle),c.lineWidth=h(i.lineWidth,l.borderWidth),c.strokeStyle=h(i.strokeStyle,r.defaultColor);var a=0===h(i.lineWidth,l.borderWidth);if(c.setLineDash&&c.setLineDash(h(i.lineDash,l.borderDash)),n.labels&&n.labels.usePointStyle){var s=g*Math.SQRT2/2,u=s/Math.SQRT2,d=t+u,f=e+u;o.canvas.drawPoint(c,i.pointStyle,s,d,f)}else a||c.strokeRect(t,e,b,g),c.fillRect(t,e,b,g);c.restore()}},k=function(t,e,n,i){var a=g/2,o=b+a+t,r=e+a;c.fillText(n.text,o,r),n.hidden&&(c.beginPath(),c.lineWidth=2,c.moveTo(o,r),c.lineTo(o+i,r),c.stroke())},w=t.isHorizontal();d=w?{x:t.left+(s-u[0])/2,y:t.top+a.padding,line:0}:{x:t.left+a.padding,y:t.top+a.padding,line:0};var M=g+a.padding;o.each(t.legendItems,function(e,n){var i=c.measureText(e.text).width,o=b+g/2+i,r=d.x,l=d.y;w?r+o>=s&&(l=d.y+=M,d.line++,r=d.x=t.left+(s-u[d.line])/2):l+M>t.bottom&&(r=d.x=r+t.columnWidths[d.line]+a.padding,l=d.y=t.top+a.padding,d.line++),y(r,l,e),x[n].left=r,x[n].top=l,k(r,l,e,i),w?d.x+=o+a.padding:d.y+=M})}},handleEvent:function(t){var e=this,n=e.options,i=\"mouseup\"===t.type?\"click\":t.type,a=!1;if(\"mousemove\"===i){if(!n.onHover)return}else{if(\"click\"!==i)return;if(!n.onClick)return}var o=t.x,r=t.y;if(o>=e.left&&o<=e.right&&r>=e.top&&r<=e.bottom)for(var l=e.legendHitBoxes,s=0;s<l.length;++s){var u=l[s];if(o>=u.left&&o<=u.left+u.width&&r>=u.top&&r<=u.top+u.height){if(\"click\"===i){n.onClick.call(e,t.native,e.legendItems[s]),a=!0;break}if(\"mousemove\"===i){n.onHover.call(e,t.native,e.legendItems[s]),a=!0;break}}}return a}}),{id:\"legend\",beforeInit:function(t){var e=t.options.legend;e&&n(t,e)},beforeUpdate:function(t){var e=t.options.legend,a=t.legend;e?(o.mergeIf(e,i.global.legend),a?(r.configure(t,a,e),a.options=e):n(t,e)):a&&(r.removeBox(t,a),delete t.legend)},afterEvent:function(t,e){var n=t.legend;n&&n.handleEvent(e)}}}},{25:25,26:26,45:45}],51:[function(t,e,n){\"use strict\";var i=t(25),a=t(26),o=t(45);i._set(\"global\",{title:{display:!1,fontStyle:\"bold\",fullWidth:!0,lineHeight:1.2,padding:10,position:\"top\",text:\"\",weight:2e3}}),e.exports=function(t){function e(e,i){var a=new t.Title({ctx:e.ctx,options:i,chart:e});n.configure(e,a,i),n.addBox(e,a),e.titleBlock=a}var n=t.layoutService,r=o.noop;return t.Title=a.extend({initialize:function(t){var e=this;o.extend(e,t),e.legendHitBoxes=[]},beforeUpdate:r,update:function(t,e,n){var i=this;return i.beforeUpdate(),i.maxWidth=t,i.maxHeight=e,i.margins=n,i.beforeSetDimensions(),i.setDimensions(),i.afterSetDimensions(),i.beforeBuildLabels(),i.buildLabels(),i.afterBuildLabels(),i.beforeFit(),i.fit(),i.afterFit(),i.afterUpdate(),i.minSize},afterUpdate:r,beforeSetDimensions:r,setDimensions:function(){var t=this;t.isHorizontal()?(t.width=t.maxWidth,t.left=0,t.right=t.width):(t.height=t.maxHeight,t.top=0,t.bottom=t.height),t.paddingLeft=0,t.paddingTop=0,t.paddingRight=0,t.paddingBottom=0,t.minSize={width:0,height:0}},afterSetDimensions:r,beforeBuildLabels:r,buildLabels:r,afterBuildLabels:r,beforeFit:r,fit:function(){var t=this,e=o.valueOrDefault,n=t.options,a=n.display,r=e(n.fontSize,i.global.defaultFontSize),l=t.minSize,s=o.isArray(n.text)?n.text.length:1,u=o.options.toLineHeight(n.lineHeight,r),d=a?s*u+2*n.padding:0;t.isHorizontal()?(l.width=t.maxWidth,l.height=d):(l.width=d,l.height=t.maxHeight),t.width=l.width,t.height=l.height},afterFit:r,isHorizontal:function(){var t=this.options.position;return\"top\"===t||\"bottom\"===t},draw:function(){var t=this,e=t.ctx,n=o.valueOrDefault,a=t.options,r=i.global;if(a.display){var l,s,u,d=n(a.fontSize,r.defaultFontSize),c=n(a.fontStyle,r.defaultFontStyle),h=n(a.fontFamily,r.defaultFontFamily),f=o.fontString(d,c,h),g=o.options.toLineHeight(a.lineHeight,d),p=g/2+a.padding,v=0,m=t.top,b=t.left,x=t.bottom,y=t.right;e.fillStyle=n(a.fontColor,r.defaultFontColor),e.font=f,t.isHorizontal()?(s=b+(y-b)/2,u=m+p,l=y-b):(s=\"left\"===a.position?b+p:y-p,u=m+(x-m)/2,l=x-m,v=Math.PI*(\"left\"===a.position?-.5:.5)),e.save(),e.translate(s,u),e.rotate(v),e.textAlign=\"center\",e.textBaseline=\"middle\";var k=a.text;if(o.isArray(k))for(var w=0,M=0;M<k.length;++M)e.fillText(k[M],0,w,l),w+=g;else e.fillText(k,0,0,l);e.restore()}}}),{id:\"title\",beforeInit:function(t){var n=t.options.title;n&&e(t,n)},beforeUpdate:function(a){var r=a.options.title,l=a.titleBlock;r?(o.mergeIf(r,i.global.title),l?(n.configure(a,l,r),l.options=r):e(a,r)):l&&(t.layoutService.removeBox(a,l),delete a.titleBlock)}}}},{25:25,26:26,45:45}],52:[function(t,e,n){\"use strict\";e.exports=function(t){var e=t.Scale.extend({getLabels:function(){var t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels},determineDataLimits:function(){var t=this,e=t.getLabels();t.minIndex=0,t.maxIndex=e.length-1;var n;void 0!==t.options.ticks.min&&(n=e.indexOf(t.options.ticks.min),t.minIndex=-1!==n?n:t.minIndex),void 0!==t.options.ticks.max&&(n=e.indexOf(t.options.ticks.max),t.maxIndex=-1!==n?n:t.maxIndex),t.min=e[t.minIndex],t.max=e[t.maxIndex]},buildTicks:function(){var t=this,e=t.getLabels();t.ticks=0===t.minIndex&&t.maxIndex===e.length-1?e:e.slice(t.minIndex,t.maxIndex+1)},getLabelForIndex:function(t,e){var n=this,i=n.chart.data,a=n.isHorizontal();return i.yLabels&&!a?n.getRightValue(i.datasets[e].data[t]):n.ticks[t-n.minIndex]},getPixelForValue:function(t,e){var n,i=this,a=i.options.offset,o=Math.max(i.maxIndex+1-i.minIndex-(a?0:1),1);if(void 0!==t&&null!==t&&(n=i.isHorizontal()?t.x:t.y),void 0!==n||void 0!==t&&isNaN(e)){var r=i.getLabels();t=n||t;var l=r.indexOf(t);e=-1!==l?l:e}if(i.isHorizontal()){var s=i.width/o,u=s*(e-i.minIndex);return a&&(u+=s/2),i.left+Math.round(u)}var d=i.height/o,c=d*(e-i.minIndex);return a&&(c+=d/2),i.top+Math.round(c)},getPixelForTick:function(t){return this.getPixelForValue(this.ticks[t],t+this.minIndex,null)},getValueForPixel:function(t){var e=this,n=e.options.offset,i=Math.max(e._ticks.length-(n?0:1),1),a=e.isHorizontal(),o=(a?e.width:e.height)/i;return t-=a?e.left:e.top,n&&(t-=o/2),(t<=0?0:Math.round(t/o))+e.minIndex},getBasePixel:function(){return this.bottom}});t.scaleService.registerScaleType(\"category\",e,{position:\"bottom\"})}},{}],53:[function(t,e,n){\"use strict\";var i=t(25),a=t(45),o=t(34);e.exports=function(t){var e={position:\"left\",ticks:{callback:o.formatters.linear}},n=t.LinearScaleBase.extend({determineDataLimits:function(){function t(t){return r?t.xAxisID===e.id:t.yAxisID===e.id}var e=this,n=e.options,i=e.chart,o=i.data.datasets,r=e.isHorizontal();e.min=null,e.max=null;var l=n.stacked;if(void 0===l&&a.each(o,function(e,n){if(!l){var a=i.getDatasetMeta(n);i.isDatasetVisible(n)&&t(a)&&void 0!==a.stack&&(l=!0)}}),n.stacked||l){var s={};a.each(o,function(o,r){var l=i.getDatasetMeta(r),u=[l.type,void 0===n.stacked&&void 0===l.stack?r:\"\",l.stack].join(\".\");void 0===s[u]&&(s[u]={positiveValues:[],negativeValues:[]});var d=s[u].positiveValues,c=s[u].negativeValues;i.isDatasetVisible(r)&&t(l)&&a.each(o.data,function(t,i){var a=+e.getRightValue(t);isNaN(a)||l.data[i].hidden||(d[i]=d[i]||0,c[i]=c[i]||0,n.relativePoints?d[i]=100:a<0?c[i]+=a:d[i]+=a)})}),a.each(s,function(t){var n=t.positiveValues.concat(t.negativeValues),i=a.min(n),o=a.max(n);e.min=null===e.min?i:Math.min(e.min,i),e.max=null===e.max?o:Math.max(e.max,o)})}else a.each(o,function(n,o){var r=i.getDatasetMeta(o);i.isDatasetVisible(o)&&t(r)&&a.each(n.data,function(t,n){var i=+e.getRightValue(t);isNaN(i)||r.data[n].hidden||(null===e.min?e.min=i:i<e.min&&(e.min=i),null===e.max?e.max=i:i>e.max&&(e.max=i))})});e.min=isFinite(e.min)&&!isNaN(e.min)?e.min:0,e.max=isFinite(e.max)&&!isNaN(e.max)?e.max:1,this.handleTickRangeOptions()},getTickLimit:function(){var t,e=this,n=e.options.ticks;if(e.isHorizontal())t=Math.min(n.maxTicksLimit?n.maxTicksLimit:11,Math.ceil(e.width/50));else{var o=a.valueOrDefault(n.fontSize,i.global.defaultFontSize);t=Math.min(n.maxTicksLimit?n.maxTicksLimit:11,Math.ceil(e.height/(2*o)))}return t},handleDirectionalChanges:function(){this.isHorizontal()||this.ticks.reverse()},getLabelForIndex:function(t,e){return+this.getRightValue(this.chart.data.datasets[e].data[t])},getPixelForValue:function(t){var e,n=this,i=n.start,a=+n.getRightValue(t),o=n.end-i;return n.isHorizontal()?(e=n.left+n.width/o*(a-i),Math.round(e)):(e=n.bottom-n.height/o*(a-i),Math.round(e))},getValueForPixel:function(t){var e=this,n=e.isHorizontal(),i=n?e.width:e.height,a=(n?t-e.left:e.bottom-t)/i;return e.start+(e.end-e.start)*a},getPixelForTick:function(t){return this.getPixelForValue(this.ticksAsNumbers[t])}});t.scaleService.registerScaleType(\"linear\",n,e)}},{25:25,34:34,45:45}],54:[function(t,e,n){\"use strict\";var i=t(45),a=t(34);e.exports=function(t){var e=i.noop;t.LinearScaleBase=t.Scale.extend({getRightValue:function(e){return\"string\"==typeof e?+e:t.Scale.prototype.getRightValue.call(this,e)},handleTickRangeOptions:function(){var t=this,e=t.options.ticks;if(e.beginAtZero){var n=i.sign(t.min),a=i.sign(t.max);n<0&&a<0?t.max=0:n>0&&a>0&&(t.min=0)}var o=void 0!==e.min||void 0!==e.suggestedMin,r=void 0!==e.max||void 0!==e.suggestedMax;void 0!==e.min?t.min=e.min:void 0!==e.suggestedMin&&(null===t.min?t.min=e.suggestedMin:t.min=Math.min(t.min,e.suggestedMin)),void 0!==e.max?t.max=e.max:void 0!==e.suggestedMax&&(null===t.max?t.max=e.suggestedMax:t.max=Math.max(t.max,e.suggestedMax)),o!==r&&t.min>=t.max&&(o?t.max=t.min+1:t.min=t.max-1),t.min===t.max&&(t.max++,e.beginAtZero||t.min--)},getTickLimit:e,handleDirectionalChanges:e,buildTicks:function(){var t=this,e=t.options.ticks,n=t.getTickLimit(),o={maxTicks:n=Math.max(2,n),min:e.min,max:e.max,stepSize:i.valueOrDefault(e.fixedStepSize,e.stepSize)},r=t.ticks=a.generators.linear(o,t);t.handleDirectionalChanges(),t.max=i.max(r),t.min=i.min(r),e.reverse?(r.reverse(),t.start=t.max,t.end=t.min):(t.start=t.min,t.end=t.max)},convertTicksToLabels:function(){var e=this;e.ticksAsNumbers=e.ticks.slice(),e.zeroLineIndex=e.ticks.indexOf(0),t.Scale.prototype.convertTicksToLabels.call(e)}})}},{34:34,45:45}],55:[function(t,e,n){\"use strict\";var i=t(45),a=t(34);e.exports=function(t){var e={position:\"left\",ticks:{callback:a.formatters.logarithmic}},n=t.Scale.extend({determineDataLimits:function(){function t(t){return s?t.xAxisID===e.id:t.yAxisID===e.id}var e=this,n=e.options,a=n.ticks,o=e.chart,r=o.data.datasets,l=i.valueOrDefault,s=e.isHorizontal();e.min=null,e.max=null,e.minNotZero=null;var u=n.stacked;if(void 0===u&&i.each(r,function(e,n){if(!u){var i=o.getDatasetMeta(n);o.isDatasetVisible(n)&&t(i)&&void 0!==i.stack&&(u=!0)}}),n.stacked||u){var d={};i.each(r,function(a,r){var l=o.getDatasetMeta(r),s=[l.type,void 0===n.stacked&&void 0===l.stack?r:\"\",l.stack].join(\".\");o.isDatasetVisible(r)&&t(l)&&(void 0===d[s]&&(d[s]=[]),i.each(a.data,function(t,i){var a=d[s],o=+e.getRightValue(t);isNaN(o)||l.data[i].hidden||(a[i]=a[i]||0,n.relativePoints?a[i]=100:a[i]+=o)}))}),i.each(d,function(t){var n=i.min(t),a=i.max(t);e.min=null===e.min?n:Math.min(e.min,n),e.max=null===e.max?a:Math.max(e.max,a)})}else i.each(r,function(n,a){var r=o.getDatasetMeta(a);o.isDatasetVisible(a)&&t(r)&&i.each(n.data,function(t,n){var i=+e.getRightValue(t);isNaN(i)||r.data[n].hidden||(null===e.min?e.min=i:i<e.min&&(e.min=i),null===e.max?e.max=i:i>e.max&&(e.max=i),0!==i&&(null===e.minNotZero||i<e.minNotZero)&&(e.minNotZero=i))})});e.min=l(a.min,e.min),e.max=l(a.max,e.max),e.min===e.max&&(0!==e.min&&null!==e.min?(e.min=Math.pow(10,Math.floor(i.log10(e.min))-1),e.max=Math.pow(10,Math.floor(i.log10(e.max))+1)):(e.min=1,e.max=10))},buildTicks:function(){var t=this,e=t.options.ticks,n={min:e.min,max:e.max},o=t.ticks=a.generators.logarithmic(n,t);t.isHorizontal()||o.reverse(),t.max=i.max(o),t.min=i.min(o),e.reverse?(o.reverse(),t.start=t.max,t.end=t.min):(t.start=t.min,t.end=t.max)},convertTicksToLabels:function(){this.tickValues=this.ticks.slice(),t.Scale.prototype.convertTicksToLabels.call(this)},getLabelForIndex:function(t,e){return+this.getRightValue(this.chart.data.datasets[e].data[t])},getPixelForTick:function(t){return this.getPixelForValue(this.tickValues[t])},getPixelForValue:function(t){var e,n,a,o=this,r=o.start,l=+o.getRightValue(t),s=o.options.ticks;return o.isHorizontal()?(a=i.log10(o.end)-i.log10(r),0===l?n=o.left:(e=o.width,n=o.left+e/a*(i.log10(l)-i.log10(r)))):(e=o.height,0!==r||s.reverse?0===o.end&&s.reverse?(a=i.log10(o.start)-i.log10(o.minNotZero),n=l===o.end?o.top:l===o.minNotZero?o.top+.02*e:o.top+.02*e+.98*e/a*(i.log10(l)-i.log10(o.minNotZero))):0===l?n=s.reverse?o.top:o.bottom:(a=i.log10(o.end)-i.log10(r),e=o.height,n=o.bottom-e/a*(i.log10(l)-i.log10(r))):(a=i.log10(o.end)-i.log10(o.minNotZero),n=l===r?o.bottom:l===o.minNotZero?o.bottom-.02*e:o.bottom-.02*e-.98*e/a*(i.log10(l)-i.log10(o.minNotZero)))),n},getValueForPixel:function(t){var e,n,a=this,o=i.log10(a.end)-i.log10(a.start);return a.isHorizontal()?(n=a.width,e=a.start*Math.pow(10,(t-a.left)*o/n)):(n=a.height,e=Math.pow(10,(a.bottom-t)*o/n)/a.start),e}});t.scaleService.registerScaleType(\"logarithmic\",n,e)}},{34:34,45:45}],56:[function(t,e,n){\"use strict\";var i=t(25),a=t(45),o=t(34);e.exports=function(t){function e(t){var e=t.options;return e.angleLines.display||e.pointLabels.display?t.chart.data.labels.length:0}function n(t){var e=t.options.pointLabels,n=a.valueOrDefault(e.fontSize,v.defaultFontSize),i=a.valueOrDefault(e.fontStyle,v.defaultFontStyle),o=a.valueOrDefault(e.fontFamily,v.defaultFontFamily);return{size:n,style:i,family:o,font:a.fontString(n,i,o)}}function r(t,e,n){return a.isArray(n)?{w:a.longestText(t,t.font,n),h:n.length*e+1.5*(n.length-1)*e}:{w:t.measureText(n).width,h:e}}function l(t,e,n,i,a){return t===i||t===a?{start:e-n/2,end:e+n/2}:t<i||t>a?{start:e-n-5,end:e}:{start:e,end:e+n+5}}function s(t){var i,o,s,u=n(t),d=Math.min(t.height/2,t.width/2),c={r:t.width,l:0,t:t.height,b:0},h={};t.ctx.font=u.font,t._pointLabelSizes=[];var f=e(t);for(i=0;i<f;i++){s=t.getPointPosition(i,d),o=r(t.ctx,u.size,t.pointLabels[i]||\"\"),t._pointLabelSizes[i]=o;var g=t.getIndexAngle(i),p=a.toDegrees(g)%360,v=l(p,s.x,o.w,0,180),m=l(p,s.y,o.h,90,270);v.start<c.l&&(c.l=v.start,h.l=g),v.end>c.r&&(c.r=v.end,h.r=g),m.start<c.t&&(c.t=m.start,h.t=g),m.end>c.b&&(c.b=m.end,h.b=g)}t.setReductions(d,c,h)}function u(t){var e=Math.min(t.height/2,t.width/2);t.drawingArea=Math.round(e),t.setCenterPoint(0,0,0,0)}function d(t){return 0===t||180===t?\"center\":t<180?\"left\":\"right\"}function c(t,e,n,i){if(a.isArray(e))for(var o=n.y,r=1.5*i,l=0;l<e.length;++l)t.fillText(e[l],n.x,o),o+=r;else t.fillText(e,n.x,n.y)}function h(t,e,n){90===t||270===t?n.y-=e.h/2:(t>270||t<90)&&(n.y-=e.h)}function f(t){var i=t.ctx,o=a.valueOrDefault,r=t.options,l=r.angleLines,s=r.pointLabels;i.lineWidth=l.lineWidth,i.strokeStyle=l.color;var u=t.getDistanceFromCenterForValue(r.ticks.reverse?t.min:t.max),f=n(t);i.textBaseline=\"top\";for(var g=e(t)-1;g>=0;g--){if(l.display){var p=t.getPointPosition(g,u);i.beginPath(),i.moveTo(t.xCenter,t.yCenter),i.lineTo(p.x,p.y),i.stroke(),i.closePath()}if(s.display){var m=t.getPointPosition(g,u+5),b=o(s.fontColor,v.defaultFontColor);i.font=f.font,i.fillStyle=b;var x=t.getIndexAngle(g),y=a.toDegrees(x);i.textAlign=d(y),h(y,t._pointLabelSizes[g],m),c(i,t.pointLabels[g]||\"\",m,f.size)}}}function g(t,n,i,o){var r=t.ctx;if(r.strokeStyle=a.valueAtIndexOrDefault(n.color,o-1),r.lineWidth=a.valueAtIndexOrDefault(n.lineWidth,o-1),t.options.gridLines.circular)r.beginPath(),r.arc(t.xCenter,t.yCenter,i,0,2*Math.PI),r.closePath(),r.stroke();else{var l=e(t);if(0===l)return;r.beginPath();var s=t.getPointPosition(0,i);r.moveTo(s.x,s.y);for(var u=1;u<l;u++)s=t.getPointPosition(u,i),r.lineTo(s.x,s.y);r.closePath(),r.stroke()}}function p(t){return a.isNumber(t)?t:0}var v=i.global,m={display:!0,animate:!0,position:\"chartArea\",angleLines:{display:!0,color:\"rgba(0, 0, 0, 0.1)\",lineWidth:1},gridLines:{circular:!1},ticks:{showLabelBackdrop:!0,backdropColor:\"rgba(255,255,255,0.75)\",backdropPaddingY:2,backdropPaddingX:2,callback:o.formatters.linear},pointLabels:{display:!0,fontSize:10,callback:function(t){return t}}},b=t.LinearScaleBase.extend({setDimensions:function(){var t=this,e=t.options,n=e.ticks;t.width=t.maxWidth,t.height=t.maxHeight,t.xCenter=Math.round(t.width/2),t.yCenter=Math.round(t.height/2);var i=a.min([t.height,t.width]),o=a.valueOrDefault(n.fontSize,v.defaultFontSize);t.drawingArea=e.display?i/2-(o/2+n.backdropPaddingY):i/2},determineDataLimits:function(){var t=this,e=t.chart,n=Number.POSITIVE_INFINITY,i=Number.NEGATIVE_INFINITY;a.each(e.data.datasets,function(o,r){if(e.isDatasetVisible(r)){var l=e.getDatasetMeta(r);a.each(o.data,function(e,a){var o=+t.getRightValue(e);isNaN(o)||l.data[a].hidden||(n=Math.min(o,n),i=Math.max(o,i))})}}),t.min=n===Number.POSITIVE_INFINITY?0:n,t.max=i===Number.NEGATIVE_INFINITY?0:i,t.handleTickRangeOptions()},getTickLimit:function(){var t=this.options.ticks,e=a.valueOrDefault(t.fontSize,v.defaultFontSize);return Math.min(t.maxTicksLimit?t.maxTicksLimit:11,Math.ceil(this.drawingArea/(1.5*e)))},convertTicksToLabels:function(){var e=this;t.LinearScaleBase.prototype.convertTicksToLabels.call(e),e.pointLabels=e.chart.data.labels.map(e.options.pointLabels.callback,e)},getLabelForIndex:function(t,e){return+this.getRightValue(this.chart.data.datasets[e].data[t])},fit:function(){this.options.pointLabels.display?s(this):u(this)},setReductions:function(t,e,n){var i=this,a=e.l/Math.sin(n.l),o=Math.max(e.r-i.width,0)/Math.sin(n.r),r=-e.t/Math.cos(n.t),l=-Math.max(e.b-i.height,0)/Math.cos(n.b);a=p(a),o=p(o),r=p(r),l=p(l),i.drawingArea=Math.min(Math.round(t-(a+o)/2),Math.round(t-(r+l)/2)),i.setCenterPoint(a,o,r,l)},setCenterPoint:function(t,e,n,i){var a=this,o=a.width-e-a.drawingArea,r=t+a.drawingArea,l=n+a.drawingArea,s=a.height-i-a.drawingArea;a.xCenter=Math.round((r+o)/2+a.left),a.yCenter=Math.round((l+s)/2+a.top)},getIndexAngle:function(t){return t*(2*Math.PI/e(this))+(this.chart.options&&this.chart.options.startAngle?this.chart.options.startAngle:0)*Math.PI*2/360},getDistanceFromCenterForValue:function(t){var e=this;if(null===t)return 0;var n=e.drawingArea/(e.max-e.min);return e.options.ticks.reverse?(e.max-t)*n:(t-e.min)*n},getPointPosition:function(t,e){var n=this,i=n.getIndexAngle(t)-Math.PI/2;return{x:Math.round(Math.cos(i)*e)+n.xCenter,y:Math.round(Math.sin(i)*e)+n.yCenter}},getPointPositionForValue:function(t,e){return this.getPointPosition(t,this.getDistanceFromCenterForValue(e))},getBasePosition:function(){var t=this,e=t.min,n=t.max;return t.getPointPositionForValue(0,t.beginAtZero?0:e<0&&n<0?n:e>0&&n>0?e:0)},draw:function(){var t=this,e=t.options,n=e.gridLines,i=e.ticks,o=a.valueOrDefault;if(e.display){var r=t.ctx,l=this.getIndexAngle(0),s=o(i.fontSize,v.defaultFontSize),u=o(i.fontStyle,v.defaultFontStyle),d=o(i.fontFamily,v.defaultFontFamily),c=a.fontString(s,u,d);a.each(t.ticks,function(e,a){if(a>0||i.reverse){var u=t.getDistanceFromCenterForValue(t.ticksAsNumbers[a]);if(n.display&&0!==a&&g(t,n,u,a),i.display){var d=o(i.fontColor,v.defaultFontColor);if(r.font=c,r.save(),r.translate(t.xCenter,t.yCenter),r.rotate(l),i.showLabelBackdrop){var h=r.measureText(e).width;r.fillStyle=i.backdropColor,r.fillRect(-h/2-i.backdropPaddingX,-u-s/2-i.backdropPaddingY,h+2*i.backdropPaddingX,s+2*i.backdropPaddingY)}r.textAlign=\"center\",r.textBaseline=\"middle\",r.fillStyle=d,r.fillText(e,0,-u),r.restore()}}}),(e.angleLines.display||e.pointLabels.display)&&f(t)}}});t.scaleService.registerScaleType(\"radialLinear\",b,m)}},{25:25,34:34,45:45}],57:[function(t,e,n){\"use strict\";function i(t,e){return t-e}function a(t){var e,n,i,a={},o=[];for(e=0,n=t.length;e<n;++e)a[i=t[e]]||(a[i]=!0,o.push(i));return o}function o(t,e,n,i){if(\"linear\"===i||!t.length)return[{time:e,pos:0},{time:n,pos:1}];var a,o,r,l,s,u=[],d=[e];for(a=0,o=t.length;a<o;++a)(l=t[a])>e&&l<n&&d.push(l);for(d.push(n),a=0,o=d.length;a<o;++a)s=d[a+1],r=d[a-1],l=d[a],void 0!==r&&void 0!==s&&Math.round((s+r)/2)===l||u.push({time:l,pos:a/(o-1)});return u}function r(t,e,n){for(var i,a,o,r=0,l=t.length-1;r>=0&&r<=l;){if(i=r+l>>1,a=t[i-1]||null,o=t[i],!a)return{lo:null,hi:o};if(o[e]<n)r=i+1;else{if(!(a[e]>n))return{lo:a,hi:o};l=i-1}}return{lo:o,hi:null}}function l(t,e,n,i){var a=r(t,e,n),o=a.lo?a.hi?a.lo:t[t.length-2]:t[0],l=a.lo?a.hi?a.hi:t[t.length-1]:t[1],s=l[e]-o[e],u=s?(n-o[e])/s:0,d=(l[i]-o[i])*u;return o[i]+d}function s(t,e){var n=e.parser,i=e.parser||e.format;return\"function\"==typeof n?n(t):\"string\"==typeof t&&\"string\"==typeof i?m(t,i):(t instanceof m||(t=m(t)),t.isValid()?t:\"function\"==typeof i?i(t):t)}function u(t,e){if(x.isNullOrUndef(t))return null;var n=e.options.time,i=s(e.getRightValue(t),n);return i.isValid()?(n.round&&i.startOf(n.round),i.valueOf()):null}function d(t,e,n,i){var a,o,r,l=e-t,s=w[n],u=s.size,d=s.steps;if(!d)return Math.ceil(l/((i||1)*u));for(a=0,o=d.length;a<o&&(r=d[a],!(Math.ceil(l/(u*r))<=i));++a);return r}function c(t,e,n,i){var a,o,r,l=M.length;for(a=M.indexOf(t);a<l-1;++a)if(o=w[M[a]],r=o.steps?o.steps[o.steps.length-1]:k,o.common&&Math.ceil((n-e)/(r*o.size))<=i)return M[a];return M[l-1]}function h(t,e,n,i){var a,o,r=m.duration(m(i).diff(m(n)));for(a=M.length-1;a>=M.indexOf(e);a--)if(o=M[a],w[o].common&&r.as(o)>=t.length)return o;return M[e?M.indexOf(e):0]}function f(t){for(var e=M.indexOf(t)+1,n=M.length;e<n;++e)if(w[M[e]].common)return M[e]}function g(t,e,n,i){var a,o=i.time,r=o.unit||c(o.minUnit,t,e,n),l=f(r),s=x.valueOrDefault(o.stepSize,o.unitStepSize),u=\"week\"===r&&o.isoWeekday,h=i.ticks.major.enabled,g=w[r],p=m(t),v=m(e),b=[];for(s||(s=d(t,e,r,n)),u&&(p=p.isoWeekday(u),v=v.isoWeekday(u)),p=p.startOf(u?\"day\":r),(v=v.startOf(u?\"day\":r))<e&&v.add(1,r),a=m(p),h&&l&&!u&&!o.round&&(a.startOf(l),a.add(~~((p-a)/(g.size*s))*s,r));a<v;a.add(s,r))b.push(+a);return b.push(+a),b}function p(t,e,n,i,a){var o,r,s=0,u=0;return a.offset&&e.length&&(a.time.min||(o=e.length>1?e[1]:i,r=e[0],s=(l(t,\"time\",o,\"pos\")-l(t,\"time\",r,\"pos\"))/2),a.time.max||(o=e[e.length-1],r=e.length>1?e[e.length-2]:n,u=(l(t,\"time\",o,\"pos\")-l(t,\"time\",r,\"pos\"))/2)),{left:s,right:u}}function v(t,e){var n,i,a,o,r=[];for(n=0,i=t.length;n<i;++n)a=t[n],o=!!e&&a===+m(a).startOf(e),r.push({value:a,major:o});return r}var m=t(1);m=\"function\"==typeof m?m:window.moment;var b=t(25),x=t(45),y=Number.MIN_SAFE_INTEGER||-9007199254740991,k=Number.MAX_SAFE_INTEGER||9007199254740991,w={millisecond:{common:!0,size:1,steps:[1,2,5,10,20,50,100,250,500]},second:{common:!0,size:1e3,steps:[1,2,5,10,30]},minute:{common:!0,size:6e4,steps:[1,2,5,10,30]},hour:{common:!0,size:36e5,steps:[1,2,3,6,12]},day:{common:!0,size:864e5,steps:[1,2,5]},week:{common:!1,size:6048e5,steps:[1,2,3,4]},month:{common:!0,size:2628e6,steps:[1,2,3]},quarter:{common:!1,size:7884e6,steps:[1,2,3,4]},year:{common:!0,size:3154e7}},M=Object.keys(w);e.exports=function(t){var e=t.Scale.extend({initialize:function(){if(!m)throw new Error(\"Chart.js - Moment.js could not be found! You must include it before Chart.js to use the time scale. Download at https://momentjs.com\");this.mergeTicksOptions(),t.Scale.prototype.initialize.call(this)},update:function(){var e=this,n=e.options;return n.time&&n.time.format&&console.warn(\"options.time.format is deprecated and replaced by options.time.parser.\"),t.Scale.prototype.update.apply(e,arguments)},getRightValue:function(e){return e&&void 0!==e.t&&(e=e.t),t.Scale.prototype.getRightValue.call(this,e)},determineDataLimits:function(){var t,e,n,o,r,l,s=this,d=s.chart,c=s.options.time,h=k,f=y,g=[],p=[],v=[];for(t=0,n=d.data.labels.length;t<n;++t)v.push(u(d.data.labels[t],s));for(t=0,n=(d.data.datasets||[]).length;t<n;++t)if(d.isDatasetVisible(t))if(r=d.data.datasets[t].data,x.isObject(r[0]))for(p[t]=[],e=0,o=r.length;e<o;++e)l=u(r[e],s),g.push(l),p[t][e]=l;else g.push.apply(g,v),p[t]=v.slice(0);else p[t]=[];v.length&&(v=a(v).sort(i),h=Math.min(h,v[0]),f=Math.max(f,v[v.length-1])),g.length&&(g=a(g).sort(i),h=Math.min(h,g[0]),f=Math.max(f,g[g.length-1])),h=u(c.min,s)||h,f=u(c.max,s)||f,h=h===k?+m().startOf(\"day\"):h,f=f===y?+m().endOf(\"day\")+1:f,s.min=Math.min(h,f),s.max=Math.max(h+1,f),s._horizontal=s.isHorizontal(),s._table=[],s._timestamps={data:g,datasets:p,labels:v}},buildTicks:function(){var t,e,n,i=this,a=i.min,r=i.max,l=i.options,s=l.time,d=[],c=[];switch(l.ticks.source){case\"data\":d=i._timestamps.data;break;case\"labels\":d=i._timestamps.labels;break;case\"auto\":default:d=g(a,r,i.getLabelCapacity(a),l)}for(\"ticks\"===l.bounds&&d.length&&(a=d[0],r=d[d.length-1]),a=u(s.min,i)||a,r=u(s.max,i)||r,t=0,e=d.length;t<e;++t)(n=d[t])>=a&&n<=r&&c.push(n);return i.min=a,i.max=r,i._unit=s.unit||h(c,s.minUnit,i.min,i.max),i._majorUnit=f(i._unit),i._table=o(i._timestamps.data,a,r,l.distribution),i._offsets=p(i._table,c,a,r,l),v(c,i._majorUnit)},getLabelForIndex:function(t,e){var n=this,i=n.chart.data,a=n.options.time,o=i.labels&&t<i.labels.length?i.labels[t]:\"\",r=i.datasets[e].data[t];return x.isObject(r)&&(o=n.getRightValue(r)),a.tooltipFormat&&(o=s(o,a).format(a.tooltipFormat)),o},tickFormatFunction:function(t,e,n,i){var a=this,o=a.options,r=t.valueOf(),l=o.time.displayFormats,s=l[a._unit],u=a._majorUnit,d=l[u],c=t.clone().startOf(u).valueOf(),h=o.ticks.major,f=h.enabled&&u&&d&&r===c,g=t.format(i||(f?d:s)),p=f?h:o.ticks.minor,v=x.valueOrDefault(p.callback,p.userCallback);return v?v(g,e,n):g},convertTicksToLabels:function(t){var e,n,i=[];for(e=0,n=t.length;e<n;++e)i.push(this.tickFormatFunction(m(t[e].value),e,t));return i},getPixelForOffset:function(t){var e=this,n=e._horizontal?e.width:e.height,i=e._horizontal?e.left:e.top,a=l(e._table,\"time\",t,\"pos\");return i+n*(e._offsets.left+a)/(e._offsets.left+1+e._offsets.right)},getPixelForValue:function(t,e,n){var i=this,a=null;if(void 0!==e&&void 0!==n&&(a=i._timestamps.datasets[n][e]),null===a&&(a=u(t,i)),null!==a)return i.getPixelForOffset(a)},getPixelForTick:function(t){var e=this.getTicks();return t>=0&&t<e.length?this.getPixelForOffset(e[t].value):null},getValueForPixel:function(t){var e=this,n=e._horizontal?e.width:e.height,i=e._horizontal?e.left:e.top,a=(n?(t-i)/n:0)*(e._offsets.left+1+e._offsets.left)-e._offsets.right,o=l(e._table,\"pos\",a,\"time\");return m(o)},getLabelWidth:function(t){var e=this,n=e.options.ticks,i=e.ctx.measureText(t).width,a=x.toRadians(n.maxRotation),o=Math.cos(a),r=Math.sin(a);return i*o+x.valueOrDefault(n.fontSize,b.global.defaultFontSize)*r},getLabelCapacity:function(t){var e=this,n=e.options.time.displayFormats.millisecond,i=e.tickFormatFunction(m(t),0,[],n),a=e.getLabelWidth(i),o=e.isHorizontal()?e.width:e.height;return Math.floor(o/a)}});t.scaleService.registerScaleType(\"time\",e,{position:\"bottom\",distribution:\"linear\",bounds:\"data\",time:{parser:!1,format:!1,unit:!1,round:!1,displayFormat:!1,isoWeekday:!1,minUnit:\"millisecond\",displayFormats:{millisecond:\"h:mm:ss.SSS a\",second:\"h:mm:ss a\",minute:\"h:mm a\",hour:\"hA\",day:\"MMM D\",week:\"ll\",month:\"MMM YYYY\",quarter:\"[Q]Q - YYYY\",year:\"YYYY\"}},ticks:{autoSkip:!1,source:\"auto\",major:{enabled:!1}}})}},{1:1,25:25,45:45}]},{},[7])(7)});","/*!\r\n  * Bootstrap v4.0.0 (https://getbootstrap.com)\r\n  * Copyright 2011-2018 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)\r\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\r\n  */\r\n!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?e(exports,require(\"jquery\"),require(\"popper.js\")):\"function\"==typeof define&&define.amd?define([\"exports\",\"jquery\",\"popper.js\"],e):e(t.bootstrap={},t.jQuery,t.Popper)}(this,function(t,e,n){\"use strict\";function i(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}function s(t,e,n){return e&&i(t.prototype,e),n&&i(t,n),t}function r(){return(r=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t}).apply(this,arguments)}e=e&&e.hasOwnProperty(\"default\")?e.default:e,n=n&&n.hasOwnProperty(\"default\")?n.default:n;var o,a,l,h,c,u,f,d,_,g,p,m,v,E,T,y,C,I,A,b,D,S,w,N,O,k,P=function(t){var e=!1;function n(e){var n=this,s=!1;return t(this).one(i.TRANSITION_END,function(){s=!0}),setTimeout(function(){s||i.triggerTransitionEnd(n)},e),this}var i={TRANSITION_END:\"bsTransitionEnd\",getUID:function(t){do{t+=~~(1e6*Math.random())}while(document.getElementById(t));return t},getSelectorFromElement:function(e){var n,i=e.getAttribute(\"data-target\");i&&\"#\"!==i||(i=e.getAttribute(\"href\")||\"\"),\"#\"===i.charAt(0)&&(n=i,i=n=\"function\"==typeof t.escapeSelector?t.escapeSelector(n).substr(1):n.replace(/(:|\\.|\\[|\\]|,|=|@)/g,\"\\\\$1\"));try{return t(document).find(i).length>0?i:null}catch(t){return null}},reflow:function(t){return t.offsetHeight},triggerTransitionEnd:function(n){t(n).trigger(e.end)},supportsTransitionEnd:function(){return Boolean(e)},isElement:function(t){return(t[0]||t).nodeType},typeCheckConfig:function(t,e,n){for(var s in n)if(Object.prototype.hasOwnProperty.call(n,s)){var r=n[s],o=e[s],a=o&&i.isElement(o)?\"element\":(l=o,{}.toString.call(l).match(/\\s([a-zA-Z]+)/)[1].toLowerCase());if(!new RegExp(r).test(a))throw new Error(t.toUpperCase()+': Option \"'+s+'\" provided type \"'+a+'\" but expected type \"'+r+'\".')}var l}};return e=(\"undefined\"==typeof window||!window.QUnit)&&{end:\"transitionend\"},t.fn.emulateTransitionEnd=n,i.supportsTransitionEnd()&&(t.event.special[i.TRANSITION_END]={bindType:e.end,delegateType:e.end,handle:function(e){if(t(e.target).is(this))return e.handleObj.handler.apply(this,arguments)}}),i}(e),L=(a=\"alert\",h=\".\"+(l=\"bs.alert\"),c=(o=e).fn[a],u={CLOSE:\"close\"+h,CLOSED:\"closed\"+h,CLICK_DATA_API:\"click\"+h+\".data-api\"},f=\"alert\",d=\"fade\",_=\"show\",g=function(){function t(t){this._element=t}var e=t.prototype;return e.close=function(t){t=t||this._element;var e=this._getRootElement(t);this._triggerCloseEvent(e).isDefaultPrevented()||this._removeElement(e)},e.dispose=function(){o.removeData(this._element,l),this._element=null},e._getRootElement=function(t){var e=P.getSelectorFromElement(t),n=!1;return e&&(n=o(e)[0]),n||(n=o(t).closest(\".\"+f)[0]),n},e._triggerCloseEvent=function(t){var e=o.Event(u.CLOSE);return o(t).trigger(e),e},e._removeElement=function(t){var e=this;o(t).removeClass(_),P.supportsTransitionEnd()&&o(t).hasClass(d)?o(t).one(P.TRANSITION_END,function(n){return e._destroyElement(t,n)}).emulateTransitionEnd(150):this._destroyElement(t)},e._destroyElement=function(t){o(t).detach().trigger(u.CLOSED).remove()},t._jQueryInterface=function(e){return this.each(function(){var n=o(this),i=n.data(l);i||(i=new t(this),n.data(l,i)),\"close\"===e&&i[e](this)})},t._handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},s(t,null,[{key:\"VERSION\",get:function(){return\"4.0.0\"}}]),t}(),o(document).on(u.CLICK_DATA_API,'[data-dismiss=\"alert\"]',g._handleDismiss(new g)),o.fn[a]=g._jQueryInterface,o.fn[a].Constructor=g,o.fn[a].noConflict=function(){return o.fn[a]=c,g._jQueryInterface},g),R=(m=\"button\",E=\".\"+(v=\"bs.button\"),T=\".data-api\",y=(p=e).fn[m],C=\"active\",I=\"btn\",A=\"focus\",b='[data-toggle^=\"button\"]',D='[data-toggle=\"buttons\"]',S=\"input\",w=\".active\",N=\".btn\",O={CLICK_DATA_API:\"click\"+E+T,FOCUS_BLUR_DATA_API:\"focus\"+E+T+\" blur\"+E+T},k=function(){function t(t){this._element=t}var e=t.prototype;return e.toggle=function(){var t=!0,e=!0,n=p(this._element).closest(D)[0];if(n){var i=p(this._element).find(S)[0];if(i){if(\"radio\"===i.type)if(i.checked&&p(this._element).hasClass(C))t=!1;else{var s=p(n).find(w)[0];s&&p(s).removeClass(C)}if(t){if(i.hasAttribute(\"disabled\")||n.hasAttribute(\"disabled\")||i.classList.contains(\"disabled\")||n.classList.contains(\"disabled\"))return;i.checked=!p(this._element).hasClass(C),p(i).trigger(\"change\")}i.focus(),e=!1}}e&&this._element.setAttribute(\"aria-pressed\",!p(this._element).hasClass(C)),t&&p(this._element).toggleClass(C)},e.dispose=function(){p.removeData(this._element,v),this._element=null},t._jQueryInterface=function(e){return this.each(function(){var n=p(this).data(v);n||(n=new t(this),p(this).data(v,n)),\"toggle\"===e&&n[e]()})},s(t,null,[{key:\"VERSION\",get:function(){return\"4.0.0\"}}]),t}(),p(document).on(O.CLICK_DATA_API,b,function(t){t.preventDefault();var e=t.target;p(e).hasClass(I)||(e=p(e).closest(N)),k._jQueryInterface.call(p(e),\"toggle\")}).on(O.FOCUS_BLUR_DATA_API,b,function(t){var e=p(t.target).closest(N)[0];p(e).toggleClass(A,/^focus(in)?$/.test(t.type))}),p.fn[m]=k._jQueryInterface,p.fn[m].Constructor=k,p.fn[m].noConflict=function(){return p.fn[m]=y,k._jQueryInterface},k),j=function(t){var e=\"carousel\",n=\"bs.carousel\",i=\".\"+n,o=t.fn[e],a={interval:5e3,keyboard:!0,slide:!1,pause:\"hover\",wrap:!0},l={interval:\"(number|boolean)\",keyboard:\"boolean\",slide:\"(boolean|string)\",pause:\"(string|boolean)\",wrap:\"boolean\"},h=\"next\",c=\"prev\",u=\"left\",f=\"right\",d={SLIDE:\"slide\"+i,SLID:\"slid\"+i,KEYDOWN:\"keydown\"+i,MOUSEENTER:\"mouseenter\"+i,MOUSELEAVE:\"mouseleave\"+i,TOUCHEND:\"touchend\"+i,LOAD_DATA_API:\"load\"+i+\".data-api\",CLICK_DATA_API:\"click\"+i+\".data-api\"},_=\"carousel\",g=\"active\",p=\"slide\",m=\"carousel-item-right\",v=\"carousel-item-left\",E=\"carousel-item-next\",T=\"carousel-item-prev\",y={ACTIVE:\".active\",ACTIVE_ITEM:\".active.carousel-item\",ITEM:\".carousel-item\",NEXT_PREV:\".carousel-item-next, .carousel-item-prev\",INDICATORS:\".carousel-indicators\",DATA_SLIDE:\"[data-slide], [data-slide-to]\",DATA_RIDE:'[data-ride=\"carousel\"]'},C=function(){function o(e,n){this._items=null,this._interval=null,this._activeElement=null,this._isPaused=!1,this._isSliding=!1,this.touchTimeout=null,this._config=this._getConfig(n),this._element=t(e)[0],this._indicatorsElement=t(this._element).find(y.INDICATORS)[0],this._addEventListeners()}var C=o.prototype;return C.next=function(){this._isSliding||this._slide(h)},C.nextWhenVisible=function(){!document.hidden&&t(this._element).is(\":visible\")&&\"hidden\"!==t(this._element).css(\"visibility\")&&this.next()},C.prev=function(){this._isSliding||this._slide(c)},C.pause=function(e){e||(this._isPaused=!0),t(this._element).find(y.NEXT_PREV)[0]&&P.supportsTransitionEnd()&&(P.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},C.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},C.to=function(e){var n=this;this._activeElement=t(this._element).find(y.ACTIVE_ITEM)[0];var i=this._getItemIndex(this._activeElement);if(!(e>this._items.length-1||e<0))if(this._isSliding)t(this._element).one(d.SLID,function(){return n.to(e)});else{if(i===e)return this.pause(),void this.cycle();var s=e>i?h:c;this._slide(s,this._items[e])}},C.dispose=function(){t(this._element).off(i),t.removeData(this._element,n),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},C._getConfig=function(t){return t=r({},a,t),P.typeCheckConfig(e,t,l),t},C._addEventListeners=function(){var e=this;this._config.keyboard&&t(this._element).on(d.KEYDOWN,function(t){return e._keydown(t)}),\"hover\"===this._config.pause&&(t(this._element).on(d.MOUSEENTER,function(t){return e.pause(t)}).on(d.MOUSELEAVE,function(t){return e.cycle(t)}),\"ontouchstart\"in document.documentElement&&t(this._element).on(d.TOUCHEND,function(){e.pause(),e.touchTimeout&&clearTimeout(e.touchTimeout),e.touchTimeout=setTimeout(function(t){return e.cycle(t)},500+e._config.interval)}))},C._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case 37:t.preventDefault(),this.prev();break;case 39:t.preventDefault(),this.next()}},C._getItemIndex=function(e){return this._items=t.makeArray(t(e).parent().find(y.ITEM)),this._items.indexOf(e)},C._getItemByDirection=function(t,e){var n=t===h,i=t===c,s=this._getItemIndex(e),r=this._items.length-1;if((i&&0===s||n&&s===r)&&!this._config.wrap)return e;var o=(s+(t===c?-1:1))%this._items.length;return-1===o?this._items[this._items.length-1]:this._items[o]},C._triggerSlideEvent=function(e,n){var i=this._getItemIndex(e),s=this._getItemIndex(t(this._element).find(y.ACTIVE_ITEM)[0]),r=t.Event(d.SLIDE,{relatedTarget:e,direction:n,from:s,to:i});return t(this._element).trigger(r),r},C._setActiveIndicatorElement=function(e){if(this._indicatorsElement){t(this._indicatorsElement).find(y.ACTIVE).removeClass(g);var n=this._indicatorsElement.children[this._getItemIndex(e)];n&&t(n).addClass(g)}},C._slide=function(e,n){var i,s,r,o=this,a=t(this._element).find(y.ACTIVE_ITEM)[0],l=this._getItemIndex(a),c=n||a&&this._getItemByDirection(e,a),_=this._getItemIndex(c),C=Boolean(this._interval);if(e===h?(i=v,s=E,r=u):(i=m,s=T,r=f),c&&t(c).hasClass(g))this._isSliding=!1;else if(!this._triggerSlideEvent(c,r).isDefaultPrevented()&&a&&c){this._isSliding=!0,C&&this.pause(),this._setActiveIndicatorElement(c);var I=t.Event(d.SLID,{relatedTarget:c,direction:r,from:l,to:_});P.supportsTransitionEnd()&&t(this._element).hasClass(p)?(t(c).addClass(s),P.reflow(c),t(a).addClass(i),t(c).addClass(i),t(a).one(P.TRANSITION_END,function(){t(c).removeClass(i+\" \"+s).addClass(g),t(a).removeClass(g+\" \"+s+\" \"+i),o._isSliding=!1,setTimeout(function(){return t(o._element).trigger(I)},0)}).emulateTransitionEnd(600)):(t(a).removeClass(g),t(c).addClass(g),this._isSliding=!1,t(this._element).trigger(I)),C&&this.cycle()}},o._jQueryInterface=function(e){return this.each(function(){var i=t(this).data(n),s=r({},a,t(this).data());\"object\"==typeof e&&(s=r({},s,e));var l=\"string\"==typeof e?e:s.slide;if(i||(i=new o(this,s),t(this).data(n,i)),\"number\"==typeof e)i.to(e);else if(\"string\"==typeof l){if(\"undefined\"==typeof i[l])throw new TypeError('No method named \"'+l+'\"');i[l]()}else s.interval&&(i.pause(),i.cycle())})},o._dataApiClickHandler=function(e){var i=P.getSelectorFromElement(this);if(i){var s=t(i)[0];if(s&&t(s).hasClass(_)){var a=r({},t(s).data(),t(this).data()),l=this.getAttribute(\"data-slide-to\");l&&(a.interval=!1),o._jQueryInterface.call(t(s),a),l&&t(s).data(n).to(l),e.preventDefault()}}},s(o,null,[{key:\"VERSION\",get:function(){return\"4.0.0\"}},{key:\"Default\",get:function(){return a}}]),o}();return t(document).on(d.CLICK_DATA_API,y.DATA_SLIDE,C._dataApiClickHandler),t(window).on(d.LOAD_DATA_API,function(){t(y.DATA_RIDE).each(function(){var e=t(this);C._jQueryInterface.call(e,e.data())})}),t.fn[e]=C._jQueryInterface,t.fn[e].Constructor=C,t.fn[e].noConflict=function(){return t.fn[e]=o,C._jQueryInterface},C}(e),H=function(t){var e=\"collapse\",n=\"bs.collapse\",i=\".\"+n,o=t.fn[e],a={toggle:!0,parent:\"\"},l={toggle:\"boolean\",parent:\"(string|element)\"},h={SHOW:\"show\"+i,SHOWN:\"shown\"+i,HIDE:\"hide\"+i,HIDDEN:\"hidden\"+i,CLICK_DATA_API:\"click\"+i+\".data-api\"},c=\"show\",u=\"collapse\",f=\"collapsing\",d=\"collapsed\",_=\"width\",g=\"height\",p={ACTIVES:\".show, .collapsing\",DATA_TOGGLE:'[data-toggle=\"collapse\"]'},m=function(){function i(e,n){this._isTransitioning=!1,this._element=e,this._config=this._getConfig(n),this._triggerArray=t.makeArray(t('[data-toggle=\"collapse\"][href=\"#'+e.id+'\"],[data-toggle=\"collapse\"][data-target=\"#'+e.id+'\"]'));for(var i=t(p.DATA_TOGGLE),s=0;s<i.length;s++){var r=i[s],o=P.getSelectorFromElement(r);null!==o&&t(o).filter(e).length>0&&(this._selector=o,this._triggerArray.push(r))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}var o=i.prototype;return o.toggle=function(){t(this._element).hasClass(c)?this.hide():this.show()},o.show=function(){var e,s,r=this;if(!this._isTransitioning&&!t(this._element).hasClass(c)&&(this._parent&&0===(e=t.makeArray(t(this._parent).find(p.ACTIVES).filter('[data-parent=\"'+this._config.parent+'\"]'))).length&&(e=null),!(e&&(s=t(e).not(this._selector).data(n))&&s._isTransitioning))){var o=t.Event(h.SHOW);if(t(this._element).trigger(o),!o.isDefaultPrevented()){e&&(i._jQueryInterface.call(t(e).not(this._selector),\"hide\"),s||t(e).data(n,null));var a=this._getDimension();t(this._element).removeClass(u).addClass(f),this._element.style[a]=0,this._triggerArray.length>0&&t(this._triggerArray).removeClass(d).attr(\"aria-expanded\",!0),this.setTransitioning(!0);var l=function(){t(r._element).removeClass(f).addClass(u).addClass(c),r._element.style[a]=\"\",r.setTransitioning(!1),t(r._element).trigger(h.SHOWN)};if(P.supportsTransitionEnd()){var _=\"scroll\"+(a[0].toUpperCase()+a.slice(1));t(this._element).one(P.TRANSITION_END,l).emulateTransitionEnd(600),this._element.style[a]=this._element[_]+\"px\"}else l()}}},o.hide=function(){var e=this;if(!this._isTransitioning&&t(this._element).hasClass(c)){var n=t.Event(h.HIDE);if(t(this._element).trigger(n),!n.isDefaultPrevented()){var i=this._getDimension();if(this._element.style[i]=this._element.getBoundingClientRect()[i]+\"px\",P.reflow(this._element),t(this._element).addClass(f).removeClass(u).removeClass(c),this._triggerArray.length>0)for(var s=0;s<this._triggerArray.length;s++){var r=this._triggerArray[s],o=P.getSelectorFromElement(r);if(null!==o)t(o).hasClass(c)||t(r).addClass(d).attr(\"aria-expanded\",!1)}this.setTransitioning(!0);var a=function(){e.setTransitioning(!1),t(e._element).removeClass(f).addClass(u).trigger(h.HIDDEN)};this._element.style[i]=\"\",P.supportsTransitionEnd()?t(this._element).one(P.TRANSITION_END,a).emulateTransitionEnd(600):a()}}},o.setTransitioning=function(t){this._isTransitioning=t},o.dispose=function(){t.removeData(this._element,n),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},o._getConfig=function(t){return(t=r({},a,t)).toggle=Boolean(t.toggle),P.typeCheckConfig(e,t,l),t},o._getDimension=function(){return t(this._element).hasClass(_)?_:g},o._getParent=function(){var e=this,n=null;P.isElement(this._config.parent)?(n=this._config.parent,\"undefined\"!=typeof this._config.parent.jquery&&(n=this._config.parent[0])):n=t(this._config.parent)[0];var s='[data-toggle=\"collapse\"][data-parent=\"'+this._config.parent+'\"]';return t(n).find(s).each(function(t,n){e._addAriaAndCollapsedClass(i._getTargetFromElement(n),[n])}),n},o._addAriaAndCollapsedClass=function(e,n){if(e){var i=t(e).hasClass(c);n.length>0&&t(n).toggleClass(d,!i).attr(\"aria-expanded\",i)}},i._getTargetFromElement=function(e){var n=P.getSelectorFromElement(e);return n?t(n)[0]:null},i._jQueryInterface=function(e){return this.each(function(){var s=t(this),o=s.data(n),l=r({},a,s.data(),\"object\"==typeof e&&e);if(!o&&l.toggle&&/show|hide/.test(e)&&(l.toggle=!1),o||(o=new i(this,l),s.data(n,o)),\"string\"==typeof e){if(\"undefined\"==typeof o[e])throw new TypeError('No method named \"'+e+'\"');o[e]()}})},s(i,null,[{key:\"VERSION\",get:function(){return\"4.0.0\"}},{key:\"Default\",get:function(){return a}}]),i}();return t(document).on(h.CLICK_DATA_API,p.DATA_TOGGLE,function(e){\"A\"===e.currentTarget.tagName&&e.preventDefault();var i=t(this),s=P.getSelectorFromElement(this);t(s).each(function(){var e=t(this),s=e.data(n)?\"toggle\":i.data();m._jQueryInterface.call(e,s)})}),t.fn[e]=m._jQueryInterface,t.fn[e].Constructor=m,t.fn[e].noConflict=function(){return t.fn[e]=o,m._jQueryInterface},m}(e),W=function(t){var e=\"dropdown\",i=\"bs.dropdown\",o=\".\"+i,a=\".data-api\",l=t.fn[e],h=new RegExp(\"38|40|27\"),c={HIDE:\"hide\"+o,HIDDEN:\"hidden\"+o,SHOW:\"show\"+o,SHOWN:\"shown\"+o,CLICK:\"click\"+o,CLICK_DATA_API:\"click\"+o+a,KEYDOWN_DATA_API:\"keydown\"+o+a,KEYUP_DATA_API:\"keyup\"+o+a},u=\"disabled\",f=\"show\",d=\"dropup\",_=\"dropright\",g=\"dropleft\",p=\"dropdown-menu-right\",m=\"dropdown-menu-left\",v=\"position-static\",E='[data-toggle=\"dropdown\"]',T=\".dropdown form\",y=\".dropdown-menu\",C=\".navbar-nav\",I=\".dropdown-menu .dropdown-item:not(.disabled)\",A=\"top-start\",b=\"top-end\",D=\"bottom-start\",S=\"bottom-end\",w=\"right-start\",N=\"left-start\",O={offset:0,flip:!0,boundary:\"scrollParent\"},k={offset:\"(number|string|function)\",flip:\"boolean\",boundary:\"(string|element)\"},L=function(){function a(t,e){this._element=t,this._popper=null,this._config=this._getConfig(e),this._menu=this._getMenuElement(),this._inNavbar=this._detectNavbar(),this._addEventListeners()}var l=a.prototype;return l.toggle=function(){if(!this._element.disabled&&!t(this._element).hasClass(u)){var e=a._getParentFromElement(this._element),i=t(this._menu).hasClass(f);if(a._clearMenus(),!i){var s={relatedTarget:this._element},r=t.Event(c.SHOW,s);if(t(e).trigger(r),!r.isDefaultPrevented()){if(!this._inNavbar){if(\"undefined\"==typeof n)throw new TypeError(\"Bootstrap dropdown require Popper.js (https://popper.js.org)\");var o=this._element;t(e).hasClass(d)&&(t(this._menu).hasClass(m)||t(this._menu).hasClass(p))&&(o=e),\"scrollParent\"!==this._config.boundary&&t(e).addClass(v),this._popper=new n(o,this._menu,this._getPopperConfig())}\"ontouchstart\"in document.documentElement&&0===t(e).closest(C).length&&t(\"body\").children().on(\"mouseover\",null,t.noop),this._element.focus(),this._element.setAttribute(\"aria-expanded\",!0),t(this._menu).toggleClass(f),t(e).toggleClass(f).trigger(t.Event(c.SHOWN,s))}}}},l.dispose=function(){t.removeData(this._element,i),t(this._element).off(o),this._element=null,this._menu=null,null!==this._popper&&(this._popper.destroy(),this._popper=null)},l.update=function(){this._inNavbar=this._detectNavbar(),null!==this._popper&&this._popper.scheduleUpdate()},l._addEventListeners=function(){var e=this;t(this._element).on(c.CLICK,function(t){t.preventDefault(),t.stopPropagation(),e.toggle()})},l._getConfig=function(n){return n=r({},this.constructor.Default,t(this._element).data(),n),P.typeCheckConfig(e,n,this.constructor.DefaultType),n},l._getMenuElement=function(){if(!this._menu){var e=a._getParentFromElement(this._element);this._menu=t(e).find(y)[0]}return this._menu},l._getPlacement=function(){var e=t(this._element).parent(),n=D;return e.hasClass(d)?(n=A,t(this._menu).hasClass(p)&&(n=b)):e.hasClass(_)?n=w:e.hasClass(g)?n=N:t(this._menu).hasClass(p)&&(n=S),n},l._detectNavbar=function(){return t(this._element).closest(\".navbar\").length>0},l._getPopperConfig=function(){var t=this,e={};return\"function\"==typeof this._config.offset?e.fn=function(e){return e.offsets=r({},e.offsets,t._config.offset(e.offsets)||{}),e}:e.offset=this._config.offset,{placement:this._getPlacement(),modifiers:{offset:e,flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}}},a._jQueryInterface=function(e){return this.each(function(){var n=t(this).data(i);if(n||(n=new a(this,\"object\"==typeof e?e:null),t(this).data(i,n)),\"string\"==typeof e){if(\"undefined\"==typeof n[e])throw new TypeError('No method named \"'+e+'\"');n[e]()}})},a._clearMenus=function(e){if(!e||3!==e.which&&(\"keyup\"!==e.type||9===e.which))for(var n=t.makeArray(t(E)),s=0;s<n.length;s++){var r=a._getParentFromElement(n[s]),o=t(n[s]).data(i),l={relatedTarget:n[s]};if(o){var h=o._menu;if(t(r).hasClass(f)&&!(e&&(\"click\"===e.type&&/input|textarea/i.test(e.target.tagName)||\"keyup\"===e.type&&9===e.which)&&t.contains(r,e.target))){var u=t.Event(c.HIDE,l);t(r).trigger(u),u.isDefaultPrevented()||(\"ontouchstart\"in document.documentElement&&t(\"body\").children().off(\"mouseover\",null,t.noop),n[s].setAttribute(\"aria-expanded\",\"false\"),t(h).removeClass(f),t(r).removeClass(f).trigger(t.Event(c.HIDDEN,l)))}}}},a._getParentFromElement=function(e){var n,i=P.getSelectorFromElement(e);return i&&(n=t(i)[0]),n||e.parentNode},a._dataApiKeydownHandler=function(e){if((/input|textarea/i.test(e.target.tagName)?!(32===e.which||27!==e.which&&(40!==e.which&&38!==e.which||t(e.target).closest(y).length)):h.test(e.which))&&(e.preventDefault(),e.stopPropagation(),!this.disabled&&!t(this).hasClass(u))){var n=a._getParentFromElement(this),i=t(n).hasClass(f);if((i||27===e.which&&32===e.which)&&(!i||27!==e.which&&32!==e.which)){var s=t(n).find(I).get();if(0!==s.length){var r=s.indexOf(e.target);38===e.which&&r>0&&r--,40===e.which&&r<s.length-1&&r++,r<0&&(r=0),s[r].focus()}}else{if(27===e.which){var o=t(n).find(E)[0];t(o).trigger(\"focus\")}t(this).trigger(\"click\")}}},s(a,null,[{key:\"VERSION\",get:function(){return\"4.0.0\"}},{key:\"Default\",get:function(){return O}},{key:\"DefaultType\",get:function(){return k}}]),a}();return t(document).on(c.KEYDOWN_DATA_API,E,L._dataApiKeydownHandler).on(c.KEYDOWN_DATA_API,y,L._dataApiKeydownHandler).on(c.CLICK_DATA_API+\" \"+c.KEYUP_DATA_API,L._clearMenus).on(c.CLICK_DATA_API,E,function(e){e.preventDefault(),e.stopPropagation(),L._jQueryInterface.call(t(this),\"toggle\")}).on(c.CLICK_DATA_API,T,function(t){t.stopPropagation()}),t.fn[e]=L._jQueryInterface,t.fn[e].Constructor=L,t.fn[e].noConflict=function(){return t.fn[e]=l,L._jQueryInterface},L}(e),M=function(t){var e=\"modal\",n=\"bs.modal\",i=\".\"+n,o=t.fn.modal,a={backdrop:!0,keyboard:!0,focus:!0,show:!0},l={backdrop:\"(boolean|string)\",keyboard:\"boolean\",focus:\"boolean\",show:\"boolean\"},h={HIDE:\"hide\"+i,HIDDEN:\"hidden\"+i,SHOW:\"show\"+i,SHOWN:\"shown\"+i,FOCUSIN:\"focusin\"+i,RESIZE:\"resize\"+i,CLICK_DISMISS:\"click.dismiss\"+i,KEYDOWN_DISMISS:\"keydown.dismiss\"+i,MOUSEUP_DISMISS:\"mouseup.dismiss\"+i,MOUSEDOWN_DISMISS:\"mousedown.dismiss\"+i,CLICK_DATA_API:\"click\"+i+\".data-api\"},c=\"modal-scrollbar-measure\",u=\"modal-backdrop\",f=\"modal-open\",d=\"fade\",_=\"show\",g={DIALOG:\".modal-dialog\",DATA_TOGGLE:'[data-toggle=\"modal\"]',DATA_DISMISS:'[data-dismiss=\"modal\"]',FIXED_CONTENT:\".fixed-top, .fixed-bottom, .is-fixed, .sticky-top\",STICKY_CONTENT:\".sticky-top\",NAVBAR_TOGGLER:\".navbar-toggler\"},p=function(){function o(e,n){this._config=this._getConfig(n),this._element=e,this._dialog=t(e).find(g.DIALOG)[0],this._backdrop=null,this._isShown=!1,this._isBodyOverflowing=!1,this._ignoreBackdropClick=!1,this._originalBodyPadding=0,this._scrollbarWidth=0}var p=o.prototype;return p.toggle=function(t){return this._isShown?this.hide():this.show(t)},p.show=function(e){var n=this;if(!this._isTransitioning&&!this._isShown){P.supportsTransitionEnd()&&t(this._element).hasClass(d)&&(this._isTransitioning=!0);var i=t.Event(h.SHOW,{relatedTarget:e});t(this._element).trigger(i),this._isShown||i.isDefaultPrevented()||(this._isShown=!0,this._checkScrollbar(),this._setScrollbar(),this._adjustDialog(),t(document.body).addClass(f),this._setEscapeEvent(),this._setResizeEvent(),t(this._element).on(h.CLICK_DISMISS,g.DATA_DISMISS,function(t){return n.hide(t)}),t(this._dialog).on(h.MOUSEDOWN_DISMISS,function(){t(n._element).one(h.MOUSEUP_DISMISS,function(e){t(e.target).is(n._element)&&(n._ignoreBackdropClick=!0)})}),this._showBackdrop(function(){return n._showElement(e)}))}},p.hide=function(e){var n=this;if(e&&e.preventDefault(),!this._isTransitioning&&this._isShown){var i=t.Event(h.HIDE);if(t(this._element).trigger(i),this._isShown&&!i.isDefaultPrevented()){this._isShown=!1;var s=P.supportsTransitionEnd()&&t(this._element).hasClass(d);s&&(this._isTransitioning=!0),this._setEscapeEvent(),this._setResizeEvent(),t(document).off(h.FOCUSIN),t(this._element).removeClass(_),t(this._element).off(h.CLICK_DISMISS),t(this._dialog).off(h.MOUSEDOWN_DISMISS),s?t(this._element).one(P.TRANSITION_END,function(t){return n._hideModal(t)}).emulateTransitionEnd(300):this._hideModal()}}},p.dispose=function(){t.removeData(this._element,n),t(window,document,this._element,this._backdrop).off(i),this._config=null,this._element=null,this._dialog=null,this._backdrop=null,this._isShown=null,this._isBodyOverflowing=null,this._ignoreBackdropClick=null,this._scrollbarWidth=null},p.handleUpdate=function(){this._adjustDialog()},p._getConfig=function(t){return t=r({},a,t),P.typeCheckConfig(e,t,l),t},p._showElement=function(e){var n=this,i=P.supportsTransitionEnd()&&t(this._element).hasClass(d);this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display=\"block\",this._element.removeAttribute(\"aria-hidden\"),this._element.scrollTop=0,i&&P.reflow(this._element),t(this._element).addClass(_),this._config.focus&&this._enforceFocus();var s=t.Event(h.SHOWN,{relatedTarget:e}),r=function(){n._config.focus&&n._element.focus(),n._isTransitioning=!1,t(n._element).trigger(s)};i?t(this._dialog).one(P.TRANSITION_END,r).emulateTransitionEnd(300):r()},p._enforceFocus=function(){var e=this;t(document).off(h.FOCUSIN).on(h.FOCUSIN,function(n){document!==n.target&&e._element!==n.target&&0===t(e._element).has(n.target).length&&e._element.focus()})},p._setEscapeEvent=function(){var e=this;this._isShown&&this._config.keyboard?t(this._element).on(h.KEYDOWN_DISMISS,function(t){27===t.which&&(t.preventDefault(),e.hide())}):this._isShown||t(this._element).off(h.KEYDOWN_DISMISS)},p._setResizeEvent=function(){var e=this;this._isShown?t(window).on(h.RESIZE,function(t){return e.handleUpdate(t)}):t(window).off(h.RESIZE)},p._hideModal=function(){var e=this;this._element.style.display=\"none\",this._element.setAttribute(\"aria-hidden\",!0),this._isTransitioning=!1,this._showBackdrop(function(){t(document.body).removeClass(f),e._resetAdjustments(),e._resetScrollbar(),t(e._element).trigger(h.HIDDEN)})},p._removeBackdrop=function(){this._backdrop&&(t(this._backdrop).remove(),this._backdrop=null)},p._showBackdrop=function(e){var n=this,i=t(this._element).hasClass(d)?d:\"\";if(this._isShown&&this._config.backdrop){var s=P.supportsTransitionEnd()&&i;if(this._backdrop=document.createElement(\"div\"),this._backdrop.className=u,i&&t(this._backdrop).addClass(i),t(this._backdrop).appendTo(document.body),t(this._element).on(h.CLICK_DISMISS,function(t){n._ignoreBackdropClick?n._ignoreBackdropClick=!1:t.target===t.currentTarget&&(\"static\"===n._config.backdrop?n._element.focus():n.hide())}),s&&P.reflow(this._backdrop),t(this._backdrop).addClass(_),!e)return;if(!s)return void e();t(this._backdrop).one(P.TRANSITION_END,e).emulateTransitionEnd(150)}else if(!this._isShown&&this._backdrop){t(this._backdrop).removeClass(_);var r=function(){n._removeBackdrop(),e&&e()};P.supportsTransitionEnd()&&t(this._element).hasClass(d)?t(this._backdrop).one(P.TRANSITION_END,r).emulateTransitionEnd(150):r()}else e&&e()},p._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+\"px\"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+\"px\")},p._resetAdjustments=function(){this._element.style.paddingLeft=\"\",this._element.style.paddingRight=\"\"},p._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=t.left+t.right<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},p._setScrollbar=function(){var e=this;if(this._isBodyOverflowing){t(g.FIXED_CONTENT).each(function(n,i){var s=t(i)[0].style.paddingRight,r=t(i).css(\"padding-right\");t(i).data(\"padding-right\",s).css(\"padding-right\",parseFloat(r)+e._scrollbarWidth+\"px\")}),t(g.STICKY_CONTENT).each(function(n,i){var s=t(i)[0].style.marginRight,r=t(i).css(\"margin-right\");t(i).data(\"margin-right\",s).css(\"margin-right\",parseFloat(r)-e._scrollbarWidth+\"px\")}),t(g.NAVBAR_TOGGLER).each(function(n,i){var s=t(i)[0].style.marginRight,r=t(i).css(\"margin-right\");t(i).data(\"margin-right\",s).css(\"margin-right\",parseFloat(r)+e._scrollbarWidth+\"px\")});var n=document.body.style.paddingRight,i=t(\"body\").css(\"padding-right\");t(\"body\").data(\"padding-right\",n).css(\"padding-right\",parseFloat(i)+this._scrollbarWidth+\"px\")}},p._resetScrollbar=function(){t(g.FIXED_CONTENT).each(function(e,n){var i=t(n).data(\"padding-right\");\"undefined\"!=typeof i&&t(n).css(\"padding-right\",i).removeData(\"padding-right\")}),t(g.STICKY_CONTENT+\", \"+g.NAVBAR_TOGGLER).each(function(e,n){var i=t(n).data(\"margin-right\");\"undefined\"!=typeof i&&t(n).css(\"margin-right\",i).removeData(\"margin-right\")});var e=t(\"body\").data(\"padding-right\");\"undefined\"!=typeof e&&t(\"body\").css(\"padding-right\",e).removeData(\"padding-right\")},p._getScrollbarWidth=function(){var t=document.createElement(\"div\");t.className=c,document.body.appendChild(t);var e=t.getBoundingClientRect().width-t.clientWidth;return document.body.removeChild(t),e},o._jQueryInterface=function(e,i){return this.each(function(){var s=t(this).data(n),a=r({},o.Default,t(this).data(),\"object\"==typeof e&&e);if(s||(s=new o(this,a),t(this).data(n,s)),\"string\"==typeof e){if(\"undefined\"==typeof s[e])throw new TypeError('No method named \"'+e+'\"');s[e](i)}else a.show&&s.show(i)})},s(o,null,[{key:\"VERSION\",get:function(){return\"4.0.0\"}},{key:\"Default\",get:function(){return a}}]),o}();return t(document).on(h.CLICK_DATA_API,g.DATA_TOGGLE,function(e){var i,s=this,o=P.getSelectorFromElement(this);o&&(i=t(o)[0]);var a=t(i).data(n)?\"toggle\":r({},t(i).data(),t(this).data());\"A\"!==this.tagName&&\"AREA\"!==this.tagName||e.preventDefault();var l=t(i).one(h.SHOW,function(e){e.isDefaultPrevented()||l.one(h.HIDDEN,function(){t(s).is(\":visible\")&&s.focus()})});p._jQueryInterface.call(t(i),a,this)}),t.fn.modal=p._jQueryInterface,t.fn.modal.Constructor=p,t.fn.modal.noConflict=function(){return t.fn.modal=o,p._jQueryInterface},p}(e),U=function(t){var e=\"tooltip\",i=\"bs.tooltip\",o=\".\"+i,a=t.fn[e],l=new RegExp(\"(^|\\\\s)bs-tooltip\\\\S+\",\"g\"),h={animation:\"boolean\",template:\"string\",title:\"(string|element|function)\",trigger:\"string\",delay:\"(number|object)\",html:\"boolean\",selector:\"(string|boolean)\",placement:\"(string|function)\",offset:\"(number|string)\",container:\"(string|element|boolean)\",fallbackPlacement:\"(string|array)\",boundary:\"(string|element)\"},c={AUTO:\"auto\",TOP:\"top\",RIGHT:\"right\",BOTTOM:\"bottom\",LEFT:\"left\"},u={animation:!0,template:'<div class=\"tooltip\" role=\"tooltip\"><div class=\"arrow\"></div><div class=\"tooltip-inner\"></div></div>',trigger:\"hover focus\",title:\"\",delay:0,html:!1,selector:!1,placement:\"top\",offset:0,container:!1,fallbackPlacement:\"flip\",boundary:\"scrollParent\"},f=\"show\",d=\"out\",_={HIDE:\"hide\"+o,HIDDEN:\"hidden\"+o,SHOW:\"show\"+o,SHOWN:\"shown\"+o,INSERTED:\"inserted\"+o,CLICK:\"click\"+o,FOCUSIN:\"focusin\"+o,FOCUSOUT:\"focusout\"+o,MOUSEENTER:\"mouseenter\"+o,MOUSELEAVE:\"mouseleave\"+o},g=\"fade\",p=\"show\",m=\".tooltip-inner\",v=\".arrow\",E=\"hover\",T=\"focus\",y=\"click\",C=\"manual\",I=function(){function a(t,e){if(\"undefined\"==typeof n)throw new TypeError(\"Bootstrap tooltips require Popper.js (https://popper.js.org)\");this._isEnabled=!0,this._timeout=0,this._hoverState=\"\",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var I=a.prototype;return I.enable=function(){this._isEnabled=!0},I.disable=function(){this._isEnabled=!1},I.toggleEnabled=function(){this._isEnabled=!this._isEnabled},I.toggle=function(e){if(this._isEnabled)if(e){var n=this.constructor.DATA_KEY,i=t(e.currentTarget).data(n);i||(i=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(n,i)),i._activeTrigger.click=!i._activeTrigger.click,i._isWithActiveTrigger()?i._enter(null,i):i._leave(null,i)}else{if(t(this.getTipElement()).hasClass(p))return void this._leave(null,this);this._enter(null,this)}},I.dispose=function(){clearTimeout(this._timeout),t.removeData(this.element,this.constructor.DATA_KEY),t(this.element).off(this.constructor.EVENT_KEY),t(this.element).closest(\".modal\").off(\"hide.bs.modal\"),this.tip&&t(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,null!==this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},I.show=function(){var e=this;if(\"none\"===t(this.element).css(\"display\"))throw new Error(\"Please use show on visible elements\");var i=t.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){t(this.element).trigger(i);var s=t.contains(this.element.ownerDocument.documentElement,this.element);if(i.isDefaultPrevented()||!s)return;var r=this.getTipElement(),o=P.getUID(this.constructor.NAME);r.setAttribute(\"id\",o),this.element.setAttribute(\"aria-describedby\",o),this.setContent(),this.config.animation&&t(r).addClass(g);var l=\"function\"==typeof this.config.placement?this.config.placement.call(this,r,this.element):this.config.placement,h=this._getAttachment(l);this.addAttachmentClass(h);var c=!1===this.config.container?document.body:t(this.config.container);t(r).data(this.constructor.DATA_KEY,this),t.contains(this.element.ownerDocument.documentElement,this.tip)||t(r).appendTo(c),t(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new n(this.element,r,{placement:h,modifiers:{offset:{offset:this.config.offset},flip:{behavior:this.config.fallbackPlacement},arrow:{element:v},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){e._handlePopperPlacementChange(t)}}),t(r).addClass(p),\"ontouchstart\"in document.documentElement&&t(\"body\").children().on(\"mouseover\",null,t.noop);var u=function(){e.config.animation&&e._fixTransition();var n=e._hoverState;e._hoverState=null,t(e.element).trigger(e.constructor.Event.SHOWN),n===d&&e._leave(null,e)};P.supportsTransitionEnd()&&t(this.tip).hasClass(g)?t(this.tip).one(P.TRANSITION_END,u).emulateTransitionEnd(a._TRANSITION_DURATION):u()}},I.hide=function(e){var n=this,i=this.getTipElement(),s=t.Event(this.constructor.Event.HIDE),r=function(){n._hoverState!==f&&i.parentNode&&i.parentNode.removeChild(i),n._cleanTipClass(),n.element.removeAttribute(\"aria-describedby\"),t(n.element).trigger(n.constructor.Event.HIDDEN),null!==n._popper&&n._popper.destroy(),e&&e()};t(this.element).trigger(s),s.isDefaultPrevented()||(t(i).removeClass(p),\"ontouchstart\"in document.documentElement&&t(\"body\").children().off(\"mouseover\",null,t.noop),this._activeTrigger[y]=!1,this._activeTrigger[T]=!1,this._activeTrigger[E]=!1,P.supportsTransitionEnd()&&t(this.tip).hasClass(g)?t(i).one(P.TRANSITION_END,r).emulateTransitionEnd(150):r(),this._hoverState=\"\")},I.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},I.isWithContent=function(){return Boolean(this.getTitle())},I.addAttachmentClass=function(e){t(this.getTipElement()).addClass(\"bs-tooltip-\"+e)},I.getTipElement=function(){return this.tip=this.tip||t(this.config.template)[0],this.tip},I.setContent=function(){var e=t(this.getTipElement());this.setElementContent(e.find(m),this.getTitle()),e.removeClass(g+\" \"+p)},I.setElementContent=function(e,n){var i=this.config.html;\"object\"==typeof n&&(n.nodeType||n.jquery)?i?t(n).parent().is(e)||e.empty().append(n):e.text(t(n).text()):e[i?\"html\":\"text\"](n)},I.getTitle=function(){var t=this.element.getAttribute(\"data-original-title\");return t||(t=\"function\"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},I._getAttachment=function(t){return c[t.toUpperCase()]},I._setListeners=function(){var e=this;this.config.trigger.split(\" \").forEach(function(n){if(\"click\"===n)t(e.element).on(e.constructor.Event.CLICK,e.config.selector,function(t){return e.toggle(t)});else if(n!==C){var i=n===E?e.constructor.Event.MOUSEENTER:e.constructor.Event.FOCUSIN,s=n===E?e.constructor.Event.MOUSELEAVE:e.constructor.Event.FOCUSOUT;t(e.element).on(i,e.config.selector,function(t){return e._enter(t)}).on(s,e.config.selector,function(t){return e._leave(t)})}t(e.element).closest(\".modal\").on(\"hide.bs.modal\",function(){return e.hide()})}),this.config.selector?this.config=r({},this.config,{trigger:\"manual\",selector:\"\"}):this._fixTitle()},I._fixTitle=function(){var t=typeof this.element.getAttribute(\"data-original-title\");(this.element.getAttribute(\"title\")||\"string\"!==t)&&(this.element.setAttribute(\"data-original-title\",this.element.getAttribute(\"title\")||\"\"),this.element.setAttribute(\"title\",\"\"))},I._enter=function(e,n){var i=this.constructor.DATA_KEY;(n=n||t(e.currentTarget).data(i))||(n=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(i,n)),e&&(n._activeTrigger[\"focusin\"===e.type?T:E]=!0),t(n.getTipElement()).hasClass(p)||n._hoverState===f?n._hoverState=f:(clearTimeout(n._timeout),n._hoverState=f,n.config.delay&&n.config.delay.show?n._timeout=setTimeout(function(){n._hoverState===f&&n.show()},n.config.delay.show):n.show())},I._leave=function(e,n){var i=this.constructor.DATA_KEY;(n=n||t(e.currentTarget).data(i))||(n=new this.constructor(e.currentTarget,this._getDelegateConfig()),t(e.currentTarget).data(i,n)),e&&(n._activeTrigger[\"focusout\"===e.type?T:E]=!1),n._isWithActiveTrigger()||(clearTimeout(n._timeout),n._hoverState=d,n.config.delay&&n.config.delay.hide?n._timeout=setTimeout(function(){n._hoverState===d&&n.hide()},n.config.delay.hide):n.hide())},I._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},I._getConfig=function(n){return\"number\"==typeof(n=r({},this.constructor.Default,t(this.element).data(),n)).delay&&(n.delay={show:n.delay,hide:n.delay}),\"number\"==typeof n.title&&(n.title=n.title.toString()),\"number\"==typeof n.content&&(n.content=n.content.toString()),P.typeCheckConfig(e,n,this.constructor.DefaultType),n},I._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},I._cleanTipClass=function(){var e=t(this.getTipElement()),n=e.attr(\"class\").match(l);null!==n&&n.length>0&&e.removeClass(n.join(\"\"))},I._handlePopperPlacementChange=function(t){this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},I._fixTransition=function(){var e=this.getTipElement(),n=this.config.animation;null===e.getAttribute(\"x-placement\")&&(t(e).removeClass(g),this.config.animation=!1,this.hide(),this.show(),this.config.animation=n)},a._jQueryInterface=function(e){return this.each(function(){var n=t(this).data(i),s=\"object\"==typeof e&&e;if((n||!/dispose|hide/.test(e))&&(n||(n=new a(this,s),t(this).data(i,n)),\"string\"==typeof e)){if(\"undefined\"==typeof n[e])throw new TypeError('No method named \"'+e+'\"');n[e]()}})},s(a,null,[{key:\"VERSION\",get:function(){return\"4.0.0\"}},{key:\"Default\",get:function(){return u}},{key:\"NAME\",get:function(){return e}},{key:\"DATA_KEY\",get:function(){return i}},{key:\"Event\",get:function(){return _}},{key:\"EVENT_KEY\",get:function(){return o}},{key:\"DefaultType\",get:function(){return h}}]),a}();return t.fn[e]=I._jQueryInterface,t.fn[e].Constructor=I,t.fn[e].noConflict=function(){return t.fn[e]=a,I._jQueryInterface},I}(e),x=function(t){var e=\"popover\",n=\"bs.popover\",i=\".\"+n,o=t.fn[e],a=new RegExp(\"(^|\\\\s)bs-popover\\\\S+\",\"g\"),l=r({},U.Default,{placement:\"right\",trigger:\"click\",content:\"\",template:'<div class=\"popover\" role=\"tooltip\"><div class=\"arrow\"></div><h3 class=\"popover-header\"></h3><div class=\"popover-body\"></div></div>'}),h=r({},U.DefaultType,{content:\"(string|element|function)\"}),c=\"fade\",u=\"show\",f=\".popover-header\",d=\".popover-body\",_={HIDE:\"hide\"+i,HIDDEN:\"hidden\"+i,SHOW:\"show\"+i,SHOWN:\"shown\"+i,INSERTED:\"inserted\"+i,CLICK:\"click\"+i,FOCUSIN:\"focusin\"+i,FOCUSOUT:\"focusout\"+i,MOUSEENTER:\"mouseenter\"+i,MOUSELEAVE:\"mouseleave\"+i},g=function(r){var o,g;function p(){return r.apply(this,arguments)||this}g=r,(o=p).prototype=Object.create(g.prototype),o.prototype.constructor=o,o.__proto__=g;var m=p.prototype;return m.isWithContent=function(){return this.getTitle()||this._getContent()},m.addAttachmentClass=function(e){t(this.getTipElement()).addClass(\"bs-popover-\"+e)},m.getTipElement=function(){return this.tip=this.tip||t(this.config.template)[0],this.tip},m.setContent=function(){var e=t(this.getTipElement());this.setElementContent(e.find(f),this.getTitle());var n=this._getContent();\"function\"==typeof n&&(n=n.call(this.element)),this.setElementContent(e.find(d),n),e.removeClass(c+\" \"+u)},m._getContent=function(){return this.element.getAttribute(\"data-content\")||this.config.content},m._cleanTipClass=function(){var e=t(this.getTipElement()),n=e.attr(\"class\").match(a);null!==n&&n.length>0&&e.removeClass(n.join(\"\"))},p._jQueryInterface=function(e){return this.each(function(){var i=t(this).data(n),s=\"object\"==typeof e?e:null;if((i||!/destroy|hide/.test(e))&&(i||(i=new p(this,s),t(this).data(n,i)),\"string\"==typeof e)){if(\"undefined\"==typeof i[e])throw new TypeError('No method named \"'+e+'\"');i[e]()}})},s(p,null,[{key:\"VERSION\",get:function(){return\"4.0.0\"}},{key:\"Default\",get:function(){return l}},{key:\"NAME\",get:function(){return e}},{key:\"DATA_KEY\",get:function(){return n}},{key:\"Event\",get:function(){return _}},{key:\"EVENT_KEY\",get:function(){return i}},{key:\"DefaultType\",get:function(){return h}}]),p}(U);return t.fn[e]=g._jQueryInterface,t.fn[e].Constructor=g,t.fn[e].noConflict=function(){return t.fn[e]=o,g._jQueryInterface},g}(e),K=function(t){var e=\"scrollspy\",n=\"bs.scrollspy\",i=\".\"+n,o=t.fn[e],a={offset:10,method:\"auto\",target:\"\"},l={offset:\"number\",method:\"string\",target:\"(string|element)\"},h={ACTIVATE:\"activate\"+i,SCROLL:\"scroll\"+i,LOAD_DATA_API:\"load\"+i+\".data-api\"},c=\"dropdown-item\",u=\"active\",f={DATA_SPY:'[data-spy=\"scroll\"]',ACTIVE:\".active\",NAV_LIST_GROUP:\".nav, .list-group\",NAV_LINKS:\".nav-link\",NAV_ITEMS:\".nav-item\",LIST_ITEMS:\".list-group-item\",DROPDOWN:\".dropdown\",DROPDOWN_ITEMS:\".dropdown-item\",DROPDOWN_TOGGLE:\".dropdown-toggle\"},d=\"offset\",_=\"position\",g=function(){function o(e,n){var i=this;this._element=e,this._scrollElement=\"BODY\"===e.tagName?window:e,this._config=this._getConfig(n),this._selector=this._config.target+\" \"+f.NAV_LINKS+\",\"+this._config.target+\" \"+f.LIST_ITEMS+\",\"+this._config.target+\" \"+f.DROPDOWN_ITEMS,this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,t(this._scrollElement).on(h.SCROLL,function(t){return i._process(t)}),this.refresh(),this._process()}var g=o.prototype;return g.refresh=function(){var e=this,n=this._scrollElement===this._scrollElement.window?d:_,i=\"auto\"===this._config.method?n:this._config.method,s=i===_?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),t.makeArray(t(this._selector)).map(function(e){var n,r=P.getSelectorFromElement(e);if(r&&(n=t(r)[0]),n){var o=n.getBoundingClientRect();if(o.width||o.height)return[t(n)[i]().top+s,r]}return null}).filter(function(t){return t}).sort(function(t,e){return t[0]-e[0]}).forEach(function(t){e._offsets.push(t[0]),e._targets.push(t[1])})},g.dispose=function(){t.removeData(this._element,n),t(this._scrollElement).off(i),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},g._getConfig=function(n){if(\"string\"!=typeof(n=r({},a,n)).target){var i=t(n.target).attr(\"id\");i||(i=P.getUID(e),t(n.target).attr(\"id\",i)),n.target=\"#\"+i}return P.typeCheckConfig(e,n,l),n},g._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},g._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},g._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},g._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t<this._offsets[0]&&this._offsets[0]>0)return this._activeTarget=null,void this._clear();for(var s=this._offsets.length;s--;){this._activeTarget!==this._targets[s]&&t>=this._offsets[s]&&(\"undefined\"==typeof this._offsets[s+1]||t<this._offsets[s+1])&&this._activate(this._targets[s])}}},g._activate=function(e){this._activeTarget=e,this._clear();var n=this._selector.split(\",\");n=n.map(function(t){return t+'[data-target=\"'+e+'\"],'+t+'[href=\"'+e+'\"]'});var i=t(n.join(\",\"));i.hasClass(c)?(i.closest(f.DROPDOWN).find(f.DROPDOWN_TOGGLE).addClass(u),i.addClass(u)):(i.addClass(u),i.parents(f.NAV_LIST_GROUP).prev(f.NAV_LINKS+\", \"+f.LIST_ITEMS).addClass(u),i.parents(f.NAV_LIST_GROUP).prev(f.NAV_ITEMS).children(f.NAV_LINKS).addClass(u)),t(this._scrollElement).trigger(h.ACTIVATE,{relatedTarget:e})},g._clear=function(){t(this._selector).filter(f.ACTIVE).removeClass(u)},o._jQueryInterface=function(e){return this.each(function(){var i=t(this).data(n);if(i||(i=new o(this,\"object\"==typeof e&&e),t(this).data(n,i)),\"string\"==typeof e){if(\"undefined\"==typeof i[e])throw new TypeError('No method named \"'+e+'\"');i[e]()}})},s(o,null,[{key:\"VERSION\",get:function(){return\"4.0.0\"}},{key:\"Default\",get:function(){return a}}]),o}();return t(window).on(h.LOAD_DATA_API,function(){for(var e=t.makeArray(t(f.DATA_SPY)),n=e.length;n--;){var i=t(e[n]);g._jQueryInterface.call(i,i.data())}}),t.fn[e]=g._jQueryInterface,t.fn[e].Constructor=g,t.fn[e].noConflict=function(){return t.fn[e]=o,g._jQueryInterface},g}(e),V=function(t){var e=\"bs.tab\",n=\".\"+e,i=t.fn.tab,r={HIDE:\"hide\"+n,HIDDEN:\"hidden\"+n,SHOW:\"show\"+n,SHOWN:\"shown\"+n,CLICK_DATA_API:\"click.bs.tab.data-api\"},o=\"dropdown-menu\",a=\"active\",l=\"disabled\",h=\"fade\",c=\"show\",u=\".dropdown\",f=\".nav, .list-group\",d=\".active\",_=\"> li > .active\",g='[data-toggle=\"tab\"], [data-toggle=\"pill\"], [data-toggle=\"list\"]',p=\".dropdown-toggle\",m=\"> .dropdown-menu .active\",v=function(){function n(t){this._element=t}var i=n.prototype;return i.show=function(){var e=this;if(!(this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE&&t(this._element).hasClass(a)||t(this._element).hasClass(l))){var n,i,s=t(this._element).closest(f)[0],o=P.getSelectorFromElement(this._element);if(s){var h=\"UL\"===s.nodeName?_:d;i=(i=t.makeArray(t(s).find(h)))[i.length-1]}var c=t.Event(r.HIDE,{relatedTarget:this._element}),u=t.Event(r.SHOW,{relatedTarget:i});if(i&&t(i).trigger(c),t(this._element).trigger(u),!u.isDefaultPrevented()&&!c.isDefaultPrevented()){o&&(n=t(o)[0]),this._activate(this._element,s);var g=function(){var n=t.Event(r.HIDDEN,{relatedTarget:e._element}),s=t.Event(r.SHOWN,{relatedTarget:i});t(i).trigger(n),t(e._element).trigger(s)};n?this._activate(n,n.parentNode,g):g()}}},i.dispose=function(){t.removeData(this._element,e),this._element=null},i._activate=function(e,n,i){var s=this,r=(\"UL\"===n.nodeName?t(n).find(_):t(n).children(d))[0],o=i&&P.supportsTransitionEnd()&&r&&t(r).hasClass(h),a=function(){return s._transitionComplete(e,r,i)};r&&o?t(r).one(P.TRANSITION_END,a).emulateTransitionEnd(150):a()},i._transitionComplete=function(e,n,i){if(n){t(n).removeClass(c+\" \"+a);var s=t(n.parentNode).find(m)[0];s&&t(s).removeClass(a),\"tab\"===n.getAttribute(\"role\")&&n.setAttribute(\"aria-selected\",!1)}if(t(e).addClass(a),\"tab\"===e.getAttribute(\"role\")&&e.setAttribute(\"aria-selected\",!0),P.reflow(e),t(e).addClass(c),e.parentNode&&t(e.parentNode).hasClass(o)){var r=t(e).closest(u)[0];r&&t(r).find(p).addClass(a),e.setAttribute(\"aria-expanded\",!0)}i&&i()},n._jQueryInterface=function(i){return this.each(function(){var s=t(this),r=s.data(e);if(r||(r=new n(this),s.data(e,r)),\"string\"==typeof i){if(\"undefined\"==typeof r[i])throw new TypeError('No method named \"'+i+'\"');r[i]()}})},s(n,null,[{key:\"VERSION\",get:function(){return\"4.0.0\"}}]),n}();return t(document).on(r.CLICK_DATA_API,g,function(e){e.preventDefault(),v._jQueryInterface.call(t(this),\"show\")}),t.fn.tab=v._jQueryInterface,t.fn.tab.Constructor=v,t.fn.tab.noConflict=function(){return t.fn.tab=i,v._jQueryInterface},v}(e);!function(t){if(\"undefined\"==typeof t)throw new TypeError(\"Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript.\");var e=t.fn.jquery.split(\" \")[0].split(\".\");if(e[0]<2&&e[1]<9||1===e[0]&&9===e[1]&&e[2]<1||e[0]>=4)throw new Error(\"Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0\")}(e),t.Util=P,t.Alert=L,t.Button=R,t.Carousel=j,t.Collapse=H,t.Dropdown=W,t.Modal=M,t.Popover=x,t.Scrollspy=K,t.Tab=V,t.Tooltip=U,Object.defineProperty(t,\"__esModule\",{value:!0})});\r\n//# sourceMappingURL=bootstrap.min.js.map","var baseconfig;\r\nvar session;\r\nvar sessionStatus;\r\nvar userManager;\r\nvar groupInfo;\r\nvar jstoastr;\r\nvar getDataLoop;\r\nvar isCallbackCalling;\r\nvar old_timestamp;\r\nvar systemSettingMarker;\r\nvar baseLatitude;\r\nvar baseLongitude;\r\nvar baseProgressInterval;\r\nvar baseCallbackData;\r\nvar baseEmergencyList = [];\r\nvar rechordObj;\r\nvar toastOption = {\r\n    has_icon:true,\r\n    has_close_btn:true,\r\n    stack: true,\r\n    fullscreen:true,\r\n    timeout:3000,\r\n    sticky:false,\r\n    has_progress:true,\r\n    rtl:false,\r\n    position_class:\"toast-bottom-right\",\r\n}\r\n\r\nvar baseUnits = ['bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];\r\n\r\nvar toastBottomRightOption = Object.assign({},toastOption);\r\ntoastBottomRightOption.position_class = \"toast-bottom-right\";\r\n\r\nvar toastTopCenterOption  = Object.assign({},toastOption);\r\ntoastTopCenterOption.position_class =  \"toast-top-center\";\r\n\r\nvar toastSOSBottomRightOption = Object.assign({},{\r\n    has_icon:true,\r\n    has_close_btn:true,\r\n    stack: true,\r\n    fullscreen:true,\r\n    timeout:(1000*60)*60*60,\r\n    sticky:false,\r\n    has_progress:true,\r\n    rtl:false,\r\n    position_class:\"toast-bottom-right\",\r\n});\r\n\r\nfunction sessionCallback(sender, event, json) {\r\n    \r\n    sessionStatus = (json.code == jSW.RcCode.RC_CODE_S_OK);\r\n\r\n    if(sessionStatus){\r\n\r\n        callGroupList();\r\n    }\r\n}\r\n\r\nfunction notificationCallback(sender, event, json) {\r\n\r\n    if(json.msg == \"notify_pu_onoffline\" ){\r\n\r\n        if(session._arr_pu_online.length > 0)\r\n        {\r\n            for(var i=0;i<session._arr_pu_online.length;i++){\r\n\r\n                userManager .swGetUAInfoByPuid({\r\n                    targetId:session._arr_pu_online[i]._id_pu,\r\n                    tag:null,\r\n                    callback: function (options, res,result) \r\n                        {\r\n                            var index = session._arr_pu_online.map(function(e) { return e._id_pu; }).indexOf(result[0].szdevid);\r\n\r\n                            session._arr_pu_online[index]._userid = result[0].szuserid;\r\n                            session._arr_pu_online[index]._username = result[0].szusername;\r\n           \r\n                            if(index==session._arr_pu_online.length-1){\r\n                                \r\n                                CreateActiveDevicesList();\r\n                                createActiveLiveList();\r\n                                CreateActiveCommunicationList();\r\n                                refreshDeviceList();\r\n                                checkActiveSOS();\r\n                            }\r\n                        }\r\n                    });\r\n            }\r\n        }\r\n        else{\r\n\r\n            CreateActiveDevicesList();\r\n            createActiveLiveList();\r\n            CreateActiveCommunicationList();\r\n            refreshDeviceList();\r\n            checkActiveSOS();\r\n        }\r\n    }else if(json.msg ==  \"notify_event_source\" && json.content.iEventType == 4099){ /// 4099 press sos, 4115 low bettery\r\n\r\n        var sosInfo = session._arr_pu_online.filter(q => q._id_pu == json.content.szID)[0];\r\n\r\n        if(sosInfo != null){\r\n\r\n            $(\"#audioPoliceSiren\")[0].currentTime = 0;\r\n    \r\n            $(\"#audioPoliceSiren\")[0].play();\r\n\r\n            sosInfo.name = sosInfo._userid;\r\n   \r\n            groupInfo.forEach((group) => {\r\n                if (group._userlist) {\r\n                    group._userlist.forEach((userGroup) => {\r\n                        if(userGroup._user.id == sosInfo._userid)  sosInfo.name  = userGroup._user.name;\r\n                    });\r\n                }\r\n            });\r\n\r\n            if($('.sos.toast-close.'+sosInfo._userid).length == 0){\r\n                $.Toast('SOS ALERT',  {id:sosInfo._userid,value:sosInfo.name +\"</br>(\"+ sosInfo._userid+\")\"}, \"sos\" , toastSOSBottomRightOption,json.content.szID);\r\n            }\r\n\r\n            // var new_timestamp = new Date().valueOf();\r\n\r\n            // if(old_timestamp == null || old_timestamp+2000 < new_timestamp){\r\n\r\n            //     old_timestamp = new Date().valueOf();\r\n            \r\n            // }\r\n        }\r\n        \r\n    }\r\n    \r\n}\r\n\r\nfunction baseNotificationOnOfflineCallback(event,id){\r\n\r\n    if(event == 'login'){\r\n\r\n        $.Toast(\"\", id + \" is Online!\", \"success\", toastBottomRightOption);\r\n    }else if(event == 'logout'){\r\n        $.each($('.sos.toast-close.'+id), function (key, val) {\r\n            val.click();\r\n        });\r\n        $.Toast(\"\",id + \" is Offline!\", \"error\", toastBottomRightOption);\r\n    }\r\n}\r\n\r\nfunction callGroupList() {\r\n\r\n    if(!userManager){\r\n\r\n        userManager = session.swGetUserManager();\r\n    }\r\n    \r\n    userManager.swInit({\r\n        callback: function (sender, response, data) {\r\n            userManager.swGetGroupList({\r\n                callback: function (sender, event, data) {\r\n\r\n                    groupInfo = data;\r\n\r\n                    groupInfo.forEach((group)=>{\r\n                        group._userlist.forEach((user)=>{\r\n                            user.swGetUserInfo({callback: function (sender, event, data) { \r\n\r\n                            }});\r\n                        });\r\n                    });\r\n                },\r\n                ondatachanged: function (sender, response, data) {},\r\n                tag: null\r\n            });\r\n        },\r\n        ondatachanged: function (sender, response, data) {},\r\n        tag: null\r\n    });\r\n}\r\n\r\nfunction refreshDeviceList(){\r\n\r\n    if($(\".main.device-management #refreshDeviceManamentList\").html() != undefined){\r\n\r\n        $(\"#refreshDeviceManamentList\").click();\r\n    }\r\n    if($(\".main.device-file-list #closeDeviceFileList\").html() != undefined){\r\n\r\n        $(\"#closeDeviceFileList\").click();\r\n    };\r\n}\r\n\r\nfunction callUserList() {    //GetUser By ID\r\n\r\n    userGroupInfo = [];\r\n    userManager = session.swGetUserManager();\r\n    var result = \"\";\r\n    for (var iIndex = 0; iIndex < groupInfo.length; iIndex++) {\r\n        group = groupInfo[iIndex]._group;\r\n        var group = userManager.swGetGroupById(group.id);\r\n        group.swGetUserList({\r\n            callback: function (sender, event, data) {\r\n\r\n                groupInfo.forEach((group)=>{\r\n\r\n                    group._group.parent =  data.filter(q=>q._user.groupid == group._group.id);\r\n                });\r\n            },\r\n            ondatachanged: function (sender, response, data) {},\r\n            tag: null\r\n        });\r\n    }\r\n\r\n}\r\n\r\nfunction isWaiting(data,message = \"Loading...\"){\r\n\r\n    $(\"#div-waiting .waiting-message  img.loading-img\").show();\r\n    $(\"#div-waiting .waiting-message  #waiting-timer\").hide();\r\n\r\n\r\n    if(data)\r\n        document.getElementById(\"div-waiting\").style.display = \"block\";\r\n    else\r\n        document.getElementById(\"div-waiting\").style.display = \"none\";\r\n\r\n        $(\"#div-waiting .waiting-message .loading-text\").html(message);\r\n}\r\n\r\nfunction isTimerWaiting(data,message = \"Loading...\",timer=30){\r\n\r\n    $(\"#div-waiting .waiting-message  img.loading-img\").hide();\r\n    $(\"#div-waiting .waiting-message  #waiting-timer\").show();\r\n\r\n    if(data){\r\n\r\n        document.getElementById(\"div-waiting\").style.display = \"block\";\r\n        startTimer(timer);\r\n    }\r\n    else\r\n    {\r\n\r\n        document.getElementById(\"div-waiting\").style.display = \"none\";\r\n        \r\n        if (baseTimerInterval != null) {\r\n            clearInterval(baseTimerInterval);\r\n        }\r\n    }\r\n\r\n     $(\"#div-waiting .waiting-message .loading-text\").html(message);\r\n}\r\n\r\nfunction downloadImage(data, filename = 'untitled.jpg') {\r\n    var a = document.createElement('a');\r\n    a.href = data;\r\n    a.download = filename;\r\n    document.body.appendChild(a);\r\n    a.click();\r\n}\r\n\r\nfunction pad(num, size) {\r\n    var s = \"000000000\" + num;\r\n    return s.substr(s.length-size);\r\n}\r\n\r\nfunction pad2(n) { return n < 10 ? '0' + n : n }\r\n\r\nfunction getDateExtendtion(){\r\n    \r\n    var date = new Date();\r\n    return date.getFullYear().toString() + pad2(date.getMonth() + 1) + pad2( date.getDate())+ \"-\" + pad2( date.getHours() ) + pad2( date.getMinutes() )+ pad2( date.getSeconds() );\r\n}\r\n\r\n\r\nfunction getDateNow(){\r\n    \r\n    var date = new Date();\r\n    return date.getFullYear().toString() +\"-\"+ pad2(date.getMonth() + 1)  +\"-\"+ pad2( date.getDate())+ \" \" + pad2( date.getHours() )  +\":\"+ pad2( date.getMinutes() )  +\":\"+ pad2( date.getSeconds() );\r\n}\r\n\r\nfunction downloadBlobVideo(blob_url, filename = 'untitled.mp4')\r\n{\r\n\tvar fileName = filename;\r\n\tvar a = document.createElement('a');\r\n\ta.href        = blob_url;\r\n\ta.download    = fileName;\r\n    document.body.appendChild(a);\r\n    a.click();\r\n}\r\n\r\nfunction randomString(length = 8) {\r\n    var result           = '';\r\n    var characters       = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';\r\n    var charactersLength = characters.length;\r\n    for ( var i = 0; i < length; i++ ) {\r\n       result += characters.charAt(Math.floor(Math.random() * charactersLength));\r\n    }\r\n    return result;\r\n }\r\n\r\n\r\n \r\nfunction onCloseModal(obj){\r\n\r\n    $(obj).closest(\".w3-modal\").hide();\r\n}\r\n\r\n//// TImer ///////\r\nvar FULL_DASH_ARRAY = 283;\r\nvar WARNING_THRESHOLD = 10;\r\nvar ALERT_THRESHOLD = 5;\r\n\r\nvar Base_COLOR_CODES = {\r\n  info: {\r\n    color: \"green\"\r\n  },\r\n  warning: {\r\n    color: \"orange\",\r\n    threshold: WARNING_THRESHOLD\r\n  },\r\n  alert: {\r\n    color: \"red\",\r\n    threshold: ALERT_THRESHOLD\r\n  }\r\n};\r\n\r\nvar BASE_TIME_LIMIT;\r\nvar baseTimePassed;\r\nvar baseTimeLeft;\r\nvar baseTimerInterval;\r\nvar remainingPathColor;\r\n\r\nfunction onTimesUp() {\r\n    clearInterval(baseTimerInterval);\r\n}\r\n\r\nfunction startTimer(timer = 30) {\r\n    BASE_TIME_LIMIT = timer;\r\n    baseTimePassed = 0;\r\n    baseTimeLeft = BASE_TIME_LIMIT;\r\n\r\n    if (baseTimerInterval != null) {\r\n        clearInterval(baseTimerInterval);\r\n    }\r\n\r\n    baseTimerInterval = null;\r\n\r\n\r\n    remainingPathColor = Base_COLOR_CODES.info.color;\r\n\r\n    document.getElementById(\"waiting-timer\").innerHTML = `\r\n  <div class=\"base-timer\">\r\n    <svg class=\"base-timer__svg\" viewBox=\"0 0 100 100\" xmlns=\"http://www.w3.org/2000/svg\">\r\n      <g class=\"base-timer__circle\">\r\n        <circle class=\"base-timer__path-elapsed\" cx=\"50\" cy=\"50\" r=\"45\"></circle>\r\n        <path\r\n          id=\"base-timer-path-remaining\"\r\n          stroke-dasharray=\"283\"\r\n          class=\"base-timer__path-remaining ${remainingPathColor}\"\r\n          d=\"\r\n            M 50, 50\r\n            m -45, 0\r\n            a 45,45 0 1,0 90,0\r\n            a 45,45 0 1,0 -90,0\r\n          \"\r\n        ></path>\r\n      </g>\r\n    </svg>\r\n    <span id=\"base-timer-label\" class=\"base-timer__label\">${formatTime(\r\n        baseTimeLeft\r\n    )}</span>\r\n  </div>\r\n  `;\r\n\r\n    baseTimerInterval = setInterval(() => {\r\n        baseTimePassed = baseTimePassed += 1;\r\n        baseTimeLeft = BASE_TIME_LIMIT - baseTimePassed;\r\n        document.getElementById(\"base-timer-label\").innerHTML = formatTime(\r\n            baseTimeLeft\r\n        );\r\n        setCircleDasharray();\r\n        setRemainingPathColor(baseTimeLeft);\r\n\r\n        if (baseTimeLeft === 0) {\r\n            onTimesUp();\r\n        }\r\n    }, 1000);\r\n}\r\n\r\nfunction formatTime(time) {\r\n    const minutes = Math.floor(time / 60);\r\n    let seconds = time % 60;\r\n\r\n    if (seconds < 10) {\r\n        seconds = `0${seconds}`;\r\n    }\r\n\r\n    return `${minutes}:${seconds}`;\r\n}\r\n\r\nfunction setRemainingPathColor(baseTimeLeft) {\r\n    const { alert, warning, info } = Base_COLOR_CODES;\r\n    if (baseTimeLeft <= alert.threshold) {\r\n        document\r\n            .getElementById(\"base-timer-path-remaining\")\r\n            .classList.remove(warning.color);\r\n        document\r\n            .getElementById(\"base-timer-path-remaining\")\r\n            .classList.add(alert.color);\r\n    } else if (baseTimeLeft <= warning.threshold) {\r\n        document\r\n            .getElementById(\"base-timer-path-remaining\")\r\n            .classList.remove(info.color);\r\n        document\r\n            .getElementById(\"base-timer-path-remaining\")\r\n            .classList.add(warning.color);\r\n    }\r\n}\r\n\r\nfunction calculateTimeFraction() {\r\n    const rawTimeFraction = baseTimeLeft / BASE_TIME_LIMIT;\r\n    return rawTimeFraction - (1 / BASE_TIME_LIMIT) * (1 - rawTimeFraction);\r\n}\r\n\r\nfunction setCircleDasharray() {\r\n    const circleDasharray = `${(\r\n        calculateTimeFraction() * FULL_DASH_ARRAY\r\n    ).toFixed(0)} 283`;\r\n    document\r\n        .getElementById(\"base-timer-path-remaining\")\r\n        .setAttribute(\"stroke-dasharray\", circleDasharray);\r\n}\r\n\r\n\r\n///// End timer /////\r\n\r\nfunction baseImnotification(obj){\r\n\r\n    if(obj && [1,2,4,5,6,8].includes(obj.szmsg[0].iType)){\r\n\r\n        var activeDevice = [];\r\n        var id = obj.szSourceId.replace(\"UA_\",\"PU_\").toUpperCase();\r\n        var target = obj.szTargetId.replace(\"UA_\",\"PU_\").toUpperCase();\r\n        var message = [];\r\n        var msg = [];\r\n        var idUserSender = \"\";\r\n        var nameUserSender = \"\";\r\n        var idUserTraget= \"\";\r\n        var nameUserTraget= \"\";\r\n\r\n        if(id == \"CU_SW\"){\r\n\r\n            idUserSender = session._userManager._currentUser._user.id;\r\n            nameUserSender = bastGetUserNamefromID(idUserSender);\r\n        }   \r\n        else if(id.indexOf(\"PU_\")>=0){\r\n\r\n            idUserSender = session._arr_pu_online.filter(l=>l._id_pu == id)[0]._userid;\r\n            nameUserSender = bastGetUserNamefromID(idUserSender);\r\n        }\r\n            \r\n\r\n        if(target == \"CU_SW\"){\r\n\r\n            idUserTraget = session._userManager._currentUser._user.id;\r\n            nameUserTraget = bastGetUserNamefromID(idUserTraget);\r\n        }\r\n        else  if(target.indexOf(\"PU_\")>=0){\r\n\r\n            idUserTraget =  session._arr_pu_online.filter(l=>l._id_pu == target)[0]._userid;\r\n            nameUserTraget = bastGetUserNamefromID(idUserTraget);\r\n        }else{\r\n\r\n            idUserTraget = target;\r\n        }\r\n            \r\n        session._arr_pu_online.forEach(l=>{\r\n\r\n            activeDevice.push(l._id_pu);\r\n        });\r\n\r\n        if(activeDevice.includes(id)){\r\n\r\n            obj.szmsg.forEach(l=>{\r\n    \r\n                var row = {\r\n                    type:l.iType,\r\n                    data:\"\"\r\n                };\r\n    \r\n                switch(l.iType){\r\n                    case 1:\r\n    \r\n                        row.data = l.szTextMsg;\r\n                    break;\r\n                    case 2:\r\n                    \r\n                        row.data = l.szTextMsg.url;\r\n                    break;\r\n                    case 4:\r\n                        if(typeof(l.stFile.szFile) != undefined){\r\n\r\n                            row.data = l.stFile.szFile;\r\n                        }else{\r\n                            \r\n                            row.data = l.stFile;\r\n                        }\r\n                        \r\n                    break;\r\n                    case 5:\r\n\r\n                        if(typeof(l.stFile.szFile) != undefined){\r\n\r\n                            row.data = l.stFile.szFile;\r\n                        }else{\r\n                            \r\n                            row.data = l.stFile;\r\n                        }\r\n                    break;\r\n                    case 6:\r\n                    case 8:\r\n\r\n                        if(typeof(l.stFile.szFile) != undefined){\r\n\r\n                            row.data = l.stFile.szFile;\r\n                        }else{\r\n                            \r\n                            row.data = l.stFile;\r\n                        }\r\n                    break;\r\n                }\r\n    \r\n                msg.push(row);\r\n            });\r\n    \r\n            if(!localStorage.getItem(\"_localMessage\")){\r\n    \r\n                localStorage.setItem(\"_localMessage\",\"\");\r\n            };\r\n    \r\n            if(localStorage.getItem(\"_localMessage\") != \"\") message =  JSON.parse(localStorage.getItem(\"_localMessage\"));\r\n\r\n            var newMsg = {\r\n                id: idUserSender,\r\n                name:nameUserSender,\r\n                traget:idUserTraget,\r\n                tragetName:nameUserTraget,\r\n                create: getDateNow(),\r\n                value: msg\r\n            };\r\n\r\n            message.forEach(function(l,index,object){\r\n\r\n                var today = new Date();\r\n\r\n                if(today.setDate(today.getDate() - 3) > new Date(l.create)){\r\n                    \r\n                    object.splice(index, 1);\r\n                }\r\n            });\r\n\r\n            message.push(newMsg);\r\n    \r\n            localStorage.setItem(\"_localMessage\",JSON.stringify(message));\r\n    \r\n            notificationCommunication(newMsg);\r\n\r\n        }\r\n    }\r\n}\r\n\r\nfunction baseStartConference(obj){\r\n    \r\n    startConference(obj);\r\n}\r\n\r\nfunction baseEndConference(obj){\r\n\r\n\r\n    endConference(obj);\r\n}\r\n\r\nfunction bastGetUserNamefromID(id) {\r\n  \r\n    var name = \"\";\r\n  \r\n    groupInfo.forEach(n => {\r\n  \r\n      if (n._userlist) {\r\n  \r\n        var userInfo = n._userlist.filter(q=>q._userinfo && q._userinfo.id == id);\r\n  \r\n        if(userInfo!=null && userInfo.length > 0){\r\n  \r\n          name = userInfo[userInfo.length-1]._user.name;\r\n        } \r\n  \r\n      }\r\n    });\r\n  \r\n    return name;\r\n  }\r\n\r\n  function baseGetTimeBegin(){\r\n\r\n    return Math.floor(new Date(\"2019-01-01\") / 1000);\r\n  }\r\n  \r\n  function baseGetTimEnd(){\r\n\r\n    return   Math.floor(new Date() / 1000);\r\n  }\r\n\r\n  function baseGetFilenameFromURL(url){\r\n\r\n        return url.split('/').pop().split('#')[0].split('?')[0];\r\n    }\r\n\r\n    function baseGetFileExtension(fileName){\r\n\r\n        return fileName.split('.').pop();\r\n    }\r\n\r\n    function baseGetNiceBytes(x,digit=2){\r\n\r\n        var l = 0, n = parseInt(x, 10) || 0;\r\n        while (n >= 1024) {\r\n            n = n / 1024;\r\n            l++;\r\n        }\r\n        if(digit == undefined){\r\n            return (n.toFixed(3) + ' ' + baseUnits[l]);\r\n        }else{\r\n            return (n.toFixed(digit) + ' ' + baseUnits[l]);\r\n        }\r\n    }\r\n\r\n    function baseGetfileType(fileName){\r\n\r\n        var fileExt = baseGetFileExtension(fileName).toUpperCase();\r\n\r\n        switch(fileExt){\r\n            case \"JPG\":\r\n            case \"JPEG\":\r\n            case \"BMP\":\r\n            case \"PNG\":\r\n                return \"Pictures\"\r\n            case \"MKV\":\r\n            case \"MP4\":\r\n            case \"AVI\":\r\n                return \"Video\"\r\n            case \"AAC\":\r\n            case \"MP3\":\r\n                return \"Audio\"   \r\n            default: return \"File\"\r\n        }\r\n\r\n    }\r\n\r\n    function baseProgressBarStart(byte = 100000){\r\n\r\n        $('#waiting-upload-div-progress')\r\n        .attr('aria-valuenow', 0)\r\n        .css('width', 0+'%');\r\n\r\n        $('#waiting-upload-div-spanprogress').html(0 + ' %');\r\n        \r\n        var width = 1;\r\n        baseProgressInterval = setInterval(frame, 10);\r\n        function frame() {\r\n          var running = (width/byte)*100;\r\n          if (running.toFixed(0) >= 100) {\r\n            clearInterval(baseProgressInterval);\r\n          } else {\r\n            width+=1000;\r\n            $('#waiting-upload-div-progress')\r\n            .attr('aria-valuenow', running.toFixed(0))\r\n            .css('width', running.toFixed(0)+'%');\r\n\r\n            $('#waiting-upload-div-spanprogress').html(running.toFixed(0) + ' %');\r\n\r\n          }\r\n        }\r\n\r\n        $('#progress-overlay').show();\r\n    }\r\n\r\n    function baseProgressBarEnd(){\r\n\r\n        if(baseProgressInterval) clearInterval(baseProgressInterval);\r\n\r\n        $('#waiting-upload-div-progress')\r\n        .attr('aria-valuenow', 100)\r\n        .css('width', 100+'%');\r\n\r\n        $('#waiting-upload-div-spanprogress').html(100 + ' %');\r\n\r\n        setTimeout(() => {\r\n            \r\n            $('#progress-overlay').hide();\r\n        }, 1500);\r\n    }\r\n\r\n    var googleMapDashboard;\r\n    \r\n    function initMapDashboard() {\r\n\r\n        var mapProp= {\r\n          center:new google.maps.LatLng( baseLatitude, baseLongitude),\r\n          zoom: baseconfig.defaultlocation.zoom,\r\n          streetViewControl: false,\r\n          mapTypeControl: false\r\n        };\r\n        googleMapDashboard = new google.maps.Map(document.getElementById(\"googleDashboard\"),mapProp);\r\n    }\r\n\r\n    String.prototype.toHHMMSS = function () {\r\n        var sec_num = parseInt(this, 10); // don't forget the second param\r\n        var hours   = Math.floor(sec_num / 3600);\r\n        var minutes = Math.floor((sec_num - (hours * 3600)) / 60);\r\n        var seconds = sec_num - (hours * 3600) - (minutes * 60);\r\n    \r\n        if (hours   < 10) {hours   = \"0\"+hours;}\r\n        if (minutes < 10) {minutes = \"0\"+minutes;}\r\n        if (seconds < 10) {seconds = \"0\"+seconds;}\r\n        return hours+':'+minutes+':'+seconds;\r\n    }\r\n\r\nfunction getUrlVars()\r\n{\r\n    var vars = [], hash;\r\n    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');\r\n    for(var i = 0; i < hashes.length; i++)\r\n    {\r\n        hash = hashes[i].split('=');\r\n        vars.push(hash[0]);\r\n        vars[hash[0]] = hash[1];\r\n    }\r\n    return vars;\r\n}\r\n\r\nfunction getUrlVars() {\r\n    if ((i = window.location.href.indexOf('?')) >= 0) {\r\n      const queryString = window.location.href.substring(i+1);\r\n      if (queryString) {\r\n        return _mapUrlParams(queryString);\r\n      } \r\n    }\r\n    \r\n    return {};\r\n}\r\n\r\nfunction _mapUrlParams(queryString) {\r\nreturn queryString    \r\n    .split('&') \r\n    .map(function(keyValueString) { return keyValueString.split('=') })\r\n    .reduce(function(urlParams, [key, value]) {\r\n    if (Number.isInteger(parseInt(value)) && parseInt(value) == value) {\r\n        urlParams[key] = parseInt(value);\r\n    } else {\r\n        urlParams[key] = decodeURI(value);\r\n    }\r\n    return urlParams;\r\n    }, {});\r\n}","var deviceList = [];\r\nvar googleMap;\r\nvar isCallingGPS;\r\nvar infowindow;\r\nvar recorder;\r\nvar mapTimestamp = [];\r\n\r\n\r\n\r\nfunction initMap() {\r\n\r\n    deviceList = [];\r\n    mapTimestamp = [];\r\n\r\n    var mapProp= {\r\n      center:new google.maps.LatLng( baseLatitude, baseLongitude),\r\n      zoom: baseconfig.defaultlocation.zoom,\r\n      streetViewControl: false,\r\n      mapTypeControl: true\r\n    };\r\n    googleMap = new google.maps.Map(document.getElementById(\"googleMap\"),mapProp);\r\n}\r\n\r\nfunction CreateActiveDevicesList(){\r\n\r\n    if($(\".main.map .devicelist\").html() != undefined){\r\n        var isExistId = [];\r\n\r\n        if(session._arr_pu_online.length > 0){\r\n\r\n            var txtHtml = \"<nb-list>\";\r\n            \r\n\r\n            session._arr_pu_online.forEach(l => {\r\n\r\n                  var currentId = l._userid;\r\n\r\n                  if(!isExistId.includes(currentId)) {\r\n  \r\n                    isExistId.push(currentId);\r\n  \r\n                  \r\n                    if(deviceList.filter(q=>q.deviceId == l._id_pu).length == 0){\r\n    \r\n                      deviceList.push({\r\n                        deviceId:l._id_pu,\r\n                        userId: l._userid,\r\n                        isGetGps:false,\r\n                        userName: l._username,\r\n                        isTrackingGps: false\r\n                      });\r\n    \r\n                    }else{\r\n                      var device =  deviceList.filter(q=>q.deviceId == l._id_pu)[0];\r\n                      device.id = l._id_pu;\r\n                      device.userId = l._userid;\r\n                      device.userName = l._username;\r\n                    }\r\n                    \r\n                    var device =  deviceList.filter(q=>q.deviceId == l._id_pu)[0];\r\n                    \r\n                    var pinImg = new Image();\r\n                    var pinImageURL = baseconfig.imageURL+ '/profile/'+currentId+'-pin.png?rnd='+Math.random().toString(36).substring(7);\r\n                    pinImg.src = pinImageURL;\r\n                    device.pinImageURL = pinImageURL;\r\n                    pinImg.onerror = function(error,id = currentId){\r\n      \r\n                      deviceList.filter(q=>q.userId == id)[0].pinImageURL = \"assets/images/no-photo-pin.png\";\r\n                    }\r\n    \r\n                    pinImg.onload = function(){ };\r\n    \r\n                    var img = new Image();\r\n                    var imageURL = baseconfig.imageURL+ '/profile/'+currentId+'.png?rnd='+Math.random().toString(36).substring(7);\r\n                    img.src = imageURL;\r\n                    device.imageURL = imageURL;\r\n                    img.onerror = function(error,id = currentId){\r\n        \r\n                      deviceList.filter(q=>q.userId == id)[0].imageURL = \"assets/images/no-photo.png\";\r\n                      deviceList.filter(q=>q.userId == id)[0].pinImageURL = \"assets/images/no-photo-pin.png\";\r\n                    }\r\n    \r\n                    img.onload = function(){ };\r\n    \r\n                    txtHtml += \"<nb-list-item class='contact'><div class='nb-list-row row d-flex align-items-center'><div class='col-4'>\";\r\n                    txtHtml += \"<img src='\" + imageURL+\"' onerror=\\\"this.src='assets/images/no-photo.png'\\\" >\";\r\n                    txtHtml += \"<button _ngcontent-wyh-c21='' hero='' nbbutton='' shape='round' size='tiny' status='success' _nghost-wyh-c5='' ng-reflect-size='tiny' ng-reflect-status='success' ng-reflect-shape='round' ng-reflect-hero='' class='appearance-hero size-tiny status-success shape-round transitions' aria-disabled='false' tabindex='0' hero>Online</button></div><div class='col-6'>\";\r\n                    txtHtml += \"<div class='user-name ng-star-inserted'>\"+ currentId +\"</div>\";\r\n    \r\n                    txtHtml +=  \"<div class='user-title ng-star-inserted'>\"+ deviceList.filter(q=>q.deviceId == l._id_pu)[0].userName +\"</div>\";\r\n    \r\n                    txtHtml +=  \"</div><div class='col-2 contract-control noPadding divPin\"+currentId+\"' title='Show Location'><nb-icon icon='pin' pack='eva'></nb-icon>\";\r\n                    txtHtml +=  \"<i class='pin pin\"+currentId+\"' data-eva='pin' onclick=\\\"pinGps('\"+currentId+\"')\\\"></i>\";\r\n                    txtHtml +=  \"</div></div></nb-list-item>\";\r\n                  }\r\n            });\r\n\r\n            txtHtml +=  \"</nb-list>\";\r\n\r\n            $(\".main.map .devicelist\").html(txtHtml);\r\n            removeOfflineDevice(isExistId);\r\n        }else{\r\n\r\n            removeOfflineDevice(isExistId);\r\n            $(\".main.map .devicelist\").html(\"<h6>No devices online..</h6>\");\r\n        }\r\n\r\n        eva.replace();\r\n    }\r\n}\r\n\r\n// ==================================================== GPS ======================================\r\n\r\nfunction pinGps(id){\r\n\r\n  var device = deviceList.filter(q=>q.userId == id)[0];\r\n\r\n  device.latitude = null;\r\n\r\n  device.longitude = null;\r\n\r\n  device.gps = session.swGetPuChanel(device.deviceId, 65536);\r\n\r\n  if (device.gps == null) {\r\n\r\n    $.Toast(\"\",\"Cannot get device location!\", \"error\", toastTopCenterOption);\r\n\r\n    return ;\r\n  }\r\n\r\n  if (!device.isGetGps) {\r\n    isWaiting(true);\r\n\r\n    isCallingGPS = true;\r\n\r\n    device.gps.swOpen({\r\n        repeat: -1,\r\n        interval: 100,\r\n        callback: function(options,response,data = device){\r\n          \r\n            if(data){\r\n              \r\n              data.latitude = response.gps.lat / 10000000;\r\n              data.longitude = response.gps.long / 10000000;\r\n              isCallingGPS = false;\r\n              pinDeviceToMap(device.userId);\r\n            }\r\n          }\r\n        });\r\n\r\n        getDataLoop = 0;\r\n        \r\n        getPinLocation(id);\r\n\r\n        deviceList.forEach(l=>{\r\n\r\n          if(l.isTrackingGps){\r\n            l.isTrackingGps = false;\r\n            infowindow.close();\r\n          }\r\n          \r\n        });\r\n    } else {\r\n\r\n      isWaiting(false);\r\n      device.latitude = null;\r\n      device.longitude = null;\r\n      activePin(id,false);\r\n      device.isGetGps = false;\r\n      device.isTrackingGps = false;\r\n      device.gps.swClose();\r\n      device.gps._callback = null;\r\n      if(device.marker){\r\n        device.marker.setMap(null);\r\n        device.marker = null;\r\n      }\r\n    }\r\n}\r\n\r\nfunction activePin(id,isActive){\r\n\r\n  if(isActive){\r\n\r\n    $(\".pin\"+id).css(\"fill\",\"lightgreen\");\r\n    $(\".divPin\"+id).prop('title', 'Hide Location');\r\n  }else{\r\n\r\n    $(\".pin\"+id).css(\"fill\",\"lightgray\");\r\n    $(\".divPin\"+id).prop('title', 'Show Location');\r\n  }\r\n}\r\n\r\nfunction getPinLocation(id){\r\n\r\n  if(!isCallingGPS){\r\n\r\n    var device = deviceList.filter(q=>q.userId == id)[0];\r\n\r\n    if(!device.latitude || !device.longitude){\r\n\r\n      $.Toast(\"\",\"Cannot get device location!\", \"error\", toastTopCenterOption);\r\n    }else{\r\n\r\n      device.isGetGps = true;\r\n\r\n      activePin(id,true);\r\n\r\n      SetPosition(id);\r\n    }\r\n    isWaiting(false);\r\n\r\n  }else{\r\n    if(getDataLoop<5){\r\n\r\n      getDataLoop++;\r\n\r\n      setTimeout(() => {\r\n\r\n        getPinLocation(id);\r\n      }, 1000);\r\n    }else{\r\n\r\n      $.Toast(\"\",\"Cannot get device location!\", \"error\", toastTopCenterOption);\r\n\r\n      isWaiting(false);\r\n    }\r\n\r\n  }\r\n}\r\n\r\nfunction SetPosition(id,zoom = 0){\r\n\r\n  var device = deviceList.filter(q=>q.userId == id)[0];\r\n \r\n  if(device.marker){\r\n\r\n    googleMap.setCenter(device.marker.getPosition());\r\n\r\n    if(zoom != 0){ //0 is current zoom level\r\n\r\n      googleMap.setZoom(zoom);\r\n    }\r\n  }else{\r\n    setTimeout(() => {\r\n\r\n      SetPosition(id,zoom);\r\n    }, 1000);\r\n  }\r\n}\r\n\r\nfunction pinDeviceToMap(id){\r\n\r\n  if(mapTimestamp.filter(q=>q.userId ==id).length == 0){\r\n\r\n    mapTimestamp.push({\r\n      userId:id,\r\n      old_timestamp:null\r\n    });\r\n  }\r\n\r\n  var new_timestamp = new Date().valueOf();\r\n  \r\n  var timeStamp = mapTimestamp.filter(q=>q.userId == id)[0];\r\n\r\n  if(timeStamp.old_timestamp == null || timeStamp.old_timestamp+1000 < new_timestamp){\r\n\r\n    timeStamp.old_timestamp = new Date().valueOf();\r\n\r\n    if($(\".main.map .devicelist\").html() != undefined && deviceList.length > 0){\r\n\r\n      deviceList.forEach(l=>{\r\n\r\n          if(l.latitude == null|| l.longitude == null || l.isGetGps == false) {\r\n\r\n            if(l.marker){\r\n              l.marker.setMap(null);\r\n              l.marker = null;\r\n            }\r\n          }\r\n          else{\r\n\r\n            if(l.marker){\r\n\r\n              l.marker.setPosition(new google.maps.LatLng( l.latitude, l.longitude ));\r\n\r\n              if(l.isTrackingGps == true){\r\n\r\n                deviceList.forEach(function(loop,index,object){\r\n                  \r\n                  if(loop.userId != l.userId){\r\n\r\n                    if(loop.marker){\r\n\r\n                      activePin(loop.userId,false);\r\n                      if(loop.marker) loop.marker.setMap(null);\r\n                    }\r\n                    \r\n                  }\r\n                });\r\n\r\n                SetPosition(l.userId,19);\r\n              }\r\n\r\n            }else{\r\n              var icon = {\r\n                url:  l.pinImageURL, // url\r\n                scaledSize: new google.maps.Size(64, 64), // scaled size\r\n                anchor: new google.maps.Point(32, 32) // anchor\r\n            };\r\n\r\n            l.marker = new google.maps.Marker({\r\n                map:googleMap, \r\n                position: {lat: l.latitude, lng: l.longitude},\r\n                icon: icon,\r\n                title: l.userName\r\n            });\r\n\r\n            infowindow = new google.maps.InfoWindow();\r\n\r\n            l.marker.addListener('click', function() {\r\n\r\n            \r\n            var infoContent = '<div class=\"pininfo\" ><div class=\"pininfoleft\" >';\r\n            infoContent+= '<p class=\"pininfoname\" ><b>'+ l.userName+'</b></p>'\r\n            infoContent+= '<p class=\"pininfoid\">'+ l.userId +'</p>';\r\n            infoContent+= '<p class=\"pininfolat\">Latitude: '+ l.latitude +'</p>';\r\n            infoContent+= '<p class=\"pininfolng\">Longitude: '+ l.longitude  +'</p></div>';\r\n            infoContent+= '<div class=\"pininforight\">';\r\n            infoContent+= '<i class=\"fas fa-walking mapicon pininfogps';\r\n            if(l.isTrackingGps) infoContent+= ' red\" title=\"Stop Video\"'; // check gps tracking\r\n            else infoContent+= '\" title=\"Start Tracking\"';\r\n            infoContent+= ' id=\"pininfogps'+ l.userId+'\" onclick=\"fllowGPSPin(\\''+l.userId +'\\')\"></i>';\r\n            infoContent+= '<i title=\"Start Video\" class=\"fas fa-video mapicon pininfolive\" id=\"pininfolive'+ l.userId+'\" onclick=\"videoLivePin(\\''+l.userId +'\\')\"></i></div></div>';\r\n\r\n            infowindow.setContent(infoContent);\r\n\r\n              infowindow.open(googleMap, l.marker);\r\n     \r\n              });\r\n\r\n            }\r\n          }\r\n      });\r\n    }\r\n  }\r\n}\r\n\r\nfunction removeOfflineDevice(isExistId){\r\n\r\n  deviceList.forEach(function(l,index,object){\r\n\r\n    if(l.isGetGps == true) activePin(l.userId,true);\r\n\r\n    if(!isExistId.includes(l.userId)) {\r\n\r\n      if(l.marker) l.marker.setMap(null);\r\n      if(l.video){\r\n\r\n        l.video.swClose();\r\n        l.video = null;\r\n\t      document.getElementById('pinLiveVideoModal').style.display='none';\r\n      }\r\n\r\n      if(l.isRecord != null){\r\n        \r\n        recorder.stopRecording(function () {\r\n\r\n          isWaiting(true);\r\n          var blob =  recorder.getBlob();\r\n          downloadBlobVideo(URL.createObjectURL(blob), l.userId + \"-\" + getDateExtendtion() + \".mp4\");\r\n          isWaiting(false);\r\n          $(\".pinLiveViewControlRight .fa-dot-circle\").removeClass(\"red\");\r\n          clearInterval(l.RecordInterval);\r\n          l.isRecord = null;\r\n        });\r\n        \r\n      }\r\n\r\n      if(l.videoTimeout != null){\r\n\r\n        clearInterval(l.videoTimeout);\r\n        l.videoTimeout = null;\r\n      }\r\n\r\n      if(l.videoTimer){\r\n\r\n        $('#pinLiveVideoModal').find('.videotimer:first').removeClass(\"hidden\").addClass(\"hidden\");\r\n          \r\n        clearInterval(l.videoTimer);\r\n        l.videoTimer = null;\r\n        l.videoTimeCount = 0;\r\n      }\r\n\r\n      object.splice(index, 1);\r\n    }\r\n\r\n  });\r\n}\r\n// =========================== GPS Tracking =========================================\r\n\r\nfunction closeGPSTracking(){\r\n\r\n  deviceList.forEach(device=>{\r\n\r\n    if(device.latitude != null && device.longitude != null){\r\n\r\n      device.gps.swClose();\r\n    } \r\n  });\r\n}\r\n\r\nfunction fllowGPSPin(id){\r\n\r\n  var device = deviceList.filter(q=>q.userId == id)[0];\r\n\r\n  if(device.isTrackingGps){\r\n\r\n    device.isTrackingGps = false;\r\n    $(\"#pininfogps\"+id).removeClass(\"red\");\r\n    $(\"#pininfogps\"+id).prop('title', 'Start Tracking');\r\n  }else{\r\n\r\n    device.isTrackingGps = true;\r\n    $(\"#pininfogps\"+id).addClass(\"red\");\r\n    $(\"#pininfogps\"+id).prop('title', 'Stop Tracking');\r\n  }\r\n  \r\n}\r\n\r\n// =========================================== Video ======================================\r\nfunction videoLivePin(Id){\r\n\r\n  var device = deviceList.filter(q=>q.userId == Id)[0];\r\n\r\n  if(device.video){\r\n\r\n    device.video.swClose();\r\n    device.video = null;\r\n  }\r\n\r\n  device.video = session.swGetPuChanel(device.deviceId, 0);\r\n  isWaiting(true);\r\n  var res = device.video.swOpenEx({\r\n    div: 'pinLiveVideo',\r\n    prototype: 'httpflv', //rtmp > hls\r\n    media:10, // httpflv  10 = open audio , 2 = no audio\r\n    callback: function (options, response) {\r\n\r\n          isWaiting(false);\r\n          $(\"#pinLiveVideo video\").prop(\"volume\", 0);\r\n\r\n          document.querySelector(\"#pinLiveVideo video\").disablePictureInPicture = true;\r\n          $(\"#pointVolume\").val(0);\r\n          $(\".pinLiveViewControlLeft i\").removeClass( \"fas fa-volume-off\" ).addClass(\"fas fa-volume-mute\");\r\n\r\n          document.querySelector(\"#pinLiveVideo video\").onvolumechange = function() {\r\n\r\n            $(\"#pointVolume\").val($(\"#pinLiveVideo video\").get(0).volume * 100);\r\n\r\n            if($(\"#pinLiveVideo video\").prop('muted')){\r\n\r\n              $(\"#pinLiveVideo video\").prop(\"volume\", 0);\r\n              $(\".divVolume i\").removeClass(\"fas fa-volume-off\").addClass(\"fas fa-volume-mute\");\r\n              $(\"#pinLiveVideo video\").prop('muted', false)\r\n            }\r\n\r\n            if($(\"#pointVolume\").val() == 0 ){\r\n\r\n              $(\".divVolume i\").removeClass(\"fas fa-volume-off\").addClass(\"fas fa-volume-mute\");\r\n            }else{\r\n              \r\n              $(\".divVolume i\").removeClass(\"fas fa-volume-mute\").addClass(\"fas fa-volume-off\");\r\n            }\r\n\r\n            device.videoTimeout = window.setInterval(function() {\r\n\r\n                closeVideoLivePin();\r\n            },baseconfig.videoSessionTimeout * 60 * 1000);\r\n\r\n          };\r\n        }\r\n    });\r\n\r\n  if (res != jSW.RcCode.RC_CODE_S_OK) {\r\n    $.Toast(\"\",\"Unable to load live video feed! An unexpected error has occurred.\", \"error\", toastTopCenterOption);\r\n  }else{\r\n    document.getElementById('pinLiveVideoModal').style.display='block'\r\n    $(\".pinLiveViewBarID\").html(\"Camera # \" + device.userId);\r\n  }\r\n}\r\n\r\nfunction closeVideoLivePin(){\r\n\r\n  deviceList.forEach(l=>{\r\n\r\n    \r\n    if(l.isRecord != null){\r\n        \r\n      recorder.stopRecording(function() {\r\n\r\n        isWaiting(true);\r\n        var blob = recorder.getBlob();\r\n        downloadBlobVideo(URL.createObjectURL(blob),l.userId + \"-\"+getDateExtendtion()+\".mp4\");\r\n        isWaiting(false);\r\n      });\r\n\r\n      $(\".pinLiveViewControlRight .fa-dot-circle\").removeClass(\"red\");\r\n      clearInterval(l.RecordInterval);\r\n    }\r\n\r\n    if(l.videoTimer != null){\r\n\r\n      $('#pinLiveVideoModal').find('.videotimer:first').removeClass(\"hidden\").addClass(\"hidden\");\r\n          \r\n      clearInterval(l.videoTimer);\r\n      l.videoTimer = null;\r\n      l.videoTimeCount = 0;\r\n    }\r\n\r\n    \r\n    if(l.videoTimeout != null){\r\n\r\n      clearInterval(l.videoTimeout);\r\n      l.videoTimeout = null;\r\n    }\r\n\r\n\r\n    if(l.video){\r\n\r\n      l.video.swClose();\r\n      l.video = null;\r\n    }\r\n  });\r\n\r\n  document.getElementById('pinLiveVideoModal').style.display='none';\r\n}\r\n\r\nfunction changeAudioVolumn(obj){\r\n\r\n  if(obj.value == 0){\r\n\r\n    $(obj).closest('#pinLiveVideoModal').find('video:first').prop(\"volume\", 0);\r\n    $(obj).closest('div').find('i:first').removeClass( \"fas fa-volume-off\" ).addClass(\"fas fa-volume-mute\");\r\n  }else{\r\n\r\n    $(obj).closest('#pinLiveVideoModal').find('video:first').prop(\"volume\", obj.value / 100);\r\n    $(obj).closest('div').find('i:first').removeClass( \"fas fa-volume-mute\" ).addClass(\"fas fa-volume-off\");\r\n  }\r\n}\r\n\r\nfunction muteAudio(obj){\r\n\r\n  var valueControl = $(obj).closest('#pinLiveVideoModal').find('#pointVolume:first');\r\n  var videoControl = $(obj).closest('#pinLiveVideoModal').find('video:first');\r\n\r\n  if(valueControl.val() == 0 ){\r\n\r\n    $(obj).removeClass(\"fas fa-volume-mute\").addClass(\"fas fa-volume-off\");\r\n    valueControl.val(100);\r\n    videoControl.prop(\"volume\", 1);\r\n  }else{\r\n\r\n    $(obj).removeClass(\"fas fa-volume-off\").addClass(\"fas fa-volume-mute\");\r\n    valueControl.val(0);\r\n    videoControl.prop(\"volume\", 0);\r\n  }\r\n\r\n}\r\n\r\nfunction openGPSLiveViewFullScreen(obj){\r\n\r\n  document.getElementById($(obj).closest('#pinLiveVideoModal').find('video:first').attr('id')).requestFullscreen();\r\n}\r\n\r\nfunction TakeSnapshot(obj){\r\n\r\n  isWaiting(true,\"Taking snapshot...\");\r\n  var videoControl = $(obj).closest('#pinLiveVideoModal').find('video:first')[0];\r\n  var canvas = document.createElement('canvas');\r\n  canvas.height = videoControl.videoHeight;\r\n  canvas.width = videoControl.videoWidth;\r\n  var ctx = canvas.getContext('2d');\r\n  ctx.drawImage(videoControl, 0, 0, canvas.width, canvas.height);\r\n  downloadImage(canvas.toDataURL('image/jpeg'),\"SNAPSHOT-\"+getDateExtendtion()+\".jpg\");\r\n\r\n  setTimeout(() => {\r\n    isWaiting(false);\r\n  }, 500);\r\n}\r\n\r\nfunction RecordVideo(obj,highRes = false){\r\n\r\n  deviceList.forEach(l=>{\r\n\r\n    if(l.video){\r\n\r\n      if(l.isRecord){\r\n\r\n        l.isRecord = null;\r\n        $(obj).removeClass(\"red\");\r\n        recorder.stopRecording(function() {\r\n\r\n          isWaiting(true);\r\n          var blob = recorder.getBlob();\r\n          downloadBlobVideo(URL.createObjectURL(blob),l.userId + \"-\"+getDateExtendtion()+\".mp4\");\r\n          isWaiting(false);\r\n          clearInterval(l.RecordInterval);\r\n        });\r\n\r\n        if(l.videoTimer){\r\n\r\n          $(obj).closest('#pinLiveVideoModal').find('.videotimer:first').removeClass(\"hidden\").addClass(\"hidden\");\r\n          \r\n          clearInterval(l.videoTimer);\r\n          l.videoTimer = null;\r\n          l.videoTimeCount = 0;\r\n        }\r\n\r\n      }else{\r\n        \r\n        var video = $(obj).closest('#pinLiveVideoModal').find('video:first')[0];\r\n\r\n        if(video.videoHeight > 720 && !highRes){\r\n\r\n          rechordObj = obj;\r\n          openMapRecordHigestRes();\r\n        }else{\r\n\r\n          l.isRecord = true;\r\n          $(obj).addClass(\"red\");\r\n          var canvas = document.getElementById(\"pinLiveVideoCanvas\");\r\n          canvas.width = video.videoWidth;\r\n          canvas.height = video.videoHeight;\r\n          var ctx = canvas.getContext(\"2d\");\r\n  \r\n          l.RecordInterval = window.setInterval(function() {\r\n            ctx.drawImage(video,5,5,video.videoWidth,video.videoHeight);\r\n          },5);\r\n  \r\n          setTimeout(() => {\r\n         \r\n            recorder = RecordRTC(document.getElementById(\"pinLiveVideoCanvas\"), {\r\n              type: 'canvas',\r\n              showMousePointer: true\r\n            });\r\n            recorder.startRecording();\r\n          }, 100);\r\n  \r\n          $(\"#runTimer\").html(\"00:00:00\");\r\n  \r\n          $(obj).closest('#pinLiveVideoModal').find('.videotimer:first').removeClass(\"hidden\");\r\n    \r\n          l.videoTimeCount = 0;\r\n          \r\n          l.videoTimer =  window.setInterval(function () {\r\n            \r\n            \r\n            l.videoTimeCount +=1;\r\n    \r\n            $(\"#runTimer\").html(l.videoTimeCount.toString().toHHMMSS());\r\n          }, 1000);\r\n  \r\n          if(l.videoTimeout != null){\r\n  \r\n            clearInterval(l.videoTimeout);\r\n            \r\n            setTimeout(() => {\r\n  \r\n              l.videoTimeout = window.setInterval(function() {\r\n  \r\n                closeVideoLivePin();\r\n              },baseconfig.videoSessionTimeout * 60 * 1000);\r\n            }, 1000);\r\n          }\r\n        }\r\n      }\r\n    }\r\n  });\r\n}\r\n\r\n\r\nfunction openMapRecordHigestRes(){\r\n\r\n  document.getElementById('modalWarningHigestRes').style.display='block';\r\n}\r\n\r\nfunction closeMapRecordHigestRes(){\r\n\r\n  document.getElementById('modalWarningHigestRes').style.display='none';\r\n}\r\n\r\nfunction recordMapWithHigestRes(){\r\n  \r\n  RecordVideo(rechordObj,true);\r\n  document.getElementById('modalWarningHigestRes').style.display='none';\r\n}","var liveList = [];\r\nvar liveQty;\r\nvar isShowGPS;\r\nvar liveviewOldTimeStamp = [];\r\n\r\nfunction initLiveVideo() {\r\n  liveList = [];\r\n  liveQty = 4;\r\n  isShowGPS = false;\r\n  liveviewOldTimeStamp = [];\r\n\r\n  var mapProp = {\r\n    center: new google.maps.LatLng(baseLatitude, baseLongitude),\r\n    zoom: baseconfig.defaultlocation.zoom,\r\n    streetViewControl: false,\r\n    mapTypeControl: true\r\n  };\r\n  googleMap = new google.maps.Map(document.getElementById(\"googleMap\"), mapProp);\r\n\r\n  $(\".liveview.main .view-button.four\").addClass(\"filled\");\r\n  $(\".liveview.main .grid-view\").html(\"\");\r\n  generateVideoStack();\r\n  videoFeedLayout(4);\r\n  createActiveLiveList();\r\n  liveviewFooterControl();\r\n\r\n  var urlvars = getUrlVars();\r\n\r\n  if(urlvars.mode == \"EMERGENCYALERT\" && urlvars.Id != null){\r\n    setTimeout(() => {\r\n      playLiveVideo(urlvars.Id);\r\n      setTimeout(() => onLiveViewShowMap(), 500);\r\n    }, 500);\r\n  }\r\n}\r\n\r\nfunction createActiveLiveList() {\r\n\r\n  if ($(\".main.liveview .onlineLivelist\").html() != undefined) {\r\n    var isExistId = [];\r\n\r\n    if (session._arr_pu_online.length > 0) {\r\n\r\n      var txtHtml = \"<nb-list>\";\r\n\r\n\r\n      session._arr_pu_online.forEach(l => {\r\n\r\n        var currentId = l._userid;\r\n\r\n        if (!isExistId.includes(currentId)) {\r\n\r\n          isExistId.push(currentId);\r\n\r\n          if (liveList.filter(q => q.deviceId == l._id_pu).length == 0) {\r\n\r\n            liveList.push({\r\n              deviceId: l._id_pu,\r\n              userId: currentId,\r\n              userName: bastGetUserNamefromID(currentId),\r\n            });\r\n\r\n          } else {\r\n            var liveUser = liveList.filter(q => q.deviceId == l._id_pu)[0];\r\n            liveUser.id = l._id_pu;\r\n            liveUser.userId = currentId;\r\n            liveUser.userName = bastGetUserNamefromID(currentId);\r\n          }\r\n\r\n          var liveUser = liveList.filter(q => q.deviceId == l._id_pu)[0];\r\n\r\n          var pinImg = new Image();\r\n          var pinImageURL = baseconfig.imageURL + '/profile/' + currentId + '-pin.png?rnd=' + Math.random().toString(36).substring(7);\r\n          pinImg.src = pinImageURL;\r\n          liveUser.pinImageURL = pinImageURL;\r\n          pinImg.onerror = function (error, id = currentId) {\r\n\r\n            liveList.filter(q => q.userId == id)[0].pinImageURL = \"assets/images/no-photo-pin.png\";\r\n          }\r\n\r\n          pinImg.onload = function () { };\r\n\r\n          var img = new Image();\r\n          var imageURL = baseconfig.imageURL + '/profile/' + currentId + '.png?rnd=' + Math.random().toString(36).substring(7);\r\n          img.src = imageURL;\r\n          liveUser.imageURL = imageURL;\r\n          img.onerror = function (error, id = currentId) {\r\n\r\n            liveList.filter(q => q.userId == id)[0].imageURL = \"assets/images/no-photo.png\";\r\n          }\r\n\r\n          img.onload = function () { };\r\n\r\n          txtHtml += \"<nb-list-item class='contact'><div class='nb-list-row row d-flex align-items-center'><div class='col-4'>\";\r\n          txtHtml += \"<div class='custom-checkbox'><input type='checkbox' class='custom-control-input custome-checkbox' id='customCheck\" + currentId + \"'><label class='custom-control-label' for='customCheck\" + currentId + \"'></label></div><img src='\" + imageURL + \"' onerror=\\\"this.src='assets/images/no-photo.png'\\\" >\";\r\n          txtHtml += \"<button _ngcontent-wyh-c21='' hero='' nbbutton='' shape='round' size='tiny' status='success' _nghost-wyh-c5='' ng-reflect-size='tiny' ng-reflect-status='success' ng-reflect-shape='round' ng-reflect-hero='' class='appearance-hero size-tiny status-success shape-round transitions' aria-disabled='false' tabindex='0' hero>Online</button></div><div class='col-6'>\";\r\n          txtHtml += \"<div class='user-name ng-star-inserted'>\" + currentId + \"</div>\";\r\n\r\n          txtHtml += \"<div class='user-title ng-star-inserted'>\" + liveList.filter(q => q.deviceId == l._id_pu)[0].userName + \"</div>\";\r\n\r\n          txtHtml += \"</div><div class='col-2 contract-control noPadding divlive\" + currentId + \"' title='Start Video'>\";\r\n\r\n          txtHtml += \" <i class='fas fa-video pinlive  pinlive\" + currentId + \"'  onclick=\\\"playLiveVideo('\" + currentId + \"')\\\"></i>\";\r\n\r\n          txtHtml += \"</div></div></nb-list-item>\";\r\n        }\r\n      });\r\n\r\n      txtHtml += \"</nb-list>\";\r\n      $(\".main.liveview .onlineLivelist\").html(txtHtml);\r\n\r\n      removeOfflineUser(isExistId);\r\n    } else {\r\n\r\n      removeOfflineUser(isExistId);\r\n      $(\".main.liveview .onlineLivelist\").html(\"<h6>No users online..</h6>\");\r\n    }\r\n\r\n    eva.replace();\r\n  }\r\n}\r\n\r\nfunction closeLiveViewPage() {\r\n  \r\n  removeOfflineUser([]);\r\n}\r\n\r\nfunction removeOfflineUser(isExistId) {\r\n\r\n  liveList.forEach(function (l, index, object) {\r\n\r\n    setTimeout(() => {\r\n\r\n      if (!isExistId.includes(l.userId)) {\r\n\r\n        if (l.video) {\r\n          var divCoverId = l.video.divCoverId;\r\n          l.video.source.swClose();\r\n\r\n          if (l.isRecord) {\r\n\r\n            l.video.recorder.stopRecording(function () {\r\n\r\n              isWaiting(true);\r\n              var blob = l.video.recorder.getBlob();\r\n              downloadBlobVideo(URL.createObjectURL(blob), l.userId + \"-\" + getDateExtendtion() + \".mp4\");\r\n              isWaiting(false);\r\n              clearInterval(l.video.RecordInterval);\r\n            });\r\n            l.isRecord = null;\r\n            clearInterval(l.video.RecordInterval);\r\n          }\r\n              \r\n          if(l.videoTimeout != null){\r\n\r\n            clearInterval(l.videoTimeout);\r\n            l.videoTimeout = null;\r\n          }\r\n\r\n            \r\n        if(l.videoTimer){\r\n\r\n          clearInterval(l.videoTimer);\r\n          l.videoTimeCount = 0;\r\n        }\r\n          \r\n          setTimeout(() => {\r\n            isWaiting(false);\r\n            $(\"#\" + divCoverId).remove();\r\n            generateVideoStack();\r\n            videoFeedLayout(liveQty);\r\n          }, 1000);\r\n        }\r\n  \r\n        l.latitude = null;\r\n        l.longitude = null;\r\n        l.isGetGps = false;\r\n        if (l.gps) {\r\n          l.gps.swClose();\r\n          l.gps._callback = null;\r\n          if (l.marker) {\r\n            l.marker.setMap(null);\r\n            l.marker = null;\r\n          }\r\n        }\r\n  \r\n        object.splice(index, 1);\r\n        liveviewFooterControl();\r\n      } else {\r\n        if (l.video) {\r\n            \r\n            $(\".pinlive.pinlive\" + l.userId).removeClass(\"green\").addClass(\"green\");\r\n            $(\".pinlive.pinlive\" + l.userId).prop('title', \"Stop Video\");\r\n            $(\"#customCheck\" + l.userId).prop('checked', false);\r\n            $(\"#customCheck\" + l.userId).attr(\"disabled\", true);\r\n        }\r\n      }\r\n    },100);\r\n  });\r\n}\r\n\r\nfunction viewBottonClick(obj, qty) {\r\n\r\n  $(\".liveview.main .view-button\").removeClass(\"filled\");\r\n  $(obj).addClass(\"filled\");\r\n  generateVideoStack();\r\n  videoFeedLayout(qty);\r\n  liveQty = qty;\r\n}\r\n\r\nfunction generateVideoStack() {\r\n\r\n  var strHtml = \"\";\r\n  var qtyActiveCamera = liveList.filter(q => q.video != null).length;\r\n\r\n  for (i = 1; i <= 6; i++) {\r\n\r\n    $(\".liveview.main .grid-view .camera\" + i).remove();\r\n\r\n    if (i > qtyActiveCamera) {\r\n\r\n      var divCameraID = randomString();\r\n      strHtml += '<div class=\"camera camera' + i + '\" id=' + divCameraID + '>';\r\n      strHtml += '<div class=\"divVideo\" id=' + randomString(9) + '></div>';\r\n      strHtml += '<canvas id=' + randomString(10) + '></canvas>';\r\n      strHtml += '<span class=\"camera-name\">Camera #' + i + '</span>';\r\n\r\n      strHtml += '<div class=\"videotimer d-flex align-items-center justify-content-end hidden\"> <img src=\"./assets/images/icon-record.gif\"><div id=\"runTimer'+divCameraID+'\" class=\"runTimer\">00:00:00</div></div>';\r\n\r\n      strHtml += '<div class=\"liveViewControlLeft inActive\"><div class=\"divVolume\">';\r\n      strHtml += '<i class=\"fas fa-volume-mute\" onclick=\"muteAudioLiveView(this)\" ></i>';\r\n      strHtml += '<input class=\"pointVolume\" name=\"pointVolume\"  max=\"100\" min=\"0\" type=\"range\" oninput=\"changeAudioVolumnLiveView(this)\"></div></div>';\r\n\r\n      strHtml += '<div class=\"video-control inActive\">';\r\n      strHtml += '<i class=\"fas fa-camera\" title=\"Take Snapshot\"  onclick=\"TakeSnapshotLiveView(this)\"></i>';\r\n      strHtml += '<i class=\"fas fa-dot-circle\" title=\"Start Recording\" onclick=\"RecordVideoLiveView(this)\"></i>';\r\n      strHtml += '<i class=\"fas fa-expand\" title=\"Toggle Fullscreen Mode\"  onclick=\"openGPSLiveViewFullScreenLiveView(this)\"></i>';\r\n      strHtml += '</div></div>';\r\n    }\r\n  }\r\n\r\n  $(\".liveview.main .grid-view\").append(strHtml);\r\n}\r\n\r\nfunction videoFeedLayout(qty) {\r\n\r\n  liveviewFooterControl();\r\n  switch (qty) {\r\n    case 1:\r\n      $(\".liveview.main .grid-view .camera\").css('flex', '100%');\r\n      $(\".liveview.main .grid-view .camera\").removeClass(\"cameraBorder\");\r\n      break;\r\n    case 4:\r\n      $(\".liveview.main .grid-view .camera\").css('flex', '50%');\r\n      $(\".liveview.main .grid-view .camera\").removeClass(\"cameraBorder\").addClass(\"cameraBorder\");\r\n      break;\r\n    case 6:\r\n      $(\".liveview.main .grid-view .camera\").css('flex', '33.33%');\r\n      $(\".liveview.main .grid-view .camera\").removeClass(\"cameraBorder\").addClass(\"cameraBorder\");\r\n      break;\r\n    default:\r\n      $(\".liveview.main .grid-view .camera\").css('flex', '100%');\r\n      $(\".liveview.main .grid-view .camera\").removeClass(\"cameraBorder\").addClass(\"cameraBorder\");\r\n  }\r\n\r\n  var qtyActiveCamera = liveList.filter(q => q.video != null).length;\r\n\r\n  var diff = qty - qtyActiveCamera\r\n\r\n  for (i = 0; i < 6; i++) {\r\n\r\n    if (diff >= 0 && i <= qty - 1)\r\n      $($(\".liveview.main .grid-view .camera\")[i]).css('display', 'block');\r\n    else if (i >= (diff * -1) && i <= qty - 1 + (diff * -1)) {\r\n      $($(\".liveview.main .grid-view .camera\")[i]).css('display', 'block');\r\n    }\r\n    else\r\n      $($(\".liveview.main .grid-view .camera\")[i]).css('display', 'none');\r\n\r\n\r\n    if ((i + 1) > qtyActiveCamera) {\r\n\r\n      $(\".liveview.main .grid-view .camera\" + (i + 1) + \" .pointVolume\").val(0);\r\n    }\r\n  }\r\n\r\n  if (qty == 1) {\r\n\r\n    $(\".liveviewStart\").removeClass(\"inActive\").addClass(\"inActive\");\r\n    $(\".liveviewStop\").removeClass(\"inActive\").addClass(\"inActive\");\r\n    $(\".liveviewFullscreen\").removeClass(\"inActive\").addClass(\"inActive\");\r\n\r\n  } else {\r\n\r\n    $(\".liveviewStart\").removeClass(\"inActive\");\r\n    $(\".liveviewStop\").removeClass(\"inActive\");\r\n    $(\".liveviewFullscreen\").removeClass(\"inActive\");\r\n  }\r\n\r\n  liveviewFooterControl();\r\n}\r\n\r\nfunction playLiveVideo(id) {\r\n\r\n  var liveVideo = liveList.filter(q => q.userId == id)[0];\r\n  if (liveList.filter(q => q.video != null).length >= 6 && liveVideo.video == undefined) {\r\n\r\n    $.Toast(\"\", \"Cannot load video from more than 6 devices!\", \"error\", toastTopCenterOption);\r\n  } else {\r\n\r\n    if (liveVideo.video) {\r\n\r\n      isWaiting(true, \"Disconnecting...\");\r\n      liveVideo.video.source.swClose();\r\n      if (liveVideo.isRecord) {\r\n\r\n        liveVideo.isRecord = null;\r\n        liveVideo.video.recorder.stopRecording(function () {\r\n\r\n          isWaiting(true);\r\n          var blob = liveVideo.video.recorder.getBlob();\r\n          downloadBlobVideo(URL.createObjectURL(blob), liveVideo.userId + \"-\" + getDateExtendtion() + \".mp4\");\r\n          isWaiting(false);\r\n          clearInterval(liveVideo.video.RecordInterval);\r\n        });\r\n      }\r\n\r\n      if(liveVideo.videoTimer){\r\n\r\n        $(\"#\"+liveVideo.video.divCoverId).find('.videotimer:first').removeClass(\"hidden\").addClass(\"hidden\");\r\n        \r\n        clearInterval(liveVideo.videoTimer);\r\n        liveVideo.videoTimer = null;\r\n        liveVideo.videoTimeCount = 0;\r\n      }\r\n\r\n      if(liveVideo.videoTimeout != null){\r\n\r\n        clearInterval(liveVideo.videoTimeout);\r\n        liveVideo.videoTimeout = null;\r\n      }\r\n\r\n      $(\".pinlive.pinlive\" + id).removeClass(\"green\");\r\n      $(\".pinlive.pinlive\" + id).prop('title', \"Start Video\");\r\n      $(\"#customCheck\" + id).removeAttr(\"disabled\");\r\n      setTimeout(() => {\r\n        isWaiting(false);\r\n        if (liveVideo.video.divCoverId != undefined) $(\"#\" + liveVideo.video.divCoverId).remove();\r\n        liveVideo.video = null;\r\n        generateVideoStack();\r\n        videoFeedLayout(liveQty);\r\n        liveviewFooterControl();\r\n      }, 1000);\r\n    } else {\r\n\r\n      isWaiting(true, \"Connecting...\");\r\n      $(\".pinlive.pinlive\" + id).removeClass(\"green\").addClass(\"green\");\r\n      $(\".pinlive.pinlive\" + id).prop('title', \"Stop Video\");\r\n      $(\"#customCheck\" + id).prop('checked', false);\r\n      $(\"#customCheck\" + id).attr(\"disabled\", true);\r\n      var position = liveList.filter(q => q.video != null).length + 1;\r\n\r\n      liveVideo.video = {};\r\n      liveVideo.video.divCoverId = $(\".liveview.main .grid-view .camera\" + position).attr('id');\r\n      liveVideo.video.divVideoId = $(\".liveview.main .grid-view .camera\" + position + \" .divVideo\").attr('id');\r\n      $(\"#\" + liveVideo.video.divCoverId).removeClass(\"camera\" + position);\r\n      liveVideo.video.source = session.swGetPuChanel(liveVideo.deviceId, 0);\r\n\r\n      isWaiting(true);\r\n      var res = liveVideo.video.source.swOpenEx({\r\n        div: liveVideo.video.divVideoId,\r\n        prototype: 'httpflv', //rtmp > hls\r\n        media: 10, // httpflv  10 = open audio , 2 = no audio\r\n        callback: function (options, response) {\r\n          \r\n          isWaiting(false);\r\n\r\n          liveVideo.video.id = $(\"#\" + liveVideo.video.divVideoId + \" video\").attr('id');\r\n          liveVideo.video.canvasId = $(\"#\" + liveVideo.video.divCoverId + \" canvas\").attr('id');\r\n\r\n          $(\"#\" + liveVideo.video.id).prop(\"volume\", 0);\r\n          $(\"#\" + liveVideo.video.divCoverId + \" .pointVolume\").val(0);\r\n          $(\"#\" + liveVideo.video.divCoverId + \" .pinLiveViewControlLeft i\").removeClass(\"fas fa-volume-off\").addClass(\"fas fa-volume-mute\");\r\n\r\n          $(\"#\" + liveVideo.video.divCoverId + \" .liveViewControlLeft \").removeClass(\"inActive\")\r\n          $(\"#\" + liveVideo.video.divCoverId + \" .video-control\").removeClass(\"inActive\")\r\n\r\n          document.getElementById(liveVideo.video.id).disablePictureInPicture = true;\r\n\r\n          document.getElementById(liveVideo.video.id).onvolumechange = function () {\r\n            $(\"#\" + liveVideo.video.divCoverId + \" .pointVolume\").val($(\"#\" + liveVideo.video.id).get(0).volume * 100);\r\n\r\n            if ($(\"#\" + liveVideo.video.id).prop('muted')) {\r\n\r\n              $(\"#\" + liveVideo.video.id).prop(\"volume\", 0);\r\n              $(\"#\" + liveVideo.video.divCoverId + \" .divVolume i\").removeClass(\"fas fa-volume-off\").addClass(\"fas fa-volume-mute\");\r\n              $(\"#\" + liveVideo.video.id).prop('muted', false)\r\n            }\r\n\r\n            if ($(\"#\" + liveVideo.video.divCoverId + \" .pointVolume\").val() == 0) {\r\n\r\n              $(\"#\" + liveVideo.video.divCoverId + \" .divVolume i\").removeClass(\"fas fa-volume-off\").addClass(\"fas fa-volume-mute\");\r\n            } else {\r\n\r\n              $(\"#\" + liveVideo.video.divCoverId + \" .divVolume i\").removeClass(\"fas fa-volume-mute\").addClass(\"fas fa-volume-off\");\r\n            }\r\n          };\r\n\r\n          liveVideo.videoTimeout = window.setInterval(function() {\r\n\r\n            playLiveVideo(id)\r\n          },baseconfig.videoSessionTimeout * 60 * 1000);\r\n\r\n        }\r\n      });\r\n\r\n      if (res != jSW.RcCode.RC_CODE_S_OK) {\r\n        $.Toast(\"\", \"Unable to load live video feed! An unexpected error has occurred.\", \"error\", toastTopCenterOption);\r\n        $(\".pinlive.pinlive\" + id).removeClass(\"green\");\r\n        $(\".pinlive.pinlive\" + id).prop('title', \"Start Video\");\r\n        $(\"#customCheck\" + id).removeAttr(\"disabled\");\r\n        setTimeout(() => {\r\n          isWaiting(false);\r\n          if (liveVideo.video.divCoverId != undefined) $(\"#\" + liveVideo.video.divCoverId).remove();\r\n          liveVideo.video = null;\r\n          generateVideoStack();\r\n          videoFeedLayout(liveQty);\r\n          liveviewFooterControl();\r\n        }, 1000);\r\n      } else {\r\n        $(\"#\" + liveVideo.video.divCoverId + \" .camera-name\").html(\"Camera # \" + liveVideo.userId);\r\n        videoFeedLayout(liveQty);\r\n        liveviewFooterControl();\r\n      }\r\n    }\r\n  }\r\n}\r\n\r\nfunction changeAudioVolumnLiveView(obj) {\r\n\r\n  if (obj.value == 0) {\r\n\r\n    $(obj).closest('.camera').find('video:first').prop(\"volume\", 0);\r\n    $(obj).closest('div').find('i:first').removeClass(\"fas fa-volume-off\").addClass(\"fas fa-volume-mute\");\r\n  } else {\r\n\r\n    $(obj).closest('.camera').find('video:first').prop(\"volume\", obj.value / 100);\r\n    $(obj).closest('div').find('i:first').removeClass(\"fas fa-volume-mute\").addClass(\"fas fa-volume-off\");\r\n  }\r\n}\r\n\r\nfunction muteAudioLiveView(obj) {\r\n\r\n  var valueControl = $(obj).closest('.camera').find('#pointVolume:first');\r\n  var videoControl = $(obj).closest('.camera').find('video:first');\r\n\r\n  if (valueControl.val() == 0) {\r\n\r\n    $(obj).removeClass(\"fas fa-volume-mute\").addClass(\"fas fa-volume-off\");\r\n    valueControl.val(100);\r\n    videoControl.prop(\"volume\", 1);\r\n  } else {\r\n\r\n    $(obj).removeClass(\"fas fa-volume-off\").addClass(\"fas fa-volume-mute\");\r\n    valueControl.val(0);\r\n    videoControl.prop(\"volume\", 0);\r\n  }\r\n\r\n}\r\n\r\nfunction openGPSLiveViewFullScreenLiveView(obj) {\r\n\r\n  document.getElementById($(obj).closest('.camera').find('video:first').attr('id')).requestFullscreen();\r\n}\r\n\r\nfunction TakeSnapshotLiveView(obj) {\r\n\r\n  isWaiting(true, \"Taking snapshot...\");\r\n  var videoControl = $(obj).closest('.camera').find('video:first')[0];\r\n  var canvas = document.createElement('canvas');\r\n  canvas.height = videoControl.videoHeight;\r\n  canvas.width = videoControl.videoWidth;\r\n  var ctx = canvas.getContext('2d');\r\n  ctx.drawImage(videoControl, 0, 0, canvas.width, canvas.height);\r\n  downloadImage(canvas.toDataURL('image/jpeg'), \"SNAPSHOT-\" + getDateExtendtion() + \".jpg\");\r\n\r\n  setTimeout(() => {\r\n    isWaiting(false);\r\n  }, 500);\r\n}\r\n\r\n\r\nfunction RecordVideoLiveView(obj,highRes = false) {\r\n\r\n  var liveVideo = liveList.filter(q => q.video != null && q.video.divCoverId == $(obj).closest('.camera').attr('id'))[0];\r\n\r\n  if (liveVideo.video) {\r\n    if (liveVideo.isRecord) {\r\n\r\n      liveVideo.isRecord = null;\r\n      $(obj).removeClass(\"color-red\");\r\n      liveVideo.video.recorder.stopRecording(function () {\r\n\r\n        isWaiting(true);\r\n        var blob = liveVideo.video.recorder.getBlob();\r\n        downloadBlobVideo(URL.createObjectURL(blob), liveVideo.userId + \"-\" + getDateExtendtion() + \".mp4\");\r\n        isWaiting(false);\r\n        clearInterval(liveVideo.video.RecordInterval);\r\n      });\r\n\r\n      if(liveVideo.videoTimer){\r\n\r\n        $(obj).closest('.camera').find('.videotimer:first').removeClass(\"hidden\").addClass(\"hidden\");\r\n        \r\n        clearInterval(liveVideo.videoTimer);\r\n\r\n        liveVideo.videoTimer = null;\r\n        liveVideo.videoTimeCount = 0;\r\n      }\r\n    } else {\r\n      if(liveList.filter(q=>q.isRecord).length > 0){\r\n\r\n        $.Toast(\"\", \"Multiple recording sessions are not allowed! Please stop the active live video recording session.\", \"warning\", toastTopCenterOption);\r\n      }else{\r\n\r\n        var video = document.getElementById(liveVideo.video.id);\r\n\r\n        if(video.videoHeight > 720 && !highRes){\r\n  \r\n          rechordObj = obj;\r\n          openRecordHigestRes();\r\n        }else{\r\n  \r\n          liveVideo.isRecord = true;\r\n          $(obj).addClass(\"color-red\");\r\n          \r\n          var canvas = document.getElementById(liveVideo.video.canvasId);\r\n          canvas.width = video.videoWidth;\r\n          canvas.height = video.videoHeight;\r\n          var ctx = canvas.getContext(\"2d\");\r\n    \r\n          liveVideo.video.RecordInterval = window.setInterval(function () {\r\n            ctx.drawImage(video, 5, 5, video.videoWidth, video.videoHeight);\r\n          }, 5);\r\n    \r\n          setTimeout(() => {\r\n    \r\n            liveVideo.video.recorder = RecordRTC(document.getElementById(liveVideo.video.canvasId), {\r\n              type: 'canvas',\r\n              showMousePointer: false\r\n            });\r\n            liveVideo.video.recorder.startRecording();\r\n          }, 1000);\r\n    \r\n          $(\"#runTimer\"+liveVideo.video.divCoverId).html(\"00:00:00\");\r\n    \r\n          $(\"#\"+liveVideo.video.divCoverId).find('.videotimer:first').removeClass(\"hidden\");\r\n    \r\n          liveVideo.video.videoTimeCount = 0;\r\n          \r\n          liveVideo.videoTimer =  window.setInterval(function () {\r\n            \r\n            \r\n            liveVideo.video.videoTimeCount +=1;\r\n    \r\n            $(\"#runTimer\"+liveVideo.video.divCoverId).html(liveVideo.video.videoTimeCount.toString().toHHMMSS());\r\n          }, 1000);\r\n    \r\n          if(liveVideo.videoTimeout != null){\r\n    \r\n            clearInterval(liveVideo.videoTimeout);\r\n            liveVideo.videoTimeout = null;\r\n            \r\n            liveVideo.videoTimeout = window.setInterval(function() {\r\n    \r\n              playLiveVideo(liveVideo.userId)\r\n            },baseconfig.videoSessionTimeout * 60 * 1000);\r\n          }\r\n        }\r\n      }\r\n    }\r\n  }\r\n}\r\n\r\nfunction onLiveViewPlayAll() {\r\n\r\n  var selectVideoQty = $('.main.liveview .contact .custome-checkbox:checkbox:checked').length;\r\n\r\n  if (selectVideoQty > 0) {\r\n\r\n    var liveQty = liveList.filter(q => q.video != null).length;\r\n\r\n    if (selectVideoQty + liveQty > 6) {\r\n\r\n      $.Toast(\"\", \"Cannot load live video from more than 6 devices!\", \"error\", toastTopCenterOption);\r\n    } else {\r\n\r\n      $.each($('.main.liveview .contact .custome-checkbox:checkbox:checked'), function (key, value) {\r\n\r\n        $(value).closest('.nb-list-row').find('.pinlive').click();\r\n      });\r\n    }\r\n\r\n  } else {\r\n\r\n    $.Toast(\"\", \"No device selected! <br>Please select a device from online users list.\", \"warning\", toastTopCenterOption);\r\n  }\r\n\r\n}\r\n\r\nfunction onLiveViewStopAll() {\r\n\r\n  liveList.forEach(l=>{\r\n\r\n    if (l.video) {\r\n\r\n      playLiveVideo(l.userId);\r\n    }\r\n  });\r\n\r\n}\r\n\r\nfunction liveviewFooterControl() {\r\n\r\n  var liveQty = liveList.filter(q => q.video != null).length;\r\n\r\n  if (liveQty > 0) {\r\n\r\n    $(\".liveviewStop\").removeClass(\"objInActive\");\r\n    $(\".liveviewFullscreen\").removeClass(\"objInActive\");\r\n    $(\".liveviewMap\").removeClass(\"objInActive\");\r\n  } else {\r\n\r\n    $(\".liveviewStop\").removeClass(\"objInActive\").addClass(\"objInActive\");\r\n    $(\".liveviewFullscreen\").removeClass(\"objInActive\").addClass(\"objInActive\");\r\n    $(\".liveviewMap\").removeClass(\"objInActive\").addClass(\"objInActive\");\r\n  }\r\n\r\n}\r\n\r\nfunction onLiveViewAllFullScreen() {\r\n\r\n  document.getElementById(\"liveGridView\").requestFullscreen();\r\n}\r\n\r\n\r\n//=========================  Map =====================================\r\n\r\nfunction onLiveViewShowMap() {\r\n\r\n  isShowGPS = !isShowGPS;\r\n\r\n  if (isShowGPS) {\r\n\r\n    $(\"#liveviewUser\").addClass(\"hidden\");\r\n    $(\"#liveviewGPS\").removeClass(\"hidden\");\r\n    $(\".liveviewStart\").removeClass(\"objGPSInActive\").addClass(\"objGPSInActive\");\r\n    $(\".liveviewStop\").removeClass(\"objGPSInActive\").addClass(\"objGPSInActive\");\r\n    $(\"#liveviewMonitor\").removeClass(\"col-lg-9\").addClass(\"col-lg-6\");\r\n    $(\"#liveviewMonitor .liveviewMap a\").addClass(\"red\");\r\n\r\n    var devices = liveList.filter(q => q.video != null);\r\n\r\n    devices.forEach(device => {\r\n\r\n      device.latitude = null;\r\n\r\n      device.longitude = null;\r\n\r\n      device.isGetGps = false;\r\n\r\n      device.gps = session.swGetPuChanel(device.deviceId, 65536);\r\n\r\n      if (device.gps == null) {\r\n\r\n        $.Toast(\"\", \"Cannot get device location!\", \"error\", toastTopCenterOption);\r\n\r\n        return;\r\n      }\r\n\r\n      if (!device.isGetGps) {\r\n\r\n        isWaiting(true);\r\n\r\n        device.gps.swOpen({\r\n          repeat: -1,\r\n          interval: 5000,\r\n          callback: function (options, response, data = device) {\r\n            \r\n            if(response.gps){\r\n\r\n              if (liveviewOldTimeStamp.filter(q => q.userId == device.userId).length == 0) {\r\n\r\n                liveviewOldTimeStamp.push({\r\n                  userId: device.userId,\r\n                  old_timestamp: null\r\n                });\r\n              }\r\n\r\n              var new_timestamp = new Date().valueOf();\r\n              var timeStamp = liveviewOldTimeStamp.filter(q => q.userId == device.userId)[0];\r\n\r\n              if (timeStamp.old_timestamp == null || timeStamp.old_timestamp + 1000 < new_timestamp) {\r\n\r\n                timeStamp.old_timestamp = new Date().valueOf();\r\n\r\n                if (!data || !response || device.gps == null || !response.gps.lat || !response.gps.long) {\r\n\r\n                  device.isGetGps = false;\r\n                  device.gps.swClose();\r\n                  device.gps._callback = null;\r\n                  device.gps = null;\r\n                } else {\r\n\r\n                  device.isGetGps = true;\r\n                  data.latitude = response.gps.lat / 10000000;\r\n                  data.longitude = response.gps.long / 10000000;\r\n                  liveviewPinDeviceToMap();\r\n\r\n                  isWaiting(false);\r\n                }\r\n              }\r\n            }\r\n          }\r\n        });\r\n\r\n        setTimeout(() => {\r\n          \r\n          \r\n          if(device.isGetGps== false){\r\n\r\n            isWaiting(false);\r\n            $.Toast(\"\", \"Unable to locate [\" + device.userId + \"] device!\", \"error\", toastTopCenterOption);\r\n          }\r\n\r\n        }, 5000);\r\n      } else {\r\n\r\n        var device = liveList.filter(q => q.video != null);\r\n\r\n        isWaiting(false);\r\n        device.latitude = null;\r\n        device.longitude = null;\r\n        device.isGetGps = false;\r\n\r\n        if(device.gps){\r\n\r\n          device.gps.swClose();\r\n          device.gps._callback = null;\r\n        }\r\n\r\n        if (device.isGetGps == false) {\r\n\r\n          if (device.marker) {\r\n            device.marker.setMap(null);\r\n            device.marker = null;\r\n          }\r\n        }\r\n      }\r\n\r\n    });\r\n  }\r\n  else {\r\n\r\n    $(\"#liveviewUser\").removeClass(\"hidden\");\r\n    $(\"#liveviewGPS\").addClass(\"hidden\");\r\n    $(\".liveviewStart\").removeClass(\"objGPSInActive\");\r\n    $(\".liveviewStop\").removeClass(\"objGPSInActive\");\r\n    $(\"#liveviewMonitor\").removeClass(\"col-lg-6\").addClass(\"col-lg-9\");\r\n    $(\"#liveviewMonitor .liveviewMap a\").removeClass(\"red\");\r\n\r\n    var devices = liveList.filter(q => q.video != null);\r\n\r\n    devices.forEach(device => {\r\n\r\n      device.latitude = null;\r\n      device.longitude = null;\r\n      device.isGetGps = false;\r\n      device.gps.swClose();\r\n      device.gps._callback = null;\r\n      device.gps = null;\r\n\r\n      if (device.marker) {\r\n        device.marker.setMap(null);\r\n        device.marker = null;\r\n      }\r\n    });\r\n  }\r\n}\r\n\r\nfunction onLiveViewShowMapRefresh(){\r\n\r\n  if(isShowGPS){\r\n      var devices = liveList.filter(q => q.video != null);\r\n\r\n      devices.forEach(device => {\r\n        if(device.isGetGps == null || device.isGetGps == false){\r\n    \r\n          device.latitude = null;\r\n    \r\n          device.longitude = null;\r\n    \r\n          device.isGetGps = false;\r\n    \r\n          device.gps = session.swGetPuChanel(device.deviceId, 65536);\r\n    \r\n          if (device.gps == null) {\r\n    \r\n            $.Toast(\"\", \"Cannot get device location!\", \"error\", toastTopCenterOption);\r\n    \r\n            return;\r\n          }\r\n    \r\n          if (!device.isGetGps) {\r\n    \r\n            isWaiting(true);\r\n    \r\n            device.gps.swOpen({\r\n              repeat: -1,\r\n              interval: 5000,\r\n              callback: function (options, response, data = device) {\r\n                \r\n                if(response.gps){\r\n    \r\n                  if (liveviewOldTimeStamp.filter(q => q.userId == device.userId).length == 0) {\r\n    \r\n                    liveviewOldTimeStamp.push({\r\n                      userId: device.userId,\r\n                      old_timestamp: null\r\n                    });\r\n                  }\r\n    \r\n                  var new_timestamp = new Date().valueOf();\r\n                  var timeStamp = liveviewOldTimeStamp.filter(q => q.userId == device.userId)[0];\r\n    \r\n                  if (timeStamp.old_timestamp == null || timeStamp.old_timestamp + 1000 < new_timestamp) {\r\n    \r\n                    timeStamp.old_timestamp = new Date().valueOf();\r\n    \r\n                    if (!data || !response || device.gps == null || !response.gps.lat || !response.gps.long) {\r\n    \r\n                      device.isGetGps = false;\r\n                      device.gps.swClose();\r\n                      device.gps._callback = null;\r\n                      device.gps = null;\r\n                    } else {\r\n    \r\n                      device.isGetGps = true;\r\n                      data.latitude = response.gps.lat / 10000000;\r\n                      data.longitude = response.gps.long / 10000000;\r\n                      liveviewPinDeviceToMap();\r\n    \r\n                      isWaiting(false);\r\n                    }\r\n                  }\r\n                }\r\n              }\r\n            });\r\n    \r\n            setTimeout(() => {\r\n              \r\n              \r\n              if(device.isGetGps== false){\r\n    \r\n                isWaiting(false);\r\n                $.Toast(\"\", \"Unable to locate [\" + device.userId + \"] device!\", \"error\", toastTopCenterOption);\r\n              }\r\n    \r\n            }, 5000);\r\n          } else {\r\n    \r\n            var device = liveList.filter(q => q.video != null);\r\n    \r\n            isWaiting(false);\r\n            device.latitude = null;\r\n            device.longitude = null;\r\n            device.isGetGps = false;\r\n    \r\n            if(device.gps){\r\n    \r\n              device.gps.swClose();\r\n              device.gps._callback = null;\r\n            }\r\n    \r\n            if (device.isGetGps == false) {\r\n    \r\n              if (device.marker) {\r\n                device.marker.setMap(null);\r\n                device.marker = null;\r\n              }\r\n            }\r\n          }\r\n        }\r\n      });\r\n  }else{\r\n    onLiveViewShowMap();\r\n  }\r\n}\r\n\r\n\r\nfunction liveviewPinDeviceToMap() {\r\n\r\n  var devices = liveList.filter(q => q.video != null);\r\n\r\n  if ($(\".main.liveview\").html() != undefined && devices.length > 0) {\r\n\r\n    devices.forEach(l => {\r\n\r\n      if (l.latitude == null || l.longitude == null || l.isGetGps == false) {\r\n\r\n        if (l.marker) {\r\n          l.marker.setMap(null);\r\n          l.marker = null;\r\n        }\r\n      }\r\n      else {\r\n\r\n        if (l.marker && l.marker != null) {\r\n          l.marker.setPosition(new google.maps.LatLng(l.latitude, l.longitude));\r\n        } else {\r\n\r\n          var icon = {\r\n            url: l.pinImageURL, // url\r\n            scaledSize: new google.maps.Size(64, 64), // scaled size\r\n            anchor: new google.maps.Point(32, 32) // anchor\r\n          };\r\n\r\n          l.marker = new google.maps.Marker({\r\n            map: googleMap,\r\n            position: { lat: l.latitude, lng: l.longitude },\r\n            icon: icon,\r\n            title: l.userName\r\n          });\r\n          \r\n\r\n          l.marker.addListener('click', function() {\r\n\r\n          var infowindow = new google.maps.InfoWindow();\r\n          var infoContent = '<div class=\"pininfo\" ><div class=\"pininfoleft\" >';\r\n          infoContent+= '<p class=\"pininfoname\" ><b>'+ l.userName+'</b></p>'\r\n          infoContent+= '<p class=\"pininfoid\">'+ l.userId +'</p>';\r\n          infoContent+= '<p class=\"pininfolat\">Latitude: '+ l.latitude +'</p>';\r\n          infoContent+= '<p class=\"pininfolng\">Longitude: '+ l.longitude  +'</p></div>';\r\n          infoContent+= '<div class=\"pininforight\">';\r\n          infoContent+= '<div class=\\'contract-control noPadding\\' title=\"Open in Google Maps\"><nb-icon icon=\"pin\" pack=\"eva\"></nb-icon><i class=\"pin \" data-eva=\"pin\"  onclick=\"openGoogleMap(\\''+l.latitude+'\\',\\''+l.longitude+'\\')\"></i></div></div></div>';\r\n\r\n\r\n          infowindow.setContent(infoContent);\r\n          infowindow.open(googleMap, l.marker);\r\n          \r\n          setTimeout(() => {\r\n            eva.replace();\r\n          }, 100);\r\n    \r\n          });\r\n\r\n          liveviewSetPosition(l.userId);\r\n\r\n        }\r\n      }\r\n    });\r\n  }\r\n}\r\n\r\nfunction openGoogleMap(lat,lng){\r\n  window.open('https://www.google.com/maps/search/?api=1&query='+lat+','+lng, '_blank');\r\n}\r\n\r\nfunction liveviewSetPosition(id, zoom = 0) {\r\n\r\n  var device = liveList.filter(q => q.userId == id)[0];\r\n\r\n  if (device.marker && device.marker != null) {\r\n\r\n    googleMap.setCenter(device.marker.getPosition());\r\n\r\n    if (zoom != 0) { //0 is current zoom level\r\n\r\n      googleMap.setZoom(zoom);\r\n    }\r\n  } else {\r\n    setTimeout(() => {\r\n\r\n      liveviewSetPosition(id, zoom);\r\n    }, 1000);\r\n  }\r\n}\r\n\r\nfunction onLiveSelectAll(isCheckAll){\r\n\r\n  if(isCheckAll){\r\n    $(\".main.liveview .custome-checkbox\").prop('checked', true);\r\n  }else{\r\n    $(\".main.liveview .custome-checkbox\").prop('checked', false);\r\n  }\r\n\r\n}\r\n\r\nfunction openRecordHigestRes(){\r\n\r\n  document.getElementById('modalWarningHigestRes').style.display='block';\r\n}\r\n\r\nfunction closeRecordHigestRes(){\r\n\r\n  document.getElementById('modalWarningHigestRes').style.display='none';\r\n}\r\n\r\nfunction recordWithHigestRes(){\r\n  \r\n  RecordVideoLiveView(rechordObj,true);\r\n  document.getElementById('modalWarningHigestRes').style.display='none';\r\n}","var communicationList = [];\r\nvar communicationOldTimeStamp = [];\r\nvar isShowMarker = false;\r\nvar audioStream;\r\nvar keysdown;\r\nvar comTimerInterval;\r\nvar comTimePassed;\r\nvar comTimeLeft;\r\n\r\nfunction initLiveCommunication() {\r\n\r\n\tcommunicationList = [];\r\n  communicationOldTimeStamp = [];\r\n  isShowMarker = false;\r\n\r\n\tvar mapProp = {\r\n\t  center: new google.maps.LatLng(baseLatitude, baseLongitude),\r\n\t  zoom: baseconfig.defaultlocation.zoom,\r\n\t  streetViewControl: false,\r\n\t  mapTypeControl: true\r\n\t};\r\n  googleMap = new google.maps.Map(document.getElementById(\"googleMap\"), mapProp);\r\n\r\n  var iconHtml= \"<div class= 'header'>\";\r\n  for(var i=1;i<=104;i++){\r\n    \r\n    var strId = \"0000\"+i.toString();\r\n    strId = strId.substring(strId.length - 3);\r\n    iconHtml += \"<img src='assets/js/baseVideo/jswlib/res/emotion/f\"+strId+\".gif' onclick='onFaceSelectClick(\\\"\"+strId+\"\\\")'>\";\r\n\r\n    if(i%13 == 0){\r\n\r\n      iconHtml+= \"</div><div class= 'header'>\";\r\n    }\r\n  }\r\n  iconHtml+= \"</div>\";\r\n\r\n  $(\".main.communication #frame .content .message-input .iconDialog .divWraper\").html(iconHtml);\r\n\r\n    \r\n  $(\".main.communication #frame #emojiText\").on('keydown', function(e) {\r\n\r\n    if (e.which == 13) {\r\n      newMessage();\r\n      return false;\r\n    }\r\n\r\n    if([8,37,38,39,30,46].includes(e.which)) return true; \r\n\r\n    var obj =$('.main.communication #frame #emojiText');\r\n\r\n    return ($(obj).html().length - ($(obj).find(\"img\").length * 59) + $(obj).find(\"img\").length) < 100;\r\n  });\r\n\r\n  keysdown = false;\r\n\r\n  $(document).on('keyup', function(e) {\r\n\r\n    if (e.which == 32) {\r\n\r\n      if($(\".main.communication #communicationChat\").html() != undefined \r\n      && $(\".main.communication #frame .social-media .fa-satellite-dish\").hasClass(\"color-green\")){\r\n        $(\".main.communication #frame .content .message-input .message-voice div.message-voice-image\").removeClass(\"active\");\r\n        \r\n        onAdminHangDownPuttoTalk();\r\n        keysdown = false;\r\n        return false;\r\n      }\r\n    }\r\n  }).on('keydown', function(e) {\r\n\r\n    if (e.which == 32 && !keysdown) {\r\n \r\n      if($(\".main.communication #communicationChat\").html() != undefined \r\n      && $(\".main.communication #frame .social-media .fa-satellite-dish\").hasClass(\"color-green\")){\r\n        $(\".main.communication #frame .content .message-input .message-voice div.message-voice-image\").removeClass(\"active\").addClass(\"active\");\r\n\r\n        onAdminHangUpPuttoTalk();\r\n        keysdown = true;\r\n        return false;\r\n      }\r\n    }\r\n  });\r\n}\r\n\r\nfunction CreateActiveCommunicationList(){\r\n\r\n    if($(\".main.communication #communicationChat\").html() != undefined){\r\n        var isExistId = [];\r\n\r\n        var txtHtml = \"<ul><li><span class='liGroup'>Groups (\"+ session._confManager._conf_list_names.length +\")</span><i class='liCollapse fas fa-chevron-up' onclick='onContractCollapse(this)'></i><ul>\";\r\n            \r\n        session._confManager._conf_list_names.forEach(l=>{\r\n\r\n          var currentObj = session._confManager._conf_list[l];\r\n    \r\n          if(!isExistId.includes(currentObj._conf_base_info.id)) {\r\n\r\n            isExistId.push(currentObj._conf_base_info.id);\r\n\r\n            var groupUserExist = [];\r\n\r\n            currentObj._conf_particulars.forEach(loop=>{\r\n\r\n              if(groupUserExist.filter(q=>q.name == loop.name).length == 0) {\r\n\r\n                groupUserExist.push(loop);\r\n              }\r\n            });\r\n\r\n            if(communicationList.filter(q=>q.type == \"group\" && q.groupInfo.id == currentObj._conf_base_info.id).length == 0){\r\n\r\n              communicationList.push({\r\n                groupInfo:currentObj._conf_base_info,\r\n                groupUsers: groupUserExist,\r\n                imageURL:\"./assets/images/icon/user-group.png\",\r\n                type:\"group\",\r\n                activeChat: false,\r\n                activeMic: false,\r\n                isStartMeeting: false\r\n              });\r\n            }else{\r\n\r\n              var group = communicationList.filter(q=>q.type == \"group\" && q.groupInfo.id == currentObj._conf_base_info.id)[0];\r\n              group.groupInfo = currentObj._conf_base_info;\r\n              group.groupUsers = groupUserExist;\r\n            }\r\n            \r\n\r\n            txtHtml += \"<li class='contact contactGroup contact\"+currentObj._conf_base_info.id+\"' ondblclick='onOpenGroupMessagePanel(this,\\\"\"+currentObj._conf_base_info.id+\"\\\")'><div class='wrap d-flex align-items-center'>\";\r\n            txtHtml += \"<img src='./assets/images/icon/user-group.png' alt='' /><div class='meta'>\";\r\n            txtHtml += \"<p class='name'>\"+currentObj._conf_base_info.name +\" (\"+groupUserExist.length+\")</p></div></div></li>\";\r\n          }\r\n          \r\n        });\r\n\r\n        txtHtml += \"</ul></li>\";\r\n\r\n        var counts = [];\r\n\r\n        session._arr_pu_online.forEach(function(l) { \r\n\r\n          var currentId = l._userid ;\r\n\r\n          if(!counts.includes(currentId)) {\r\n\r\n            counts.push(currentId);\r\n          };\r\n        });\r\n\r\n       txtHtml += \"<li><span class='liGroup'>Online Users (\"+counts.length+\")</span><i class='liCollapse fas fa-chevron-up' onclick='onContractCollapse(this)'></i><ul>\";\r\n\r\n        if(session._arr_pu_online.length > 0){\r\n\r\n            session._arr_pu_online.forEach(l => {\r\n\r\n                var currentId = l._userid ;\r\n\r\n                if(!isExistId.includes(currentId)) {\r\n\r\n                  isExistId.push(currentId);\r\n\r\n                  if(communicationList.filter(q=>q.type == \"user\" && q.deviceId == l._id_pu).length == 0){\r\n  \r\n                    communicationList.push({\r\n                      deviceId:l._id_pu,\r\n                      userId:currentId,\r\n                      userName: l._username,\r\n                      type:\"user\",\r\n                      activeChat: false,\r\n                      activeMic:false,\r\n                      isGetGps:false\r\n                    });\r\n  \r\n                  }else{\r\n                    var device =  communicationList.filter(q=>q.type == \"user\" && q.deviceId == l._id_pu)[0];\r\n                    device.id = l._id_pu;\r\n                    device.userId = currentId;\r\n                    device.userName = l._username;\r\n                  }\r\n                  \r\n                  var device =  communicationList.filter(q=>q.type == \"user\" && q.deviceId == l._id_pu)[0];\r\n                  \r\n                  var pinImg = new Image();\r\n                  var pinImageURL = baseconfig.imageURL+ '/profile/'+currentId+'-pin.png?rnd='+Math.random().toString(36).substring(7);\r\n                  pinImg.src = pinImageURL;\r\n                  device.pinImageURL = pinImageURL;\r\n                  pinImg.onerror = function(error,id = currentId){\r\n    \r\n                    communicationList.filter(q=>q.type == \"user\" && q.userId == id)[0].pinImageURL = \"assets/images/no-photo-pin.png\";\r\n                  }\r\n  \r\n                  pinImg.onload = function(){ };\r\n  \r\n                  var img = new Image();\r\n                  var imageURL = baseconfig.imageURL+ '/profile/'+currentId+'.png?rnd='+Math.random().toString(36).substring(7);\r\n                  img.src = imageURL;\r\n                  device.imageURL = imageURL;\r\n                  img.onerror = function(error,id = currentId){\r\n     \r\n                    communicationList.filter(q=>q.type == \"user\" && q.userId == id)[0].imageURL = \"assets/images/no-photo.png\";\r\n                    communicationList.filter(q=>q.type == \"user\" && q.userId == id)[0].pinImageURL = \"assets/images/no-photo-pin.png\";\r\n                  }\r\n  \r\n                  img.onload = function(){ };\r\n\r\n                  txtHtml +=  \"<li class='contact contact\"+currentId+\"' ondblclick='onOpenUserMessagePanel(this,\\\"\"+currentId+\"\\\")'><div class='wrap d-flex align-items-center'><span class='contact-status online'></span>\";\r\n                  txtHtml +=  \"<img src='\"+ imageURL +\"' onerror=\\\"this.src='assets/images/no-photo.png'\\\" /><div class='meta'>\";\r\n                  txtHtml +=  \"<p class='name'>\"+  communicationList.filter(q=>q.type == \"user\" && q.deviceId == l._id_pu)[0].userName  +\"</p></div></div></li>\";\r\n\r\n                }\r\n            });\r\n        }\r\n\r\n        txtHtml +=  \"</ul></li></ul>\";\r\n\r\n        $(\".main.communication #communicationChat #contacts\").html(txtHtml);\r\n\r\n        $(\".main.communication #communicationChat #search input\").val('');\r\n\r\n        removeOfflineCommunication(isExistId);\r\n\r\n        eva.replace();\r\n\r\n    }\r\n}\r\n\r\n\r\nfunction closeCommunicationPage() {\r\n  \r\n  isShowMarker = false;\r\n\r\n  onClearMeeting();\r\n\r\n  communicationList.filter(q=>q.type == \"user\").forEach(l=>{\r\n\r\n    l.isGetGps = false;\r\n  });\r\n\r\n  removeOfflineCommunication([]);\r\n}\r\n\r\nfunction removeOfflineCommunication(isExistId){\r\n\r\n  if(communicationList.filter(q=>q.activeChat).length==0) activeMessagePanel(false);\r\n\r\n  communicationList.forEach(function(l,index,object){\r\n\r\n    var id = l.userId ?? l.groupInfo.id;\r\n    \r\n    if(l.activeChat == true) {\r\n\r\n      $(\".main.communication #communicationChat #contacts .contact\"+id).addClass(\"active\");\r\n    }\r\n\r\n    if(l.type == \"user\"){\r\n\r\n      if(!isExistId.includes(l.userId)){\r\n\r\n        l.isGetGps = false;\r\n      }\r\n\r\n      if(!l.isGetGps){\r\n\r\n        l.latitude = null;\r\n        l.longitude = null;\r\n        if (l.gps) {\r\n          l.gps.swClose();\r\n          l.gps._callback = null;\r\n          if (l.marker) {\r\n            l.marker.setMap(null);\r\n            l.marker = null;\r\n          }\r\n        }\r\n        l.gps = null;\r\n      }\r\n\r\n    }\r\n\r\n    if(!isExistId.includes(l.userId) && !isExistId.includes(l.groupInfo?.id) ) {\r\n  \r\n      if(l.activeChat){\r\n\r\n        l.activeChat = false;\r\n\r\n        activeMessagePanel(false);\r\n      }\r\n\r\n\r\n      object.splice(index, 1);\r\n    }\r\n\r\n  });\r\n\r\n  if(isShowMarker) {\r\n\r\n    isWaiting(true);\r\n    \r\n    setTimeout(() => {\r\n      \r\n      isWaiting(false);\r\n      onCommunicationShowMap();\r\n    }, 3000);\r\n  } \r\n}\r\n\r\nfunction onCommunicationClickExpand() {\r\n    $(\"#profile\").toggleClass(\"expanded\");\r\n      $(\"#contacts\").toggleClass(\"expanded\");\r\n}\r\n\r\nfunction onCommunicationClickStatusLi() {\r\n  $(\"#profile-img\").removeClass();\r\n\t$(\"#status-online\").removeClass(\"active\");\r\n\t$(\"#status-away\").removeClass(\"active\");\r\n\t$(\"#status-busy\").removeClass(\"active\");\r\n\t$(\"#status-offline\").removeClass(\"active\");\r\n\t$(this).addClass(\"active\");\r\n\t\r\n\tif($(\"#status-online\").hasClass(\"active\")) {\r\n\t\t$(\"#profile-img\").addClass(\"online\");\r\n\t} else if ($(\"#status-away\").hasClass(\"active\")) {\r\n\t\t$(\"#profile-img\").addClass(\"away\");\r\n\t} else if ($(\"#status-busy\").hasClass(\"active\")) {\r\n\t\t$(\"#profile-img\").addClass(\"busy\");\r\n\t} else if ($(\"#status-offline\").hasClass(\"active\")) {\r\n\t\t$(\"#profile-img\").addClass(\"offline\");\r\n\t} else {\r\n\t\t$(\"#profile-img\").removeClass();\r\n\t};\r\n\t\r\n\t$(\"#status-options\").removeClass(\"active\");\r\n}\r\n\r\nfunction onContractCollapse(obj){\r\n\r\n\tif($(obj).hasClass(\"fa-chevron-up\")){\r\n\r\n\t\t$(obj).closest('li').find(\"ul:first\").hide();\r\n\t\t$(obj).removeClass(\"fa-chevron-up\").addClass(\"fa-chevron-down\");\r\n\t}else{\r\n\r\n\t\t$(obj).closest('li').find(\"ul:first\").show();\r\n\t\t$(obj).removeClass(\"fa-chevron-down\").addClass(\"fa-chevron-up\");\r\n\t}\r\n}\r\n\r\nfunction onCommunicationClickTalk(){\r\n  var obj = $(\".main.communication #communicationChat #frame .content .message-input .btMicrophone\");\r\n\r\n\tvar talkPanel = $(\".main.communication #communicationChat #frame .content .message-input div.message-voice\");\r\n\r\n\tif(talkPanel.hasClass(\"hidden\")){\r\n\r\n\t\ttalkPanel.removeClass(\"hidden\");\r\n\t\ttalkPanel.removeClass(\"show\").addClass(\"show\");\r\n\t\tobj.removeClass(\"red\").addClass(\"red\");\r\n\t\tobj.closest('.content').find(\"div.messages\").addClass(\"talk\");\r\n\t}else{\r\n\r\n\t\ttalkPanel.removeClass(\"hidden\").addClass(\"hidden\");\r\n\t\ttalkPanel.removeClass(\"show\");\r\n\t\tobj.removeClass(\"red\");\r\n\t\tobj.closest('.content').find(\"div.messages\").removeClass(\"talk\");\r\n\t}\r\n\r\n\tscoreMessageToBottom();\r\n}\r\n\r\nfunction onOnpenMicrophone(isStart){\r\n\r\n  var btMicrophone = $(\".main.communication #communicationChat #frame .content .message-input .btMicrophone\");\r\n  var btMessage =   $(\".main.communication #communicationChat #frame .content .message-input .btMessage\");\r\n  var textWrapper =   $(\".main.communication #communicationChat #frame .content .message-input #text_wrapper #emojiText\");\r\n  var talkPanel = $(\".main.communication #communicationChat #frame .content .message-input div.message-voice\");\r\n  \r\n  if(isStart){\r\n\r\n    btMicrophone.removeClass(\"objInActive\");\r\n    btMessage.removeClass(\"objInActive\").addClass(\"objInActive\");\r\n    textWrapper.html(\"\");\r\n    textWrapper.removeClass(\"objInActive\").addClass(\"objInActive\");\r\n    talkPanel.removeClass(\"hidden\");\r\n\t\ttalkPanel.removeClass(\"show\").addClass(\"show\");\r\n\t\tbtMicrophone.removeClass(\"red\").addClass(\"red\");\r\n\t\tbtMicrophone.closest('.content').find(\"div.messages\").addClass(\"talk\");\r\n  }else{\r\n\r\n    btMicrophone.removeClass(\"objInActive\").addClass(\"objInActive\");\r\n    btMessage.removeClass(\"objInActive\");\r\n    textWrapper.removeClass(\"objInActive\");\r\n    talkPanel.removeClass(\"hidden\").addClass(\"hidden\");\r\n\t\ttalkPanel.removeClass(\"show\");\r\n\t\tbtMicrophone.removeClass(\"red\");\r\n\t\tbtMicrophone.closest('.content').find(\"div.messages\").removeClass(\"talk\");\r\n  }\r\n}\r\n\r\nfunction onSearchContact(obj){\r\n\r\n    $(obj).closest(\"#sidepanel\").find(\"li.contact\").each(function(index,value){\r\n\r\n        $(value).removeClass(\"hidden\");\r\n\r\n        if($(value).find(\"p:first\").html().toUpperCase().indexOf($(obj).val().toUpperCase()) < 0){\r\n          \r\n          $(value).addClass(\"hidden\");;\r\n        }\r\n\r\n    });\r\n}\r\n\r\nfunction openDialogCreateMeeting(){\r\n\r\n  document.getElementById('createMeetingModal').style.display='block';\r\n\r\n  $(\"#createMeetingModal #groupName\").removeClass(\"is-invalid\");\r\n  $(\"#createMeetingModal #groupName\").val('');\r\n  $(\"#createMeetingModal #rioHost\").prop(\"checked\", true);\r\n  $(\"#createMeetingModal #rioInvited\").prop(\"checked\", true);\r\n  $(\"#createMeetingModal #rioAuto\").prop(\"checked\", true);\r\n  $(\"#createMeetingModal #rioInitByAdmin\").prop(\"checked\", true);\r\n}\r\n\r\nfunction closeCreateMeeting(){\r\n\r\n  document.getElementById('createMeetingModal').style.display='none';\r\n}\r\n\r\nfunction onCreateMeetingSubmit(obj){\r\n\r\n  var control = $(obj).closest(\"form\");\r\n  \r\n  var groupName =  $(control).find(\"#groupName:first\").val();\r\n  var groupType =   $(control).find(\"input[name='rioGroupType']:checked:first\").val();\r\n  var groupJoinMtd =   $(control).find(\"input[name='rioJoinMode']:checked:first\").val();\r\n  var groupdSpeakToMtd =   $(control).find(\"input[name='rioSpkToMtd']:checked:first\").val();\r\n  var groupStartMtd =   $(control).find(\"input[name='rioStartMtd']:checked:first\").val();\r\n\r\n  if(groupName.trim() == \"\"){\r\n    \r\n    $(control).find(\"#groupName:first\").addClass(\"is-invalid\");\r\n  }else{\r\n\r\n    isWaiting(true);\r\n\r\n    session.swGetConfManager().swCreateConf({\r\n      confbaseinfo: {\r\n          name: groupName,\r\n          speakmode: parseInt(groupType),\r\n          joinmode: parseInt(groupJoinMtd),\r\n          applyformode: parseInt(groupdSpeakToMtd),\r\n          startmode: parseInt(groupStartMtd),\r\n          password: ''\r\n      },\r\n      callback:  (sender, event, json) => {\r\n\r\n        isWaiting(false);\r\n\r\n        if(event.emms.code!=0){\r\n\r\n          if(event.emms.code==20126){\r\n            $.Toast(\"\",\"Group name is already in use! Please change the group name to a different name.\", \"error\", toastTopCenterOption);\r\n          }else{\r\n            $.Toast(\"\",\"Unable to create communication group! An unexpected error has occurred.\", \"error\", toastTopCenterOption);\r\n          }\r\n        }else{\r\n\r\n          $.Toast(\"\",\"Communication group created successfully!\", \"success\", toastTopCenterOption);\r\n          CreateActiveCommunicationList();\r\n          closeCreateMeeting();\r\n        }\r\n      }\r\n  });\r\n  }\r\n}\r\n\r\nfunction removeInvalidClass(obj){\r\n\r\n  $(obj).removeClass(\"is-invalid\");\r\n}\r\n\r\n/////// MAP //////////////\r\n\r\nfunction onCommunicationPinMarker(obj){\r\n\r\n  if($(obj).hasClass('red')){\r\n\r\n    $(obj).removeClass('red');\r\n\r\n    $(obj).find('span:first').html(\"&nbsp;Show Location\");\r\n\r\n    isShowMarker = false;\r\n\r\n    communicationList.filter(q =>q.type == 'user').forEach(function(l,index,object){\r\n\r\n        l.latitude = null;\r\n        l.longitude = null;\r\n        l.isGetGps = false;\r\n        if (l.gps) {\r\n          l.gps.swClose();\r\n          l.gps._callback = null;\r\n          if (l.marker) {\r\n            l.marker.setMap(null);\r\n            l.marker = null;\r\n          }\r\n        }\r\n        l.gps = null;\r\n    });\r\n  }\r\n  else{\r\n\r\n    $(obj).removeClass('red').addClass('red');\r\n\r\n    $(obj).find('span:first').html(\"&nbsp;Hide Location\");\r\n\r\n    isShowMarker = true;\r\n\r\n    onCommunicationShowMap();\r\n  }\r\n}\r\n\r\nfunction onCommunicationShowMap() {\r\n\r\n    var devices = communicationList.filter(q =>q.type == 'user');\r\n\r\n    devices.forEach(device => {\r\n      \r\n      device.latitude = null;\r\n\r\n      device.longitude = null;\r\n\r\n      if(!device.isGetGps){\r\n\r\n        device.gps = session.swGetPuChanel(device.deviceId, 65536);\r\n\r\n        if (!device.gps) {\r\n          \r\n          device.isGetGps = false;\r\n          $.Toast(\"\", \"Unable to locate [\"+ device.userId +\"] device!\", \"error\", toastTopCenterOption);\r\n\r\n          return;\r\n        }\r\n\r\n        isWaiting(true);\r\n\r\n        device.gps.swOpen({\r\n          repeat: -1,\r\n          interval: 5000,\r\n          callback: function (options, response, data = device) {\r\n\r\n            if(response.gps){\r\n              \r\n              isWaiting(false);\r\n\r\n              if (communicationOldTimeStamp.filter(q => q.userId == device.userId).length == 0) {\r\n  \r\n                communicationOldTimeStamp.push({\r\n                  userId: device.userId,\r\n                  old_timestamp: null\r\n                });\r\n              }\r\n  \r\n              var new_timestamp = new Date().valueOf();\r\n              \r\n              var timeStamp = communicationOldTimeStamp.filter(q => q.userId == device.userId)[0];\r\n  \r\n              if (timeStamp.old_timestamp == null || timeStamp.old_timestamp + 1000 < new_timestamp) {\r\n  \r\n                timeStamp.old_timestamp = new Date().valueOf();\r\n                \r\n                if (!data || !response || !response.gps.lat || !response.gps.long) {\r\n  \r\n                  device.gps.swClose();\r\n                  device.gps._callback = null;\r\n                  device.gps = null;\r\n                  data.isGetGps = false;\r\n                  $.Toast(\"\", \"Unable to locate [\" + device.userId + \"] device!\", \"error\", toastTopCenterOption);\r\n                } else {\r\n  \r\n                  data.latitude = response.gps.lat / 10000000;\r\n                  data.longitude = response.gps.long / 10000000;\r\n                  data.isGetGps = true;\r\n                  communicationPinDeviceToMap();\r\n                }\r\n              }\r\n            }\r\n          }\r\n        });\r\n      }\r\n    });\r\n}\r\n\r\nfunction communicationPinDeviceToMap() {\r\n\r\n  var devices = communicationList.filter(q => q.type == 'user' && q.gps != null);\r\n\r\n  if ($(\".main.communication\").html() != undefined && devices.length > 0) {\r\n\r\n    devices.forEach(l => {\r\n\r\n      if (l.latitude == null || l.longitude == null) {\r\n\r\n        if (l.marker) {\r\n          \r\n          l.marker.setMap(null);\r\n          l.marker = null;\r\n        }\r\n      }\r\n      else {\r\n\r\n        if (l.marker && l.marker != null) {\r\n          l.marker.setPosition(new google.maps.LatLng(l.latitude, l.longitude));\r\n        } else {\r\n\r\n          var icon = {\r\n            url: l.pinImageURL, // url\r\n            scaledSize: new google.maps.Size(64, 64), // scaled size\r\n            anchor: new google.maps.Point(32, 32) // anchor\r\n          };\r\n\r\n          l.marker = new google.maps.Marker({\r\n            map: googleMap,\r\n            position: { lat: l.latitude, lng: l.longitude },\r\n            icon: icon,\r\n            title: l.userName\r\n          });\r\n\r\n          communicationSetPosition(l.userId);\r\n\r\n        }\r\n      }\r\n    });\r\n  }\r\n}\r\n\r\nfunction communicationSetPosition(id, zoom = 0) {\r\n\r\n  var device = communicationList.filter(q => q.userId == id)[0];\r\n\r\n  if (device.marker && device.marker != null) {\r\n\r\n    googleMap.setCenter(device.marker.getPosition());\r\n\r\n    if (zoom != 0) { //0 is current zoom level\r\n\r\n      googleMap.setZoom(zoom);\r\n    }\r\n  } else {\r\n    setTimeout(() => {\r\n\r\n      communicationSetPosition(id, zoom);\r\n    }, 1000);\r\n  }\r\n}\r\n//////// Chat ///////////////////////////\r\n\r\nvar meesageLimit = 5;//20\r\n\r\nfunction notificationCommunication(data){\r\n\r\n  if($(\".main.communication #communicationChat\").html() != undefined){\r\n\r\n    var msg;\r\n\r\n    if(data.traget.indexOf(\"CONF_\")>=0){\r\n\r\n      msg = communicationList.filter(l=>l.activeChat==true && l.type == \"group\" && l.groupInfo.id == data.traget);\r\n    }else if(data.id != null && data.id != \"\"){\r\n\r\n      msg = communicationList.filter(l=>l.activeChat==true && l.type == \"user\" && data.id == l.userId && (data.id == l.userId && session._userManager._currentUser._user.id == data.traget) || ( data.id == session._userManager._currentUser._user.id  && l.userId == data.traget));\r\n    }\r\n\r\n    if(msg.length > 0){\r\n\r\n      var msgHtml = \"\";\r\n      var msgRole = \"\";\r\n      var objId = data.id;\r\n      var objName = data.name;\r\n\r\n      if(data.id == session._userManager._currentUser._user.id)\r\n        msgRole = \"replies\";\r\n      else\r\n        msgRole = \"sent\";\r\n\r\n      msgHtml += \"<li class='\"+msgRole+\"'>\";\r\n      \r\n      msgHtml += \"<img class='msg-profile' src='\"+ baseconfig.imageURL+ '/profile/'+objId +'.png?rnd='+Math.random().toString(36).substring(7) +\"' onerror=\\\"this.src='assets/images/no-photo.png'\\\" />\";\r\n      \r\n      if(msgRole ==  \"sent\")\r\n        msgHtml += \"<div class='msg-header'><span class='msg-name'>\"+objName+\"  </span><span class='msg-datetime'>\"+data.create+\"</span></div>\";\r\n      else\r\n        msgHtml += \"<div class='msg-header'><span class='msg-datetime'>\"+data.create+\"  </span><span class='msg-name'>\"+objName+\"</span></div>\";\r\n\r\n      msgHtml += \"<div class='msg-body'>\";\r\n\r\n      data.value.forEach(loop=>{\r\n\r\n        msgHtml += generateMessageBody(loop,true);\r\n      });\r\n\r\n      msgHtml += \"</div></li>\";\r\n\r\n      $(msgHtml).appendTo($('.main.communication #communicationChat .messages ul'));\r\n\r\n      scoreMessageToBottom();\r\n    }\r\n \r\n  }\r\n}\r\n\r\nfunction getCommunicationMessage(type,id){\r\n\r\n  var obj = JSON.parse(localStorage.getItem(\"_localMessage\"));\r\n  var currentId = session._userManager._currentUser._user.id;\r\n\r\n  var msgHtml = \"<ul>\";\r\n\r\n  if(obj != null){\r\n\r\n    if(type=='user')\r\n      obj = obj.filter(q=> (q.traget == currentId  && q.id == id) || (q.id == currentId && q.traget == id));\r\n    else\r\n      obj = obj.filter(q=>  q.id == id ||  q.traget == id);\r\n\r\n    obj.forEach(function(l,i){\r\n\r\n      var msgRole = \"\";\r\n      var objId = l.id;\r\n      var objName = l.name;\r\n\r\n      if(l.id == currentId) // only admin can sent on website\r\n        msgRole = \"replies\";\r\n      else\r\n        msgRole = \"sent\";\r\n\r\n        if(i < obj.length  - 10) msgRole+= \" hidden\"\r\n      \r\n      msgHtml += \"<li class='\"+msgRole+\"'>\";\r\n      \r\n      msgHtml += \"<img class='msg-profile' src='\"+ baseconfig.imageURL+ '/profile/'+objId +'.png?rnd='+Math.random().toString(36).substring(7) +\"' onerror=\\\"this.src='assets/images/no-photo.png'\\\" />\";\r\n      \r\n      if(msgRole ==  \"sent\")\r\n        msgHtml += \"<div class='msg-header'><span class='msg-name'>\"+objName+\"  </span><span class='msg-datetime'>\"+l.create+\"</span></div>\";\r\n      else\r\n        msgHtml += \"<div class='msg-header'><span class='msg-datetime'>\"+l.create+\"  </span><span class='msg-name'>\"+objName+\"</span></div>\";\r\n\r\n      msgHtml += \"<div class='msg-body'>\";\r\n\r\n      l.value.forEach(loop=>{\r\n\r\n        msgHtml += generateMessageBody(loop);\r\n      });\r\n      msgHtml += \"</div></li>\";\r\n    });\r\n\r\n  }\r\n\r\n  msgHtml += \"</ul>\";\r\n  $(\".main.communication #communicationChat #frame .content .messages\").html(msgHtml);\r\n\r\n  scoreMessageToBottom();\r\n}\r\n\r\nfunction generateMessageBody(value,isNewMessage = false){\r\n\r\n  switch(value.type){\r\n    case 1:\r\n      return \"<span>\"+value.data+\"</span>\"\r\n    case 2:\r\n      return \"<img  class='msg-icon' src='\"+value.data+\"'/>\"\r\n    case 4:\r\n      var filename = value.data.substring(value.data.lastIndexOf('/')+1);\r\n      filename = filename.substring(0,filename.lastIndexOf('?'));\r\n      if(value.name){\r\n        filename = value.name;\r\n      }\r\n      return \"<a class='msg-link' href='\"+value.data+\"' target='_blank'><i class='fas fa-file-download'></i>\"+filename+\"</a>\";\r\n    case 5:\r\n      return \"<img class='msg-photo' src='\"+value.data+\"' onclick='openModalMsg(this)'/>\";\r\n    case 6:\r\n    case 8:\r\n      return \"<audio controls ><source src='\"+ baseconfig.imageURL+ \"/FTPHome\"+value.data+\"' type='audio/mpeg'></audio>\";\r\n    default: return \"\";\r\n  }\r\n}\r\n\r\n\r\nfunction openModalMsg(obj){\r\n\r\n  $(\".main.communication #imgModal\").show();\r\n  $('.main.communication #imgModal #show-img').attr('src', $(obj).attr('src'));\r\n\r\n}\r\n\r\nfunction closeModalMsg(){\r\n\r\n  $(\".main.communication #imgModal\").hide();\r\n}\r\n\r\n\r\nfunction onUploadAttachFile(obj){\r\n\r\n  $(\".main.communication #uploadAttachFile\").click();\r\n}\r\n\r\nfunction onUploadFileToMessage(obj){\r\n\r\n  if(document.getElementById('uploadAttachFile').files[0].size > 2097152){\r\n\r\n    $.Toast(\"\",\"Unable to upload file more than 5 MB! An unexpected error has occurred.\", \"error\", toastTopCenterOption);\r\n  }else{\r\n\r\n    var selectObj = communicationList.filter(l=>l.activeChat==true)[0];\r\n\r\n    if(selectObj.type == \"group\"){\r\n\r\n      var type = 4;\r\n\r\n      if(document.getElementById('uploadAttachFile').files[0].type.indexOf(\"image\") >= 0){\r\n\r\n        var type = 5;\r\n      }\r\n\r\n      var msgItem = {\r\n        iType: type,\r\n        data: document.getElementById('uploadAttachFile').files[0]\r\n      };\r\n\r\n      var confManager = this.session.swGetConfManager();\r\n\r\n      var conf = confManager.swGetConfByConfId(selectObj.groupInfo.id);\r\n\r\n      isWaiting(true);\r\n\r\n      conf.swConfIMSend({\r\n        msgitems: [msgItem],\r\n        callback: (options,response) => {\r\n          \r\n          if (response.emms.code != jSW.RcCode.RC_CODE_S_OK) {\r\n\r\n            isWaiting(false);\r\n            $.Toast(\"\",\"Unable to send message! An unexpected error has occurred.\", \"error\", toastTopCenterOption);\r\n          }else{\r\n\r\n            var fr = new FileReader();\r\n      \r\n            fr.onloadend = function(e) {\r\n\r\n                var newMsg = {\r\n                  id:  session._userManager._currentUser._user.id,\r\n                  name: bastGetUserNamefromID(session._userManager._currentUser._user.id),\r\n                  traget: selectObj.groupInfo.id,\r\n                  tragetName: \"\",\r\n                  isRead:false,\r\n                  create: getDateNow(),\r\n                  value:  [{\r\n                    type: msgItem.iType,\r\n                    data: e.target.result,\r\n                    name: document.getElementById('uploadAttachFile').files[0].name\r\n                  }]\r\n                };\r\n                \r\n                onAddNewMessageToSession(newMsg);\r\n\r\n                $(obj).val('');\r\n            };\r\n            fr.readAsDataURL(msgItem.data);\r\n            isWaiting(false);\r\n          }\r\n        },\r\n        pcallback: () => {},\r\n        tag: null\r\n      });\r\n    }\r\n    else{\r\n\r\n      var type = 4;\r\n\r\n      if(document.getElementById('uploadAttachFile').files[0].type.indexOf(\"image\") >= 0){\r\n\r\n        var type = 5;\r\n      }\r\n\r\n      var msgItem = {\r\n        id: selectObj.deviceId,\r\n        iType: type,\r\n        data: document.getElementById('uploadAttachFile').files[0],\r\n        nruid: \"NRU_\"\r\n      };\r\n\r\n      isWaiting(true);\r\n      session.swImSend({\r\n        targetid: msgItem.id,\r\n        msgitems: [msgItem],\r\n        callback: (options,response) => {\r\n          if (response.emms.code != jSW.RcCode.RC_CODE_S_OK) {\r\n            \r\n            isWaiting(false);\r\n            $.Toast(\"\",\"Unable to send message! An unexpected error has occurred.\", \"error\", toastTopCenterOption);\r\n          }else{\r\n\r\n            var fr = new FileReader();\r\n      \r\n            fr.onloadend = function(e) {\r\n\r\n                var newMsg = {\r\n                  id:  session._userManager._currentUser._user.id,\r\n                  name: bastGetUserNamefromID(session._userManager._currentUser._user.id),\r\n                  traget: selectObj.userId,\r\n                  tragetName: bastGetUserNamefromID(selectObj.userId),\r\n                  isRead:false,\r\n                  create: getDateNow(),\r\n                  value:  [{\r\n                    type: msgItem.iType,\r\n                    data: e.target.result,\r\n                    name: document.getElementById('uploadAttachFile').files[0].name\r\n                  }]\r\n                };\r\n\r\n                onAddNewMessageToSession(newMsg);\r\n\r\n                $(obj).val('');\r\n            };\r\n            fr.readAsDataURL(msgItem.data);\r\n            isWaiting(false);\r\n          }\r\n\r\n        },\r\n        pcallback: () => {},\r\n        tag: null\r\n    })\r\n    }\r\n\r\n  }\r\n\r\n}\r\n\r\nfunction onAddNewMessageToSession(newMsg){\r\n\r\n  var message = [];\r\n\r\n  if(!localStorage.getItem(\"_localMessage\")){\r\n    \r\n    localStorage.setItem(\"_localMessage\",\"\");\r\n  };\r\n\r\n  if(localStorage.getItem(\"_localMessage\") != \"\") message =  JSON.parse(localStorage.getItem(\"_localMessage\"));\r\n\r\n  \r\n  message.forEach(function(l,index,object){\r\n\r\n      var today = new Date();\r\n\r\n      if(today.setDate(today.getDate() - 3) > new Date(l.create)){\r\n          \r\n          object.splice(index, 1);\r\n      }\r\n  });\r\n\r\n  message.push(newMsg);\r\n\r\n  localStorage.setItem(\"_localMessage\",JSON.stringify(message));\r\n\r\n  notificationCommunication(newMsg);\r\n  \r\n}\r\n\r\nfunction onShowIconDialog (obj){\r\n\r\n  if($(obj).hasClass(\"red\")){\r\n\r\n    $(obj).removeClass(\"red\");\r\n    $(obj).closest(\".message-input\").find(\".iconDialog:first\").removeClass(\"hidden\").addClass(\"hidden\");\r\n  }else{\r\n\r\n    $(obj).removeClass(\"red\").addClass(\"red\");\r\n    $(obj).closest(\".message-input\").find(\".iconDialog:first\").removeClass(\"hidden\");\r\n  }\r\n}\r\n\r\nfunction onFaceSelectClick(value){\r\n\r\n  var obj = $('.main.communication #frame #emojiText');\r\n\r\n  if(($(obj).html().length - ($(obj).find(\"img\").length * 59) + $(obj).find(\"img\").length) < 100){\r\n\r\n    $('.main.communication #frame #emojiText').append(\"<img src='assets/js/baseVideo/jswlib/res/emotion/f\"+value+\".gif'>\");\r\n  };\r\n}\r\n\r\nfunction newMessage() {\r\n\r\n  if($.trim($(\".main.communication #frame #emojiText\").html()) != \"\"){\r\n\r\n    \r\n  var items = [];\r\n  var objs = $(\".main.communication #frame #emojiText\").html().split('<img src=\"assets/js/baseVideo/jswlib/res/emotion/').join(\"$#@!\").split('.gif\">').join(\"$#@!\").split(\"$#@!\").filter(l=>l!=\"\");\r\n\r\n  var selectObj = communicationList.filter(l=>l.activeChat==true)[0];\r\n\r\n  if(selectObj.type == \"group\"){\r\n\r\n    objs.forEach(obj=>{\r\n\r\n      if(obj.length == 4 && obj[0]=='f'){\r\n\r\n        items.push({iType:2,data:obj.replace(\"f\",\"\").toString()});\r\n      }else{\r\n        \r\n        items.push({iType:1,data:obj});\r\n      }\r\n      \r\n    });\r\n    \r\n    var confManager = this.session.swGetConfManager();\r\n\r\n    var conf = confManager.swGetConfByConfId(selectObj.groupInfo.id);\r\n\r\n    if (conf == null) {\r\n            \r\n      $.Toast(\"\",\"Unable to send message! An unexpected error occurred.\", \"error\", toastTopCenterOption);\r\n  }\r\n  else{\r\n\r\n    conf.swConfIMSend({\r\n      msgitems:  items,\r\n      callback: function (opt, resp) {\r\n\r\n        if (resp.emms.code != jSW.RcCode.RC_CODE_S_OK) {\r\n\r\n          $.Toast(\"\",\"Unable to send message! An unexpected error has occurred.\", \"error\", toastTopCenterOption);\r\n        }else{\r\n\r\n          var value = [];\r\n\r\n          items.forEach(l=>{\r\n\r\n            if(l.iType==2){\r\n              \r\n              l.data =   \"assets/js/baseVideo/jswlib/res/emotion/f\"+l.data+\".gif\";\r\n            }\r\n\r\n            value.push({\r\n              type:l.iType,\r\n              data:l.data\r\n            })\r\n          });\r\n          \r\n        \r\n          var newMsg = {\r\n            id:  session._userManager._currentUser._user.id,\r\n            name: bastGetUserNamefromID(session._userManager._currentUser._user.id),\r\n            traget: selectObj.groupInfo.id,\r\n            tragetName: \"\",\r\n            isRead:false,\r\n            create: getDateNow(),\r\n            value:  value\r\n          };\r\n          \r\n          onAddNewMessageToSession(newMsg);\r\n\r\n        }\r\n      },\r\n      tag:null});\r\n  }\r\n    \r\n  }\r\n  else{\r\n\r\n\r\n    objs.forEach(obj=>{\r\n      \r\n      if(obj.length == 4 && obj[0]=='f'){\r\n\r\n        items.push({id:selectObj.deviceId,\r\n          iType:2,\r\n          data:obj.replace(\"f\",\"\"),\r\n          nruid:\"NRU_\"\r\n        });\r\n      }else{\r\n\r\n        items.push({\r\n          id:selectObj.deviceId,\r\n          iType:1,\r\n          data:obj,\r\n          nruid:\"NRU_\"\r\n        });\r\n      }\r\n    });\r\n\r\n    session.swImSend({\r\n      targetid: selectObj.deviceId,\r\n      msgitems: items,\r\n      callback: (options,response) => {\r\n        if (response.emms.code != jSW.RcCode.RC_CODE_S_OK) {\r\n          \r\n          $.Toast(\"\",\"Unable to send message! An unexpected error has occurred.\", \"error\", toastTopCenterOption);\r\n        }else{\r\n          \r\n          var value = [];\r\n\r\n          items.forEach(l=>{\r\n\r\n            if(l.iType==2){\r\n              \r\n              l.data =   \"assets/js/baseVideo/jswlib/res/emotion/f\"+l.data+\".gif\";\r\n            }\r\n\r\n            value.push({\r\n              type:l.iType,\r\n              data:l.data\r\n            })\r\n          });\r\n\r\n          var newMsg = {\r\n            id:  session._userManager._currentUser._user.id,\r\n            name: bastGetUserNamefromID(session._userManager._currentUser._user.id),\r\n            traget: selectObj.userId,\r\n            tragetName: bastGetUserNamefromID(selectObj.userId),\r\n            isRead:false,\r\n            create: getDateNow(),\r\n            value:  value\r\n          };\r\n\r\n          onAddNewMessageToSession(newMsg);\r\n\r\n        }\r\n\r\n      },\r\n      tag: null\r\n  })\r\n  }\r\n\r\n    $('.main.communication #frame #emojiText').html(\"\");\r\n    $('.main.communication #frame .iconButton').removeClass(\"red\");\r\n    $(\".main.communication #frame .content .message-input .iconDialog\").removeClass(\"hidden\").addClass(\"hidden\");\r\n  }\r\n};\r\n\r\nfunction scoreMessageToBottom(){\r\n  $(\".main.communication #communicationChat .messages\").animate({ scrollTop: $(\".main.communication #communicationChat .msg-body\").length * 1000  }, \"fast\");\r\n}\r\n\r\nfunction onCommunicationClickSummit() {\r\n\r\n    newMessage();\r\n}\r\n\r\nfunction onScrollChange(obj){\r\n\r\n  if($(\".main.communication #communicationChat\").html() != undefined){\r\n\r\n    if($(obj).scrollTop() == 0){\r\n\r\n      var hiddenObj = $(obj).find(\"li.hidden\");\r\n\r\n      if(hiddenObj.length >= 10){\r\n\r\n        for(var i=hiddenObj.length-1;i>=hiddenObj.length-10;i--){\r\n\r\n          $(hiddenObj[i]).removeClass(\"hidden\");\r\n        }\r\n        \r\n        $(obj).animate({ scrollTop: $(obj).scrollTop()+300 }, \"fast\");\r\n      }else if(hiddenObj.length > 0){\r\n\r\n        for(var i=0;i < hiddenObj.length;i++){\r\n\r\n          $(hiddenObj[i]).removeClass(\"hidden\");\r\n          $(obj).animate({ scrollTop: $(obj).scrollTop() }, \"fast\");\r\n        }\r\n      }\r\n    }\r\n  }\r\n}\r\n\r\n///////////// Conference ///////////////////\r\n\r\nfunction startConference(obj){\r\n  if($(\".main.communication #communicationChat\").html() != undefined){\r\n\r\n    if(obj.id != \"CU_SW\"){\r\n\r\n      $(\".main.communication #frame .content .message-input .message-voice .message-curren-talk #msg-profile\").attr(\"src\", baseconfig.imageURL+ '/profile/'+obj.name+'.png?rnd='+Math.random().toString(36).substring(7));\r\n      $(\".main.communication #frame .content .message-input .message-voice .message-curren-talk:first\").removeClass(\"hidden\");\r\n    }\r\n\r\n  }\r\n}\r\n\r\nfunction endConference(obj){\r\n\r\n  if($(\".main.communication #communicationChat\").html() != undefined){\r\n\r\n    if(obj.id != \"CU_SW\"){\r\n\r\n      $(\".main.communication #frame .content .message-input .message-voice .message-curren-talk:first\").addClass(\"hidden\");\r\n    }\r\n  }\r\n}\r\n////// Communication ////////////////\r\nfunction onOpenUserMessagePanel(obj,id){\r\n\r\n  activeMessagePanel(true);\r\n\r\n  var user = communicationList.filter(q=>q.type == \"user\" && q.userId ==id)[0];\r\n\r\n  user.activeChat = true;\r\n\r\n  $(obj).closest(\"#frame\").find(\".content .contact-profile img\").attr('src', user.imageURL + '?rand=' + Math.random());\r\n  $(obj).closest(\"#frame\").find(\".content .contact-profile p:first\").html(user.userName);\r\n  $(obj).closest(\"#frame\").find(\".content .contact-profile .social-media .groupChat\").addClass(\"hidden\");\r\n  $(obj).closest(\"#frame\").find(\".content .contact-profile .social-media .pvChat\").removeClass(\"hidden\");\r\n  $(obj).closest(\"#frame\").find(\".contact-profile-toggle\").removeClass(\"hidden\").addClass(\"hidden\");\r\n  $(obj).addClass(\"active\");\r\n  getCommunicationMessage(\"user\",id);\r\n}\r\n\r\n\r\nfunction onOpenGroupMessagePanel(obj,id){\r\n\r\n  activeMessagePanel(true);\r\n\r\n  var group = communicationList.filter(q=>q.type == \"group\" && q.groupInfo.id ==id)[0];\r\n\r\n  group.activeChat = true;\r\n\r\n  $(obj).closest(\"#frame\").find(\".content .contact-profile img\").attr('src', group.imageURL + '?rand=' + Math.random());\r\n  $(obj).closest(\"#frame\").find(\".content .contact-profile p:first\").html(group.groupInfo.name + ' (<span onClick=\"onContactToggleClick(this)\">' + group.groupUsers.length + '</span>)');\r\n  $(obj).closest(\"#frame\").find(\".content .contact-profile .social-media .groupChat\").removeClass(\"hidden\");\r\n  $(obj).closest(\"#frame\").find(\".content .contact-profile .social-media .pvChat\").removeClass(\"hidden\").addClass(\"hidden\");\r\n  $(obj).closest(\"#frame\").find(\".contact-profile-toggle\").removeClass(\"hidden\").addClass(\"hidden\");\r\n\r\n  var groupImgHtml = \"\";\r\n\r\n  onClearMeeting();\r\n\r\n  group.groupUsers.forEach(l=>{\r\n\r\n    var imgUrl =  baseconfig.imageURL+ '/profile/'+l.name+'.png?rnd='+Math.random().toString(36).substring(4);\r\n    groupImgHtml += '<img class=\"group-img\" src=\"'+ imgUrl +'\" title=\"'+bastGetUserNamefromID(l.name)+'\" onerror=\"this.src=\\'assets/images/no-photo.png\\'\">'\r\n\r\n  });\r\n\r\n  $(\".main.communication #frame .contact-profile-toggle-img\").html(groupImgHtml);\r\n  $(obj).addClass(\"active\");\r\n  getCommunicationMessage(\"group\",id); \r\n}\r\n\r\nfunction activeMessagePanel(isActive){\r\n\r\n  $(\".main.communication #frame #contacts .contact\").each(function(index,value){\r\n\r\n    if($(value).hasClass(\"active\")){\r\n\r\n      $(value).removeClass(\"active\");\r\n    }\r\n  });\r\n\r\n  communicationList.forEach(l=>{\r\n    \r\n    l.activeChat=false;\r\n    \r\n    if(l.activeMic == true){\r\n\r\n      let channel = this.session.swGetPuChanel(l.deviceId, 0);\r\n      var rc = channel.swCloseIntercom({\r\n        callback: function(options, response) {\r\n          if (response.emms.code == 0) {\r\n  \r\n            l.activeMic = false;\r\n            $(\".main.communication #frame .content .social-media .fa-phone.pvChat:first\").removeClass(\"color-red\").addClass(\"color-green\");\r\n            $(\".main.communication #frame .content .social-media .fa-phone.pvChat:first\").prop('title', \"Start Call\");\r\n          }else{\r\n  \r\n            $.Toast(\"\",\"Unable to start the call! An unexpected error occurred.\", \"error\", toastTopCenterOption);\r\n          }\r\n        }\r\n      });\r\n    }\r\n  });\r\n\r\n  var talkPanel =  $(\".main.communication #frame .content .message-input .message-voice\");\r\n  \r\n  $(\".main.communication #frame .message-input .wrap button\").removeClass(\"red\");\r\n  $(\".main.communication #frame .content .message-input .iconDialog\").removeClass(\"hidden\").addClass(\"hidden\");\r\n  $('.main.communication #frame #emojiText').html(\"\");\r\n  $(\".main.communication #frame .messages\").html('');\r\n\r\n  if(!talkPanel.hasClass(\"hidden\")){\r\n\r\n    talkPanel.addClass(\"hidden\");\r\n    talkPanel.removeClass(\"show\");\r\n    $(\".main.communication #frame .messages\").removeClass(\"talk\");\r\n    $(\".main.communication #frame .messages\").html('');\r\n    $(\".main.communication #frame .content .contact-profile .social-media .groupChat\").removeClass(\"hidden\");\r\n    $(\".main.communication #frame .content .contact-profile .social-media .pvChat\").removeClass(\"hidden\").addClass(\"hidden\");\r\n  }\r\n\r\n  if(isActive){\r\n\r\n    $(\".main.communication #frame .content .contact-profile img\").removeClass(\"hidden\");\r\n    $(\".main.communication #frame .content .contact-profile .social-media\").removeClass(\"inActive\");\r\n    $(\".main.communication #frame .content .message-input .wrap #emojiText\").removeClass(\"inActive\");\r\n    $(\".main.communication #frame .content .message-input .wrap .btMessage\").removeClass(\"inActive\");\r\n  }else{\r\n    \r\n    $(\".main.communication #frame .content .contact-profile img\").removeClass(\"hidden\").addClass(\"hidden\");\r\n    $(\".main.communication #frame .content .contact-profile .social-media\").removeClass(\"inActive\").addClass(\"inActive\");\r\n    $(\".main.communication #frame .content .message-input .wrap #emojiText\").removeClass(\"inActive\").addClass(\"inActive\");;\r\n    $(\".main.communication #frame .content .message-input .wrap .btMessage\").removeClass(\"inActive\").addClass(\"inActive\");;\r\n    $(\".main.communication #frame .content .contact-profile p\").html('');\r\n  }\r\n}\r\n\r\n\r\nfunction openDeleteMeeting(){\r\n\r\n  if(communicationList.filter(q=>q.activeChat && q.type == 'group').length > 0){\r\n\r\n    document.getElementById('deleteMeetingGroupModal').style.display='block';\r\n  }\r\n  \r\n}\r\n\r\nfunction onDeleteMeeting(obj){\r\n\r\n  var obj = communicationList.filter(q=>q.activeChat)[0];\r\n\r\n  if(obj.type == 'group'){\r\n\r\n    session.swGetConfManager().swDeleteConf({\r\n      confid: obj.groupInfo.id,\r\n      callback: (sender, event, json) => {\r\n  \r\n        if(event.emms.code!=0){\r\n  \r\n          $.Toast(\"\",\"Unable to delete group! An unexpected error has occurred.\", \"error\", toastTopCenterOption);\r\n          }else{\r\n  \r\n            $.Toast(\"\",\"Group deleted successfully!\", \"success\", toastTopCenterOption);\r\n            document.getElementById('deleteMeetingGroupModal').style.display='none';\r\n            CreateActiveCommunicationList();\r\n            activeMessagePanel(false);\r\n        }\r\n      }});\r\n  }\r\n}\r\n\r\nfunction onClosePVChat(){\r\n\r\n  activeMessagePanel(false);\r\n}\r\n\r\nfunction onContactProfileImgScrolltoRight(){\r\n\r\n  if($(\".main.communication #frame .contact-profile-toggle-img\").width() >  $(\".contact-profile-toggle-img\").scrollLeft() +40)\r\n    $(\".main.communication #frame .contact-profile-toggle-img\").scrollLeft($(\".main.communication #frame .contact-profile-toggle-img\").scrollLeft()+40);\r\n  else\r\n    $(\".main.communication #frame .contact-profile-toggle-img\").scrollLeft($(\".main.communication #frame .contact-profile-toggle-img\").width()-40);\r\n}\r\n\r\n\r\nfunction onContactProfileImgScrolltoLeft(){\r\n\r\n  if($(\".main.communication #frame .contact-profile-toggle-img\").scrollLeft() > 40)\r\n    $(\".main.communication #frame .contact-profile-toggle-img\").scrollLeft($(\".main.communication #frame .contact-profile-toggle-img\").scrollLeft()-40);\r\n  else\r\n    $(\".main.communication #frame .contact-profile-toggle-img\").scrollLeft(0);\r\n}\r\n\r\nfunction onContactToggleClick(obj){\r\n\r\n  if($(obj).hasClass(\"color-red\")){\r\n\r\n    $(obj).removeClass(\"color-red\");\r\n    $(\".main.communication #frame .contact-profile-toggle\").removeClass(\"hidden\").addClass(\"hidden\");\r\n  }else{\r\n\r\n    $(obj).removeClass(\"color-red\").addClass(\"color-red\");\r\n    $(\".main.communication #frame .contact-profile-toggle\").removeClass(\"hidden\");\r\n  }\r\n}\r\n\r\nfunction openInviteMeetingModel(){\r\n\r\n  var obj = communicationList.filter(q=>q.activeChat)[0];\r\n\r\n  if(obj.type == 'group'){\r\n\r\n    var isExistId = [];\r\n\r\n    obj.groupUsers.forEach(l=>{\r\n\r\n      isExistId.push(l.name);\r\n    });\r\n  }\r\n\r\n  var modalBodyHtml = \"\";\r\n\r\n  var count = 0;\r\n  session._arr_pu_online.forEach(l=>{\r\n    \r\n    var currentId = l._userid;\r\n\r\n    if(!isExistId.includes(currentId)) {\r\n      count++;\r\n      modalBodyHtml += '<div class=\"modal-item align-items-center\"><div class=\"custom-checkbox\">';\r\n      modalBodyHtml += '<input type=\"checkbox\" class=\"custom-control-input custome-checkbox\" id=\"customCheck'+currentId+'\">';\r\n      modalBodyHtml += '<label class=\"custom-control-label\" for=\"customCheck'+currentId+'\"></label></div>';\r\n\r\n      var imgUrl =  baseconfig.imageURL+ '/profile/'+currentId+'.png?rnd='+Math.random().toString(36).substring(4);\r\n      modalBodyHtml += '<img class=\"group-img\" src=\"'+ imgUrl +'\" title=\"'+l._username+'\" onerror=\"this.src=\\'assets/images/no-photo.png\\'\">'\r\n\r\n      modalBodyHtml += '<span>'+l._username+'</span><span class=\"id hidden\">'+currentId+'</span></div>';\r\n    }\r\n  });\r\n\r\n  if(count%3>0){\r\n    for(var i=0;i<(3-count%3);i++){\r\n      modalBodyHtml += '<div class=\"modal-item align-items-center\"></div>'\r\n    }\r\n  }\r\n\r\n  if(modalBodyHtml == \"\"){\r\n\r\n    $.Toast(\"\",\"Unable to invite users! An unexpected error occurred.\", \"error\", toastTopCenterOption);\r\n  }else{\r\n    $(\".main.communication  .modal-body\").html(modalBodyHtml);\r\n    $(\".main.communication #inviteOnlineGroupModal\").show();\r\n  }\r\n}\r\n\r\nfunction inviteMeeting(obj){\r\n\r\n  var selectObj = $(obj).closest(\"#inviteOnlineGroupModal\").find(\".modal-body .modal-item .custome-checkbox:checkbox:checked\");\r\n\r\n  if(selectObj.length > 0){\r\n\r\n    var item = [];\r\n    \r\n    $.each(selectObj, function (key, value) {\r\n\r\n      item.push($(value).closest(\".modal-item\").find(\".id\").html());\r\n    });\r\n   \r\n    session.swGetConfManager()._getOnlineUsers({\r\n\r\n      callback:(options,response,users)=>{\r\n\r\n        var selectUser = [];\r\n\r\n        users.forEach(l=>{\r\n\r\n          if(item.includes(l.userid)) {\r\n            selectUser.push({\"id\":l.devid,\"name\":l.userid,\"applierid\":l.iapplierid});\r\n          }\r\n        });\r\n\r\n        if(selectUser.length > 0){\r\n\r\n          var group = communicationList.filter(q=>q.activeChat)[0];\r\n\r\n          let confManager = this.session.swGetConfManager();\r\n\r\n          let conf = confManager.swGetConfByConfId(group.groupInfo.id);\r\n          if (conf == null) {\r\n              \r\n              $.Toast(\"\",\"Unable to invite users! An unexpected error occurred.\", \"error\", toastTopCenterOption);\r\n          }else{\r\n            isTimerWaiting(true,\"Waiting for user(s) to accept invitation...\",30);\r\n            conf.swGetParticularList({\r\n              callback: (options, response, particularList) => {\r\n                if (particularList.length > 0) {\r\n                  conf.swParticipatorAdd({\r\n                    users: selectUser,\r\n                    callback:  (sender, event, json) => {\r\n\r\n                      isTimerWaiting(false);\r\n                      \r\n                        if(event.emms.code!=0){\r\n\r\n                          $.Toast(\"\",\"Unable to invite users! An unexpected error occurred.\", \"error\", toastTopCenterOption);\r\n                        }else{\r\n\r\n                          $.Toast(\"\",\"Invitation sent to user(s) successfully!\", \"success\", toastTopCenterOption);\r\n                          CreateActiveCommunicationList();\r\n                          $(\".main.communication .contact\"+group.groupInfo.id).dblclick();;\r\n                          $(obj).closest(\".w3-modal\").hide();\r\n                        }\r\n                    }\r\n                });\r\n                }\r\n                }\r\n            });\r\n          }\r\n        }\r\n      }\r\n   });\r\n  }\r\n}\r\n\r\nfunction onStartCommunication(obj){\r\n\r\n    var group = communicationList.filter(q=>q.activeChat)[0];\r\n    var confManager = this.session.swGetConfManager();\r\n    var conf = confManager.swGetConfByConfId(group.groupInfo.id);\r\n    \r\n    if($(obj).hasClass(\"color-green\")){\r\n\r\n      conf.swConfStop({\r\n          callback:  (sender, event, json) => {\r\n              if(event.emms.code!=0){\r\n\r\n                $.Toast(\"\",\"Unable to stop communication session! An unexpected error occurred.\", \"error\", toastTopCenterOption);\r\n              }else{\r\n\r\n                group.isStartMeeting = false;\r\n                $(obj).removeClass(\"color-green\");\r\n                $(obj).prop('title', \"Start Communication\");\r\n                \r\n                $.Toast(\"\",\"Group communication stopped successfully!\", \"success\", toastTopCenterOption);\r\n       \r\n                onOnpenMicrophone(false);\r\n                audioStream.stop();\r\n                audioStream.getTracks().forEach(function(track) {\r\n                  track.stop();\r\n                });\r\n                audioStream = null;\r\n                \r\n              }\r\n          }\r\n      });\r\n    }else{\r\n\r\n      if(conf._conf_base_info.bIsStarted){\r\n        conf.swConfStop({\r\n          callback:  (sender, event, json) => {\r\n\r\n            }\r\n        });\r\n      }\r\n\r\n      conf.swConfStart({\r\n          callback:  (sender, event, json) => {\r\n            if(event.emms.code!=0){\r\n                return\r\n            }\r\n            conf.swParticipatorReturn({\r\n              callback:  (sender, response, json) => {\r\n                if(event.emms.code!=0){\r\n\r\n                  $.Toast(\"\",\"Unable to start communication session! An unexpected error occurred.\", \"error\", toastTopCenterOption);\r\n                }else{\r\n                  \r\n                  group.isStartMeeting = true;\r\n                  $(obj).removeClass(\"color-green\").addClass(\"color-green\");\r\n                  $(obj).prop('title', \"Stop Communication\");\r\n                  $.Toast(\"\",\"Group communication started successfully!\", \"success\", toastTopCenterOption);\r\n                  onOnpenMicrophone(true);\r\n                  navigator.mediaDevices.getUserMedia({ audio: true })\r\n                  .then(function(stream) {\r\n                    audioStream = stream;\r\n                  })\r\n                  .catch(function(err) {\r\n                  });\r\n                }\r\n              }\r\n            });\r\n          }\r\n      });\r\n\r\n    }\r\n}\r\n\r\nfunction onClearMeeting(){\r\n\r\n   communicationList.filter(q=>q.type == \"group\").forEach(l=>{\r\n\r\n    if(l.isStartMeeting){\r\n        \r\n      $(\".main.communication #frame .social-media .fa-satellite-dish\").removeClass(\"color-green\");\r\n      $(\".main.communication #frame .social-media .fa-satellite-dish\").prop('title', \"Start Communication\");\r\n\r\n      var confManager = this.session.swGetConfManager();\r\n      var conf = confManager.swGetConfByConfId(l.groupInfo.id);\r\n      conf.swConfStop({\r\n        callback:  (sender, event, json) => {\r\n            if(event.emms.code!=0){\r\n              return\r\n            }\r\n        }\r\n      });\r\n      l.isStartMeeting = false;\r\n      if(audioStream){\r\n        audioStream.stop();\r\n        audioStream.getTracks().forEach(function(track) {\r\n          track.stop();\r\n        });\r\n        audioStream = null;\r\n      }\r\n    }\r\n  });\r\n}\r\n\r\nfunction onAdminHangUpPuttoTalk(){\r\n\r\n  if($(\".main.communication #frame .social-media .fa-satellite-dish\").hasClass(\"color-green\")\r\n    &&  $(\".main.communication #frame .content .message-input .message-voice .message-curren-talk:first\").hasClass(\"hidden\")){\r\n\r\n    $(\"#audioBeep\")[0].play();\r\n    var group = communicationList.filter(q=>q.activeChat)[0];\r\n    var confManager = this.session.swGetConfManager();\r\n    var conf = confManager.swGetConfByConfId(group.groupInfo.id);\r\n    let rc = conf.swApplyForSpeak({\r\n      callback:(sender, event, json) => {\r\n        if(event.emms.code==0){\r\n\r\n          if (comTimerInterval != null) {\r\n            clearInterval(comTimerInterval);\r\n          }\r\n          comTimePassed = 0;\r\n\r\n          comTimerInterval = setInterval(() => {\r\n            comTimePassed = comTimePassed += 1;\r\n            comTimeLeft = 30 - comTimePassed;\r\n            \r\n            if (comTimeLeft <= 0) {\r\n                onHunupTimesUp();\r\n            }\r\n          }, 1000);\r\n          }\r\n        }\r\n    });\r\n  }\r\n}\r\n\r\nfunction onHunupTimesUp(){\r\n\r\n  if(comTimerInterval){\r\n\r\n    $.Toast(\"\",\"Push-to-talk button press is limited to 30 seconds!\", \"error\", toastTopCenterOption);\r\n    clearInterval(comTimerInterval);\r\n    onAdminHangDownPuttoTalk()\r\n  }\r\n\r\n}\r\n\r\nfunction onAdminHangDownPuttoTalk(){\r\n\r\n  if($(\".main.communication #frame .social-media .fa-satellite-dish\").hasClass(\"color-green\")){\r\n\r\n    var group = communicationList.filter(q=>q.activeChat)[0];\r\n    var confManager = this.session.swGetConfManager();\r\n    var conf = confManager.swGetConfByConfId(group.groupInfo.id);\r\n  \r\n    conf.swApplyForEndSpeak({\r\n      callback: function (sender, event, json) {\r\n        if(event.emms.code==0){\r\n\r\n          clearInterval(comTimerInterval);\r\n        }\r\n        }\r\n    });\r\n  }\r\n}\r\n\r\nfunction onUserAudioCall(){\r\n\r\n  var user = communicationList.filter(l=>l.activeChat==true)[0];\r\n\r\n  let channel = this.session.swGetPuChanel(user.deviceId, 0);\r\n  \r\n  if(!user.activeMic){\r\n\r\n    var result = channel.swOpenIntercom({\r\n      isSendAudio: true,\r\n      isRecvAudio: true,\r\n      callback: (options, response) => {\r\n  \r\n        if (response.emms.code == jSW.RcCode.RC_CODE_S_OK) {\r\n  \r\n          user.activeMic = true;\r\n          $.Toast(\"\",\"Audio call started successfully!\", \"success\", toastTopCenterOption);\r\n\r\n          $(\".main.communication #frame .content .social-media .fa-phone.pvChat:first\").removeClass(\"color-green\").addClass(\"color-red\");\r\n          $(\".main.communication #frame .content .social-media .fa-phone.pvChat:first\").prop('title', \"Stop Call\");\r\n        \r\n          navigator.mediaDevices.getUserMedia({ audio: true })\r\n            .then(function(stream) {\r\n              audioStream = stream;\r\n            })\r\n            .catch(function(err) {\r\n            });\r\n        }else{\r\n  \r\n          user.activeMic = false;\r\n          $.Toast(\"\",\"Unable to start the call! An unexpected error occurred.\", \"error\", toastTopCenterOption);\r\n          $(\".main.communication #frame .content .social-media .fa-phone.pvChat:first\").removeClass(\"color-red\").addClass(\"color-green\");\r\n          $(\".main.communication #frame .content .social-media .fa-phone.pvChat:first\").prop('title', \"Start Call\");\r\n        }\r\n  \r\n      },\r\n      tag: channel\r\n    });\r\n  }else{\r\n\r\n    var rc = channel.swCloseIntercom({\r\n      callback: function(options, response) {\r\n        if (response.emms.code == 0) {\r\n\r\n          user.activeMic = false;\r\n          $.Toast(\"\",\"Call ended successfully!\", \"success\", toastTopCenterOption);\r\n          $(\".main.communication #frame .content .social-media .fa-phone.pvChat:first\").removeClass(\"color-red\").addClass(\"color-green\");\r\n          $(\".main.communication #frame .content .social-media .fa-phone.pvChat:first\").prop('title', \"Start Call\");\r\n\r\n          if(audioStream){\r\n            audioStream.stop();\r\n            audioStream.getTracks().forEach(function(track) {\r\n              track.stop();\r\n            });\r\n            audioStream = null;\r\n          }\r\n        }else{\r\n\r\n          $.Toast(\"\",\"Unable to start the call! An unexpected error occurred.\", \"error\", toastTopCenterOption);\r\n        }\r\n      }\r\n    });\r\n  }\r\n  \r\n\r\n}","var activeSOS;\r\nvar recorder;\r\nvar sosGoogleMap;\r\n\r\nfunction checkActiveSOS(){\r\n\r\n  if(activeSOS){\r\n\r\n    sosInfo = session._arr_pu_online.filter(q => q._id_pu == activeSOS.info._id_pu)[0];\r\n\r\n    if(sosInfo == null){\r\n\r\n      closeVideoSOS();\r\n    }\r\n  }\r\n\r\n}\r\n\r\nfunction videoSOS(puid){\r\n  if($(\".main.liveview\").html() == undefined){\r\n    LoadVideoSOS(puid);\r\n  }else{\r\n    var urlvars = getUrlVars();\r\n    if(urlvars.mode == \"EMERGENCYALERT\" && urlvars.Id != null){\r\n\r\n      if(liveList.filter(q=>q.userId == puid &&  q.video != null).length == 0){\r\n        var qty = liveList.filter(q => q.video != null).length;\r\n        console.log(qty);\r\n        if(qty == 0) liveQty  = 1;\r\n        else if(qty <=4) liveQty  = 4;\r\n        else if(qty <=6)liveQty  = 6;\r\n        else liveQty  = 1;\r\n        setTimeout(() => {\r\n          if(qty <=6) {\r\n            playLiveVideo(puid);\r\n            setTimeout(() => {\r\n              onLiveViewShowMapRefresh();\r\n            }, 500);\r\n          }\r\n          else LoadVideoSOS(puid);\r\n        }, 500);\r\n      }\r\n    }else{\r\n      LoadVideoSOS(puid);\r\n    }\r\n\r\n\r\n  }\r\n}\r\n\r\nfunction LoadVideoSOS(puid){\r\n  parent.location.href = \"/#/pages/dashboard\";\r\n  setTimeout(() => {\r\n    window.location.href = \"/#/pages/liveview?mode=EMERGENCYALERT&Id=\"+puid;\r\n    setTimeout(() => {\r\n      $('.view-button.single.shape-rectangle')[0].click();\r\n    },500);\r\n  }, 10);\r\n}\r\n\r\n\r\nfunction videoSOSold(puid){\r\n\r\n    stopCurrentFeature();\r\n\r\n    if(activeSOS){\r\n\r\n      closeVideoSOS();\r\n    }\r\n    \r\n    setTimeout(() => {\r\n        \r\n\r\n        if(activeSOS && activeSOS.video){\r\n  \r\n            activeSOS.video.swClose();\r\n          }\r\n      \r\n          var sosInfo = session._arr_pu_online.filter(q => q._id_pu == puid)[0];\r\n      \r\n          activeSOS = {\r\n              info:sosInfo,\r\n              video:session.swGetPuChanel(sosInfo._id_pu, 0),\r\n              isRecord:null,\r\n              RecordInterval: null\r\n          };\r\n          \r\n          isWaiting(true);\r\n      \r\n          var res = activeSOS.video.swOpenEx({\r\n            div: 'sosVideo',\r\n            prototype: 'httpflv', //rtmp > hls\r\n            media:10, // httpflv  10 = open audio , 2 = no audio\r\n            callback: function (options, response) {\r\n        \r\n                  isWaiting(false);\r\n      \r\n                  $(\"#sosVideo video\").prop(\"volume\", 0);\r\n        \r\n                  document.querySelector(\"#sosVideo video\").disablePictureInPicture = true;\r\n                  $(\"#sosPointVolume\").val(0);\r\n                  $(\".sosControlLeft i\").removeClass( \"fas fa-volume-off\" ).addClass(\"fas fa-volume-mute\");\r\n        \r\n                  document.querySelector(\"#sosVideo video\").onvolumechange = function() {\r\n        \r\n                    $(\"#sosPointVolume\").val($(\"#sosVideo video\").get(0).volume * 100);\r\n        \r\n                    if($(\"#sosVideo video\").prop('muted')){\r\n        \r\n                      $(\"#sosVideo video\").prop(\"volume\", 0);\r\n                      $(\".sosDivVolume i\").removeClass(\"fas fa-volume-off\").addClass(\"fas fa-volume-mute\");\r\n                      $(\"#sosVideo video\").prop('muted', false)\r\n                    }\r\n        \r\n                    if($(\"#sosPointVolume\").val() == 0 ){\r\n        \r\n                      $(\".sosDivVolume i\").removeClass(\"fas fa-volume-off\").addClass(\"fas fa-volume-mute\");\r\n                    }else{\r\n                      \r\n                      $(\".sosDivVolume i\").removeClass(\"fas fa-volume-mute\").addClass(\"fas fa-volume-off\");\r\n                    }\r\n                  };\r\n                }\r\n            });\r\n        \r\n          if (res != jSW.RcCode.RC_CODE_S_OK) {\r\n              $.Toast(\"\",\"Unable to retrieve the device data! An unexpected error occurred.\", \"error\", toastTopCenterOption);\r\n          }else{\r\n              document.getElementById('sosVideoModal').style.display='block'\r\n              //$(\".sosBar\").html(\"Camera # \" + device.userId);\r\n              $(\"#sosVideoModal .row.bottom p.name\").html(activeSOS.info._username);\r\n              $(\"#sosVideoModal .row.bottom p.userId\").html(\"(\"+activeSOS.info._userid+\")\");\r\n              var mapProp= {\r\n                  center:new google.maps.LatLng( baseLatitude, baseLongitude),\r\n                  zoom: baseconfig.defaultlocation.zoom,\r\n                  streetViewControl: false,\r\n                  mapTypeControl: false\r\n              };\r\n      \r\n              sosGoogleMap = new google.maps.Map(document.getElementById(\"sosGoogleMap\"),mapProp);\r\n      \r\n              setTimeout(() => {\r\n                  \r\n                  var gps = session.swGetPuChanel(activeSOS.info._id_pu, 65536);\r\n      \r\n                  if (gps != null) {\r\n            \r\n                      gps.swOpen({\r\n                          repeat: 2,\r\n                          interval: 5000,\r\n                          callback: function (options, response,currentGps= gps, id = activeSOS.info._userid) {\r\n\r\n                            if(response.gps){\r\n\r\n                              gps.swClose();\r\n                              gps._callback = null;\r\n      \r\n                              if(response.gps){\r\n                                  var latitude = response.gps.lat / 10000000;\r\n                                  var longitude = response.gps.long / 10000000;\r\n\r\n                                  var pinImg = new Image();\r\n                                  var pinImageURL = baseconfig.imageURL + '/profile/' + id + '-pin.png?rnd=' + Math.random().toString(36).substring(7);\r\n                                  pinImg.src = pinImageURL;\r\n          \r\n                                  pinImg.onerror = function (error, pin = pinImageURL) {\r\n          \r\n                                      var pin = \"assets/images/no-photo-pin.png\";\r\n                                      var icon = {\r\n                                      url: pin, // url\r\n                                      scaledSize: new google.maps.Size(64, 64), // scaled size\r\n                                      anchor: new google.maps.Point(32, 32) // anchor\r\n                                      };\r\n          \r\n                                      var marker = new google.maps.Marker({\r\n                                      map: sosGoogleMap,\r\n                                      position: { lat: latitude, lng: longitude },\r\n                                      icon: icon\r\n                                      });\r\n          \r\n                                      sosGoogleMap.setCenter(marker.getPosition());\r\n                                  }\r\n          \r\n                                  var icon = {\r\n                                      url: pinImageURL, // url\r\n                                      scaledSize: new google.maps.Size(64, 64), // scaled size\r\n                                      anchor: new google.maps.Point(32, 32) // anchor\r\n                                  };\r\n          \r\n                                  var marker = new google.maps.Marker({\r\n                                      map: sosGoogleMap,\r\n                                      position: { lat: latitude, lng: longitude },\r\n                                      icon: icon\r\n                                  });\r\n                                  sosGoogleMap.setCenter(marker.getPosition());\r\n                              }else{\r\n      \r\n                                  $.Toast(\"\",\"Unable to retrieve the device data! An unexpected error occurred.\", \"error\", toastTopCenterOption);\r\n                              }\r\n                            }\r\n                          }\r\n                      });\r\n                  }else{\r\n      \r\n                      $.Toast(\"\",\"Unable to retrieve the device data! An unexpected error occurred.\", \"error\", toastTopCenterOption);\r\n                  }\r\n              }, 3000);\r\n          }\r\n    }, 1500);\r\n}\r\n\r\nfunction stopCurrentFeature(){\r\n\r\n    if(liveList){\r\n\r\n        liveList.forEach(l=>{\r\n\r\n            if (l.video) {\r\n        \r\n              playLiveVideo(l.userId);\r\n            }\r\n        });\r\n    }\r\n\r\n    if(deviceList){\r\n\r\n        deviceList.forEach(device=>{\r\n\r\n            if(device.isGetGps){\r\n                device.latitude = null;\r\n                device.longitude = null;\r\n                activePin(id,false);\r\n                device.isGetGps = false;\r\n                device.isTrackingGps = false;\r\n                device.gps.swClose();\r\n                device.gps._callback = null;\r\n                if(device.marker){\r\n                    device.marker.setMap(null);\r\n                    device.marker = null;\r\n                }\r\n            }\r\n        });\r\n    }\r\n    \r\n}\r\n  \r\nfunction closeVideoSOS(){\r\n\r\n    if(activeSOS.isRecord != null){\r\n            \r\n        recorder.stopRecording(function() {\r\n    \r\n          isWaiting(true);\r\n          var blob = recorder.getBlob();\r\n          downloadBlobVideo(URL.createObjectURL(blob),activeSOS.info._userid + \"-\"+getDateExtendtion()+\".mp4\");\r\n          isWaiting(false);\r\n          clearInterval(activeSOS.RecordInterval);\r\n        });\r\n\r\n        $(\".sosControlRight .fa-dot-circle\").removeClass(\"red\");\r\n        clearInterval(activeSOS.RecordInterval);\r\n        activeSOS.isRecord = null;\r\n    }\r\n\r\n    if(activeSOS.videoTimer != null){\r\n\r\n      $('#sosVideoModal').find('.sosVideotimer:first').removeClass(\"hidden\").addClass(\"hidden\");\r\n      \r\n      clearInterval(activeSOS.videoTimer);\r\n      activeSOS.videoTimer = null;\r\n      activeSOS.videoTimeCount = 0;\r\n    }\r\n\r\n    if(activeSOS.video){\r\n\r\n        activeSOS.video.swClose();\r\n        activeSOS.video = null;\r\n    }\r\n\r\n    document.getElementById('sosVideoModal').style.display='none';\r\n}\r\n\r\n\r\nfunction sosMuteAudio(obj){\r\n\r\n    var valueControl = $(obj).closest('#sosVideoModal').find('#pointVolume:first');\r\n    var videoControl = $(obj).closest('#sosVideoModal').find('video:first');\r\n\r\n    if(valueControl.val() == 0 ){\r\n\r\n        $(obj).removeClass(\"fas fa-volume-mute\").addClass(\"fas fa-volume-off\");\r\n        valueControl.val(100);\r\n        videoControl.prop(\"volume\", 1);\r\n    }else{\r\n\r\n        $(obj).removeClass(\"fas fa-volume-off\").addClass(\"fas fa-volume-mute\");\r\n        valueControl.val(0);\r\n        videoControl.prop(\"volume\", 0);\r\n    }\r\n}\r\n\r\nfunction sosChangeAudioVolumn(obj){\r\n\r\n    if(obj.value == 0){\r\n  \r\n      $(obj).closest('#sosVideoModal').find('video:first').prop(\"volume\", 0);\r\n      $(obj).closest('div').find('i:first').removeClass( \"fas fa-volume-off\" ).addClass(\"fas fa-volume-mute\");\r\n    }else{\r\n  \r\n      $(obj).closest('#sosVideoModal').find('video:first').prop(\"volume\", obj.value / 100);\r\n      $(obj).closest('div').find('i:first').removeClass( \"fas fa-volume-mute\" ).addClass(\"fas fa-volume-off\");\r\n    }\r\n}\r\n\r\n\r\nfunction sosTakeSnapshot(obj){\r\n\r\n    isWaiting(true,\"Taking snapshot...\");\r\n    var videoControl = $(obj).closest('#sosVideoModal').find('video:first')[0];\r\n    var canvas = document.createElement('canvas');\r\n    canvas.height = videoControl.videoHeight;\r\n    canvas.width = videoControl.videoWidth;\r\n    var ctx = canvas.getContext('2d');\r\n    ctx.drawImage(videoControl, 0, 0, canvas.width, canvas.height);\r\n    downloadImage(canvas.toDataURL('image/jpeg'),\"SNAPSHOT-\"+getDateExtendtion()+\".jpg\");\r\n  \r\n    setTimeout(() => {\r\n      isWaiting(false);\r\n    }, 500);\r\n}\r\n\r\n\r\nfunction sosRecordVideo(obj,highRes = false){\r\n\r\n      if(activeSOS && activeSOS.video){\r\n  \r\n        if(activeSOS.isRecord){\r\n  \r\n          activeSOS.isRecord = null;\r\n          $(obj).removeClass(\"red\");\r\n          recorder.stopRecording(function() {\r\n  \r\n            isWaiting(true);\r\n            var blob = recorder.getBlob();\r\n            downloadBlobVideo(URL.createObjectURL(blob),activeSOS.info._userid + \"-\"+getDateExtendtion()+\".mp4\");\r\n            isWaiting(false);\r\n            clearInterval(activeSOS.RecordInterval);\r\n          });\r\n\r\n          if(activeSOS.videoTimer){\r\n\r\n            $(obj).closest('#sosVideoModal').find('.sosVideotimer:first').removeClass(\"hidden\").addClass(\"hidden\");\r\n            \r\n            clearInterval(activeSOS.videoTimer);\r\n            activeSOS.videoTimer = null;\r\n            activeSOS.videoTimeCount = 0;\r\n          }\r\n\r\n        }else{\r\n  \r\n          var video =  $(obj).closest('#sosVideoModal').find('video:first')[0];\r\n\r\n          if(video.videoHeight > 720 && !highRes){\r\n\r\n            rechordObj = obj;\r\n            openSOSRecordHigestRes();\r\n          }else{\r\n\r\n              activeSOS.isRecord = true;\r\n              $(obj).addClass(\"red\");\r\n              var canvas = document.getElementById(\"sosVideoCanvas\");\r\n              canvas.width = video.videoWidth;\r\n              canvas.height = video.videoHeight;\r\n              var ctx = canvas.getContext(\"2d\");\r\n      \r\n              activeSOS.RecordInterval = window.setInterval(function() {\r\n                ctx.drawImage(video,5,5,video.videoWidth,video.videoHeight);\r\n              },5);\r\n      \r\n              setTimeout(() => {\r\n            \r\n                recorder = RecordRTC(document.getElementById(\"sosVideoCanvas\"), {\r\n                  type: 'canvas',\r\n                  showMousePointer: true\r\n                });\r\n                recorder.startRecording();\r\n              }, 100);\r\n              \r\n              $(\"#sosRunTimer\").html(\"00:00:00\");\r\n    \r\n              $(obj).closest('#sosVideoModal').find('.sosVideotimer:first').removeClass(\"hidden\");\r\n    \r\n              activeSOS.videoTimeCount = 0;\r\n              \r\n              activeSOS.videoTimer =  window.setInterval(function () {\r\n                \r\n                \r\n                activeSOS.videoTimeCount +=1;\r\n    \r\n                $(\"#sosRunTimer\").html(activeSOS.videoTimeCount.toString().toHHMMSS());\r\n              }, 1000);\r\n      \r\n            }\r\n          }\r\n      }\r\n}\r\n\r\nfunction openGPSSOSFullScreen(obj){\r\n\r\n    document.getElementById(\"sosVideoContainer\").requestFullscreen();\r\n}\r\n\r\nfunction openSOSRecordHigestRes(){\r\n\r\n  document.getElementById('modalSOSWarningHigestRes').style.display='block';\r\n}\r\n\r\nfunction closeSOSRecordHigestRes(){\r\n\r\n  document.getElementById('modalSOSWarningHigestRes').style.display='none';\r\n}\r\n\r\nfunction recordSOSWithHigestRes(){\r\n  \r\n  sosRecordVideo(rechordObj,true);\r\n  document.getElementById('modalSOSWarningHigestRes').style.display='none';\r\n}","/* NUGET: BEGIN LICENSE TEXT\r\n *\r\n * Microsoft grants you the right to use these script files for the sole\r\n * purpose of either: (i) interacting through your browser with the Microsoft\r\n * website or online service, subject to the applicable licensing or use\r\n * terms; or (ii) using the files as included with a Microsoft product subject\r\n * to that product's license terms. Microsoft reserves all other rights to the\r\n * files not expressly granted by Microsoft, whether by implication, estoppel\r\n * or otherwise. Insofar as a script file is dual licensed under GPL,\r\n * Microsoft neither took the code under GPL nor distributes it thereunder but\r\n * under the terms set out in this paragraph. All notices and licenses\r\n * below are for informational purposes only.\r\n *\r\n * NUGET: END LICENSE TEXT */\r\n/*!\r\n * jQuery JavaScript Library v1.8.2\r\n * http://jquery.com/\r\n *\r\n * Includes Sizzle.js\r\n * http://sizzlejs.com/\r\n *\r\n * Copyright 2012 jQuery Foundation and other contributors\r\n * Released under the MIT license\r\n * http://jquery.org/license\r\n *\r\n * Date: Thu Sep 20 2012 21:13:05 GMT-0400 (Eastern Daylight Time)\r\n */\r\n(function( window, undefined ) {\r\nvar\r\n\t// A central reference to the root jQuery(document)\r\n\trootjQuery,\r\n\r\n\t// The deferred used on DOM ready\r\n\treadyList,\r\n\r\n\t// Use the correct document accordingly with window argument (sandbox)\r\n\tdocument = window.document,\r\n\tlocation = window.location,\r\n\tnavigator = window.navigator,\r\n\r\n\t// Map over jQuery in case of overwrite\r\n\t_jQuery = window.jQuery,\r\n\r\n\t// Map over the $ in case of overwrite\r\n\t_$ = window.$,\r\n\r\n\t// Save a reference to some core methods\r\n\tcore_push = Array.prototype.push,\r\n\tcore_slice = Array.prototype.slice,\r\n\tcore_indexOf = Array.prototype.indexOf,\r\n\tcore_toString = Object.prototype.toString,\r\n\tcore_hasOwn = Object.prototype.hasOwnProperty,\r\n\tcore_trim = String.prototype.trim,\r\n\r\n\t// Define a local copy of jQuery\r\n\tjQuery = function( selector, context ) {\r\n\t\t// The jQuery object is actually just the init constructor 'enhanced'\r\n\t\treturn new jQuery.fn.init( selector, context, rootjQuery );\r\n\t},\r\n\r\n\t// Used for matching numbers\r\n\tcore_pnum = /[\\-+]?(?:\\d*\\.|)\\d+(?:[eE][\\-+]?\\d+|)/.source,\r\n\r\n\t// Used for detecting and trimming whitespace\r\n\tcore_rnotwhite = /\\S/,\r\n\tcore_rspace = /\\s+/,\r\n\r\n\t// Make sure we trim BOM and NBSP (here's looking at you, Safari 5.0 and IE)\r\n\trtrim = /^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g,\r\n\r\n\t// A simple way to check for HTML strings\r\n\t// Prioritize #id over <tag> to avoid XSS via location.hash (#9521)\r\n\trquickExpr = /^(?:[^#<]*(<[\\w\\W]+>)[^>]*$|#([\\w\\-]*)$)/,\r\n\r\n\t// Match a standalone tag\r\n\trsingleTag = /^<(\\w+)\\s*\\/?>(?:<\\/\\1>|)$/,\r\n\r\n\t// JSON RegExp\r\n\trvalidchars = /^[\\],:{}\\s]*$/,\r\n\trvalidbraces = /(?:^|:|,)(?:\\s*\\[)+/g,\r\n\trvalidescape = /\\\\(?:[\"\\\\\\/bfnrt]|u[\\da-fA-F]{4})/g,\r\n\trvalidtokens = /\"[^\"\\\\\\r\\n]*\"|true|false|null|-?(?:\\d\\d*\\.|)\\d+(?:[eE][\\-+]?\\d+|)/g,\r\n\r\n\t// Matches dashed string for camelizing\r\n\trmsPrefix = /^-ms-/,\r\n\trdashAlpha = /-([\\da-z])/gi,\r\n\r\n\t// Used by jQuery.camelCase as callback to replace()\r\n\tfcamelCase = function( all, letter ) {\r\n\t\treturn ( letter + \"\" ).toUpperCase();\r\n\t},\r\n\r\n\t// The ready event handler and self cleanup method\r\n\tDOMContentLoaded = function() {\r\n\t\tif ( document.addEventListener ) {\r\n\t\t\tdocument.removeEventListener( \"DOMContentLoaded\", DOMContentLoaded, false );\r\n\t\t\tjQuery.ready();\r\n\t\t} else if ( document.readyState === \"complete\" ) {\r\n\t\t\t// we're here because readyState === \"complete\" in oldIE\r\n\t\t\t// which is good enough for us to call the dom ready!\r\n\t\t\tdocument.detachEvent( \"onreadystatechange\", DOMContentLoaded );\r\n\t\t\tjQuery.ready();\r\n\t\t}\r\n\t},\r\n\r\n\t// [[Class]] -> type pairs\r\n\tclass2type = {};\r\n\r\njQuery.fn = jQuery.prototype = {\r\n\tconstructor: jQuery,\r\n\tinit: function( selector, context, rootjQuery ) {\r\n\t\tvar match, elem, ret, doc;\r\n\r\n\t\t// Handle $(\"\"), $(null), $(undefined), $(false)\r\n\t\tif ( !selector ) {\r\n\t\t\treturn this;\r\n\t\t}\r\n\r\n\t\t// Handle $(DOMElement)\r\n\t\tif ( selector.nodeType ) {\r\n\t\t\tthis.context = this[0] = selector;\r\n\t\t\tthis.length = 1;\r\n\t\t\treturn this;\r\n\t\t}\r\n\r\n\t\t// Handle HTML strings\r\n\t\tif ( typeof selector === \"string\" ) {\r\n\t\t\tif ( selector.charAt(0) === \"<\" && selector.charAt( selector.length - 1 ) === \">\" && selector.length >= 3 ) {\r\n\t\t\t\t// Assume that strings that start and end with <> are HTML and skip the regex check\r\n\t\t\t\tmatch = [ null, selector, null ];\r\n\r\n\t\t\t} else {\r\n\t\t\t\tmatch = rquickExpr.exec( selector );\r\n\t\t\t}\r\n\r\n\t\t\t// Match html or make sure no context is specified for #id\r\n\t\t\tif ( match && (match[1] || !context) ) {\r\n\r\n\t\t\t\t// HANDLE: $(html) -> $(array)\r\n\t\t\t\tif ( match[1] ) {\r\n\t\t\t\t\tcontext = context instanceof jQuery ? context[0] : context;\r\n\t\t\t\t\tdoc = ( context && context.nodeType ? context.ownerDocument || context : document );\r\n\r\n\t\t\t\t\t// scripts is true for back-compat\r\n\t\t\t\t\tselector = jQuery.parseHTML( match[1], doc, true );\r\n\t\t\t\t\tif ( rsingleTag.test( match[1] ) && jQuery.isPlainObject( context ) ) {\r\n\t\t\t\t\t\tthis.attr.call( selector, context, true );\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn jQuery.merge( this, selector );\r\n\r\n\t\t\t\t// HANDLE: $(#id)\r\n\t\t\t\t} else {\r\n\t\t\t\t\telem = document.getElementById( match[2] );\r\n\r\n\t\t\t\t\t// Check parentNode to catch when Blackberry 4.6 returns\r\n\t\t\t\t\t// nodes that are no longer in the document #6963\r\n\t\t\t\t\tif ( elem && elem.parentNode ) {\r\n\t\t\t\t\t\t// Handle the case where IE and Opera return items\r\n\t\t\t\t\t\t// by name instead of ID\r\n\t\t\t\t\t\tif ( elem.id !== match[2] ) {\r\n\t\t\t\t\t\t\treturn rootjQuery.find( selector );\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t// Otherwise, we inject the element directly into the jQuery object\r\n\t\t\t\t\t\tthis.length = 1;\r\n\t\t\t\t\t\tthis[0] = elem;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tthis.context = document;\r\n\t\t\t\t\tthis.selector = selector;\r\n\t\t\t\t\treturn this;\r\n\t\t\t\t}\r\n\r\n\t\t\t// HANDLE: $(expr, $(...))\r\n\t\t\t} else if ( !context || context.jquery ) {\r\n\t\t\t\treturn ( context || rootjQuery ).find( selector );\r\n\r\n\t\t\t// HANDLE: $(expr, context)\r\n\t\t\t// (which is just equivalent to: $(context).find(expr)\r\n\t\t\t} else {\r\n\t\t\t\treturn this.constructor( context ).find( selector );\r\n\t\t\t}\r\n\r\n\t\t// HANDLE: $(function)\r\n\t\t// Shortcut for document ready\r\n\t\t} else if ( jQuery.isFunction( selector ) ) {\r\n\t\t\treturn rootjQuery.ready( selector );\r\n\t\t}\r\n\r\n\t\tif ( selector.selector !== undefined ) {\r\n\t\t\tthis.selector = selector.selector;\r\n\t\t\tthis.context = selector.context;\r\n\t\t}\r\n\r\n\t\treturn jQuery.makeArray( selector, this );\r\n\t},\r\n\r\n\t// Start with an empty selector\r\n\tselector: \"\",\r\n\r\n\t// The current version of jQuery being used\r\n\tjquery: \"1.8.2\",\r\n\r\n\t// The default length of a jQuery object is 0\r\n\tlength: 0,\r\n\r\n\t// The number of elements contained in the matched element set\r\n\tsize: function() {\r\n\t\treturn this.length;\r\n\t},\r\n\r\n\ttoArray: function() {\r\n\t\treturn core_slice.call( this );\r\n\t},\r\n\r\n\t// Get the Nth element in the matched element set OR\r\n\t// Get the whole matched element set as a clean array\r\n\tget: function( num ) {\r\n\t\treturn num == null ?\r\n\r\n\t\t\t// Return a 'clean' array\r\n\t\t\tthis.toArray() :\r\n\r\n\t\t\t// Return just the object\r\n\t\t\t( num < 0 ? this[ this.length + num ] : this[ num ] );\r\n\t},\r\n\r\n\t// Take an array of elements and push it onto the stack\r\n\t// (returning the new matched element set)\r\n\tpushStack: function( elems, name, selector ) {\r\n\r\n\t\t// Build a new jQuery matched element set\r\n\t\tvar ret = jQuery.merge( this.constructor(), elems );\r\n\r\n\t\t// Add the old object onto the stack (as a reference)\r\n\t\tret.prevObject = this;\r\n\r\n\t\tret.context = this.context;\r\n\r\n\t\tif ( name === \"find\" ) {\r\n\t\t\tret.selector = this.selector + ( this.selector ? \" \" : \"\" ) + selector;\r\n\t\t} else if ( name ) {\r\n\t\t\tret.selector = this.selector + \".\" + name + \"(\" + selector + \")\";\r\n\t\t}\r\n\r\n\t\t// Return the newly-formed element set\r\n\t\treturn ret;\r\n\t},\r\n\r\n\t// Execute a callback for every element in the matched set.\r\n\t// (You can seed the arguments with an array of args, but this is\r\n\t// only used internally.)\r\n\teach: function( callback, args ) {\r\n\t\treturn jQuery.each( this, callback, args );\r\n\t},\r\n\r\n\tready: function( fn ) {\r\n\t\t// Add the callback\r\n\t\tjQuery.ready.promise().done( fn );\r\n\r\n\t\treturn this;\r\n\t},\r\n\r\n\teq: function( i ) {\r\n\t\ti = +i;\r\n\t\treturn i === -1 ?\r\n\t\t\tthis.slice( i ) :\r\n\t\t\tthis.slice( i, i + 1 );\r\n\t},\r\n\r\n\tfirst: function() {\r\n\t\treturn this.eq( 0 );\r\n\t},\r\n\r\n\tlast: function() {\r\n\t\treturn this.eq( -1 );\r\n\t},\r\n\r\n\tslice: function() {\r\n\t\treturn this.pushStack( core_slice.apply( this, arguments ),\r\n\t\t\t\"slice\", core_slice.call(arguments).join(\",\") );\r\n\t},\r\n\r\n\tmap: function( callback ) {\r\n\t\treturn this.pushStack( jQuery.map(this, function( elem, i ) {\r\n\t\t\treturn callback.call( elem, i, elem );\r\n\t\t}));\r\n\t},\r\n\r\n\tend: function() {\r\n\t\treturn this.prevObject || this.constructor(null);\r\n\t},\r\n\r\n\t// For internal use only.\r\n\t// Behaves like an Array's method, not like a jQuery method.\r\n\tpush: core_push,\r\n\tsort: [].sort,\r\n\tsplice: [].splice\r\n};\r\n\r\n// Give the init function the jQuery prototype for later instantiation\r\njQuery.fn.init.prototype = jQuery.fn;\r\n\r\njQuery.extend = jQuery.fn.extend = function() {\r\n\tvar options, name, src, copy, copyIsArray, clone,\r\n\t\ttarget = arguments[0] || {},\r\n\t\ti = 1,\r\n\t\tlength = arguments.length,\r\n\t\tdeep = false;\r\n\r\n\t// Handle a deep copy situation\r\n\tif ( typeof target === \"boolean\" ) {\r\n\t\tdeep = target;\r\n\t\ttarget = arguments[1] || {};\r\n\t\t// skip the boolean and the target\r\n\t\ti = 2;\r\n\t}\r\n\r\n\t// Handle case when target is a string or something (possible in deep copy)\r\n\tif ( typeof target !== \"object\" && !jQuery.isFunction(target) ) {\r\n\t\ttarget = {};\r\n\t}\r\n\r\n\t// extend jQuery itself if only one argument is passed\r\n\tif ( length === i ) {\r\n\t\ttarget = this;\r\n\t\t--i;\r\n\t}\r\n\r\n\tfor ( ; i < length; i++ ) {\r\n\t\t// Only deal with non-null/undefined values\r\n\t\tif ( (options = arguments[ i ]) != null ) {\r\n\t\t\t// Extend the base object\r\n\t\t\tfor ( name in options ) {\r\n\t\t\t\tsrc = target[ name ];\r\n\t\t\t\tcopy = options[ name ];\r\n\r\n\t\t\t\t// Prevent never-ending loop\r\n\t\t\t\tif ( target === copy ) {\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Recurse if we're merging plain objects or arrays\r\n\t\t\t\tif ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) {\r\n\t\t\t\t\tif ( copyIsArray ) {\r\n\t\t\t\t\t\tcopyIsArray = false;\r\n\t\t\t\t\t\tclone = src && jQuery.isArray(src) ? src : [];\r\n\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tclone = src && jQuery.isPlainObject(src) ? src : {};\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// Never move original objects, clone them\r\n\t\t\t\t\ttarget[ name ] = jQuery.extend( deep, clone, copy );\r\n\r\n\t\t\t\t// Don't bring in undefined values\r\n\t\t\t\t} else if ( copy !== undefined ) {\r\n\t\t\t\t\ttarget[ name ] = copy;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// Return the modified object\r\n\treturn target;\r\n};\r\n\r\njQuery.extend({\r\n\tnoConflict: function( deep ) {\r\n\t\tif ( window.$ === jQuery ) {\r\n\t\t\twindow.$ = _$;\r\n\t\t}\r\n\r\n\t\tif ( deep && window.jQuery === jQuery ) {\r\n\t\t\twindow.jQuery = _jQuery;\r\n\t\t}\r\n\r\n\t\treturn jQuery;\r\n\t},\r\n\r\n\t// Is the DOM ready to be used? Set to true once it occurs.\r\n\tisReady: false,\r\n\r\n\t// A counter to track how many items to wait for before\r\n\t// the ready event fires. See #6781\r\n\treadyWait: 1,\r\n\r\n\t// Hold (or release) the ready event\r\n\tholdReady: function( hold ) {\r\n\t\tif ( hold ) {\r\n\t\t\tjQuery.readyWait++;\r\n\t\t} else {\r\n\t\t\tjQuery.ready( true );\r\n\t\t}\r\n\t},\r\n\r\n\t// Handle when the DOM is ready\r\n\tready: function( wait ) {\r\n\r\n\t\t// Abort if there are pending holds or we're already ready\r\n\t\tif ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443).\r\n\t\tif ( !document.body ) {\r\n\t\t\treturn setTimeout( jQuery.ready, 1 );\r\n\t\t}\r\n\r\n\t\t// Remember that the DOM is ready\r\n\t\tjQuery.isReady = true;\r\n\r\n\t\t// If a normal DOM Ready event fired, decrement, and wait if need be\r\n\t\tif ( wait !== true && --jQuery.readyWait > 0 ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// If there are functions bound, to execute\r\n\t\treadyList.resolveWith( document, [ jQuery ] );\r\n\r\n\t\t// Trigger any bound ready events\r\n\t\tif ( jQuery.fn.trigger ) {\r\n\t\t\tjQuery( document ).trigger(\"ready\").off(\"ready\");\r\n\t\t}\r\n\t},\r\n\r\n\t// See test/unit/core.js for details concerning isFunction.\r\n\t// Since version 1.3, DOM methods and functions like alert\r\n\t// aren't supported. They return false on IE (#2968).\r\n\tisFunction: function( obj ) {\r\n\t\treturn jQuery.type(obj) === \"function\";\r\n\t},\r\n\r\n\tisArray: Array.isArray || function( obj ) {\r\n\t\treturn jQuery.type(obj) === \"array\";\r\n\t},\r\n\r\n\tisWindow: function( obj ) {\r\n\t\treturn obj != null && obj == obj.window;\r\n\t},\r\n\r\n\tisNumeric: function( obj ) {\r\n\t\treturn !isNaN( parseFloat(obj) ) && isFinite( obj );\r\n\t},\r\n\r\n\ttype: function( obj ) {\r\n\t\treturn obj == null ?\r\n\t\t\tString( obj ) :\r\n\t\t\tclass2type[ core_toString.call(obj) ] || \"object\";\r\n\t},\r\n\r\n\tisPlainObject: function( obj ) {\r\n\t\t// Must be an Object.\r\n\t\t// Because of IE, we also have to check the presence of the constructor property.\r\n\t\t// Make sure that DOM nodes and window objects don't pass through, as well\r\n\t\tif ( !obj || jQuery.type(obj) !== \"object\" || obj.nodeType || jQuery.isWindow( obj ) ) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\ttry {\r\n\t\t\t// Not own constructor property must be Object\r\n\t\t\tif ( obj.constructor &&\r\n\t\t\t\t!core_hasOwn.call(obj, \"constructor\") &&\r\n\t\t\t\t!core_hasOwn.call(obj.constructor.prototype, \"isPrototypeOf\") ) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t} catch ( e ) {\r\n\t\t\t// IE8,9 Will throw exceptions on certain host objects #9897\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\t// Own properties are enumerated firstly, so to speed up,\r\n\t\t// if last one is own, then all properties are own.\r\n\r\n\t\tvar key;\r\n\t\tfor ( key in obj ) {}\r\n\r\n\t\treturn key === undefined || core_hasOwn.call( obj, key );\r\n\t},\r\n\r\n\tisEmptyObject: function( obj ) {\r\n\t\tvar name;\r\n\t\tfor ( name in obj ) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n\r\n\terror: function( msg ) {\r\n\t\tthrow new Error( msg );\r\n\t},\r\n\r\n\t// data: string of html\r\n\t// context (optional): If specified, the fragment will be created in this context, defaults to document\r\n\t// scripts (optional): If true, will include scripts passed in the html string\r\n\tparseHTML: function( data, context, scripts ) {\r\n\t\tvar parsed;\r\n\t\tif ( !data || typeof data !== \"string\" ) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\tif ( typeof context === \"boolean\" ) {\r\n\t\t\tscripts = context;\r\n\t\t\tcontext = 0;\r\n\t\t}\r\n\t\tcontext = context || document;\r\n\r\n\t\t// Single tag\r\n\t\tif ( (parsed = rsingleTag.exec( data )) ) {\r\n\t\t\treturn [ context.createElement( parsed[1] ) ];\r\n\t\t}\r\n\r\n\t\tparsed = jQuery.buildFragment( [ data ], context, scripts ? null : [] );\r\n\t\treturn jQuery.merge( [],\r\n\t\t\t(parsed.cacheable ? jQuery.clone( parsed.fragment ) : parsed.fragment).childNodes );\r\n\t},\r\n\r\n\tparseJSON: function( data ) {\r\n\t\tif ( !data || typeof data !== \"string\") {\r\n\t\t\treturn null;\r\n\t\t}\r\n\r\n\t\t// Make sure leading/trailing whitespace is removed (IE can't handle it)\r\n\t\tdata = jQuery.trim( data );\r\n\r\n\t\t// Attempt to parse using the native JSON parser first\r\n\t\tif ( window.JSON && window.JSON.parse ) {\r\n\t\t\treturn window.JSON.parse( data );\r\n\t\t}\r\n\r\n\t\t// Make sure the incoming data is actual JSON\r\n\t\t// Logic borrowed from http://json.org/json2.js\r\n\t\tif ( rvalidchars.test( data.replace( rvalidescape, \"@\" )\r\n\t\t\t.replace( rvalidtokens, \"]\" )\r\n\t\t\t.replace( rvalidbraces, \"\")) ) {\r\n\r\n\t\t\treturn ( new Function( \"return \" + data ) )();\r\n\r\n\t\t}\r\n\t\tjQuery.error( \"Invalid JSON: \" + data );\r\n\t},\r\n\r\n\t// Cross-browser xml parsing\r\n\tparseXML: function( data ) {\r\n\t\tvar xml, tmp;\r\n\t\tif ( !data || typeof data !== \"string\" ) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\ttry {\r\n\t\t\tif ( window.DOMParser ) { // Standard\r\n\t\t\t\ttmp = new DOMParser();\r\n\t\t\t\txml = tmp.parseFromString( data , \"text/xml\" );\r\n\t\t\t} else { // IE\r\n\t\t\t\txml = new ActiveXObject( \"Microsoft.XMLDOM\" );\r\n\t\t\t\txml.async = \"false\";\r\n\t\t\t\txml.loadXML( data );\r\n\t\t\t}\r\n\t\t} catch( e ) {\r\n\t\t\txml = undefined;\r\n\t\t}\r\n\t\tif ( !xml || !xml.documentElement || xml.getElementsByTagName( \"parsererror\" ).length ) {\r\n\t\t\tjQuery.error( \"Invalid XML: \" + data );\r\n\t\t}\r\n\t\treturn xml;\r\n\t},\r\n\r\n\tnoop: function() {},\r\n\r\n\t// Evaluates a script in a global context\r\n\t// Workarounds based on findings by Jim Driscoll\r\n\t// http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context\r\n\tglobalEval: function( data ) {\r\n\t\tif ( data && core_rnotwhite.test( data ) ) {\r\n\t\t\t// We use execScript on Internet Explorer\r\n\t\t\t// We use an anonymous function so that context is window\r\n\t\t\t// rather than jQuery in Firefox\r\n\t\t\t( window.execScript || function( data ) {\r\n\t\t\t\twindow[ \"eval\" ].call( window, data );\r\n\t\t\t} )( data );\r\n\t\t}\r\n\t},\r\n\r\n\t// Convert dashed to camelCase; used by the css and data modules\r\n\t// Microsoft forgot to hump their vendor prefix (#9572)\r\n\tcamelCase: function( string ) {\r\n\t\treturn string.replace( rmsPrefix, \"ms-\" ).replace( rdashAlpha, fcamelCase );\r\n\t},\r\n\r\n\tnodeName: function( elem, name ) {\r\n\t\treturn elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();\r\n\t},\r\n\r\n\t// args is for internal usage only\r\n\teach: function( obj, callback, args ) {\r\n\t\tvar name,\r\n\t\t\ti = 0,\r\n\t\t\tlength = obj.length,\r\n\t\t\tisObj = length === undefined || jQuery.isFunction( obj );\r\n\r\n\t\tif ( args ) {\r\n\t\t\tif ( isObj ) {\r\n\t\t\t\tfor ( name in obj ) {\r\n\t\t\t\t\tif ( callback.apply( obj[ name ], args ) === false ) {\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} else {\r\n\t\t\t\tfor ( ; i < length; ) {\r\n\t\t\t\t\tif ( callback.apply( obj[ i++ ], args ) === false ) {\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\r\n\t\t// A special, fast, case for the most common use of each\r\n\t\t} else {\r\n\t\t\tif ( isObj ) {\r\n\t\t\t\tfor ( name in obj ) {\r\n\t\t\t\t\tif ( callback.call( obj[ name ], name, obj[ name ] ) === false ) {\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} else {\r\n\t\t\t\tfor ( ; i < length; ) {\r\n\t\t\t\t\tif ( callback.call( obj[ i ], i, obj[ i++ ] ) === false ) {\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\r\n\t\treturn obj;\r\n\t},\r\n\r\n\t// Use native String.trim function wherever possible\r\n\ttrim: core_trim && !core_trim.call(\"\\uFEFF\\xA0\") ?\r\n\t\tfunction( text ) {\r\n\t\t\treturn text == null ?\r\n\t\t\t\t\"\" :\r\n\t\t\t\tcore_trim.call( text );\r\n\t\t} :\r\n\r\n\t\t// Otherwise use our own trimming functionality\r\n\t\tfunction( text ) {\r\n\t\t\treturn text == null ?\r\n\t\t\t\t\"\" :\r\n\t\t\t\t( text + \"\" ).replace( rtrim, \"\" );\r\n\t\t},\r\n\r\n\t// results is for internal usage only\r\n\tmakeArray: function( arr, results ) {\r\n\t\tvar type,\r\n\t\t\tret = results || [];\r\n\r\n\t\tif ( arr != null ) {\r\n\t\t\t// The window, strings (and functions) also have 'length'\r\n\t\t\t// Tweaked logic slightly to handle Blackberry 4.7 RegExp issues #6930\r\n\t\t\ttype = jQuery.type( arr );\r\n\r\n\t\t\tif ( arr.length == null || type === \"string\" || type === \"function\" || type === \"regexp\" || jQuery.isWindow( arr ) ) {\r\n\t\t\t\tcore_push.call( ret, arr );\r\n\t\t\t} else {\r\n\t\t\t\tjQuery.merge( ret, arr );\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn ret;\r\n\t},\r\n\r\n\tinArray: function( elem, arr, i ) {\r\n\t\tvar len;\r\n\r\n\t\tif ( arr ) {\r\n\t\t\tif ( core_indexOf ) {\r\n\t\t\t\treturn core_indexOf.call( arr, elem, i );\r\n\t\t\t}\r\n\r\n\t\t\tlen = arr.length;\r\n\t\t\ti = i ? i < 0 ? Math.max( 0, len + i ) : i : 0;\r\n\r\n\t\t\tfor ( ; i < len; i++ ) {\r\n\t\t\t\t// Skip accessing in sparse arrays\r\n\t\t\t\tif ( i in arr && arr[ i ] === elem ) {\r\n\t\t\t\t\treturn i;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn -1;\r\n\t},\r\n\r\n\tmerge: function( first, second ) {\r\n\t\tvar l = second.length,\r\n\t\t\ti = first.length,\r\n\t\t\tj = 0;\r\n\r\n\t\tif ( typeof l === \"number\" ) {\r\n\t\t\tfor ( ; j < l; j++ ) {\r\n\t\t\t\tfirst[ i++ ] = second[ j ];\r\n\t\t\t}\r\n\r\n\t\t} else {\r\n\t\t\twhile ( second[j] !== undefined ) {\r\n\t\t\t\tfirst[ i++ ] = second[ j++ ];\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfirst.length = i;\r\n\r\n\t\treturn first;\r\n\t},\r\n\r\n\tgrep: function( elems, callback, inv ) {\r\n\t\tvar retVal,\r\n\t\t\tret = [],\r\n\t\t\ti = 0,\r\n\t\t\tlength = elems.length;\r\n\t\tinv = !!inv;\r\n\r\n\t\t// Go through the array, only saving the items\r\n\t\t// that pass the validator function\r\n\t\tfor ( ; i < length; i++ ) {\r\n\t\t\tretVal = !!callback( elems[ i ], i );\r\n\t\t\tif ( inv !== retVal ) {\r\n\t\t\t\tret.push( elems[ i ] );\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn ret;\r\n\t},\r\n\r\n\t// arg is for internal usage only\r\n\tmap: function( elems, callback, arg ) {\r\n\t\tvar value, key,\r\n\t\t\tret = [],\r\n\t\t\ti = 0,\r\n\t\t\tlength = elems.length,\r\n\t\t\t// jquery objects are treated as arrays\r\n\t\t\tisArray = elems instanceof jQuery || length !== undefined && typeof length === \"number\" && ( ( length > 0 && elems[ 0 ] && elems[ length -1 ] ) || length === 0 || jQuery.isArray( elems ) ) ;\r\n\r\n\t\t// Go through the array, translating each of the items to their\r\n\t\tif ( isArray ) {\r\n\t\t\tfor ( ; i < length; i++ ) {\r\n\t\t\t\tvalue = callback( elems[ i ], i, arg );\r\n\r\n\t\t\t\tif ( value != null ) {\r\n\t\t\t\t\tret[ ret.length ] = value;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t// Go through every key on the object,\r\n\t\t} else {\r\n\t\t\tfor ( key in elems ) {\r\n\t\t\t\tvalue = callback( elems[ key ], key, arg );\r\n\r\n\t\t\t\tif ( value != null ) {\r\n\t\t\t\t\tret[ ret.length ] = value;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Flatten any nested arrays\r\n\t\treturn ret.concat.apply( [], ret );\r\n\t},\r\n\r\n\t// A global GUID counter for objects\r\n\tguid: 1,\r\n\r\n\t// Bind a function to a context, optionally partially applying any\r\n\t// arguments.\r\n\tproxy: function( fn, context ) {\r\n\t\tvar tmp, args, proxy;\r\n\r\n\t\tif ( typeof context === \"string\" ) {\r\n\t\t\ttmp = fn[ context ];\r\n\t\t\tcontext = fn;\r\n\t\t\tfn = tmp;\r\n\t\t}\r\n\r\n\t\t// Quick check to determine if target is callable, in the spec\r\n\t\t// this throws a TypeError, but we will just return undefined.\r\n\t\tif ( !jQuery.isFunction( fn ) ) {\r\n\t\t\treturn undefined;\r\n\t\t}\r\n\r\n\t\t// Simulated bind\r\n\t\targs = core_slice.call( arguments, 2 );\r\n\t\tproxy = function() {\r\n\t\t\treturn fn.apply( context, args.concat( core_slice.call( arguments ) ) );\r\n\t\t};\r\n\r\n\t\t// Set the guid of unique handler to the same of original handler, so it can be removed\r\n\t\tproxy.guid = fn.guid = fn.guid || jQuery.guid++;\r\n\r\n\t\treturn proxy;\r\n\t},\r\n\r\n\t// Multifunctional method to get and set values of a collection\r\n\t// The value/s can optionally be executed if it's a function\r\n\taccess: function( elems, fn, key, value, chainable, emptyGet, pass ) {\r\n\t\tvar exec,\r\n\t\t\tbulk = key == null,\r\n\t\t\ti = 0,\r\n\t\t\tlength = elems.length;\r\n\r\n\t\t// Sets many values\r\n\t\tif ( key && typeof key === \"object\" ) {\r\n\t\t\tfor ( i in key ) {\r\n\t\t\t\tjQuery.access( elems, fn, i, key[i], 1, emptyGet, value );\r\n\t\t\t}\r\n\t\t\tchainable = 1;\r\n\r\n\t\t// Sets one value\r\n\t\t} else if ( value !== undefined ) {\r\n\t\t\t// Optionally, function values get executed if exec is true\r\n\t\t\texec = pass === undefined && jQuery.isFunction( value );\r\n\r\n\t\t\tif ( bulk ) {\r\n\t\t\t\t// Bulk operations only iterate when executing function values\r\n\t\t\t\tif ( exec ) {\r\n\t\t\t\t\texec = fn;\r\n\t\t\t\t\tfn = function( elem, key, value ) {\r\n\t\t\t\t\t\treturn exec.call( jQuery( elem ), value );\r\n\t\t\t\t\t};\r\n\r\n\t\t\t\t// Otherwise they run against the entire set\r\n\t\t\t\t} else {\r\n\t\t\t\t\tfn.call( elems, value );\r\n\t\t\t\t\tfn = null;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif ( fn ) {\r\n\t\t\t\tfor (; i < length; i++ ) {\r\n\t\t\t\t\tfn( elems[i], key, exec ? value.call( elems[i], i, fn( elems[i], key ) ) : value, pass );\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tchainable = 1;\r\n\t\t}\r\n\r\n\t\treturn chainable ?\r\n\t\t\telems :\r\n\r\n\t\t\t// Gets\r\n\t\t\tbulk ?\r\n\t\t\t\tfn.call( elems ) :\r\n\t\t\t\tlength ? fn( elems[0], key ) : emptyGet;\r\n\t},\r\n\r\n\tnow: function() {\r\n\t\treturn ( new Date() ).getTime();\r\n\t}\r\n});\r\n\r\njQuery.ready.promise = function( obj ) {\r\n\tif ( !readyList ) {\r\n\r\n\t\treadyList = jQuery.Deferred();\r\n\r\n\t\t// Catch cases where $(document).ready() is called after the browser event has already occurred.\r\n\t\t// we once tried to use readyState \"interactive\" here, but it caused issues like the one\r\n\t\t// discovered by ChrisS here: http://bugs.jquery.com/ticket/12282#comment:15\r\n\t\tif ( document.readyState === \"complete\" ) {\r\n\t\t\t// Handle it asynchronously to allow scripts the opportunity to delay ready\r\n\t\t\tsetTimeout( jQuery.ready, 1 );\r\n\r\n\t\t// Standards-based browsers support DOMContentLoaded\r\n\t\t} else if ( document.addEventListener ) {\r\n\t\t\t// Use the handy event callback\r\n\t\t\tdocument.addEventListener( \"DOMContentLoaded\", DOMContentLoaded, false );\r\n\r\n\t\t\t// A fallback to window.onload, that will always work\r\n\t\t\twindow.addEventListener( \"load\", jQuery.ready, false );\r\n\r\n\t\t// If IE event model is used\r\n\t\t} else {\r\n\t\t\t// Ensure firing before onload, maybe late but safe also for iframes\r\n\t\t\tdocument.attachEvent( \"onreadystatechange\", DOMContentLoaded );\r\n\r\n\t\t\t// A fallback to window.onload, that will always work\r\n\t\t\twindow.attachEvent( \"onload\", jQuery.ready );\r\n\r\n\t\t\t// If IE and not a frame\r\n\t\t\t// continually check to see if the document is ready\r\n\t\t\tvar top = false;\r\n\r\n\t\t\ttry {\r\n\t\t\t\ttop = window.frameElement == null && document.documentElement;\r\n\t\t\t} catch(e) {}\r\n\r\n\t\t\tif ( top && top.doScroll ) {\r\n\t\t\t\t(function doScrollCheck() {\r\n\t\t\t\t\tif ( !jQuery.isReady ) {\r\n\r\n\t\t\t\t\t\ttry {\r\n\t\t\t\t\t\t\t// Use the trick by Diego Perini\r\n\t\t\t\t\t\t\t// http://javascript.nwbox.com/IEContentLoaded/\r\n\t\t\t\t\t\t\ttop.doScroll(\"left\");\r\n\t\t\t\t\t\t} catch(e) {\r\n\t\t\t\t\t\t\treturn setTimeout( doScrollCheck, 50 );\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t// and execute any waiting functions\r\n\t\t\t\t\t\tjQuery.ready();\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\treturn readyList.promise( obj );\r\n};\r\n\r\n// Populate the class2type map\r\njQuery.each(\"Boolean Number String Function Array Date RegExp Object\".split(\" \"), function(i, name) {\r\n\tclass2type[ \"[object \" + name + \"]\" ] = name.toLowerCase();\r\n});\r\n\r\n// All jQuery objects should point back to these\r\nrootjQuery = jQuery(document);\r\n// String to Object options format cache\r\nvar optionsCache = {};\r\n\r\n// Convert String-formatted options into Object-formatted ones and store in cache\r\nfunction createOptions( options ) {\r\n\tvar object = optionsCache[ options ] = {};\r\n\tjQuery.each( options.split( core_rspace ), function( _, flag ) {\r\n\t\tobject[ flag ] = true;\r\n\t});\r\n\treturn object;\r\n}\r\n\r\n/*\r\n * Create a callback list using the following parameters:\r\n *\r\n *\toptions: an optional list of space-separated options that will change how\r\n *\t\t\tthe callback list behaves or a more traditional option object\r\n *\r\n * By default a callback list will act like an event callback list and can be\r\n * \"fired\" multiple times.\r\n *\r\n * Possible options:\r\n *\r\n *\tonce:\t\t\twill ensure the callback list can only be fired once (like a Deferred)\r\n *\r\n *\tmemory:\t\t\twill keep track of previous values and will call any callback added\r\n *\t\t\t\t\tafter the list has been fired right away with the latest \"memorized\"\r\n *\t\t\t\t\tvalues (like a Deferred)\r\n *\r\n *\tunique:\t\t\twill ensure a callback can only be added once (no duplicate in the list)\r\n *\r\n *\tstopOnFalse:\tinterrupt callings when a callback returns false\r\n *\r\n */\r\njQuery.Callbacks = function( options ) {\r\n\r\n\t// Convert options from String-formatted to Object-formatted if needed\r\n\t// (we check in cache first)\r\n\toptions = typeof options === \"string\" ?\r\n\t\t( optionsCache[ options ] || createOptions( options ) ) :\r\n\t\tjQuery.extend( {}, options );\r\n\r\n\tvar // Last fire value (for non-forgettable lists)\r\n\t\tmemory,\r\n\t\t// Flag to know if list was already fired\r\n\t\tfired,\r\n\t\t// Flag to know if list is currently firing\r\n\t\tfiring,\r\n\t\t// First callback to fire (used internally by add and fireWith)\r\n\t\tfiringStart,\r\n\t\t// End of the loop when firing\r\n\t\tfiringLength,\r\n\t\t// Index of currently firing callback (modified by remove if needed)\r\n\t\tfiringIndex,\r\n\t\t// Actual callback list\r\n\t\tlist = [],\r\n\t\t// Stack of fire calls for repeatable lists\r\n\t\tstack = !options.once && [],\r\n\t\t// Fire callbacks\r\n\t\tfire = function( data ) {\r\n\t\t\tmemory = options.memory && data;\r\n\t\t\tfired = true;\r\n\t\t\tfiringIndex = firingStart || 0;\r\n\t\t\tfiringStart = 0;\r\n\t\t\tfiringLength = list.length;\r\n\t\t\tfiring = true;\r\n\t\t\tfor ( ; list && firingIndex < firingLength; firingIndex++ ) {\r\n\t\t\t\tif ( list[ firingIndex ].apply( data[ 0 ], data[ 1 ] ) === false && options.stopOnFalse ) {\r\n\t\t\t\t\tmemory = false; // To prevent further calls using add\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tfiring = false;\r\n\t\t\tif ( list ) {\r\n\t\t\t\tif ( stack ) {\r\n\t\t\t\t\tif ( stack.length ) {\r\n\t\t\t\t\t\tfire( stack.shift() );\r\n\t\t\t\t\t}\r\n\t\t\t\t} else if ( memory ) {\r\n\t\t\t\t\tlist = [];\r\n\t\t\t\t} else {\r\n\t\t\t\t\tself.disable();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\t// Actual Callbacks object\r\n\t\tself = {\r\n\t\t\t// Add a callback or a collection of callbacks to the list\r\n\t\t\tadd: function() {\r\n\t\t\t\tif ( list ) {\r\n\t\t\t\t\t// First, we save the current length\r\n\t\t\t\t\tvar start = list.length;\r\n\t\t\t\t\t(function add( args ) {\r\n\t\t\t\t\t\tjQuery.each( args, function( _, arg ) {\r\n\t\t\t\t\t\t\tvar type = jQuery.type( arg );\r\n\t\t\t\t\t\t\tif ( type === \"function\" && ( !options.unique || !self.has( arg ) ) ) {\r\n\t\t\t\t\t\t\t\tlist.push( arg );\r\n\t\t\t\t\t\t\t} else if ( arg && arg.length && type !== \"string\" ) {\r\n\t\t\t\t\t\t\t\t// Inspect recursively\r\n\t\t\t\t\t\t\t\tadd( arg );\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t})( arguments );\r\n\t\t\t\t\t// Do we need to add the callbacks to the\r\n\t\t\t\t\t// current firing batch?\r\n\t\t\t\t\tif ( firing ) {\r\n\t\t\t\t\t\tfiringLength = list.length;\r\n\t\t\t\t\t// With memory, if we're not firing then\r\n\t\t\t\t\t// we should call right away\r\n\t\t\t\t\t} else if ( memory ) {\r\n\t\t\t\t\t\tfiringStart = start;\r\n\t\t\t\t\t\tfire( memory );\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\treturn this;\r\n\t\t\t},\r\n\t\t\t// Remove a callback from the list\r\n\t\t\tremove: function() {\r\n\t\t\t\tif ( list ) {\r\n\t\t\t\t\tjQuery.each( arguments, function( _, arg ) {\r\n\t\t\t\t\t\tvar index;\r\n\t\t\t\t\t\twhile( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {\r\n\t\t\t\t\t\t\tlist.splice( index, 1 );\r\n\t\t\t\t\t\t\t// Handle firing indexes\r\n\t\t\t\t\t\t\tif ( firing ) {\r\n\t\t\t\t\t\t\t\tif ( index <= firingLength ) {\r\n\t\t\t\t\t\t\t\t\tfiringLength--;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tif ( index <= firingIndex ) {\r\n\t\t\t\t\t\t\t\t\tfiringIndex--;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\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\treturn this;\r\n\t\t\t},\r\n\t\t\t// Control if a given callback is in the list\r\n\t\t\thas: function( fn ) {\r\n\t\t\t\treturn jQuery.inArray( fn, list ) > -1;\r\n\t\t\t},\r\n\t\t\t// Remove all callbacks from the list\r\n\t\t\tempty: function() {\r\n\t\t\t\tlist = [];\r\n\t\t\t\treturn this;\r\n\t\t\t},\r\n\t\t\t// Have the list do nothing anymore\r\n\t\t\tdisable: function() {\r\n\t\t\t\tlist = stack = memory = undefined;\r\n\t\t\t\treturn this;\r\n\t\t\t},\r\n\t\t\t// Is it disabled?\r\n\t\t\tdisabled: function() {\r\n\t\t\t\treturn !list;\r\n\t\t\t},\r\n\t\t\t// Lock the list in its current state\r\n\t\t\tlock: function() {\r\n\t\t\t\tstack = undefined;\r\n\t\t\t\tif ( !memory ) {\r\n\t\t\t\t\tself.disable();\r\n\t\t\t\t}\r\n\t\t\t\treturn this;\r\n\t\t\t},\r\n\t\t\t// Is it locked?\r\n\t\t\tlocked: function() {\r\n\t\t\t\treturn !stack;\r\n\t\t\t},\r\n\t\t\t// Call all callbacks with the given context and arguments\r\n\t\t\tfireWith: function( context, args ) {\r\n\t\t\t\targs = args || [];\r\n\t\t\t\targs = [ context, args.slice ? args.slice() : args ];\r\n\t\t\t\tif ( list && ( !fired || stack ) ) {\r\n\t\t\t\t\tif ( firing ) {\r\n\t\t\t\t\t\tstack.push( args );\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tfire( args );\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\treturn this;\r\n\t\t\t},\r\n\t\t\t// Call all the callbacks with the given arguments\r\n\t\t\tfire: function() {\r\n\t\t\t\tself.fireWith( this, arguments );\r\n\t\t\t\treturn this;\r\n\t\t\t},\r\n\t\t\t// To know if the callbacks have already been called at least once\r\n\t\t\tfired: function() {\r\n\t\t\t\treturn !!fired;\r\n\t\t\t}\r\n\t\t};\r\n\r\n\treturn self;\r\n};\r\njQuery.extend({\r\n\r\n\tDeferred: function( func ) {\r\n\t\tvar tuples = [\r\n\t\t\t\t// action, add listener, listener list, final state\r\n\t\t\t\t[ \"resolve\", \"done\", jQuery.Callbacks(\"once memory\"), \"resolved\" ],\r\n\t\t\t\t[ \"reject\", \"fail\", jQuery.Callbacks(\"once memory\"), \"rejected\" ],\r\n\t\t\t\t[ \"notify\", \"progress\", jQuery.Callbacks(\"memory\") ]\r\n\t\t\t],\r\n\t\t\tstate = \"pending\",\r\n\t\t\tpromise = {\r\n\t\t\t\tstate: function() {\r\n\t\t\t\t\treturn state;\r\n\t\t\t\t},\r\n\t\t\t\talways: function() {\r\n\t\t\t\t\tdeferred.done( arguments ).fail( arguments );\r\n\t\t\t\t\treturn this;\r\n\t\t\t\t},\r\n\t\t\t\tthen: function( /* fnDone, fnFail, fnProgress */ ) {\r\n\t\t\t\t\tvar fns = arguments;\r\n\t\t\t\t\treturn jQuery.Deferred(function( newDefer ) {\r\n\t\t\t\t\t\tjQuery.each( tuples, function( i, tuple ) {\r\n\t\t\t\t\t\t\tvar action = tuple[ 0 ],\r\n\t\t\t\t\t\t\t\tfn = fns[ i ];\r\n\t\t\t\t\t\t\t// deferred[ done | fail | progress ] for forwarding actions to newDefer\r\n\t\t\t\t\t\t\tdeferred[ tuple[1] ]( jQuery.isFunction( fn ) ?\r\n\t\t\t\t\t\t\t\tfunction() {\r\n\t\t\t\t\t\t\t\t\tvar returned = fn.apply( this, arguments );\r\n\t\t\t\t\t\t\t\t\tif ( returned && jQuery.isFunction( returned.promise ) ) {\r\n\t\t\t\t\t\t\t\t\t\treturned.promise()\r\n\t\t\t\t\t\t\t\t\t\t\t.done( newDefer.resolve )\r\n\t\t\t\t\t\t\t\t\t\t\t.fail( newDefer.reject )\r\n\t\t\t\t\t\t\t\t\t\t\t.progress( newDefer.notify );\r\n\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\tnewDefer[ action + \"With\" ]( this === deferred ? newDefer : this, [ returned ] );\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t} :\r\n\t\t\t\t\t\t\t\tnewDefer[ action ]\r\n\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tfns = null;\r\n\t\t\t\t\t}).promise();\r\n\t\t\t\t},\r\n\t\t\t\t// Get a promise for this deferred\r\n\t\t\t\t// If obj is provided, the promise aspect is added to the object\r\n\t\t\t\tpromise: function( obj ) {\r\n\t\t\t\t\treturn obj != null ? jQuery.extend( obj, promise ) : promise;\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tdeferred = {};\r\n\r\n\t\t// Keep pipe for back-compat\r\n\t\tpromise.pipe = promise.then;\r\n\r\n\t\t// Add list-specific methods\r\n\t\tjQuery.each( tuples, function( i, tuple ) {\r\n\t\t\tvar list = tuple[ 2 ],\r\n\t\t\t\tstateString = tuple[ 3 ];\r\n\r\n\t\t\t// promise[ done | fail | progress ] = list.add\r\n\t\t\tpromise[ tuple[1] ] = list.add;\r\n\r\n\t\t\t// Handle state\r\n\t\t\tif ( stateString ) {\r\n\t\t\t\tlist.add(function() {\r\n\t\t\t\t\t// state = [ resolved | rejected ]\r\n\t\t\t\t\tstate = stateString;\r\n\r\n\t\t\t\t// [ reject_list | resolve_list ].disable; progress_list.lock\r\n\t\t\t\t}, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock );\r\n\t\t\t}\r\n\r\n\t\t\t// deferred[ resolve | reject | notify ] = list.fire\r\n\t\t\tdeferred[ tuple[0] ] = list.fire;\r\n\t\t\tdeferred[ tuple[0] + \"With\" ] = list.fireWith;\r\n\t\t});\r\n\r\n\t\t// Make the deferred a promise\r\n\t\tpromise.promise( deferred );\r\n\r\n\t\t// Call given func if any\r\n\t\tif ( func ) {\r\n\t\t\tfunc.call( deferred, deferred );\r\n\t\t}\r\n\r\n\t\t// All done!\r\n\t\treturn deferred;\r\n\t},\r\n\r\n\t// Deferred helper\r\n\twhen: function( subordinate /* , ..., subordinateN */ ) {\r\n\t\tvar i = 0,\r\n\t\t\tresolveValues = core_slice.call( arguments ),\r\n\t\t\tlength = resolveValues.length,\r\n\r\n\t\t\t// the count of uncompleted subordinates\r\n\t\t\tremaining = length !== 1 || ( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0,\r\n\r\n\t\t\t// the master Deferred. If resolveValues consist of only a single Deferred, just use that.\r\n\t\t\tdeferred = remaining === 1 ? subordinate : jQuery.Deferred(),\r\n\r\n\t\t\t// Update function for both resolve and progress values\r\n\t\t\tupdateFunc = function( i, contexts, values ) {\r\n\t\t\t\treturn function( value ) {\r\n\t\t\t\t\tcontexts[ i ] = this;\r\n\t\t\t\t\tvalues[ i ] = arguments.length > 1 ? core_slice.call( arguments ) : value;\r\n\t\t\t\t\tif( values === progressValues ) {\r\n\t\t\t\t\t\tdeferred.notifyWith( contexts, values );\r\n\t\t\t\t\t} else if ( !( --remaining ) ) {\r\n\t\t\t\t\t\tdeferred.resolveWith( contexts, values );\r\n\t\t\t\t\t}\r\n\t\t\t\t};\r\n\t\t\t},\r\n\r\n\t\t\tprogressValues, progressContexts, resolveContexts;\r\n\r\n\t\t// add listeners to Deferred subordinates; treat others as resolved\r\n\t\tif ( length > 1 ) {\r\n\t\t\tprogressValues = new Array( length );\r\n\t\t\tprogressContexts = new Array( length );\r\n\t\t\tresolveContexts = new Array( length );\r\n\t\t\tfor ( ; i < length; i++ ) {\r\n\t\t\t\tif ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) {\r\n\t\t\t\t\tresolveValues[ i ].promise()\r\n\t\t\t\t\t\t.done( updateFunc( i, resolveContexts, resolveValues ) )\r\n\t\t\t\t\t\t.fail( deferred.reject )\r\n\t\t\t\t\t\t.progress( updateFunc( i, progressContexts, progressValues ) );\r\n\t\t\t\t} else {\r\n\t\t\t\t\t--remaining;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// if we're not waiting on anything, resolve the master\r\n\t\tif ( !remaining ) {\r\n\t\t\tdeferred.resolveWith( resolveContexts, resolveValues );\r\n\t\t}\r\n\r\n\t\treturn deferred.promise();\r\n\t}\r\n});\r\njQuery.support = (function() {\r\n\r\n\tvar support,\r\n\t\tall,\r\n\t\ta,\r\n\t\tselect,\r\n\t\topt,\r\n\t\tinput,\r\n\t\tfragment,\r\n\t\teventName,\r\n\t\ti,\r\n\t\tisSupported,\r\n\t\tclickFn,\r\n\t\tdiv = document.createElement(\"div\");\r\n\r\n\t// Preliminary tests\r\n\tdiv.setAttribute( \"className\", \"t\" );\r\n\tdiv.innerHTML = \"  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>\";\r\n\r\n\tall = div.getElementsByTagName(\"*\");\r\n\ta = div.getElementsByTagName(\"a\")[ 0 ];\r\n\ta.style.cssText = \"top:1px;float:left;opacity:.5\";\r\n\r\n\t// Can't get basic test support\r\n\tif ( !all || !all.length ) {\r\n\t\treturn {};\r\n\t}\r\n\r\n\t// First batch of supports tests\r\n\tselect = document.createElement(\"select\");\r\n\topt = select.appendChild( document.createElement(\"option\") );\r\n\tinput = div.getElementsByTagName(\"input\")[ 0 ];\r\n\r\n\tsupport = {\r\n\t\t// IE strips leading whitespace when .innerHTML is used\r\n\t\tleadingWhitespace: ( div.firstChild.nodeType === 3 ),\r\n\r\n\t\t// Make sure that tbody elements aren't automatically inserted\r\n\t\t// IE will insert them into empty tables\r\n\t\ttbody: !div.getElementsByTagName(\"tbody\").length,\r\n\r\n\t\t// Make sure that link elements get serialized correctly by innerHTML\r\n\t\t// This requires a wrapper element in IE\r\n\t\thtmlSerialize: !!div.getElementsByTagName(\"link\").length,\r\n\r\n\t\t// Get the style information from getAttribute\r\n\t\t// (IE uses .cssText instead)\r\n\t\tstyle: /top/.test( a.getAttribute(\"style\") ),\r\n\r\n\t\t// Make sure that URLs aren't manipulated\r\n\t\t// (IE normalizes it by default)\r\n\t\threfNormalized: ( a.getAttribute(\"href\") === \"/a\" ),\r\n\r\n\t\t// Make sure that element opacity exists\r\n\t\t// (IE uses filter instead)\r\n\t\t// Use a regex to work around a WebKit issue. See #5145\r\n\t\topacity: /^0.5/.test( a.style.opacity ),\r\n\r\n\t\t// Verify style float existence\r\n\t\t// (IE uses styleFloat instead of cssFloat)\r\n\t\tcssFloat: !!a.style.cssFloat,\r\n\r\n\t\t// Make sure that if no value is specified for a checkbox\r\n\t\t// that it defaults to \"on\".\r\n\t\t// (WebKit defaults to \"\" instead)\r\n\t\tcheckOn: ( input.value === \"on\" ),\r\n\r\n\t\t// Make sure that a selected-by-default option has a working selected property.\r\n\t\t// (WebKit defaults to false instead of true, IE too, if it's in an optgroup)\r\n\t\toptSelected: opt.selected,\r\n\r\n\t\t// Test setAttribute on camelCase class. If it works, we need attrFixes when doing get/setAttribute (ie6/7)\r\n\t\tgetSetAttribute: div.className !== \"t\",\r\n\r\n\t\t// Tests for enctype support on a form(#6743)\r\n\t\tenctype: !!document.createElement(\"form\").enctype,\r\n\r\n\t\t// Makes sure cloning an html5 element does not cause problems\r\n\t\t// Where outerHTML is undefined, this still works\r\n\t\thtml5Clone: document.createElement(\"nav\").cloneNode( true ).outerHTML !== \"<:nav></:nav>\",\r\n\r\n\t\t// jQuery.support.boxModel DEPRECATED in 1.8 since we don't support Quirks Mode\r\n\t\tboxModel: ( document.compatMode === \"CSS1Compat\" ),\r\n\r\n\t\t// Will be defined later\r\n\t\tsubmitBubbles: true,\r\n\t\tchangeBubbles: true,\r\n\t\tfocusinBubbles: false,\r\n\t\tdeleteExpando: true,\r\n\t\tnoCloneEvent: true,\r\n\t\tinlineBlockNeedsLayout: false,\r\n\t\tshrinkWrapBlocks: false,\r\n\t\treliableMarginRight: true,\r\n\t\tboxSizingReliable: true,\r\n\t\tpixelPosition: false\r\n\t};\r\n\r\n\t// Make sure checked status is properly cloned\r\n\tinput.checked = true;\r\n\tsupport.noCloneChecked = input.cloneNode( true ).checked;\r\n\r\n\t// Make sure that the options inside disabled selects aren't marked as disabled\r\n\t// (WebKit marks them as disabled)\r\n\tselect.disabled = true;\r\n\tsupport.optDisabled = !opt.disabled;\r\n\r\n\t// Test to see if it's possible to delete an expando from an element\r\n\t// Fails in Internet Explorer\r\n\ttry {\r\n\t\tdelete div.test;\r\n\t} catch( e ) {\r\n\t\tsupport.deleteExpando = false;\r\n\t}\r\n\r\n\tif ( !div.addEventListener && div.attachEvent && div.fireEvent ) {\r\n\t\tdiv.attachEvent( \"onclick\", clickFn = function() {\r\n\t\t\t// Cloning a node shouldn't copy over any\r\n\t\t\t// bound event handlers (IE does this)\r\n\t\t\tsupport.noCloneEvent = false;\r\n\t\t});\r\n\t\tdiv.cloneNode( true ).fireEvent(\"onclick\");\r\n\t\tdiv.detachEvent( \"onclick\", clickFn );\r\n\t}\r\n\r\n\t// Check if a radio maintains its value\r\n\t// after being appended to the DOM\r\n\tinput = document.createElement(\"input\");\r\n\tinput.value = \"t\";\r\n\tinput.setAttribute( \"type\", \"radio\" );\r\n\tsupport.radioValue = input.value === \"t\";\r\n\r\n\tinput.setAttribute( \"checked\", \"checked\" );\r\n\r\n\t// #11217 - WebKit loses check when the name is after the checked attribute\r\n\tinput.setAttribute( \"name\", \"t\" );\r\n\r\n\tdiv.appendChild( input );\r\n\tfragment = document.createDocumentFragment();\r\n\tfragment.appendChild( div.lastChild );\r\n\r\n\t// WebKit doesn't clone checked state correctly in fragments\r\n\tsupport.checkClone = fragment.cloneNode( true ).cloneNode( true ).lastChild.checked;\r\n\r\n\t// Check if a disconnected checkbox will retain its checked\r\n\t// value of true after appended to the DOM (IE6/7)\r\n\tsupport.appendChecked = input.checked;\r\n\r\n\tfragment.removeChild( input );\r\n\tfragment.appendChild( div );\r\n\r\n\t// Technique from Juriy Zaytsev\r\n\t// http://perfectionkills.com/detecting-event-support-without-browser-sniffing/\r\n\t// We only care about the case where non-standard event systems\r\n\t// are used, namely in IE. Short-circuiting here helps us to\r\n\t// avoid an eval call (in setAttribute) which can cause CSP\r\n\t// to go haywire. See: https://developer.mozilla.org/en/Security/CSP\r\n\tif ( div.attachEvent ) {\r\n\t\tfor ( i in {\r\n\t\t\tsubmit: true,\r\n\t\t\tchange: true,\r\n\t\t\tfocusin: true\r\n\t\t}) {\r\n\t\t\teventName = \"on\" + i;\r\n\t\t\tisSupported = ( eventName in div );\r\n\t\t\tif ( !isSupported ) {\r\n\t\t\t\tdiv.setAttribute( eventName, \"return;\" );\r\n\t\t\t\tisSupported = ( typeof div[ eventName ] === \"function\" );\r\n\t\t\t}\r\n\t\t\tsupport[ i + \"Bubbles\" ] = isSupported;\r\n\t\t}\r\n\t}\r\n\r\n\t// Run tests that need a body at doc ready\r\n\tjQuery(function() {\r\n\t\tvar container, div, tds, marginDiv,\r\n\t\t\tdivReset = \"padding:0;margin:0;border:0;display:block;overflow:hidden;\",\r\n\t\t\tbody = document.getElementsByTagName(\"body\")[0];\r\n\r\n\t\tif ( !body ) {\r\n\t\t\t// Return for frameset docs that don't have a body\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tcontainer = document.createElement(\"div\");\r\n\t\tcontainer.style.cssText = \"visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px\";\r\n\t\tbody.insertBefore( container, body.firstChild );\r\n\r\n\t\t// Construct the test element\r\n\t\tdiv = document.createElement(\"div\");\r\n\t\tcontainer.appendChild( div );\r\n\r\n\t\t// Check if table cells still have offsetWidth/Height when they are set\r\n\t\t// to display:none and there are still other visible table cells in a\r\n\t\t// table row; if so, offsetWidth/Height are not reliable for use when\r\n\t\t// determining if an element has been hidden directly using\r\n\t\t// display:none (it is still safe to use offsets if a parent element is\r\n\t\t// hidden; don safety goggles and see bug #4512 for more information).\r\n\t\t// (only IE 8 fails this test)\r\n\t\tdiv.innerHTML = \"<table><tr><td></td><td>t</td></tr></table>\";\r\n\t\ttds = div.getElementsByTagName(\"td\");\r\n\t\ttds[ 0 ].style.cssText = \"padding:0;margin:0;border:0;display:none\";\r\n\t\tisSupported = ( tds[ 0 ].offsetHeight === 0 );\r\n\r\n\t\ttds[ 0 ].style.display = \"\";\r\n\t\ttds[ 1 ].style.display = \"none\";\r\n\r\n\t\t// Check if empty table cells still have offsetWidth/Height\r\n\t\t// (IE <= 8 fail this test)\r\n\t\tsupport.reliableHiddenOffsets = isSupported && ( tds[ 0 ].offsetHeight === 0 );\r\n\r\n\t\t// Check box-sizing and margin behavior\r\n\t\tdiv.innerHTML = \"\";\r\n\t\tdiv.style.cssText = \"box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;\";\r\n\t\tsupport.boxSizing = ( div.offsetWidth === 4 );\r\n\t\tsupport.doesNotIncludeMarginInBodyOffset = ( body.offsetTop !== 1 );\r\n\r\n\t\t// NOTE: To any future maintainer, we've window.getComputedStyle\r\n\t\t// because jsdom on node.js will break without it.\r\n\t\tif ( window.getComputedStyle ) {\r\n\t\t\tsupport.pixelPosition = ( window.getComputedStyle( div, null ) || {} ).top !== \"1%\";\r\n\t\t\tsupport.boxSizingReliable = ( window.getComputedStyle( div, null ) || { width: \"4px\" } ).width === \"4px\";\r\n\r\n\t\t\t// Check if div with explicit width and no margin-right incorrectly\r\n\t\t\t// gets computed margin-right based on width of container. For more\r\n\t\t\t// info see bug #3333\r\n\t\t\t// Fails in WebKit before Feb 2011 nightlies\r\n\t\t\t// WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right\r\n\t\t\tmarginDiv = document.createElement(\"div\");\r\n\t\t\tmarginDiv.style.cssText = div.style.cssText = divReset;\r\n\t\t\tmarginDiv.style.marginRight = marginDiv.style.width = \"0\";\r\n\t\t\tdiv.style.width = \"1px\";\r\n\t\t\tdiv.appendChild( marginDiv );\r\n\t\t\tsupport.reliableMarginRight =\r\n\t\t\t\t!parseFloat( ( window.getComputedStyle( marginDiv, null ) || {} ).marginRight );\r\n\t\t}\r\n\r\n\t\tif ( typeof div.style.zoom !== \"undefined\" ) {\r\n\t\t\t// Check if natively block-level elements act like inline-block\r\n\t\t\t// elements when setting their display to 'inline' and giving\r\n\t\t\t// them layout\r\n\t\t\t// (IE < 8 does this)\r\n\t\t\tdiv.innerHTML = \"\";\r\n\t\t\tdiv.style.cssText = divReset + \"width:1px;padding:1px;display:inline;zoom:1\";\r\n\t\t\tsupport.inlineBlockNeedsLayout = ( div.offsetWidth === 3 );\r\n\r\n\t\t\t// Check if elements with layout shrink-wrap their children\r\n\t\t\t// (IE 6 does this)\r\n\t\t\tdiv.style.display = \"block\";\r\n\t\t\tdiv.style.overflow = \"visible\";\r\n\t\t\tdiv.innerHTML = \"<div></div>\";\r\n\t\t\tdiv.firstChild.style.width = \"5px\";\r\n\t\t\tsupport.shrinkWrapBlocks = ( div.offsetWidth !== 3 );\r\n\r\n\t\t\tcontainer.style.zoom = 1;\r\n\t\t}\r\n\r\n\t\t// Null elements to avoid leaks in IE\r\n\t\tbody.removeChild( container );\r\n\t\tcontainer = div = tds = marginDiv = null;\r\n\t});\r\n\r\n\t// Null elements to avoid leaks in IE\r\n\tfragment.removeChild( div );\r\n\tall = a = select = opt = input = fragment = div = null;\r\n\r\n\treturn support;\r\n})();\r\nvar rbrace = /(?:\\{[\\s\\S]*\\}|\\[[\\s\\S]*\\])$/,\r\n\trmultiDash = /([A-Z])/g;\r\n\r\njQuery.extend({\r\n\tcache: {},\r\n\r\n\tdeletedIds: [],\r\n\r\n\t// Remove at next major release (1.9/2.0)\r\n\tuuid: 0,\r\n\r\n\t// Unique for each copy of jQuery on the page\r\n\t// Non-digits removed to match rinlinejQuery\r\n\texpando: \"jQuery\" + ( jQuery.fn.jquery + Math.random() ).replace( /\\D/g, \"\" ),\r\n\r\n\t// The following elements throw uncatchable exceptions if you\r\n\t// attempt to add expando properties to them.\r\n\tnoData: {\r\n\t\t\"embed\": true,\r\n\t\t// Ban all objects except for Flash (which handle expandos)\r\n\t\t\"object\": \"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\",\r\n\t\t\"applet\": true\r\n\t},\r\n\r\n\thasData: function( elem ) {\r\n\t\telem = elem.nodeType ? jQuery.cache[ elem[jQuery.expando] ] : elem[ jQuery.expando ];\r\n\t\treturn !!elem && !isEmptyDataObject( elem );\r\n\t},\r\n\r\n\tdata: function( elem, name, data, pvt /* Internal Use Only */ ) {\r\n\t\tif ( !jQuery.acceptData( elem ) ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar thisCache, ret,\r\n\t\t\tinternalKey = jQuery.expando,\r\n\t\t\tgetByName = typeof name === \"string\",\r\n\r\n\t\t\t// We have to handle DOM nodes and JS objects differently because IE6-7\r\n\t\t\t// can't GC object references properly across the DOM-JS boundary\r\n\t\t\tisNode = elem.nodeType,\r\n\r\n\t\t\t// Only DOM nodes need the global jQuery cache; JS object data is\r\n\t\t\t// attached directly to the object so GC can occur automatically\r\n\t\t\tcache = isNode ? jQuery.cache : elem,\r\n\r\n\t\t\t// Only defining an ID for JS objects if its cache already exists allows\r\n\t\t\t// the code to shortcut on the same path as a DOM node with no cache\r\n\t\t\tid = isNode ? elem[ internalKey ] : elem[ internalKey ] && internalKey;\r\n\r\n\t\t// Avoid doing any more work than we need to when trying to get data on an\r\n\t\t// object that has no data at all\r\n\t\tif ( (!id || !cache[id] || (!pvt && !cache[id].data)) && getByName && data === undefined ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif ( !id ) {\r\n\t\t\t// Only DOM nodes need a new unique ID for each element since their data\r\n\t\t\t// ends up in the global cache\r\n\t\t\tif ( isNode ) {\r\n\t\t\t\telem[ internalKey ] = id = jQuery.deletedIds.pop() || jQuery.guid++;\r\n\t\t\t} else {\r\n\t\t\t\tid = internalKey;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif ( !cache[ id ] ) {\r\n\t\t\tcache[ id ] = {};\r\n\r\n\t\t\t// Avoids exposing jQuery metadata on plain JS objects when the object\r\n\t\t\t// is serialized using JSON.stringify\r\n\t\t\tif ( !isNode ) {\r\n\t\t\t\tcache[ id ].toJSON = jQuery.noop;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// An object can be passed to jQuery.data instead of a key/value pair; this gets\r\n\t\t// shallow copied over onto the existing cache\r\n\t\tif ( typeof name === \"object\" || typeof name === \"function\" ) {\r\n\t\t\tif ( pvt ) {\r\n\t\t\t\tcache[ id ] = jQuery.extend( cache[ id ], name );\r\n\t\t\t} else {\r\n\t\t\t\tcache[ id ].data = jQuery.extend( cache[ id ].data, name );\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthisCache = cache[ id ];\r\n\r\n\t\t// jQuery data() is stored in a separate object inside the object's internal data\r\n\t\t// cache in order to avoid key collisions between internal data and user-defined\r\n\t\t// data.\r\n\t\tif ( !pvt ) {\r\n\t\t\tif ( !thisCache.data ) {\r\n\t\t\t\tthisCache.data = {};\r\n\t\t\t}\r\n\r\n\t\t\tthisCache = thisCache.data;\r\n\t\t}\r\n\r\n\t\tif ( data !== undefined ) {\r\n\t\t\tthisCache[ jQuery.camelCase( name ) ] = data;\r\n\t\t}\r\n\r\n\t\t// Check for both converted-to-camel and non-converted data property names\r\n\t\t// If a data property was specified\r\n\t\tif ( getByName ) {\r\n\r\n\t\t\t// First Try to find as-is property data\r\n\t\t\tret = thisCache[ name ];\r\n\r\n\t\t\t// Test for null|undefined property data\r\n\t\t\tif ( ret == null ) {\r\n\r\n\t\t\t\t// Try to find the camelCased property\r\n\t\t\t\tret = thisCache[ jQuery.camelCase( name ) ];\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tret = thisCache;\r\n\t\t}\r\n\r\n\t\treturn ret;\r\n\t},\r\n\r\n\tremoveData: function( elem, name, pvt /* Internal Use Only */ ) {\r\n\t\tif ( !jQuery.acceptData( elem ) ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar thisCache, i, l,\r\n\r\n\t\t\tisNode = elem.nodeType,\r\n\r\n\t\t\t// See jQuery.data for more information\r\n\t\t\tcache = isNode ? jQuery.cache : elem,\r\n\t\t\tid = isNode ? elem[ jQuery.expando ] : jQuery.expando;\r\n\r\n\t\t// If there is already no cache entry for this object, there is no\r\n\t\t// purpose in continuing\r\n\t\tif ( !cache[ id ] ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif ( name ) {\r\n\r\n\t\t\tthisCache = pvt ? cache[ id ] : cache[ id ].data;\r\n\r\n\t\t\tif ( thisCache ) {\r\n\r\n\t\t\t\t// Support array or space separated string names for data keys\r\n\t\t\t\tif ( !jQuery.isArray( name ) ) {\r\n\r\n\t\t\t\t\t// try the string as a key before any manipulation\r\n\t\t\t\t\tif ( name in thisCache ) {\r\n\t\t\t\t\t\tname = [ name ];\r\n\t\t\t\t\t} else {\r\n\r\n\t\t\t\t\t\t// split the camel cased version by spaces unless a key with the spaces exists\r\n\t\t\t\t\t\tname = jQuery.camelCase( name );\r\n\t\t\t\t\t\tif ( name in thisCache ) {\r\n\t\t\t\t\t\t\tname = [ name ];\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tname = name.split(\" \");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tfor ( i = 0, l = name.length; i < l; i++ ) {\r\n\t\t\t\t\tdelete thisCache[ name[i] ];\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// If there is no data left in the cache, we want to continue\r\n\t\t\t\t// and let the cache object itself get destroyed\r\n\t\t\t\tif ( !( pvt ? isEmptyDataObject : jQuery.isEmptyObject )( thisCache ) ) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// See jQuery.data for more information\r\n\t\tif ( !pvt ) {\r\n\t\t\tdelete cache[ id ].data;\r\n\r\n\t\t\t// Don't destroy the parent cache unless the internal data object\r\n\t\t\t// had been the only thing left in it\r\n\t\t\tif ( !isEmptyDataObject( cache[ id ] ) ) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Destroy the cache\r\n\t\tif ( isNode ) {\r\n\t\t\tjQuery.cleanData( [ elem ], true );\r\n\r\n\t\t// Use delete when supported for expandos or `cache` is not a window per isWindow (#10080)\r\n\t\t} else if ( jQuery.support.deleteExpando || cache != cache.window ) {\r\n\t\t\tdelete cache[ id ];\r\n\r\n\t\t// When all else fails, null\r\n\t\t} else {\r\n\t\t\tcache[ id ] = null;\r\n\t\t}\r\n\t},\r\n\r\n\t// For internal use only.\r\n\t_data: function( elem, name, data ) {\r\n\t\treturn jQuery.data( elem, name, data, true );\r\n\t},\r\n\r\n\t// A method for determining if a DOM node can handle the data expando\r\n\tacceptData: function( elem ) {\r\n\t\tvar noData = elem.nodeName && jQuery.noData[ elem.nodeName.toLowerCase() ];\r\n\r\n\t\t// nodes accept data unless otherwise specified; rejection can be conditional\r\n\t\treturn !noData || noData !== true && elem.getAttribute(\"classid\") === noData;\r\n\t}\r\n});\r\n\r\njQuery.fn.extend({\r\n\tdata: function( key, value ) {\r\n\t\tvar parts, part, attr, name, l,\r\n\t\t\telem = this[0],\r\n\t\t\ti = 0,\r\n\t\t\tdata = null;\r\n\r\n\t\t// Gets all values\r\n\t\tif ( key === undefined ) {\r\n\t\t\tif ( this.length ) {\r\n\t\t\t\tdata = jQuery.data( elem );\r\n\r\n\t\t\t\tif ( elem.nodeType === 1 && !jQuery._data( elem, \"parsedAttrs\" ) ) {\r\n\t\t\t\t\tattr = elem.attributes;\r\n\t\t\t\t\tfor ( l = attr.length; i < l; i++ ) {\r\n\t\t\t\t\t\tname = attr[i].name;\r\n\r\n\t\t\t\t\t\tif ( !name.indexOf( \"data-\" ) ) {\r\n\t\t\t\t\t\t\tname = jQuery.camelCase( name.substring(5) );\r\n\r\n\t\t\t\t\t\t\tdataAttr( elem, name, data[ name ] );\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tjQuery._data( elem, \"parsedAttrs\", true );\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\treturn data;\r\n\t\t}\r\n\r\n\t\t// Sets multiple values\r\n\t\tif ( typeof key === \"object\" ) {\r\n\t\t\treturn this.each(function() {\r\n\t\t\t\tjQuery.data( this, key );\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tparts = key.split( \".\", 2 );\r\n\t\tparts[1] = parts[1] ? \".\" + parts[1] : \"\";\r\n\t\tpart = parts[1] + \"!\";\r\n\r\n\t\treturn jQuery.access( this, function( value ) {\r\n\r\n\t\t\tif ( value === undefined ) {\r\n\t\t\t\tdata = this.triggerHandler( \"getData\" + part, [ parts[0] ] );\r\n\r\n\t\t\t\t// Try to fetch any internally stored data first\r\n\t\t\t\tif ( data === undefined && elem ) {\r\n\t\t\t\t\tdata = jQuery.data( elem, key );\r\n\t\t\t\t\tdata = dataAttr( elem, key, data );\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn data === undefined && parts[1] ?\r\n\t\t\t\t\tthis.data( parts[0] ) :\r\n\t\t\t\t\tdata;\r\n\t\t\t}\r\n\r\n\t\t\tparts[1] = value;\r\n\t\t\tthis.each(function() {\r\n\t\t\t\tvar self = jQuery( this );\r\n\r\n\t\t\t\tself.triggerHandler( \"setData\" + part, parts );\r\n\t\t\t\tjQuery.data( this, key, value );\r\n\t\t\t\tself.triggerHandler( \"changeData\" + part, parts );\r\n\t\t\t});\r\n\t\t}, null, value, arguments.length > 1, null, false );\r\n\t},\r\n\r\n\tremoveData: function( key ) {\r\n\t\treturn this.each(function() {\r\n\t\t\tjQuery.removeData( this, key );\r\n\t\t});\r\n\t}\r\n});\r\n\r\nfunction dataAttr( elem, key, data ) {\r\n\t// If nothing was found internally, try to fetch any\r\n\t// data from the HTML5 data-* attribute\r\n\tif ( data === undefined && elem.nodeType === 1 ) {\r\n\r\n\t\tvar name = \"data-\" + key.replace( rmultiDash, \"-$1\" ).toLowerCase();\r\n\r\n\t\tdata = elem.getAttribute( name );\r\n\r\n\t\tif ( typeof data === \"string\" ) {\r\n\t\t\ttry {\r\n\t\t\t\tdata = data === \"true\" ? true :\r\n\t\t\t\tdata === \"false\" ? false :\r\n\t\t\t\tdata === \"null\" ? null :\r\n\t\t\t\t// Only convert to a number if it doesn't change the string\r\n\t\t\t\t+data + \"\" === data ? +data :\r\n\t\t\t\trbrace.test( data ) ? jQuery.parseJSON( data ) :\r\n\t\t\t\t\tdata;\r\n\t\t\t} catch( e ) {}\r\n\r\n\t\t\t// Make sure we set the data so it isn't changed later\r\n\t\t\tjQuery.data( elem, key, data );\r\n\r\n\t\t} else {\r\n\t\t\tdata = undefined;\r\n\t\t}\r\n\t}\r\n\r\n\treturn data;\r\n}\r\n\r\n// checks a cache object for emptiness\r\nfunction isEmptyDataObject( obj ) {\r\n\tvar name;\r\n\tfor ( name in obj ) {\r\n\r\n\t\t// if the public data object is empty, the private is still empty\r\n\t\tif ( name === \"data\" && jQuery.isEmptyObject( obj[name] ) ) {\r\n\t\t\tcontinue;\r\n\t\t}\r\n\t\tif ( name !== \"toJSON\" ) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t}\r\n\r\n\treturn true;\r\n}\r\njQuery.extend({\r\n\tqueue: function( elem, type, data ) {\r\n\t\tvar queue;\r\n\r\n\t\tif ( elem ) {\r\n\t\t\ttype = ( type || \"fx\" ) + \"queue\";\r\n\t\t\tqueue = jQuery._data( elem, type );\r\n\r\n\t\t\t// Speed up dequeue by getting out quickly if this is just a lookup\r\n\t\t\tif ( data ) {\r\n\t\t\t\tif ( !queue || jQuery.isArray(data) ) {\r\n\t\t\t\t\tqueue = jQuery._data( elem, type, jQuery.makeArray(data) );\r\n\t\t\t\t} else {\r\n\t\t\t\t\tqueue.push( data );\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn queue || [];\r\n\t\t}\r\n\t},\r\n\r\n\tdequeue: function( elem, type ) {\r\n\t\ttype = type || \"fx\";\r\n\r\n\t\tvar queue = jQuery.queue( elem, type ),\r\n\t\t\tstartLength = queue.length,\r\n\t\t\tfn = queue.shift(),\r\n\t\t\thooks = jQuery._queueHooks( elem, type ),\r\n\t\t\tnext = function() {\r\n\t\t\t\tjQuery.dequeue( elem, type );\r\n\t\t\t};\r\n\r\n\t\t// If the fx queue is dequeued, always remove the progress sentinel\r\n\t\tif ( fn === \"inprogress\" ) {\r\n\t\t\tfn = queue.shift();\r\n\t\t\tstartLength--;\r\n\t\t}\r\n\r\n\t\tif ( fn ) {\r\n\r\n\t\t\t// Add a progress sentinel to prevent the fx queue from being\r\n\t\t\t// automatically dequeued\r\n\t\t\tif ( type === \"fx\" ) {\r\n\t\t\t\tqueue.unshift( \"inprogress\" );\r\n\t\t\t}\r\n\r\n\t\t\t// clear up the last queue stop function\r\n\t\t\tdelete hooks.stop;\r\n\t\t\tfn.call( elem, next, hooks );\r\n\t\t}\r\n\r\n\t\tif ( !startLength && hooks ) {\r\n\t\t\thooks.empty.fire();\r\n\t\t}\r\n\t},\r\n\r\n\t// not intended for public consumption - generates a queueHooks object, or returns the current one\r\n\t_queueHooks: function( elem, type ) {\r\n\t\tvar key = type + \"queueHooks\";\r\n\t\treturn jQuery._data( elem, key ) || jQuery._data( elem, key, {\r\n\t\t\tempty: jQuery.Callbacks(\"once memory\").add(function() {\r\n\t\t\t\tjQuery.removeData( elem, type + \"queue\", true );\r\n\t\t\t\tjQuery.removeData( elem, key, true );\r\n\t\t\t})\r\n\t\t});\r\n\t}\r\n});\r\n\r\njQuery.fn.extend({\r\n\tqueue: function( type, data ) {\r\n\t\tvar setter = 2;\r\n\r\n\t\tif ( typeof type !== \"string\" ) {\r\n\t\t\tdata = type;\r\n\t\t\ttype = \"fx\";\r\n\t\t\tsetter--;\r\n\t\t}\r\n\r\n\t\tif ( arguments.length < setter ) {\r\n\t\t\treturn jQuery.queue( this[0], type );\r\n\t\t}\r\n\r\n\t\treturn data === undefined ?\r\n\t\t\tthis :\r\n\t\t\tthis.each(function() {\r\n\t\t\t\tvar queue = jQuery.queue( this, type, data );\r\n\r\n\t\t\t\t// ensure a hooks for this queue\r\n\t\t\t\tjQuery._queueHooks( this, type );\r\n\r\n\t\t\t\tif ( type === \"fx\" && queue[0] !== \"inprogress\" ) {\r\n\t\t\t\t\tjQuery.dequeue( this, type );\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t},\r\n\tdequeue: function( type ) {\r\n\t\treturn this.each(function() {\r\n\t\t\tjQuery.dequeue( this, type );\r\n\t\t});\r\n\t},\r\n\t// Based off of the plugin by Clint Helfers, with permission.\r\n\t// http://blindsignals.com/index.php/2009/07/jquery-delay/\r\n\tdelay: function( time, type ) {\r\n\t\ttime = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;\r\n\t\ttype = type || \"fx\";\r\n\r\n\t\treturn this.queue( type, function( next, hooks ) {\r\n\t\t\tvar timeout = setTimeout( next, time );\r\n\t\t\thooks.stop = function() {\r\n\t\t\t\tclearTimeout( timeout );\r\n\t\t\t};\r\n\t\t});\r\n\t},\r\n\tclearQueue: function( type ) {\r\n\t\treturn this.queue( type || \"fx\", [] );\r\n\t},\r\n\t// Get a promise resolved when queues of a certain type\r\n\t// are emptied (fx is the type by default)\r\n\tpromise: function( type, obj ) {\r\n\t\tvar tmp,\r\n\t\t\tcount = 1,\r\n\t\t\tdefer = jQuery.Deferred(),\r\n\t\t\telements = this,\r\n\t\t\ti = this.length,\r\n\t\t\tresolve = function() {\r\n\t\t\t\tif ( !( --count ) ) {\r\n\t\t\t\t\tdefer.resolveWith( elements, [ elements ] );\r\n\t\t\t\t}\r\n\t\t\t};\r\n\r\n\t\tif ( typeof type !== \"string\" ) {\r\n\t\t\tobj = type;\r\n\t\t\ttype = undefined;\r\n\t\t}\r\n\t\ttype = type || \"fx\";\r\n\r\n\t\twhile( i-- ) {\r\n\t\t\ttmp = jQuery._data( elements[ i ], type + \"queueHooks\" );\r\n\t\t\tif ( tmp && tmp.empty ) {\r\n\t\t\t\tcount++;\r\n\t\t\t\ttmp.empty.add( resolve );\r\n\t\t\t}\r\n\t\t}\r\n\t\tresolve();\r\n\t\treturn defer.promise( obj );\r\n\t}\r\n});\r\nvar nodeHook, boolHook, fixSpecified,\r\n\trclass = /[\\t\\r\\n]/g,\r\n\trreturn = /\\r/g,\r\n\trtype = /^(?:button|input)$/i,\r\n\trfocusable = /^(?:button|input|object|select|textarea)$/i,\r\n\trclickable = /^a(?:rea|)$/i,\r\n\trboolean = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,\r\n\tgetSetAttribute = jQuery.support.getSetAttribute;\r\n\r\njQuery.fn.extend({\r\n\tattr: function( name, value ) {\r\n\t\treturn jQuery.access( this, jQuery.attr, name, value, arguments.length > 1 );\r\n\t},\r\n\r\n\tremoveAttr: function( name ) {\r\n\t\treturn this.each(function() {\r\n\t\t\tjQuery.removeAttr( this, name );\r\n\t\t});\r\n\t},\r\n\r\n\tprop: function( name, value ) {\r\n\t\treturn jQuery.access( this, jQuery.prop, name, value, arguments.length > 1 );\r\n\t},\r\n\r\n\tremoveProp: function( name ) {\r\n\t\tname = jQuery.propFix[ name ] || name;\r\n\t\treturn this.each(function() {\r\n\t\t\t// try/catch handles cases where IE balks (such as removing a property on window)\r\n\t\t\ttry {\r\n\t\t\t\tthis[ name ] = undefined;\r\n\t\t\t\tdelete this[ name ];\r\n\t\t\t} catch( e ) {}\r\n\t\t});\r\n\t},\r\n\r\n\taddClass: function( value ) {\r\n\t\tvar classNames, i, l, elem,\r\n\t\t\tsetClass, c, cl;\r\n\r\n\t\tif ( jQuery.isFunction( value ) ) {\r\n\t\t\treturn this.each(function( j ) {\r\n\t\t\t\tjQuery( this ).addClass( value.call(this, j, this.className) );\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tif ( value && typeof value === \"string\" ) {\r\n\t\t\tclassNames = value.split( core_rspace );\r\n\r\n\t\t\tfor ( i = 0, l = this.length; i < l; i++ ) {\r\n\t\t\t\telem = this[ i ];\r\n\r\n\t\t\t\tif ( elem.nodeType === 1 ) {\r\n\t\t\t\t\tif ( !elem.className && classNames.length === 1 ) {\r\n\t\t\t\t\t\telem.className = value;\r\n\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tsetClass = \" \" + elem.className + \" \";\r\n\r\n\t\t\t\t\t\tfor ( c = 0, cl = classNames.length; c < cl; c++ ) {\r\n\t\t\t\t\t\t\tif ( setClass.indexOf( \" \" + classNames[ c ] + \" \" ) < 0 ) {\r\n\t\t\t\t\t\t\t\tsetClass += classNames[ c ] + \" \";\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telem.className = jQuery.trim( setClass );\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\t},\r\n\r\n\tremoveClass: function( value ) {\r\n\t\tvar removes, className, elem, c, cl, i, l;\r\n\r\n\t\tif ( jQuery.isFunction( value ) ) {\r\n\t\t\treturn this.each(function( j ) {\r\n\t\t\t\tjQuery( this ).removeClass( value.call(this, j, this.className) );\r\n\t\t\t});\r\n\t\t}\r\n\t\tif ( (value && typeof value === \"string\") || value === undefined ) {\r\n\t\t\tremoves = ( value || \"\" ).split( core_rspace );\r\n\r\n\t\t\tfor ( i = 0, l = this.length; i < l; i++ ) {\r\n\t\t\t\telem = this[ i ];\r\n\t\t\t\tif ( elem.nodeType === 1 && elem.className ) {\r\n\r\n\t\t\t\t\tclassName = (\" \" + elem.className + \" \").replace( rclass, \" \" );\r\n\r\n\t\t\t\t\t// loop over each item in the removal list\r\n\t\t\t\t\tfor ( c = 0, cl = removes.length; c < cl; c++ ) {\r\n\t\t\t\t\t\t// Remove until there is nothing to remove,\r\n\t\t\t\t\t\twhile ( className.indexOf(\" \" + removes[ c ] + \" \") >= 0 ) {\r\n\t\t\t\t\t\t\tclassName = className.replace( \" \" + removes[ c ] + \" \" , \" \" );\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\telem.className = value ? jQuery.trim( className ) : \"\";\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\t},\r\n\r\n\ttoggleClass: function( value, stateVal ) {\r\n\t\tvar type = typeof value,\r\n\t\t\tisBool = typeof stateVal === \"boolean\";\r\n\r\n\t\tif ( jQuery.isFunction( value ) ) {\r\n\t\t\treturn this.each(function( i ) {\r\n\t\t\t\tjQuery( this ).toggleClass( value.call(this, i, this.className, stateVal), stateVal );\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\treturn this.each(function() {\r\n\t\t\tif ( type === \"string\" ) {\r\n\t\t\t\t// toggle individual class names\r\n\t\t\t\tvar className,\r\n\t\t\t\t\ti = 0,\r\n\t\t\t\t\tself = jQuery( this ),\r\n\t\t\t\t\tstate = stateVal,\r\n\t\t\t\t\tclassNames = value.split( core_rspace );\r\n\r\n\t\t\t\twhile ( (className = classNames[ i++ ]) ) {\r\n\t\t\t\t\t// check each className given, space separated list\r\n\t\t\t\t\tstate = isBool ? state : !self.hasClass( className );\r\n\t\t\t\t\tself[ state ? \"addClass\" : \"removeClass\" ]( className );\r\n\t\t\t\t}\r\n\r\n\t\t\t} else if ( type === \"undefined\" || type === \"boolean\" ) {\r\n\t\t\t\tif ( this.className ) {\r\n\t\t\t\t\t// store className if set\r\n\t\t\t\t\tjQuery._data( this, \"__className__\", this.className );\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// toggle whole className\r\n\t\t\t\tthis.className = this.className || value === false ? \"\" : jQuery._data( this, \"__className__\" ) || \"\";\r\n\t\t\t}\r\n\t\t});\r\n\t},\r\n\r\n\thasClass: function( selector ) {\r\n\t\tvar className = \" \" + selector + \" \",\r\n\t\t\ti = 0,\r\n\t\t\tl = this.length;\r\n\t\tfor ( ; i < l; i++ ) {\r\n\t\t\tif ( this[i].nodeType === 1 && (\" \" + this[i].className + \" \").replace(rclass, \" \").indexOf( className ) >= 0 ) {\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn false;\r\n\t},\r\n\r\n\tval: function( value ) {\r\n\t\tvar hooks, ret, isFunction,\r\n\t\t\telem = this[0];\r\n\r\n\t\tif ( !arguments.length ) {\r\n\t\t\tif ( elem ) {\r\n\t\t\t\thooks = jQuery.valHooks[ elem.type ] || jQuery.valHooks[ elem.nodeName.toLowerCase() ];\r\n\r\n\t\t\t\tif ( hooks && \"get\" in hooks && (ret = hooks.get( elem, \"value\" )) !== undefined ) {\r\n\t\t\t\t\treturn ret;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tret = elem.value;\r\n\r\n\t\t\t\treturn typeof ret === \"string\" ?\r\n\t\t\t\t\t// handle most common string cases\r\n\t\t\t\t\tret.replace(rreturn, \"\") :\r\n\t\t\t\t\t// handle cases where value is null/undef or number\r\n\t\t\t\t\tret == null ? \"\" : ret;\r\n\t\t\t}\r\n\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tisFunction = jQuery.isFunction( value );\r\n\r\n\t\treturn this.each(function( i ) {\r\n\t\t\tvar val,\r\n\t\t\t\tself = jQuery(this);\r\n\r\n\t\t\tif ( this.nodeType !== 1 ) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tif ( isFunction ) {\r\n\t\t\t\tval = value.call( this, i, self.val() );\r\n\t\t\t} else {\r\n\t\t\t\tval = value;\r\n\t\t\t}\r\n\r\n\t\t\t// Treat null/undefined as \"\"; convert numbers to string\r\n\t\t\tif ( val == null ) {\r\n\t\t\t\tval = \"\";\r\n\t\t\t} else if ( typeof val === \"number\" ) {\r\n\t\t\t\tval += \"\";\r\n\t\t\t} else if ( jQuery.isArray( val ) ) {\r\n\t\t\t\tval = jQuery.map(val, function ( value ) {\r\n\t\t\t\t\treturn value == null ? \"\" : value + \"\";\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\thooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ];\r\n\r\n\t\t\t// If set returns undefined, fall back to normal setting\r\n\t\t\tif ( !hooks || !(\"set\" in hooks) || hooks.set( this, val, \"value\" ) === undefined ) {\r\n\t\t\t\tthis.value = val;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n});\r\n\r\njQuery.extend({\r\n\tvalHooks: {\r\n\t\toption: {\r\n\t\t\tget: function( elem ) {\r\n\t\t\t\t// attributes.value is undefined in Blackberry 4.7 but\r\n\t\t\t\t// uses .value. See #6932\r\n\t\t\t\tvar val = elem.attributes.value;\r\n\t\t\t\treturn !val || val.specified ? elem.value : elem.text;\r\n\t\t\t}\r\n\t\t},\r\n\t\tselect: {\r\n\t\t\tget: function( elem ) {\r\n\t\t\t\tvar value, i, max, option,\r\n\t\t\t\t\tindex = elem.selectedIndex,\r\n\t\t\t\t\tvalues = [],\r\n\t\t\t\t\toptions = elem.options,\r\n\t\t\t\t\tone = elem.type === \"select-one\";\r\n\r\n\t\t\t\t// Nothing was selected\r\n\t\t\t\tif ( index < 0 ) {\r\n\t\t\t\t\treturn null;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Loop through all the selected options\r\n\t\t\t\ti = one ? index : 0;\r\n\t\t\t\tmax = one ? index + 1 : options.length;\r\n\t\t\t\tfor ( ; i < max; i++ ) {\r\n\t\t\t\t\toption = options[ i ];\r\n\r\n\t\t\t\t\t// Don't return options that are disabled or in a disabled optgroup\r\n\t\t\t\t\tif ( option.selected && (jQuery.support.optDisabled ? !option.disabled : option.getAttribute(\"disabled\") === null) &&\r\n\t\t\t\t\t\t\t(!option.parentNode.disabled || !jQuery.nodeName( option.parentNode, \"optgroup\" )) ) {\r\n\r\n\t\t\t\t\t\t// Get the specific value for the option\r\n\t\t\t\t\t\tvalue = jQuery( option ).val();\r\n\r\n\t\t\t\t\t\t// We don't need an array for one selects\r\n\t\t\t\t\t\tif ( one ) {\r\n\t\t\t\t\t\t\treturn value;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t// Multi-Selects return an array\r\n\t\t\t\t\t\tvalues.push( value );\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Fixes Bug #2551 -- select.val() broken in IE after form.reset()\r\n\t\t\t\tif ( one && !values.length && options.length ) {\r\n\t\t\t\t\treturn jQuery( options[ index ] ).val();\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn values;\r\n\t\t\t},\r\n\r\n\t\t\tset: function( elem, value ) {\r\n\t\t\t\tvar values = jQuery.makeArray( value );\r\n\r\n\t\t\t\tjQuery(elem).find(\"option\").each(function() {\r\n\t\t\t\t\tthis.selected = jQuery.inArray( jQuery(this).val(), values ) >= 0;\r\n\t\t\t\t});\r\n\r\n\t\t\t\tif ( !values.length ) {\r\n\t\t\t\t\telem.selectedIndex = -1;\r\n\t\t\t\t}\r\n\t\t\t\treturn values;\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\t// Unused in 1.8, left in so attrFn-stabbers won't die; remove in 1.9\r\n\tattrFn: {},\r\n\r\n\tattr: function( elem, name, value, pass ) {\r\n\t\tvar ret, hooks, notxml,\r\n\t\t\tnType = elem.nodeType;\r\n\r\n\t\t// don't get/set attributes on text, comment and attribute nodes\r\n\t\tif ( !elem || nType === 3 || nType === 8 || nType === 2 ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif ( pass && jQuery.isFunction( jQuery.fn[ name ] ) ) {\r\n\t\t\treturn jQuery( elem )[ name ]( value );\r\n\t\t}\r\n\r\n\t\t// Fallback to prop when attributes are not supported\r\n\t\tif ( typeof elem.getAttribute === \"undefined\" ) {\r\n\t\t\treturn jQuery.prop( elem, name, value );\r\n\t\t}\r\n\r\n\t\tnotxml = nType !== 1 || !jQuery.isXMLDoc( elem );\r\n\r\n\t\t// All attributes are lowercase\r\n\t\t// Grab necessary hook if one is defined\r\n\t\tif ( notxml ) {\r\n\t\t\tname = name.toLowerCase();\r\n\t\t\thooks = jQuery.attrHooks[ name ] || ( rboolean.test( name ) ? boolHook : nodeHook );\r\n\t\t}\r\n\r\n\t\tif ( value !== undefined ) {\r\n\r\n\t\t\tif ( value === null ) {\r\n\t\t\t\tjQuery.removeAttr( elem, name );\r\n\t\t\t\treturn;\r\n\r\n\t\t\t} else if ( hooks && \"set\" in hooks && notxml && (ret = hooks.set( elem, value, name )) !== undefined ) {\r\n\t\t\t\treturn ret;\r\n\r\n\t\t\t} else {\r\n\t\t\t\telem.setAttribute( name, value + \"\" );\r\n\t\t\t\treturn value;\r\n\t\t\t}\r\n\r\n\t\t} else if ( hooks && \"get\" in hooks && notxml && (ret = hooks.get( elem, name )) !== null ) {\r\n\t\t\treturn ret;\r\n\r\n\t\t} else {\r\n\r\n\t\t\tret = elem.getAttribute( name );\r\n\r\n\t\t\t// Non-existent attributes return null, we normalize to undefined\r\n\t\t\treturn ret === null ?\r\n\t\t\t\tundefined :\r\n\t\t\t\tret;\r\n\t\t}\r\n\t},\r\n\r\n\tremoveAttr: function( elem, value ) {\r\n\t\tvar propName, attrNames, name, isBool,\r\n\t\t\ti = 0;\r\n\r\n\t\tif ( value && elem.nodeType === 1 ) {\r\n\r\n\t\t\tattrNames = value.split( core_rspace );\r\n\r\n\t\t\tfor ( ; i < attrNames.length; i++ ) {\r\n\t\t\t\tname = attrNames[ i ];\r\n\r\n\t\t\t\tif ( name ) {\r\n\t\t\t\t\tpropName = jQuery.propFix[ name ] || name;\r\n\t\t\t\t\tisBool = rboolean.test( name );\r\n\r\n\t\t\t\t\t// See #9699 for explanation of this approach (setting first, then removal)\r\n\t\t\t\t\t// Do not do this for boolean attributes (see #10870)\r\n\t\t\t\t\tif ( !isBool ) {\r\n\t\t\t\t\t\tjQuery.attr( elem, name, \"\" );\r\n\t\t\t\t\t}\r\n\t\t\t\t\telem.removeAttribute( getSetAttribute ? name : propName );\r\n\r\n\t\t\t\t\t// Set corresponding property to false for boolean attributes\r\n\t\t\t\t\tif ( isBool && propName in elem ) {\r\n\t\t\t\t\t\telem[ propName ] = false;\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\r\n\tattrHooks: {\r\n\t\ttype: {\r\n\t\t\tset: function( elem, value ) {\r\n\t\t\t\t// We can't allow the type property to be changed (since it causes problems in IE)\r\n\t\t\t\tif ( rtype.test( elem.nodeName ) && elem.parentNode ) {\r\n\t\t\t\t\tjQuery.error( \"type property can't be changed\" );\r\n\t\t\t\t} else if ( !jQuery.support.radioValue && value === \"radio\" && jQuery.nodeName(elem, \"input\") ) {\r\n\t\t\t\t\t// Setting the type on a radio button after the value resets the value in IE6-9\r\n\t\t\t\t\t// Reset value to it's default in case type is set after value\r\n\t\t\t\t\t// This is for element creation\r\n\t\t\t\t\tvar val = elem.value;\r\n\t\t\t\t\telem.setAttribute( \"type\", value );\r\n\t\t\t\t\tif ( val ) {\r\n\t\t\t\t\t\telem.value = val;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn value;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\t// Use the value property for back compat\r\n\t\t// Use the nodeHook for button elements in IE6/7 (#1954)\r\n\t\tvalue: {\r\n\t\t\tget: function( elem, name ) {\r\n\t\t\t\tif ( nodeHook && jQuery.nodeName( elem, \"button\" ) ) {\r\n\t\t\t\t\treturn nodeHook.get( elem, name );\r\n\t\t\t\t}\r\n\t\t\t\treturn name in elem ?\r\n\t\t\t\t\telem.value :\r\n\t\t\t\t\tnull;\r\n\t\t\t},\r\n\t\t\tset: function( elem, value, name ) {\r\n\t\t\t\tif ( nodeHook && jQuery.nodeName( elem, \"button\" ) ) {\r\n\t\t\t\t\treturn nodeHook.set( elem, value, name );\r\n\t\t\t\t}\r\n\t\t\t\t// Does not return so that setAttribute is also used\r\n\t\t\t\telem.value = value;\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\tpropFix: {\r\n\t\ttabindex: \"tabIndex\",\r\n\t\treadonly: \"readOnly\",\r\n\t\t\"for\": \"htmlFor\",\r\n\t\t\"class\": \"className\",\r\n\t\tmaxlength: \"maxLength\",\r\n\t\tcellspacing: \"cellSpacing\",\r\n\t\tcellpadding: \"cellPadding\",\r\n\t\trowspan: \"rowSpan\",\r\n\t\tcolspan: \"colSpan\",\r\n\t\tusemap: \"useMap\",\r\n\t\tframeborder: \"frameBorder\",\r\n\t\tcontenteditable: \"contentEditable\"\r\n\t},\r\n\r\n\tprop: function( elem, name, value ) {\r\n\t\tvar ret, hooks, notxml,\r\n\t\t\tnType = elem.nodeType;\r\n\r\n\t\t// don't get/set properties on text, comment and attribute nodes\r\n\t\tif ( !elem || nType === 3 || nType === 8 || nType === 2 ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tnotxml = nType !== 1 || !jQuery.isXMLDoc( elem );\r\n\r\n\t\tif ( notxml ) {\r\n\t\t\t// Fix name and attach hooks\r\n\t\t\tname = jQuery.propFix[ name ] || name;\r\n\t\t\thooks = jQuery.propHooks[ name ];\r\n\t\t}\r\n\r\n\t\tif ( value !== undefined ) {\r\n\t\t\tif ( hooks && \"set\" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) {\r\n\t\t\t\treturn ret;\r\n\r\n\t\t\t} else {\r\n\t\t\t\treturn ( elem[ name ] = value );\r\n\t\t\t}\r\n\r\n\t\t} else {\r\n\t\t\tif ( hooks && \"get\" in hooks && (ret = hooks.get( elem, name )) !== null ) {\r\n\t\t\t\treturn ret;\r\n\r\n\t\t\t} else {\r\n\t\t\t\treturn elem[ name ];\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\tpropHooks: {\r\n\t\ttabIndex: {\r\n\t\t\tget: function( elem ) {\r\n\t\t\t\t// elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set\r\n\t\t\t\t// http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/\r\n\t\t\t\tvar attributeNode = elem.getAttributeNode(\"tabindex\");\r\n\r\n\t\t\t\treturn attributeNode && attributeNode.specified ?\r\n\t\t\t\t\tparseInt( attributeNode.value, 10 ) :\r\n\t\t\t\t\trfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ?\r\n\t\t\t\t\t\t0 :\r\n\t\t\t\t\t\tundefined;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n});\r\n\r\n// Hook for boolean attributes\r\nboolHook = {\r\n\tget: function( elem, name ) {\r\n\t\t// Align boolean attributes with corresponding properties\r\n\t\t// Fall back to attribute presence where some booleans are not supported\r\n\t\tvar attrNode,\r\n\t\t\tproperty = jQuery.prop( elem, name );\r\n\t\treturn property === true || typeof property !== \"boolean\" && ( attrNode = elem.getAttributeNode(name) ) && attrNode.nodeValue !== false ?\r\n\t\t\tname.toLowerCase() :\r\n\t\t\tundefined;\r\n\t},\r\n\tset: function( elem, value, name ) {\r\n\t\tvar propName;\r\n\t\tif ( value === false ) {\r\n\t\t\t// Remove boolean attributes when set to false\r\n\t\t\tjQuery.removeAttr( elem, name );\r\n\t\t} else {\r\n\t\t\t// value is true since we know at this point it's type boolean and not false\r\n\t\t\t// Set boolean attributes to the same name and set the DOM property\r\n\t\t\tpropName = jQuery.propFix[ name ] || name;\r\n\t\t\tif ( propName in elem ) {\r\n\t\t\t\t// Only set the IDL specifically if it already exists on the element\r\n\t\t\t\telem[ propName ] = true;\r\n\t\t\t}\r\n\r\n\t\t\telem.setAttribute( name, name.toLowerCase() );\r\n\t\t}\r\n\t\treturn name;\r\n\t}\r\n};\r\n\r\n// IE6/7 do not support getting/setting some attributes with get/setAttribute\r\nif ( !getSetAttribute ) {\r\n\r\n\tfixSpecified = {\r\n\t\tname: true,\r\n\t\tid: true,\r\n\t\tcoords: true\r\n\t};\r\n\r\n\t// Use this for any attribute in IE6/7\r\n\t// This fixes almost every IE6/7 issue\r\n\tnodeHook = jQuery.valHooks.button = {\r\n\t\tget: function( elem, name ) {\r\n\t\t\tvar ret;\r\n\t\t\tret = elem.getAttributeNode( name );\r\n\t\t\treturn ret && ( fixSpecified[ name ] ? ret.value !== \"\" : ret.specified ) ?\r\n\t\t\t\tret.value :\r\n\t\t\t\tundefined;\r\n\t\t},\r\n\t\tset: function( elem, value, name ) {\r\n\t\t\t// Set the existing or create a new attribute node\r\n\t\t\tvar ret = elem.getAttributeNode( name );\r\n\t\t\tif ( !ret ) {\r\n\t\t\t\tret = document.createAttribute( name );\r\n\t\t\t\telem.setAttributeNode( ret );\r\n\t\t\t}\r\n\t\t\treturn ( ret.value = value + \"\" );\r\n\t\t}\r\n\t};\r\n\r\n\t// Set width and height to auto instead of 0 on empty string( Bug #8150 )\r\n\t// This is for removals\r\n\tjQuery.each([ \"width\", \"height\" ], function( i, name ) {\r\n\t\tjQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], {\r\n\t\t\tset: function( elem, value ) {\r\n\t\t\t\tif ( value === \"\" ) {\r\n\t\t\t\t\telem.setAttribute( name, \"auto\" );\r\n\t\t\t\t\treturn value;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n\r\n\t// Set contenteditable to false on removals(#10429)\r\n\t// Setting to empty string throws an error as an invalid value\r\n\tjQuery.attrHooks.contenteditable = {\r\n\t\tget: nodeHook.get,\r\n\t\tset: function( elem, value, name ) {\r\n\t\t\tif ( value === \"\" ) {\r\n\t\t\t\tvalue = \"false\";\r\n\t\t\t}\r\n\t\t\tnodeHook.set( elem, value, name );\r\n\t\t}\r\n\t};\r\n}\r\n\r\n\r\n// Some attributes require a special call on IE\r\nif ( !jQuery.support.hrefNormalized ) {\r\n\tjQuery.each([ \"href\", \"src\", \"width\", \"height\" ], function( i, name ) {\r\n\t\tjQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], {\r\n\t\t\tget: function( elem ) {\r\n\t\t\t\tvar ret = elem.getAttribute( name, 2 );\r\n\t\t\t\treturn ret === null ? undefined : ret;\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n}\r\n\r\nif ( !jQuery.support.style ) {\r\n\tjQuery.attrHooks.style = {\r\n\t\tget: function( elem ) {\r\n\t\t\t// Return undefined in the case of empty string\r\n\t\t\t// Normalize to lowercase since IE uppercases css property names\r\n\t\t\treturn elem.style.cssText.toLowerCase() || undefined;\r\n\t\t},\r\n\t\tset: function( elem, value ) {\r\n\t\t\treturn ( elem.style.cssText = value + \"\" );\r\n\t\t}\r\n\t};\r\n}\r\n\r\n// Safari mis-reports the default selected property of an option\r\n// Accessing the parent's selectedIndex property fixes it\r\nif ( !jQuery.support.optSelected ) {\r\n\tjQuery.propHooks.selected = jQuery.extend( jQuery.propHooks.selected, {\r\n\t\tget: function( elem ) {\r\n\t\t\tvar parent = elem.parentNode;\r\n\r\n\t\t\tif ( parent ) {\r\n\t\t\t\tparent.selectedIndex;\r\n\r\n\t\t\t\t// Make sure that it also works with optgroups, see #5701\r\n\t\t\t\tif ( parent.parentNode ) {\r\n\t\t\t\t\tparent.parentNode.selectedIndex;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn null;\r\n\t\t}\r\n\t});\r\n}\r\n\r\n// IE6/7 call enctype encoding\r\nif ( !jQuery.support.enctype ) {\r\n\tjQuery.propFix.enctype = \"encoding\";\r\n}\r\n\r\n// Radios and checkboxes getter/setter\r\nif ( !jQuery.support.checkOn ) {\r\n\tjQuery.each([ \"radio\", \"checkbox\" ], function() {\r\n\t\tjQuery.valHooks[ this ] = {\r\n\t\t\tget: function( elem ) {\r\n\t\t\t\t// Handle the case where in Webkit \"\" is returned instead of \"on\" if a value isn't specified\r\n\t\t\t\treturn elem.getAttribute(\"value\") === null ? \"on\" : elem.value;\r\n\t\t\t}\r\n\t\t};\r\n\t});\r\n}\r\njQuery.each([ \"radio\", \"checkbox\" ], function() {\r\n\tjQuery.valHooks[ this ] = jQuery.extend( jQuery.valHooks[ this ], {\r\n\t\tset: function( elem, value ) {\r\n\t\t\tif ( jQuery.isArray( value ) ) {\r\n\t\t\t\treturn ( elem.checked = jQuery.inArray( jQuery(elem).val(), value ) >= 0 );\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n});\r\nvar rformElems = /^(?:textarea|input|select)$/i,\r\n\trtypenamespace = /^([^\\.]*|)(?:\\.(.+)|)$/,\r\n\trhoverHack = /(?:^|\\s)hover(\\.\\S+|)\\b/,\r\n\trkeyEvent = /^key/,\r\n\trmouseEvent = /^(?:mouse|contextmenu)|click/,\r\n\trfocusMorph = /^(?:focusinfocus|focusoutblur)$/,\r\n\thoverHack = function( events ) {\r\n\t\treturn jQuery.event.special.hover ? events : events.replace( rhoverHack, \"mouseenter$1 mouseleave$1\" );\r\n\t};\r\n\r\n/*\r\n * Helper functions for managing events -- not part of the public interface.\r\n * Props to Dean Edwards' addEvent library for many of the ideas.\r\n */\r\njQuery.event = {\r\n\r\n\tadd: function( elem, types, handler, data, selector ) {\r\n\r\n\t\tvar elemData, eventHandle, events,\r\n\t\t\tt, tns, type, namespaces, handleObj,\r\n\t\t\thandleObjIn, handlers, special;\r\n\r\n\t\t// Don't attach events to noData or text/comment nodes (allow plain objects tho)\r\n\t\tif ( elem.nodeType === 3 || elem.nodeType === 8 || !types || !handler || !(elemData = jQuery._data( elem )) ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// Caller can pass in an object of custom data in lieu of the handler\r\n\t\tif ( handler.handler ) {\r\n\t\t\thandleObjIn = handler;\r\n\t\t\thandler = handleObjIn.handler;\r\n\t\t\tselector = handleObjIn.selector;\r\n\t\t}\r\n\r\n\t\t// Make sure that the handler has a unique ID, used to find/remove it later\r\n\t\tif ( !handler.guid ) {\r\n\t\t\thandler.guid = jQuery.guid++;\r\n\t\t}\r\n\r\n\t\t// Init the element's event structure and main handler, if this is the first\r\n\t\tevents = elemData.events;\r\n\t\tif ( !events ) {\r\n\t\t\telemData.events = events = {};\r\n\t\t}\r\n\t\teventHandle = elemData.handle;\r\n\t\tif ( !eventHandle ) {\r\n\t\t\telemData.handle = eventHandle = function( e ) {\r\n\t\t\t\t// Discard the second event of a jQuery.event.trigger() and\r\n\t\t\t\t// when an event is called after a page has unloaded\r\n\t\t\t\treturn typeof jQuery !== \"undefined\" && (!e || jQuery.event.triggered !== e.type) ?\r\n\t\t\t\t\tjQuery.event.dispatch.apply( eventHandle.elem, arguments ) :\r\n\t\t\t\t\tundefined;\r\n\t\t\t};\r\n\t\t\t// Add elem as a property of the handle fn to prevent a memory leak with IE non-native events\r\n\t\t\teventHandle.elem = elem;\r\n\t\t}\r\n\r\n\t\t// Handle multiple events separated by a space\r\n\t\t// jQuery(...).bind(\"mouseover mouseout\", fn);\r\n\t\ttypes = jQuery.trim( hoverHack(types) ).split( \" \" );\r\n\t\tfor ( t = 0; t < types.length; t++ ) {\r\n\r\n\t\t\ttns = rtypenamespace.exec( types[t] ) || [];\r\n\t\t\ttype = tns[1];\r\n\t\t\tnamespaces = ( tns[2] || \"\" ).split( \".\" ).sort();\r\n\r\n\t\t\t// If event changes its type, use the special event handlers for the changed type\r\n\t\t\tspecial = jQuery.event.special[ type ] || {};\r\n\r\n\t\t\t// If selector defined, determine special event api type, otherwise given type\r\n\t\t\ttype = ( selector ? special.delegateType : special.bindType ) || type;\r\n\r\n\t\t\t// Update special based on newly reset type\r\n\t\t\tspecial = jQuery.event.special[ type ] || {};\r\n\r\n\t\t\t// handleObj is passed to all event handlers\r\n\t\t\thandleObj = jQuery.extend({\r\n\t\t\t\ttype: type,\r\n\t\t\t\torigType: tns[1],\r\n\t\t\t\tdata: data,\r\n\t\t\t\thandler: handler,\r\n\t\t\t\tguid: handler.guid,\r\n\t\t\t\tselector: selector,\r\n\t\t\t\tneedsContext: selector && jQuery.expr.match.needsContext.test( selector ),\r\n\t\t\t\tnamespace: namespaces.join(\".\")\r\n\t\t\t}, handleObjIn );\r\n\r\n\t\t\t// Init the event handler queue if we're the first\r\n\t\t\thandlers = events[ type ];\r\n\t\t\tif ( !handlers ) {\r\n\t\t\t\thandlers = events[ type ] = [];\r\n\t\t\t\thandlers.delegateCount = 0;\r\n\r\n\t\t\t\t// Only use addEventListener/attachEvent if the special events handler returns false\r\n\t\t\t\tif ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) {\r\n\t\t\t\t\t// Bind the global event handler to the element\r\n\t\t\t\t\tif ( elem.addEventListener ) {\r\n\t\t\t\t\t\telem.addEventListener( type, eventHandle, false );\r\n\r\n\t\t\t\t\t} else if ( elem.attachEvent ) {\r\n\t\t\t\t\t\telem.attachEvent( \"on\" + type, eventHandle );\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif ( special.add ) {\r\n\t\t\t\tspecial.add.call( elem, handleObj );\r\n\r\n\t\t\t\tif ( !handleObj.handler.guid ) {\r\n\t\t\t\t\thandleObj.handler.guid = handler.guid;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// Add to the element's handler list, delegates in front\r\n\t\t\tif ( selector ) {\r\n\t\t\t\thandlers.splice( handlers.delegateCount++, 0, handleObj );\r\n\t\t\t} else {\r\n\t\t\t\thandlers.push( handleObj );\r\n\t\t\t}\r\n\r\n\t\t\t// Keep track of which events have ever been used, for event optimization\r\n\t\t\tjQuery.event.global[ type ] = true;\r\n\t\t}\r\n\r\n\t\t// Nullify elem to prevent memory leaks in IE\r\n\t\telem = null;\r\n\t},\r\n\r\n\tglobal: {},\r\n\r\n\t// Detach an event or set of events from an element\r\n\tremove: function( elem, types, handler, selector, mappedTypes ) {\r\n\r\n\t\tvar t, tns, type, origType, namespaces, origCount,\r\n\t\t\tj, events, special, eventType, handleObj,\r\n\t\t\telemData = jQuery.hasData( elem ) && jQuery._data( elem );\r\n\r\n\t\tif ( !elemData || !(events = elemData.events) ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// Once for each type.namespace in types; type may be omitted\r\n\t\ttypes = jQuery.trim( hoverHack( types || \"\" ) ).split(\" \");\r\n\t\tfor ( t = 0; t < types.length; t++ ) {\r\n\t\t\ttns = rtypenamespace.exec( types[t] ) || [];\r\n\t\t\ttype = origType = tns[1];\r\n\t\t\tnamespaces = tns[2];\r\n\r\n\t\t\t// Unbind all events (on this namespace, if provided) for the element\r\n\t\t\tif ( !type ) {\r\n\t\t\t\tfor ( type in events ) {\r\n\t\t\t\t\tjQuery.event.remove( elem, type + types[ t ], handler, selector, true );\r\n\t\t\t\t}\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\tspecial = jQuery.event.special[ type ] || {};\r\n\t\t\ttype = ( selector? special.delegateType : special.bindType ) || type;\r\n\t\t\teventType = events[ type ] || [];\r\n\t\t\torigCount = eventType.length;\r\n\t\t\tnamespaces = namespaces ? new RegExp(\"(^|\\\\.)\" + namespaces.split(\".\").sort().join(\"\\\\.(?:.*\\\\.|)\") + \"(\\\\.|$)\") : null;\r\n\r\n\t\t\t// Remove matching events\r\n\t\t\tfor ( j = 0; j < eventType.length; j++ ) {\r\n\t\t\t\thandleObj = eventType[ j ];\r\n\r\n\t\t\t\tif ( ( mappedTypes || origType === handleObj.origType ) &&\r\n\t\t\t\t\t ( !handler || handler.guid === handleObj.guid ) &&\r\n\t\t\t\t\t ( !namespaces || namespaces.test( handleObj.namespace ) ) &&\r\n\t\t\t\t\t ( !selector || selector === handleObj.selector || selector === \"**\" && handleObj.selector ) ) {\r\n\t\t\t\t\teventType.splice( j--, 1 );\r\n\r\n\t\t\t\t\tif ( handleObj.selector ) {\r\n\t\t\t\t\t\teventType.delegateCount--;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif ( special.remove ) {\r\n\t\t\t\t\t\tspecial.remove.call( elem, handleObj );\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// Remove generic event handler if we removed something and no more handlers exist\r\n\t\t\t// (avoids potential for endless recursion during removal of special event handlers)\r\n\t\t\tif ( eventType.length === 0 && origCount !== eventType.length ) {\r\n\t\t\t\tif ( !special.teardown || special.teardown.call( elem, namespaces, elemData.handle ) === false ) {\r\n\t\t\t\t\tjQuery.removeEvent( elem, type, elemData.handle );\r\n\t\t\t\t}\r\n\r\n\t\t\t\tdelete events[ type ];\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Remove the expando if it's no longer used\r\n\t\tif ( jQuery.isEmptyObject( events ) ) {\r\n\t\t\tdelete elemData.handle;\r\n\r\n\t\t\t// removeData also checks for emptiness and clears the expando if empty\r\n\t\t\t// so use it instead of delete\r\n\t\t\tjQuery.removeData( elem, \"events\", true );\r\n\t\t}\r\n\t},\r\n\r\n\t// Events that are safe to short-circuit if no handlers are attached.\r\n\t// Native DOM events should not be added, they may have inline handlers.\r\n\tcustomEvent: {\r\n\t\t\"getData\": true,\r\n\t\t\"setData\": true,\r\n\t\t\"changeData\": true\r\n\t},\r\n\r\n\ttrigger: function( event, data, elem, onlyHandlers ) {\r\n\t\t// Don't do events on text and comment nodes\r\n\t\tif ( elem && (elem.nodeType === 3 || elem.nodeType === 8) ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// Event object or event type\r\n\t\tvar cache, exclusive, i, cur, old, ontype, special, handle, eventPath, bubbleType,\r\n\t\t\ttype = event.type || event,\r\n\t\t\tnamespaces = [];\r\n\r\n\t\t// focus/blur morphs to focusin/out; ensure we're not firing them right now\r\n\t\tif ( rfocusMorph.test( type + jQuery.event.triggered ) ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif ( type.indexOf( \"!\" ) >= 0 ) {\r\n\t\t\t// Exclusive events trigger only for the exact event (no namespaces)\r\n\t\t\ttype = type.slice(0, -1);\r\n\t\t\texclusive = true;\r\n\t\t}\r\n\r\n\t\tif ( type.indexOf( \".\" ) >= 0 ) {\r\n\t\t\t// Namespaced trigger; create a regexp to match event type in handle()\r\n\t\t\tnamespaces = type.split(\".\");\r\n\t\t\ttype = namespaces.shift();\r\n\t\t\tnamespaces.sort();\r\n\t\t}\r\n\r\n\t\tif ( (!elem || jQuery.event.customEvent[ type ]) && !jQuery.event.global[ type ] ) {\r\n\t\t\t// No jQuery handlers for this event type, and it can't have inline handlers\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// Caller can pass in an Event, Object, or just an event type string\r\n\t\tevent = typeof event === \"object\" ?\r\n\t\t\t// jQuery.Event object\r\n\t\t\tevent[ jQuery.expando ] ? event :\r\n\t\t\t// Object literal\r\n\t\t\tnew jQuery.Event( type, event ) :\r\n\t\t\t// Just the event type (string)\r\n\t\t\tnew jQuery.Event( type );\r\n\r\n\t\tevent.type = type;\r\n\t\tevent.isTrigger = true;\r\n\t\tevent.exclusive = exclusive;\r\n\t\tevent.namespace = namespaces.join( \".\" );\r\n\t\tevent.namespace_re = event.namespace? new RegExp(\"(^|\\\\.)\" + namespaces.join(\"\\\\.(?:.*\\\\.|)\") + \"(\\\\.|$)\") : null;\r\n\t\tontype = type.indexOf( \":\" ) < 0 ? \"on\" + type : \"\";\r\n\r\n\t\t// Handle a global trigger\r\n\t\tif ( !elem ) {\r\n\r\n\t\t\t// TODO: Stop taunting the data cache; remove global events and always attach to document\r\n\t\t\tcache = jQuery.cache;\r\n\t\t\tfor ( i in cache ) {\r\n\t\t\t\tif ( cache[ i ].events && cache[ i ].events[ type ] ) {\r\n\t\t\t\t\tjQuery.event.trigger( event, data, cache[ i ].handle.elem, true );\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// Clean up the event in case it is being reused\r\n\t\tevent.result = undefined;\r\n\t\tif ( !event.target ) {\r\n\t\t\tevent.target = elem;\r\n\t\t}\r\n\r\n\t\t// Clone any incoming data and prepend the event, creating the handler arg list\r\n\t\tdata = data != null ? jQuery.makeArray( data ) : [];\r\n\t\tdata.unshift( event );\r\n\r\n\t\t// Allow special events to draw outside the lines\r\n\t\tspecial = jQuery.event.special[ type ] || {};\r\n\t\tif ( special.trigger && special.trigger.apply( elem, data ) === false ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// Determine event propagation path in advance, per W3C events spec (#9951)\r\n\t\t// Bubble up to document, then to window; watch for a global ownerDocument var (#9724)\r\n\t\teventPath = [[ elem, special.bindType || type ]];\r\n\t\tif ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) {\r\n\r\n\t\t\tbubbleType = special.delegateType || type;\r\n\t\t\tcur = rfocusMorph.test( bubbleType + type ) ? elem : elem.parentNode;\r\n\t\t\tfor ( old = elem; cur; cur = cur.parentNode ) {\r\n\t\t\t\teventPath.push([ cur, bubbleType ]);\r\n\t\t\t\told = cur;\r\n\t\t\t}\r\n\r\n\t\t\t// Only add window if we got to document (e.g., not plain obj or detached DOM)\r\n\t\t\tif ( old === (elem.ownerDocument || document) ) {\r\n\t\t\t\teventPath.push([ old.defaultView || old.parentWindow || window, bubbleType ]);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Fire handlers on the event path\r\n\t\tfor ( i = 0; i < eventPath.length && !event.isPropagationStopped(); i++ ) {\r\n\r\n\t\t\tcur = eventPath[i][0];\r\n\t\t\tevent.type = eventPath[i][1];\r\n\r\n\t\t\thandle = ( jQuery._data( cur, \"events\" ) || {} )[ event.type ] && jQuery._data( cur, \"handle\" );\r\n\t\t\tif ( handle ) {\r\n\t\t\t\thandle.apply( cur, data );\r\n\t\t\t}\r\n\t\t\t// Note that this is a bare JS function and not a jQuery handler\r\n\t\t\thandle = ontype && cur[ ontype ];\r\n\t\t\tif ( handle && jQuery.acceptData( cur ) && handle.apply && handle.apply( cur, data ) === false ) {\r\n\t\t\t\tevent.preventDefault();\r\n\t\t\t}\r\n\t\t}\r\n\t\tevent.type = type;\r\n\r\n\t\t// If nobody prevented the default action, do it now\r\n\t\tif ( !onlyHandlers && !event.isDefaultPrevented() ) {\r\n\r\n\t\t\tif ( (!special._default || special._default.apply( elem.ownerDocument, data ) === false) &&\r\n\t\t\t\t!(type === \"click\" && jQuery.nodeName( elem, \"a\" )) && jQuery.acceptData( elem ) ) {\r\n\r\n\t\t\t\t// Call a native DOM method on the target with the same name name as the event.\r\n\t\t\t\t// Can't use an .isFunction() check here because IE6/7 fails that test.\r\n\t\t\t\t// Don't do default actions on window, that's where global variables be (#6170)\r\n\t\t\t\t// IE<9 dies on focus/blur to hidden element (#1486)\r\n\t\t\t\tif ( ontype && elem[ type ] && ((type !== \"focus\" && type !== \"blur\") || event.target.offsetWidth !== 0) && !jQuery.isWindow( elem ) ) {\r\n\r\n\t\t\t\t\t// Don't re-trigger an onFOO event when we call its FOO() method\r\n\t\t\t\t\told = elem[ ontype ];\r\n\r\n\t\t\t\t\tif ( old ) {\r\n\t\t\t\t\t\telem[ ontype ] = null;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// Prevent re-triggering of the same event, since we already bubbled it above\r\n\t\t\t\t\tjQuery.event.triggered = type;\r\n\t\t\t\t\telem[ type ]();\r\n\t\t\t\t\tjQuery.event.triggered = undefined;\r\n\r\n\t\t\t\t\tif ( old ) {\r\n\t\t\t\t\t\telem[ ontype ] = old;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn event.result;\r\n\t},\r\n\r\n\tdispatch: function( event ) {\r\n\r\n\t\t// Make a writable jQuery.Event from the native event object\r\n\t\tevent = jQuery.event.fix( event || window.event );\r\n\r\n\t\tvar i, j, cur, ret, selMatch, matched, matches, handleObj, sel, related,\r\n\t\t\thandlers = ( (jQuery._data( this, \"events\" ) || {} )[ event.type ] || []),\r\n\t\t\tdelegateCount = handlers.delegateCount,\r\n\t\t\targs = core_slice.call( arguments ),\r\n\t\t\trun_all = !event.exclusive && !event.namespace,\r\n\t\t\tspecial = jQuery.event.special[ event.type ] || {},\r\n\t\t\thandlerQueue = [];\r\n\r\n\t\t// Use the fix-ed jQuery.Event rather than the (read-only) native event\r\n\t\targs[0] = event;\r\n\t\tevent.delegateTarget = this;\r\n\r\n\t\t// Call the preDispatch hook for the mapped type, and let it bail if desired\r\n\t\tif ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// Determine handlers that should run if there are delegated events\r\n\t\t// Avoid non-left-click bubbling in Firefox (#3861)\r\n\t\tif ( delegateCount && !(event.button && event.type === \"click\") ) {\r\n\r\n\t\t\tfor ( cur = event.target; cur != this; cur = cur.parentNode || this ) {\r\n\r\n\t\t\t\t// Don't process clicks (ONLY) on disabled elements (#6911, #8165, #11382, #11764)\r\n\t\t\t\tif ( cur.disabled !== true || event.type !== \"click\" ) {\r\n\t\t\t\t\tselMatch = {};\r\n\t\t\t\t\tmatches = [];\r\n\t\t\t\t\tfor ( i = 0; i < delegateCount; i++ ) {\r\n\t\t\t\t\t\thandleObj = handlers[ i ];\r\n\t\t\t\t\t\tsel = handleObj.selector;\r\n\r\n\t\t\t\t\t\tif ( selMatch[ sel ] === undefined ) {\r\n\t\t\t\t\t\t\tselMatch[ sel ] = handleObj.needsContext ?\r\n\t\t\t\t\t\t\t\tjQuery( sel, this ).index( cur ) >= 0 :\r\n\t\t\t\t\t\t\t\tjQuery.find( sel, this, null, [ cur ] ).length;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif ( selMatch[ sel ] ) {\r\n\t\t\t\t\t\t\tmatches.push( handleObj );\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif ( matches.length ) {\r\n\t\t\t\t\t\thandlerQueue.push({ elem: cur, matches: matches });\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Add the remaining (directly-bound) handlers\r\n\t\tif ( handlers.length > delegateCount ) {\r\n\t\t\thandlerQueue.push({ elem: this, matches: handlers.slice( delegateCount ) });\r\n\t\t}\r\n\r\n\t\t// Run delegates first; they may want to stop propagation beneath us\r\n\t\tfor ( i = 0; i < handlerQueue.length && !event.isPropagationStopped(); i++ ) {\r\n\t\t\tmatched = handlerQueue[ i ];\r\n\t\t\tevent.currentTarget = matched.elem;\r\n\r\n\t\t\tfor ( j = 0; j < matched.matches.length && !event.isImmediatePropagationStopped(); j++ ) {\r\n\t\t\t\thandleObj = matched.matches[ j ];\r\n\r\n\t\t\t\t// Triggered event must either 1) be non-exclusive and have no namespace, or\r\n\t\t\t\t// 2) have namespace(s) a subset or equal to those in the bound event (both can have no namespace).\r\n\t\t\t\tif ( run_all || (!event.namespace && !handleObj.namespace) || event.namespace_re && event.namespace_re.test( handleObj.namespace ) ) {\r\n\r\n\t\t\t\t\tevent.data = handleObj.data;\r\n\t\t\t\t\tevent.handleObj = handleObj;\r\n\r\n\t\t\t\t\tret = ( (jQuery.event.special[ handleObj.origType ] || {}).handle || handleObj.handler )\r\n\t\t\t\t\t\t\t.apply( matched.elem, args );\r\n\r\n\t\t\t\t\tif ( ret !== undefined ) {\r\n\t\t\t\t\t\tevent.result = ret;\r\n\t\t\t\t\t\tif ( ret === false ) {\r\n\t\t\t\t\t\t\tevent.preventDefault();\r\n\t\t\t\t\t\t\tevent.stopPropagation();\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}\r\n\r\n\t\t// Call the postDispatch hook for the mapped type\r\n\t\tif ( special.postDispatch ) {\r\n\t\t\tspecial.postDispatch.call( this, event );\r\n\t\t}\r\n\r\n\t\treturn event.result;\r\n\t},\r\n\r\n\t// Includes some event props shared by KeyEvent and MouseEvent\r\n\t// *** attrChange attrName relatedNode srcElement  are not normalized, non-W3C, deprecated, will be removed in 1.8 ***\r\n\tprops: \"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which\".split(\" \"),\r\n\r\n\tfixHooks: {},\r\n\r\n\tkeyHooks: {\r\n\t\tprops: \"char charCode key keyCode\".split(\" \"),\r\n\t\tfilter: function( event, original ) {\r\n\r\n\t\t\t// Add which for key events\r\n\t\t\tif ( event.which == null ) {\r\n\t\t\t\tevent.which = original.charCode != null ? original.charCode : original.keyCode;\r\n\t\t\t}\r\n\r\n\t\t\treturn event;\r\n\t\t}\r\n\t},\r\n\r\n\tmouseHooks: {\r\n\t\tprops: \"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement\".split(\" \"),\r\n\t\tfilter: function( event, original ) {\r\n\t\t\tvar eventDoc, doc, body,\r\n\t\t\t\tbutton = original.button,\r\n\t\t\t\tfromElement = original.fromElement;\r\n\r\n\t\t\t// Calculate pageX/Y if missing and clientX/Y available\r\n\t\t\tif ( event.pageX == null && original.clientX != null ) {\r\n\t\t\t\teventDoc = event.target.ownerDocument || document;\r\n\t\t\t\tdoc = eventDoc.documentElement;\r\n\t\t\t\tbody = eventDoc.body;\r\n\r\n\t\t\t\tevent.pageX = original.clientX + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - ( doc && doc.clientLeft || body && body.clientLeft || 0 );\r\n\t\t\t\tevent.pageY = original.clientY + ( doc && doc.scrollTop  || body && body.scrollTop  || 0 ) - ( doc && doc.clientTop  || body && body.clientTop  || 0 );\r\n\t\t\t}\r\n\r\n\t\t\t// Add relatedTarget, if necessary\r\n\t\t\tif ( !event.relatedTarget && fromElement ) {\r\n\t\t\t\tevent.relatedTarget = fromElement === event.target ? original.toElement : fromElement;\r\n\t\t\t}\r\n\r\n\t\t\t// Add which for click: 1 === left; 2 === middle; 3 === right\r\n\t\t\t// Note: button is not normalized, so don't use it\r\n\t\t\tif ( !event.which && button !== undefined ) {\r\n\t\t\t\tevent.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) );\r\n\t\t\t}\r\n\r\n\t\t\treturn event;\r\n\t\t}\r\n\t},\r\n\r\n\tfix: function( event ) {\r\n\t\tif ( event[ jQuery.expando ] ) {\r\n\t\t\treturn event;\r\n\t\t}\r\n\r\n\t\t// Create a writable copy of the event object and normalize some properties\r\n\t\tvar i, prop,\r\n\t\t\toriginalEvent = event,\r\n\t\t\tfixHook = jQuery.event.fixHooks[ event.type ] || {},\r\n\t\t\tcopy = fixHook.props ? this.props.concat( fixHook.props ) : this.props;\r\n\r\n\t\tevent = jQuery.Event( originalEvent );\r\n\r\n\t\tfor ( i = copy.length; i; ) {\r\n\t\t\tprop = copy[ --i ];\r\n\t\t\tevent[ prop ] = originalEvent[ prop ];\r\n\t\t}\r\n\r\n\t\t// Fix target property, if necessary (#1925, IE 6/7/8 & Safari2)\r\n\t\tif ( !event.target ) {\r\n\t\t\tevent.target = originalEvent.srcElement || document;\r\n\t\t}\r\n\r\n\t\t// Target should not be a text node (#504, Safari)\r\n\t\tif ( event.target.nodeType === 3 ) {\r\n\t\t\tevent.target = event.target.parentNode;\r\n\t\t}\r\n\r\n\t\t// For mouse/key events, metaKey==false if it's undefined (#3368, #11328; IE6/7/8)\r\n\t\tevent.metaKey = !!event.metaKey;\r\n\r\n\t\treturn fixHook.filter? fixHook.filter( event, originalEvent ) : event;\r\n\t},\r\n\r\n\tspecial: {\r\n\t\tload: {\r\n\t\t\t// Prevent triggered image.load events from bubbling to window.load\r\n\t\t\tnoBubble: true\r\n\t\t},\r\n\r\n\t\tfocus: {\r\n\t\t\tdelegateType: \"focusin\"\r\n\t\t},\r\n\t\tblur: {\r\n\t\t\tdelegateType: \"focusout\"\r\n\t\t},\r\n\r\n\t\tbeforeunload: {\r\n\t\t\tsetup: function( data, namespaces, eventHandle ) {\r\n\t\t\t\t// We only want to do this special case on windows\r\n\t\t\t\tif ( jQuery.isWindow( this ) ) {\r\n\t\t\t\t\tthis.onbeforeunload = eventHandle;\r\n\t\t\t\t}\r\n\t\t\t},\r\n\r\n\t\t\tteardown: function( namespaces, eventHandle ) {\r\n\t\t\t\tif ( this.onbeforeunload === eventHandle ) {\r\n\t\t\t\t\tthis.onbeforeunload = null;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\tsimulate: function( type, elem, event, bubble ) {\r\n\t\t// Piggyback on a donor event to simulate a different one.\r\n\t\t// Fake originalEvent to avoid donor's stopPropagation, but if the\r\n\t\t// simulated event prevents default then we do the same on the donor.\r\n\t\tvar e = jQuery.extend(\r\n\t\t\tnew jQuery.Event(),\r\n\t\t\tevent,\r\n\t\t\t{ type: type,\r\n\t\t\t\tisSimulated: true,\r\n\t\t\t\toriginalEvent: {}\r\n\t\t\t}\r\n\t\t);\r\n\t\tif ( bubble ) {\r\n\t\t\tjQuery.event.trigger( e, null, elem );\r\n\t\t} else {\r\n\t\t\tjQuery.event.dispatch.call( elem, e );\r\n\t\t}\r\n\t\tif ( e.isDefaultPrevented() ) {\r\n\t\t\tevent.preventDefault();\r\n\t\t}\r\n\t}\r\n};\r\n\r\n// Some plugins are using, but it's undocumented/deprecated and will be removed.\r\n// The 1.7 special event interface should provide all the hooks needed now.\r\njQuery.event.handle = jQuery.event.dispatch;\r\n\r\njQuery.removeEvent = document.removeEventListener ?\r\n\tfunction( elem, type, handle ) {\r\n\t\tif ( elem.removeEventListener ) {\r\n\t\t\telem.removeEventListener( type, handle, false );\r\n\t\t}\r\n\t} :\r\n\tfunction( elem, type, handle ) {\r\n\t\tvar name = \"on\" + type;\r\n\r\n\t\tif ( elem.detachEvent ) {\r\n\r\n\t\t\t// #8545, #7054, preventing memory leaks for custom events in IE6-8 –\r\n\t\t\t// detachEvent needed property on element, by name of that event, to properly expose it to GC\r\n\t\t\tif ( typeof elem[ name ] === \"undefined\" ) {\r\n\t\t\t\telem[ name ] = null;\r\n\t\t\t}\r\n\r\n\t\t\telem.detachEvent( name, handle );\r\n\t\t}\r\n\t};\r\n\r\njQuery.Event = function( src, props ) {\r\n\t// Allow instantiation without the 'new' keyword\r\n\tif ( !(this instanceof jQuery.Event) ) {\r\n\t\treturn new jQuery.Event( src, props );\r\n\t}\r\n\r\n\t// Event object\r\n\tif ( src && src.type ) {\r\n\t\tthis.originalEvent = src;\r\n\t\tthis.type = src.type;\r\n\r\n\t\t// Events bubbling up the document may have been marked as prevented\r\n\t\t// by a handler lower down the tree; reflect the correct value.\r\n\t\tthis.isDefaultPrevented = ( src.defaultPrevented || src.returnValue === false ||\r\n\t\t\tsrc.getPreventDefault && src.getPreventDefault() ) ? returnTrue : returnFalse;\r\n\r\n\t// Event type\r\n\t} else {\r\n\t\tthis.type = src;\r\n\t}\r\n\r\n\t// Put explicitly provided properties onto the event object\r\n\tif ( props ) {\r\n\t\tjQuery.extend( this, props );\r\n\t}\r\n\r\n\t// Create a timestamp if incoming event doesn't have one\r\n\tthis.timeStamp = src && src.timeStamp || jQuery.now();\r\n\r\n\t// Mark it as fixed\r\n\tthis[ jQuery.expando ] = true;\r\n};\r\n\r\nfunction returnFalse() {\r\n\treturn false;\r\n}\r\nfunction returnTrue() {\r\n\treturn true;\r\n}\r\n\r\n// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding\r\n// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html\r\njQuery.Event.prototype = {\r\n\tpreventDefault: function() {\r\n\t\tthis.isDefaultPrevented = returnTrue;\r\n\r\n\t\tvar e = this.originalEvent;\r\n\t\tif ( !e ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// if preventDefault exists run it on the original event\r\n\t\tif ( e.preventDefault ) {\r\n\t\t\te.preventDefault();\r\n\r\n\t\t// otherwise set the returnValue property of the original event to false (IE)\r\n\t\t} else {\r\n\t\t\te.returnValue = false;\r\n\t\t}\r\n\t},\r\n\tstopPropagation: function() {\r\n\t\tthis.isPropagationStopped = returnTrue;\r\n\r\n\t\tvar e = this.originalEvent;\r\n\t\tif ( !e ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\t// if stopPropagation exists run it on the original event\r\n\t\tif ( e.stopPropagation ) {\r\n\t\t\te.stopPropagation();\r\n\t\t}\r\n\t\t// otherwise set the cancelBubble property of the original event to true (IE)\r\n\t\te.cancelBubble = true;\r\n\t},\r\n\tstopImmediatePropagation: function() {\r\n\t\tthis.isImmediatePropagationStopped = returnTrue;\r\n\t\tthis.stopPropagation();\r\n\t},\r\n\tisDefaultPrevented: returnFalse,\r\n\tisPropagationStopped: returnFalse,\r\n\tisImmediatePropagationStopped: returnFalse\r\n};\r\n\r\n// Create mouseenter/leave events using mouseover/out and event-time checks\r\njQuery.each({\r\n\tmouseenter: \"mouseover\",\r\n\tmouseleave: \"mouseout\"\r\n}, function( orig, fix ) {\r\n\tjQuery.event.special[ orig ] = {\r\n\t\tdelegateType: fix,\r\n\t\tbindType: fix,\r\n\r\n\t\thandle: function( event ) {\r\n\t\t\tvar ret,\r\n\t\t\t\ttarget = this,\r\n\t\t\t\trelated = event.relatedTarget,\r\n\t\t\t\thandleObj = event.handleObj,\r\n\t\t\t\tselector = handleObj.selector;\r\n\r\n\t\t\t// For mousenter/leave call the handler if related is outside the target.\r\n\t\t\t// NB: No relatedTarget if the mouse left/entered the browser window\r\n\t\t\tif ( !related || (related !== target && !jQuery.contains( target, related )) ) {\r\n\t\t\t\tevent.type = handleObj.origType;\r\n\t\t\t\tret = handleObj.handler.apply( this, arguments );\r\n\t\t\t\tevent.type = fix;\r\n\t\t\t}\r\n\t\t\treturn ret;\r\n\t\t}\r\n\t};\r\n});\r\n\r\n// IE submit delegation\r\nif ( !jQuery.support.submitBubbles ) {\r\n\r\n\tjQuery.event.special.submit = {\r\n\t\tsetup: function() {\r\n\t\t\t// Only need this for delegated form submit events\r\n\t\t\tif ( jQuery.nodeName( this, \"form\" ) ) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\r\n\t\t\t// Lazy-add a submit handler when a descendant form may potentially be submitted\r\n\t\t\tjQuery.event.add( this, \"click._submit keypress._submit\", function( e ) {\r\n\t\t\t\t// Node name check avoids a VML-related crash in IE (#9807)\r\n\t\t\t\tvar elem = e.target,\r\n\t\t\t\t\tform = jQuery.nodeName( elem, \"input\" ) || jQuery.nodeName( elem, \"button\" ) ? elem.form : undefined;\r\n\t\t\t\tif ( form && !jQuery._data( form, \"_submit_attached\" ) ) {\r\n\t\t\t\t\tjQuery.event.add( form, \"submit._submit\", function( event ) {\r\n\t\t\t\t\t\tevent._submit_bubble = true;\r\n\t\t\t\t\t});\r\n\t\t\t\t\tjQuery._data( form, \"_submit_attached\", true );\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\t// return undefined since we don't need an event listener\r\n\t\t},\r\n\r\n\t\tpostDispatch: function( event ) {\r\n\t\t\t// If form was submitted by the user, bubble the event up the tree\r\n\t\t\tif ( event._submit_bubble ) {\r\n\t\t\t\tdelete event._submit_bubble;\r\n\t\t\t\tif ( this.parentNode && !event.isTrigger ) {\r\n\t\t\t\t\tjQuery.event.simulate( \"submit\", this.parentNode, event, true );\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tteardown: function() {\r\n\t\t\t// Only need this for delegated form submit events\r\n\t\t\tif ( jQuery.nodeName( this, \"form\" ) ) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\r\n\t\t\t// Remove delegated handlers; cleanData eventually reaps submit handlers attached above\r\n\t\t\tjQuery.event.remove( this, \"._submit\" );\r\n\t\t}\r\n\t};\r\n}\r\n\r\n// IE change delegation and checkbox/radio fix\r\nif ( !jQuery.support.changeBubbles ) {\r\n\r\n\tjQuery.event.special.change = {\r\n\r\n\t\tsetup: function() {\r\n\r\n\t\t\tif ( rformElems.test( this.nodeName ) ) {\r\n\t\t\t\t// IE doesn't fire change on a check/radio until blur; trigger it on click\r\n\t\t\t\t// after a propertychange. Eat the blur-change in special.change.handle.\r\n\t\t\t\t// This still fires onchange a second time for check/radio after blur.\r\n\t\t\t\tif ( this.type === \"checkbox\" || this.type === \"radio\" ) {\r\n\t\t\t\t\tjQuery.event.add( this, \"propertychange._change\", function( event ) {\r\n\t\t\t\t\t\tif ( event.originalEvent.propertyName === \"checked\" ) {\r\n\t\t\t\t\t\t\tthis._just_changed = true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t\tjQuery.event.add( this, \"click._change\", function( event ) {\r\n\t\t\t\t\t\tif ( this._just_changed && !event.isTrigger ) {\r\n\t\t\t\t\t\t\tthis._just_changed = false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t// Allow triggered, simulated change events (#11500)\r\n\t\t\t\t\t\tjQuery.event.simulate( \"change\", this, event, true );\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\t// Delegated event; lazy-add a change handler on descendant inputs\r\n\t\t\tjQuery.event.add( this, \"beforeactivate._change\", function( e ) {\r\n\t\t\t\tvar elem = e.target;\r\n\r\n\t\t\t\tif ( rformElems.test( elem.nodeName ) && !jQuery._data( elem, \"_change_attached\" ) ) {\r\n\t\t\t\t\tjQuery.event.add( elem, \"change._change\", function( event ) {\r\n\t\t\t\t\t\tif ( this.parentNode && !event.isSimulated && !event.isTrigger ) {\r\n\t\t\t\t\t\t\tjQuery.event.simulate( \"change\", this.parentNode, event, true );\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t\tjQuery._data( elem, \"_change_attached\", true );\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t},\r\n\r\n\t\thandle: function( event ) {\r\n\t\t\tvar elem = event.target;\r\n\r\n\t\t\t// Swallow native change events from checkbox/radio, we already triggered them above\r\n\t\t\tif ( this !== elem || event.isSimulated || event.isTrigger || (elem.type !== \"radio\" && elem.type !== \"checkbox\") ) {\r\n\t\t\t\treturn event.handleObj.handler.apply( this, arguments );\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tteardown: function() {\r\n\t\t\tjQuery.event.remove( this, \"._change\" );\r\n\r\n\t\t\treturn !rformElems.test( this.nodeName );\r\n\t\t}\r\n\t};\r\n}\r\n\r\n// Create \"bubbling\" focus and blur events\r\nif ( !jQuery.support.focusinBubbles ) {\r\n\tjQuery.each({ focus: \"focusin\", blur: \"focusout\" }, function( orig, fix ) {\r\n\r\n\t\t// Attach a single capturing handler while someone wants focusin/focusout\r\n\t\tvar attaches = 0,\r\n\t\t\thandler = function( event ) {\r\n\t\t\t\tjQuery.event.simulate( fix, event.target, jQuery.event.fix( event ), true );\r\n\t\t\t};\r\n\r\n\t\tjQuery.event.special[ fix ] = {\r\n\t\t\tsetup: function() {\r\n\t\t\t\tif ( attaches++ === 0 ) {\r\n\t\t\t\t\tdocument.addEventListener( orig, handler, true );\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tteardown: function() {\r\n\t\t\t\tif ( --attaches === 0 ) {\r\n\t\t\t\t\tdocument.removeEventListener( orig, handler, true );\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t};\r\n\t});\r\n}\r\n\r\njQuery.fn.extend({\r\n\r\n\ton: function( types, selector, data, fn, /*INTERNAL*/ one ) {\r\n\t\tvar origFn, type;\r\n\r\n\t\t// Types can be a map of types/handlers\r\n\t\tif ( typeof types === \"object\" ) {\r\n\t\t\t// ( types-Object, selector, data )\r\n\t\t\tif ( typeof selector !== \"string\" ) { // && selector != null\r\n\t\t\t\t// ( types-Object, data )\r\n\t\t\t\tdata = data || selector;\r\n\t\t\t\tselector = undefined;\r\n\t\t\t}\r\n\t\t\tfor ( type in types ) {\r\n\t\t\t\tthis.on( type, selector, data, types[ type ], one );\r\n\t\t\t}\r\n\t\t\treturn this;\r\n\t\t}\r\n\r\n\t\tif ( data == null && fn == null ) {\r\n\t\t\t// ( types, fn )\r\n\t\t\tfn = selector;\r\n\t\t\tdata = selector = undefined;\r\n\t\t} else if ( fn == null ) {\r\n\t\t\tif ( typeof selector === \"string\" ) {\r\n\t\t\t\t// ( types, selector, fn )\r\n\t\t\t\tfn = data;\r\n\t\t\t\tdata = undefined;\r\n\t\t\t} else {\r\n\t\t\t\t// ( types, data, fn )\r\n\t\t\t\tfn = data;\r\n\t\t\t\tdata = selector;\r\n\t\t\t\tselector = undefined;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif ( fn === false ) {\r\n\t\t\tfn = returnFalse;\r\n\t\t} else if ( !fn ) {\r\n\t\t\treturn this;\r\n\t\t}\r\n\r\n\t\tif ( one === 1 ) {\r\n\t\t\torigFn = fn;\r\n\t\t\tfn = function( event ) {\r\n\t\t\t\t// Can use an empty set, since event contains the info\r\n\t\t\t\tjQuery().off( event );\r\n\t\t\t\treturn origFn.apply( this, arguments );\r\n\t\t\t};\r\n\t\t\t// Use same guid so caller can remove using origFn\r\n\t\t\tfn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );\r\n\t\t}\r\n\t\treturn this.each( function() {\r\n\t\t\tjQuery.event.add( this, types, fn, data, selector );\r\n\t\t});\r\n\t},\r\n\tone: function( types, selector, data, fn ) {\r\n\t\treturn this.on( types, selector, data, fn, 1 );\r\n\t},\r\n\toff: function( types, selector, fn ) {\r\n\t\tvar handleObj, type;\r\n\t\tif ( types && types.preventDefault && types.handleObj ) {\r\n\t\t\t// ( event )  dispatched jQuery.Event\r\n\t\t\thandleObj = types.handleObj;\r\n\t\t\tjQuery( types.delegateTarget ).off(\r\n\t\t\t\thandleObj.namespace ? handleObj.origType + \".\" + handleObj.namespace : handleObj.origType,\r\n\t\t\t\thandleObj.selector,\r\n\t\t\t\thandleObj.handler\r\n\t\t\t);\r\n\t\t\treturn this;\r\n\t\t}\r\n\t\tif ( typeof types === \"object\" ) {\r\n\t\t\t// ( types-object [, selector] )\r\n\t\t\tfor ( type in types ) {\r\n\t\t\t\tthis.off( type, selector, types[ type ] );\r\n\t\t\t}\r\n\t\t\treturn this;\r\n\t\t}\r\n\t\tif ( selector === false || typeof selector === \"function\" ) {\r\n\t\t\t// ( types [, fn] )\r\n\t\t\tfn = selector;\r\n\t\t\tselector = undefined;\r\n\t\t}\r\n\t\tif ( fn === false ) {\r\n\t\t\tfn = returnFalse;\r\n\t\t}\r\n\t\treturn this.each(function() {\r\n\t\t\tjQuery.event.remove( this, types, fn, selector );\r\n\t\t});\r\n\t},\r\n\r\n\tbind: function( types, data, fn ) {\r\n\t\treturn this.on( types, null, data, fn );\r\n\t},\r\n\tunbind: function( types, fn ) {\r\n\t\treturn this.off( types, null, fn );\r\n\t},\r\n\r\n\tlive: function( types, data, fn ) {\r\n\t\tjQuery( this.context ).on( types, this.selector, data, fn );\r\n\t\treturn this;\r\n\t},\r\n\tdie: function( types, fn ) {\r\n\t\tjQuery( this.context ).off( types, this.selector || \"**\", fn );\r\n\t\treturn this;\r\n\t},\r\n\r\n\tdelegate: function( selector, types, data, fn ) {\r\n\t\treturn this.on( types, selector, data, fn );\r\n\t},\r\n\tundelegate: function( selector, types, fn ) {\r\n\t\t// ( namespace ) or ( selector, types [, fn] )\r\n\t\treturn arguments.length === 1 ? this.off( selector, \"**\" ) : this.off( types, selector || \"**\", fn );\r\n\t},\r\n\r\n\ttrigger: function( type, data ) {\r\n\t\treturn this.each(function() {\r\n\t\t\tjQuery.event.trigger( type, data, this );\r\n\t\t});\r\n\t},\r\n\ttriggerHandler: function( type, data ) {\r\n\t\tif ( this[0] ) {\r\n\t\t\treturn jQuery.event.trigger( type, data, this[0], true );\r\n\t\t}\r\n\t},\r\n\r\n\ttoggle: function( fn ) {\r\n\t\t// Save reference to arguments for access in closure\r\n\t\tvar args = arguments,\r\n\t\t\tguid = fn.guid || jQuery.guid++,\r\n\t\t\ti = 0,\r\n\t\t\ttoggler = function( event ) {\r\n\t\t\t\t// Figure out which function to execute\r\n\t\t\t\tvar lastToggle = ( jQuery._data( this, \"lastToggle\" + fn.guid ) || 0 ) % i;\r\n\t\t\t\tjQuery._data( this, \"lastToggle\" + fn.guid, lastToggle + 1 );\r\n\r\n\t\t\t\t// Make sure that clicks stop\r\n\t\t\t\tevent.preventDefault();\r\n\r\n\t\t\t\t// and execute the function\r\n\t\t\t\treturn args[ lastToggle ].apply( this, arguments ) || false;\r\n\t\t\t};\r\n\r\n\t\t// link all the functions, so any of them can unbind this click handler\r\n\t\ttoggler.guid = guid;\r\n\t\twhile ( i < args.length ) {\r\n\t\t\targs[ i++ ].guid = guid;\r\n\t\t}\r\n\r\n\t\treturn this.click( toggler );\r\n\t},\r\n\r\n\thover: function( fnOver, fnOut ) {\r\n\t\treturn this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );\r\n\t}\r\n});\r\n\r\njQuery.each( (\"blur focus focusin focusout load resize scroll unload click dblclick \" +\r\n\t\"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave \" +\r\n\t\"change select submit keydown keypress keyup error contextmenu\").split(\" \"), function( i, name ) {\r\n\r\n\t// Handle event binding\r\n\tjQuery.fn[ name ] = function( data, fn ) {\r\n\t\tif ( fn == null ) {\r\n\t\t\tfn = data;\r\n\t\t\tdata = null;\r\n\t\t}\r\n\r\n\t\treturn arguments.length > 0 ?\r\n\t\t\tthis.on( name, null, data, fn ) :\r\n\t\t\tthis.trigger( name );\r\n\t};\r\n\r\n\tif ( rkeyEvent.test( name ) ) {\r\n\t\tjQuery.event.fixHooks[ name ] = jQuery.event.keyHooks;\r\n\t}\r\n\r\n\tif ( rmouseEvent.test( name ) ) {\r\n\t\tjQuery.event.fixHooks[ name ] = jQuery.event.mouseHooks;\r\n\t}\r\n});\r\n/*!\r\n * Sizzle CSS Selector Engine\r\n * Copyright 2012 jQuery Foundation and other contributors\r\n * Released under the MIT license\r\n * http://sizzlejs.com/\r\n */\r\n(function( window, undefined ) {\r\n\r\nvar cachedruns,\r\n\tassertGetIdNotName,\r\n\tExpr,\r\n\tgetText,\r\n\tisXML,\r\n\tcontains,\r\n\tcompile,\r\n\tsortOrder,\r\n\thasDuplicate,\r\n\toutermostContext,\r\n\r\n\tbaseHasDuplicate = true,\r\n\tstrundefined = \"undefined\",\r\n\r\n\texpando = ( \"sizcache\" + Math.random() ).replace( \".\", \"\" ),\r\n\r\n\tToken = String,\r\n\tdocument = window.document,\r\n\tdocElem = document.documentElement,\r\n\tdirruns = 0,\r\n\tdone = 0,\r\n\tpop = [].pop,\r\n\tpush = [].push,\r\n\tslice = [].slice,\r\n\t// Use a stripped-down indexOf if a native one is unavailable\r\n\tindexOf = [].indexOf || function( elem ) {\r\n\t\tvar i = 0,\r\n\t\t\tlen = this.length;\r\n\t\tfor ( ; i < len; i++ ) {\r\n\t\t\tif ( this[i] === elem ) {\r\n\t\t\t\treturn i;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn -1;\r\n\t},\r\n\r\n\t// Augment a function for special use by Sizzle\r\n\tmarkFunction = function( fn, value ) {\r\n\t\tfn[ expando ] = value == null || value;\r\n\t\treturn fn;\r\n\t},\r\n\r\n\tcreateCache = function() {\r\n\t\tvar cache = {},\r\n\t\t\tkeys = [];\r\n\r\n\t\treturn markFunction(function( key, value ) {\r\n\t\t\t// Only keep the most recent entries\r\n\t\t\tif ( keys.push( key ) > Expr.cacheLength ) {\r\n\t\t\t\tdelete cache[ keys.shift() ];\r\n\t\t\t}\r\n\r\n\t\t\treturn (cache[ key ] = value);\r\n\t\t}, cache );\r\n\t},\r\n\r\n\tclassCache = createCache(),\r\n\ttokenCache = createCache(),\r\n\tcompilerCache = createCache(),\r\n\r\n\t// Regex\r\n\r\n\t// Whitespace characters http://www.w3.org/TR/css3-selectors/#whitespace\r\n\twhitespace = \"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\",\r\n\t// http://www.w3.org/TR/css3-syntax/#characters\r\n\tcharacterEncoding = \"(?:\\\\\\\\.|[-\\\\w]|[^\\\\x00-\\\\xa0])+\",\r\n\r\n\t// Loosely modeled on CSS identifier characters\r\n\t// An unquoted value should be a CSS identifier (http://www.w3.org/TR/css3-selectors/#attribute-selectors)\r\n\t// Proper syntax: http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier\r\n\tidentifier = characterEncoding.replace( \"w\", \"w#\" ),\r\n\r\n\t// Acceptable operators http://www.w3.org/TR/selectors/#attribute-selectors\r\n\toperators = \"([*^$|!~]?=)\",\r\n\tattributes = \"\\\\[\" + whitespace + \"*(\" + characterEncoding + \")\" + whitespace +\r\n\t\t\"*(?:\" + operators + whitespace + \"*(?:(['\\\"])((?:\\\\\\\\.|[^\\\\\\\\])*?)\\\\3|(\" + identifier + \")|)|)\" + whitespace + \"*\\\\]\",\r\n\r\n\t// Prefer arguments not in parens/brackets,\r\n\t//   then attribute selectors and non-pseudos (denoted by :),\r\n\t//   then anything else\r\n\t// These preferences are here to reduce the number of selectors\r\n\t//   needing tokenize in the PSEUDO preFilter\r\n\tpseudos = \":(\" + characterEncoding + \")(?:\\\\((?:(['\\\"])((?:\\\\\\\\.|[^\\\\\\\\])*?)\\\\2|([^()[\\\\]]*|(?:(?:\" + attributes + \")|[^:]|\\\\\\\\.)*|.*))\\\\)|)\",\r\n\r\n\t// For matchExpr.POS and matchExpr.needsContext\r\n\tpos = \":(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\" + whitespace +\r\n\t\t\"*((?:-\\\\d)?\\\\d*)\" + whitespace + \"*\\\\)|)(?=[^-]|$)\",\r\n\r\n\t// Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter\r\n\trtrim = new RegExp( \"^\" + whitespace + \"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\" + whitespace + \"+$\", \"g\" ),\r\n\r\n\trcomma = new RegExp( \"^\" + whitespace + \"*,\" + whitespace + \"*\" ),\r\n\trcombinators = new RegExp( \"^\" + whitespace + \"*([\\\\x20\\\\t\\\\r\\\\n\\\\f>+~])\" + whitespace + \"*\" ),\r\n\trpseudo = new RegExp( pseudos ),\r\n\r\n\t// Easily-parseable/retrievable ID or TAG or CLASS selectors\r\n\trquickExpr = /^(?:#([\\w\\-]+)|(\\w+)|\\.([\\w\\-]+))$/,\r\n\r\n\trnot = /^:not/,\r\n\trsibling = /[\\x20\\t\\r\\n\\f]*[+~]/,\r\n\trendsWithNot = /:not\\($/,\r\n\r\n\trheader = /h\\d/i,\r\n\trinputs = /input|select|textarea|button/i,\r\n\r\n\trbackslash = /\\\\(?!\\\\)/g,\r\n\r\n\tmatchExpr = {\r\n\t\t\"ID\": new RegExp( \"^#(\" + characterEncoding + \")\" ),\r\n\t\t\"CLASS\": new RegExp( \"^\\\\.(\" + characterEncoding + \")\" ),\r\n\t\t\"NAME\": new RegExp( \"^\\\\[name=['\\\"]?(\" + characterEncoding + \")['\\\"]?\\\\]\" ),\r\n\t\t\"TAG\": new RegExp( \"^(\" + characterEncoding.replace( \"w\", \"w*\" ) + \")\" ),\r\n\t\t\"ATTR\": new RegExp( \"^\" + attributes ),\r\n\t\t\"PSEUDO\": new RegExp( \"^\" + pseudos ),\r\n\t\t\"POS\": new RegExp( pos, \"i\" ),\r\n\t\t\"CHILD\": new RegExp( \"^:(only|nth|first|last)-child(?:\\\\(\" + whitespace +\r\n\t\t\t\"*(even|odd|(([+-]|)(\\\\d*)n|)\" + whitespace + \"*(?:([+-]|)\" + whitespace +\r\n\t\t\t\"*(\\\\d+)|))\" + whitespace + \"*\\\\)|)\", \"i\" ),\r\n\t\t// For use in libraries implementing .is()\r\n\t\t\"needsContext\": new RegExp( \"^\" + whitespace + \"*[>+~]|\" + pos, \"i\" )\r\n\t},\r\n\r\n\t// Support\r\n\r\n\t// Used for testing something on an element\r\n\tassert = function( fn ) {\r\n\t\tvar div = document.createElement(\"div\");\r\n\r\n\t\ttry {\r\n\t\t\treturn fn( div );\r\n\t\t} catch (e) {\r\n\t\t\treturn false;\r\n\t\t} finally {\r\n\t\t\t// release memory in IE\r\n\t\t\tdiv = null;\r\n\t\t}\r\n\t},\r\n\r\n\t// Check if getElementsByTagName(\"*\") returns only elements\r\n\tassertTagNameNoComments = assert(function( div ) {\r\n\t\tdiv.appendChild( document.createComment(\"\") );\r\n\t\treturn !div.getElementsByTagName(\"*\").length;\r\n\t}),\r\n\r\n\t// Check if getAttribute returns normalized href attributes\r\n\tassertHrefNotNormalized = assert(function( div ) {\r\n\t\tdiv.innerHTML = \"<a href='#'></a>\";\r\n\t\treturn div.firstChild && typeof div.firstChild.getAttribute !== strundefined &&\r\n\t\t\tdiv.firstChild.getAttribute(\"href\") === \"#\";\r\n\t}),\r\n\r\n\t// Check if attributes should be retrieved by attribute nodes\r\n\tassertAttributes = assert(function( div ) {\r\n\t\tdiv.innerHTML = \"<select></select>\";\r\n\t\tvar type = typeof div.lastChild.getAttribute(\"multiple\");\r\n\t\t// IE8 returns a string for some attributes even when not present\r\n\t\treturn type !== \"boolean\" && type !== \"string\";\r\n\t}),\r\n\r\n\t// Check if getElementsByClassName can be trusted\r\n\tassertUsableClassName = assert(function( div ) {\r\n\t\t// Opera can't find a second classname (in 9.6)\r\n\t\tdiv.innerHTML = \"<div class='hidden e'></div><div class='hidden'></div>\";\r\n\t\tif ( !div.getElementsByClassName || !div.getElementsByClassName(\"e\").length ) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\t// Safari 3.2 caches class attributes and doesn't catch changes\r\n\t\tdiv.lastChild.className = \"e\";\r\n\t\treturn div.getElementsByClassName(\"e\").length === 2;\r\n\t}),\r\n\r\n\t// Check if getElementById returns elements by name\r\n\t// Check if getElementsByName privileges form controls or returns elements by ID\r\n\tassertUsableName = assert(function( div ) {\r\n\t\t// Inject content\r\n\t\tdiv.id = expando + 0;\r\n\t\tdiv.innerHTML = \"<a name='\" + expando + \"'></a><div name='\" + expando + \"'></div>\";\r\n\t\tdocElem.insertBefore( div, docElem.firstChild );\r\n\r\n\t\t// Test\r\n\t\tvar pass = document.getElementsByName &&\r\n\t\t\t// buggy browsers will return fewer than the correct 2\r\n\t\t\tdocument.getElementsByName( expando ).length === 2 +\r\n\t\t\t// buggy browsers will return more than the correct 0\r\n\t\t\tdocument.getElementsByName( expando + 0 ).length;\r\n\t\tassertGetIdNotName = !document.getElementById( expando );\r\n\r\n\t\t// Cleanup\r\n\t\tdocElem.removeChild( div );\r\n\r\n\t\treturn pass;\r\n\t});\r\n\r\n// If slice is not available, provide a backup\r\ntry {\r\n\tslice.call( docElem.childNodes, 0 )[0].nodeType;\r\n} catch ( e ) {\r\n\tslice = function( i ) {\r\n\t\tvar elem,\r\n\t\t\tresults = [];\r\n\t\tfor ( ; (elem = this[i]); i++ ) {\r\n\t\t\tresults.push( elem );\r\n\t\t}\r\n\t\treturn results;\r\n\t};\r\n}\r\n\r\nfunction Sizzle( selector, context, results, seed ) {\r\n\tresults = results || [];\r\n\tcontext = context || document;\r\n\tvar match, elem, xml, m,\r\n\t\tnodeType = context.nodeType;\r\n\r\n\tif ( !selector || typeof selector !== \"string\" ) {\r\n\t\treturn results;\r\n\t}\r\n\r\n\tif ( nodeType !== 1 && nodeType !== 9 ) {\r\n\t\treturn [];\r\n\t}\r\n\r\n\txml = isXML( context );\r\n\r\n\tif ( !xml && !seed ) {\r\n\t\tif ( (match = rquickExpr.exec( selector )) ) {\r\n\t\t\t// Speed-up: Sizzle(\"#ID\")\r\n\t\t\tif ( (m = match[1]) ) {\r\n\t\t\t\tif ( nodeType === 9 ) {\r\n\t\t\t\t\telem = context.getElementById( m );\r\n\t\t\t\t\t// Check parentNode to catch when Blackberry 4.6 returns\r\n\t\t\t\t\t// nodes that are no longer in the document #6963\r\n\t\t\t\t\tif ( elem && elem.parentNode ) {\r\n\t\t\t\t\t\t// Handle the case where IE, Opera, and Webkit return items\r\n\t\t\t\t\t\t// by name instead of ID\r\n\t\t\t\t\t\tif ( elem.id === m ) {\r\n\t\t\t\t\t\t\tresults.push( elem );\r\n\t\t\t\t\t\t\treturn results;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\treturn results;\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// Context is not a document\r\n\t\t\t\t\tif ( context.ownerDocument && (elem = context.ownerDocument.getElementById( m )) &&\r\n\t\t\t\t\t\tcontains( context, elem ) && elem.id === m ) {\r\n\t\t\t\t\t\tresults.push( elem );\r\n\t\t\t\t\t\treturn results;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t// Speed-up: Sizzle(\"TAG\")\r\n\t\t\t} else if ( match[2] ) {\r\n\t\t\t\tpush.apply( results, slice.call(context.getElementsByTagName( selector ), 0) );\r\n\t\t\t\treturn results;\r\n\r\n\t\t\t// Speed-up: Sizzle(\".CLASS\")\r\n\t\t\t} else if ( (m = match[3]) && assertUsableClassName && context.getElementsByClassName ) {\r\n\t\t\t\tpush.apply( results, slice.call(context.getElementsByClassName( m ), 0) );\r\n\t\t\t\treturn results;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// All others\r\n\treturn select( selector.replace( rtrim, \"$1\" ), context, results, seed, xml );\r\n}\r\n\r\nSizzle.matches = function( expr, elements ) {\r\n\treturn Sizzle( expr, null, null, elements );\r\n};\r\n\r\nSizzle.matchesSelector = function( elem, expr ) {\r\n\treturn Sizzle( expr, null, null, [ elem ] ).length > 0;\r\n};\r\n\r\n// Returns a function to use in pseudos for input types\r\nfunction createInputPseudo( type ) {\r\n\treturn function( elem ) {\r\n\t\tvar name = elem.nodeName.toLowerCase();\r\n\t\treturn name === \"input\" && elem.type === type;\r\n\t};\r\n}\r\n\r\n// Returns a function to use in pseudos for buttons\r\nfunction createButtonPseudo( type ) {\r\n\treturn function( elem ) {\r\n\t\tvar name = elem.nodeName.toLowerCase();\r\n\t\treturn (name === \"input\" || name === \"button\") && elem.type === type;\r\n\t};\r\n}\r\n\r\n// Returns a function to use in pseudos for positionals\r\nfunction createPositionalPseudo( fn ) {\r\n\treturn markFunction(function( argument ) {\r\n\t\targument = +argument;\r\n\t\treturn markFunction(function( seed, matches ) {\r\n\t\t\tvar j,\r\n\t\t\t\tmatchIndexes = fn( [], seed.length, argument ),\r\n\t\t\t\ti = matchIndexes.length;\r\n\r\n\t\t\t// Match elements found at the specified indexes\r\n\t\t\twhile ( i-- ) {\r\n\t\t\t\tif ( seed[ (j = matchIndexes[i]) ] ) {\r\n\t\t\t\t\tseed[j] = !(matches[j] = seed[j]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n}\r\n\r\n/**\r\n * Utility function for retrieving the text value of an array of DOM nodes\r\n * @param {Array|Element} elem\r\n */\r\ngetText = Sizzle.getText = function( elem ) {\r\n\tvar node,\r\n\t\tret = \"\",\r\n\t\ti = 0,\r\n\t\tnodeType = elem.nodeType;\r\n\r\n\tif ( nodeType ) {\r\n\t\tif ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {\r\n\t\t\t// Use textContent for elements\r\n\t\t\t// innerText usage removed for consistency of new lines (see #11153)\r\n\t\t\tif ( typeof elem.textContent === \"string\" ) {\r\n\t\t\t\treturn elem.textContent;\r\n\t\t\t} else {\r\n\t\t\t\t// Traverse its children\r\n\t\t\t\tfor ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {\r\n\t\t\t\t\tret += getText( elem );\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else if ( nodeType === 3 || nodeType === 4 ) {\r\n\t\t\treturn elem.nodeValue;\r\n\t\t}\r\n\t\t// Do not include comment or processing instruction nodes\r\n\t} else {\r\n\r\n\t\t// If no nodeType, this is expected to be an array\r\n\t\tfor ( ; (node = elem[i]); i++ ) {\r\n\t\t\t// Do not traverse comment nodes\r\n\t\t\tret += getText( node );\r\n\t\t}\r\n\t}\r\n\treturn ret;\r\n};\r\n\r\nisXML = Sizzle.isXML = function( elem ) {\r\n\t// documentElement is verified for cases where it doesn't yet exist\r\n\t// (such as loading iframes in IE - #4833)\r\n\tvar documentElement = elem && (elem.ownerDocument || elem).documentElement;\r\n\treturn documentElement ? documentElement.nodeName !== \"HTML\" : false;\r\n};\r\n\r\n// Element contains another\r\ncontains = Sizzle.contains = docElem.contains ?\r\n\tfunction( a, b ) {\r\n\t\tvar adown = a.nodeType === 9 ? a.documentElement : a,\r\n\t\t\tbup = b && b.parentNode;\r\n\t\treturn a === bup || !!( bup && bup.nodeType === 1 && adown.contains && adown.contains(bup) );\r\n\t} :\r\n\tdocElem.compareDocumentPosition ?\r\n\tfunction( a, b ) {\r\n\t\treturn b && !!( a.compareDocumentPosition( b ) & 16 );\r\n\t} :\r\n\tfunction( a, b ) {\r\n\t\twhile ( (b = b.parentNode) ) {\r\n\t\t\tif ( b === a ) {\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn false;\r\n\t};\r\n\r\nSizzle.attr = function( elem, name ) {\r\n\tvar val,\r\n\t\txml = isXML( elem );\r\n\r\n\tif ( !xml ) {\r\n\t\tname = name.toLowerCase();\r\n\t}\r\n\tif ( (val = Expr.attrHandle[ name ]) ) {\r\n\t\treturn val( elem );\r\n\t}\r\n\tif ( xml || assertAttributes ) {\r\n\t\treturn elem.getAttribute( name );\r\n\t}\r\n\tval = elem.getAttributeNode( name );\r\n\treturn val ?\r\n\t\ttypeof elem[ name ] === \"boolean\" ?\r\n\t\t\telem[ name ] ? name : null :\r\n\t\t\tval.specified ? val.value : null :\r\n\t\tnull;\r\n};\r\n\r\nExpr = Sizzle.selectors = {\r\n\r\n\t// Can be adjusted by the user\r\n\tcacheLength: 50,\r\n\r\n\tcreatePseudo: markFunction,\r\n\r\n\tmatch: matchExpr,\r\n\r\n\t// IE6/7 return a modified href\r\n\tattrHandle: assertHrefNotNormalized ?\r\n\t\t{} :\r\n\t\t{\r\n\t\t\t\"href\": function( elem ) {\r\n\t\t\t\treturn elem.getAttribute( \"href\", 2 );\r\n\t\t\t},\r\n\t\t\t\"type\": function( elem ) {\r\n\t\t\t\treturn elem.getAttribute(\"type\");\r\n\t\t\t}\r\n\t\t},\r\n\r\n\tfind: {\r\n\t\t\"ID\": assertGetIdNotName ?\r\n\t\t\tfunction( id, context, xml ) {\r\n\t\t\t\tif ( typeof context.getElementById !== strundefined && !xml ) {\r\n\t\t\t\t\tvar m = context.getElementById( id );\r\n\t\t\t\t\t// Check parentNode to catch when Blackberry 4.6 returns\r\n\t\t\t\t\t// nodes that are no longer in the document #6963\r\n\t\t\t\t\treturn m && m.parentNode ? [m] : [];\r\n\t\t\t\t}\r\n\t\t\t} :\r\n\t\t\tfunction( id, context, xml ) {\r\n\t\t\t\tif ( typeof context.getElementById !== strundefined && !xml ) {\r\n\t\t\t\t\tvar m = context.getElementById( id );\r\n\r\n\t\t\t\t\treturn m ?\r\n\t\t\t\t\t\tm.id === id || typeof m.getAttributeNode !== strundefined && m.getAttributeNode(\"id\").value === id ?\r\n\t\t\t\t\t\t\t[m] :\r\n\t\t\t\t\t\t\tundefined :\r\n\t\t\t\t\t\t[];\r\n\t\t\t\t}\r\n\t\t\t},\r\n\r\n\t\t\"TAG\": assertTagNameNoComments ?\r\n\t\t\tfunction( tag, context ) {\r\n\t\t\t\tif ( typeof context.getElementsByTagName !== strundefined ) {\r\n\t\t\t\t\treturn context.getElementsByTagName( tag );\r\n\t\t\t\t}\r\n\t\t\t} :\r\n\t\t\tfunction( tag, context ) {\r\n\t\t\t\tvar results = context.getElementsByTagName( tag );\r\n\r\n\t\t\t\t// Filter out possible comments\r\n\t\t\t\tif ( tag === \"*\" ) {\r\n\t\t\t\t\tvar elem,\r\n\t\t\t\t\t\ttmp = [],\r\n\t\t\t\t\t\ti = 0;\r\n\r\n\t\t\t\t\tfor ( ; (elem = results[i]); i++ ) {\r\n\t\t\t\t\t\tif ( elem.nodeType === 1 ) {\r\n\t\t\t\t\t\t\ttmp.push( elem );\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn tmp;\r\n\t\t\t\t}\r\n\t\t\t\treturn results;\r\n\t\t\t},\r\n\r\n\t\t\"NAME\": assertUsableName && function( tag, context ) {\r\n\t\t\tif ( typeof context.getElementsByName !== strundefined ) {\r\n\t\t\t\treturn context.getElementsByName( name );\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\t\"CLASS\": assertUsableClassName && function( className, context, xml ) {\r\n\t\t\tif ( typeof context.getElementsByClassName !== strundefined && !xml ) {\r\n\t\t\t\treturn context.getElementsByClassName( className );\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\trelative: {\r\n\t\t\">\": { dir: \"parentNode\", first: true },\r\n\t\t\" \": { dir: \"parentNode\" },\r\n\t\t\"+\": { dir: \"previousSibling\", first: true },\r\n\t\t\"~\": { dir: \"previousSibling\" }\r\n\t},\r\n\r\n\tpreFilter: {\r\n\t\t\"ATTR\": function( match ) {\r\n\t\t\tmatch[1] = match[1].replace( rbackslash, \"\" );\r\n\r\n\t\t\t// Move the given value to match[3] whether quoted or unquoted\r\n\t\t\tmatch[3] = ( match[4] || match[5] || \"\" ).replace( rbackslash, \"\" );\r\n\r\n\t\t\tif ( match[2] === \"~=\" ) {\r\n\t\t\t\tmatch[3] = \" \" + match[3] + \" \";\r\n\t\t\t}\r\n\r\n\t\t\treturn match.slice( 0, 4 );\r\n\t\t},\r\n\r\n\t\t\"CHILD\": function( match ) {\r\n\t\t\t/* matches from matchExpr[\"CHILD\"]\r\n\t\t\t\t1 type (only|nth|...)\r\n\t\t\t\t2 argument (even|odd|\\d*|\\d*n([+-]\\d+)?|...)\r\n\t\t\t\t3 xn-component of xn+y argument ([+-]?\\d*n|)\r\n\t\t\t\t4 sign of xn-component\r\n\t\t\t\t5 x of xn-component\r\n\t\t\t\t6 sign of y-component\r\n\t\t\t\t7 y of y-component\r\n\t\t\t*/\r\n\t\t\tmatch[1] = match[1].toLowerCase();\r\n\r\n\t\t\tif ( match[1] === \"nth\" ) {\r\n\t\t\t\t// nth-child requires argument\r\n\t\t\t\tif ( !match[2] ) {\r\n\t\t\t\t\tSizzle.error( match[0] );\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// numeric x and y parameters for Expr.filter.CHILD\r\n\t\t\t\t// remember that false/true cast respectively to 0/1\r\n\t\t\t\tmatch[3] = +( match[3] ? match[4] + (match[5] || 1) : 2 * ( match[2] === \"even\" || match[2] === \"odd\" ) );\r\n\t\t\t\tmatch[4] = +( ( match[6] + match[7] ) || match[2] === \"odd\" );\r\n\r\n\t\t\t// other types prohibit arguments\r\n\t\t\t} else if ( match[2] ) {\r\n\t\t\t\tSizzle.error( match[0] );\r\n\t\t\t}\r\n\r\n\t\t\treturn match;\r\n\t\t},\r\n\r\n\t\t\"PSEUDO\": function( match ) {\r\n\t\t\tvar unquoted, excess;\r\n\t\t\tif ( matchExpr[\"CHILD\"].test( match[0] ) ) {\r\n\t\t\t\treturn null;\r\n\t\t\t}\r\n\r\n\t\t\tif ( match[3] ) {\r\n\t\t\t\tmatch[2] = match[3];\r\n\t\t\t} else if ( (unquoted = match[4]) ) {\r\n\t\t\t\t// Only check arguments that contain a pseudo\r\n\t\t\t\tif ( rpseudo.test(unquoted) &&\r\n\t\t\t\t\t// Get excess from tokenize (recursively)\r\n\t\t\t\t\t(excess = tokenize( unquoted, true )) &&\r\n\t\t\t\t\t// advance to the next closing parenthesis\r\n\t\t\t\t\t(excess = unquoted.indexOf( \")\", unquoted.length - excess ) - unquoted.length) ) {\r\n\r\n\t\t\t\t\t// excess is a negative index\r\n\t\t\t\t\tunquoted = unquoted.slice( 0, excess );\r\n\t\t\t\t\tmatch[0] = match[0].slice( 0, excess );\r\n\t\t\t\t}\r\n\t\t\t\tmatch[2] = unquoted;\r\n\t\t\t}\r\n\r\n\t\t\t// Return only captures needed by the pseudo filter method (type and argument)\r\n\t\t\treturn match.slice( 0, 3 );\r\n\t\t}\r\n\t},\r\n\r\n\tfilter: {\r\n\t\t\"ID\": assertGetIdNotName ?\r\n\t\t\tfunction( id ) {\r\n\t\t\t\tid = id.replace( rbackslash, \"\" );\r\n\t\t\t\treturn function( elem ) {\r\n\t\t\t\t\treturn elem.getAttribute(\"id\") === id;\r\n\t\t\t\t};\r\n\t\t\t} :\r\n\t\t\tfunction( id ) {\r\n\t\t\t\tid = id.replace( rbackslash, \"\" );\r\n\t\t\t\treturn function( elem ) {\r\n\t\t\t\t\tvar node = typeof elem.getAttributeNode !== strundefined && elem.getAttributeNode(\"id\");\r\n\t\t\t\t\treturn node && node.value === id;\r\n\t\t\t\t};\r\n\t\t\t},\r\n\r\n\t\t\"TAG\": function( nodeName ) {\r\n\t\t\tif ( nodeName === \"*\" ) {\r\n\t\t\t\treturn function() { return true; };\r\n\t\t\t}\r\n\t\t\tnodeName = nodeName.replace( rbackslash, \"\" ).toLowerCase();\r\n\r\n\t\t\treturn function( elem ) {\r\n\t\t\t\treturn elem.nodeName && elem.nodeName.toLowerCase() === nodeName;\r\n\t\t\t};\r\n\t\t},\r\n\r\n\t\t\"CLASS\": function( className ) {\r\n\t\t\tvar pattern = classCache[ expando ][ className ];\r\n\t\t\tif ( !pattern ) {\r\n\t\t\t\tpattern = classCache( className, new RegExp(\"(^|\" + whitespace + \")\" + className + \"(\" + whitespace + \"|$)\") );\r\n\t\t\t}\r\n\t\t\treturn function( elem ) {\r\n\t\t\t\treturn pattern.test( elem.className || (typeof elem.getAttribute !== strundefined && elem.getAttribute(\"class\")) || \"\" );\r\n\t\t\t};\r\n\t\t},\r\n\r\n\t\t\"ATTR\": function( name, operator, check ) {\r\n\t\t\treturn function( elem, context ) {\r\n\t\t\t\tvar result = Sizzle.attr( elem, name );\r\n\r\n\t\t\t\tif ( result == null ) {\r\n\t\t\t\t\treturn operator === \"!=\";\r\n\t\t\t\t}\r\n\t\t\t\tif ( !operator ) {\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tresult += \"\";\r\n\r\n\t\t\t\treturn operator === \"=\" ? result === check :\r\n\t\t\t\t\toperator === \"!=\" ? result !== check :\r\n\t\t\t\t\toperator === \"^=\" ? check && result.indexOf( check ) === 0 :\r\n\t\t\t\t\toperator === \"*=\" ? check && result.indexOf( check ) > -1 :\r\n\t\t\t\t\toperator === \"$=\" ? check && result.substr( result.length - check.length ) === check :\r\n\t\t\t\t\toperator === \"~=\" ? ( \" \" + result + \" \" ).indexOf( check ) > -1 :\r\n\t\t\t\t\toperator === \"|=\" ? result === check || result.substr( 0, check.length + 1 ) === check + \"-\" :\r\n\t\t\t\t\tfalse;\r\n\t\t\t};\r\n\t\t},\r\n\r\n\t\t\"CHILD\": function( type, argument, first, last ) {\r\n\r\n\t\t\tif ( type === \"nth\" ) {\r\n\t\t\t\treturn function( elem ) {\r\n\t\t\t\t\tvar node, diff,\r\n\t\t\t\t\t\tparent = elem.parentNode;\r\n\r\n\t\t\t\t\tif ( first === 1 && last === 0 ) {\r\n\t\t\t\t\t\treturn true;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif ( parent ) {\r\n\t\t\t\t\t\tdiff = 0;\r\n\t\t\t\t\t\tfor ( node = parent.firstChild; node; node = node.nextSibling ) {\r\n\t\t\t\t\t\t\tif ( node.nodeType === 1 ) {\r\n\t\t\t\t\t\t\t\tdiff++;\r\n\t\t\t\t\t\t\t\tif ( elem === node ) {\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// Incorporate the offset (or cast to NaN), then check against cycle size\r\n\t\t\t\t\tdiff -= last;\r\n\t\t\t\t\treturn diff === first || ( diff % first === 0 && diff / first >= 0 );\r\n\t\t\t\t};\r\n\t\t\t}\r\n\r\n\t\t\treturn function( elem ) {\r\n\t\t\t\tvar node = elem;\r\n\r\n\t\t\t\tswitch ( type ) {\r\n\t\t\t\t\tcase \"only\":\r\n\t\t\t\t\tcase \"first\":\r\n\t\t\t\t\t\twhile ( (node = node.previousSibling) ) {\r\n\t\t\t\t\t\t\tif ( node.nodeType === 1 ) {\r\n\t\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif ( type === \"first\" ) {\r\n\t\t\t\t\t\t\treturn true;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tnode = elem;\r\n\r\n\t\t\t\t\t\t/* falls through */\r\n\t\t\t\t\tcase \"last\":\r\n\t\t\t\t\t\twhile ( (node = node.nextSibling) ) {\r\n\t\t\t\t\t\t\tif ( node.nodeType === 1 ) {\r\n\t\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t},\r\n\r\n\t\t\"PSEUDO\": function( pseudo, argument ) {\r\n\t\t\t// pseudo-class names are case-insensitive\r\n\t\t\t// http://www.w3.org/TR/selectors/#pseudo-classes\r\n\t\t\t// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters\r\n\t\t\t// Remember that setFilters inherits from pseudos\r\n\t\t\tvar args,\r\n\t\t\t\tfn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||\r\n\t\t\t\t\tSizzle.error( \"unsupported pseudo: \" + pseudo );\r\n\r\n\t\t\t// The user may use createPseudo to indicate that\r\n\t\t\t// arguments are needed to create the filter function\r\n\t\t\t// just as Sizzle does\r\n\t\t\tif ( fn[ expando ] ) {\r\n\t\t\t\treturn fn( argument );\r\n\t\t\t}\r\n\r\n\t\t\t// But maintain support for old signatures\r\n\t\t\tif ( fn.length > 1 ) {\r\n\t\t\t\targs = [ pseudo, pseudo, \"\", argument ];\r\n\t\t\t\treturn Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?\r\n\t\t\t\t\tmarkFunction(function( seed, matches ) {\r\n\t\t\t\t\t\tvar idx,\r\n\t\t\t\t\t\t\tmatched = fn( seed, argument ),\r\n\t\t\t\t\t\t\ti = matched.length;\r\n\t\t\t\t\t\twhile ( i-- ) {\r\n\t\t\t\t\t\t\tidx = indexOf.call( seed, matched[i] );\r\n\t\t\t\t\t\t\tseed[ idx ] = !( matches[ idx ] = matched[i] );\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}) :\r\n\t\t\t\t\tfunction( elem ) {\r\n\t\t\t\t\t\treturn fn( elem, 0, args );\r\n\t\t\t\t\t};\r\n\t\t\t}\r\n\r\n\t\t\treturn fn;\r\n\t\t}\r\n\t},\r\n\r\n\tpseudos: {\r\n\t\t\"not\": markFunction(function( selector ) {\r\n\t\t\t// Trim the selector passed to compile\r\n\t\t\t// to avoid treating leading and trailing\r\n\t\t\t// spaces as combinators\r\n\t\t\tvar input = [],\r\n\t\t\t\tresults = [],\r\n\t\t\t\tmatcher = compile( selector.replace( rtrim, \"$1\" ) );\r\n\r\n\t\t\treturn matcher[ expando ] ?\r\n\t\t\t\tmarkFunction(function( seed, matches, context, xml ) {\r\n\t\t\t\t\tvar elem,\r\n\t\t\t\t\t\tunmatched = matcher( seed, null, xml, [] ),\r\n\t\t\t\t\t\ti = seed.length;\r\n\r\n\t\t\t\t\t// Match elements unmatched by `matcher`\r\n\t\t\t\t\twhile ( i-- ) {\r\n\t\t\t\t\t\tif ( (elem = unmatched[i]) ) {\r\n\t\t\t\t\t\t\tseed[i] = !(matches[i] = elem);\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\tfunction( elem, context, xml ) {\r\n\t\t\t\t\tinput[0] = elem;\r\n\t\t\t\t\tmatcher( input, null, xml, results );\r\n\t\t\t\t\treturn !results.pop();\r\n\t\t\t\t};\r\n\t\t}),\r\n\r\n\t\t\"has\": markFunction(function( selector ) {\r\n\t\t\treturn function( elem ) {\r\n\t\t\t\treturn Sizzle( selector, elem ).length > 0;\r\n\t\t\t};\r\n\t\t}),\r\n\r\n\t\t\"contains\": markFunction(function( text ) {\r\n\t\t\treturn function( elem ) {\r\n\t\t\t\treturn ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1;\r\n\t\t\t};\r\n\t\t}),\r\n\r\n\t\t\"enabled\": function( elem ) {\r\n\t\t\treturn elem.disabled === false;\r\n\t\t},\r\n\r\n\t\t\"disabled\": function( elem ) {\r\n\t\t\treturn elem.disabled === true;\r\n\t\t},\r\n\r\n\t\t\"checked\": function( elem ) {\r\n\t\t\t// In CSS3, :checked should return both checked and selected elements\r\n\t\t\t// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\r\n\t\t\tvar nodeName = elem.nodeName.toLowerCase();\r\n\t\t\treturn (nodeName === \"input\" && !!elem.checked) || (nodeName === \"option\" && !!elem.selected);\r\n\t\t},\r\n\r\n\t\t\"selected\": function( elem ) {\r\n\t\t\t// Accessing this property makes selected-by-default\r\n\t\t\t// options in Safari work properly\r\n\t\t\tif ( elem.parentNode ) {\r\n\t\t\t\telem.parentNode.selectedIndex;\r\n\t\t\t}\r\n\r\n\t\t\treturn elem.selected === true;\r\n\t\t},\r\n\r\n\t\t\"parent\": function( elem ) {\r\n\t\t\treturn !Expr.pseudos[\"empty\"]( elem );\r\n\t\t},\r\n\r\n\t\t\"empty\": function( elem ) {\r\n\t\t\t// http://www.w3.org/TR/selectors/#empty-pseudo\r\n\t\t\t// :empty is only affected by element nodes and content nodes(including text(3), cdata(4)),\r\n\t\t\t//   not comment, processing instructions, or others\r\n\t\t\t// Thanks to Diego Perini for the nodeName shortcut\r\n\t\t\t//   Greater than \"@\" means alpha characters (specifically not starting with \"#\" or \"?\")\r\n\t\t\tvar nodeType;\r\n\t\t\telem = elem.firstChild;\r\n\t\t\twhile ( elem ) {\r\n\t\t\t\tif ( elem.nodeName > \"@\" || (nodeType = elem.nodeType) === 3 || nodeType === 4 ) {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t\telem = elem.nextSibling;\r\n\t\t\t}\r\n\t\t\treturn true;\r\n\t\t},\r\n\r\n\t\t\"header\": function( elem ) {\r\n\t\t\treturn rheader.test( elem.nodeName );\r\n\t\t},\r\n\r\n\t\t\"text\": function( elem ) {\r\n\t\t\tvar type, attr;\r\n\t\t\t// IE6 and 7 will map elem.type to 'text' for new HTML5 types (search, etc)\r\n\t\t\t// use getAttribute instead to test this case\r\n\t\t\treturn elem.nodeName.toLowerCase() === \"input\" &&\r\n\t\t\t\t(type = elem.type) === \"text\" &&\r\n\t\t\t\t( (attr = elem.getAttribute(\"type\")) == null || attr.toLowerCase() === type );\r\n\t\t},\r\n\r\n\t\t// Input types\r\n\t\t\"radio\": createInputPseudo(\"radio\"),\r\n\t\t\"checkbox\": createInputPseudo(\"checkbox\"),\r\n\t\t\"file\": createInputPseudo(\"file\"),\r\n\t\t\"password\": createInputPseudo(\"password\"),\r\n\t\t\"image\": createInputPseudo(\"image\"),\r\n\r\n\t\t\"submit\": createButtonPseudo(\"submit\"),\r\n\t\t\"reset\": createButtonPseudo(\"reset\"),\r\n\r\n\t\t\"button\": function( elem ) {\r\n\t\t\tvar name = elem.nodeName.toLowerCase();\r\n\t\t\treturn name === \"input\" && elem.type === \"button\" || name === \"button\";\r\n\t\t},\r\n\r\n\t\t\"input\": function( elem ) {\r\n\t\t\treturn rinputs.test( elem.nodeName );\r\n\t\t},\r\n\r\n\t\t\"focus\": function( elem ) {\r\n\t\t\tvar doc = elem.ownerDocument;\r\n\t\t\treturn elem === doc.activeElement && (!doc.hasFocus || doc.hasFocus()) && !!(elem.type || elem.href);\r\n\t\t},\r\n\r\n\t\t\"active\": function( elem ) {\r\n\t\t\treturn elem === elem.ownerDocument.activeElement;\r\n\t\t},\r\n\r\n\t\t// Positional types\r\n\t\t\"first\": createPositionalPseudo(function( matchIndexes, length, argument ) {\r\n\t\t\treturn [ 0 ];\r\n\t\t}),\r\n\r\n\t\t\"last\": createPositionalPseudo(function( matchIndexes, length, argument ) {\r\n\t\t\treturn [ length - 1 ];\r\n\t\t}),\r\n\r\n\t\t\"eq\": createPositionalPseudo(function( matchIndexes, length, argument ) {\r\n\t\t\treturn [ argument < 0 ? argument + length : argument ];\r\n\t\t}),\r\n\r\n\t\t\"even\": createPositionalPseudo(function( matchIndexes, length, argument ) {\r\n\t\t\tfor ( var i = 0; i < length; i += 2 ) {\r\n\t\t\t\tmatchIndexes.push( i );\r\n\t\t\t}\r\n\t\t\treturn matchIndexes;\r\n\t\t}),\r\n\r\n\t\t\"odd\": createPositionalPseudo(function( matchIndexes, length, argument ) {\r\n\t\t\tfor ( var i = 1; i < length; i += 2 ) {\r\n\t\t\t\tmatchIndexes.push( i );\r\n\t\t\t}\r\n\t\t\treturn matchIndexes;\r\n\t\t}),\r\n\r\n\t\t\"lt\": createPositionalPseudo(function( matchIndexes, length, argument ) {\r\n\t\t\tfor ( var i = argument < 0 ? argument + length : argument; --i >= 0; ) {\r\n\t\t\t\tmatchIndexes.push( i );\r\n\t\t\t}\r\n\t\t\treturn matchIndexes;\r\n\t\t}),\r\n\r\n\t\t\"gt\": createPositionalPseudo(function( matchIndexes, length, argument ) {\r\n\t\t\tfor ( var i = argument < 0 ? argument + length : argument; ++i < length; ) {\r\n\t\t\t\tmatchIndexes.push( i );\r\n\t\t\t}\r\n\t\t\treturn matchIndexes;\r\n\t\t})\r\n\t}\r\n};\r\n\r\nfunction siblingCheck( a, b, ret ) {\r\n\tif ( a === b ) {\r\n\t\treturn ret;\r\n\t}\r\n\r\n\tvar cur = a.nextSibling;\r\n\r\n\twhile ( cur ) {\r\n\t\tif ( cur === b ) {\r\n\t\t\treturn -1;\r\n\t\t}\r\n\r\n\t\tcur = cur.nextSibling;\r\n\t}\r\n\r\n\treturn 1;\r\n}\r\n\r\nsortOrder = docElem.compareDocumentPosition ?\r\n\tfunction( a, b ) {\r\n\t\tif ( a === b ) {\r\n\t\t\thasDuplicate = true;\r\n\t\t\treturn 0;\r\n\t\t}\r\n\r\n\t\treturn ( !a.compareDocumentPosition || !b.compareDocumentPosition ?\r\n\t\t\ta.compareDocumentPosition :\r\n\t\t\ta.compareDocumentPosition(b) & 4\r\n\t\t) ? -1 : 1;\r\n\t} :\r\n\tfunction( a, b ) {\r\n\t\t// The nodes are identical, we can exit early\r\n\t\tif ( a === b ) {\r\n\t\t\thasDuplicate = true;\r\n\t\t\treturn 0;\r\n\r\n\t\t// Fallback to using sourceIndex (in IE) if it's available on both nodes\r\n\t\t} else if ( a.sourceIndex && b.sourceIndex ) {\r\n\t\t\treturn a.sourceIndex - b.sourceIndex;\r\n\t\t}\r\n\r\n\t\tvar al, bl,\r\n\t\t\tap = [],\r\n\t\t\tbp = [],\r\n\t\t\taup = a.parentNode,\r\n\t\t\tbup = b.parentNode,\r\n\t\t\tcur = aup;\r\n\r\n\t\t// If the nodes are siblings (or identical) we can do a quick check\r\n\t\tif ( aup === bup ) {\r\n\t\t\treturn siblingCheck( a, b );\r\n\r\n\t\t// If no parents were found then the nodes are disconnected\r\n\t\t} else if ( !aup ) {\r\n\t\t\treturn -1;\r\n\r\n\t\t} else if ( !bup ) {\r\n\t\t\treturn 1;\r\n\t\t}\r\n\r\n\t\t// Otherwise they're somewhere else in the tree so we need\r\n\t\t// to build up a full list of the parentNodes for comparison\r\n\t\twhile ( cur ) {\r\n\t\t\tap.unshift( cur );\r\n\t\t\tcur = cur.parentNode;\r\n\t\t}\r\n\r\n\t\tcur = bup;\r\n\r\n\t\twhile ( cur ) {\r\n\t\t\tbp.unshift( cur );\r\n\t\t\tcur = cur.parentNode;\r\n\t\t}\r\n\r\n\t\tal = ap.length;\r\n\t\tbl = bp.length;\r\n\r\n\t\t// Start walking down the tree looking for a discrepancy\r\n\t\tfor ( var i = 0; i < al && i < bl; i++ ) {\r\n\t\t\tif ( ap[i] !== bp[i] ) {\r\n\t\t\t\treturn siblingCheck( ap[i], bp[i] );\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// We ended someplace up the tree so do a sibling check\r\n\t\treturn i === al ?\r\n\t\t\tsiblingCheck( a, bp[i], -1 ) :\r\n\t\t\tsiblingCheck( ap[i], b, 1 );\r\n\t};\r\n\r\n// Always assume the presence of duplicates if sort doesn't\r\n// pass them to our comparison function (as in Google Chrome).\r\n[0, 0].sort( sortOrder );\r\nbaseHasDuplicate = !hasDuplicate;\r\n\r\n// Document sorting and removing duplicates\r\nSizzle.uniqueSort = function( results ) {\r\n\tvar elem,\r\n\t\ti = 1;\r\n\r\n\thasDuplicate = baseHasDuplicate;\r\n\tresults.sort( sortOrder );\r\n\r\n\tif ( hasDuplicate ) {\r\n\t\tfor ( ; (elem = results[i]); i++ ) {\r\n\t\t\tif ( elem === results[ i - 1 ] ) {\r\n\t\t\t\tresults.splice( i--, 1 );\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn results;\r\n};\r\n\r\nSizzle.error = function( msg ) {\r\n\tthrow new Error( \"Syntax error, unrecognized expression: \" + msg );\r\n};\r\n\r\nfunction tokenize( selector, parseOnly ) {\r\n\tvar matched, match, tokens, type, soFar, groups, preFilters,\r\n\t\tcached = tokenCache[ expando ][ selector ];\r\n\r\n\tif ( cached ) {\r\n\t\treturn parseOnly ? 0 : cached.slice( 0 );\r\n\t}\r\n\r\n\tsoFar = selector;\r\n\tgroups = [];\r\n\tpreFilters = Expr.preFilter;\r\n\r\n\twhile ( soFar ) {\r\n\r\n\t\t// Comma and first run\r\n\t\tif ( !matched || (match = rcomma.exec( soFar )) ) {\r\n\t\t\tif ( match ) {\r\n\t\t\t\tsoFar = soFar.slice( match[0].length );\r\n\t\t\t}\r\n\t\t\tgroups.push( tokens = [] );\r\n\t\t}\r\n\r\n\t\tmatched = false;\r\n\r\n\t\t// Combinators\r\n\t\tif ( (match = rcombinators.exec( soFar )) ) {\r\n\t\t\ttokens.push( matched = new Token( match.shift() ) );\r\n\t\t\tsoFar = soFar.slice( matched.length );\r\n\r\n\t\t\t// Cast descendant combinators to space\r\n\t\t\tmatched.type = match[0].replace( rtrim, \" \" );\r\n\t\t}\r\n\r\n\t\t// Filters\r\n\t\tfor ( type in Expr.filter ) {\r\n\t\t\tif ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] ||\r\n\t\t\t\t// The last two arguments here are (context, xml) for backCompat\r\n\t\t\t\t(match = preFilters[ type ]( match, document, true ))) ) {\r\n\r\n\t\t\t\ttokens.push( matched = new Token( match.shift() ) );\r\n\t\t\t\tsoFar = soFar.slice( matched.length );\r\n\t\t\t\tmatched.type = type;\r\n\t\t\t\tmatched.matches = match;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif ( !matched ) {\r\n\t\t\tbreak;\r\n\t\t}\r\n\t}\r\n\r\n\t// Return the length of the invalid excess\r\n\t// if we're just parsing\r\n\t// Otherwise, throw an error or return tokens\r\n\treturn parseOnly ?\r\n\t\tsoFar.length :\r\n\t\tsoFar ?\r\n\t\t\tSizzle.error( selector ) :\r\n\t\t\t// Cache the tokens\r\n\t\t\ttokenCache( selector, groups ).slice( 0 );\r\n}\r\n\r\nfunction addCombinator( matcher, combinator, base ) {\r\n\tvar dir = combinator.dir,\r\n\t\tcheckNonElements = base && combinator.dir === \"parentNode\",\r\n\t\tdoneName = done++;\r\n\r\n\treturn combinator.first ?\r\n\t\t// Check against closest ancestor/preceding element\r\n\t\tfunction( elem, context, xml ) {\r\n\t\t\twhile ( (elem = elem[ dir ]) ) {\r\n\t\t\t\tif ( checkNonElements || elem.nodeType === 1  ) {\r\n\t\t\t\t\treturn matcher( elem, context, xml );\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} :\r\n\r\n\t\t// Check against all ancestor/preceding elements\r\n\t\tfunction( elem, context, xml ) {\r\n\t\t\t// We can't set arbitrary data on XML nodes, so they don't benefit from dir caching\r\n\t\t\tif ( !xml ) {\r\n\t\t\t\tvar cache,\r\n\t\t\t\t\tdirkey = dirruns + \" \" + doneName + \" \",\r\n\t\t\t\t\tcachedkey = dirkey + cachedruns;\r\n\t\t\t\twhile ( (elem = elem[ dir ]) ) {\r\n\t\t\t\t\tif ( checkNonElements || elem.nodeType === 1 ) {\r\n\t\t\t\t\t\tif ( (cache = elem[ expando ]) === cachedkey ) {\r\n\t\t\t\t\t\t\treturn elem.sizset;\r\n\t\t\t\t\t\t} else if ( typeof cache === \"string\" && cache.indexOf(dirkey) === 0 ) {\r\n\t\t\t\t\t\t\tif ( elem.sizset ) {\r\n\t\t\t\t\t\t\t\treturn elem;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\telem[ expando ] = cachedkey;\r\n\t\t\t\t\t\t\tif ( matcher( elem, context, xml ) ) {\r\n\t\t\t\t\t\t\t\telem.sizset = true;\r\n\t\t\t\t\t\t\t\treturn elem;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\telem.sizset = false;\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} else {\r\n\t\t\t\twhile ( (elem = elem[ dir ]) ) {\r\n\t\t\t\t\tif ( checkNonElements || elem.nodeType === 1 ) {\r\n\t\t\t\t\t\tif ( matcher( elem, context, xml ) ) {\r\n\t\t\t\t\t\t\treturn elem;\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};\r\n}\r\n\r\nfunction elementMatcher( matchers ) {\r\n\treturn matchers.length > 1 ?\r\n\t\tfunction( elem, context, xml ) {\r\n\t\t\tvar i = matchers.length;\r\n\t\t\twhile ( i-- ) {\r\n\t\t\t\tif ( !matchers[i]( elem, context, xml ) ) {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn true;\r\n\t\t} :\r\n\t\tmatchers[0];\r\n}\r\n\r\nfunction condense( unmatched, map, filter, context, xml ) {\r\n\tvar elem,\r\n\t\tnewUnmatched = [],\r\n\t\ti = 0,\r\n\t\tlen = unmatched.length,\r\n\t\tmapped = map != null;\r\n\r\n\tfor ( ; i < len; i++ ) {\r\n\t\tif ( (elem = unmatched[i]) ) {\r\n\t\t\tif ( !filter || filter( elem, context, xml ) ) {\r\n\t\t\t\tnewUnmatched.push( elem );\r\n\t\t\t\tif ( mapped ) {\r\n\t\t\t\t\tmap.push( i );\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn newUnmatched;\r\n}\r\n\r\nfunction setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {\r\n\tif ( postFilter && !postFilter[ expando ] ) {\r\n\t\tpostFilter = setMatcher( postFilter );\r\n\t}\r\n\tif ( postFinder && !postFinder[ expando ] ) {\r\n\t\tpostFinder = setMatcher( postFinder, postSelector );\r\n\t}\r\n\treturn markFunction(function( seed, results, context, xml ) {\r\n\t\t// Positional selectors apply to seed elements, so it is invalid to follow them with relative ones\r\n\t\tif ( seed && postFinder ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar i, elem, postFilterIn,\r\n\t\t\tpreMap = [],\r\n\t\t\tpostMap = [],\r\n\t\t\tpreexisting = results.length,\r\n\r\n\t\t\t// Get initial elements from seed or context\r\n\t\t\telems = seed || multipleContexts( selector || \"*\", context.nodeType ? [ context ] : context, [], seed ),\r\n\r\n\t\t\t// Prefilter to get matcher input, preserving a map for seed-results synchronization\r\n\t\t\tmatcherIn = preFilter && ( seed || !selector ) ?\r\n\t\t\t\tcondense( elems, preMap, preFilter, context, xml ) :\r\n\t\t\t\telems,\r\n\r\n\t\t\tmatcherOut = matcher ?\r\n\t\t\t\t// If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,\r\n\t\t\t\tpostFinder || ( seed ? preFilter : preexisting || postFilter ) ?\r\n\r\n\t\t\t\t\t// ...intermediate processing is necessary\r\n\t\t\t\t\t[] :\r\n\r\n\t\t\t\t\t// ...otherwise use results directly\r\n\t\t\t\t\tresults :\r\n\t\t\t\tmatcherIn;\r\n\r\n\t\t// Find primary matches\r\n\t\tif ( matcher ) {\r\n\t\t\tmatcher( matcherIn, matcherOut, context, xml );\r\n\t\t}\r\n\r\n\t\t// Apply postFilter\r\n\t\tif ( postFilter ) {\r\n\t\t\tpostFilterIn = condense( matcherOut, postMap );\r\n\t\t\tpostFilter( postFilterIn, [], context, xml );\r\n\r\n\t\t\t// Un-match failing elements by moving them back to matcherIn\r\n\t\t\ti = postFilterIn.length;\r\n\t\t\twhile ( i-- ) {\r\n\t\t\t\tif ( (elem = postFilterIn[i]) ) {\r\n\t\t\t\t\tmatcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Keep seed and results synchronized\r\n\t\tif ( seed ) {\r\n\t\t\t// Ignore postFinder because it can't coexist with seed\r\n\t\t\ti = preFilter && matcherOut.length;\r\n\t\t\twhile ( i-- ) {\r\n\t\t\t\tif ( (elem = matcherOut[i]) ) {\r\n\t\t\t\t\tseed[ preMap[i] ] = !(results[ preMap[i] ] = elem);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tmatcherOut = condense(\r\n\t\t\t\tmatcherOut === results ?\r\n\t\t\t\t\tmatcherOut.splice( preexisting, matcherOut.length ) :\r\n\t\t\t\t\tmatcherOut\r\n\t\t\t);\r\n\t\t\tif ( postFinder ) {\r\n\t\t\t\tpostFinder( null, results, matcherOut, xml );\r\n\t\t\t} else {\r\n\t\t\t\tpush.apply( results, matcherOut );\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n}\r\n\r\nfunction matcherFromTokens( tokens ) {\r\n\tvar checkContext, matcher, j,\r\n\t\tlen = tokens.length,\r\n\t\tleadingRelative = Expr.relative[ tokens[0].type ],\r\n\t\timplicitRelative = leadingRelative || Expr.relative[\" \"],\r\n\t\ti = leadingRelative ? 1 : 0,\r\n\r\n\t\t// The foundational matcher ensures that elements are reachable from top-level context(s)\r\n\t\tmatchContext = addCombinator( function( elem ) {\r\n\t\t\treturn elem === checkContext;\r\n\t\t}, implicitRelative, true ),\r\n\t\tmatchAnyContext = addCombinator( function( elem ) {\r\n\t\t\treturn indexOf.call( checkContext, elem ) > -1;\r\n\t\t}, implicitRelative, true ),\r\n\t\tmatchers = [ function( elem, context, xml ) {\r\n\t\t\treturn ( !leadingRelative && ( xml || context !== outermostContext ) ) || (\r\n\t\t\t\t(checkContext = context).nodeType ?\r\n\t\t\t\t\tmatchContext( elem, context, xml ) :\r\n\t\t\t\t\tmatchAnyContext( elem, context, xml ) );\r\n\t\t} ];\r\n\r\n\tfor ( ; i < len; i++ ) {\r\n\t\tif ( (matcher = Expr.relative[ tokens[i].type ]) ) {\r\n\t\t\tmatchers = [ addCombinator( elementMatcher( matchers ), matcher ) ];\r\n\t\t} else {\r\n\t\t\t// The concatenated values are (context, xml) for backCompat\r\n\t\t\tmatcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches );\r\n\r\n\t\t\t// Return special upon seeing a positional matcher\r\n\t\t\tif ( matcher[ expando ] ) {\r\n\t\t\t\t// Find the next relative operator (if any) for proper handling\r\n\t\t\t\tj = ++i;\r\n\t\t\t\tfor ( ; j < len; j++ ) {\r\n\t\t\t\t\tif ( Expr.relative[ tokens[j].type ] ) {\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\treturn setMatcher(\r\n\t\t\t\t\ti > 1 && elementMatcher( matchers ),\r\n\t\t\t\t\ti > 1 && tokens.slice( 0, i - 1 ).join(\"\").replace( rtrim, \"$1\" ),\r\n\t\t\t\t\tmatcher,\r\n\t\t\t\t\ti < j && matcherFromTokens( tokens.slice( i, j ) ),\r\n\t\t\t\t\tj < len && matcherFromTokens( (tokens = tokens.slice( j )) ),\r\n\t\t\t\t\tj < len && tokens.join(\"\")\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t\tmatchers.push( matcher );\r\n\t\t}\r\n\t}\r\n\r\n\treturn elementMatcher( matchers );\r\n}\r\n\r\nfunction matcherFromGroupMatchers( elementMatchers, setMatchers ) {\r\n\tvar bySet = setMatchers.length > 0,\r\n\t\tbyElement = elementMatchers.length > 0,\r\n\t\tsuperMatcher = function( seed, context, xml, results, expandContext ) {\r\n\t\t\tvar elem, j, matcher,\r\n\t\t\t\tsetMatched = [],\r\n\t\t\t\tmatchedCount = 0,\r\n\t\t\t\ti = \"0\",\r\n\t\t\t\tunmatched = seed && [],\r\n\t\t\t\toutermost = expandContext != null,\r\n\t\t\t\tcontextBackup = outermostContext,\r\n\t\t\t\t// We must always have either seed elements or context\r\n\t\t\t\telems = seed || byElement && Expr.find[\"TAG\"]( \"*\", expandContext && context.parentNode || context ),\r\n\t\t\t\t// Nested matchers should use non-integer dirruns\r\n\t\t\t\tdirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.E);\r\n\r\n\t\t\tif ( outermost ) {\r\n\t\t\t\toutermostContext = context !== document && context;\r\n\t\t\t\tcachedruns = superMatcher.el;\r\n\t\t\t}\r\n\r\n\t\t\t// Add elements passing elementMatchers directly to results\r\n\t\t\tfor ( ; (elem = elems[i]) != null; i++ ) {\r\n\t\t\t\tif ( byElement && elem ) {\r\n\t\t\t\t\tfor ( j = 0; (matcher = elementMatchers[j]); j++ ) {\r\n\t\t\t\t\t\tif ( matcher( elem, context, xml ) ) {\r\n\t\t\t\t\t\t\tresults.push( elem );\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif ( outermost ) {\r\n\t\t\t\t\t\tdirruns = dirrunsUnique;\r\n\t\t\t\t\t\tcachedruns = ++superMatcher.el;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Track unmatched elements for set filters\r\n\t\t\t\tif ( bySet ) {\r\n\t\t\t\t\t// They will have gone through all possible matchers\r\n\t\t\t\t\tif ( (elem = !matcher && elem) ) {\r\n\t\t\t\t\t\tmatchedCount--;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// Lengthen the array for every element, matched or not\r\n\t\t\t\t\tif ( seed ) {\r\n\t\t\t\t\t\tunmatched.push( elem );\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// Apply set filters to unmatched elements\r\n\t\t\tmatchedCount += i;\r\n\t\t\tif ( bySet && i !== matchedCount ) {\r\n\t\t\t\tfor ( j = 0; (matcher = setMatchers[j]); j++ ) {\r\n\t\t\t\t\tmatcher( unmatched, setMatched, context, xml );\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif ( seed ) {\r\n\t\t\t\t\t// Reintegrate element matches to eliminate the need for sorting\r\n\t\t\t\t\tif ( matchedCount > 0 ) {\r\n\t\t\t\t\t\twhile ( i-- ) {\r\n\t\t\t\t\t\t\tif ( !(unmatched[i] || setMatched[i]) ) {\r\n\t\t\t\t\t\t\t\tsetMatched[i] = pop.call( results );\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// Discard index placeholder values to get only actual matches\r\n\t\t\t\t\tsetMatched = condense( setMatched );\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Add matches to results\r\n\t\t\t\tpush.apply( results, setMatched );\r\n\r\n\t\t\t\t// Seedless set matches succeeding multiple successful matchers stipulate sorting\r\n\t\t\t\tif ( outermost && !seed && setMatched.length > 0 &&\r\n\t\t\t\t\t( matchedCount + setMatchers.length ) > 1 ) {\r\n\r\n\t\t\t\t\tSizzle.uniqueSort( results );\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// Override manipulation of globals by nested matchers\r\n\t\t\tif ( outermost ) {\r\n\t\t\t\tdirruns = dirrunsUnique;\r\n\t\t\t\toutermostContext = contextBackup;\r\n\t\t\t}\r\n\r\n\t\t\treturn unmatched;\r\n\t\t};\r\n\r\n\tsuperMatcher.el = 0;\r\n\treturn bySet ?\r\n\t\tmarkFunction( superMatcher ) :\r\n\t\tsuperMatcher;\r\n}\r\n\r\ncompile = Sizzle.compile = function( selector, group /* Internal Use Only */ ) {\r\n\tvar i,\r\n\t\tsetMatchers = [],\r\n\t\telementMatchers = [],\r\n\t\tcached = compilerCache[ expando ][ selector ];\r\n\r\n\tif ( !cached ) {\r\n\t\t// Generate a function of recursive functions that can be used to check each element\r\n\t\tif ( !group ) {\r\n\t\t\tgroup = tokenize( selector );\r\n\t\t}\r\n\t\ti = group.length;\r\n\t\twhile ( i-- ) {\r\n\t\t\tcached = matcherFromTokens( group[i] );\r\n\t\t\tif ( cached[ expando ] ) {\r\n\t\t\t\tsetMatchers.push( cached );\r\n\t\t\t} else {\r\n\t\t\t\telementMatchers.push( cached );\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Cache the compiled function\r\n\t\tcached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) );\r\n\t}\r\n\treturn cached;\r\n};\r\n\r\nfunction multipleContexts( selector, contexts, results, seed ) {\r\n\tvar i = 0,\r\n\t\tlen = contexts.length;\r\n\tfor ( ; i < len; i++ ) {\r\n\t\tSizzle( selector, contexts[i], results, seed );\r\n\t}\r\n\treturn results;\r\n}\r\n\r\nfunction select( selector, context, results, seed, xml ) {\r\n\tvar i, tokens, token, type, find,\r\n\t\tmatch = tokenize( selector ),\r\n\t\tj = match.length;\r\n\r\n\tif ( !seed ) {\r\n\t\t// Try to minimize operations if there is only one group\r\n\t\tif ( match.length === 1 ) {\r\n\r\n\t\t\t// Take a shortcut and set the context if the root selector is an ID\r\n\t\t\ttokens = match[0] = match[0].slice( 0 );\r\n\t\t\tif ( tokens.length > 2 && (token = tokens[0]).type === \"ID\" &&\r\n\t\t\t\t\tcontext.nodeType === 9 && !xml &&\r\n\t\t\t\t\tExpr.relative[ tokens[1].type ] ) {\r\n\r\n\t\t\t\tcontext = Expr.find[\"ID\"]( token.matches[0].replace( rbackslash, \"\" ), context, xml )[0];\r\n\t\t\t\tif ( !context ) {\r\n\t\t\t\t\treturn results;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tselector = selector.slice( tokens.shift().length );\r\n\t\t\t}\r\n\r\n\t\t\t// Fetch a seed set for right-to-left matching\r\n\t\t\tfor ( i = matchExpr[\"POS\"].test( selector ) ? -1 : tokens.length - 1; i >= 0; i-- ) {\r\n\t\t\t\ttoken = tokens[i];\r\n\r\n\t\t\t\t// Abort if we hit a combinator\r\n\t\t\t\tif ( Expr.relative[ (type = token.type) ] ) {\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t\tif ( (find = Expr.find[ type ]) ) {\r\n\t\t\t\t\t// Search, expanding context for leading sibling combinators\r\n\t\t\t\t\tif ( (seed = find(\r\n\t\t\t\t\t\ttoken.matches[0].replace( rbackslash, \"\" ),\r\n\t\t\t\t\t\trsibling.test( tokens[0].type ) && context.parentNode || context,\r\n\t\t\t\t\t\txml\r\n\t\t\t\t\t)) ) {\r\n\r\n\t\t\t\t\t\t// If seed is empty or no tokens remain, we can return early\r\n\t\t\t\t\t\ttokens.splice( i, 1 );\r\n\t\t\t\t\t\tselector = seed.length && tokens.join(\"\");\r\n\t\t\t\t\t\tif ( !selector ) {\r\n\t\t\t\t\t\t\tpush.apply( results, slice.call( seed, 0 ) );\r\n\t\t\t\t\t\t\treturn results;\r\n\t\t\t\t\t\t}\r\n\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}\r\n\r\n\t// Compile and execute a filtering function\r\n\t// Provide `match` to avoid retokenization if we modified the selector above\r\n\tcompile( selector, match )(\r\n\t\tseed,\r\n\t\tcontext,\r\n\t\txml,\r\n\t\tresults,\r\n\t\trsibling.test( selector )\r\n\t);\r\n\treturn results;\r\n}\r\n\r\nif ( document.querySelectorAll ) {\r\n\t(function() {\r\n\t\tvar disconnectedMatch,\r\n\t\t\toldSelect = select,\r\n\t\t\trescape = /'|\\\\/g,\r\n\t\t\trattributeQuotes = /\\=[\\x20\\t\\r\\n\\f]*([^'\"\\]]*)[\\x20\\t\\r\\n\\f]*\\]/g,\r\n\r\n\t\t\t// qSa(:focus) reports false when true (Chrome 21),\r\n\t\t\t// A support test would require too much code (would include document ready)\r\n\t\t\trbuggyQSA = [\":focus\"],\r\n\r\n\t\t\t// matchesSelector(:focus) reports false when true (Chrome 21),\r\n\t\t\t// matchesSelector(:active) reports false when true (IE9/Opera 11.5)\r\n\t\t\t// A support test would require too much code (would include document ready)\r\n\t\t\t// just skip matchesSelector for :active\r\n\t\t\trbuggyMatches = [ \":active\", \":focus\" ],\r\n\t\t\tmatches = docElem.matchesSelector ||\r\n\t\t\t\tdocElem.mozMatchesSelector ||\r\n\t\t\t\tdocElem.webkitMatchesSelector ||\r\n\t\t\t\tdocElem.oMatchesSelector ||\r\n\t\t\t\tdocElem.msMatchesSelector;\r\n\r\n\t\t// Build QSA regex\r\n\t\t// Regex strategy adopted from Diego Perini\r\n\t\tassert(function( div ) {\r\n\t\t\t// Select is set to empty string on purpose\r\n\t\t\t// This is to test IE's treatment of not explictly\r\n\t\t\t// setting a boolean content attribute,\r\n\t\t\t// since its presence should be enough\r\n\t\t\t// http://bugs.jquery.com/ticket/12359\r\n\t\t\tdiv.innerHTML = \"<select><option selected=''></option></select>\";\r\n\r\n\t\t\t// IE8 - Some boolean attributes are not treated correctly\r\n\t\t\tif ( !div.querySelectorAll(\"[selected]\").length ) {\r\n\t\t\t\trbuggyQSA.push( \"\\\\[\" + whitespace + \"*(?:checked|disabled|ismap|multiple|readonly|selected|value)\" );\r\n\t\t\t}\r\n\r\n\t\t\t// Webkit/Opera - :checked should return selected option elements\r\n\t\t\t// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\r\n\t\t\t// IE8 throws error here (do not put tests after this one)\r\n\t\t\tif ( !div.querySelectorAll(\":checked\").length ) {\r\n\t\t\t\trbuggyQSA.push(\":checked\");\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tassert(function( div ) {\r\n\r\n\t\t\t// Opera 10-12/IE9 - ^= $= *= and empty values\r\n\t\t\t// Should not select anything\r\n\t\t\tdiv.innerHTML = \"<p test=''></p>\";\r\n\t\t\tif ( div.querySelectorAll(\"[test^='']\").length ) {\r\n\t\t\t\trbuggyQSA.push( \"[*^$]=\" + whitespace + \"*(?:\\\"\\\"|'')\" );\r\n\t\t\t}\r\n\r\n\t\t\t// FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)\r\n\t\t\t// IE8 throws error here (do not put tests after this one)\r\n\t\t\tdiv.innerHTML = \"<input type='hidden'/>\";\r\n\t\t\tif ( !div.querySelectorAll(\":enabled\").length ) {\r\n\t\t\t\trbuggyQSA.push(\":enabled\", \":disabled\");\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t// rbuggyQSA always contains :focus, so no need for a length check\r\n\t\trbuggyQSA = /* rbuggyQSA.length && */ new RegExp( rbuggyQSA.join(\"|\") );\r\n\r\n\t\tselect = function( selector, context, results, seed, xml ) {\r\n\t\t\t// Only use querySelectorAll when not filtering,\r\n\t\t\t// when this is not xml,\r\n\t\t\t// and when no QSA bugs apply\r\n\t\t\tif ( !seed && !xml && (!rbuggyQSA || !rbuggyQSA.test( selector )) ) {\r\n\t\t\t\tvar groups, i,\r\n\t\t\t\t\told = true,\r\n\t\t\t\t\tnid = expando,\r\n\t\t\t\t\tnewContext = context,\r\n\t\t\t\t\tnewSelector = context.nodeType === 9 && selector;\r\n\r\n\t\t\t\t// qSA works strangely on Element-rooted queries\r\n\t\t\t\t// We can work around this by specifying an extra ID on the root\r\n\t\t\t\t// and working up from there (Thanks to Andrew Dupont for the technique)\r\n\t\t\t\t// IE 8 doesn't work on object elements\r\n\t\t\t\tif ( context.nodeType === 1 && context.nodeName.toLowerCase() !== \"object\" ) {\r\n\t\t\t\t\tgroups = tokenize( selector );\r\n\r\n\t\t\t\t\tif ( (old = context.getAttribute(\"id\")) ) {\r\n\t\t\t\t\t\tnid = old.replace( rescape, \"\\\\$&\" );\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tcontext.setAttribute( \"id\", nid );\r\n\t\t\t\t\t}\r\n\t\t\t\t\tnid = \"[id='\" + nid + \"'] \";\r\n\r\n\t\t\t\t\ti = groups.length;\r\n\t\t\t\t\twhile ( i-- ) {\r\n\t\t\t\t\t\tgroups[i] = nid + groups[i].join(\"\");\r\n\t\t\t\t\t}\r\n\t\t\t\t\tnewContext = rsibling.test( selector ) && context.parentNode || context;\r\n\t\t\t\t\tnewSelector = groups.join(\",\");\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif ( newSelector ) {\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\tpush.apply( results, slice.call( newContext.querySelectorAll(\r\n\t\t\t\t\t\t\tnewSelector\r\n\t\t\t\t\t\t), 0 ) );\r\n\t\t\t\t\t\treturn results;\r\n\t\t\t\t\t} catch(qsaError) {\r\n\t\t\t\t\t} finally {\r\n\t\t\t\t\t\tif ( !old ) {\r\n\t\t\t\t\t\t\tcontext.removeAttribute(\"id\");\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\r\n\t\t\treturn oldSelect( selector, context, results, seed, xml );\r\n\t\t};\r\n\r\n\t\tif ( matches ) {\r\n\t\t\tassert(function( div ) {\r\n\t\t\t\t// Check to see if it's possible to do matchesSelector\r\n\t\t\t\t// on a disconnected node (IE 9)\r\n\t\t\t\tdisconnectedMatch = matches.call( div, \"div\" );\r\n\r\n\t\t\t\t// This should fail with an exception\r\n\t\t\t\t// Gecko does not error, returns false instead\r\n\t\t\t\ttry {\r\n\t\t\t\t\tmatches.call( div, \"[test!='']:sizzle\" );\r\n\t\t\t\t\trbuggyMatches.push( \"!=\", pseudos );\r\n\t\t\t\t} catch ( e ) {}\r\n\t\t\t});\r\n\r\n\t\t\t// rbuggyMatches always contains :active and :focus, so no need for a length check\r\n\t\t\trbuggyMatches = /* rbuggyMatches.length && */ new RegExp( rbuggyMatches.join(\"|\") );\r\n\r\n\t\t\tSizzle.matchesSelector = function( elem, expr ) {\r\n\t\t\t\t// Make sure that attribute selectors are quoted\r\n\t\t\t\texpr = expr.replace( rattributeQuotes, \"='$1']\" );\r\n\r\n\t\t\t\t// rbuggyMatches always contains :active, so no need for an existence check\r\n\t\t\t\tif ( !isXML( elem ) && !rbuggyMatches.test( expr ) && (!rbuggyQSA || !rbuggyQSA.test( expr )) ) {\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\tvar ret = matches.call( elem, expr );\r\n\r\n\t\t\t\t\t\t// IE 9's matchesSelector returns false on disconnected nodes\r\n\t\t\t\t\t\tif ( ret || disconnectedMatch ||\r\n\t\t\t\t\t\t\t\t// As well, disconnected nodes are said to be in a document\r\n\t\t\t\t\t\t\t\t// fragment in IE 9\r\n\t\t\t\t\t\t\t\telem.document && elem.document.nodeType !== 11 ) {\r\n\t\t\t\t\t\t\treturn ret;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} catch(e) {}\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn Sizzle( expr, null, null, [ elem ] ).length > 0;\r\n\t\t\t};\r\n\t\t}\r\n\t})();\r\n}\r\n\r\n// Deprecated\r\nExpr.pseudos[\"nth\"] = Expr.pseudos[\"eq\"];\r\n\r\n// Back-compat\r\nfunction setFilters() {}\r\nExpr.filters = setFilters.prototype = Expr.pseudos;\r\nExpr.setFilters = new setFilters();\r\n\r\n// Override sizzle attribute retrieval\r\nSizzle.attr = jQuery.attr;\r\njQuery.find = Sizzle;\r\njQuery.expr = Sizzle.selectors;\r\njQuery.expr[\":\"] = jQuery.expr.pseudos;\r\njQuery.unique = Sizzle.uniqueSort;\r\njQuery.text = Sizzle.getText;\r\njQuery.isXMLDoc = Sizzle.isXML;\r\njQuery.contains = Sizzle.contains;\r\n\r\n\r\n})( window );\r\nvar runtil = /Until$/,\r\n\trparentsprev = /^(?:parents|prev(?:Until|All))/,\r\n\tisSimple = /^.[^:#\\[\\.,]*$/,\r\n\trneedsContext = jQuery.expr.match.needsContext,\r\n\t// methods guaranteed to produce a unique set when starting from a unique set\r\n\tguaranteedUnique = {\r\n\t\tchildren: true,\r\n\t\tcontents: true,\r\n\t\tnext: true,\r\n\t\tprev: true\r\n\t};\r\n\r\njQuery.fn.extend({\r\n\tfind: function( selector ) {\r\n\t\tvar i, l, length, n, r, ret,\r\n\t\t\tself = this;\r\n\r\n\t\tif ( typeof selector !== \"string\" ) {\r\n\t\t\treturn jQuery( selector ).filter(function() {\r\n\t\t\t\tfor ( i = 0, l = self.length; i < l; i++ ) {\r\n\t\t\t\t\tif ( jQuery.contains( self[ i ], this ) ) {\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}\r\n\r\n\t\tret = this.pushStack( \"\", \"find\", selector );\r\n\r\n\t\tfor ( i = 0, l = this.length; i < l; i++ ) {\r\n\t\t\tlength = ret.length;\r\n\t\t\tjQuery.find( selector, this[i], ret );\r\n\r\n\t\t\tif ( i > 0 ) {\r\n\t\t\t\t// Make sure that the results are unique\r\n\t\t\t\tfor ( n = length; n < ret.length; n++ ) {\r\n\t\t\t\t\tfor ( r = 0; r < length; r++ ) {\r\n\t\t\t\t\t\tif ( ret[r] === ret[n] ) {\r\n\t\t\t\t\t\t\tret.splice(n--, 1);\r\n\t\t\t\t\t\t\tbreak;\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}\r\n\r\n\t\treturn ret;\r\n\t},\r\n\r\n\thas: function( target ) {\r\n\t\tvar i,\r\n\t\t\ttargets = jQuery( target, this ),\r\n\t\t\tlen = targets.length;\r\n\r\n\t\treturn this.filter(function() {\r\n\t\t\tfor ( i = 0; i < len; i++ ) {\r\n\t\t\t\tif ( jQuery.contains( this, targets[i] ) ) {\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t},\r\n\r\n\tnot: function( selector ) {\r\n\t\treturn this.pushStack( winnow(this, selector, false), \"not\", selector);\r\n\t},\r\n\r\n\tfilter: function( selector ) {\r\n\t\treturn this.pushStack( winnow(this, selector, true), \"filter\", selector );\r\n\t},\r\n\r\n\tis: function( selector ) {\r\n\t\treturn !!selector && (\r\n\t\t\ttypeof selector === \"string\" ?\r\n\t\t\t\t// If this is a positional/relative selector, check membership in the returned set\r\n\t\t\t\t// so $(\"p:first\").is(\"p:last\") won't return true for a doc with two \"p\".\r\n\t\t\t\trneedsContext.test( selector ) ?\r\n\t\t\t\t\tjQuery( selector, this.context ).index( this[0] ) >= 0 :\r\n\t\t\t\t\tjQuery.filter( selector, this ).length > 0 :\r\n\t\t\t\tthis.filter( selector ).length > 0 );\r\n\t},\r\n\r\n\tclosest: function( selectors, context ) {\r\n\t\tvar cur,\r\n\t\t\ti = 0,\r\n\t\t\tl = this.length,\r\n\t\t\tret = [],\r\n\t\t\tpos = rneedsContext.test( selectors ) || typeof selectors !== \"string\" ?\r\n\t\t\t\tjQuery( selectors, context || this.context ) :\r\n\t\t\t\t0;\r\n\r\n\t\tfor ( ; i < l; i++ ) {\r\n\t\t\tcur = this[i];\r\n\r\n\t\t\twhile ( cur && cur.ownerDocument && cur !== context && cur.nodeType !== 11 ) {\r\n\t\t\t\tif ( pos ? pos.index(cur) > -1 : jQuery.find.matchesSelector(cur, selectors) ) {\r\n\t\t\t\t\tret.push( cur );\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t\tcur = cur.parentNode;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tret = ret.length > 1 ? jQuery.unique( ret ) : ret;\r\n\r\n\t\treturn this.pushStack( ret, \"closest\", selectors );\r\n\t},\r\n\r\n\t// Determine the position of an element within\r\n\t// the matched set of elements\r\n\tindex: function( elem ) {\r\n\r\n\t\t// No argument, return index in parent\r\n\t\tif ( !elem ) {\r\n\t\t\treturn ( this[0] && this[0].parentNode ) ? this.prevAll().length : -1;\r\n\t\t}\r\n\r\n\t\t// index in selector\r\n\t\tif ( typeof elem === \"string\" ) {\r\n\t\t\treturn jQuery.inArray( this[0], jQuery( elem ) );\r\n\t\t}\r\n\r\n\t\t// Locate the position of the desired element\r\n\t\treturn jQuery.inArray(\r\n\t\t\t// If it receives a jQuery object, the first element is used\r\n\t\t\telem.jquery ? elem[0] : elem, this );\r\n\t},\r\n\r\n\tadd: function( selector, context ) {\r\n\t\tvar set = typeof selector === \"string\" ?\r\n\t\t\t\tjQuery( selector, context ) :\r\n\t\t\t\tjQuery.makeArray( selector && selector.nodeType ? [ selector ] : selector ),\r\n\t\t\tall = jQuery.merge( this.get(), set );\r\n\r\n\t\treturn this.pushStack( isDisconnected( set[0] ) || isDisconnected( all[0] ) ?\r\n\t\t\tall :\r\n\t\t\tjQuery.unique( all ) );\r\n\t},\r\n\r\n\taddBack: function( selector ) {\r\n\t\treturn this.add( selector == null ?\r\n\t\t\tthis.prevObject : this.prevObject.filter(selector)\r\n\t\t);\r\n\t}\r\n});\r\n\r\njQuery.fn.andSelf = jQuery.fn.addBack;\r\n\r\n// A painfully simple check to see if an element is disconnected\r\n// from a document (should be improved, where feasible).\r\nfunction isDisconnected( node ) {\r\n\treturn !node || !node.parentNode || node.parentNode.nodeType === 11;\r\n}\r\n\r\nfunction sibling( cur, dir ) {\r\n\tdo {\r\n\t\tcur = cur[ dir ];\r\n\t} while ( cur && cur.nodeType !== 1 );\r\n\r\n\treturn cur;\r\n}\r\n\r\njQuery.each({\r\n\tparent: function( elem ) {\r\n\t\tvar parent = elem.parentNode;\r\n\t\treturn parent && parent.nodeType !== 11 ? parent : null;\r\n\t},\r\n\tparents: function( elem ) {\r\n\t\treturn jQuery.dir( elem, \"parentNode\" );\r\n\t},\r\n\tparentsUntil: function( elem, i, until ) {\r\n\t\treturn jQuery.dir( elem, \"parentNode\", until );\r\n\t},\r\n\tnext: function( elem ) {\r\n\t\treturn sibling( elem, \"nextSibling\" );\r\n\t},\r\n\tprev: function( elem ) {\r\n\t\treturn sibling( elem, \"previousSibling\" );\r\n\t},\r\n\tnextAll: function( elem ) {\r\n\t\treturn jQuery.dir( elem, \"nextSibling\" );\r\n\t},\r\n\tprevAll: function( elem ) {\r\n\t\treturn jQuery.dir( elem, \"previousSibling\" );\r\n\t},\r\n\tnextUntil: function( elem, i, until ) {\r\n\t\treturn jQuery.dir( elem, \"nextSibling\", until );\r\n\t},\r\n\tprevUntil: function( elem, i, until ) {\r\n\t\treturn jQuery.dir( elem, \"previousSibling\", until );\r\n\t},\r\n\tsiblings: function( elem ) {\r\n\t\treturn jQuery.sibling( ( elem.parentNode || {} ).firstChild, elem );\r\n\t},\r\n\tchildren: function( elem ) {\r\n\t\treturn jQuery.sibling( elem.firstChild );\r\n\t},\r\n\tcontents: function( elem ) {\r\n\t\treturn jQuery.nodeName( elem, \"iframe\" ) ?\r\n\t\t\telem.contentDocument || elem.contentWindow.document :\r\n\t\t\tjQuery.merge( [], elem.childNodes );\r\n\t}\r\n}, function( name, fn ) {\r\n\tjQuery.fn[ name ] = function( until, selector ) {\r\n\t\tvar ret = jQuery.map( this, fn, until );\r\n\r\n\t\tif ( !runtil.test( name ) ) {\r\n\t\t\tselector = until;\r\n\t\t}\r\n\r\n\t\tif ( selector && typeof selector === \"string\" ) {\r\n\t\t\tret = jQuery.filter( selector, ret );\r\n\t\t}\r\n\r\n\t\tret = this.length > 1 && !guaranteedUnique[ name ] ? jQuery.unique( ret ) : ret;\r\n\r\n\t\tif ( this.length > 1 && rparentsprev.test( name ) ) {\r\n\t\t\tret = ret.reverse();\r\n\t\t}\r\n\r\n\t\treturn this.pushStack( ret, name, core_slice.call( arguments ).join(\",\") );\r\n\t};\r\n});\r\n\r\njQuery.extend({\r\n\tfilter: function( expr, elems, not ) {\r\n\t\tif ( not ) {\r\n\t\t\texpr = \":not(\" + expr + \")\";\r\n\t\t}\r\n\r\n\t\treturn elems.length === 1 ?\r\n\t\t\tjQuery.find.matchesSelector(elems[0], expr) ? [ elems[0] ] : [] :\r\n\t\t\tjQuery.find.matches(expr, elems);\r\n\t},\r\n\r\n\tdir: function( elem, dir, until ) {\r\n\t\tvar matched = [],\r\n\t\t\tcur = elem[ dir ];\r\n\r\n\t\twhile ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !jQuery( cur ).is( until )) ) {\r\n\t\t\tif ( cur.nodeType === 1 ) {\r\n\t\t\t\tmatched.push( cur );\r\n\t\t\t}\r\n\t\t\tcur = cur[dir];\r\n\t\t}\r\n\t\treturn matched;\r\n\t},\r\n\r\n\tsibling: function( n, elem ) {\r\n\t\tvar r = [];\r\n\r\n\t\tfor ( ; n; n = n.nextSibling ) {\r\n\t\t\tif ( n.nodeType === 1 && n !== elem ) {\r\n\t\t\t\tr.push( n );\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn r;\r\n\t}\r\n});\r\n\r\n// Implement the identical functionality for filter and not\r\nfunction winnow( elements, qualifier, keep ) {\r\n\r\n\t// Can't pass null or undefined to indexOf in Firefox 4\r\n\t// Set to 0 to skip string check\r\n\tqualifier = qualifier || 0;\r\n\r\n\tif ( jQuery.isFunction( qualifier ) ) {\r\n\t\treturn jQuery.grep(elements, function( elem, i ) {\r\n\t\t\tvar retVal = !!qualifier.call( elem, i, elem );\r\n\t\t\treturn retVal === keep;\r\n\t\t});\r\n\r\n\t} else if ( qualifier.nodeType ) {\r\n\t\treturn jQuery.grep(elements, function( elem, i ) {\r\n\t\t\treturn ( elem === qualifier ) === keep;\r\n\t\t});\r\n\r\n\t} else if ( typeof qualifier === \"string\" ) {\r\n\t\tvar filtered = jQuery.grep(elements, function( elem ) {\r\n\t\t\treturn elem.nodeType === 1;\r\n\t\t});\r\n\r\n\t\tif ( isSimple.test( qualifier ) ) {\r\n\t\t\treturn jQuery.filter(qualifier, filtered, !keep);\r\n\t\t} else {\r\n\t\t\tqualifier = jQuery.filter( qualifier, filtered );\r\n\t\t}\r\n\t}\r\n\r\n\treturn jQuery.grep(elements, function( elem, i ) {\r\n\t\treturn ( jQuery.inArray( elem, qualifier ) >= 0 ) === keep;\r\n\t});\r\n}\r\nfunction createSafeFragment( document ) {\r\n\tvar list = nodeNames.split( \"|\" ),\r\n\tsafeFrag = document.createDocumentFragment();\r\n\r\n\tif ( safeFrag.createElement ) {\r\n\t\twhile ( list.length ) {\r\n\t\t\tsafeFrag.createElement(\r\n\t\t\t\tlist.pop()\r\n\t\t\t);\r\n\t\t}\r\n\t}\r\n\treturn safeFrag;\r\n}\r\n\r\nvar nodeNames = \"abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|\" +\r\n\t\t\"header|hgroup|mark|meter|nav|output|progress|section|summary|time|video\",\r\n\trinlinejQuery = / jQuery\\d+=\"(?:null|\\d+)\"/g,\r\n\trleadingWhitespace = /^\\s+/,\r\n\trxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\\w:]+)[^>]*)\\/>/gi,\r\n\trtagName = /<([\\w:]+)/,\r\n\trtbody = /<tbody/i,\r\n\trhtml = /<|&#?\\w+;/,\r\n\trnoInnerhtml = /<(?:script|style|link)/i,\r\n\trnocache = /<(?:script|object|embed|option|style)/i,\r\n\trnoshimcache = new RegExp(\"<(?:\" + nodeNames + \")[\\\\s/>]\", \"i\"),\r\n\trcheckableType = /^(?:checkbox|radio)$/,\r\n\t// checked=\"checked\" or checked\r\n\trchecked = /checked\\s*(?:[^=]|=\\s*.checked.)/i,\r\n\trscriptType = /\\/(java|ecma)script/i,\r\n\trcleanScript = /^\\s*<!(?:\\[CDATA\\[|\\-\\-)|[\\]\\-]{2}>\\s*$/g,\r\n\twrapMap = {\r\n\t\toption: [ 1, \"<select multiple='multiple'>\", \"</select>\" ],\r\n\t\tlegend: [ 1, \"<fieldset>\", \"</fieldset>\" ],\r\n\t\tthead: [ 1, \"<table>\", \"</table>\" ],\r\n\t\ttr: [ 2, \"<table><tbody>\", \"</tbody></table>\" ],\r\n\t\ttd: [ 3, \"<table><tbody><tr>\", \"</tr></tbody></table>\" ],\r\n\t\tcol: [ 2, \"<table><tbody></tbody><colgroup>\", \"</colgroup></table>\" ],\r\n\t\tarea: [ 1, \"<map>\", \"</map>\" ],\r\n\t\t_default: [ 0, \"\", \"\" ]\r\n\t},\r\n\tsafeFragment = createSafeFragment( document ),\r\n\tfragmentDiv = safeFragment.appendChild( document.createElement(\"div\") );\r\n\r\nwrapMap.optgroup = wrapMap.option;\r\nwrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;\r\nwrapMap.th = wrapMap.td;\r\n\r\n// IE6-8 can't serialize link, script, style, or any html5 (NoScope) tags,\r\n// unless wrapped in a div with non-breaking characters in front of it.\r\nif ( !jQuery.support.htmlSerialize ) {\r\n\twrapMap._default = [ 1, \"X<div>\", \"</div>\" ];\r\n}\r\n\r\njQuery.fn.extend({\r\n\ttext: function( value ) {\r\n\t\treturn jQuery.access( this, function( value ) {\r\n\t\t\treturn value === undefined ?\r\n\t\t\t\tjQuery.text( this ) :\r\n\t\t\t\tthis.empty().append( ( this[0] && this[0].ownerDocument || document ).createTextNode( value ) );\r\n\t\t}, null, value, arguments.length );\r\n\t},\r\n\r\n\twrapAll: function( html ) {\r\n\t\tif ( jQuery.isFunction( html ) ) {\r\n\t\t\treturn this.each(function(i) {\r\n\t\t\t\tjQuery(this).wrapAll( html.call(this, i) );\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tif ( this[0] ) {\r\n\t\t\t// The elements to wrap the target around\r\n\t\t\tvar wrap = jQuery( html, this[0].ownerDocument ).eq(0).clone(true);\r\n\r\n\t\t\tif ( this[0].parentNode ) {\r\n\t\t\t\twrap.insertBefore( this[0] );\r\n\t\t\t}\r\n\r\n\t\t\twrap.map(function() {\r\n\t\t\t\tvar elem = this;\r\n\r\n\t\t\t\twhile ( elem.firstChild && elem.firstChild.nodeType === 1 ) {\r\n\t\t\t\t\telem = elem.firstChild;\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn elem;\r\n\t\t\t}).append( this );\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\t},\r\n\r\n\twrapInner: function( html ) {\r\n\t\tif ( jQuery.isFunction( html ) ) {\r\n\t\t\treturn this.each(function(i) {\r\n\t\t\t\tjQuery(this).wrapInner( html.call(this, i) );\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\treturn this.each(function() {\r\n\t\t\tvar self = jQuery( this ),\r\n\t\t\t\tcontents = self.contents();\r\n\r\n\t\t\tif ( contents.length ) {\r\n\t\t\t\tcontents.wrapAll( html );\r\n\r\n\t\t\t} else {\r\n\t\t\t\tself.append( html );\r\n\t\t\t}\r\n\t\t});\r\n\t},\r\n\r\n\twrap: function( html ) {\r\n\t\tvar isFunction = jQuery.isFunction( html );\r\n\r\n\t\treturn this.each(function(i) {\r\n\t\t\tjQuery( this ).wrapAll( isFunction ? html.call(this, i) : html );\r\n\t\t});\r\n\t},\r\n\r\n\tunwrap: function() {\r\n\t\treturn this.parent().each(function() {\r\n\t\t\tif ( !jQuery.nodeName( this, \"body\" ) ) {\r\n\t\t\t\tjQuery( this ).replaceWith( this.childNodes );\r\n\t\t\t}\r\n\t\t}).end();\r\n\t},\r\n\r\n\tappend: function() {\r\n\t\treturn this.domManip(arguments, true, function( elem ) {\r\n\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 ) {\r\n\t\t\t\tthis.appendChild( elem );\r\n\t\t\t}\r\n\t\t});\r\n\t},\r\n\r\n\tprepend: function() {\r\n\t\treturn this.domManip(arguments, true, function( elem ) {\r\n\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 ) {\r\n\t\t\t\tthis.insertBefore( elem, this.firstChild );\r\n\t\t\t}\r\n\t\t});\r\n\t},\r\n\r\n\tbefore: function() {\r\n\t\tif ( !isDisconnected( this[0] ) ) {\r\n\t\t\treturn this.domManip(arguments, false, function( elem ) {\r\n\t\t\t\tthis.parentNode.insertBefore( elem, this );\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tif ( arguments.length ) {\r\n\t\t\tvar set = jQuery.clean( arguments );\r\n\t\t\treturn this.pushStack( jQuery.merge( set, this ), \"before\", this.selector );\r\n\t\t}\r\n\t},\r\n\r\n\tafter: function() {\r\n\t\tif ( !isDisconnected( this[0] ) ) {\r\n\t\t\treturn this.domManip(arguments, false, function( elem ) {\r\n\t\t\t\tthis.parentNode.insertBefore( elem, this.nextSibling );\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tif ( arguments.length ) {\r\n\t\t\tvar set = jQuery.clean( arguments );\r\n\t\t\treturn this.pushStack( jQuery.merge( this, set ), \"after\", this.selector );\r\n\t\t}\r\n\t},\r\n\r\n\t// keepData is for internal use only--do not document\r\n\tremove: function( selector, keepData ) {\r\n\t\tvar elem,\r\n\t\t\ti = 0;\r\n\r\n\t\tfor ( ; (elem = this[i]) != null; i++ ) {\r\n\t\t\tif ( !selector || jQuery.filter( selector, [ elem ] ).length ) {\r\n\t\t\t\tif ( !keepData && elem.nodeType === 1 ) {\r\n\t\t\t\t\tjQuery.cleanData( elem.getElementsByTagName(\"*\") );\r\n\t\t\t\t\tjQuery.cleanData( [ elem ] );\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif ( elem.parentNode ) {\r\n\t\t\t\t\telem.parentNode.removeChild( elem );\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\t},\r\n\r\n\tempty: function() {\r\n\t\tvar elem,\r\n\t\t\ti = 0;\r\n\r\n\t\tfor ( ; (elem = this[i]) != null; i++ ) {\r\n\t\t\t// Remove element nodes and prevent memory leaks\r\n\t\t\tif ( elem.nodeType === 1 ) {\r\n\t\t\t\tjQuery.cleanData( elem.getElementsByTagName(\"*\") );\r\n\t\t\t}\r\n\r\n\t\t\t// Remove any remaining nodes\r\n\t\t\twhile ( elem.firstChild ) {\r\n\t\t\t\telem.removeChild( elem.firstChild );\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\t},\r\n\r\n\tclone: function( dataAndEvents, deepDataAndEvents ) {\r\n\t\tdataAndEvents = dataAndEvents == null ? false : dataAndEvents;\r\n\t\tdeepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;\r\n\r\n\t\treturn this.map( function () {\r\n\t\t\treturn jQuery.clone( this, dataAndEvents, deepDataAndEvents );\r\n\t\t});\r\n\t},\r\n\r\n\thtml: function( value ) {\r\n\t\treturn jQuery.access( this, function( value ) {\r\n\t\t\tvar elem = this[0] || {},\r\n\t\t\t\ti = 0,\r\n\t\t\t\tl = this.length;\r\n\r\n\t\t\tif ( value === undefined ) {\r\n\t\t\t\treturn elem.nodeType === 1 ?\r\n\t\t\t\t\telem.innerHTML.replace( rinlinejQuery, \"\" ) :\r\n\t\t\t\t\tundefined;\r\n\t\t\t}\r\n\r\n\t\t\t// See if we can take a shortcut and just use innerHTML\r\n\t\t\tif ( typeof value === \"string\" && !rnoInnerhtml.test( value ) &&\r\n\t\t\t\t( jQuery.support.htmlSerialize || !rnoshimcache.test( value )  ) &&\r\n\t\t\t\t( jQuery.support.leadingWhitespace || !rleadingWhitespace.test( value ) ) &&\r\n\t\t\t\t!wrapMap[ ( rtagName.exec( value ) || [\"\", \"\"] )[1].toLowerCase() ] ) {\r\n\r\n\t\t\t\tvalue = value.replace( rxhtmlTag, \"<$1></$2>\" );\r\n\r\n\t\t\t\ttry {\r\n\t\t\t\t\tfor (; i < l; i++ ) {\r\n\t\t\t\t\t\t// Remove element nodes and prevent memory leaks\r\n\t\t\t\t\t\telem = this[i] || {};\r\n\t\t\t\t\t\tif ( elem.nodeType === 1 ) {\r\n\t\t\t\t\t\t\tjQuery.cleanData( elem.getElementsByTagName( \"*\" ) );\r\n\t\t\t\t\t\t\telem.innerHTML = value;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\telem = 0;\r\n\r\n\t\t\t\t// If using innerHTML throws an exception, use the fallback method\r\n\t\t\t\t} catch(e) {}\r\n\t\t\t}\r\n\r\n\t\t\tif ( elem ) {\r\n\t\t\t\tthis.empty().append( value );\r\n\t\t\t}\r\n\t\t}, null, value, arguments.length );\r\n\t},\r\n\r\n\treplaceWith: function( value ) {\r\n\t\tif ( !isDisconnected( this[0] ) ) {\r\n\t\t\t// Make sure that the elements are removed from the DOM before they are inserted\r\n\t\t\t// this can help fix replacing a parent with child elements\r\n\t\t\tif ( jQuery.isFunction( value ) ) {\r\n\t\t\t\treturn this.each(function(i) {\r\n\t\t\t\t\tvar self = jQuery(this), old = self.html();\r\n\t\t\t\t\tself.replaceWith( value.call( this, i, old ) );\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tif ( typeof value !== \"string\" ) {\r\n\t\t\t\tvalue = jQuery( value ).detach();\r\n\t\t\t}\r\n\r\n\t\t\treturn this.each(function() {\r\n\t\t\t\tvar next = this.nextSibling,\r\n\t\t\t\t\tparent = this.parentNode;\r\n\r\n\t\t\t\tjQuery( this ).remove();\r\n\r\n\t\t\t\tif ( next ) {\r\n\t\t\t\t\tjQuery(next).before( value );\r\n\t\t\t\t} else {\r\n\t\t\t\t\tjQuery(parent).append( value );\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\treturn this.length ?\r\n\t\t\tthis.pushStack( jQuery(jQuery.isFunction(value) ? value() : value), \"replaceWith\", value ) :\r\n\t\t\tthis;\r\n\t},\r\n\r\n\tdetach: function( selector ) {\r\n\t\treturn this.remove( selector, true );\r\n\t},\r\n\r\n\tdomManip: function( args, table, callback ) {\r\n\r\n\t\t// Flatten any nested arrays\r\n\t\targs = [].concat.apply( [], args );\r\n\r\n\t\tvar results, first, fragment, iNoClone,\r\n\t\t\ti = 0,\r\n\t\t\tvalue = args[0],\r\n\t\t\tscripts = [],\r\n\t\t\tl = this.length;\r\n\r\n\t\t// We can't cloneNode fragments that contain checked, in WebKit\r\n\t\tif ( !jQuery.support.checkClone && l > 1 && typeof value === \"string\" && rchecked.test( value ) ) {\r\n\t\t\treturn this.each(function() {\r\n\t\t\t\tjQuery(this).domManip( args, table, callback );\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tif ( jQuery.isFunction(value) ) {\r\n\t\t\treturn this.each(function(i) {\r\n\t\t\t\tvar self = jQuery(this);\r\n\t\t\t\targs[0] = value.call( this, i, table ? self.html() : undefined );\r\n\t\t\t\tself.domManip( args, table, callback );\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tif ( this[0] ) {\r\n\t\t\tresults = jQuery.buildFragment( args, this, scripts );\r\n\t\t\tfragment = results.fragment;\r\n\t\t\tfirst = fragment.firstChild;\r\n\r\n\t\t\tif ( fragment.childNodes.length === 1 ) {\r\n\t\t\t\tfragment = first;\r\n\t\t\t}\r\n\r\n\t\t\tif ( first ) {\r\n\t\t\t\ttable = table && jQuery.nodeName( first, \"tr\" );\r\n\r\n\t\t\t\t// Use the original fragment for the last item instead of the first because it can end up\r\n\t\t\t\t// being emptied incorrectly in certain situations (#8070).\r\n\t\t\t\t// Fragments from the fragment cache must always be cloned and never used in place.\r\n\t\t\t\tfor ( iNoClone = results.cacheable || l - 1; i < l; i++ ) {\r\n\t\t\t\t\tcallback.call(\r\n\t\t\t\t\t\ttable && jQuery.nodeName( this[i], \"table\" ) ?\r\n\t\t\t\t\t\t\tfindOrAppend( this[i], \"tbody\" ) :\r\n\t\t\t\t\t\t\tthis[i],\r\n\t\t\t\t\t\ti === iNoClone ?\r\n\t\t\t\t\t\t\tfragment :\r\n\t\t\t\t\t\t\tjQuery.clone( fragment, true, true )\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// Fix #11809: Avoid leaking memory\r\n\t\t\tfragment = first = null;\r\n\r\n\t\t\tif ( scripts.length ) {\r\n\t\t\t\tjQuery.each( scripts, function( i, elem ) {\r\n\t\t\t\t\tif ( elem.src ) {\r\n\t\t\t\t\t\tif ( jQuery.ajax ) {\r\n\t\t\t\t\t\t\tjQuery.ajax({\r\n\t\t\t\t\t\t\t\turl: elem.src,\r\n\t\t\t\t\t\t\t\ttype: \"GET\",\r\n\t\t\t\t\t\t\t\tdataType: \"script\",\r\n\t\t\t\t\t\t\t\tasync: false,\r\n\t\t\t\t\t\t\t\tglobal: false,\r\n\t\t\t\t\t\t\t\t\"throws\": true\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tjQuery.error(\"no ajax\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tjQuery.globalEval( ( elem.text || elem.textContent || elem.innerHTML || \"\" ).replace( rcleanScript, \"\" ) );\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif ( elem.parentNode ) {\r\n\t\t\t\t\t\telem.parentNode.removeChild( elem );\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn this;\r\n\t}\r\n});\r\n\r\nfunction findOrAppend( elem, tag ) {\r\n\treturn elem.getElementsByTagName( tag )[0] || elem.appendChild( elem.ownerDocument.createElement( tag ) );\r\n}\r\n\r\nfunction cloneCopyEvent( src, dest ) {\r\n\r\n\tif ( dest.nodeType !== 1 || !jQuery.hasData( src ) ) {\r\n\t\treturn;\r\n\t}\r\n\r\n\tvar type, i, l,\r\n\t\toldData = jQuery._data( src ),\r\n\t\tcurData = jQuery._data( dest, oldData ),\r\n\t\tevents = oldData.events;\r\n\r\n\tif ( events ) {\r\n\t\tdelete curData.handle;\r\n\t\tcurData.events = {};\r\n\r\n\t\tfor ( type in events ) {\r\n\t\t\tfor ( i = 0, l = events[ type ].length; i < l; i++ ) {\r\n\t\t\t\tjQuery.event.add( dest, type, events[ type ][ i ] );\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// make the cloned public data object a copy from the original\r\n\tif ( curData.data ) {\r\n\t\tcurData.data = jQuery.extend( {}, curData.data );\r\n\t}\r\n}\r\n\r\nfunction cloneFixAttributes( src, dest ) {\r\n\tvar nodeName;\r\n\r\n\t// We do not need to do anything for non-Elements\r\n\tif ( dest.nodeType !== 1 ) {\r\n\t\treturn;\r\n\t}\r\n\r\n\t// clearAttributes removes the attributes, which we don't want,\r\n\t// but also removes the attachEvent events, which we *do* want\r\n\tif ( dest.clearAttributes ) {\r\n\t\tdest.clearAttributes();\r\n\t}\r\n\r\n\t// mergeAttributes, in contrast, only merges back on the\r\n\t// original attributes, not the events\r\n\tif ( dest.mergeAttributes ) {\r\n\t\tdest.mergeAttributes( src );\r\n\t}\r\n\r\n\tnodeName = dest.nodeName.toLowerCase();\r\n\r\n\tif ( nodeName === \"object\" ) {\r\n\t\t// IE6-10 improperly clones children of object elements using classid.\r\n\t\t// IE10 throws NoModificationAllowedError if parent is null, #12132.\r\n\t\tif ( dest.parentNode ) {\r\n\t\t\tdest.outerHTML = src.outerHTML;\r\n\t\t}\r\n\r\n\t\t// This path appears unavoidable for IE9. When cloning an object\r\n\t\t// element in IE9, the outerHTML strategy above is not sufficient.\r\n\t\t// If the src has innerHTML and the destination does not,\r\n\t\t// copy the src.innerHTML into the dest.innerHTML. #10324\r\n\t\tif ( jQuery.support.html5Clone && (src.innerHTML && !jQuery.trim(dest.innerHTML)) ) {\r\n\t\t\tdest.innerHTML = src.innerHTML;\r\n\t\t}\r\n\r\n\t} else if ( nodeName === \"input\" && rcheckableType.test( src.type ) ) {\r\n\t\t// IE6-8 fails to persist the checked state of a cloned checkbox\r\n\t\t// or radio button. Worse, IE6-7 fail to give the cloned element\r\n\t\t// a checked appearance if the defaultChecked value isn't also set\r\n\r\n\t\tdest.defaultChecked = dest.checked = src.checked;\r\n\r\n\t\t// IE6-7 get confused and end up setting the value of a cloned\r\n\t\t// checkbox/radio button to an empty string instead of \"on\"\r\n\t\tif ( dest.value !== src.value ) {\r\n\t\t\tdest.value = src.value;\r\n\t\t}\r\n\r\n\t// IE6-8 fails to return the selected option to the default selected\r\n\t// state when cloning options\r\n\t} else if ( nodeName === \"option\" ) {\r\n\t\tdest.selected = src.defaultSelected;\r\n\r\n\t// IE6-8 fails to set the defaultValue to the correct value when\r\n\t// cloning other types of input fields\r\n\t} else if ( nodeName === \"input\" || nodeName === \"textarea\" ) {\r\n\t\tdest.defaultValue = src.defaultValue;\r\n\r\n\t// IE blanks contents when cloning scripts\r\n\t} else if ( nodeName === \"script\" && dest.text !== src.text ) {\r\n\t\tdest.text = src.text;\r\n\t}\r\n\r\n\t// Event data gets referenced instead of copied if the expando\r\n\t// gets copied too\r\n\tdest.removeAttribute( jQuery.expando );\r\n}\r\n\r\njQuery.buildFragment = function( args, context, scripts ) {\r\n\tvar fragment, cacheable, cachehit,\r\n\t\tfirst = args[ 0 ];\r\n\r\n\t// Set context from what may come in as undefined or a jQuery collection or a node\r\n\t// Updated to fix #12266 where accessing context[0] could throw an exception in IE9/10 &\r\n\t// also doubles as fix for #8950 where plain objects caused createDocumentFragment exception\r\n\tcontext = context || document;\r\n\tcontext = !context.nodeType && context[0] || context;\r\n\tcontext = context.ownerDocument || context;\r\n\r\n\t// Only cache \"small\" (1/2 KB) HTML strings that are associated with the main document\r\n\t// Cloning options loses the selected state, so don't cache them\r\n\t// IE 6 doesn't like it when you put <object> or <embed> elements in a fragment\r\n\t// Also, WebKit does not clone 'checked' attributes on cloneNode, so don't cache\r\n\t// Lastly, IE6,7,8 will not correctly reuse cached fragments that were created from unknown elems #10501\r\n\tif ( args.length === 1 && typeof first === \"string\" && first.length < 512 && context === document &&\r\n\t\tfirst.charAt(0) === \"<\" && !rnocache.test( first ) &&\r\n\t\t(jQuery.support.checkClone || !rchecked.test( first )) &&\r\n\t\t(jQuery.support.html5Clone || !rnoshimcache.test( first )) ) {\r\n\r\n\t\t// Mark cacheable and look for a hit\r\n\t\tcacheable = true;\r\n\t\tfragment = jQuery.fragments[ first ];\r\n\t\tcachehit = fragment !== undefined;\r\n\t}\r\n\r\n\tif ( !fragment ) {\r\n\t\tfragment = context.createDocumentFragment();\r\n\t\tjQuery.clean( args, context, fragment, scripts );\r\n\r\n\t\t// Update the cache, but only store false\r\n\t\t// unless this is a second parsing of the same content\r\n\t\tif ( cacheable ) {\r\n\t\t\tjQuery.fragments[ first ] = cachehit && fragment;\r\n\t\t}\r\n\t}\r\n\r\n\treturn { fragment: fragment, cacheable: cacheable };\r\n};\r\n\r\njQuery.fragments = {};\r\n\r\njQuery.each({\r\n\tappendTo: \"append\",\r\n\tprependTo: \"prepend\",\r\n\tinsertBefore: \"before\",\r\n\tinsertAfter: \"after\",\r\n\treplaceAll: \"replaceWith\"\r\n}, function( name, original ) {\r\n\tjQuery.fn[ name ] = function( selector ) {\r\n\t\tvar elems,\r\n\t\t\ti = 0,\r\n\t\t\tret = [],\r\n\t\t\tinsert = jQuery( selector ),\r\n\t\t\tl = insert.length,\r\n\t\t\tparent = this.length === 1 && this[0].parentNode;\r\n\r\n\t\tif ( (parent == null || parent && parent.nodeType === 11 && parent.childNodes.length === 1) && l === 1 ) {\r\n\t\t\tinsert[ original ]( this[0] );\r\n\t\t\treturn this;\r\n\t\t} else {\r\n\t\t\tfor ( ; i < l; i++ ) {\r\n\t\t\t\telems = ( i > 0 ? this.clone(true) : this ).get();\r\n\t\t\t\tjQuery( insert[i] )[ original ]( elems );\r\n\t\t\t\tret = ret.concat( elems );\r\n\t\t\t}\r\n\r\n\t\t\treturn this.pushStack( ret, name, insert.selector );\r\n\t\t}\r\n\t};\r\n});\r\n\r\nfunction getAll( elem ) {\r\n\tif ( typeof elem.getElementsByTagName !== \"undefined\" ) {\r\n\t\treturn elem.getElementsByTagName( \"*\" );\r\n\r\n\t} else if ( typeof elem.querySelectorAll !== \"undefined\" ) {\r\n\t\treturn elem.querySelectorAll( \"*\" );\r\n\r\n\t} else {\r\n\t\treturn [];\r\n\t}\r\n}\r\n\r\n// Used in clean, fixes the defaultChecked property\r\nfunction fixDefaultChecked( elem ) {\r\n\tif ( rcheckableType.test( elem.type ) ) {\r\n\t\telem.defaultChecked = elem.checked;\r\n\t}\r\n}\r\n\r\njQuery.extend({\r\n\tclone: function( elem, dataAndEvents, deepDataAndEvents ) {\r\n\t\tvar srcElements,\r\n\t\t\tdestElements,\r\n\t\t\ti,\r\n\t\t\tclone;\r\n\r\n\t\tif ( jQuery.support.html5Clone || jQuery.isXMLDoc(elem) || !rnoshimcache.test( \"<\" + elem.nodeName + \">\" ) ) {\r\n\t\t\tclone = elem.cloneNode( true );\r\n\r\n\t\t// IE<=8 does not properly clone detached, unknown element nodes\r\n\t\t} else {\r\n\t\t\tfragmentDiv.innerHTML = elem.outerHTML;\r\n\t\t\tfragmentDiv.removeChild( clone = fragmentDiv.firstChild );\r\n\t\t}\r\n\r\n\t\tif ( (!jQuery.support.noCloneEvent || !jQuery.support.noCloneChecked) &&\r\n\t\t\t\t(elem.nodeType === 1 || elem.nodeType === 11) && !jQuery.isXMLDoc(elem) ) {\r\n\t\t\t// IE copies events bound via attachEvent when using cloneNode.\r\n\t\t\t// Calling detachEvent on the clone will also remove the events\r\n\t\t\t// from the original. In order to get around this, we use some\r\n\t\t\t// proprietary methods to clear the events. Thanks to MooTools\r\n\t\t\t// guys for this hotness.\r\n\r\n\t\t\tcloneFixAttributes( elem, clone );\r\n\r\n\t\t\t// Using Sizzle here is crazy slow, so we use getElementsByTagName instead\r\n\t\t\tsrcElements = getAll( elem );\r\n\t\t\tdestElements = getAll( clone );\r\n\r\n\t\t\t// Weird iteration because IE will replace the length property\r\n\t\t\t// with an element if you are cloning the body and one of the\r\n\t\t\t// elements on the page has a name or id of \"length\"\r\n\t\t\tfor ( i = 0; srcElements[i]; ++i ) {\r\n\t\t\t\t// Ensure that the destination node is not null; Fixes #9587\r\n\t\t\t\tif ( destElements[i] ) {\r\n\t\t\t\t\tcloneFixAttributes( srcElements[i], destElements[i] );\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Copy the events from the original to the clone\r\n\t\tif ( dataAndEvents ) {\r\n\t\t\tcloneCopyEvent( elem, clone );\r\n\r\n\t\t\tif ( deepDataAndEvents ) {\r\n\t\t\t\tsrcElements = getAll( elem );\r\n\t\t\t\tdestElements = getAll( clone );\r\n\r\n\t\t\t\tfor ( i = 0; srcElements[i]; ++i ) {\r\n\t\t\t\t\tcloneCopyEvent( srcElements[i], destElements[i] );\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tsrcElements = destElements = null;\r\n\r\n\t\t// Return the cloned set\r\n\t\treturn clone;\r\n\t},\r\n\r\n\tclean: function( elems, context, fragment, scripts ) {\r\n\t\tvar i, j, elem, tag, wrap, depth, div, hasBody, tbody, len, handleScript, jsTags,\r\n\t\t\tsafe = context === document && safeFragment,\r\n\t\t\tret = [];\r\n\r\n\t\t// Ensure that context is a document\r\n\t\tif ( !context || typeof context.createDocumentFragment === \"undefined\" ) {\r\n\t\t\tcontext = document;\r\n\t\t}\r\n\r\n\t\t// Use the already-created safe fragment if context permits\r\n\t\tfor ( i = 0; (elem = elems[i]) != null; i++ ) {\r\n\t\t\tif ( typeof elem === \"number\" ) {\r\n\t\t\t\telem += \"\";\r\n\t\t\t}\r\n\r\n\t\t\tif ( !elem ) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\r\n\t\t\t// Convert html string into DOM nodes\r\n\t\t\tif ( typeof elem === \"string\" ) {\r\n\t\t\t\tif ( !rhtml.test( elem ) ) {\r\n\t\t\t\t\telem = context.createTextNode( elem );\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// Ensure a safe container in which to render the html\r\n\t\t\t\t\tsafe = safe || createSafeFragment( context );\r\n\t\t\t\t\tdiv = context.createElement(\"div\");\r\n\t\t\t\t\tsafe.appendChild( div );\r\n\r\n\t\t\t\t\t// Fix \"XHTML\"-style tags in all browsers\r\n\t\t\t\t\telem = elem.replace(rxhtmlTag, \"<$1></$2>\");\r\n\r\n\t\t\t\t\t// Go to html and back, then peel off extra wrappers\r\n\t\t\t\t\ttag = ( rtagName.exec( elem ) || [\"\", \"\"] )[1].toLowerCase();\r\n\t\t\t\t\twrap = wrapMap[ tag ] || wrapMap._default;\r\n\t\t\t\t\tdepth = wrap[0];\r\n\t\t\t\t\tdiv.innerHTML = wrap[1] + elem + wrap[2];\r\n\r\n\t\t\t\t\t// Move to the right depth\r\n\t\t\t\t\twhile ( depth-- ) {\r\n\t\t\t\t\t\tdiv = div.lastChild;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// Remove IE's autoinserted <tbody> from table fragments\r\n\t\t\t\t\tif ( !jQuery.support.tbody ) {\r\n\r\n\t\t\t\t\t\t// String was a <table>, *may* have spurious <tbody>\r\n\t\t\t\t\t\thasBody = rtbody.test(elem);\r\n\t\t\t\t\t\t\ttbody = tag === \"table\" && !hasBody ?\r\n\t\t\t\t\t\t\t\tdiv.firstChild && div.firstChild.childNodes :\r\n\r\n\t\t\t\t\t\t\t\t// String was a bare <thead> or <tfoot>\r\n\t\t\t\t\t\t\t\twrap[1] === \"<table>\" && !hasBody ?\r\n\t\t\t\t\t\t\t\t\tdiv.childNodes :\r\n\t\t\t\t\t\t\t\t\t[];\r\n\r\n\t\t\t\t\t\tfor ( j = tbody.length - 1; j >= 0 ; --j ) {\r\n\t\t\t\t\t\t\tif ( jQuery.nodeName( tbody[ j ], \"tbody\" ) && !tbody[ j ].childNodes.length ) {\r\n\t\t\t\t\t\t\t\ttbody[ j ].parentNode.removeChild( tbody[ j ] );\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// IE completely kills leading whitespace when innerHTML is used\r\n\t\t\t\t\tif ( !jQuery.support.leadingWhitespace && rleadingWhitespace.test( elem ) ) {\r\n\t\t\t\t\t\tdiv.insertBefore( context.createTextNode( rleadingWhitespace.exec(elem)[0] ), div.firstChild );\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\telem = div.childNodes;\r\n\r\n\t\t\t\t\t// Take out of fragment container (we need a fresh div each time)\r\n\t\t\t\t\tdiv.parentNode.removeChild( div );\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif ( elem.nodeType ) {\r\n\t\t\t\tret.push( elem );\r\n\t\t\t} else {\r\n\t\t\t\tjQuery.merge( ret, elem );\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Fix #11356: Clear elements from safeFragment\r\n\t\tif ( div ) {\r\n\t\t\telem = div = safe = null;\r\n\t\t}\r\n\r\n\t\t// Reset defaultChecked for any radios and checkboxes\r\n\t\t// about to be appended to the DOM in IE 6/7 (#8060)\r\n\t\tif ( !jQuery.support.appendChecked ) {\r\n\t\t\tfor ( i = 0; (elem = ret[i]) != null; i++ ) {\r\n\t\t\t\tif ( jQuery.nodeName( elem, \"input\" ) ) {\r\n\t\t\t\t\tfixDefaultChecked( elem );\r\n\t\t\t\t} else if ( typeof elem.getElementsByTagName !== \"undefined\" ) {\r\n\t\t\t\t\tjQuery.grep( elem.getElementsByTagName(\"input\"), fixDefaultChecked );\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Append elements to a provided document fragment\r\n\t\tif ( fragment ) {\r\n\t\t\t// Special handling of each script element\r\n\t\t\thandleScript = function( elem ) {\r\n\t\t\t\t// Check if we consider it executable\r\n\t\t\t\tif ( !elem.type || rscriptType.test( elem.type ) ) {\r\n\t\t\t\t\t// Detach the script and store it in the scripts array (if provided) or the fragment\r\n\t\t\t\t\t// Return truthy to indicate that it has been handled\r\n\t\t\t\t\treturn scripts ?\r\n\t\t\t\t\t\tscripts.push( elem.parentNode ? elem.parentNode.removeChild( elem ) : elem ) :\r\n\t\t\t\t\t\tfragment.appendChild( elem );\r\n\t\t\t\t}\r\n\t\t\t};\r\n\r\n\t\t\tfor ( i = 0; (elem = ret[i]) != null; i++ ) {\r\n\t\t\t\t// Check if we're done after handling an executable script\r\n\t\t\t\tif ( !( jQuery.nodeName( elem, \"script\" ) && handleScript( elem ) ) ) {\r\n\t\t\t\t\t// Append to fragment and handle embedded scripts\r\n\t\t\t\t\tfragment.appendChild( elem );\r\n\t\t\t\t\tif ( typeof elem.getElementsByTagName !== \"undefined\" ) {\r\n\t\t\t\t\t\t// handleScript alters the DOM, so use jQuery.merge to ensure snapshot iteration\r\n\t\t\t\t\t\tjsTags = jQuery.grep( jQuery.merge( [], elem.getElementsByTagName(\"script\") ), handleScript );\r\n\r\n\t\t\t\t\t\t// Splice the scripts into ret after their former ancestor and advance our index beyond them\r\n\t\t\t\t\t\tret.splice.apply( ret, [i + 1, 0].concat( jsTags ) );\r\n\t\t\t\t\t\ti += jsTags.length;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn ret;\r\n\t},\r\n\r\n\tcleanData: function( elems, /* internal */ acceptData ) {\r\n\t\tvar data, id, elem, type,\r\n\t\t\ti = 0,\r\n\t\t\tinternalKey = jQuery.expando,\r\n\t\t\tcache = jQuery.cache,\r\n\t\t\tdeleteExpando = jQuery.support.deleteExpando,\r\n\t\t\tspecial = jQuery.event.special;\r\n\r\n\t\tfor ( ; (elem = elems[i]) != null; i++ ) {\r\n\r\n\t\t\tif ( acceptData || jQuery.acceptData( elem ) ) {\r\n\r\n\t\t\t\tid = elem[ internalKey ];\r\n\t\t\t\tdata = id && cache[ id ];\r\n\r\n\t\t\t\tif ( data ) {\r\n\t\t\t\t\tif ( data.events ) {\r\n\t\t\t\t\t\tfor ( type in data.events ) {\r\n\t\t\t\t\t\t\tif ( special[ type ] ) {\r\n\t\t\t\t\t\t\t\tjQuery.event.remove( elem, type );\r\n\r\n\t\t\t\t\t\t\t// This is a shortcut to avoid jQuery.event.remove's overhead\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tjQuery.removeEvent( elem, type, data.handle );\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// Remove cache only if it was not already removed by jQuery.event.remove\r\n\t\t\t\t\tif ( cache[ id ] ) {\r\n\r\n\t\t\t\t\t\tdelete cache[ id ];\r\n\r\n\t\t\t\t\t\t// IE does not allow us to delete expando properties from nodes,\r\n\t\t\t\t\t\t// nor does it have a removeAttribute function on Document nodes;\r\n\t\t\t\t\t\t// we must handle all of these cases\r\n\t\t\t\t\t\tif ( deleteExpando ) {\r\n\t\t\t\t\t\t\tdelete elem[ internalKey ];\r\n\r\n\t\t\t\t\t\t} else if ( elem.removeAttribute ) {\r\n\t\t\t\t\t\t\telem.removeAttribute( internalKey );\r\n\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\telem[ internalKey ] = null;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tjQuery.deletedIds.push( id );\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});\r\n// Limit scope pollution from any deprecated API\r\n(function() {\r\n\r\nvar matched, browser;\r\n\r\n// Use of jQuery.browser is frowned upon.\r\n// More details: http://api.jquery.com/jQuery.browser\r\n// jQuery.uaMatch maintained for back-compat\r\njQuery.uaMatch = function( ua ) {\r\n\tua = ua.toLowerCase();\r\n\r\n\tvar match = /(chrome)[ \\/]([\\w.]+)/.exec( ua ) ||\r\n\t\t/(webkit)[ \\/]([\\w.]+)/.exec( ua ) ||\r\n\t\t/(opera)(?:.*version|)[ \\/]([\\w.]+)/.exec( ua ) ||\r\n\t\t/(msie) ([\\w.]+)/.exec( ua ) ||\r\n\t\tua.indexOf(\"compatible\") < 0 && /(mozilla)(?:.*? rv:([\\w.]+)|)/.exec( ua ) ||\r\n\t\t[];\r\n\r\n\treturn {\r\n\t\tbrowser: match[ 1 ] || \"\",\r\n\t\tversion: match[ 2 ] || \"0\"\r\n\t};\r\n};\r\n\r\nmatched = jQuery.uaMatch( navigator.userAgent );\r\nbrowser = {};\r\n\r\nif ( matched.browser ) {\r\n\tbrowser[ matched.browser ] = true;\r\n\tbrowser.version = matched.version;\r\n}\r\n\r\n// Chrome is Webkit, but Webkit is also Safari.\r\nif ( browser.chrome ) {\r\n\tbrowser.webkit = true;\r\n} else if ( browser.webkit ) {\r\n\tbrowser.safari = true;\r\n}\r\n\r\njQuery.browser = browser;\r\n\r\njQuery.sub = function() {\r\n\tfunction jQuerySub( selector, context ) {\r\n\t\treturn new jQuerySub.fn.init( selector, context );\r\n\t}\r\n\tjQuery.extend( true, jQuerySub, this );\r\n\tjQuerySub.superclass = this;\r\n\tjQuerySub.fn = jQuerySub.prototype = this();\r\n\tjQuerySub.fn.constructor = jQuerySub;\r\n\tjQuerySub.sub = this.sub;\r\n\tjQuerySub.fn.init = function init( selector, context ) {\r\n\t\tif ( context && context instanceof jQuery && !(context instanceof jQuerySub) ) {\r\n\t\t\tcontext = jQuerySub( context );\r\n\t\t}\r\n\r\n\t\treturn jQuery.fn.init.call( this, selector, context, rootjQuerySub );\r\n\t};\r\n\tjQuerySub.fn.init.prototype = jQuerySub.fn;\r\n\tvar rootjQuerySub = jQuerySub(document);\r\n\treturn jQuerySub;\r\n};\r\n\r\n})();\r\nvar curCSS, iframe, iframeDoc,\r\n\tralpha = /alpha\\([^)]*\\)/i,\r\n\tropacity = /opacity=([^)]*)/,\r\n\trposition = /^(top|right|bottom|left)$/,\r\n\t// swappable if display is none or starts with table except \"table\", \"table-cell\", or \"table-caption\"\r\n\t// see here for display values: https://developer.mozilla.org/en-US/docs/CSS/display\r\n\trdisplayswap = /^(none|table(?!-c[ea]).+)/,\r\n\trmargin = /^margin/,\r\n\trnumsplit = new RegExp( \"^(\" + core_pnum + \")(.*)$\", \"i\" ),\r\n\trnumnonpx = new RegExp( \"^(\" + core_pnum + \")(?!px)[a-z%]+$\", \"i\" ),\r\n\trrelNum = new RegExp( \"^([-+])=(\" + core_pnum + \")\", \"i\" ),\r\n\telemdisplay = {},\r\n\r\n\tcssShow = { position: \"absolute\", visibility: \"hidden\", display: \"block\" },\r\n\tcssNormalTransform = {\r\n\t\tletterSpacing: 0,\r\n\t\tfontWeight: 400\r\n\t},\r\n\r\n\tcssExpand = [ \"Top\", \"Right\", \"Bottom\", \"Left\" ],\r\n\tcssPrefixes = [ \"Webkit\", \"O\", \"Moz\", \"ms\" ],\r\n\r\n\teventsToggle = jQuery.fn.toggle;\r\n\r\n// return a css property mapped to a potentially vendor prefixed property\r\nfunction vendorPropName( style, name ) {\r\n\r\n\t// shortcut for names that are not vendor prefixed\r\n\tif ( name in style ) {\r\n\t\treturn name;\r\n\t}\r\n\r\n\t// check for vendor prefixed names\r\n\tvar capName = name.charAt(0).toUpperCase() + name.slice(1),\r\n\t\torigName = name,\r\n\t\ti = cssPrefixes.length;\r\n\r\n\twhile ( i-- ) {\r\n\t\tname = cssPrefixes[ i ] + capName;\r\n\t\tif ( name in style ) {\r\n\t\t\treturn name;\r\n\t\t}\r\n\t}\r\n\r\n\treturn origName;\r\n}\r\n\r\nfunction isHidden( elem, el ) {\r\n\telem = el || elem;\r\n\treturn jQuery.css( elem, \"display\" ) === \"none\" || !jQuery.contains( elem.ownerDocument, elem );\r\n}\r\n\r\nfunction showHide( elements, show ) {\r\n\tvar elem, display,\r\n\t\tvalues = [],\r\n\t\tindex = 0,\r\n\t\tlength = elements.length;\r\n\r\n\tfor ( ; index < length; index++ ) {\r\n\t\telem = elements[ index ];\r\n\t\tif ( !elem.style ) {\r\n\t\t\tcontinue;\r\n\t\t}\r\n\t\tvalues[ index ] = jQuery._data( elem, \"olddisplay\" );\r\n\t\tif ( show ) {\r\n\t\t\t// Reset the inline display of this element to learn if it is\r\n\t\t\t// being hidden by cascaded rules or not\r\n\t\t\tif ( !values[ index ] && elem.style.display === \"none\" ) {\r\n\t\t\t\telem.style.display = \"\";\r\n\t\t\t}\r\n\r\n\t\t\t// Set elements which have been overridden with display: none\r\n\t\t\t// in a stylesheet to whatever the default browser style is\r\n\t\t\t// for such an element\r\n\t\t\tif ( elem.style.display === \"\" && isHidden( elem ) ) {\r\n\t\t\t\tvalues[ index ] = jQuery._data( elem, \"olddisplay\", css_defaultDisplay(elem.nodeName) );\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tdisplay = curCSS( elem, \"display\" );\r\n\r\n\t\t\tif ( !values[ index ] && display !== \"none\" ) {\r\n\t\t\t\tjQuery._data( elem, \"olddisplay\", display );\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// Set the display of most of the elements in a second loop\r\n\t// to avoid the constant reflow\r\n\tfor ( index = 0; index < length; index++ ) {\r\n\t\telem = elements[ index ];\r\n\t\tif ( !elem.style ) {\r\n\t\t\tcontinue;\r\n\t\t}\r\n\t\tif ( !show || elem.style.display === \"none\" || elem.style.display === \"\" ) {\r\n\t\t\telem.style.display = show ? values[ index ] || \"\" : \"none\";\r\n\t\t}\r\n\t}\r\n\r\n\treturn elements;\r\n}\r\n\r\njQuery.fn.extend({\r\n\tcss: function( name, value ) {\r\n\t\treturn jQuery.access( this, function( elem, name, value ) {\r\n\t\t\treturn value !== undefined ?\r\n\t\t\t\tjQuery.style( elem, name, value ) :\r\n\t\t\t\tjQuery.css( elem, name );\r\n\t\t}, name, value, arguments.length > 1 );\r\n\t},\r\n\tshow: function() {\r\n\t\treturn showHide( this, true );\r\n\t},\r\n\thide: function() {\r\n\t\treturn showHide( this );\r\n\t},\r\n\ttoggle: function( state, fn2 ) {\r\n\t\tvar bool = typeof state === \"boolean\";\r\n\r\n\t\tif ( jQuery.isFunction( state ) && jQuery.isFunction( fn2 ) ) {\r\n\t\t\treturn eventsToggle.apply( this, arguments );\r\n\t\t}\r\n\r\n\t\treturn this.each(function() {\r\n\t\t\tif ( bool ? state : isHidden( this ) ) {\r\n\t\t\t\tjQuery( this ).show();\r\n\t\t\t} else {\r\n\t\t\t\tjQuery( this ).hide();\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n});\r\n\r\njQuery.extend({\r\n\t// Add in style property hooks for overriding the default\r\n\t// behavior of getting and setting a style property\r\n\tcssHooks: {\r\n\t\topacity: {\r\n\t\t\tget: function( elem, computed ) {\r\n\t\t\t\tif ( computed ) {\r\n\t\t\t\t\t// We should always get a number back from opacity\r\n\t\t\t\t\tvar ret = curCSS( elem, \"opacity\" );\r\n\t\t\t\t\treturn ret === \"\" ? \"1\" : ret;\r\n\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\r\n\t// Exclude the following css properties to add px\r\n\tcssNumber: {\r\n\t\t\"fillOpacity\": true,\r\n\t\t\"fontWeight\": true,\r\n\t\t\"lineHeight\": true,\r\n\t\t\"opacity\": true,\r\n\t\t\"orphans\": true,\r\n\t\t\"widows\": true,\r\n\t\t\"zIndex\": true,\r\n\t\t\"zoom\": true\r\n\t},\r\n\r\n\t// Add in properties whose names you wish to fix before\r\n\t// setting or getting the value\r\n\tcssProps: {\r\n\t\t// normalize float css property\r\n\t\t\"float\": jQuery.support.cssFloat ? \"cssFloat\" : \"styleFloat\"\r\n\t},\r\n\r\n\t// Get and set the style property on a DOM Node\r\n\tstyle: function( elem, name, value, extra ) {\r\n\t\t// Don't set styles on text and comment nodes\r\n\t\tif ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\t// Make sure that we're working with the right name\r\n\t\tvar ret, type, hooks,\r\n\t\t\torigName = jQuery.camelCase( name ),\r\n\t\t\tstyle = elem.style;\r\n\r\n\t\tname = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( style, origName ) );\r\n\r\n\t\t// gets hook for the prefixed version\r\n\t\t// followed by the unprefixed version\r\n\t\thooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];\r\n\r\n\t\t// Check if we're setting a value\r\n\t\tif ( value !== undefined ) {\r\n\t\t\ttype = typeof value;\r\n\r\n\t\t\t// convert relative number strings (+= or -=) to relative numbers. #7345\r\n\t\t\tif ( type === \"string\" && (ret = rrelNum.exec( value )) ) {\r\n\t\t\t\tvalue = ( ret[1] + 1 ) * ret[2] + parseFloat( jQuery.css( elem, name ) );\r\n\t\t\t\t// Fixes bug #9237\r\n\t\t\t\ttype = \"number\";\r\n\t\t\t}\r\n\r\n\t\t\t// Make sure that NaN and null values aren't set. See: #7116\r\n\t\t\tif ( value == null || type === \"number\" && isNaN( value ) ) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\t// If a number was passed in, add 'px' to the (except for certain CSS properties)\r\n\t\t\tif ( type === \"number\" && !jQuery.cssNumber[ origName ] ) {\r\n\t\t\t\tvalue += \"px\";\r\n\t\t\t}\r\n\r\n\t\t\t// If a hook was provided, use that value, otherwise just set the specified value\r\n\t\t\tif ( !hooks || !(\"set\" in hooks) || (value = hooks.set( elem, value, extra )) !== undefined ) {\r\n\t\t\t\t// Wrapped to prevent IE from throwing errors when 'invalid' values are provided\r\n\t\t\t\t// Fixes bug #5509\r\n\t\t\t\ttry {\r\n\t\t\t\t\tstyle[ name ] = value;\r\n\t\t\t\t} catch(e) {}\r\n\t\t\t}\r\n\r\n\t\t} else {\r\n\t\t\t// If a hook was provided get the non-computed value from there\r\n\t\t\tif ( hooks && \"get\" in hooks && (ret = hooks.get( elem, false, extra )) !== undefined ) {\r\n\t\t\t\treturn ret;\r\n\t\t\t}\r\n\r\n\t\t\t// Otherwise just get the value from the style object\r\n\t\t\treturn style[ name ];\r\n\t\t}\r\n\t},\r\n\r\n\tcss: function( elem, name, numeric, extra ) {\r\n\t\tvar val, num, hooks,\r\n\t\t\torigName = jQuery.camelCase( name );\r\n\r\n\t\t// Make sure that we're working with the right name\r\n\t\tname = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( elem.style, origName ) );\r\n\r\n\t\t// gets hook for the prefixed version\r\n\t\t// followed by the unprefixed version\r\n\t\thooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];\r\n\r\n\t\t// If a hook was provided get the computed value from there\r\n\t\tif ( hooks && \"get\" in hooks ) {\r\n\t\t\tval = hooks.get( elem, true, extra );\r\n\t\t}\r\n\r\n\t\t// Otherwise, if a way to get the computed value exists, use that\r\n\t\tif ( val === undefined ) {\r\n\t\t\tval = curCSS( elem, name );\r\n\t\t}\r\n\r\n\t\t//convert \"normal\" to computed value\r\n\t\tif ( val === \"normal\" && name in cssNormalTransform ) {\r\n\t\t\tval = cssNormalTransform[ name ];\r\n\t\t}\r\n\r\n\t\t// Return, converting to number if forced or a qualifier was provided and val looks numeric\r\n\t\tif ( numeric || extra !== undefined ) {\r\n\t\t\tnum = parseFloat( val );\r\n\t\t\treturn numeric || jQuery.isNumeric( num ) ? num || 0 : val;\r\n\t\t}\r\n\t\treturn val;\r\n\t},\r\n\r\n\t// A method for quickly swapping in/out CSS properties to get correct calculations\r\n\tswap: function( elem, options, callback ) {\r\n\t\tvar ret, name,\r\n\t\t\told = {};\r\n\r\n\t\t// Remember the old values, and insert the new ones\r\n\t\tfor ( name in options ) {\r\n\t\t\told[ name ] = elem.style[ name ];\r\n\t\t\telem.style[ name ] = options[ name ];\r\n\t\t}\r\n\r\n\t\tret = callback.call( elem );\r\n\r\n\t\t// Revert the old values\r\n\t\tfor ( name in options ) {\r\n\t\t\telem.style[ name ] = old[ name ];\r\n\t\t}\r\n\r\n\t\treturn ret;\r\n\t}\r\n});\r\n\r\n// NOTE: To any future maintainer, we've window.getComputedStyle\r\n// because jsdom on node.js will break without it.\r\nif ( window.getComputedStyle ) {\r\n\tcurCSS = function( elem, name ) {\r\n\t\tvar ret, width, minWidth, maxWidth,\r\n\t\t\tcomputed = window.getComputedStyle( elem, null ),\r\n\t\t\tstyle = elem.style;\r\n\r\n\t\tif ( computed ) {\r\n\r\n\t\t\tret = computed[ name ];\r\n\t\t\tif ( ret === \"\" && !jQuery.contains( elem.ownerDocument, elem ) ) {\r\n\t\t\t\tret = jQuery.style( elem, name );\r\n\t\t\t}\r\n\r\n\t\t\t// A tribute to the \"awesome hack by Dean Edwards\"\r\n\t\t\t// Chrome < 17 and Safari 5.0 uses \"computed value\" instead of \"used value\" for margin-right\r\n\t\t\t// Safari 5.1.7 (at least) returns percentage for a larger set of values, but width seems to be reliably pixels\r\n\t\t\t// this is against the CSSOM draft spec: http://dev.w3.org/csswg/cssom/#resolved-values\r\n\t\t\tif ( rnumnonpx.test( ret ) && rmargin.test( name ) ) {\r\n\t\t\t\twidth = style.width;\r\n\t\t\t\tminWidth = style.minWidth;\r\n\t\t\t\tmaxWidth = style.maxWidth;\r\n\r\n\t\t\t\tstyle.minWidth = style.maxWidth = style.width = ret;\r\n\t\t\t\tret = computed.width;\r\n\r\n\t\t\t\tstyle.width = width;\r\n\t\t\t\tstyle.minWidth = minWidth;\r\n\t\t\t\tstyle.maxWidth = maxWidth;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn ret;\r\n\t};\r\n} else if ( document.documentElement.currentStyle ) {\r\n\tcurCSS = function( elem, name ) {\r\n\t\tvar left, rsLeft,\r\n\t\t\tret = elem.currentStyle && elem.currentStyle[ name ],\r\n\t\t\tstyle = elem.style;\r\n\r\n\t\t// Avoid setting ret to empty string here\r\n\t\t// so we don't default to auto\r\n\t\tif ( ret == null && style && style[ name ] ) {\r\n\t\t\tret = style[ name ];\r\n\t\t}\r\n\r\n\t\t// From the awesome hack by Dean Edwards\r\n\t\t// http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291\r\n\r\n\t\t// If we're not dealing with a regular pixel number\r\n\t\t// but a number that has a weird ending, we need to convert it to pixels\r\n\t\t// but not position css attributes, as those are proportional to the parent element instead\r\n\t\t// and we can't measure the parent instead because it might trigger a \"stacking dolls\" problem\r\n\t\tif ( rnumnonpx.test( ret ) && !rposition.test( name ) ) {\r\n\r\n\t\t\t// Remember the original values\r\n\t\t\tleft = style.left;\r\n\t\t\trsLeft = elem.runtimeStyle && elem.runtimeStyle.left;\r\n\r\n\t\t\t// Put in the new values to get a computed value out\r\n\t\t\tif ( rsLeft ) {\r\n\t\t\t\telem.runtimeStyle.left = elem.currentStyle.left;\r\n\t\t\t}\r\n\t\t\tstyle.left = name === \"fontSize\" ? \"1em\" : ret;\r\n\t\t\tret = style.pixelLeft + \"px\";\r\n\r\n\t\t\t// Revert the changed values\r\n\t\t\tstyle.left = left;\r\n\t\t\tif ( rsLeft ) {\r\n\t\t\t\telem.runtimeStyle.left = rsLeft;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn ret === \"\" ? \"auto\" : ret;\r\n\t};\r\n}\r\n\r\nfunction setPositiveNumber( elem, value, subtract ) {\r\n\tvar matches = rnumsplit.exec( value );\r\n\treturn matches ?\r\n\t\t\tMath.max( 0, matches[ 1 ] - ( subtract || 0 ) ) + ( matches[ 2 ] || \"px\" ) :\r\n\t\t\tvalue;\r\n}\r\n\r\nfunction augmentWidthOrHeight( elem, name, extra, isBorderBox ) {\r\n\tvar i = extra === ( isBorderBox ? \"border\" : \"content\" ) ?\r\n\t\t// If we already have the right measurement, avoid augmentation\r\n\t\t4 :\r\n\t\t// Otherwise initialize for horizontal or vertical properties\r\n\t\tname === \"width\" ? 1 : 0,\r\n\r\n\t\tval = 0;\r\n\r\n\tfor ( ; i < 4; i += 2 ) {\r\n\t\t// both box models exclude margin, so add it if we want it\r\n\t\tif ( extra === \"margin\" ) {\r\n\t\t\t// we use jQuery.css instead of curCSS here\r\n\t\t\t// because of the reliableMarginRight CSS hook!\r\n\t\t\tval += jQuery.css( elem, extra + cssExpand[ i ], true );\r\n\t\t}\r\n\r\n\t\t// From this point on we use curCSS for maximum performance (relevant in animations)\r\n\t\tif ( isBorderBox ) {\r\n\t\t\t// border-box includes padding, so remove it if we want content\r\n\t\t\tif ( extra === \"content\" ) {\r\n\t\t\t\tval -= parseFloat( curCSS( elem, \"padding\" + cssExpand[ i ] ) ) || 0;\r\n\t\t\t}\r\n\r\n\t\t\t// at this point, extra isn't border nor margin, so remove border\r\n\t\t\tif ( extra !== \"margin\" ) {\r\n\t\t\t\tval -= parseFloat( curCSS( elem, \"border\" + cssExpand[ i ] + \"Width\" ) ) || 0;\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\t// at this point, extra isn't content, so add padding\r\n\t\t\tval += parseFloat( curCSS( elem, \"padding\" + cssExpand[ i ] ) ) || 0;\r\n\r\n\t\t\t// at this point, extra isn't content nor padding, so add border\r\n\t\t\tif ( extra !== \"padding\" ) {\r\n\t\t\t\tval += parseFloat( curCSS( elem, \"border\" + cssExpand[ i ] + \"Width\" ) ) || 0;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\treturn val;\r\n}\r\n\r\nfunction getWidthOrHeight( elem, name, extra ) {\r\n\r\n\t// Start with offset property, which is equivalent to the border-box value\r\n\tvar val = name === \"width\" ? elem.offsetWidth : elem.offsetHeight,\r\n\t\tvalueIsBorderBox = true,\r\n\t\tisBorderBox = jQuery.support.boxSizing && jQuery.css( elem, \"boxSizing\" ) === \"border-box\";\r\n\r\n\t// some non-html elements return undefined for offsetWidth, so check for null/undefined\r\n\t// svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285\r\n\t// MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668\r\n\tif ( val <= 0 || val == null ) {\r\n\t\t// Fall back to computed then uncomputed css if necessary\r\n\t\tval = curCSS( elem, name );\r\n\t\tif ( val < 0 || val == null ) {\r\n\t\t\tval = elem.style[ name ];\r\n\t\t}\r\n\r\n\t\t// Computed unit is not pixels. Stop here and return.\r\n\t\tif ( rnumnonpx.test(val) ) {\r\n\t\t\treturn val;\r\n\t\t}\r\n\r\n\t\t// we need the check for style in case a browser which returns unreliable values\r\n\t\t// for getComputedStyle silently falls back to the reliable elem.style\r\n\t\tvalueIsBorderBox = isBorderBox && ( jQuery.support.boxSizingReliable || val === elem.style[ name ] );\r\n\r\n\t\t// Normalize \"\", auto, and prepare for extra\r\n\t\tval = parseFloat( val ) || 0;\r\n\t}\r\n\r\n\t// use the active box-sizing model to add/subtract irrelevant styles\r\n\treturn ( val +\r\n\t\taugmentWidthOrHeight(\r\n\t\t\telem,\r\n\t\t\tname,\r\n\t\t\textra || ( isBorderBox ? \"border\" : \"content\" ),\r\n\t\t\tvalueIsBorderBox\r\n\t\t)\r\n\t) + \"px\";\r\n}\r\n\r\n\r\n// Try to determine the default display value of an element\r\nfunction css_defaultDisplay( nodeName ) {\r\n\tif ( elemdisplay[ nodeName ] ) {\r\n\t\treturn elemdisplay[ nodeName ];\r\n\t}\r\n\r\n\tvar elem = jQuery( \"<\" + nodeName + \">\" ).appendTo( document.body ),\r\n\t\tdisplay = elem.css(\"display\");\r\n\telem.remove();\r\n\r\n\t// If the simple way fails,\r\n\t// get element's real default display by attaching it to a temp iframe\r\n\tif ( display === \"none\" || display === \"\" ) {\r\n\t\t// Use the already-created iframe if possible\r\n\t\tiframe = document.body.appendChild(\r\n\t\t\tiframe || jQuery.extend( document.createElement(\"iframe\"), {\r\n\t\t\t\tframeBorder: 0,\r\n\t\t\t\twidth: 0,\r\n\t\t\t\theight: 0\r\n\t\t\t})\r\n\t\t);\r\n\r\n\t\t// Create a cacheable copy of the iframe document on first call.\r\n\t\t// IE and Opera will allow us to reuse the iframeDoc without re-writing the fake HTML\r\n\t\t// document to it; WebKit & Firefox won't allow reusing the iframe document.\r\n\t\tif ( !iframeDoc || !iframe.createElement ) {\r\n\t\t\tiframeDoc = ( iframe.contentWindow || iframe.contentDocument ).document;\r\n\t\t\tiframeDoc.write(\"<!doctype html><html><body>\");\r\n\t\t\tiframeDoc.close();\r\n\t\t}\r\n\r\n\t\telem = iframeDoc.body.appendChild( iframeDoc.createElement(nodeName) );\r\n\r\n\t\tdisplay = curCSS( elem, \"display\" );\r\n\t\tdocument.body.removeChild( iframe );\r\n\t}\r\n\r\n\t// Store the correct default display\r\n\telemdisplay[ nodeName ] = display;\r\n\r\n\treturn display;\r\n}\r\n\r\njQuery.each([ \"height\", \"width\" ], function( i, name ) {\r\n\tjQuery.cssHooks[ name ] = {\r\n\t\tget: function( elem, computed, extra ) {\r\n\t\t\tif ( computed ) {\r\n\t\t\t\t// certain elements can have dimension info if we invisibly show them\r\n\t\t\t\t// however, it must have a current display style that would benefit from this\r\n\t\t\t\tif ( elem.offsetWidth === 0 && rdisplayswap.test( curCSS( elem, \"display\" ) ) ) {\r\n\t\t\t\t\treturn jQuery.swap( elem, cssShow, function() {\r\n\t\t\t\t\t\treturn getWidthOrHeight( elem, name, extra );\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\treturn getWidthOrHeight( elem, name, extra );\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tset: function( elem, value, extra ) {\r\n\t\t\treturn setPositiveNumber( elem, value, extra ?\r\n\t\t\t\taugmentWidthOrHeight(\r\n\t\t\t\t\telem,\r\n\t\t\t\t\tname,\r\n\t\t\t\t\textra,\r\n\t\t\t\t\tjQuery.support.boxSizing && jQuery.css( elem, \"boxSizing\" ) === \"border-box\"\r\n\t\t\t\t) : 0\r\n\t\t\t);\r\n\t\t}\r\n\t};\r\n});\r\n\r\nif ( !jQuery.support.opacity ) {\r\n\tjQuery.cssHooks.opacity = {\r\n\t\tget: function( elem, computed ) {\r\n\t\t\t// IE uses filters for opacity\r\n\t\t\treturn ropacity.test( (computed && elem.currentStyle ? elem.currentStyle.filter : elem.style.filter) || \"\" ) ?\r\n\t\t\t\t( 0.01 * parseFloat( RegExp.$1 ) ) + \"\" :\r\n\t\t\t\tcomputed ? \"1\" : \"\";\r\n\t\t},\r\n\r\n\t\tset: function( elem, value ) {\r\n\t\t\tvar style = elem.style,\r\n\t\t\t\tcurrentStyle = elem.currentStyle,\r\n\t\t\t\topacity = jQuery.isNumeric( value ) ? \"alpha(opacity=\" + value * 100 + \")\" : \"\",\r\n\t\t\t\tfilter = currentStyle && currentStyle.filter || style.filter || \"\";\r\n\r\n\t\t\t// IE has trouble with opacity if it does not have layout\r\n\t\t\t// Force it by setting the zoom level\r\n\t\t\tstyle.zoom = 1;\r\n\r\n\t\t\t// if setting opacity to 1, and no other filters exist - attempt to remove filter attribute #6652\r\n\t\t\tif ( value >= 1 && jQuery.trim( filter.replace( ralpha, \"\" ) ) === \"\" &&\r\n\t\t\t\tstyle.removeAttribute ) {\r\n\r\n\t\t\t\t// Setting style.filter to null, \"\" & \" \" still leave \"filter:\" in the cssText\r\n\t\t\t\t// if \"filter:\" is present at all, clearType is disabled, we want to avoid this\r\n\t\t\t\t// style.removeAttribute is IE Only, but so apparently is this code path...\r\n\t\t\t\tstyle.removeAttribute( \"filter\" );\r\n\r\n\t\t\t\t// if there there is no filter style applied in a css rule, we are done\r\n\t\t\t\tif ( currentStyle && !currentStyle.filter ) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// otherwise, set new filter values\r\n\t\t\tstyle.filter = ralpha.test( filter ) ?\r\n\t\t\t\tfilter.replace( ralpha, opacity ) :\r\n\t\t\t\tfilter + \" \" + opacity;\r\n\t\t}\r\n\t};\r\n}\r\n\r\n// These hooks cannot be added until DOM ready because the support test\r\n// for it is not run until after DOM ready\r\njQuery(function() {\r\n\tif ( !jQuery.support.reliableMarginRight ) {\r\n\t\tjQuery.cssHooks.marginRight = {\r\n\t\t\tget: function( elem, computed ) {\r\n\t\t\t\t// WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right\r\n\t\t\t\t// Work around by temporarily setting element display to inline-block\r\n\t\t\t\treturn jQuery.swap( elem, { \"display\": \"inline-block\" }, function() {\r\n\t\t\t\t\tif ( computed ) {\r\n\t\t\t\t\t\treturn curCSS( elem, \"marginRight\" );\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\r\n\t// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084\r\n\t// getComputedStyle returns percent when specified for top/left/bottom/right\r\n\t// rather than make the css module depend on the offset module, we just check for it here\r\n\tif ( !jQuery.support.pixelPosition && jQuery.fn.position ) {\r\n\t\tjQuery.each( [ \"top\", \"left\" ], function( i, prop ) {\r\n\t\t\tjQuery.cssHooks[ prop ] = {\r\n\t\t\t\tget: function( elem, computed ) {\r\n\t\t\t\t\tif ( computed ) {\r\n\t\t\t\t\t\tvar ret = curCSS( elem, prop );\r\n\t\t\t\t\t\t// if curCSS returns percentage, fallback to offset\r\n\t\t\t\t\t\treturn rnumnonpx.test( ret ) ? jQuery( elem ).position()[ prop ] + \"px\" : ret;\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\r\n});\r\n\r\nif ( jQuery.expr && jQuery.expr.filters ) {\r\n\tjQuery.expr.filters.hidden = function( elem ) {\r\n\t\treturn ( elem.offsetWidth === 0 && elem.offsetHeight === 0 ) || (!jQuery.support.reliableHiddenOffsets && ((elem.style && elem.style.display) || curCSS( elem, \"display\" )) === \"none\");\r\n\t};\r\n\r\n\tjQuery.expr.filters.visible = function( elem ) {\r\n\t\treturn !jQuery.expr.filters.hidden( elem );\r\n\t};\r\n}\r\n\r\n// These hooks are used by animate to expand properties\r\njQuery.each({\r\n\tmargin: \"\",\r\n\tpadding: \"\",\r\n\tborder: \"Width\"\r\n}, function( prefix, suffix ) {\r\n\tjQuery.cssHooks[ prefix + suffix ] = {\r\n\t\texpand: function( value ) {\r\n\t\t\tvar i,\r\n\r\n\t\t\t\t// assumes a single number if not a string\r\n\t\t\t\tparts = typeof value === \"string\" ? value.split(\" \") : [ value ],\r\n\t\t\t\texpanded = {};\r\n\r\n\t\t\tfor ( i = 0; i < 4; i++ ) {\r\n\t\t\t\texpanded[ prefix + cssExpand[ i ] + suffix ] =\r\n\t\t\t\t\tparts[ i ] || parts[ i - 2 ] || parts[ 0 ];\r\n\t\t\t}\r\n\r\n\t\t\treturn expanded;\r\n\t\t}\r\n\t};\r\n\r\n\tif ( !rmargin.test( prefix ) ) {\r\n\t\tjQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber;\r\n\t}\r\n});\r\nvar r20 = /%20/g,\r\n\trbracket = /\\[\\]$/,\r\n\trCRLF = /\\r?\\n/g,\r\n\trinput = /^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,\r\n\trselectTextarea = /^(?:select|textarea)/i;\r\n\r\njQuery.fn.extend({\r\n\tserialize: function() {\r\n\t\treturn jQuery.param( this.serializeArray() );\r\n\t},\r\n\tserializeArray: function() {\r\n\t\treturn this.map(function(){\r\n\t\t\treturn this.elements ? jQuery.makeArray( this.elements ) : this;\r\n\t\t})\r\n\t\t.filter(function(){\r\n\t\t\treturn this.name && !this.disabled &&\r\n\t\t\t\t( this.checked || rselectTextarea.test( this.nodeName ) ||\r\n\t\t\t\t\trinput.test( this.type ) );\r\n\t\t})\r\n\t\t.map(function( i, elem ){\r\n\t\t\tvar val = jQuery( this ).val();\r\n\r\n\t\t\treturn val == null ?\r\n\t\t\t\tnull :\r\n\t\t\t\tjQuery.isArray( val ) ?\r\n\t\t\t\t\tjQuery.map( val, function( val, i ){\r\n\t\t\t\t\t\treturn { name: elem.name, value: val.replace( rCRLF, \"\\r\\n\" ) };\r\n\t\t\t\t\t}) :\r\n\t\t\t\t\t{ name: elem.name, value: val.replace( rCRLF, \"\\r\\n\" ) };\r\n\t\t}).get();\r\n\t}\r\n});\r\n\r\n//Serialize an array of form elements or a set of\r\n//key/values into a query string\r\njQuery.param = function( a, traditional ) {\r\n\tvar prefix,\r\n\t\ts = [],\r\n\t\tadd = function( key, value ) {\r\n\t\t\t// If value is a function, invoke it and return its value\r\n\t\t\tvalue = jQuery.isFunction( value ) ? value() : ( value == null ? \"\" : value );\r\n\t\t\ts[ s.length ] = encodeURIComponent( key ) + \"=\" + encodeURIComponent( value );\r\n\t\t};\r\n\r\n\t// Set traditional to true for jQuery <= 1.3.2 behavior.\r\n\tif ( traditional === undefined ) {\r\n\t\ttraditional = jQuery.ajaxSettings && jQuery.ajaxSettings.traditional;\r\n\t}\r\n\r\n\t// If an array was passed in, assume that it is an array of form elements.\r\n\tif ( jQuery.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {\r\n\t\t// Serialize the form elements\r\n\t\tjQuery.each( a, function() {\r\n\t\t\tadd( this.name, this.value );\r\n\t\t});\r\n\r\n\t} else {\r\n\t\t// If traditional, encode the \"old\" way (the way 1.3.2 or older\r\n\t\t// did it), otherwise encode params recursively.\r\n\t\tfor ( prefix in a ) {\r\n\t\t\tbuildParams( prefix, a[ prefix ], traditional, add );\r\n\t\t}\r\n\t}\r\n\r\n\t// Return the resulting serialization\r\n\treturn s.join( \"&\" ).replace( r20, \"+\" );\r\n};\r\n\r\nfunction buildParams( prefix, obj, traditional, add ) {\r\n\tvar name;\r\n\r\n\tif ( jQuery.isArray( obj ) ) {\r\n\t\t// Serialize array item.\r\n\t\tjQuery.each( obj, function( i, v ) {\r\n\t\t\tif ( traditional || rbracket.test( prefix ) ) {\r\n\t\t\t\t// Treat each array item as a scalar.\r\n\t\t\t\tadd( prefix, v );\r\n\r\n\t\t\t} else {\r\n\t\t\t\t// If array item is non-scalar (array or object), encode its\r\n\t\t\t\t// numeric index to resolve deserialization ambiguity issues.\r\n\t\t\t\t// Note that rack (as of 1.0.0) can't currently deserialize\r\n\t\t\t\t// nested arrays properly, and attempting to do so may cause\r\n\t\t\t\t// a server error. Possible fixes are to modify rack's\r\n\t\t\t\t// deserialization algorithm or to provide an option or flag\r\n\t\t\t\t// to force array serialization to be shallow.\r\n\t\t\t\tbuildParams( prefix + \"[\" + ( typeof v === \"object\" ? i : \"\" ) + \"]\", v, traditional, add );\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t} else if ( !traditional && jQuery.type( obj ) === \"object\" ) {\r\n\t\t// Serialize object item.\r\n\t\tfor ( name in obj ) {\r\n\t\t\tbuildParams( prefix + \"[\" + name + \"]\", obj[ name ], traditional, add );\r\n\t\t}\r\n\r\n\t} else {\r\n\t\t// Serialize scalar item.\r\n\t\tadd( prefix, obj );\r\n\t}\r\n}\r\nvar\r\n\t// Document location\r\n\tajaxLocParts,\r\n\tajaxLocation,\r\n\r\n\trhash = /#.*$/,\r\n\trheaders = /^(.*?):[ \\t]*([^\\r\\n]*)\\r?$/mg, // IE leaves an \\r character at EOL\r\n\t// #7653, #8125, #8152: local protocol detection\r\n\trlocalProtocol = /^(?:about|app|app\\-storage|.+\\-extension|file|res|widget):$/,\r\n\trnoContent = /^(?:GET|HEAD)$/,\r\n\trprotocol = /^\\/\\//,\r\n\trquery = /\\?/,\r\n\trscript = /<script\\b[^<]*(?:(?!<\\/script>)<[^<]*)*<\\/script>/gi,\r\n\trts = /([?&])_=[^&]*/,\r\n\trurl = /^([\\w\\+\\.\\-]+:)(?:\\/\\/([^\\/?#:]*)(?::(\\d+)|)|)/,\r\n\r\n\t// Keep a copy of the old load method\r\n\t_load = jQuery.fn.load,\r\n\r\n\t/* Prefilters\r\n\t * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)\r\n\t * 2) These are called:\r\n\t *    - BEFORE asking for a transport\r\n\t *    - AFTER param serialization (s.data is a string if s.processData is true)\r\n\t * 3) key is the dataType\r\n\t * 4) the catchall symbol \"*\" can be used\r\n\t * 5) execution will start with transport dataType and THEN continue down to \"*\" if needed\r\n\t */\r\n\tprefilters = {},\r\n\r\n\t/* Transports bindings\r\n\t * 1) key is the dataType\r\n\t * 2) the catchall symbol \"*\" can be used\r\n\t * 3) selection will start with transport dataType and THEN go to \"*\" if needed\r\n\t */\r\n\ttransports = {},\r\n\r\n\t// Avoid comment-prolog char sequence (#10098); must appease lint and evade compression\r\n\tallTypes = [\"*/\"] + [\"*\"];\r\n\r\n// #8138, IE may throw an exception when accessing\r\n// a field from window.location if document.domain has been set\r\ntry {\r\n\tajaxLocation = location.href;\r\n} catch( e ) {\r\n\t// Use the href attribute of an A element\r\n\t// since IE will modify it given document.location\r\n\tajaxLocation = document.createElement( \"a\" );\r\n\tajaxLocation.href = \"\";\r\n\tajaxLocation = ajaxLocation.href;\r\n}\r\n\r\n// Segment location into parts\r\najaxLocParts = rurl.exec( ajaxLocation.toLowerCase() ) || [];\r\n\r\n// Base \"constructor\" for jQuery.ajaxPrefilter and jQuery.ajaxTransport\r\nfunction addToPrefiltersOrTransports( structure ) {\r\n\r\n\t// dataTypeExpression is optional and defaults to \"*\"\r\n\treturn function( dataTypeExpression, func ) {\r\n\r\n\t\tif ( typeof dataTypeExpression !== \"string\" ) {\r\n\t\t\tfunc = dataTypeExpression;\r\n\t\t\tdataTypeExpression = \"*\";\r\n\t\t}\r\n\r\n\t\tvar dataType, list, placeBefore,\r\n\t\t\tdataTypes = dataTypeExpression.toLowerCase().split( core_rspace ),\r\n\t\t\ti = 0,\r\n\t\t\tlength = dataTypes.length;\r\n\r\n\t\tif ( jQuery.isFunction( func ) ) {\r\n\t\t\t// For each dataType in the dataTypeExpression\r\n\t\t\tfor ( ; i < length; i++ ) {\r\n\t\t\t\tdataType = dataTypes[ i ];\r\n\t\t\t\t// We control if we're asked to add before\r\n\t\t\t\t// any existing element\r\n\t\t\t\tplaceBefore = /^\\+/.test( dataType );\r\n\t\t\t\tif ( placeBefore ) {\r\n\t\t\t\t\tdataType = dataType.substr( 1 ) || \"*\";\r\n\t\t\t\t}\r\n\t\t\t\tlist = structure[ dataType ] = structure[ dataType ] || [];\r\n\t\t\t\t// then we add to the structure accordingly\r\n\t\t\t\tlist[ placeBefore ? \"unshift\" : \"push\" ]( func );\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n}\r\n\r\n// Base inspection function for prefilters and transports\r\nfunction inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR,\r\n\t\tdataType /* internal */, inspected /* internal */ ) {\r\n\r\n\tdataType = dataType || options.dataTypes[ 0 ];\r\n\tinspected = inspected || {};\r\n\r\n\tinspected[ dataType ] = true;\r\n\r\n\tvar selection,\r\n\t\tlist = structure[ dataType ],\r\n\t\ti = 0,\r\n\t\tlength = list ? list.length : 0,\r\n\t\texecuteOnly = ( structure === prefilters );\r\n\r\n\tfor ( ; i < length && ( executeOnly || !selection ); i++ ) {\r\n\t\tselection = list[ i ]( options, originalOptions, jqXHR );\r\n\t\t// If we got redirected to another dataType\r\n\t\t// we try there if executing only and not done already\r\n\t\tif ( typeof selection === \"string\" ) {\r\n\t\t\tif ( !executeOnly || inspected[ selection ] ) {\r\n\t\t\t\tselection = undefined;\r\n\t\t\t} else {\r\n\t\t\t\toptions.dataTypes.unshift( selection );\r\n\t\t\t\tselection = inspectPrefiltersOrTransports(\r\n\t\t\t\t\t\tstructure, options, originalOptions, jqXHR, selection, inspected );\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t// If we're only executing or nothing was selected\r\n\t// we try the catchall dataType if not done already\r\n\tif ( ( executeOnly || !selection ) && !inspected[ \"*\" ] ) {\r\n\t\tselection = inspectPrefiltersOrTransports(\r\n\t\t\t\tstructure, options, originalOptions, jqXHR, \"*\", inspected );\r\n\t}\r\n\t// unnecessary when only executing (prefilters)\r\n\t// but it'll be ignored by the caller in that case\r\n\treturn selection;\r\n}\r\n\r\n// A special extend for ajax options\r\n// that takes \"flat\" options (not to be deep extended)\r\n// Fixes #9887\r\nfunction ajaxExtend( target, src ) {\r\n\tvar key, deep,\r\n\t\tflatOptions = jQuery.ajaxSettings.flatOptions || {};\r\n\tfor ( key in src ) {\r\n\t\tif ( src[ key ] !== undefined ) {\r\n\t\t\t( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ];\r\n\t\t}\r\n\t}\r\n\tif ( deep ) {\r\n\t\tjQuery.extend( true, target, deep );\r\n\t}\r\n}\r\n\r\njQuery.fn.load = function( url, params, callback ) {\r\n\tif ( typeof url !== \"string\" && _load ) {\r\n\t\treturn _load.apply( this, arguments );\r\n\t}\r\n\r\n\t// Don't do a request if no elements are being requested\r\n\tif ( !this.length ) {\r\n\t\treturn this;\r\n\t}\r\n\r\n\tvar selector, type, response,\r\n\t\tself = this,\r\n\t\toff = url.indexOf(\" \");\r\n\r\n\tif ( off >= 0 ) {\r\n\t\tselector = url.slice( off, url.length );\r\n\t\turl = url.slice( 0, off );\r\n\t}\r\n\r\n\t// If it's a function\r\n\tif ( jQuery.isFunction( params ) ) {\r\n\r\n\t\t// We assume that it's the callback\r\n\t\tcallback = params;\r\n\t\tparams = undefined;\r\n\r\n\t// Otherwise, build a param string\r\n\t} else if ( params && typeof params === \"object\" ) {\r\n\t\ttype = \"POST\";\r\n\t}\r\n\r\n\t// Request the remote document\r\n\tjQuery.ajax({\r\n\t\turl: url,\r\n\r\n\t\t// if \"type\" variable is undefined, then \"GET\" method will be used\r\n\t\ttype: type,\r\n\t\tdataType: \"html\",\r\n\t\tdata: params,\r\n\t\tcomplete: function( jqXHR, status ) {\r\n\t\t\tif ( callback ) {\r\n\t\t\t\tself.each( callback, response || [ jqXHR.responseText, status, jqXHR ] );\r\n\t\t\t}\r\n\t\t}\r\n\t}).done(function( responseText ) {\r\n\r\n\t\t// Save response for use in complete callback\r\n\t\tresponse = arguments;\r\n\r\n\t\t// See if a selector was specified\r\n\t\tself.html( selector ?\r\n\r\n\t\t\t// Create a dummy div to hold the results\r\n\t\t\tjQuery(\"<div>\")\r\n\r\n\t\t\t\t// inject the contents of the document in, removing the scripts\r\n\t\t\t\t// to avoid any 'Permission Denied' errors in IE\r\n\t\t\t\t.append( responseText.replace( rscript, \"\" ) )\r\n\r\n\t\t\t\t// Locate the specified elements\r\n\t\t\t\t.find( selector ) :\r\n\r\n\t\t\t// If not, just inject the full result\r\n\t\t\tresponseText );\r\n\r\n\t});\r\n\r\n\treturn this;\r\n};\r\n\r\n// Attach a bunch of functions for handling common AJAX events\r\njQuery.each( \"ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend\".split( \" \" ), function( i, o ){\r\n\tjQuery.fn[ o ] = function( f ){\r\n\t\treturn this.on( o, f );\r\n\t};\r\n});\r\n\r\njQuery.each( [ \"get\", \"post\" ], function( i, method ) {\r\n\tjQuery[ method ] = function( url, data, callback, type ) {\r\n\t\t// shift arguments if data argument was omitted\r\n\t\tif ( jQuery.isFunction( data ) ) {\r\n\t\t\ttype = type || callback;\r\n\t\t\tcallback = data;\r\n\t\t\tdata = undefined;\r\n\t\t}\r\n\r\n\t\treturn jQuery.ajax({\r\n\t\t\ttype: method,\r\n\t\t\turl: url,\r\n\t\t\tdata: data,\r\n\t\t\tsuccess: callback,\r\n\t\t\tdataType: type\r\n\t\t});\r\n\t};\r\n});\r\n\r\njQuery.extend({\r\n\r\n\tgetScript: function( url, callback ) {\r\n\t\treturn jQuery.get( url, undefined, callback, \"script\" );\r\n\t},\r\n\r\n\tgetJSON: function( url, data, callback ) {\r\n\t\treturn jQuery.get( url, data, callback, \"json\" );\r\n\t},\r\n\r\n\t// Creates a full fledged settings object into target\r\n\t// with both ajaxSettings and settings fields.\r\n\t// If target is omitted, writes into ajaxSettings.\r\n\tajaxSetup: function( target, settings ) {\r\n\t\tif ( settings ) {\r\n\t\t\t// Building a settings object\r\n\t\t\tajaxExtend( target, jQuery.ajaxSettings );\r\n\t\t} else {\r\n\t\t\t// Extending ajaxSettings\r\n\t\t\tsettings = target;\r\n\t\t\ttarget = jQuery.ajaxSettings;\r\n\t\t}\r\n\t\tajaxExtend( target, settings );\r\n\t\treturn target;\r\n\t},\r\n\r\n\tajaxSettings: {\r\n\t\turl: ajaxLocation,\r\n\t\tisLocal: rlocalProtocol.test( ajaxLocParts[ 1 ] ),\r\n\t\tglobal: true,\r\n\t\ttype: \"GET\",\r\n\t\tcontentType: \"application/x-www-form-urlencoded; charset=UTF-8\",\r\n\t\tprocessData: true,\r\n\t\tasync: true,\r\n\t\t/*\r\n\t\ttimeout: 0,\r\n\t\tdata: null,\r\n\t\tdataType: null,\r\n\t\tusername: null,\r\n\t\tpassword: null,\r\n\t\tcache: null,\r\n\t\tthrows: false,\r\n\t\ttraditional: false,\r\n\t\theaders: {},\r\n\t\t*/\r\n\r\n\t\taccepts: {\r\n\t\t\txml: \"application/xml, text/xml\",\r\n\t\t\thtml: \"text/html\",\r\n\t\t\ttext: \"text/plain\",\r\n\t\t\tjson: \"application/json, text/javascript\",\r\n\t\t\t\"*\": allTypes\r\n\t\t},\r\n\r\n\t\tcontents: {\r\n\t\t\txml: /xml/,\r\n\t\t\thtml: /html/,\r\n\t\t\tjson: /json/\r\n\t\t},\r\n\r\n\t\tresponseFields: {\r\n\t\t\txml: \"responseXML\",\r\n\t\t\ttext: \"responseText\"\r\n\t\t},\r\n\r\n\t\t// List of data converters\r\n\t\t// 1) key format is \"source_type destination_type\" (a single space in-between)\r\n\t\t// 2) the catchall symbol \"*\" can be used for source_type\r\n\t\tconverters: {\r\n\r\n\t\t\t// Convert anything to text\r\n\t\t\t\"* text\": window.String,\r\n\r\n\t\t\t// Text to html (true = no transformation)\r\n\t\t\t\"text html\": true,\r\n\r\n\t\t\t// Evaluate text as a json expression\r\n\t\t\t\"text json\": jQuery.parseJSON,\r\n\r\n\t\t\t// Parse text as xml\r\n\t\t\t\"text xml\": jQuery.parseXML\r\n\t\t},\r\n\r\n\t\t// For options that shouldn't be deep extended:\r\n\t\t// you can add your own custom options here if\r\n\t\t// and when you create one that shouldn't be\r\n\t\t// deep extended (see ajaxExtend)\r\n\t\tflatOptions: {\r\n\t\t\tcontext: true,\r\n\t\t\turl: true\r\n\t\t}\r\n\t},\r\n\r\n\tajaxPrefilter: addToPrefiltersOrTransports( prefilters ),\r\n\tajaxTransport: addToPrefiltersOrTransports( transports ),\r\n\r\n\t// Main method\r\n\tajax: function( url, options ) {\r\n\r\n\t\t// If url is an object, simulate pre-1.5 signature\r\n\t\tif ( typeof url === \"object\" ) {\r\n\t\t\toptions = url;\r\n\t\t\turl = undefined;\r\n\t\t}\r\n\r\n\t\t// Force options to be an object\r\n\t\toptions = options || {};\r\n\r\n\t\tvar // ifModified key\r\n\t\t\tifModifiedKey,\r\n\t\t\t// Response headers\r\n\t\t\tresponseHeadersString,\r\n\t\t\tresponseHeaders,\r\n\t\t\t// transport\r\n\t\t\ttransport,\r\n\t\t\t// timeout handle\r\n\t\t\ttimeoutTimer,\r\n\t\t\t// Cross-domain detection vars\r\n\t\t\tparts,\r\n\t\t\t// To know if global events are to be dispatched\r\n\t\t\tfireGlobals,\r\n\t\t\t// Loop variable\r\n\t\t\ti,\r\n\t\t\t// Create the final options object\r\n\t\t\ts = jQuery.ajaxSetup( {}, options ),\r\n\t\t\t// Callbacks context\r\n\t\t\tcallbackContext = s.context || s,\r\n\t\t\t// Context for global events\r\n\t\t\t// It's the callbackContext if one was provided in the options\r\n\t\t\t// and if it's a DOM node or a jQuery collection\r\n\t\t\tglobalEventContext = callbackContext !== s &&\r\n\t\t\t\t( callbackContext.nodeType || callbackContext instanceof jQuery ) ?\r\n\t\t\t\t\t\tjQuery( callbackContext ) : jQuery.event,\r\n\t\t\t// Deferreds\r\n\t\t\tdeferred = jQuery.Deferred(),\r\n\t\t\tcompleteDeferred = jQuery.Callbacks( \"once memory\" ),\r\n\t\t\t// Status-dependent callbacks\r\n\t\t\tstatusCode = s.statusCode || {},\r\n\t\t\t// Headers (they are sent all at once)\r\n\t\t\trequestHeaders = {},\r\n\t\t\trequestHeadersNames = {},\r\n\t\t\t// The jqXHR state\r\n\t\t\tstate = 0,\r\n\t\t\t// Default abort message\r\n\t\t\tstrAbort = \"canceled\",\r\n\t\t\t// Fake xhr\r\n\t\t\tjqXHR = {\r\n\r\n\t\t\t\treadyState: 0,\r\n\r\n\t\t\t\t// Caches the header\r\n\t\t\t\tsetRequestHeader: function( name, value ) {\r\n\t\t\t\t\tif ( !state ) {\r\n\t\t\t\t\t\tvar lname = name.toLowerCase();\r\n\t\t\t\t\t\tname = requestHeadersNames[ lname ] = requestHeadersNames[ lname ] || name;\r\n\t\t\t\t\t\trequestHeaders[ name ] = value;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn this;\r\n\t\t\t\t},\r\n\r\n\t\t\t\t// Raw string\r\n\t\t\t\tgetAllResponseHeaders: function() {\r\n\t\t\t\t\treturn state === 2 ? responseHeadersString : null;\r\n\t\t\t\t},\r\n\r\n\t\t\t\t// Builds headers hashtable if needed\r\n\t\t\t\tgetResponseHeader: function( key ) {\r\n\t\t\t\t\tvar match;\r\n\t\t\t\t\tif ( state === 2 ) {\r\n\t\t\t\t\t\tif ( !responseHeaders ) {\r\n\t\t\t\t\t\t\tresponseHeaders = {};\r\n\t\t\t\t\t\t\twhile( ( match = rheaders.exec( responseHeadersString ) ) ) {\r\n\t\t\t\t\t\t\t\tresponseHeaders[ match[1].toLowerCase() ] = match[ 2 ];\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tmatch = responseHeaders[ key.toLowerCase() ];\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn match === undefined ? null : match;\r\n\t\t\t\t},\r\n\r\n\t\t\t\t// Overrides response content-type header\r\n\t\t\t\toverrideMimeType: function( type ) {\r\n\t\t\t\t\tif ( !state ) {\r\n\t\t\t\t\t\ts.mimeType = type;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn this;\r\n\t\t\t\t},\r\n\r\n\t\t\t\t// Cancel the request\r\n\t\t\t\tabort: function( statusText ) {\r\n\t\t\t\t\tstatusText = statusText || strAbort;\r\n\t\t\t\t\tif ( transport ) {\r\n\t\t\t\t\t\ttransport.abort( statusText );\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdone( 0, statusText );\r\n\t\t\t\t\treturn this;\r\n\t\t\t\t}\r\n\t\t\t};\r\n\r\n\t\t// Callback for when everything is done\r\n\t\t// It is defined here because jslint complains if it is declared\r\n\t\t// at the end of the function (which would be more logical and readable)\r\n\t\tfunction done( status, nativeStatusText, responses, headers ) {\r\n\t\t\tvar isSuccess, success, error, response, modified,\r\n\t\t\t\tstatusText = nativeStatusText;\r\n\r\n\t\t\t// Called once\r\n\t\t\tif ( state === 2 ) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\t// State is \"done\" now\r\n\t\t\tstate = 2;\r\n\r\n\t\t\t// Clear timeout if it exists\r\n\t\t\tif ( timeoutTimer ) {\r\n\t\t\t\tclearTimeout( timeoutTimer );\r\n\t\t\t}\r\n\r\n\t\t\t// Dereference transport for early garbage collection\r\n\t\t\t// (no matter how long the jqXHR object will be used)\r\n\t\t\ttransport = undefined;\r\n\r\n\t\t\t// Cache response headers\r\n\t\t\tresponseHeadersString = headers || \"\";\r\n\r\n\t\t\t// Set readyState\r\n\t\t\tjqXHR.readyState = status > 0 ? 4 : 0;\r\n\r\n\t\t\t// Get response data\r\n\t\t\tif ( responses ) {\r\n\t\t\t\tresponse = ajaxHandleResponses( s, jqXHR, responses );\r\n\t\t\t}\r\n\r\n\t\t\t// If successful, handle type chaining\r\n\t\t\tif ( status >= 200 && status < 300 || status === 304 ) {\r\n\r\n\t\t\t\t// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.\r\n\t\t\t\tif ( s.ifModified ) {\r\n\r\n\t\t\t\t\tmodified = jqXHR.getResponseHeader(\"Last-Modified\");\r\n\t\t\t\t\tif ( modified ) {\r\n\t\t\t\t\t\tjQuery.lastModified[ ifModifiedKey ] = modified;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tmodified = jqXHR.getResponseHeader(\"Etag\");\r\n\t\t\t\t\tif ( modified ) {\r\n\t\t\t\t\t\tjQuery.etag[ ifModifiedKey ] = modified;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// If not modified\r\n\t\t\t\tif ( status === 304 ) {\r\n\r\n\t\t\t\t\tstatusText = \"notmodified\";\r\n\t\t\t\t\tisSuccess = true;\r\n\r\n\t\t\t\t// If we have data\r\n\t\t\t\t} else {\r\n\r\n\t\t\t\t\tisSuccess = ajaxConvert( s, response );\r\n\t\t\t\t\tstatusText = isSuccess.state;\r\n\t\t\t\t\tsuccess = isSuccess.data;\r\n\t\t\t\t\terror = isSuccess.error;\r\n\t\t\t\t\tisSuccess = !error;\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\t// We extract error from statusText\r\n\t\t\t\t// then normalize statusText and status for non-aborts\r\n\t\t\t\terror = statusText;\r\n\t\t\t\tif ( !statusText || status ) {\r\n\t\t\t\t\tstatusText = \"error\";\r\n\t\t\t\t\tif ( status < 0 ) {\r\n\t\t\t\t\t\tstatus = 0;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// Set data for the fake xhr object\r\n\t\t\tjqXHR.status = status;\r\n\t\t\tjqXHR.statusText = ( nativeStatusText || statusText ) + \"\";\r\n\r\n\t\t\t// Success/Error\r\n\t\t\tif ( isSuccess ) {\r\n\t\t\t\tdeferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] );\r\n\t\t\t} else {\r\n\t\t\t\tdeferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] );\r\n\t\t\t}\r\n\r\n\t\t\t// Status-dependent callbacks\r\n\t\t\tjqXHR.statusCode( statusCode );\r\n\t\t\tstatusCode = undefined;\r\n\r\n\t\t\tif ( fireGlobals ) {\r\n\t\t\t\tglobalEventContext.trigger( \"ajax\" + ( isSuccess ? \"Success\" : \"Error\" ),\r\n\t\t\t\t\t\t[ jqXHR, s, isSuccess ? success : error ] );\r\n\t\t\t}\r\n\r\n\t\t\t// Complete\r\n\t\t\tcompleteDeferred.fireWith( callbackContext, [ jqXHR, statusText ] );\r\n\r\n\t\t\tif ( fireGlobals ) {\r\n\t\t\t\tglobalEventContext.trigger( \"ajaxComplete\", [ jqXHR, s ] );\r\n\t\t\t\t// Handle the global AJAX counter\r\n\t\t\t\tif ( !( --jQuery.active ) ) {\r\n\t\t\t\t\tjQuery.event.trigger( \"ajaxStop\" );\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Attach deferreds\r\n\t\tdeferred.promise( jqXHR );\r\n\t\tjqXHR.success = jqXHR.done;\r\n\t\tjqXHR.error = jqXHR.fail;\r\n\t\tjqXHR.complete = completeDeferred.add;\r\n\r\n\t\t// Status-dependent callbacks\r\n\t\tjqXHR.statusCode = function( map ) {\r\n\t\t\tif ( map ) {\r\n\t\t\t\tvar tmp;\r\n\t\t\t\tif ( state < 2 ) {\r\n\t\t\t\t\tfor ( tmp in map ) {\r\n\t\t\t\t\t\tstatusCode[ tmp ] = [ statusCode[tmp], map[tmp] ];\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\ttmp = map[ jqXHR.status ];\r\n\t\t\t\t\tjqXHR.always( tmp );\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn this;\r\n\t\t};\r\n\r\n\t\t// Remove hash character (#7531: and string promotion)\r\n\t\t// Add protocol if not provided (#5866: IE7 issue with protocol-less urls)\r\n\t\t// We also use the url parameter if available\r\n\t\ts.url = ( ( url || s.url ) + \"\" ).replace( rhash, \"\" ).replace( rprotocol, ajaxLocParts[ 1 ] + \"//\" );\r\n\r\n\t\t// Extract dataTypes list\r\n\t\ts.dataTypes = jQuery.trim( s.dataType || \"*\" ).toLowerCase().split( core_rspace );\r\n\r\n\t\t// A cross-domain request is in order when we have a protocol:host:port mismatch\r\n\t\tif ( s.crossDomain == null ) {\r\n\t\t\tparts = rurl.exec( s.url.toLowerCase() ) || false;\r\n\t\t\ts.crossDomain = parts && ( parts.join(\":\") + ( parts[ 3 ] ? \"\" : parts[ 1 ] === \"http:\" ? 80 : 443 ) ) !==\r\n\t\t\t\t( ajaxLocParts.join(\":\") + ( ajaxLocParts[ 3 ] ? \"\" : ajaxLocParts[ 1 ] === \"http:\" ? 80 : 443 ) );\r\n\t\t}\r\n\r\n\t\t// Convert data if not already a string\r\n\t\tif ( s.data && s.processData && typeof s.data !== \"string\" ) {\r\n\t\t\ts.data = jQuery.param( s.data, s.traditional );\r\n\t\t}\r\n\r\n\t\t// Apply prefilters\r\n\t\tinspectPrefiltersOrTransports( prefilters, s, options, jqXHR );\r\n\r\n\t\t// If request was aborted inside a prefilter, stop there\r\n\t\tif ( state === 2 ) {\r\n\t\t\treturn jqXHR;\r\n\t\t}\r\n\r\n\t\t// We can fire global events as of now if asked to\r\n\t\tfireGlobals = s.global;\r\n\r\n\t\t// Uppercase the type\r\n\t\ts.type = s.type.toUpperCase();\r\n\r\n\t\t// Determine if request has content\r\n\t\ts.hasContent = !rnoContent.test( s.type );\r\n\r\n\t\t// Watch for a new set of requests\r\n\t\tif ( fireGlobals && jQuery.active++ === 0 ) {\r\n\t\t\tjQuery.event.trigger( \"ajaxStart\" );\r\n\t\t}\r\n\r\n\t\t// More options handling for requests with no content\r\n\t\tif ( !s.hasContent ) {\r\n\r\n\t\t\t// If data is available, append data to url\r\n\t\t\tif ( s.data ) {\r\n\t\t\t\ts.url += ( rquery.test( s.url ) ? \"&\" : \"?\" ) + s.data;\r\n\t\t\t\t// #9682: remove data so that it's not used in an eventual retry\r\n\t\t\t\tdelete s.data;\r\n\t\t\t}\r\n\r\n\t\t\t// Get ifModifiedKey before adding the anti-cache parameter\r\n\t\t\tifModifiedKey = s.url;\r\n\r\n\t\t\t// Add anti-cache in url if needed\r\n\t\t\tif ( s.cache === false ) {\r\n\r\n\t\t\t\tvar ts = jQuery.now(),\r\n\t\t\t\t\t// try replacing _= if it is there\r\n\t\t\t\t\tret = s.url.replace( rts, \"$1_=\" + ts );\r\n\r\n\t\t\t\t// if nothing was replaced, add timestamp to the end\r\n\t\t\t\ts.url = ret + ( ( ret === s.url ) ? ( rquery.test( s.url ) ? \"&\" : \"?\" ) + \"_=\" + ts : \"\" );\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Set the correct header, if data is being sent\r\n\t\tif ( s.data && s.hasContent && s.contentType !== false || options.contentType ) {\r\n\t\t\tjqXHR.setRequestHeader( \"Content-Type\", s.contentType );\r\n\t\t}\r\n\r\n\t\t// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.\r\n\t\tif ( s.ifModified ) {\r\n\t\t\tifModifiedKey = ifModifiedKey || s.url;\r\n\t\t\tif ( jQuery.lastModified[ ifModifiedKey ] ) {\r\n\t\t\t\tjqXHR.setRequestHeader( \"If-Modified-Since\", jQuery.lastModified[ ifModifiedKey ] );\r\n\t\t\t}\r\n\t\t\tif ( jQuery.etag[ ifModifiedKey ] ) {\r\n\t\t\t\tjqXHR.setRequestHeader( \"If-None-Match\", jQuery.etag[ ifModifiedKey ] );\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t// Set the Accepts header for the server, depending on the dataType\r\n\t\tjqXHR.setRequestHeader(\r\n\t\t\t\"Accept\",\r\n\t\t\ts.dataTypes[ 0 ] && s.accepts[ s.dataTypes[0] ] ?\r\n\t\t\t\ts.accepts[ s.dataTypes[0] ] + ( s.dataTypes[ 0 ] !== \"*\" ? \", \" + allTypes + \"; q=0.01\" : \"\" ) :\r\n\t\t\t\ts.accepts[ \"*\" ]\r\n\t\t);\r\n\r\n\t\t// Check for headers option\r\n\t\tfor ( i in s.headers ) {\r\n\t\t\tjqXHR.setRequestHeader( i, s.headers[ i ] );\r\n\t\t}\r\n\r\n\t\t// Allow custom headers/mimetypes and early abort\r\n\t\tif ( s.beforeSend && ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || state === 2 ) ) {\r\n\t\t\t\t// Abort if not done already and return\r\n\t\t\t\treturn jqXHR.abort();\r\n\r\n\t\t}\r\n\r\n\t\t// aborting is no longer a cancellation\r\n\t\tstrAbort = \"abort\";\r\n\r\n\t\t// Install callbacks on deferreds\r\n\t\tfor ( i in { success: 1, error: 1, complete: 1 } ) {\r\n\t\t\tjqXHR[ i ]( s[ i ] );\r\n\t\t}\r\n\r\n\t\t// Get transport\r\n\t\ttransport = inspectPrefiltersOrTransports( transports, s, options, jqXHR );\r\n\r\n\t\t// If no transport, we auto-abort\r\n\t\tif ( !transport ) {\r\n\t\t\tdone( -1, \"No Transport\" );\r\n\t\t} else {\r\n\t\t\tjqXHR.readyState = 1;\r\n\t\t\t// Send global event\r\n\t\t\tif ( fireGlobals ) {\r\n\t\t\t\tglobalEventContext.trigger( \"ajaxSend\", [ jqXHR, s ] );\r\n\t\t\t}\r\n\t\t\t// Timeout\r\n\t\t\tif ( s.async && s.timeout > 0 ) {\r\n\t\t\t\ttimeoutTimer = setTimeout( function(){\r\n\t\t\t\t\tjqXHR.abort( \"timeout\" );\r\n\t\t\t\t}, s.timeout );\r\n\t\t\t}\r\n\r\n\t\t\ttry {\r\n\t\t\t\tstate = 1;\r\n\t\t\t\ttransport.send( requestHeaders, done );\r\n\t\t\t} catch (e) {\r\n\t\t\t\t// Propagate exception as error if not done\r\n\t\t\t\tif ( state < 2 ) {\r\n\t\t\t\t\tdone( -1, e );\r\n\t\t\t\t// Simply rethrow otherwise\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthrow e;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn jqXHR;\r\n\t},\r\n\r\n\t// Counter for holding the number of active queries\r\n\tactive: 0,\r\n\r\n\t// Last-Modified header cache for next request\r\n\tlastModified: {},\r\n\tetag: {}\r\n\r\n});\r\n\r\n/* Handles responses to an ajax request:\r\n * - sets all responseXXX fields accordingly\r\n * - finds the right dataType (mediates between content-type and expected dataType)\r\n * - returns the corresponding response\r\n */\r\nfunction ajaxHandleResponses( s, jqXHR, responses ) {\r\n\r\n\tvar ct, type, finalDataType, firstDataType,\r\n\t\tcontents = s.contents,\r\n\t\tdataTypes = s.dataTypes,\r\n\t\tresponseFields = s.responseFields;\r\n\r\n\t// Fill responseXXX fields\r\n\tfor ( type in responseFields ) {\r\n\t\tif ( type in responses ) {\r\n\t\t\tjqXHR[ responseFields[type] ] = responses[ type ];\r\n\t\t}\r\n\t}\r\n\r\n\t// Remove auto dataType and get content-type in the process\r\n\twhile( dataTypes[ 0 ] === \"*\" ) {\r\n\t\tdataTypes.shift();\r\n\t\tif ( ct === undefined ) {\r\n\t\t\tct = s.mimeType || jqXHR.getResponseHeader( \"content-type\" );\r\n\t\t}\r\n\t}\r\n\r\n\t// Check if we're dealing with a known content-type\r\n\tif ( ct ) {\r\n\t\tfor ( type in contents ) {\r\n\t\t\tif ( contents[ type ] && contents[ type ].test( ct ) ) {\r\n\t\t\t\tdataTypes.unshift( type );\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\t// Check to see if we have a response for the expected dataType\r\n\tif ( dataTypes[ 0 ] in responses ) {\r\n\t\tfinalDataType = dataTypes[ 0 ];\r\n\t} else {\r\n\t\t// Try convertible dataTypes\r\n\t\tfor ( type in responses ) {\r\n\t\t\tif ( !dataTypes[ 0 ] || s.converters[ type + \" \" + dataTypes[0] ] ) {\r\n\t\t\t\tfinalDataType = type;\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tif ( !firstDataType ) {\r\n\t\t\t\tfirstDataType = type;\r\n\t\t\t}\r\n\t\t}\r\n\t\t// Or just use first one\r\n\t\tfinalDataType = finalDataType || firstDataType;\r\n\t}\r\n\r\n\t// If we found a dataType\r\n\t// We add the dataType to the list if needed\r\n\t// and return the corresponding response\r\n\tif ( finalDataType ) {\r\n\t\tif ( finalDataType !== dataTypes[ 0 ] ) {\r\n\t\t\tdataTypes.unshift( finalDataType );\r\n\t\t}\r\n\t\treturn responses[ finalDataType ];\r\n\t}\r\n}\r\n\r\n// Chain conversions given the request and the original response\r\nfunction ajaxConvert( s, response ) {\r\n\r\n\tvar conv, conv2, current, tmp,\r\n\t\t// Work with a copy of dataTypes in case we need to modify it for conversion\r\n\t\tdataTypes = s.dataTypes.slice(),\r\n\t\tprev = dataTypes[ 0 ],\r\n\t\tconverters = {},\r\n\t\ti = 0;\r\n\r\n\t// Apply the dataFilter if provided\r\n\tif ( s.dataFilter ) {\r\n\t\tresponse = s.dataFilter( response, s.dataType );\r\n\t}\r\n\r\n\t// Create converters map with lowercased keys\r\n\tif ( dataTypes[ 1 ] ) {\r\n\t\tfor ( conv in s.converters ) {\r\n\t\t\tconverters[ conv.toLowerCase() ] = s.converters[ conv ];\r\n\t\t}\r\n\t}\r\n\r\n\t// Convert to each sequential dataType, tolerating list modification\r\n\tfor ( ; (current = dataTypes[++i]); ) {\r\n\r\n\t\t// There's only work to do if current dataType is non-auto\r\n\t\tif ( current !== \"*\" ) {\r\n\r\n\t\t\t// Convert response if prev dataType is non-auto and differs from current\r\n\t\t\tif ( prev !== \"*\" && prev !== current ) {\r\n\r\n\t\t\t\t// Seek a direct converter\r\n\t\t\t\tconv = converters[ prev + \" \" + current ] || converters[ \"* \" + current ];\r\n\r\n\t\t\t\t// If none found, seek a pair\r\n\t\t\t\tif ( !conv ) {\r\n\t\t\t\t\tfor ( conv2 in converters ) {\r\n\r\n\t\t\t\t\t\t// If conv2 outputs current\r\n\t\t\t\t\t\ttmp = conv2.split(\" \");\r\n\t\t\t\t\t\tif ( tmp[ 1 ] === current ) {\r\n\r\n\t\t\t\t\t\t\t// If prev can be converted to accepted input\r\n\t\t\t\t\t\t\tconv = converters[ prev + \" \" + tmp[ 0 ] ] ||\r\n\t\t\t\t\t\t\t\tconverters[ \"* \" + tmp[ 0 ] ];\r\n\t\t\t\t\t\t\tif ( conv ) {\r\n\t\t\t\t\t\t\t\t// Condense equivalence converters\r\n\t\t\t\t\t\t\t\tif ( conv === true ) {\r\n\t\t\t\t\t\t\t\t\tconv = converters[ conv2 ];\r\n\r\n\t\t\t\t\t\t\t\t// Otherwise, insert the intermediate dataType\r\n\t\t\t\t\t\t\t\t} else if ( converters[ conv2 ] !== true ) {\r\n\t\t\t\t\t\t\t\t\tcurrent = tmp[ 0 ];\r\n\t\t\t\t\t\t\t\t\tdataTypes.splice( i--, 0, current );\r\n\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Apply converter (if not an equivalence)\r\n\t\t\t\tif ( conv !== true ) {\r\n\r\n\t\t\t\t\t// Unless errors are allowed to bubble, catch and return them\r\n\t\t\t\t\tif ( conv && s[\"throws\"] ) {\r\n\t\t\t\t\t\tresponse = conv( response );\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\ttry {\r\n\t\t\t\t\t\t\tresponse = conv( response );\r\n\t\t\t\t\t\t} catch ( e ) {\r\n\t\t\t\t\t\t\treturn { state: \"parsererror\", error: conv ? e : \"No conversion from \" + prev + \" to \" + current };\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\r\n\t\t\t// Update prev for next iteration\r\n\t\t\tprev = current;\r\n\t\t}\r\n\t}\r\n\r\n\treturn { state: \"success\", data: response };\r\n}\r\nvar oldCallbacks = [],\r\n\trquestion = /\\?/,\r\n\trjsonp = /(=)\\?(?=&|$)|\\?\\?/,\r\n\tnonce = jQuery.now();\r\n\r\n// Default jsonp settings\r\njQuery.ajaxSetup({\r\n\tjsonp: \"callback\",\r\n\tjsonpCallback: function() {\r\n\t\tvar callback = oldCallbacks.pop() || ( jQuery.expando + \"_\" + ( nonce++ ) );\r\n\t\tthis[ callback ] = true;\r\n\t\treturn callback;\r\n\t}\r\n});\r\n\r\n// Detect, normalize options and install callbacks for jsonp requests\r\njQuery.ajaxPrefilter( \"json jsonp\", function( s, originalSettings, jqXHR ) {\r\n\r\n\tvar callbackName, overwritten, responseContainer,\r\n\t\tdata = s.data,\r\n\t\turl = s.url,\r\n\t\thasCallback = s.jsonp !== false,\r\n\t\treplaceInUrl = hasCallback && rjsonp.test( url ),\r\n\t\treplaceInData = hasCallback && !replaceInUrl && typeof data === \"string\" &&\r\n\t\t\t!( s.contentType || \"\" ).indexOf(\"application/x-www-form-urlencoded\") &&\r\n\t\t\trjsonp.test( data );\r\n\r\n\t// Handle iff the expected data type is \"jsonp\" or we have a parameter to set\r\n\tif ( s.dataTypes[ 0 ] === \"jsonp\" || replaceInUrl || replaceInData ) {\r\n\r\n\t\t// Get callback name, remembering preexisting value associated with it\r\n\t\tcallbackName = s.jsonpCallback = jQuery.isFunction( s.jsonpCallback ) ?\r\n\t\t\ts.jsonpCallback() :\r\n\t\t\ts.jsonpCallback;\r\n\t\toverwritten = window[ callbackName ];\r\n\r\n\t\t// Insert callback into url or form data\r\n\t\tif ( replaceInUrl ) {\r\n\t\t\ts.url = url.replace( rjsonp, \"$1\" + callbackName );\r\n\t\t} else if ( replaceInData ) {\r\n\t\t\ts.data = data.replace( rjsonp, \"$1\" + callbackName );\r\n\t\t} else if ( hasCallback ) {\r\n\t\t\ts.url += ( rquestion.test( url ) ? \"&\" : \"?\" ) + s.jsonp + \"=\" + callbackName;\r\n\t\t}\r\n\r\n\t\t// Use data converter to retrieve json after script execution\r\n\t\ts.converters[\"script json\"] = function() {\r\n\t\t\tif ( !responseContainer ) {\r\n\t\t\t\tjQuery.error( callbackName + \" was not called\" );\r\n\t\t\t}\r\n\t\t\treturn responseContainer[ 0 ];\r\n\t\t};\r\n\r\n\t\t// force json dataType\r\n\t\ts.dataTypes[ 0 ] = \"json\";\r\n\r\n\t\t// Install callback\r\n\t\twindow[ callbackName ] = function() {\r\n\t\t\tresponseContainer = arguments;\r\n\t\t};\r\n\r\n\t\t// Clean-up function (fires after converters)\r\n\t\tjqXHR.always(function() {\r\n\t\t\t// Restore preexisting value\r\n\t\t\twindow[ callbackName ] = overwritten;\r\n\r\n\t\t\t// Save back as free\r\n\t\t\tif ( s[ callbackName ] ) {\r\n\t\t\t\t// make sure that re-using the options doesn't screw things around\r\n\t\t\t\ts.jsonpCallback = originalSettings.jsonpCallback;\r\n\r\n\t\t\t\t// save the callback name for future use\r\n\t\t\t\toldCallbacks.push( callbackName );\r\n\t\t\t}\r\n\r\n\t\t\t// Call if it was a function and we have a response\r\n\t\t\tif ( responseContainer && jQuery.isFunction( overwritten ) ) {\r\n\t\t\t\toverwritten( responseContainer[ 0 ] );\r\n\t\t\t}\r\n\r\n\t\t\tresponseContainer = overwritten = undefined;\r\n\t\t});\r\n\r\n\t\t// Delegate to script\r\n\t\treturn \"script\";\r\n\t}\r\n});\r\n// Install script dataType\r\njQuery.ajaxSetup({\r\n\taccepts: {\r\n\t\tscript: \"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript\"\r\n\t},\r\n\tcontents: {\r\n\t\tscript: /javascript|ecmascript/\r\n\t},\r\n\tconverters: {\r\n\t\t\"text script\": function( text ) {\r\n\t\t\tjQuery.globalEval( text );\r\n\t\t\treturn text;\r\n\t\t}\r\n\t}\r\n});\r\n\r\n// Handle cache's special case and global\r\njQuery.ajaxPrefilter( \"script\", function( s ) {\r\n\tif ( s.cache === undefined ) {\r\n\t\ts.cache = false;\r\n\t}\r\n\tif ( s.crossDomain ) {\r\n\t\ts.type = \"GET\";\r\n\t\ts.global = false;\r\n\t}\r\n});\r\n\r\n// Bind script tag hack transport\r\njQuery.ajaxTransport( \"script\", function(s) {\r\n\r\n\t// This transport only deals with cross domain requests\r\n\tif ( s.crossDomain ) {\r\n\r\n\t\tvar script,\r\n\t\t\thead = document.head || document.getElementsByTagName( \"head\" )[0] || document.documentElement;\r\n\r\n\t\treturn {\r\n\r\n\t\t\tsend: function( _, callback ) {\r\n\r\n\t\t\t\tscript = document.createElement( \"script\" );\r\n\r\n\t\t\t\tscript.async = \"async\";\r\n\r\n\t\t\t\tif ( s.scriptCharset ) {\r\n\t\t\t\t\tscript.charset = s.scriptCharset;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tscript.src = s.url;\r\n\r\n\t\t\t\t// Attach handlers for all browsers\r\n\t\t\t\tscript.onload = script.onreadystatechange = function( _, isAbort ) {\r\n\r\n\t\t\t\t\tif ( isAbort || !script.readyState || /loaded|complete/.test( script.readyState ) ) {\r\n\r\n\t\t\t\t\t\t// Handle memory leak in IE\r\n\t\t\t\t\t\tscript.onload = script.onreadystatechange = null;\r\n\r\n\t\t\t\t\t\t// Remove the script\r\n\t\t\t\t\t\tif ( head && script.parentNode ) {\r\n\t\t\t\t\t\t\thead.removeChild( script );\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t// Dereference the script\r\n\t\t\t\t\t\tscript = undefined;\r\n\r\n\t\t\t\t\t\t// Callback if not abort\r\n\t\t\t\t\t\tif ( !isAbort ) {\r\n\t\t\t\t\t\t\tcallback( 200, \"success\" );\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\t// Use insertBefore instead of appendChild  to circumvent an IE6 bug.\r\n\t\t\t\t// This arises when a base node is used (#2709 and #4378).\r\n\t\t\t\thead.insertBefore( script, head.firstChild );\r\n\t\t\t},\r\n\r\n\t\t\tabort: function() {\r\n\t\t\t\tif ( script ) {\r\n\t\t\t\t\tscript.onload( 0, 1 );\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t};\r\n\t}\r\n});\r\nvar xhrCallbacks,\r\n\t// #5280: Internet Explorer will keep connections alive if we don't abort on unload\r\n\txhrOnUnloadAbort = window.ActiveXObject ? function() {\r\n\t\t// Abort all pending requests\r\n\t\tfor ( var key in xhrCallbacks ) {\r\n\t\t\txhrCallbacks[ key ]( 0, 1 );\r\n\t\t}\r\n\t} : false,\r\n\txhrId = 0;\r\n\r\n// Functions to create xhrs\r\nfunction createStandardXHR() {\r\n\ttry {\r\n\t\treturn new window.XMLHttpRequest();\r\n\t} catch( e ) {}\r\n}\r\n\r\nfunction createActiveXHR() {\r\n\ttry {\r\n\t\treturn new window.ActiveXObject( \"Microsoft.XMLHTTP\" );\r\n\t} catch( e ) {}\r\n}\r\n\r\n// Create the request object\r\n// (This is still attached to ajaxSettings for backward compatibility)\r\njQuery.ajaxSettings.xhr = window.ActiveXObject ?\r\n\t/* Microsoft failed to properly\r\n\t * implement the XMLHttpRequest in IE7 (can't request local files),\r\n\t * so we use the ActiveXObject when it is available\r\n\t * Additionally XMLHttpRequest can be disabled in IE7/IE8 so\r\n\t * we need a fallback.\r\n\t */\r\n\tfunction() {\r\n\t\treturn !this.isLocal && createStandardXHR() || createActiveXHR();\r\n\t} :\r\n\t// For all other browsers, use the standard XMLHttpRequest object\r\n\tcreateStandardXHR;\r\n\r\n// Determine support properties\r\n(function( xhr ) {\r\n\tjQuery.extend( jQuery.support, {\r\n\t\tajax: !!xhr,\r\n\t\tcors: !!xhr && ( \"withCredentials\" in xhr )\r\n\t});\r\n})( jQuery.ajaxSettings.xhr() );\r\n\r\n// Create transport if the browser can provide an xhr\r\nif ( jQuery.support.ajax ) {\r\n\r\n\tjQuery.ajaxTransport(function( s ) {\r\n\t\t// Cross domain only allowed if supported through XMLHttpRequest\r\n\t\tif ( !s.crossDomain || jQuery.support.cors ) {\r\n\r\n\t\t\tvar callback;\r\n\r\n\t\t\treturn {\r\n\t\t\t\tsend: function( headers, complete ) {\r\n\r\n\t\t\t\t\t// Get a new xhr\r\n\t\t\t\t\tvar handle, i,\r\n\t\t\t\t\t\txhr = s.xhr();\r\n\r\n\t\t\t\t\t// Open the socket\r\n\t\t\t\t\t// Passing null username, generates a login popup on Opera (#2865)\r\n\t\t\t\t\tif ( s.username ) {\r\n\t\t\t\t\t\txhr.open( s.type, s.url, s.async, s.username, s.password );\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\txhr.open( s.type, s.url, s.async );\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// Apply custom fields if provided\r\n\t\t\t\t\tif ( s.xhrFields ) {\r\n\t\t\t\t\t\tfor ( i in s.xhrFields ) {\r\n\t\t\t\t\t\t\txhr[ i ] = s.xhrFields[ i ];\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// Override mime type if needed\r\n\t\t\t\t\tif ( s.mimeType && xhr.overrideMimeType ) {\r\n\t\t\t\t\t\txhr.overrideMimeType( s.mimeType );\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// X-Requested-With header\r\n\t\t\t\t\t// For cross-domain requests, seeing as conditions for a preflight are\r\n\t\t\t\t\t// akin to a jigsaw puzzle, we simply never set it to be sure.\r\n\t\t\t\t\t// (it can always be set on a per-request basis or even using ajaxSetup)\r\n\t\t\t\t\t// For same-domain requests, won't change header if already provided.\r\n\t\t\t\t\tif ( !s.crossDomain && !headers[\"X-Requested-With\"] ) {\r\n\t\t\t\t\t\theaders[ \"X-Requested-With\" ] = \"XMLHttpRequest\";\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// Need an extra try/catch for cross domain requests in Firefox 3\r\n\t\t\t\t\ttry {\r\n\t\t\t\t\t\tfor ( i in headers ) {\r\n\t\t\t\t\t\t\txhr.setRequestHeader( i, headers[ i ] );\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} catch( _ ) {}\r\n\r\n\t\t\t\t\t// Do send the request\r\n\t\t\t\t\t// This may raise an exception which is actually\r\n\t\t\t\t\t// handled in jQuery.ajax (so no try/catch here)\r\n\t\t\t\t\txhr.send( ( s.hasContent && s.data ) || null );\r\n\r\n\t\t\t\t\t// Listener\r\n\t\t\t\t\tcallback = function( _, isAbort ) {\r\n\r\n\t\t\t\t\t\tvar status,\r\n\t\t\t\t\t\t\tstatusText,\r\n\t\t\t\t\t\t\tresponseHeaders,\r\n\t\t\t\t\t\t\tresponses,\r\n\t\t\t\t\t\t\txml;\r\n\r\n\t\t\t\t\t\t// Firefox throws exceptions when accessing properties\r\n\t\t\t\t\t\t// of an xhr when a network error occurred\r\n\t\t\t\t\t\t// http://helpful.knobs-dials.com/index.php/Component_returned_failure_code:_0x80040111_(NS_ERROR_NOT_AVAILABLE)\r\n\t\t\t\t\t\ttry {\r\n\r\n\t\t\t\t\t\t\t// Was never called and is aborted or complete\r\n\t\t\t\t\t\t\tif ( callback && ( isAbort || xhr.readyState === 4 ) ) {\r\n\r\n\t\t\t\t\t\t\t\t// Only called once\r\n\t\t\t\t\t\t\t\tcallback = undefined;\r\n\r\n\t\t\t\t\t\t\t\t// Do not keep as active anymore\r\n\t\t\t\t\t\t\t\tif ( handle ) {\r\n\t\t\t\t\t\t\t\t\txhr.onreadystatechange = jQuery.noop;\r\n\t\t\t\t\t\t\t\t\tif ( xhrOnUnloadAbort ) {\r\n\t\t\t\t\t\t\t\t\t\tdelete xhrCallbacks[ handle ];\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t// If it's an abort\r\n\t\t\t\t\t\t\t\tif ( isAbort ) {\r\n\t\t\t\t\t\t\t\t\t// Abort it manually if needed\r\n\t\t\t\t\t\t\t\t\tif ( xhr.readyState !== 4 ) {\r\n\t\t\t\t\t\t\t\t\t\txhr.abort();\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tstatus = xhr.status;\r\n\t\t\t\t\t\t\t\t\tresponseHeaders = xhr.getAllResponseHeaders();\r\n\t\t\t\t\t\t\t\t\tresponses = {};\r\n\t\t\t\t\t\t\t\t\txml = xhr.responseXML;\r\n\r\n\t\t\t\t\t\t\t\t\t// Construct response list\r\n\t\t\t\t\t\t\t\t\tif ( xml && xml.documentElement /* #4958 */ ) {\r\n\t\t\t\t\t\t\t\t\t\tresponses.xml = xml;\r\n\t\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t\t// When requesting binary data, IE6-9 will throw an exception\r\n\t\t\t\t\t\t\t\t\t// on any attempt to access responseText (#11426)\r\n\t\t\t\t\t\t\t\t\ttry {\r\n\t\t\t\t\t\t\t\t\t\tresponses.text = xhr.responseText;\r\n\t\t\t\t\t\t\t\t\t} catch( _ ) {\r\n\t\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t\t// Firefox throws an exception when accessing\r\n\t\t\t\t\t\t\t\t\t// statusText for faulty cross-domain requests\r\n\t\t\t\t\t\t\t\t\ttry {\r\n\t\t\t\t\t\t\t\t\t\tstatusText = xhr.statusText;\r\n\t\t\t\t\t\t\t\t\t} catch( e ) {\r\n\t\t\t\t\t\t\t\t\t\t// We normalize with Webkit giving an empty statusText\r\n\t\t\t\t\t\t\t\t\t\tstatusText = \"\";\r\n\t\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\t\t// Filter status for non standard behaviors\r\n\r\n\t\t\t\t\t\t\t\t\t// If the request is local and we have data: assume a success\r\n\t\t\t\t\t\t\t\t\t// (success with no data won't get notified, that's the best we\r\n\t\t\t\t\t\t\t\t\t// can do given current implementations)\r\n\t\t\t\t\t\t\t\t\tif ( !status && s.isLocal && !s.crossDomain ) {\r\n\t\t\t\t\t\t\t\t\t\tstatus = responses.text ? 200 : 404;\r\n\t\t\t\t\t\t\t\t\t// IE - #1450: sometimes returns 1223 when it should be 204\r\n\t\t\t\t\t\t\t\t\t} else if ( status === 1223 ) {\r\n\t\t\t\t\t\t\t\t\t\tstatus = 204;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t} catch( firefoxAccessException ) {\r\n\t\t\t\t\t\t\tif ( !isAbort ) {\r\n\t\t\t\t\t\t\t\tcomplete( -1, firefoxAccessException );\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t// Call complete if needed\r\n\t\t\t\t\t\tif ( responses ) {\r\n\t\t\t\t\t\t\tcomplete( status, statusText, responses, responseHeaders );\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t};\r\n\r\n\t\t\t\t\tif ( !s.async ) {\r\n\t\t\t\t\t\t// if we're in sync mode we fire the callback\r\n\t\t\t\t\t\tcallback();\r\n\t\t\t\t\t} else if ( xhr.readyState === 4 ) {\r\n\t\t\t\t\t\t// (IE6 & IE7) if it's in cache and has been\r\n\t\t\t\t\t\t// retrieved directly we need to fire the callback\r\n\t\t\t\t\t\tsetTimeout( callback, 0 );\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\thandle = ++xhrId;\r\n\t\t\t\t\t\tif ( xhrOnUnloadAbort ) {\r\n\t\t\t\t\t\t\t// Create the active xhrs callbacks list if needed\r\n\t\t\t\t\t\t\t// and attach the unload handler\r\n\t\t\t\t\t\t\tif ( !xhrCallbacks ) {\r\n\t\t\t\t\t\t\t\txhrCallbacks = {};\r\n\t\t\t\t\t\t\t\tjQuery( window ).unload( xhrOnUnloadAbort );\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t// Add to list of active xhrs callbacks\r\n\t\t\t\t\t\t\txhrCallbacks[ handle ] = callback;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\txhr.onreadystatechange = callback;\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\r\n\t\t\t\tabort: function() {\r\n\t\t\t\t\tif ( callback ) {\r\n\t\t\t\t\t\tcallback(0,1);\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}\r\nvar fxNow, timerId,\r\n\trfxtypes = /^(?:toggle|show|hide)$/,\r\n\trfxnum = new RegExp( \"^(?:([-+])=|)(\" + core_pnum + \")([a-z%]*)$\", \"i\" ),\r\n\trrun = /queueHooks$/,\r\n\tanimationPrefilters = [ defaultPrefilter ],\r\n\ttweeners = {\r\n\t\t\"*\": [function( prop, value ) {\r\n\t\t\tvar end, unit,\r\n\t\t\t\ttween = this.createTween( prop, value ),\r\n\t\t\t\tparts = rfxnum.exec( value ),\r\n\t\t\t\ttarget = tween.cur(),\r\n\t\t\t\tstart = +target || 0,\r\n\t\t\t\tscale = 1,\r\n\t\t\t\tmaxIterations = 20;\r\n\r\n\t\t\tif ( parts ) {\r\n\t\t\t\tend = +parts[2];\r\n\t\t\t\tunit = parts[3] || ( jQuery.cssNumber[ prop ] ? \"\" : \"px\" );\r\n\r\n\t\t\t\t// We need to compute starting value\r\n\t\t\t\tif ( unit !== \"px\" && start ) {\r\n\t\t\t\t\t// Iteratively approximate from a nonzero starting point\r\n\t\t\t\t\t// Prefer the current property, because this process will be trivial if it uses the same units\r\n\t\t\t\t\t// Fallback to end or a simple constant\r\n\t\t\t\t\tstart = jQuery.css( tween.elem, prop, true ) || end || 1;\r\n\r\n\t\t\t\t\tdo {\r\n\t\t\t\t\t\t// If previous iteration zeroed out, double until we get *something*\r\n\t\t\t\t\t\t// Use a string for doubling factor so we don't accidentally see scale as unchanged below\r\n\t\t\t\t\t\tscale = scale || \".5\";\r\n\r\n\t\t\t\t\t\t// Adjust and apply\r\n\t\t\t\t\t\tstart = start / scale;\r\n\t\t\t\t\t\tjQuery.style( tween.elem, prop, start + unit );\r\n\r\n\t\t\t\t\t// Update scale, tolerating zero or NaN from tween.cur()\r\n\t\t\t\t\t// And breaking the loop if scale is unchanged or perfect, or if we've just had enough\r\n\t\t\t\t\t} while ( scale !== (scale = tween.cur() / target) && scale !== 1 && --maxIterations );\r\n\t\t\t\t}\r\n\r\n\t\t\t\ttween.unit = unit;\r\n\t\t\t\ttween.start = start;\r\n\t\t\t\t// If a +=/-= token was provided, we're doing a relative animation\r\n\t\t\t\ttween.end = parts[1] ? start + ( parts[1] + 1 ) * end : end;\r\n\t\t\t}\r\n\t\t\treturn tween;\r\n\t\t}]\r\n\t};\r\n\r\n// Animations created synchronously will run synchronously\r\nfunction createFxNow() {\r\n\tsetTimeout(function() {\r\n\t\tfxNow = undefined;\r\n\t}, 0 );\r\n\treturn ( fxNow = jQuery.now() );\r\n}\r\n\r\nfunction createTweens( animation, props ) {\r\n\tjQuery.each( props, function( prop, value ) {\r\n\t\tvar collection = ( tweeners[ prop ] || [] ).concat( tweeners[ \"*\" ] ),\r\n\t\t\tindex = 0,\r\n\t\t\tlength = collection.length;\r\n\t\tfor ( ; index < length; index++ ) {\r\n\t\t\tif ( collection[ index ].call( animation, prop, value ) ) {\r\n\r\n\t\t\t\t// we're done with this property\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n}\r\n\r\nfunction Animation( elem, properties, options ) {\r\n\tvar result,\r\n\t\tindex = 0,\r\n\t\ttweenerIndex = 0,\r\n\t\tlength = animationPrefilters.length,\r\n\t\tdeferred = jQuery.Deferred().always( function() {\r\n\t\t\t// don't match elem in the :animated selector\r\n\t\t\tdelete tick.elem;\r\n\t\t}),\r\n\t\ttick = function() {\r\n\t\t\tvar currentTime = fxNow || createFxNow(),\r\n\t\t\t\tremaining = Math.max( 0, animation.startTime + animation.duration - currentTime ),\r\n\t\t\t\tpercent = 1 - ( remaining / animation.duration || 0 ),\r\n\t\t\t\tindex = 0,\r\n\t\t\t\tlength = animation.tweens.length;\r\n\r\n\t\t\tfor ( ; index < length ; index++ ) {\r\n\t\t\t\tanimation.tweens[ index ].run( percent );\r\n\t\t\t}\r\n\r\n\t\t\tdeferred.notifyWith( elem, [ animation, percent, remaining ]);\r\n\r\n\t\t\tif ( percent < 1 && length ) {\r\n\t\t\t\treturn remaining;\r\n\t\t\t} else {\r\n\t\t\t\tdeferred.resolveWith( elem, [ animation ] );\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t},\r\n\t\tanimation = deferred.promise({\r\n\t\t\telem: elem,\r\n\t\t\tprops: jQuery.extend( {}, properties ),\r\n\t\t\topts: jQuery.extend( true, { specialEasing: {} }, options ),\r\n\t\t\toriginalProperties: properties,\r\n\t\t\toriginalOptions: options,\r\n\t\t\tstartTime: fxNow || createFxNow(),\r\n\t\t\tduration: options.duration,\r\n\t\t\ttweens: [],\r\n\t\t\tcreateTween: function( prop, end, easing ) {\r\n\t\t\t\tvar tween = jQuery.Tween( elem, animation.opts, prop, end,\r\n\t\t\t\t\t\tanimation.opts.specialEasing[ prop ] || animation.opts.easing );\r\n\t\t\t\tanimation.tweens.push( tween );\r\n\t\t\t\treturn tween;\r\n\t\t\t},\r\n\t\t\tstop: function( gotoEnd ) {\r\n\t\t\t\tvar index = 0,\r\n\t\t\t\t\t// if we are going to the end, we want to run all the tweens\r\n\t\t\t\t\t// otherwise we skip this part\r\n\t\t\t\t\tlength = gotoEnd ? animation.tweens.length : 0;\r\n\r\n\t\t\t\tfor ( ; index < length ; index++ ) {\r\n\t\t\t\t\tanimation.tweens[ index ].run( 1 );\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// resolve when we played the last frame\r\n\t\t\t\t// otherwise, reject\r\n\t\t\t\tif ( gotoEnd ) {\r\n\t\t\t\t\tdeferred.resolveWith( elem, [ animation, gotoEnd ] );\r\n\t\t\t\t} else {\r\n\t\t\t\t\tdeferred.rejectWith( elem, [ animation, gotoEnd ] );\r\n\t\t\t\t}\r\n\t\t\t\treturn this;\r\n\t\t\t}\r\n\t\t}),\r\n\t\tprops = animation.props;\r\n\r\n\tpropFilter( props, animation.opts.specialEasing );\r\n\r\n\tfor ( ; index < length ; index++ ) {\r\n\t\tresult = animationPrefilters[ index ].call( animation, elem, props, animation.opts );\r\n\t\tif ( result ) {\r\n\t\t\treturn result;\r\n\t\t}\r\n\t}\r\n\r\n\tcreateTweens( animation, props );\r\n\r\n\tif ( jQuery.isFunction( animation.opts.start ) ) {\r\n\t\tanimation.opts.start.call( elem, animation );\r\n\t}\r\n\r\n\tjQuery.fx.timer(\r\n\t\tjQuery.extend( tick, {\r\n\t\t\tanim: animation,\r\n\t\t\tqueue: animation.opts.queue,\r\n\t\t\telem: elem\r\n\t\t})\r\n\t);\r\n\r\n\t// attach callbacks from options\r\n\treturn animation.progress( animation.opts.progress )\r\n\t\t.done( animation.opts.done, animation.opts.complete )\r\n\t\t.fail( animation.opts.fail )\r\n\t\t.always( animation.opts.always );\r\n}\r\n\r\nfunction propFilter( props, specialEasing ) {\r\n\tvar index, name, easing, value, hooks;\r\n\r\n\t// camelCase, specialEasing and expand cssHook pass\r\n\tfor ( index in props ) {\r\n\t\tname = jQuery.camelCase( index );\r\n\t\teasing = specialEasing[ name ];\r\n\t\tvalue = props[ index ];\r\n\t\tif ( jQuery.isArray( value ) ) {\r\n\t\t\teasing = value[ 1 ];\r\n\t\t\tvalue = props[ index ] = value[ 0 ];\r\n\t\t}\r\n\r\n\t\tif ( index !== name ) {\r\n\t\t\tprops[ name ] = value;\r\n\t\t\tdelete props[ index ];\r\n\t\t}\r\n\r\n\t\thooks = jQuery.cssHooks[ name ];\r\n\t\tif ( hooks && \"expand\" in hooks ) {\r\n\t\t\tvalue = hooks.expand( value );\r\n\t\t\tdelete props[ name ];\r\n\r\n\t\t\t// not quite $.extend, this wont overwrite keys already present.\r\n\t\t\t// also - reusing 'index' from above because we have the correct \"name\"\r\n\t\t\tfor ( index in value ) {\r\n\t\t\t\tif ( !( index in props ) ) {\r\n\t\t\t\t\tprops[ index ] = value[ index ];\r\n\t\t\t\t\tspecialEasing[ index ] = easing;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tspecialEasing[ name ] = easing;\r\n\t\t}\r\n\t}\r\n}\r\n\r\njQuery.Animation = jQuery.extend( Animation, {\r\n\r\n\ttweener: function( props, callback ) {\r\n\t\tif ( jQuery.isFunction( props ) ) {\r\n\t\t\tcallback = props;\r\n\t\t\tprops = [ \"*\" ];\r\n\t\t} else {\r\n\t\t\tprops = props.split(\" \");\r\n\t\t}\r\n\r\n\t\tvar prop,\r\n\t\t\tindex = 0,\r\n\t\t\tlength = props.length;\r\n\r\n\t\tfor ( ; index < length ; index++ ) {\r\n\t\t\tprop = props[ index ];\r\n\t\t\ttweeners[ prop ] = tweeners[ prop ] || [];\r\n\t\t\ttweeners[ prop ].unshift( callback );\r\n\t\t}\r\n\t},\r\n\r\n\tprefilter: function( callback, prepend ) {\r\n\t\tif ( prepend ) {\r\n\t\t\tanimationPrefilters.unshift( callback );\r\n\t\t} else {\r\n\t\t\tanimationPrefilters.push( callback );\r\n\t\t}\r\n\t}\r\n});\r\n\r\nfunction defaultPrefilter( elem, props, opts ) {\r\n\tvar index, prop, value, length, dataShow, tween, hooks, oldfire,\r\n\t\tanim = this,\r\n\t\tstyle = elem.style,\r\n\t\torig = {},\r\n\t\thandled = [],\r\n\t\thidden = elem.nodeType && isHidden( elem );\r\n\r\n\t// handle queue: false promises\r\n\tif ( !opts.queue ) {\r\n\t\thooks = jQuery._queueHooks( elem, \"fx\" );\r\n\t\tif ( hooks.unqueued == null ) {\r\n\t\t\thooks.unqueued = 0;\r\n\t\t\toldfire = hooks.empty.fire;\r\n\t\t\thooks.empty.fire = function() {\r\n\t\t\t\tif ( !hooks.unqueued ) {\r\n\t\t\t\t\toldfire();\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t}\r\n\t\thooks.unqueued++;\r\n\r\n\t\tanim.always(function() {\r\n\t\t\t// doing this makes sure that the complete handler will be called\r\n\t\t\t// before this completes\r\n\t\t\tanim.always(function() {\r\n\t\t\t\thooks.unqueued--;\r\n\t\t\t\tif ( !jQuery.queue( elem, \"fx\" ).length ) {\r\n\t\t\t\t\thooks.empty.fire();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\t// height/width overflow pass\r\n\tif ( elem.nodeType === 1 && ( \"height\" in props || \"width\" in props ) ) {\r\n\t\t// Make sure that nothing sneaks out\r\n\t\t// Record all 3 overflow attributes because IE does not\r\n\t\t// change the overflow attribute when overflowX and\r\n\t\t// overflowY are set to the same value\r\n\t\topts.overflow = [ style.overflow, style.overflowX, style.overflowY ];\r\n\r\n\t\t// Set display property to inline-block for height/width\r\n\t\t// animations on inline elements that are having width/height animated\r\n\t\tif ( jQuery.css( elem, \"display\" ) === \"inline\" &&\r\n\t\t\t\tjQuery.css( elem, \"float\" ) === \"none\" ) {\r\n\r\n\t\t\t// inline-level elements accept inline-block;\r\n\t\t\t// block-level elements need to be inline with layout\r\n\t\t\tif ( !jQuery.support.inlineBlockNeedsLayout || css_defaultDisplay( elem.nodeName ) === \"inline\" ) {\r\n\t\t\t\tstyle.display = \"inline-block\";\r\n\r\n\t\t\t} else {\r\n\t\t\t\tstyle.zoom = 1;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tif ( opts.overflow ) {\r\n\t\tstyle.overflow = \"hidden\";\r\n\t\tif ( !jQuery.support.shrinkWrapBlocks ) {\r\n\t\t\tanim.done(function() {\r\n\t\t\t\tstyle.overflow = opts.overflow[ 0 ];\r\n\t\t\t\tstyle.overflowX = opts.overflow[ 1 ];\r\n\t\t\t\tstyle.overflowY = opts.overflow[ 2 ];\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\r\n\t// show/hide pass\r\n\tfor ( index in props ) {\r\n\t\tvalue = props[ index ];\r\n\t\tif ( rfxtypes.exec( value ) ) {\r\n\t\t\tdelete props[ index ];\r\n\t\t\tif ( value === ( hidden ? \"hide\" : \"show\" ) ) {\r\n\t\t\t\tcontinue;\r\n\t\t\t}\r\n\t\t\thandled.push( index );\r\n\t\t}\r\n\t}\r\n\r\n\tlength = handled.length;\r\n\tif ( length ) {\r\n\t\tdataShow = jQuery._data( elem, \"fxshow\" ) || jQuery._data( elem, \"fxshow\", {} );\r\n\t\tif ( hidden ) {\r\n\t\t\tjQuery( elem ).show();\r\n\t\t} else {\r\n\t\t\tanim.done(function() {\r\n\t\t\t\tjQuery( elem ).hide();\r\n\t\t\t});\r\n\t\t}\r\n\t\tanim.done(function() {\r\n\t\t\tvar prop;\r\n\t\t\tjQuery.removeData( elem, \"fxshow\", true );\r\n\t\t\tfor ( prop in orig ) {\r\n\t\t\t\tjQuery.style( elem, prop, orig[ prop ] );\r\n\t\t\t}\r\n\t\t});\r\n\t\tfor ( index = 0 ; index < length ; index++ ) {\r\n\t\t\tprop = handled[ index ];\r\n\t\t\ttween = anim.createTween( prop, hidden ? dataShow[ prop ] : 0 );\r\n\t\t\torig[ prop ] = dataShow[ prop ] || jQuery.style( elem, prop );\r\n\r\n\t\t\tif ( !( prop in dataShow ) ) {\r\n\t\t\t\tdataShow[ prop ] = tween.start;\r\n\t\t\t\tif ( hidden ) {\r\n\t\t\t\t\ttween.end = tween.start;\r\n\t\t\t\t\ttween.start = prop === \"width\" || prop === \"height\" ? 1 : 0;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n\r\nfunction Tween( elem, options, prop, end, easing ) {\r\n\treturn new Tween.prototype.init( elem, options, prop, end, easing );\r\n}\r\njQuery.Tween = Tween;\r\n\r\nTween.prototype = {\r\n\tconstructor: Tween,\r\n\tinit: function( elem, options, prop, end, easing, unit ) {\r\n\t\tthis.elem = elem;\r\n\t\tthis.prop = prop;\r\n\t\tthis.easing = easing || \"swing\";\r\n\t\tthis.options = options;\r\n\t\tthis.start = this.now = this.cur();\r\n\t\tthis.end = end;\r\n\t\tthis.unit = unit || ( jQuery.cssNumber[ prop ] ? \"\" : \"px\" );\r\n\t},\r\n\tcur: function() {\r\n\t\tvar hooks = Tween.propHooks[ this.prop ];\r\n\r\n\t\treturn hooks && hooks.get ?\r\n\t\t\thooks.get( this ) :\r\n\t\t\tTween.propHooks._default.get( this );\r\n\t},\r\n\trun: function( percent ) {\r\n\t\tvar eased,\r\n\t\t\thooks = Tween.propHooks[ this.prop ];\r\n\r\n\t\tif ( this.options.duration ) {\r\n\t\t\tthis.pos = eased = jQuery.easing[ this.easing ](\r\n\t\t\t\tpercent, this.options.duration * percent, 0, 1, this.options.duration\r\n\t\t\t);\r\n\t\t} else {\r\n\t\t\tthis.pos = eased = percent;\r\n\t\t}\r\n\t\tthis.now = ( this.end - this.start ) * eased + this.start;\r\n\r\n\t\tif ( this.options.step ) {\r\n\t\t\tthis.options.step.call( this.elem, this.now, this );\r\n\t\t}\r\n\r\n\t\tif ( hooks && hooks.set ) {\r\n\t\t\thooks.set( this );\r\n\t\t} else {\r\n\t\t\tTween.propHooks._default.set( this );\r\n\t\t}\r\n\t\treturn this;\r\n\t}\r\n};\r\n\r\nTween.prototype.init.prototype = Tween.prototype;\r\n\r\nTween.propHooks = {\r\n\t_default: {\r\n\t\tget: function( tween ) {\r\n\t\t\tvar result;\r\n\r\n\t\t\tif ( tween.elem[ tween.prop ] != null &&\r\n\t\t\t\t(!tween.elem.style || tween.elem.style[ tween.prop ] == null) ) {\r\n\t\t\t\treturn tween.elem[ tween.prop ];\r\n\t\t\t}\r\n\r\n\t\t\t// passing any value as a 4th parameter to .css will automatically\r\n\t\t\t// attempt a parseFloat and fallback to a string if the parse fails\r\n\t\t\t// so, simple values such as \"10px\" are parsed to Float.\r\n\t\t\t// complex values such as \"rotate(1rad)\" are returned as is.\r\n\t\t\tresult = jQuery.css( tween.elem, tween.prop, false, \"\" );\r\n\t\t\t// Empty strings, null, undefined and \"auto\" are converted to 0.\r\n\t\t\treturn !result || result === \"auto\" ? 0 : result;\r\n\t\t},\r\n\t\tset: function( tween ) {\r\n\t\t\t// use step hook for back compat - use cssHook if its there - use .style if its\r\n\t\t\t// available and use plain properties where available\r\n\t\t\tif ( jQuery.fx.step[ tween.prop ] ) {\r\n\t\t\t\tjQuery.fx.step[ tween.prop ]( tween );\r\n\t\t\t} else if ( tween.elem.style && ( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null || jQuery.cssHooks[ tween.prop ] ) ) {\r\n\t\t\t\tjQuery.style( tween.elem, tween.prop, tween.now + tween.unit );\r\n\t\t\t} else {\r\n\t\t\t\ttween.elem[ tween.prop ] = tween.now;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n};\r\n\r\n// Remove in 2.0 - this supports IE8's panic based approach\r\n// to setting things on disconnected nodes\r\n\r\nTween.propHooks.scrollTop = Tween.propHooks.scrollLeft = {\r\n\tset: function( tween ) {\r\n\t\tif ( tween.elem.nodeType && tween.elem.parentNode ) {\r\n\t\t\ttween.elem[ tween.prop ] = tween.now;\r\n\t\t}\r\n\t}\r\n};\r\n\r\njQuery.each([ \"toggle\", \"show\", \"hide\" ], function( i, name ) {\r\n\tvar cssFn = jQuery.fn[ name ];\r\n\tjQuery.fn[ name ] = function( speed, easing, callback ) {\r\n\t\treturn speed == null || typeof speed === \"boolean\" ||\r\n\t\t\t// special check for .toggle( handler, handler, ... )\r\n\t\t\t( !i && jQuery.isFunction( speed ) && jQuery.isFunction( easing ) ) ?\r\n\t\t\tcssFn.apply( this, arguments ) :\r\n\t\t\tthis.animate( genFx( name, true ), speed, easing, callback );\r\n\t};\r\n});\r\n\r\njQuery.fn.extend({\r\n\tfadeTo: function( speed, to, easing, callback ) {\r\n\r\n\t\t// show any hidden elements after setting opacity to 0\r\n\t\treturn this.filter( isHidden ).css( \"opacity\", 0 ).show()\r\n\r\n\t\t\t// animate to the value specified\r\n\t\t\t.end().animate({ opacity: to }, speed, easing, callback );\r\n\t},\r\n\tanimate: function( prop, speed, easing, callback ) {\r\n\t\tvar empty = jQuery.isEmptyObject( prop ),\r\n\t\t\toptall = jQuery.speed( speed, easing, callback ),\r\n\t\t\tdoAnimation = function() {\r\n\t\t\t\t// Operate on a copy of prop so per-property easing won't be lost\r\n\t\t\t\tvar anim = Animation( this, jQuery.extend( {}, prop ), optall );\r\n\r\n\t\t\t\t// Empty animations resolve immediately\r\n\t\t\t\tif ( empty ) {\r\n\t\t\t\t\tanim.stop( true );\r\n\t\t\t\t}\r\n\t\t\t};\r\n\r\n\t\treturn empty || optall.queue === false ?\r\n\t\t\tthis.each( doAnimation ) :\r\n\t\t\tthis.queue( optall.queue, doAnimation );\r\n\t},\r\n\tstop: function( type, clearQueue, gotoEnd ) {\r\n\t\tvar stopQueue = function( hooks ) {\r\n\t\t\tvar stop = hooks.stop;\r\n\t\t\tdelete hooks.stop;\r\n\t\t\tstop( gotoEnd );\r\n\t\t};\r\n\r\n\t\tif ( typeof type !== \"string\" ) {\r\n\t\t\tgotoEnd = clearQueue;\r\n\t\t\tclearQueue = type;\r\n\t\t\ttype = undefined;\r\n\t\t}\r\n\t\tif ( clearQueue && type !== false ) {\r\n\t\t\tthis.queue( type || \"fx\", [] );\r\n\t\t}\r\n\r\n\t\treturn this.each(function() {\r\n\t\t\tvar dequeue = true,\r\n\t\t\t\tindex = type != null && type + \"queueHooks\",\r\n\t\t\t\ttimers = jQuery.timers,\r\n\t\t\t\tdata = jQuery._data( this );\r\n\r\n\t\t\tif ( index ) {\r\n\t\t\t\tif ( data[ index ] && data[ index ].stop ) {\r\n\t\t\t\t\tstopQueue( data[ index ] );\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tfor ( index in data ) {\r\n\t\t\t\t\tif ( data[ index ] && data[ index ].stop && rrun.test( index ) ) {\r\n\t\t\t\t\t\tstopQueue( data[ index ] );\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tfor ( index = timers.length; index--; ) {\r\n\t\t\t\tif ( timers[ index ].elem === this && (type == null || timers[ index ].queue === type) ) {\r\n\t\t\t\t\ttimers[ index ].anim.stop( gotoEnd );\r\n\t\t\t\t\tdequeue = false;\r\n\t\t\t\t\ttimers.splice( index, 1 );\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// start the next in the queue if the last step wasn't forced\r\n\t\t\t// timers currently will call their complete callbacks, which will dequeue\r\n\t\t\t// but only if they were gotoEnd\r\n\t\t\tif ( dequeue || !gotoEnd ) {\r\n\t\t\t\tjQuery.dequeue( this, type );\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n});\r\n\r\n// Generate parameters to create a standard animation\r\nfunction genFx( type, includeWidth ) {\r\n\tvar which,\r\n\t\tattrs = { height: type },\r\n\t\ti = 0;\r\n\r\n\t// if we include width, step value is 1 to do all cssExpand values,\r\n\t// if we don't include width, step value is 2 to skip over Left and Right\r\n\tincludeWidth = includeWidth? 1 : 0;\r\n\tfor( ; i < 4 ; i += 2 - includeWidth ) {\r\n\t\twhich = cssExpand[ i ];\r\n\t\tattrs[ \"margin\" + which ] = attrs[ \"padding\" + which ] = type;\r\n\t}\r\n\r\n\tif ( includeWidth ) {\r\n\t\tattrs.opacity = attrs.width = type;\r\n\t}\r\n\r\n\treturn attrs;\r\n}\r\n\r\n// Generate shortcuts for custom animations\r\njQuery.each({\r\n\tslideDown: genFx(\"show\"),\r\n\tslideUp: genFx(\"hide\"),\r\n\tslideToggle: genFx(\"toggle\"),\r\n\tfadeIn: { opacity: \"show\" },\r\n\tfadeOut: { opacity: \"hide\" },\r\n\tfadeToggle: { opacity: \"toggle\" }\r\n}, function( name, props ) {\r\n\tjQuery.fn[ name ] = function( speed, easing, callback ) {\r\n\t\treturn this.animate( props, speed, easing, callback );\r\n\t};\r\n});\r\n\r\njQuery.speed = function( speed, easing, fn ) {\r\n\tvar opt = speed && typeof speed === \"object\" ? jQuery.extend( {}, speed ) : {\r\n\t\tcomplete: fn || !fn && easing ||\r\n\t\t\tjQuery.isFunction( speed ) && speed,\r\n\t\tduration: speed,\r\n\t\teasing: fn && easing || easing && !jQuery.isFunction( easing ) && easing\r\n\t};\r\n\r\n\topt.duration = jQuery.fx.off ? 0 : typeof opt.duration === \"number\" ? opt.duration :\r\n\t\topt.duration in jQuery.fx.speeds ? jQuery.fx.speeds[ opt.duration ] : jQuery.fx.speeds._default;\r\n\r\n\t// normalize opt.queue - true/undefined/null -> \"fx\"\r\n\tif ( opt.queue == null || opt.queue === true ) {\r\n\t\topt.queue = \"fx\";\r\n\t}\r\n\r\n\t// Queueing\r\n\topt.old = opt.complete;\r\n\r\n\topt.complete = function() {\r\n\t\tif ( jQuery.isFunction( opt.old ) ) {\r\n\t\t\topt.old.call( this );\r\n\t\t}\r\n\r\n\t\tif ( opt.queue ) {\r\n\t\t\tjQuery.dequeue( this, opt.queue );\r\n\t\t}\r\n\t};\r\n\r\n\treturn opt;\r\n};\r\n\r\njQuery.easing = {\r\n\tlinear: function( p ) {\r\n\t\treturn p;\r\n\t},\r\n\tswing: function( p ) {\r\n\t\treturn 0.5 - Math.cos( p*Math.PI ) / 2;\r\n\t}\r\n};\r\n\r\njQuery.timers = [];\r\njQuery.fx = Tween.prototype.init;\r\njQuery.fx.tick = function() {\r\n\tvar timer,\r\n\t\ttimers = jQuery.timers,\r\n\t\ti = 0;\r\n\r\n\tfor ( ; i < timers.length; i++ ) {\r\n\t\ttimer = timers[ i ];\r\n\t\t// Checks the timer has not already been removed\r\n\t\tif ( !timer() && timers[ i ] === timer ) {\r\n\t\t\ttimers.splice( i--, 1 );\r\n\t\t}\r\n\t}\r\n\r\n\tif ( !timers.length ) {\r\n\t\tjQuery.fx.stop();\r\n\t}\r\n};\r\n\r\njQuery.fx.timer = function( timer ) {\r\n\tif ( timer() && jQuery.timers.push( timer ) && !timerId ) {\r\n\t\ttimerId = setInterval( jQuery.fx.tick, jQuery.fx.interval );\r\n\t}\r\n};\r\n\r\njQuery.fx.interval = 13;\r\n\r\njQuery.fx.stop = function() {\r\n\tclearInterval( timerId );\r\n\ttimerId = null;\r\n};\r\n\r\njQuery.fx.speeds = {\r\n\tslow: 600,\r\n\tfast: 200,\r\n\t// Default speed\r\n\t_default: 400\r\n};\r\n\r\n// Back Compat <1.8 extension point\r\njQuery.fx.step = {};\r\n\r\nif ( jQuery.expr && jQuery.expr.filters ) {\r\n\tjQuery.expr.filters.animated = function( elem ) {\r\n\t\treturn jQuery.grep(jQuery.timers, function( fn ) {\r\n\t\t\treturn elem === fn.elem;\r\n\t\t}).length;\r\n\t};\r\n}\r\nvar rroot = /^(?:body|html)$/i;\r\n\r\njQuery.fn.offset = function( options ) {\r\n\tif ( arguments.length ) {\r\n\t\treturn options === undefined ?\r\n\t\t\tthis :\r\n\t\t\tthis.each(function( i ) {\r\n\t\t\t\tjQuery.offset.setOffset( this, options, i );\r\n\t\t\t});\r\n\t}\r\n\r\n\tvar docElem, body, win, clientTop, clientLeft, scrollTop, scrollLeft,\r\n\t\tbox = { top: 0, left: 0 },\r\n\t\telem = this[ 0 ],\r\n\t\tdoc = elem && elem.ownerDocument;\r\n\r\n\tif ( !doc ) {\r\n\t\treturn;\r\n\t}\r\n\r\n\tif ( (body = doc.body) === elem ) {\r\n\t\treturn jQuery.offset.bodyOffset( elem );\r\n\t}\r\n\r\n\tdocElem = doc.documentElement;\r\n\r\n\t// Make sure it's not a disconnected DOM node\r\n\tif ( !jQuery.contains( docElem, elem ) ) {\r\n\t\treturn box;\r\n\t}\r\n\r\n\t// If we don't have gBCR, just use 0,0 rather than error\r\n\t// BlackBerry 5, iOS 3 (original iPhone)\r\n\tif ( typeof elem.getBoundingClientRect !== \"undefined\" ) {\r\n\t\tbox = elem.getBoundingClientRect();\r\n\t}\r\n\twin = getWindow( doc );\r\n\tclientTop  = docElem.clientTop  || body.clientTop  || 0;\r\n\tclientLeft = docElem.clientLeft || body.clientLeft || 0;\r\n\tscrollTop  = win.pageYOffset || docElem.scrollTop;\r\n\tscrollLeft = win.pageXOffset || docElem.scrollLeft;\r\n\treturn {\r\n\t\ttop: box.top  + scrollTop  - clientTop,\r\n\t\tleft: box.left + scrollLeft - clientLeft\r\n\t};\r\n};\r\n\r\njQuery.offset = {\r\n\r\n\tbodyOffset: function( body ) {\r\n\t\tvar top = body.offsetTop,\r\n\t\t\tleft = body.offsetLeft;\r\n\r\n\t\tif ( jQuery.support.doesNotIncludeMarginInBodyOffset ) {\r\n\t\t\ttop  += parseFloat( jQuery.css(body, \"marginTop\") ) || 0;\r\n\t\t\tleft += parseFloat( jQuery.css(body, \"marginLeft\") ) || 0;\r\n\t\t}\r\n\r\n\t\treturn { top: top, left: left };\r\n\t},\r\n\r\n\tsetOffset: function( elem, options, i ) {\r\n\t\tvar position = jQuery.css( elem, \"position\" );\r\n\r\n\t\t// set position first, in-case top/left are set even on static elem\r\n\t\tif ( position === \"static\" ) {\r\n\t\t\telem.style.position = \"relative\";\r\n\t\t}\r\n\r\n\t\tvar curElem = jQuery( elem ),\r\n\t\t\tcurOffset = curElem.offset(),\r\n\t\t\tcurCSSTop = jQuery.css( elem, \"top\" ),\r\n\t\t\tcurCSSLeft = jQuery.css( elem, \"left\" ),\r\n\t\t\tcalculatePosition = ( position === \"absolute\" || position === \"fixed\" ) && jQuery.inArray(\"auto\", [curCSSTop, curCSSLeft]) > -1,\r\n\t\t\tprops = {}, curPosition = {}, curTop, curLeft;\r\n\r\n\t\t// need to be able to calculate position if either top or left is auto and position is either absolute or fixed\r\n\t\tif ( calculatePosition ) {\r\n\t\t\tcurPosition = curElem.position();\r\n\t\t\tcurTop = curPosition.top;\r\n\t\t\tcurLeft = curPosition.left;\r\n\t\t} else {\r\n\t\t\tcurTop = parseFloat( curCSSTop ) || 0;\r\n\t\t\tcurLeft = parseFloat( curCSSLeft ) || 0;\r\n\t\t}\r\n\r\n\t\tif ( jQuery.isFunction( options ) ) {\r\n\t\t\toptions = options.call( elem, i, curOffset );\r\n\t\t}\r\n\r\n\t\tif ( options.top != null ) {\r\n\t\t\tprops.top = ( options.top - curOffset.top ) + curTop;\r\n\t\t}\r\n\t\tif ( options.left != null ) {\r\n\t\t\tprops.left = ( options.left - curOffset.left ) + curLeft;\r\n\t\t}\r\n\r\n\t\tif ( \"using\" in options ) {\r\n\t\t\toptions.using.call( elem, props );\r\n\t\t} else {\r\n\t\t\tcurElem.css( props );\r\n\t\t}\r\n\t}\r\n};\r\n\r\n\r\njQuery.fn.extend({\r\n\r\n\tposition: function() {\r\n\t\tif ( !this[0] ) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tvar elem = this[0],\r\n\r\n\t\t// Get *real* offsetParent\r\n\t\toffsetParent = this.offsetParent(),\r\n\r\n\t\t// Get correct offsets\r\n\t\toffset       = this.offset(),\r\n\t\tparentOffset = rroot.test(offsetParent[0].nodeName) ? { top: 0, left: 0 } : offsetParent.offset();\r\n\r\n\t\t// Subtract element margins\r\n\t\t// note: when an element has margin: auto the offsetLeft and marginLeft\r\n\t\t// are the same in Safari causing offset.left to incorrectly be 0\r\n\t\toffset.top  -= parseFloat( jQuery.css(elem, \"marginTop\") ) || 0;\r\n\t\toffset.left -= parseFloat( jQuery.css(elem, \"marginLeft\") ) || 0;\r\n\r\n\t\t// Add offsetParent borders\r\n\t\tparentOffset.top  += parseFloat( jQuery.css(offsetParent[0], \"borderTopWidth\") ) || 0;\r\n\t\tparentOffset.left += parseFloat( jQuery.css(offsetParent[0], \"borderLeftWidth\") ) || 0;\r\n\r\n\t\t// Subtract the two offsets\r\n\t\treturn {\r\n\t\t\ttop:  offset.top  - parentOffset.top,\r\n\t\t\tleft: offset.left - parentOffset.left\r\n\t\t};\r\n\t},\r\n\r\n\toffsetParent: function() {\r\n\t\treturn this.map(function() {\r\n\t\t\tvar offsetParent = this.offsetParent || document.body;\r\n\t\t\twhile ( offsetParent && (!rroot.test(offsetParent.nodeName) && jQuery.css(offsetParent, \"position\") === \"static\") ) {\r\n\t\t\t\toffsetParent = offsetParent.offsetParent;\r\n\t\t\t}\r\n\t\t\treturn offsetParent || document.body;\r\n\t\t});\r\n\t}\r\n});\r\n\r\n\r\n// Create scrollLeft and scrollTop methods\r\njQuery.each( {scrollLeft: \"pageXOffset\", scrollTop: \"pageYOffset\"}, function( method, prop ) {\r\n\tvar top = /Y/.test( prop );\r\n\r\n\tjQuery.fn[ method ] = function( val ) {\r\n\t\treturn jQuery.access( this, function( elem, method, val ) {\r\n\t\t\tvar win = getWindow( elem );\r\n\r\n\t\t\tif ( val === undefined ) {\r\n\t\t\t\treturn win ? (prop in win) ? win[ prop ] :\r\n\t\t\t\t\twin.document.documentElement[ method ] :\r\n\t\t\t\t\telem[ method ];\r\n\t\t\t}\r\n\r\n\t\t\tif ( win ) {\r\n\t\t\t\twin.scrollTo(\r\n\t\t\t\t\t!top ? val : jQuery( win ).scrollLeft(),\r\n\t\t\t\t\t top ? val : jQuery( win ).scrollTop()\r\n\t\t\t\t);\r\n\r\n\t\t\t} else {\r\n\t\t\t\telem[ method ] = val;\r\n\t\t\t}\r\n\t\t}, method, val, arguments.length, null );\r\n\t};\r\n});\r\n\r\nfunction getWindow( elem ) {\r\n\treturn jQuery.isWindow( elem ) ?\r\n\t\telem :\r\n\t\telem.nodeType === 9 ?\r\n\t\t\telem.defaultView || elem.parentWindow :\r\n\t\t\tfalse;\r\n}\r\n// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods\r\njQuery.each( { Height: \"height\", Width: \"width\" }, function( name, type ) {\r\n\tjQuery.each( { padding: \"inner\" + name, content: type, \"\": \"outer\" + name }, function( defaultExtra, funcName ) {\r\n\t\t// margin is only for outerHeight, outerWidth\r\n\t\tjQuery.fn[ funcName ] = function( margin, value ) {\r\n\t\t\tvar chainable = arguments.length && ( defaultExtra || typeof margin !== \"boolean\" ),\r\n\t\t\t\textra = defaultExtra || ( margin === true || value === true ? \"margin\" : \"border\" );\r\n\r\n\t\t\treturn jQuery.access( this, function( elem, type, value ) {\r\n\t\t\t\tvar doc;\r\n\r\n\t\t\t\tif ( jQuery.isWindow( elem ) ) {\r\n\t\t\t\t\t// As of 5/8/2012 this will yield incorrect results for Mobile Safari, but there\r\n\t\t\t\t\t// isn't a whole lot we can do. See pull request at this URL for discussion:\r\n\t\t\t\t\t// https://github.com/jquery/jquery/pull/764\r\n\t\t\t\t\treturn elem.document.documentElement[ \"client\" + name ];\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Get document width or height\r\n\t\t\t\tif ( elem.nodeType === 9 ) {\r\n\t\t\t\t\tdoc = elem.documentElement;\r\n\r\n\t\t\t\t\t// Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height], whichever is greatest\r\n\t\t\t\t\t// unfortunately, this causes bug #3838 in IE6/8 only, but there is currently no good, small way to fix it.\r\n\t\t\t\t\treturn Math.max(\r\n\t\t\t\t\t\telem.body[ \"scroll\" + name ], doc[ \"scroll\" + name ],\r\n\t\t\t\t\t\telem.body[ \"offset\" + name ], doc[ \"offset\" + name ],\r\n\t\t\t\t\t\tdoc[ \"client\" + name ]\r\n\t\t\t\t\t);\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn value === undefined ?\r\n\t\t\t\t\t// Get width or height on the element, requesting but not forcing parseFloat\r\n\t\t\t\t\tjQuery.css( elem, type, value, extra ) :\r\n\r\n\t\t\t\t\t// Set width or height on the element\r\n\t\t\t\t\tjQuery.style( elem, type, value, extra );\r\n\t\t\t}, type, chainable ? margin : undefined, chainable, null );\r\n\t\t};\r\n\t});\r\n});\r\n// Expose jQuery to the global object\r\nwindow.jQuery = window.$ = jQuery;\r\n\r\n// Expose jQuery as an AMD module, but only for AMD loaders that\r\n// understand the issues with loading multiple versions of jQuery\r\n// in a page that all might call define(). The loader will indicate\r\n// they have special allowances for multiple jQuery versions by\r\n// specifying define.amd.jQuery = true. Register as a named module,\r\n// since jQuery can be concatenated with other files that may use define,\r\n// but not use a proper concatenation script that understands anonymous\r\n// AMD modules. A named AMD is safest and most robust way to register.\r\n// Lowercase jquery is used because AMD module names are derived from\r\n// file names, and jQuery is normally delivered in a lowercase file name.\r\n// Do this after creating the global so that if an AMD module wants to call\r\n// noConflict to hide this version of jQuery, it will work.\r\nif ( typeof define === \"function\" && define.amd && define.amd.jQuery ) {\r\n\tdefine( \"jquery\", [], function () { return jQuery; } );\r\n}\r\n\r\n})( window );\r\n","/*! jQuery v1.8.2 jquery.com | jquery.org/license */\r\n(function(a,b){function G(a){var b=F[a]={};return p.each(a.split(s),function(a,c){b[c]=!0}),b}function J(a,c,d){if(d===b&&a.nodeType===1){var e=\"data-\"+c.replace(I,\"-$1\").toLowerCase();d=a.getAttribute(e);if(typeof d==\"string\"){try{d=d===\"true\"?!0:d===\"false\"?!1:d===\"null\"?null:+d+\"\"===d?+d:H.test(d)?p.parseJSON(d):d}catch(f){}p.data(a,c,d)}else d=b}return d}function K(a){var b;for(b in a){if(b===\"data\"&&p.isEmptyObject(a[b]))continue;if(b!==\"toJSON\")return!1}return!0}function ba(){return!1}function bb(){return!0}function bh(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function bi(a,b){do a=a[b];while(a&&a.nodeType!==1);return a}function bj(a,b,c){b=b||0;if(p.isFunction(b))return p.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return p.grep(a,function(a,d){return a===b===c});if(typeof b==\"string\"){var d=p.grep(a,function(a){return a.nodeType===1});if(be.test(b))return p.filter(b,d,!c);b=p.filter(b,d)}return p.grep(a,function(a,d){return p.inArray(a,b)>=0===c})}function bk(a){var b=bl.split(\"|\"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}function bC(a,b){return a.getElementsByTagName(b)[0]||a.appendChild(a.ownerDocument.createElement(b))}function bD(a,b){if(b.nodeType!==1||!p.hasData(a))return;var c,d,e,f=p._data(a),g=p._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;d<e;d++)p.event.add(b,c,h[c][d])}g.data&&(g.data=p.extend({},g.data))}function bE(a,b){var c;if(b.nodeType!==1)return;b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase(),c===\"object\"?(b.parentNode&&(b.outerHTML=a.outerHTML),p.support.html5Clone&&a.innerHTML&&!p.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):c===\"input\"&&bv.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):c===\"option\"?b.selected=a.defaultSelected:c===\"input\"||c===\"textarea\"?b.defaultValue=a.defaultValue:c===\"script\"&&b.text!==a.text&&(b.text=a.text),b.removeAttribute(p.expando)}function bF(a){return typeof a.getElementsByTagName!=\"undefined\"?a.getElementsByTagName(\"*\"):typeof a.querySelectorAll!=\"undefined\"?a.querySelectorAll(\"*\"):[]}function bG(a){bv.test(a.type)&&(a.defaultChecked=a.checked)}function bY(a,b){if(b in a)return b;var c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=bW.length;while(e--){b=bW[e]+c;if(b in a)return b}return d}function bZ(a,b){return a=b||a,p.css(a,\"display\")===\"none\"||!p.contains(a.ownerDocument,a)}function b$(a,b){var c,d,e=[],f=0,g=a.length;for(;f<g;f++){c=a[f];if(!c.style)continue;e[f]=p._data(c,\"olddisplay\"),b?(!e[f]&&c.style.display===\"none\"&&(c.style.display=\"\"),c.style.display===\"\"&&bZ(c)&&(e[f]=p._data(c,\"olddisplay\",cc(c.nodeName)))):(d=bH(c,\"display\"),!e[f]&&d!==\"none\"&&p._data(c,\"olddisplay\",d))}for(f=0;f<g;f++){c=a[f];if(!c.style)continue;if(!b||c.style.display===\"none\"||c.style.display===\"\")c.style.display=b?e[f]||\"\":\"none\"}return a}function b_(a,b,c){var d=bP.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||\"px\"):b}function ca(a,b,c,d){var e=c===(d?\"border\":\"content\")?4:b===\"width\"?1:0,f=0;for(;e<4;e+=2)c===\"margin\"&&(f+=p.css(a,c+bV[e],!0)),d?(c===\"content\"&&(f-=parseFloat(bH(a,\"padding\"+bV[e]))||0),c!==\"margin\"&&(f-=parseFloat(bH(a,\"border\"+bV[e]+\"Width\"))||0)):(f+=parseFloat(bH(a,\"padding\"+bV[e]))||0,c!==\"padding\"&&(f+=parseFloat(bH(a,\"border\"+bV[e]+\"Width\"))||0));return f}function cb(a,b,c){var d=b===\"width\"?a.offsetWidth:a.offsetHeight,e=!0,f=p.support.boxSizing&&p.css(a,\"boxSizing\")===\"border-box\";if(d<=0||d==null){d=bH(a,b);if(d<0||d==null)d=a.style[b];if(bQ.test(d))return d;e=f&&(p.support.boxSizingReliable||d===a.style[b]),d=parseFloat(d)||0}return d+ca(a,b,c||(f?\"border\":\"content\"),e)+\"px\"}function cc(a){if(bS[a])return bS[a];var b=p(\"<\"+a+\">\").appendTo(e.body),c=b.css(\"display\");b.remove();if(c===\"none\"||c===\"\"){bI=e.body.appendChild(bI||p.extend(e.createElement(\"iframe\"),{frameBorder:0,width:0,height:0}));if(!bJ||!bI.createElement)bJ=(bI.contentWindow||bI.contentDocument).document,bJ.write(\"<!doctype html><html><body>\"),bJ.close();b=bJ.body.appendChild(bJ.createElement(a)),c=bH(b,\"display\"),e.body.removeChild(bI)}return bS[a]=c,c}function ci(a,b,c,d){var e;if(p.isArray(b))p.each(b,function(b,e){c||ce.test(a)?d(a,e):ci(a+\"[\"+(typeof e==\"object\"?b:\"\")+\"]\",e,c,d)});else if(!c&&p.type(b)===\"object\")for(e in b)ci(a+\"[\"+e+\"]\",b[e],c,d);else d(a,b)}function cz(a){return function(b,c){typeof b!=\"string\"&&(c=b,b=\"*\");var d,e,f,g=b.toLowerCase().split(s),h=0,i=g.length;if(p.isFunction(c))for(;h<i;h++)d=g[h],f=/^\\+/.test(d),f&&(d=d.substr(1)||\"*\"),e=a[d]=a[d]||[],e[f?\"unshift\":\"push\"](c)}}function cA(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h,i=a[f],j=0,k=i?i.length:0,l=a===cv;for(;j<k&&(l||!h);j++)h=i[j](c,d,e),typeof h==\"string\"&&(!l||g[h]?h=b:(c.dataTypes.unshift(h),h=cA(a,c,d,e,h,g)));return(l||!h)&&!g[\"*\"]&&(h=cA(a,c,d,e,\"*\",g)),h}function cB(a,c){var d,e,f=p.ajaxSettings.flatOptions||{};for(d in c)c[d]!==b&&((f[d]?a:e||(e={}))[d]=c[d]);e&&p.extend(!0,a,e)}function cC(a,c,d){var e,f,g,h,i=a.contents,j=a.dataTypes,k=a.responseFields;for(f in k)f in d&&(c[k[f]]=d[f]);while(j[0]===\"*\")j.shift(),e===b&&(e=a.mimeType||c.getResponseHeader(\"content-type\"));if(e)for(f in i)if(i[f]&&i[f].test(e)){j.unshift(f);break}if(j[0]in d)g=j[0];else{for(f in d){if(!j[0]||a.converters[f+\" \"+j[0]]){g=f;break}h||(h=f)}g=g||h}if(g)return g!==j[0]&&j.unshift(g),d[g]}function cD(a,b){var c,d,e,f,g=a.dataTypes.slice(),h=g[0],i={},j=0;a.dataFilter&&(b=a.dataFilter(b,a.dataType));if(g[1])for(c in a.converters)i[c.toLowerCase()]=a.converters[c];for(;e=g[++j];)if(e!==\"*\"){if(h!==\"*\"&&h!==e){c=i[h+\" \"+e]||i[\"* \"+e];if(!c)for(d in i){f=d.split(\" \");if(f[1]===e){c=i[h+\" \"+f[0]]||i[\"* \"+f[0]];if(c){c===!0?c=i[d]:i[d]!==!0&&(e=f[0],g.splice(j--,0,e));break}}}if(c!==!0)if(c&&a[\"throws\"])b=c(b);else try{b=c(b)}catch(k){return{state:\"parsererror\",error:c?k:\"No conversion from \"+h+\" to \"+e}}}h=e}return{state:\"success\",data:b}}function cL(){try{return new a.XMLHttpRequest}catch(b){}}function cM(){try{return new a.ActiveXObject(\"Microsoft.XMLHTTP\")}catch(b){}}function cU(){return setTimeout(function(){cN=b},0),cN=p.now()}function cV(a,b){p.each(b,function(b,c){var d=(cT[b]||[]).concat(cT[\"*\"]),e=0,f=d.length;for(;e<f;e++)if(d[e].call(a,b,c))return})}function cW(a,b,c){var d,e=0,f=0,g=cS.length,h=p.Deferred().always(function(){delete i.elem}),i=function(){var b=cN||cU(),c=Math.max(0,j.startTime+j.duration-b),d=1-(c/j.duration||0),e=0,f=j.tweens.length;for(;e<f;e++)j.tweens[e].run(d);return h.notifyWith(a,[j,d,c]),d<1&&f?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:p.extend({},b),opts:p.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:cN||cU(),duration:c.duration,tweens:[],createTween:function(b,c,d){var e=p.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(e),e},stop:function(b){var c=0,d=b?j.tweens.length:0;for(;c<d;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;cX(k,j.opts.specialEasing);for(;e<g;e++){d=cS[e].call(j,a,k,j.opts);if(d)return d}return cV(j,k),p.isFunction(j.opts.start)&&j.opts.start.call(a,j),p.fx.timer(p.extend(i,{anim:j,queue:j.opts.queue,elem:a})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}function cX(a,b){var c,d,e,f,g;for(c in a){d=p.camelCase(c),e=b[d],f=a[c],p.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=p.cssHooks[d];if(g&&\"expand\"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}}function cY(a,b,c){var d,e,f,g,h,i,j,k,l=this,m=a.style,n={},o=[],q=a.nodeType&&bZ(a);c.queue||(j=p._queueHooks(a,\"fx\"),j.unqueued==null&&(j.unqueued=0,k=j.empty.fire,j.empty.fire=function(){j.unqueued||k()}),j.unqueued++,l.always(function(){l.always(function(){j.unqueued--,p.queue(a,\"fx\").length||j.empty.fire()})})),a.nodeType===1&&(\"height\"in b||\"width\"in b)&&(c.overflow=[m.overflow,m.overflowX,m.overflowY],p.css(a,\"display\")===\"inline\"&&p.css(a,\"float\")===\"none\"&&(!p.support.inlineBlockNeedsLayout||cc(a.nodeName)===\"inline\"?m.display=\"inline-block\":m.zoom=1)),c.overflow&&(m.overflow=\"hidden\",p.support.shrinkWrapBlocks||l.done(function(){m.overflow=c.overflow[0],m.overflowX=c.overflow[1],m.overflowY=c.overflow[2]}));for(d in b){f=b[d];if(cP.exec(f)){delete b[d];if(f===(q?\"hide\":\"show\"))continue;o.push(d)}}g=o.length;if(g){h=p._data(a,\"fxshow\")||p._data(a,\"fxshow\",{}),q?p(a).show():l.done(function(){p(a).hide()}),l.done(function(){var b;p.removeData(a,\"fxshow\",!0);for(b in n)p.style(a,b,n[b])});for(d=0;d<g;d++)e=o[d],i=l.createTween(e,q?h[e]:0),n[e]=h[e]||p.style(a,e),e in h||(h[e]=i.start,q&&(i.end=i.start,i.start=e===\"width\"||e===\"height\"?1:0))}}function cZ(a,b,c,d,e){return new cZ.prototype.init(a,b,c,d,e)}function c$(a,b){var c,d={height:a},e=0;b=b?1:0;for(;e<4;e+=2-b)c=bV[e],d[\"margin\"+c]=d[\"padding\"+c]=a;return b&&(d.opacity=d.width=a),d}function da(a){return p.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}var c,d,e=a.document,f=a.location,g=a.navigator,h=a.jQuery,i=a.$,j=Array.prototype.push,k=Array.prototype.slice,l=Array.prototype.indexOf,m=Object.prototype.toString,n=Object.prototype.hasOwnProperty,o=String.prototype.trim,p=function(a,b){return new p.fn.init(a,b,c)},q=/[\\-+]?(?:\\d*\\.|)\\d+(?:[eE][\\-+]?\\d+|)/.source,r=/\\S/,s=/\\s+/,t=/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g,u=/^(?:[^#<]*(<[\\w\\W]+>)[^>]*$|#([\\w\\-]*)$)/,v=/^<(\\w+)\\s*\\/?>(?:<\\/\\1>|)$/,w=/^[\\],:{}\\s]*$/,x=/(?:^|:|,)(?:\\s*\\[)+/g,y=/\\\\(?:[\"\\\\\\/bfnrt]|u[\\da-fA-F]{4})/g,z=/\"[^\"\\\\\\r\\n]*\"|true|false|null|-?(?:\\d\\d*\\.|)\\d+(?:[eE][\\-+]?\\d+|)/g,A=/^-ms-/,B=/-([\\da-z])/gi,C=function(a,b){return(b+\"\").toUpperCase()},D=function(){e.addEventListener?(e.removeEventListener(\"DOMContentLoaded\",D,!1),p.ready()):e.readyState===\"complete\"&&(e.detachEvent(\"onreadystatechange\",D),p.ready())},E={};p.fn=p.prototype={constructor:p,init:function(a,c,d){var f,g,h,i;if(!a)return this;if(a.nodeType)return this.context=this[0]=a,this.length=1,this;if(typeof a==\"string\"){a.charAt(0)===\"<\"&&a.charAt(a.length-1)===\">\"&&a.length>=3?f=[null,a,null]:f=u.exec(a);if(f&&(f[1]||!c)){if(f[1])return c=c instanceof p?c[0]:c,i=c&&c.nodeType?c.ownerDocument||c:e,a=p.parseHTML(f[1],i,!0),v.test(f[1])&&p.isPlainObject(c)&&this.attr.call(a,c,!0),p.merge(this,a);g=e.getElementById(f[2]);if(g&&g.parentNode){if(g.id!==f[2])return d.find(a);this.length=1,this[0]=g}return this.context=e,this.selector=a,this}return!c||c.jquery?(c||d).find(a):this.constructor(c).find(a)}return p.isFunction(a)?d.ready(a):(a.selector!==b&&(this.selector=a.selector,this.context=a.context),p.makeArray(a,this))},selector:\"\",jquery:\"1.8.2\",length:0,size:function(){return this.length},toArray:function(){return k.call(this)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=p.merge(this.constructor(),a);return d.prevObject=this,d.context=this.context,b===\"find\"?d.selector=this.selector+(this.selector?\" \":\"\")+c:b&&(d.selector=this.selector+\".\"+b+\"(\"+c+\")\"),d},each:function(a,b){return p.each(this,a,b)},ready:function(a){return p.ready.promise().done(a),this},eq:function(a){return a=+a,a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(k.apply(this,arguments),\"slice\",k.call(arguments).join(\",\"))},map:function(a){return this.pushStack(p.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:j,sort:[].sort,splice:[].splice},p.fn.init.prototype=p.fn,p.extend=p.fn.extend=function(){var a,c,d,e,f,g,h=arguments[0]||{},i=1,j=arguments.length,k=!1;typeof h==\"boolean\"&&(k=h,h=arguments[1]||{},i=2),typeof h!=\"object\"&&!p.isFunction(h)&&(h={}),j===i&&(h=this,--i);for(;i<j;i++)if((a=arguments[i])!=null)for(c in a){d=h[c],e=a[c];if(h===e)continue;k&&e&&(p.isPlainObject(e)||(f=p.isArray(e)))?(f?(f=!1,g=d&&p.isArray(d)?d:[]):g=d&&p.isPlainObject(d)?d:{},h[c]=p.extend(k,g,e)):e!==b&&(h[c]=e)}return h},p.extend({noConflict:function(b){return a.$===p&&(a.$=i),b&&a.jQuery===p&&(a.jQuery=h),p},isReady:!1,readyWait:1,holdReady:function(a){a?p.readyWait++:p.ready(!0)},ready:function(a){if(a===!0?--p.readyWait:p.isReady)return;if(!e.body)return setTimeout(p.ready,1);p.isReady=!0;if(a!==!0&&--p.readyWait>0)return;d.resolveWith(e,[p]),p.fn.trigger&&p(e).trigger(\"ready\").off(\"ready\")},isFunction:function(a){return p.type(a)===\"function\"},isArray:Array.isArray||function(a){return p.type(a)===\"array\"},isWindow:function(a){return a!=null&&a==a.window},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):E[m.call(a)]||\"object\"},isPlainObject:function(a){if(!a||p.type(a)!==\"object\"||a.nodeType||p.isWindow(a))return!1;try{if(a.constructor&&!n.call(a,\"constructor\")&&!n.call(a.constructor.prototype,\"isPrototypeOf\"))return!1}catch(c){return!1}var d;for(d in a);return d===b||n.call(a,d)},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},error:function(a){throw new Error(a)},parseHTML:function(a,b,c){var d;return!a||typeof a!=\"string\"?null:(typeof b==\"boolean\"&&(c=b,b=0),b=b||e,(d=v.exec(a))?[b.createElement(d[1])]:(d=p.buildFragment([a],b,c?null:[]),p.merge([],(d.cacheable?p.clone(d.fragment):d.fragment).childNodes)))},parseJSON:function(b){if(!b||typeof b!=\"string\")return null;b=p.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(w.test(b.replace(y,\"@\").replace(z,\"]\").replace(x,\"\")))return(new Function(\"return \"+b))();p.error(\"Invalid JSON: \"+b)},parseXML:function(c){var d,e;if(!c||typeof c!=\"string\")return null;try{a.DOMParser?(e=new DOMParser,d=e.parseFromString(c,\"text/xml\")):(d=new ActiveXObject(\"Microsoft.XMLDOM\"),d.async=\"false\",d.loadXML(c))}catch(f){d=b}return(!d||!d.documentElement||d.getElementsByTagName(\"parsererror\").length)&&p.error(\"Invalid XML: \"+c),d},noop:function(){},globalEval:function(b){b&&r.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(A,\"ms-\").replace(B,C)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,c,d){var e,f=0,g=a.length,h=g===b||p.isFunction(a);if(d){if(h){for(e in a)if(c.apply(a[e],d)===!1)break}else for(;f<g;)if(c.apply(a[f++],d)===!1)break}else if(h){for(e in a)if(c.call(a[e],e,a[e])===!1)break}else for(;f<g;)if(c.call(a[f],f,a[f++])===!1)break;return a},trim:o&&!o.call(\"? \")?function(a){return a==null?\"\":o.call(a)}:function(a){return a==null?\"\":(a+\"\").replace(t,\"\")},makeArray:function(a,b){var c,d=b||[];return a!=null&&(c=p.type(a),a.length==null||c===\"string\"||c===\"function\"||c===\"regexp\"||p.isWindow(a)?j.call(d,a):p.merge(d,a)),d},inArray:function(a,b,c){var d;if(b){if(l)return l.call(b,a,c);d=b.length,c=c?c<0?Math.max(0,d+c):c:0;for(;c<d;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,c){var d=c.length,e=a.length,f=0;if(typeof d==\"number\")for(;f<d;f++)a[e++]=c[f];else while(c[f]!==b)a[e++]=c[f++];return a.length=e,a},grep:function(a,b,c){var d,e=[],f=0,g=a.length;c=!!c;for(;f<g;f++)d=!!b(a[f],f),c!==d&&e.push(a[f]);return e},map:function(a,c,d){var e,f,g=[],h=0,i=a.length,j=a instanceof p||i!==b&&typeof i==\"number\"&&(i>0&&a[0]&&a[i-1]||i===0||p.isArray(a));if(j)for(;h<i;h++)e=c(a[h],h,d),e!=null&&(g[g.length]=e);else for(f in a)e=c(a[f],f,d),e!=null&&(g[g.length]=e);return g.concat.apply([],g)},guid:1,proxy:function(a,c){var d,e,f;return typeof c==\"string\"&&(d=a[c],c=a,a=d),p.isFunction(a)?(e=k.call(arguments,2),f=function(){return a.apply(c,e.concat(k.call(arguments)))},f.guid=a.guid=a.guid||p.guid++,f):b},access:function(a,c,d,e,f,g,h){var i,j=d==null,k=0,l=a.length;if(d&&typeof d==\"object\"){for(k in d)p.access(a,c,k,d[k],1,g,e);f=1}else if(e!==b){i=h===b&&p.isFunction(e),j&&(i?(i=c,c=function(a,b,c){return i.call(p(a),c)}):(c.call(a,e),c=null));if(c)for(;k<l;k++)c(a[k],d,i?e.call(a[k],k,c(a[k],d)):e,h);f=1}return f?a:j?c.call(a):l?c(a[0],d):g},now:function(){return(new Date).getTime()}}),p.ready.promise=function(b){if(!d){d=p.Deferred();if(e.readyState===\"complete\")setTimeout(p.ready,1);else if(e.addEventListener)e.addEventListener(\"DOMContentLoaded\",D,!1),a.addEventListener(\"load\",p.ready,!1);else{e.attachEvent(\"onreadystatechange\",D),a.attachEvent(\"onload\",p.ready);var c=!1;try{c=a.frameElement==null&&e.documentElement}catch(f){}c&&c.doScroll&&function g(){if(!p.isReady){try{c.doScroll(\"left\")}catch(a){return setTimeout(g,50)}p.ready()}}()}}return d.promise(b)},p.each(\"Boolean Number String Function Array Date RegExp Object\".split(\" \"),function(a,b){E[\"[object \"+b+\"]\"]=b.toLowerCase()}),c=p(e);var F={};p.Callbacks=function(a){a=typeof a==\"string\"?F[a]||G(a):p.extend({},a);var c,d,e,f,g,h,i=[],j=!a.once&&[],k=function(b){c=a.memory&&b,d=!0,h=f||0,f=0,g=i.length,e=!0;for(;i&&h<g;h++)if(i[h].apply(b[0],b[1])===!1&&a.stopOnFalse){c=!1;break}e=!1,i&&(j?j.length&&k(j.shift()):c?i=[]:l.disable())},l={add:function(){if(i){var b=i.length;(function d(b){p.each(b,function(b,c){var e=p.type(c);e===\"function\"&&(!a.unique||!l.has(c))?i.push(c):c&&c.length&&e!==\"string\"&&d(c)})})(arguments),e?g=i.length:c&&(f=b,k(c))}return this},remove:function(){return i&&p.each(arguments,function(a,b){var c;while((c=p.inArray(b,i,c))>-1)i.splice(c,1),e&&(c<=g&&g--,c<=h&&h--)}),this},has:function(a){return p.inArray(a,i)>-1},empty:function(){return i=[],this},disable:function(){return i=j=c=b,this},disabled:function(){return!i},lock:function(){return j=b,c||l.disable(),this},locked:function(){return!j},fireWith:function(a,b){return b=b||[],b=[a,b.slice?b.slice():b],i&&(!d||j)&&(e?j.push(b):k(b)),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!d}};return l},p.extend({Deferred:function(a){var b=[[\"resolve\",\"done\",p.Callbacks(\"once memory\"),\"resolved\"],[\"reject\",\"fail\",p.Callbacks(\"once memory\"),\"rejected\"],[\"notify\",\"progress\",p.Callbacks(\"memory\")]],c=\"pending\",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return p.Deferred(function(c){p.each(b,function(b,d){var f=d[0],g=a[b];e[d[1]](p.isFunction(g)?function(){var a=g.apply(this,arguments);a&&p.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f+\"With\"](this===e?c:this,[a])}:c[f])}),a=null}).promise()},promise:function(a){return a!=null?p.extend(a,d):d}},e={};return d.pipe=d.then,p.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[a^1][2].disable,b[2][2].lock),e[f[0]]=g.fire,e[f[0]+\"With\"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=k.call(arguments),d=c.length,e=d!==1||a&&p.isFunction(a.promise)?d:0,f=e===1?a:p.Deferred(),g=function(a,b,c){return function(d){b[a]=this,c[a]=arguments.length>1?k.call(arguments):d,c===h?f.notifyWith(b,c):--e||f.resolveWith(b,c)}},h,i,j;if(d>1){h=new Array(d),i=new Array(d),j=new Array(d);for(;b<d;b++)c[b]&&p.isFunction(c[b].promise)?c[b].promise().done(g(b,j,c)).fail(f.reject).progress(g(b,i,h)):--e}return e||f.resolveWith(j,c),f.promise()}}),p.support=function(){var b,c,d,f,g,h,i,j,k,l,m,n=e.createElement(\"div\");n.setAttribute(\"className\",\"t\"),n.innerHTML=\"  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>\",c=n.getElementsByTagName(\"*\"),d=n.getElementsByTagName(\"a\")[0],d.style.cssText=\"top:1px;float:left;opacity:.5\";if(!c||!c.length)return{};f=e.createElement(\"select\"),g=f.appendChild(e.createElement(\"option\")),h=n.getElementsByTagName(\"input\")[0],b={leadingWhitespace:n.firstChild.nodeType===3,tbody:!n.getElementsByTagName(\"tbody\").length,htmlSerialize:!!n.getElementsByTagName(\"link\").length,style:/top/.test(d.getAttribute(\"style\")),hrefNormalized:d.getAttribute(\"href\")===\"/a\",opacity:/^0.5/.test(d.style.opacity),cssFloat:!!d.style.cssFloat,checkOn:h.value===\"on\",optSelected:g.selected,getSetAttribute:n.className!==\"t\",enctype:!!e.createElement(\"form\").enctype,html5Clone:e.createElement(\"nav\").cloneNode(!0).outerHTML!==\"<:nav></:nav>\",boxModel:e.compatMode===\"CSS1Compat\",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},h.checked=!0,b.noCloneChecked=h.cloneNode(!0).checked,f.disabled=!0,b.optDisabled=!g.disabled;try{delete n.test}catch(o){b.deleteExpando=!1}!n.addEventListener&&n.attachEvent&&n.fireEvent&&(n.attachEvent(\"onclick\",m=function(){b.noCloneEvent=!1}),n.cloneNode(!0).fireEvent(\"onclick\"),n.detachEvent(\"onclick\",m)),h=e.createElement(\"input\"),h.value=\"t\",h.setAttribute(\"type\",\"radio\"),b.radioValue=h.value===\"t\",h.setAttribute(\"checked\",\"checked\"),h.setAttribute(\"name\",\"t\"),n.appendChild(h),i=e.createDocumentFragment(),i.appendChild(n.lastChild),b.checkClone=i.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=h.checked,i.removeChild(h),i.appendChild(n);if(n.attachEvent)for(k in{submit:!0,change:!0,focusin:!0})j=\"on\"+k,l=j in n,l||(n.setAttribute(j,\"return;\"),l=typeof n[j]==\"function\"),b[k+\"Bubbles\"]=l;return p(function(){var c,d,f,g,h=\"padding:0;margin:0;border:0;display:block;overflow:hidden;\",i=e.getElementsByTagName(\"body\")[0];if(!i)return;c=e.createElement(\"div\"),c.style.cssText=\"visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px\",i.insertBefore(c,i.firstChild),d=e.createElement(\"div\"),c.appendChild(d),d.innerHTML=\"<table><tr><td></td><td>t</td></tr></table>\",f=d.getElementsByTagName(\"td\"),f[0].style.cssText=\"padding:0;margin:0;border:0;display:none\",l=f[0].offsetHeight===0,f[0].style.display=\"\",f[1].style.display=\"none\",b.reliableHiddenOffsets=l&&f[0].offsetHeight===0,d.innerHTML=\"\",d.style.cssText=\"box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;\",b.boxSizing=d.offsetWidth===4,b.doesNotIncludeMarginInBodyOffset=i.offsetTop!==1,a.getComputedStyle&&(b.pixelPosition=(a.getComputedStyle(d,null)||{}).top!==\"1%\",b.boxSizingReliable=(a.getComputedStyle(d,null)||{width:\"4px\"}).width===\"4px\",g=e.createElement(\"div\"),g.style.cssText=d.style.cssText=h,g.style.marginRight=g.style.width=\"0\",d.style.width=\"1px\",d.appendChild(g),b.reliableMarginRight=!parseFloat((a.getComputedStyle(g,null)||{}).marginRight)),typeof d.style.zoom!=\"undefined\"&&(d.innerHTML=\"\",d.style.cssText=h+\"width:1px;padding:1px;display:inline;zoom:1\",b.inlineBlockNeedsLayout=d.offsetWidth===3,d.style.display=\"block\",d.style.overflow=\"visible\",d.innerHTML=\"<div></div>\",d.firstChild.style.width=\"5px\",b.shrinkWrapBlocks=d.offsetWidth!==3,c.style.zoom=1),i.removeChild(c),c=d=f=g=null}),i.removeChild(n),c=d=f=g=h=i=n=null,b}();var H=/(?:\\{[\\s\\S]*\\}|\\[[\\s\\S]*\\])$/,I=/([A-Z])/g;p.extend({cache:{},deletedIds:[],uuid:0,expando:\"jQuery\"+(p.fn.jquery+Math.random()).replace(/\\D/g,\"\"),noData:{embed:!0,object:\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\",applet:!0},hasData:function(a){return a=a.nodeType?p.cache[a[p.expando]]:a[p.expando],!!a&&!K(a)},data:function(a,c,d,e){if(!p.acceptData(a))return;var f,g,h=p.expando,i=typeof c==\"string\",j=a.nodeType,k=j?p.cache:a,l=j?a[h]:a[h]&&h;if((!l||!k[l]||!e&&!k[l].data)&&i&&d===b)return;l||(j?a[h]=l=p.deletedIds.pop()||p.guid++:l=h),k[l]||(k[l]={},j||(k[l].toJSON=p.noop));if(typeof c==\"object\"||typeof c==\"function\")e?k[l]=p.extend(k[l],c):k[l].data=p.extend(k[l].data,c);return f=k[l],e||(f.data||(f.data={}),f=f.data),d!==b&&(f[p.camelCase(c)]=d),i?(g=f[c],g==null&&(g=f[p.camelCase(c)])):g=f,g},removeData:function(a,b,c){if(!p.acceptData(a))return;var d,e,f,g=a.nodeType,h=g?p.cache:a,i=g?a[p.expando]:p.expando;if(!h[i])return;if(b){d=c?h[i]:h[i].data;if(d){p.isArray(b)||(b in d?b=[b]:(b=p.camelCase(b),b in d?b=[b]:b=b.split(\" \")));for(e=0,f=b.length;e<f;e++)delete d[b[e]];if(!(c?K:p.isEmptyObject)(d))return}}if(!c){delete h[i].data;if(!K(h[i]))return}g?p.cleanData([a],!0):p.support.deleteExpando||h!=h.window?delete h[i]:h[i]=null},_data:function(a,b,c){return p.data(a,b,c,!0)},acceptData:function(a){var b=a.nodeName&&p.noData[a.nodeName.toLowerCase()];return!b||b!==!0&&a.getAttribute(\"classid\")===b}}),p.fn.extend({data:function(a,c){var d,e,f,g,h,i=this[0],j=0,k=null;if(a===b){if(this.length){k=p.data(i);if(i.nodeType===1&&!p._data(i,\"parsedAttrs\")){f=i.attributes;for(h=f.length;j<h;j++)g=f[j].name,g.indexOf(\"data-\")||(g=p.camelCase(g.substring(5)),J(i,g,k[g]));p._data(i,\"parsedAttrs\",!0)}}return k}return typeof a==\"object\"?this.each(function(){p.data(this,a)}):(d=a.split(\".\",2),d[1]=d[1]?\".\"+d[1]:\"\",e=d[1]+\"!\",p.access(this,function(c){if(c===b)return k=this.triggerHandler(\"getData\"+e,[d[0]]),k===b&&i&&(k=p.data(i,a),k=J(i,a,k)),k===b&&d[1]?this.data(d[0]):k;d[1]=c,this.each(function(){var b=p(this);b.triggerHandler(\"setData\"+e,d),p.data(this,a,c),b.triggerHandler(\"changeData\"+e,d)})},null,c,arguments.length>1,null,!1))},removeData:function(a){return this.each(function(){p.removeData(this,a)})}}),p.extend({queue:function(a,b,c){var d;if(a)return b=(b||\"fx\")+\"queue\",d=p._data(a,b),c&&(!d||p.isArray(c)?d=p._data(a,b,p.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||\"fx\";var c=p.queue(a,b),d=c.length,e=c.shift(),f=p._queueHooks(a,b),g=function(){p.dequeue(a,b)};e===\"inprogress\"&&(e=c.shift(),d--),e&&(b===\"fx\"&&c.unshift(\"inprogress\"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+\"queueHooks\";return p._data(a,c)||p._data(a,c,{empty:p.Callbacks(\"once memory\").add(function(){p.removeData(a,b+\"queue\",!0),p.removeData(a,c,!0)})})}}),p.fn.extend({queue:function(a,c){var d=2;return typeof a!=\"string\"&&(c=a,a=\"fx\",d--),arguments.length<d?p.queue(this[0],a):c===b?this:this.each(function(){var b=p.queue(this,a,c);p._queueHooks(this,a),a===\"fx\"&&b[0]!==\"inprogress\"&&p.dequeue(this,a)})},dequeue:function(a){return this.each(function(){p.dequeue(this,a)})},delay:function(a,b){return a=p.fx?p.fx.speeds[a]||a:a,b=b||\"fx\",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},clearQueue:function(a){return this.queue(a||\"fx\",[])},promise:function(a,c){var d,e=1,f=p.Deferred(),g=this,h=this.length,i=function(){--e||f.resolveWith(g,[g])};typeof a!=\"string\"&&(c=a,a=b),a=a||\"fx\";while(h--)d=p._data(g[h],a+\"queueHooks\"),d&&d.empty&&(e++,d.empty.add(i));return i(),f.promise(c)}});var L,M,N,O=/[\\t\\r\\n]/g,P=/\\r/g,Q=/^(?:button|input)$/i,R=/^(?:button|input|object|select|textarea)$/i,S=/^a(?:rea|)$/i,T=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,U=p.support.getSetAttribute;p.fn.extend({attr:function(a,b){return p.access(this,p.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){p.removeAttr(this,a)})},prop:function(a,b){return p.access(this,p.prop,a,b,arguments.length>1)},removeProp:function(a){return a=p.propFix[a]||a,this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,f,g,h;if(p.isFunction(a))return this.each(function(b){p(this).addClass(a.call(this,b,this.className))});if(a&&typeof a==\"string\"){b=a.split(s);for(c=0,d=this.length;c<d;c++){e=this[c];if(e.nodeType===1)if(!e.className&&b.length===1)e.className=a;else{f=\" \"+e.className+\" \";for(g=0,h=b.length;g<h;g++)f.indexOf(\" \"+b[g]+\" \")<0&&(f+=b[g]+\" \");e.className=p.trim(f)}}}return this},removeClass:function(a){var c,d,e,f,g,h,i;if(p.isFunction(a))return this.each(function(b){p(this).removeClass(a.call(this,b,this.className))});if(a&&typeof a==\"string\"||a===b){c=(a||\"\").split(s);for(h=0,i=this.length;h<i;h++){e=this[h];if(e.nodeType===1&&e.className){d=(\" \"+e.className+\" \").replace(O,\" \");for(f=0,g=c.length;f<g;f++)while(d.indexOf(\" \"+c[f]+\" \")>=0)d=d.replace(\" \"+c[f]+\" \",\" \");e.className=a?p.trim(d):\"\"}}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b==\"boolean\";return p.isFunction(a)?this.each(function(c){p(this).toggleClass(a.call(this,c,this.className,b),b)}):this.each(function(){if(c===\"string\"){var e,f=0,g=p(this),h=b,i=a.split(s);while(e=i[f++])h=d?h:!g.hasClass(e),g[h?\"addClass\":\"removeClass\"](e)}else if(c===\"undefined\"||c===\"boolean\")this.className&&p._data(this,\"__className__\",this.className),this.className=this.className||a===!1?\"\":p._data(this,\"__className__\")||\"\"})},hasClass:function(a){var b=\" \"+a+\" \",c=0,d=this.length;for(;c<d;c++)if(this[c].nodeType===1&&(\" \"+this[c].className+\" \").replace(O,\" \").indexOf(b)>=0)return!0;return!1},val:function(a){var c,d,e,f=this[0];if(!arguments.length){if(f)return c=p.valHooks[f.type]||p.valHooks[f.nodeName.toLowerCase()],c&&\"get\"in c&&(d=c.get(f,\"value\"))!==b?d:(d=f.value,typeof d==\"string\"?d.replace(P,\"\"):d==null?\"\":d);return}return e=p.isFunction(a),this.each(function(d){var f,g=p(this);if(this.nodeType!==1)return;e?f=a.call(this,d,g.val()):f=a,f==null?f=\"\":typeof f==\"number\"?f+=\"\":p.isArray(f)&&(f=p.map(f,function(a){return a==null?\"\":a+\"\"})),c=p.valHooks[this.type]||p.valHooks[this.nodeName.toLowerCase()];if(!c||!(\"set\"in c)||c.set(this,f,\"value\")===b)this.value=f})}}),p.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,f=a.selectedIndex,g=[],h=a.options,i=a.type===\"select-one\";if(f<0)return null;c=i?f:0,d=i?f+1:h.length;for(;c<d;c++){e=h[c];if(e.selected&&(p.support.optDisabled?!e.disabled:e.getAttribute(\"disabled\")===null)&&(!e.parentNode.disabled||!p.nodeName(e.parentNode,\"optgroup\"))){b=p(e).val();if(i)return b;g.push(b)}}return i&&!g.length&&h.length?p(h[f]).val():g},set:function(a,b){var c=p.makeArray(b);return p(a).find(\"option\").each(function(){this.selected=p.inArray(p(this).val(),c)>=0}),c.length||(a.selectedIndex=-1),c}}},attrFn:{},attr:function(a,c,d,e){var f,g,h,i=a.nodeType;if(!a||i===3||i===8||i===2)return;if(e&&p.isFunction(p.fn[c]))return p(a)[c](d);if(typeof a.getAttribute==\"undefined\")return p.prop(a,c,d);h=i!==1||!p.isXMLDoc(a),h&&(c=c.toLowerCase(),g=p.attrHooks[c]||(T.test(c)?M:L));if(d!==b){if(d===null){p.removeAttr(a,c);return}return g&&\"set\"in g&&h&&(f=g.set(a,d,c))!==b?f:(a.setAttribute(c,d+\"\"),d)}return g&&\"get\"in g&&h&&(f=g.get(a,c))!==null?f:(f=a.getAttribute(c),f===null?b:f)},removeAttr:function(a,b){var c,d,e,f,g=0;if(b&&a.nodeType===1){d=b.split(s);for(;g<d.length;g++)e=d[g],e&&(c=p.propFix[e]||e,f=T.test(e),f||p.attr(a,e,\"\"),a.removeAttribute(U?e:c),f&&c in a&&(a[c]=!1))}},attrHooks:{type:{set:function(a,b){if(Q.test(a.nodeName)&&a.parentNode)p.error(\"type property can't be changed\");else if(!p.support.radioValue&&b===\"radio\"&&p.nodeName(a,\"input\")){var c=a.value;return a.setAttribute(\"type\",b),c&&(a.value=c),b}}},value:{get:function(a,b){return L&&p.nodeName(a,\"button\")?L.get(a,b):b in a?a.value:null},set:function(a,b,c){if(L&&p.nodeName(a,\"button\"))return L.set(a,b,c);a.value=b}}},propFix:{tabindex:\"tabIndex\",readonly:\"readOnly\",\"for\":\"htmlFor\",\"class\":\"className\",maxlength:\"maxLength\",cellspacing:\"cellSpacing\",cellpadding:\"cellPadding\",rowspan:\"rowSpan\",colspan:\"colSpan\",usemap:\"useMap\",frameborder:\"frameBorder\",contenteditable:\"contentEditable\"},prop:function(a,c,d){var e,f,g,h=a.nodeType;if(!a||h===3||h===8||h===2)return;return g=h!==1||!p.isXMLDoc(a),g&&(c=p.propFix[c]||c,f=p.propHooks[c]),d!==b?f&&\"set\"in f&&(e=f.set(a,d,c))!==b?e:a[c]=d:f&&\"get\"in f&&(e=f.get(a,c))!==null?e:a[c]},propHooks:{tabIndex:{get:function(a){var c=a.getAttributeNode(\"tabindex\");return c&&c.specified?parseInt(c.value,10):R.test(a.nodeName)||S.test(a.nodeName)&&a.href?0:b}}}}),M={get:function(a,c){var d,e=p.prop(a,c);return e===!0||typeof e!=\"boolean\"&&(d=a.getAttributeNode(c))&&d.nodeValue!==!1?c.toLowerCase():b},set:function(a,b,c){var d;return b===!1?p.removeAttr(a,c):(d=p.propFix[c]||c,d in a&&(a[d]=!0),a.setAttribute(c,c.toLowerCase())),c}},U||(N={name:!0,id:!0,coords:!0},L=p.valHooks.button={get:function(a,c){var d;return d=a.getAttributeNode(c),d&&(N[c]?d.value!==\"\":d.specified)?d.value:b},set:function(a,b,c){var d=a.getAttributeNode(c);return d||(d=e.createAttribute(c),a.setAttributeNode(d)),d.value=b+\"\"}},p.each([\"width\",\"height\"],function(a,b){p.attrHooks[b]=p.extend(p.attrHooks[b],{set:function(a,c){if(c===\"\")return a.setAttribute(b,\"auto\"),c}})}),p.attrHooks.contenteditable={get:L.get,set:function(a,b,c){b===\"\"&&(b=\"false\"),L.set(a,b,c)}}),p.support.hrefNormalized||p.each([\"href\",\"src\",\"width\",\"height\"],function(a,c){p.attrHooks[c]=p.extend(p.attrHooks[c],{get:function(a){var d=a.getAttribute(c,2);return d===null?b:d}})}),p.support.style||(p.attrHooks.style={get:function(a){return a.style.cssText.toLowerCase()||b},set:function(a,b){return a.style.cssText=b+\"\"}}),p.support.optSelected||(p.propHooks.selected=p.extend(p.propHooks.selected,{get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null}})),p.support.enctype||(p.propFix.enctype=\"encoding\"),p.support.checkOn||p.each([\"radio\",\"checkbox\"],function(){p.valHooks[this]={get:function(a){return a.getAttribute(\"value\")===null?\"on\":a.value}}}),p.each([\"radio\",\"checkbox\"],function(){p.valHooks[this]=p.extend(p.valHooks[this],{set:function(a,b){if(p.isArray(b))return a.checked=p.inArray(p(a).val(),b)>=0}})});var V=/^(?:textarea|input|select)$/i,W=/^([^\\.]*|)(?:\\.(.+)|)$/,X=/(?:^|\\s)hover(\\.\\S+|)\\b/,Y=/^key/,Z=/^(?:mouse|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=function(a){return p.event.special.hover?a:a.replace(X,\"mouseenter$1 mouseleave$1\")};p.event={add:function(a,c,d,e,f){var g,h,i,j,k,l,m,n,o,q,r;if(a.nodeType===3||a.nodeType===8||!c||!d||!(g=p._data(a)))return;d.handler&&(o=d,d=o.handler,f=o.selector),d.guid||(d.guid=p.guid++),i=g.events,i||(g.events=i={}),h=g.handle,h||(g.handle=h=function(a){return typeof p!=\"undefined\"&&(!a||p.event.triggered!==a.type)?p.event.dispatch.apply(h.elem,arguments):b},h.elem=a),c=p.trim(_(c)).split(\" \");for(j=0;j<c.length;j++){k=W.exec(c[j])||[],l=k[1],m=(k[2]||\"\").split(\".\").sort(),r=p.event.special[l]||{},l=(f?r.delegateType:r.bindType)||l,r=p.event.special[l]||{},n=p.extend({type:l,origType:k[1],data:e,handler:d,guid:d.guid,selector:f,needsContext:f&&p.expr.match.needsContext.test(f),namespace:m.join(\".\")},o),q=i[l];if(!q){q=i[l]=[],q.delegateCount=0;if(!r.setup||r.setup.call(a,e,m,h)===!1)a.addEventListener?a.addEventListener(l,h,!1):a.attachEvent&&a.attachEvent(\"on\"+l,h)}r.add&&(r.add.call(a,n),n.handler.guid||(n.handler.guid=d.guid)),f?q.splice(q.delegateCount++,0,n):q.push(n),p.event.global[l]=!0}a=null},global:{},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,q,r=p.hasData(a)&&p._data(a);if(!r||!(m=r.events))return;b=p.trim(_(b||\"\")).split(\" \");for(f=0;f<b.length;f++){g=W.exec(b[f])||[],h=i=g[1],j=g[2];if(!h){for(h in m)p.event.remove(a,h+b[f],c,d,!0);continue}n=p.event.special[h]||{},h=(d?n.delegateType:n.bindType)||h,o=m[h]||[],k=o.length,j=j?new RegExp(\"(^|\\\\.)\"+j.split(\".\").sort().join(\"\\\\.(?:.*\\\\.|)\")+\"(\\\\.|$)\"):null;for(l=0;l<o.length;l++)q=o[l],(e||i===q.origType)&&(!c||c.guid===q.guid)&&(!j||j.test(q.namespace))&&(!d||d===q.selector||d===\"**\"&&q.selector)&&(o.splice(l--,1),q.selector&&o.delegateCount--,n.remove&&n.remove.call(a,q));o.length===0&&k!==o.length&&((!n.teardown||n.teardown.call(a,j,r.handle)===!1)&&p.removeEvent(a,h,r.handle),delete m[h])}p.isEmptyObject(m)&&(delete r.handle,p.removeData(a,\"events\",!0))},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(c,d,f,g){if(!f||f.nodeType!==3&&f.nodeType!==8){var h,i,j,k,l,m,n,o,q,r,s=c.type||c,t=[];if($.test(s+p.event.triggered))return;s.indexOf(\"!\")>=0&&(s=s.slice(0,-1),i=!0),s.indexOf(\".\")>=0&&(t=s.split(\".\"),s=t.shift(),t.sort());if((!f||p.event.customEvent[s])&&!p.event.global[s])return;c=typeof c==\"object\"?c[p.expando]?c:new p.Event(s,c):new p.Event(s),c.type=s,c.isTrigger=!0,c.exclusive=i,c.namespace=t.join(\".\"),c.namespace_re=c.namespace?new RegExp(\"(^|\\\\.)\"+t.join(\"\\\\.(?:.*\\\\.|)\")+\"(\\\\.|$)\"):null,m=s.indexOf(\":\")<0?\"on\"+s:\"\";if(!f){h=p.cache;for(j in h)h[j].events&&h[j].events[s]&&p.event.trigger(c,d,h[j].handle.elem,!0);return}c.result=b,c.target||(c.target=f),d=d!=null?p.makeArray(d):[],d.unshift(c),n=p.event.special[s]||{};if(n.trigger&&n.trigger.apply(f,d)===!1)return;q=[[f,n.bindType||s]];if(!g&&!n.noBubble&&!p.isWindow(f)){r=n.delegateType||s,k=$.test(r+s)?f:f.parentNode;for(l=f;k;k=k.parentNode)q.push([k,r]),l=k;l===(f.ownerDocument||e)&&q.push([l.defaultView||l.parentWindow||a,r])}for(j=0;j<q.length&&!c.isPropagationStopped();j++)k=q[j][0],c.type=q[j][1],o=(p._data(k,\"events\")||{})[c.type]&&p._data(k,\"handle\"),o&&o.apply(k,d),o=m&&k[m],o&&p.acceptData(k)&&o.apply&&o.apply(k,d)===!1&&c.preventDefault();return c.type=s,!g&&!c.isDefaultPrevented()&&(!n._default||n._default.apply(f.ownerDocument,d)===!1)&&(s!==\"click\"||!p.nodeName(f,\"a\"))&&p.acceptData(f)&&m&&f[s]&&(s!==\"focus\"&&s!==\"blur\"||c.target.offsetWidth!==0)&&!p.isWindow(f)&&(l=f[m],l&&(f[m]=null),p.event.triggered=s,f[s](),p.event.triggered=b,l&&(f[m]=l)),c.result}return},dispatch:function(c){c=p.event.fix(c||a.event);var d,e,f,g,h,i,j,l,m,n,o=(p._data(this,\"events\")||{})[c.type]||[],q=o.delegateCount,r=k.call(arguments),s=!c.exclusive&&!c.namespace,t=p.event.special[c.type]||{},u=[];r[0]=c,c.delegateTarget=this;if(t.preDispatch&&t.preDispatch.call(this,c)===!1)return;if(q&&(!c.button||c.type!==\"click\"))for(f=c.target;f!=this;f=f.parentNode||this)if(f.disabled!==!0||c.type!==\"click\"){h={},j=[];for(d=0;d<q;d++)l=o[d],m=l.selector,h[m]===b&&(h[m]=l.needsContext?p(m,this).index(f)>=0:p.find(m,this,null,[f]).length),h[m]&&j.push(l);j.length&&u.push({elem:f,matches:j})}o.length>q&&u.push({elem:this,matches:o.slice(q)});for(d=0;d<u.length&&!c.isPropagationStopped();d++){i=u[d],c.currentTarget=i.elem;for(e=0;e<i.matches.length&&!c.isImmediatePropagationStopped();e++){l=i.matches[e];if(s||!c.namespace&&!l.namespace||c.namespace_re&&c.namespace_re.test(l.namespace))c.data=l.data,c.handleObj=l,g=((p.event.special[l.origType]||{}).handle||l.handler).apply(i.elem,r),g!==b&&(c.result=g,g===!1&&(c.preventDefault(),c.stopPropagation()))}}return t.postDispatch&&t.postDispatch.call(this,c),c.result},props:\"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which\".split(\" \"),fixHooks:{},keyHooks:{props:\"char charCode key keyCode\".split(\" \"),filter:function(a,b){return a.which==null&&(a.which=b.charCode!=null?b.charCode:b.keyCode),a}},mouseHooks:{props:\"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement\".split(\" \"),filter:function(a,c){var d,f,g,h=c.button,i=c.fromElement;return a.pageX==null&&c.clientX!=null&&(d=a.target.ownerDocument||e,f=d.documentElement,g=d.body,a.pageX=c.clientX+(f&&f.scrollLeft||g&&g.scrollLeft||0)-(f&&f.clientLeft||g&&g.clientLeft||0),a.pageY=c.clientY+(f&&f.scrollTop||g&&g.scrollTop||0)-(f&&f.clientTop||g&&g.clientTop||0)),!a.relatedTarget&&i&&(a.relatedTarget=i===a.target?c.toElement:i),!a.which&&h!==b&&(a.which=h&1?1:h&2?3:h&4?2:0),a}},fix:function(a){if(a[p.expando])return a;var b,c,d=a,f=p.event.fixHooks[a.type]||{},g=f.props?this.props.concat(f.props):this.props;a=p.Event(d);for(b=g.length;b;)c=g[--b],a[c]=d[c];return a.target||(a.target=d.srcElement||e),a.target.nodeType===3&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,f.filter?f.filter(a,d):a},special:{load:{noBubble:!0},focus:{delegateType:\"focusin\"},blur:{delegateType:\"focusout\"},beforeunload:{setup:function(a,b,c){p.isWindow(this)&&(this.onbeforeunload=c)},teardown:function(a,b){this.onbeforeunload===b&&(this.onbeforeunload=null)}}},simulate:function(a,b,c,d){var e=p.extend(new p.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?p.event.trigger(e,null,b):p.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},p.event.handle=p.event.dispatch,p.removeEvent=e.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){var d=\"on\"+b;a.detachEvent&&(typeof a[d]==\"undefined\"&&(a[d]=null),a.detachEvent(d,c))},p.Event=function(a,b){if(this instanceof p.Event)a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||a.returnValue===!1||a.getPreventDefault&&a.getPreventDefault()?bb:ba):this.type=a,b&&p.extend(this,b),this.timeStamp=a&&a.timeStamp||p.now(),this[p.expando]=!0;else return new p.Event(a,b)},p.Event.prototype={preventDefault:function(){this.isDefaultPrevented=bb;var a=this.originalEvent;if(!a)return;a.preventDefault?a.preventDefault():a.returnValue=!1},stopPropagation:function(){this.isPropagationStopped=bb;var a=this.originalEvent;if(!a)return;a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=bb,this.stopPropagation()},isDefaultPrevented:ba,isPropagationStopped:ba,isImmediatePropagationStopped:ba},p.each({mouseenter:\"mouseover\",mouseleave:\"mouseout\"},function(a,b){p.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj,g=f.selector;if(!e||e!==d&&!p.contains(d,e))a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b;return c}}}),p.support.submitBubbles||(p.event.special.submit={setup:function(){if(p.nodeName(this,\"form\"))return!1;p.event.add(this,\"click._submit keypress._submit\",function(a){var c=a.target,d=p.nodeName(c,\"input\")||p.nodeName(c,\"button\")?c.form:b;d&&!p._data(d,\"_submit_attached\")&&(p.event.add(d,\"submit._submit\",function(a){a._submit_bubble=!0}),p._data(d,\"_submit_attached\",!0))})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&p.event.simulate(\"submit\",this.parentNode,a,!0))},teardown:function(){if(p.nodeName(this,\"form\"))return!1;p.event.remove(this,\"._submit\")}}),p.support.changeBubbles||(p.event.special.change={setup:function(){if(V.test(this.nodeName)){if(this.type===\"checkbox\"||this.type===\"radio\")p.event.add(this,\"propertychange._change\",function(a){a.originalEvent.propertyName===\"checked\"&&(this._just_changed=!0)}),p.event.add(this,\"click._change\",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1),p.event.simulate(\"change\",this,a,!0)});return!1}p.event.add(this,\"beforeactivate._change\",function(a){var b=a.target;V.test(b.nodeName)&&!p._data(b,\"_change_attached\")&&(p.event.add(b,\"change._change\",function(a){this.parentNode&&!a.isSimulated&&!a.isTrigger&&p.event.simulate(\"change\",this.parentNode,a,!0)}),p._data(b,\"_change_attached\",!0))})},handle:function(a){var b=a.target;if(this!==b||a.isSimulated||a.isTrigger||b.type!==\"radio\"&&b.type!==\"checkbox\")return a.handleObj.handler.apply(this,arguments)},teardown:function(){return p.event.remove(this,\"._change\"),!V.test(this.nodeName)}}),p.support.focusinBubbles||p.each({focus:\"focusin\",blur:\"focusout\"},function(a,b){var c=0,d=function(a){p.event.simulate(b,a.target,p.event.fix(a),!0)};p.event.special[b]={setup:function(){c++===0&&e.addEventListener(a,d,!0)},teardown:function(){--c===0&&e.removeEventListener(a,d,!0)}}}),p.fn.extend({on:function(a,c,d,e,f){var g,h;if(typeof a==\"object\"){typeof c!=\"string\"&&(d=d||c,c=b);for(h in a)this.on(h,c,d,a[h],f);return this}d==null&&e==null?(e=c,d=c=b):e==null&&(typeof c==\"string\"?(e=d,d=b):(e=d,d=c,c=b));if(e===!1)e=ba;else if(!e)return this;return f===1&&(g=e,e=function(a){return p().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=p.guid++)),this.each(function(){p.event.add(this,a,e,d,c)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,c,d){var e,f;if(a&&a.preventDefault&&a.handleObj)return e=a.handleObj,p(a.delegateTarget).off(e.namespace?e.origType+\".\"+e.namespace:e.origType,e.selector,e.handler),this;if(typeof a==\"object\"){for(f in a)this.off(f,c,a[f]);return this}if(c===!1||typeof c==\"function\")d=c,c=b;return d===!1&&(d=ba),this.each(function(){p.event.remove(this,a,d,c)})},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},live:function(a,b,c){return p(this.context).on(a,this.selector,b,c),this},die:function(a,b){return p(this.context).off(a,this.selector||\"**\",b),this},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return arguments.length===1?this.off(a,\"**\"):this.off(b,a||\"**\",c)},trigger:function(a,b){return this.each(function(){p.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0])return p.event.trigger(a,b,this[0],!0)},toggle:function(a){var b=arguments,c=a.guid||p.guid++,d=0,e=function(c){var e=(p._data(this,\"lastToggle\"+a.guid)||0)%d;return p._data(this,\"lastToggle\"+a.guid,e+1),c.preventDefault(),b[e].apply(this,arguments)||!1};e.guid=c;while(d<b.length)b[d++].guid=c;return this.click(e)},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),p.each(\"blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu\".split(\" \"),function(a,b){p.fn[b]=function(a,c){return c==null&&(c=a,a=null),arguments.length>0?this.on(b,null,a,c):this.trigger(b)},Y.test(b)&&(p.event.fixHooks[b]=p.event.keyHooks),Z.test(b)&&(p.event.fixHooks[b]=p.event.mouseHooks)}),function(a,b){function bc(a,b,c,d){c=c||[],b=b||r;var e,f,i,j,k=b.nodeType;if(!a||typeof a!=\"string\")return c;if(k!==1&&k!==9)return[];i=g(b);if(!i&&!d)if(e=P.exec(a))if(j=e[1]){if(k===9){f=b.getElementById(j);if(!f||!f.parentNode)return c;if(f.id===j)return c.push(f),c}else if(b.ownerDocument&&(f=b.ownerDocument.getElementById(j))&&h(b,f)&&f.id===j)return c.push(f),c}else{if(e[2])return w.apply(c,x.call(b.getElementsByTagName(a),0)),c;if((j=e[3])&&_&&b.getElementsByClassName)return w.apply(c,x.call(b.getElementsByClassName(j),0)),c}return bp(a.replace(L,\"$1\"),b,c,d,i)}function bd(a){return function(b){var c=b.nodeName.toLowerCase();return c===\"input\"&&b.type===a}}function be(a){return function(b){var c=b.nodeName.toLowerCase();return(c===\"input\"||c===\"button\")&&b.type===a}}function bf(a){return z(function(b){return b=+b,z(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function bg(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}function bh(a,b){var c,d,f,g,h,i,j,k=C[o][a];if(k)return b?0:k.slice(0);h=a,i=[],j=e.preFilter;while(h){if(!c||(d=M.exec(h)))d&&(h=h.slice(d[0].length)),i.push(f=[]);c=!1;if(d=N.exec(h))f.push(c=new q(d.shift())),h=h.slice(c.length),c.type=d[0].replace(L,\" \");for(g in e.filter)(d=W[g].exec(h))&&(!j[g]||(d=j[g](d,r,!0)))&&(f.push(c=new q(d.shift())),h=h.slice(c.length),c.type=g,c.matches=d);if(!c)break}return b?h.length:h?bc.error(a):C(a,i).slice(0)}function bi(a,b,d){var e=b.dir,f=d&&b.dir===\"parentNode\",g=u++;return b.first?function(b,c,d){while(b=b[e])if(f||b.nodeType===1)return a(b,c,d)}:function(b,d,h){if(!h){var i,j=t+\" \"+g+\" \",k=j+c;while(b=b[e])if(f||b.nodeType===1){if((i=b[o])===k)return b.sizset;if(typeof i==\"string\"&&i.indexOf(j)===0){if(b.sizset)return b}else{b[o]=k;if(a(b,d,h))return b.sizset=!0,b;b.sizset=!1}}}else while(b=b[e])if(f||b.nodeType===1)if(a(b,d,h))return b}}function bj(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function bk(a,b,c,d,e){var f,g=[],h=0,i=a.length,j=b!=null;for(;h<i;h++)if(f=a[h])if(!c||c(f,d,e))g.push(f),j&&b.push(h);return g}function bl(a,b,c,d,e,f){return d&&!d[o]&&(d=bl(d)),e&&!e[o]&&(e=bl(e,f)),z(function(f,g,h,i){if(f&&e)return;var j,k,l,m=[],n=[],o=g.length,p=f||bo(b||\"*\",h.nodeType?[h]:h,[],f),q=a&&(f||!b)?bk(p,m,a,h,i):p,r=c?e||(f?a:o||d)?[]:g:q;c&&c(q,r,h,i);if(d){l=bk(r,n),d(l,[],h,i),j=l.length;while(j--)if(k=l[j])r[n[j]]=!(q[n[j]]=k)}if(f){j=a&&r.length;while(j--)if(k=r[j])f[m[j]]=!(g[m[j]]=k)}else r=bk(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):w.apply(g,r)})}function bm(a){var b,c,d,f=a.length,g=e.relative[a[0].type],h=g||e.relative[\" \"],i=g?1:0,j=bi(function(a){return a===b},h,!0),k=bi(function(a){return y.call(b,a)>-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==l)||((b=c).nodeType?j(a,c,d):k(a,c,d))}];for(;i<f;i++)if(c=e.relative[a[i].type])m=[bi(bj(m),c)];else{c=e.filter[a[i].type].apply(null,a[i].matches);if(c[o]){d=++i;for(;d<f;d++)if(e.relative[a[d].type])break;return bl(i>1&&bj(m),i>1&&a.slice(0,i-1).join(\"\").replace(L,\"$1\"),c,i<d&&bm(a.slice(i,d)),d<f&&bm(a=a.slice(d)),d<f&&a.join(\"\"))}m.push(c)}return bj(m)}function bn(a,b){var d=b.length>0,f=a.length>0,g=function(h,i,j,k,m){var n,o,p,q=[],s=0,u=\"0\",x=h&&[],y=m!=null,z=l,A=h||f&&e.find.TAG(\"*\",m&&i.parentNode||i),B=t+=z==null?1:Math.E;y&&(l=i!==r&&i,c=g.el);for(;(n=A[u])!=null;u++){if(f&&n){for(o=0;p=a[o];o++)if(p(n,i,j)){k.push(n);break}y&&(t=B,c=++g.el)}d&&((n=!p&&n)&&s--,h&&x.push(n))}s+=u;if(d&&u!==s){for(o=0;p=b[o];o++)p(x,q,i,j);if(h){if(s>0)while(u--)!x[u]&&!q[u]&&(q[u]=v.call(k));q=bk(q)}w.apply(k,q),y&&!h&&q.length>0&&s+b.length>1&&bc.uniqueSort(k)}return y&&(t=B,l=z),x};return g.el=0,d?z(g):g}function bo(a,b,c,d){var e=0,f=b.length;for(;e<f;e++)bc(a,b[e],c,d);return c}function bp(a,b,c,d,f){var g,h,j,k,l,m=bh(a),n=m.length;if(!d&&m.length===1){h=m[0]=m[0].slice(0);if(h.length>2&&(j=h[0]).type===\"ID\"&&b.nodeType===9&&!f&&e.relative[h[1].type]){b=e.find.ID(j.matches[0].replace(V,\"\"),b,f)[0];if(!b)return c;a=a.slice(h.shift().length)}for(g=W.POS.test(a)?-1:h.length-1;g>=0;g--){j=h[g];if(e.relative[k=j.type])break;if(l=e.find[k])if(d=l(j.matches[0].replace(V,\"\"),R.test(h[0].type)&&b.parentNode||b,f)){h.splice(g,1),a=d.length&&h.join(\"\");if(!a)return w.apply(c,x.call(d,0)),c;break}}}return i(a,m)(d,b,f,c,R.test(a)),c}function bq(){}var c,d,e,f,g,h,i,j,k,l,m=!0,n=\"undefined\",o=(\"sizcache\"+Math.random()).replace(\".\",\"\"),q=String,r=a.document,s=r.documentElement,t=0,u=0,v=[].pop,w=[].push,x=[].slice,y=[].indexOf||function(a){var b=0,c=this.length;for(;b<c;b++)if(this[b]===a)return b;return-1},z=function(a,b){return a[o]=b==null||b,a},A=function(){var a={},b=[];return z(function(c,d){return b.push(c)>e.cacheLength&&delete a[b.shift()],a[c]=d},a)},B=A(),C=A(),D=A(),E=\"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\",F=\"(?:\\\\\\\\.|[-\\\\w]|[^\\\\x00-\\\\xa0])+\",G=F.replace(\"w\",\"w#\"),H=\"([*^$|!~]?=)\",I=\"\\\\[\"+E+\"*(\"+F+\")\"+E+\"*(?:\"+H+E+\"*(?:(['\\\"])((?:\\\\\\\\.|[^\\\\\\\\])*?)\\\\3|(\"+G+\")|)|)\"+E+\"*\\\\]\",J=\":(\"+F+\")(?:\\\\((?:(['\\\"])((?:\\\\\\\\.|[^\\\\\\\\])*?)\\\\2|([^()[\\\\]]*|(?:(?:\"+I+\")|[^:]|\\\\\\\\.)*|.*))\\\\)|)\",K=\":(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\"+E+\"*((?:-\\\\d)?\\\\d*)\"+E+\"*\\\\)|)(?=[^-]|$)\",L=new RegExp(\"^\"+E+\"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\"+E+\"+$\",\"g\"),M=new RegExp(\"^\"+E+\"*,\"+E+\"*\"),N=new RegExp(\"^\"+E+\"*([\\\\x20\\\\t\\\\r\\\\n\\\\f>+~])\"+E+\"*\"),O=new RegExp(J),P=/^(?:#([\\w\\-]+)|(\\w+)|\\.([\\w\\-]+))$/,Q=/^:not/,R=/[\\x20\\t\\r\\n\\f]*[+~]/,S=/:not\\($/,T=/h\\d/i,U=/input|select|textarea|button/i,V=/\\\\(?!\\\\)/g,W={ID:new RegExp(\"^#(\"+F+\")\"),CLASS:new RegExp(\"^\\\\.(\"+F+\")\"),NAME:new RegExp(\"^\\\\[name=['\\\"]?(\"+F+\")['\\\"]?\\\\]\"),TAG:new RegExp(\"^(\"+F.replace(\"w\",\"w*\")+\")\"),ATTR:new RegExp(\"^\"+I),PSEUDO:new RegExp(\"^\"+J),POS:new RegExp(K,\"i\"),CHILD:new RegExp(\"^:(only|nth|first|last)-child(?:\\\\(\"+E+\"*(even|odd|(([+-]|)(\\\\d*)n|)\"+E+\"*(?:([+-]|)\"+E+\"*(\\\\d+)|))\"+E+\"*\\\\)|)\",\"i\"),needsContext:new RegExp(\"^\"+E+\"*[>+~]|\"+K,\"i\")},X=function(a){var b=r.createElement(\"div\");try{return a(b)}catch(c){return!1}finally{b=null}},Y=X(function(a){return a.appendChild(r.createComment(\"\")),!a.getElementsByTagName(\"*\").length}),Z=X(function(a){return a.innerHTML=\"<a href='#'></a>\",a.firstChild&&typeof a.firstChild.getAttribute!==n&&a.firstChild.getAttribute(\"href\")===\"#\"}),$=X(function(a){a.innerHTML=\"<select></select>\";var b=typeof a.lastChild.getAttribute(\"multiple\");return b!==\"boolean\"&&b!==\"string\"}),_=X(function(a){return a.innerHTML=\"<div class='hidden e'></div><div class='hidden'></div>\",!a.getElementsByClassName||!a.getElementsByClassName(\"e\").length?!1:(a.lastChild.className=\"e\",a.getElementsByClassName(\"e\").length===2)}),ba=X(function(a){a.id=o+0,a.innerHTML=\"<a name='\"+o+\"'></a><div name='\"+o+\"'></div>\",s.insertBefore(a,s.firstChild);var b=r.getElementsByName&&r.getElementsByName(o).length===2+r.getElementsByName(o+0).length;return d=!r.getElementById(o),s.removeChild(a),b});try{x.call(s.childNodes,0)[0].nodeType}catch(bb){x=function(a){var b,c=[];for(;b=this[a];a++)c.push(b);return c}}bc.matches=function(a,b){return bc(a,null,null,b)},bc.matchesSelector=function(a,b){return bc(b,null,null,[a]).length>0},f=bc.getText=function(a){var b,c=\"\",d=0,e=a.nodeType;if(e){if(e===1||e===9||e===11){if(typeof a.textContent==\"string\")return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=f(a)}else if(e===3||e===4)return a.nodeValue}else for(;b=a[d];d++)c+=f(b);return c},g=bc.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?b.nodeName!==\"HTML\":!1},h=bc.contains=s.contains?function(a,b){var c=a.nodeType===9?a.documentElement:a,d=b&&b.parentNode;return a===d||!!(d&&d.nodeType===1&&c.contains&&c.contains(d))}:s.compareDocumentPosition?function(a,b){return b&&!!(a.compareDocumentPosition(b)&16)}:function(a,b){while(b=b.parentNode)if(b===a)return!0;return!1},bc.attr=function(a,b){var c,d=g(a);return d||(b=b.toLowerCase()),(c=e.attrHandle[b])?c(a):d||$?a.getAttribute(b):(c=a.getAttributeNode(b),c?typeof a[b]==\"boolean\"?a[b]?b:null:c.specified?c.value:null:null)},e=bc.selectors={cacheLength:50,createPseudo:z,match:W,attrHandle:Z?{}:{href:function(a){return a.getAttribute(\"href\",2)},type:function(a){return a.getAttribute(\"type\")}},find:{ID:d?function(a,b,c){if(typeof b.getElementById!==n&&!c){var d=b.getElementById(a);return d&&d.parentNode?[d]:[]}}:function(a,c,d){if(typeof c.getElementById!==n&&!d){var e=c.getElementById(a);return e?e.id===a||typeof e.getAttributeNode!==n&&e.getAttributeNode(\"id\").value===a?[e]:b:[]}},TAG:Y?function(a,b){if(typeof b.getElementsByTagName!==n)return b.getElementsByTagName(a)}:function(a,b){var c=b.getElementsByTagName(a);if(a===\"*\"){var d,e=[],f=0;for(;d=c[f];f++)d.nodeType===1&&e.push(d);return e}return c},NAME:ba&&function(a,b){if(typeof b.getElementsByName!==n)return b.getElementsByName(name)},CLASS:_&&function(a,b,c){if(typeof b.getElementsByClassName!==n&&!c)return b.getElementsByClassName(a)}},relative:{\">\":{dir:\"parentNode\",first:!0},\" \":{dir:\"parentNode\"},\"+\":{dir:\"previousSibling\",first:!0},\"~\":{dir:\"previousSibling\"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(V,\"\"),a[3]=(a[4]||a[5]||\"\").replace(V,\"\"),a[2]===\"~=\"&&(a[3]=\" \"+a[3]+\" \"),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),a[1]===\"nth\"?(a[2]||bc.error(a[0]),a[3]=+(a[3]?a[4]+(a[5]||1):2*(a[2]===\"even\"||a[2]===\"odd\")),a[4]=+(a[6]+a[7]||a[2]===\"odd\")):a[2]&&bc.error(a[0]),a},PSEUDO:function(a){var b,c;if(W.CHILD.test(a[0]))return null;if(a[3])a[2]=a[3];else if(b=a[4])O.test(b)&&(c=bh(b,!0))&&(c=b.indexOf(\")\",b.length-c)-b.length)&&(b=b.slice(0,c),a[0]=a[0].slice(0,c)),a[2]=b;return a.slice(0,3)}},filter:{ID:d?function(a){return a=a.replace(V,\"\"),function(b){return b.getAttribute(\"id\")===a}}:function(a){return a=a.replace(V,\"\"),function(b){var c=typeof b.getAttributeNode!==n&&b.getAttributeNode(\"id\");return c&&c.value===a}},TAG:function(a){return a===\"*\"?function(){return!0}:(a=a.replace(V,\"\").toLowerCase(),function(b){return b.nodeName&&b.nodeName.toLowerCase()===a})},CLASS:function(a){var b=B[o][a];return b||(b=B(a,new RegExp(\"(^|\"+E+\")\"+a+\"(\"+E+\"|$)\"))),function(a){return b.test(a.className||typeof a.getAttribute!==n&&a.getAttribute(\"class\")||\"\")}},ATTR:function(a,b,c){return function(d,e){var f=bc.attr(d,a);return f==null?b===\"!=\":b?(f+=\"\",b===\"=\"?f===c:b===\"!=\"?f!==c:b===\"^=\"?c&&f.indexOf(c)===0:b===\"*=\"?c&&f.indexOf(c)>-1:b===\"$=\"?c&&f.substr(f.length-c.length)===c:b===\"~=\"?(\" \"+f+\" \").indexOf(c)>-1:b===\"|=\"?f===c||f.substr(0,c.length+1)===c+\"-\":!1):!0}},CHILD:function(a,b,c,d){return a===\"nth\"?function(a){var b,e,f=a.parentNode;if(c===1&&d===0)return!0;if(f){e=0;for(b=f.firstChild;b;b=b.nextSibling)if(b.nodeType===1){e++;if(a===b)break}}return e-=d,e===c||e%c===0&&e/c>=0}:function(b){var c=b;switch(a){case\"only\":case\"first\":while(c=c.previousSibling)if(c.nodeType===1)return!1;if(a===\"first\")return!0;c=b;case\"last\":while(c=c.nextSibling)if(c.nodeType===1)return!1;return!0}}},PSEUDO:function(a,b){var c,d=e.pseudos[a]||e.setFilters[a.toLowerCase()]||bc.error(\"unsupported pseudo: \"+a);return d[o]?d(b):d.length>1?(c=[a,a,\"\",b],e.setFilters.hasOwnProperty(a.toLowerCase())?z(function(a,c){var e,f=d(a,b),g=f.length;while(g--)e=y.call(a,f[g]),a[e]=!(c[e]=f[g])}):function(a){return d(a,0,c)}):d}},pseudos:{not:z(function(a){var b=[],c=[],d=i(a.replace(L,\"$1\"));return d[o]?z(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)if(f=g[h])a[h]=!(b[h]=f)}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:z(function(a){return function(b){return bc(a,b).length>0}}),contains:z(function(a){return function(b){return(b.textContent||b.innerText||f(b)).indexOf(a)>-1}}),enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return b===\"input\"&&!!a.checked||b===\"option\"&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},parent:function(a){return!e.pseudos.empty(a)},empty:function(a){var b;a=a.firstChild;while(a){if(a.nodeName>\"@\"||(b=a.nodeType)===3||b===4)return!1;a=a.nextSibling}return!0},header:function(a){return T.test(a.nodeName)},text:function(a){var b,c;return a.nodeName.toLowerCase()===\"input\"&&(b=a.type)===\"text\"&&((c=a.getAttribute(\"type\"))==null||c.toLowerCase()===b)},radio:bd(\"radio\"),checkbox:bd(\"checkbox\"),file:bd(\"file\"),password:bd(\"password\"),image:bd(\"image\"),submit:be(\"submit\"),reset:be(\"reset\"),button:function(a){var b=a.nodeName.toLowerCase();return b===\"input\"&&a.type===\"button\"||b===\"button\"},input:function(a){return U.test(a.nodeName)},focus:function(a){var b=a.ownerDocument;return a===b.activeElement&&(!b.hasFocus||b.hasFocus())&&(!!a.type||!!a.href)},active:function(a){return a===a.ownerDocument.activeElement},first:bf(function(a,b,c){return[0]}),last:bf(function(a,b,c){return[b-1]}),eq:bf(function(a,b,c){return[c<0?c+b:c]}),even:bf(function(a,b,c){for(var d=0;d<b;d+=2)a.push(d);return a}),odd:bf(function(a,b,c){for(var d=1;d<b;d+=2)a.push(d);return a}),lt:bf(function(a,b,c){for(var d=c<0?c+b:c;--d>=0;)a.push(d);return a}),gt:bf(function(a,b,c){for(var d=c<0?c+b:c;++d<b;)a.push(d);return a})}},j=s.compareDocumentPosition?function(a,b){return a===b?(k=!0,0):(!a.compareDocumentPosition||!b.compareDocumentPosition?a.compareDocumentPosition:a.compareDocumentPosition(b)&4)?-1:1}:function(a,b){if(a===b)return k=!0,0;if(a.sourceIndex&&b.sourceIndex)return a.sourceIndex-b.sourceIndex;var c,d,e=[],f=[],g=a.parentNode,h=b.parentNode,i=g;if(g===h)return bg(a,b);if(!g)return-1;if(!h)return 1;while(i)e.unshift(i),i=i.parentNode;i=h;while(i)f.unshift(i),i=i.parentNode;c=e.length,d=f.length;for(var j=0;j<c&&j<d;j++)if(e[j]!==f[j])return bg(e[j],f[j]);return j===c?bg(a,f[j],-1):bg(e[j],b,1)},[0,0].sort(j),m=!k,bc.uniqueSort=function(a){var b,c=1;k=m,a.sort(j);if(k)for(;b=a[c];c++)b===a[c-1]&&a.splice(c--,1);return a},bc.error=function(a){throw new Error(\"Syntax error, unrecognized expression: \"+a)},i=bc.compile=function(a,b){var c,d=[],e=[],f=D[o][a];if(!f){b||(b=bh(a)),c=b.length;while(c--)f=bm(b[c]),f[o]?d.push(f):e.push(f);f=D(a,bn(e,d))}return f},r.querySelectorAll&&function(){var a,b=bp,c=/'|\\\\/g,d=/\\=[\\x20\\t\\r\\n\\f]*([^'\"\\]]*)[\\x20\\t\\r\\n\\f]*\\]/g,e=[\":focus\"],f=[\":active\",\":focus\"],h=s.matchesSelector||s.mozMatchesSelector||s.webkitMatchesSelector||s.oMatchesSelector||s.msMatchesSelector;X(function(a){a.innerHTML=\"<select><option selected=''></option></select>\",a.querySelectorAll(\"[selected]\").length||e.push(\"\\\\[\"+E+\"*(?:checked|disabled|ismap|multiple|readonly|selected|value)\"),a.querySelectorAll(\":checked\").length||e.push(\":checked\")}),X(function(a){a.innerHTML=\"<p test=''></p>\",a.querySelectorAll(\"[test^='']\").length&&e.push(\"[*^$]=\"+E+\"*(?:\\\"\\\"|'')\"),a.innerHTML=\"<input type='hidden'/>\",a.querySelectorAll(\":enabled\").length||e.push(\":enabled\",\":disabled\")}),e=new RegExp(e.join(\"|\")),bp=function(a,d,f,g,h){if(!g&&!h&&(!e||!e.test(a))){var i,j,k=!0,l=o,m=d,n=d.nodeType===9&&a;if(d.nodeType===1&&d.nodeName.toLowerCase()!==\"object\"){i=bh(a),(k=d.getAttribute(\"id\"))?l=k.replace(c,\"\\\\$&\"):d.setAttribute(\"id\",l),l=\"[id='\"+l+\"'] \",j=i.length;while(j--)i[j]=l+i[j].join(\"\");m=R.test(a)&&d.parentNode||d,n=i.join(\",\")}if(n)try{return w.apply(f,x.call(m.querySelectorAll(n),0)),f}catch(p){}finally{k||d.removeAttribute(\"id\")}}return b(a,d,f,g,h)},h&&(X(function(b){a=h.call(b,\"div\");try{h.call(b,\"[test!='']:sizzle\"),f.push(\"!=\",J)}catch(c){}}),f=new RegExp(f.join(\"|\")),bc.matchesSelector=function(b,c){c=c.replace(d,\"='$1']\");if(!g(b)&&!f.test(c)&&(!e||!e.test(c)))try{var i=h.call(b,c);if(i||a||b.document&&b.document.nodeType!==11)return i}catch(j){}return bc(c,null,null,[b]).length>0})}(),e.pseudos.nth=e.pseudos.eq,e.filters=bq.prototype=e.pseudos,e.setFilters=new bq,bc.attr=p.attr,p.find=bc,p.expr=bc.selectors,p.expr[\":\"]=p.expr.pseudos,p.unique=bc.uniqueSort,p.text=bc.getText,p.isXMLDoc=bc.isXML,p.contains=bc.contains}(a);var bc=/Until$/,bd=/^(?:parents|prev(?:Until|All))/,be=/^.[^:#\\[\\.,]*$/,bf=p.expr.match.needsContext,bg={children:!0,contents:!0,next:!0,prev:!0};p.fn.extend({find:function(a){var b,c,d,e,f,g,h=this;if(typeof a!=\"string\")return p(a).filter(function(){for(b=0,c=h.length;b<c;b++)if(p.contains(h[b],this))return!0});g=this.pushStack(\"\",\"find\",a);for(b=0,c=this.length;b<c;b++){d=g.length,p.find(a,this[b],g);if(b>0)for(e=d;e<g.length;e++)for(f=0;f<d;f++)if(g[f]===g[e]){g.splice(e--,1);break}}return g},has:function(a){var b,c=p(a,this),d=c.length;return this.filter(function(){for(b=0;b<d;b++)if(p.contains(this,c[b]))return!0})},not:function(a){return this.pushStack(bj(this,a,!1),\"not\",a)},filter:function(a){return this.pushStack(bj(this,a,!0),\"filter\",a)},is:function(a){return!!a&&(typeof a==\"string\"?bf.test(a)?p(a,this.context).index(this[0])>=0:p.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c,d=0,e=this.length,f=[],g=bf.test(a)||typeof a!=\"string\"?p(a,b||this.context):0;for(;d<e;d++){c=this[d];while(c&&c.ownerDocument&&c!==b&&c.nodeType!==11){if(g?g.index(c)>-1:p.find.matchesSelector(c,a)){f.push(c);break}c=c.parentNode}}return f=f.length>1?p.unique(f):f,this.pushStack(f,\"closest\",a)},index:function(a){return a?typeof a==\"string\"?p.inArray(this[0],p(a)):p.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(a,b){var c=typeof a==\"string\"?p(a,b):p.makeArray(a&&a.nodeType?[a]:a),d=p.merge(this.get(),c);return this.pushStack(bh(c[0])||bh(d[0])?d:p.unique(d))},addBack:function(a){return this.add(a==null?this.prevObject:this.prevObject.filter(a))}}),p.fn.andSelf=p.fn.addBack,p.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return p.dir(a,\"parentNode\")},parentsUntil:function(a,b,c){return p.dir(a,\"parentNode\",c)},next:function(a){return bi(a,\"nextSibling\")},prev:function(a){return bi(a,\"previousSibling\")},nextAll:function(a){return p.dir(a,\"nextSibling\")},prevAll:function(a){return p.dir(a,\"previousSibling\")},nextUntil:function(a,b,c){return p.dir(a,\"nextSibling\",c)},prevUntil:function(a,b,c){return p.dir(a,\"previousSibling\",c)},siblings:function(a){return p.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return p.sibling(a.firstChild)},contents:function(a){return p.nodeName(a,\"iframe\")?a.contentDocument||a.contentWindow.document:p.merge([],a.childNodes)}},function(a,b){p.fn[a]=function(c,d){var e=p.map(this,b,c);return bc.test(a)||(d=c),d&&typeof d==\"string\"&&(e=p.filter(d,e)),e=this.length>1&&!bg[a]?p.unique(e):e,this.length>1&&bd.test(a)&&(e=e.reverse()),this.pushStack(e,a,k.call(arguments).join(\",\"))}}),p.extend({filter:function(a,b,c){return c&&(a=\":not(\"+a+\")\"),b.length===1?p.find.matchesSelector(b[0],a)?[b[0]]:[]:p.find.matches(a,b)},dir:function(a,c,d){var e=[],f=a[c];while(f&&f.nodeType!==9&&(d===b||f.nodeType!==1||!p(f).is(d)))f.nodeType===1&&e.push(f),f=f[c];return e},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var bl=\"abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video\",bm=/ jQuery\\d+=\"(?:null|\\d+)\"/g,bn=/^\\s+/,bo=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\\w:]+)[^>]*)\\/>/gi,bp=/<([\\w:]+)/,bq=/<tbody/i,br=/<|&#?\\w+;/,bs=/<(?:script|style|link)/i,bt=/<(?:script|object|embed|option|style)/i,bu=new RegExp(\"<(?:\"+bl+\")[\\\\s/>]\",\"i\"),bv=/^(?:checkbox|radio)$/,bw=/checked\\s*(?:[^=]|=\\s*.checked.)/i,bx=/\\/(java|ecma)script/i,by=/^\\s*<!(?:\\[CDATA\\[|\\-\\-)|[\\]\\-]{2}>\\s*$/g,bz={option:[1,\"<select multiple='multiple'>\",\"</select>\"],legend:[1,\"<fieldset>\",\"</fieldset>\"],thead:[1,\"<table>\",\"</table>\"],tr:[2,\"<table><tbody>\",\"</tbody></table>\"],td:[3,\"<table><tbody><tr>\",\"</tr></tbody></table>\"],col:[2,\"<table><tbody></tbody><colgroup>\",\"</colgroup></table>\"],area:[1,\"<map>\",\"</map>\"],_default:[0,\"\",\"\"]},bA=bk(e),bB=bA.appendChild(e.createElement(\"div\"));bz.optgroup=bz.option,bz.tbody=bz.tfoot=bz.colgroup=bz.caption=bz.thead,bz.th=bz.td,p.support.htmlSerialize||(bz._default=[1,\"X<div>\",\"</div>\"]),p.fn.extend({text:function(a){return p.access(this,function(a){return a===b?p.text(this):this.empty().append((this[0]&&this[0].ownerDocument||e).createTextNode(a))},null,a,arguments.length)},wrapAll:function(a){if(p.isFunction(a))return this.each(function(b){p(this).wrapAll(a.call(this,b))});if(this[0]){var b=p(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return p.isFunction(a)?this.each(function(b){p(this).wrapInner(a.call(this,b))}):this.each(function(){var b=p(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=p.isFunction(a);return this.each(function(c){p(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){p.nodeName(this,\"body\")||p(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){(this.nodeType===1||this.nodeType===11)&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){(this.nodeType===1||this.nodeType===11)&&this.insertBefore(a,this.firstChild)})},before:function(){if(!bh(this[0]))return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=p.clean(arguments);return this.pushStack(p.merge(a,this),\"before\",this.selector)}},after:function(){if(!bh(this[0]))return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=p.clean(arguments);return this.pushStack(p.merge(this,a),\"after\",this.selector)}},remove:function(a,b){var c,d=0;for(;(c=this[d])!=null;d++)if(!a||p.filter(a,[c]).length)!b&&c.nodeType===1&&(p.cleanData(c.getElementsByTagName(\"*\")),p.cleanData([c])),c.parentNode&&c.parentNode.removeChild(c);return this},empty:function(){var a,b=0;for(;(a=this[b])!=null;b++){a.nodeType===1&&p.cleanData(a.getElementsByTagName(\"*\"));while(a.firstChild)a.removeChild(a.firstChild)}return this},clone:function(a,b){return a=a==null?!1:a,b=b==null?a:b,this.map(function(){return p.clone(this,a,b)})},html:function(a){return p.access(this,function(a){var c=this[0]||{},d=0,e=this.length;if(a===b)return c.nodeType===1?c.innerHTML.replace(bm,\"\"):b;if(typeof a==\"string\"&&!bs.test(a)&&(p.support.htmlSerialize||!bu.test(a))&&(p.support.leadingWhitespace||!bn.test(a))&&!bz[(bp.exec(a)||[\"\",\"\"])[1].toLowerCase()]){a=a.replace(bo,\"<$1></$2>\");try{for(;d<e;d++)c=this[d]||{},c.nodeType===1&&(p.cleanData(c.getElementsByTagName(\"*\")),c.innerHTML=a);c=0}catch(f){}}c&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(a){return bh(this[0])?this.length?this.pushStack(p(p.isFunction(a)?a():a),\"replaceWith\",a):this:p.isFunction(a)?this.each(function(b){var c=p(this),d=c.html();c.replaceWith(a.call(this,b,d))}):(typeof a!=\"string\"&&(a=p(a).detach()),this.each(function(){var b=this.nextSibling,c=this.parentNode;p(this).remove(),b?p(b).before(a):p(c).append(a)}))},detach:function(a){return this.remove(a,!0)},domManip:function(a,c,d){a=[].concat.apply([],a);var e,f,g,h,i=0,j=a[0],k=[],l=this.length;if(!p.support.checkClone&&l>1&&typeof j==\"string\"&&bw.test(j))return this.each(function(){p(this).domManip(a,c,d)});if(p.isFunction(j))return this.each(function(e){var f=p(this);a[0]=j.call(this,e,c?f.html():b),f.domManip(a,c,d)});if(this[0]){e=p.buildFragment(a,this,k),g=e.fragment,f=g.firstChild,g.childNodes.length===1&&(g=f);if(f){c=c&&p.nodeName(f,\"tr\");for(h=e.cacheable||l-1;i<l;i++)d.call(c&&p.nodeName(this[i],\"table\")?bC(this[i],\"tbody\"):this[i],i===h?g:p.clone(g,!0,!0))}g=f=null,k.length&&p.each(k,function(a,b){b.src?p.ajax?p.ajax({url:b.src,type:\"GET\",dataType:\"script\",async:!1,global:!1,\"throws\":!0}):p.error(\"no ajax\"):p.globalEval((b.text||b.textContent||b.innerHTML||\"\").replace(by,\"\")),b.parentNode&&b.parentNode.removeChild(b)})}return this}}),p.buildFragment=function(a,c,d){var f,g,h,i=a[0];return c=c||e,c=!c.nodeType&&c[0]||c,c=c.ownerDocument||c,a.length===1&&typeof i==\"string\"&&i.length<512&&c===e&&i.charAt(0)===\"<\"&&!bt.test(i)&&(p.support.checkClone||!bw.test(i))&&(p.support.html5Clone||!bu.test(i))&&(g=!0,f=p.fragments[i],h=f!==b),f||(f=c.createDocumentFragment(),p.clean(a,c,f,d),g&&(p.fragments[i]=h&&f)),{fragment:f,cacheable:g}},p.fragments={},p.each({appendTo:\"append\",prependTo:\"prepend\",insertBefore:\"before\",insertAfter:\"after\",replaceAll:\"replaceWith\"},function(a,b){p.fn[a]=function(c){var d,e=0,f=[],g=p(c),h=g.length,i=this.length===1&&this[0].parentNode;if((i==null||i&&i.nodeType===11&&i.childNodes.length===1)&&h===1)return g[b](this[0]),this;for(;e<h;e++)d=(e>0?this.clone(!0):this).get(),p(g[e])[b](d),f=f.concat(d);return this.pushStack(f,a,g.selector)}}),p.extend({clone:function(a,b,c){var d,e,f,g;p.support.html5Clone||p.isXMLDoc(a)||!bu.test(\"<\"+a.nodeName+\">\")?g=a.cloneNode(!0):(bB.innerHTML=a.outerHTML,bB.removeChild(g=bB.firstChild));if((!p.support.noCloneEvent||!p.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!p.isXMLDoc(a)){bE(a,g),d=bF(a),e=bF(g);for(f=0;d[f];++f)e[f]&&bE(d[f],e[f])}if(b){bD(a,g);if(c){d=bF(a),e=bF(g);for(f=0;d[f];++f)bD(d[f],e[f])}}return d=e=null,g},clean:function(a,b,c,d){var f,g,h,i,j,k,l,m,n,o,q,r,s=b===e&&bA,t=[];if(!b||typeof b.createDocumentFragment==\"undefined\")b=e;for(f=0;(h=a[f])!=null;f++){typeof h==\"number\"&&(h+=\"\");if(!h)continue;if(typeof h==\"string\")if(!br.test(h))h=b.createTextNode(h);else{s=s||bk(b),l=b.createElement(\"div\"),s.appendChild(l),h=h.replace(bo,\"<$1></$2>\"),i=(bp.exec(h)||[\"\",\"\"])[1].toLowerCase(),j=bz[i]||bz._default,k=j[0],l.innerHTML=j[1]+h+j[2];while(k--)l=l.lastChild;if(!p.support.tbody){m=bq.test(h),n=i===\"table\"&&!m?l.firstChild&&l.firstChild.childNodes:j[1]===\"<table>\"&&!m?l.childNodes:[];for(g=n.length-1;g>=0;--g)p.nodeName(n[g],\"tbody\")&&!n[g].childNodes.length&&n[g].parentNode.removeChild(n[g])}!p.support.leadingWhitespace&&bn.test(h)&&l.insertBefore(b.createTextNode(bn.exec(h)[0]),l.firstChild),h=l.childNodes,l.parentNode.removeChild(l)}h.nodeType?t.push(h):p.merge(t,h)}l&&(h=l=s=null);if(!p.support.appendChecked)for(f=0;(h=t[f])!=null;f++)p.nodeName(h,\"input\")?bG(h):typeof h.getElementsByTagName!=\"undefined\"&&p.grep(h.getElementsByTagName(\"input\"),bG);if(c){q=function(a){if(!a.type||bx.test(a.type))return d?d.push(a.parentNode?a.parentNode.removeChild(a):a):c.appendChild(a)};for(f=0;(h=t[f])!=null;f++)if(!p.nodeName(h,\"script\")||!q(h))c.appendChild(h),typeof h.getElementsByTagName!=\"undefined\"&&(r=p.grep(p.merge([],h.getElementsByTagName(\"script\")),q),t.splice.apply(t,[f+1,0].concat(r)),f+=r.length)}return t},cleanData:function(a,b){var c,d,e,f,g=0,h=p.expando,i=p.cache,j=p.support.deleteExpando,k=p.event.special;for(;(e=a[g])!=null;g++)if(b||p.acceptData(e)){d=e[h],c=d&&i[d];if(c){if(c.events)for(f in c.events)k[f]?p.event.remove(e,f):p.removeEvent(e,f,c.handle);i[d]&&(delete i[d],j?delete e[h]:e.removeAttribute?e.removeAttribute(h):e[h]=null,p.deletedIds.push(d))}}}}),function(){var a,b;p.uaMatch=function(a){a=a.toLowerCase();var b=/(chrome)[ \\/]([\\w.]+)/.exec(a)||/(webkit)[ \\/]([\\w.]+)/.exec(a)||/(opera)(?:.*version|)[ \\/]([\\w.]+)/.exec(a)||/(msie) ([\\w.]+)/.exec(a)||a.indexOf(\"compatible\")<0&&/(mozilla)(?:.*? rv:([\\w.]+)|)/.exec(a)||[];return{browser:b[1]||\"\",version:b[2]||\"0\"}},a=p.uaMatch(g.userAgent),b={},a.browser&&(b[a.browser]=!0,b.version=a.version),b.chrome?b.webkit=!0:b.webkit&&(b.safari=!0),p.browser=b,p.sub=function(){function a(b,c){return new a.fn.init(b,c)}p.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function c(c,d){return d&&d instanceof p&&!(d instanceof a)&&(d=a(d)),p.fn.init.call(this,c,d,b)},a.fn.init.prototype=a.fn;var b=a(e);return a}}();var bH,bI,bJ,bK=/alpha\\([^)]*\\)/i,bL=/opacity=([^)]*)/,bM=/^(top|right|bottom|left)$/,bN=/^(none|table(?!-c[ea]).+)/,bO=/^margin/,bP=new RegExp(\"^(\"+q+\")(.*)$\",\"i\"),bQ=new RegExp(\"^(\"+q+\")(?!px)[a-z%]+$\",\"i\"),bR=new RegExp(\"^([-+])=(\"+q+\")\",\"i\"),bS={},bT={position:\"absolute\",visibility:\"hidden\",display:\"block\"},bU={letterSpacing:0,fontWeight:400},bV=[\"Top\",\"Right\",\"Bottom\",\"Left\"],bW=[\"Webkit\",\"O\",\"Moz\",\"ms\"],bX=p.fn.toggle;p.fn.extend({css:function(a,c){return p.access(this,function(a,c,d){return d!==b?p.style(a,c,d):p.css(a,c)},a,c,arguments.length>1)},show:function(){return b$(this,!0)},hide:function(){return b$(this)},toggle:function(a,b){var c=typeof a==\"boolean\";return p.isFunction(a)&&p.isFunction(b)?bX.apply(this,arguments):this.each(function(){(c?a:bZ(this))?p(this).show():p(this).hide()})}}),p.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bH(a,\"opacity\");return c===\"\"?\"1\":c}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{\"float\":p.support.cssFloat?\"cssFloat\":\"styleFloat\"},style:function(a,c,d,e){if(!a||a.nodeType===3||a.nodeType===8||!a.style)return;var f,g,h,i=p.camelCase(c),j=a.style;c=p.cssProps[i]||(p.cssProps[i]=bY(j,i)),h=p.cssHooks[c]||p.cssHooks[i];if(d===b)return h&&\"get\"in h&&(f=h.get(a,!1,e))!==b?f:j[c];g=typeof d,g===\"string\"&&(f=bR.exec(d))&&(d=(f[1]+1)*f[2]+parseFloat(p.css(a,c)),g=\"number\");if(d==null||g===\"number\"&&isNaN(d))return;g===\"number\"&&!p.cssNumber[i]&&(d+=\"px\");if(!h||!(\"set\"in h)||(d=h.set(a,d,e))!==b)try{j[c]=d}catch(k){}},css:function(a,c,d,e){var f,g,h,i=p.camelCase(c);return c=p.cssProps[i]||(p.cssProps[i]=bY(a.style,i)),h=p.cssHooks[c]||p.cssHooks[i],h&&\"get\"in h&&(f=h.get(a,!0,e)),f===b&&(f=bH(a,c)),f===\"normal\"&&c in bU&&(f=bU[c]),d||e!==b?(g=parseFloat(f),d||p.isNumeric(g)?g||0:f):f},swap:function(a,b,c){var d,e,f={};for(e in b)f[e]=a.style[e],a.style[e]=b[e];d=c.call(a);for(e in b)a.style[e]=f[e];return d}}),a.getComputedStyle?bH=function(b,c){var d,e,f,g,h=a.getComputedStyle(b,null),i=b.style;return h&&(d=h[c],d===\"\"&&!p.contains(b.ownerDocument,b)&&(d=p.style(b,c)),bQ.test(d)&&bO.test(c)&&(e=i.width,f=i.minWidth,g=i.maxWidth,i.minWidth=i.maxWidth=i.width=d,d=h.width,i.width=e,i.minWidth=f,i.maxWidth=g)),d}:e.documentElement.currentStyle&&(bH=function(a,b){var c,d,e=a.currentStyle&&a.currentStyle[b],f=a.style;return e==null&&f&&f[b]&&(e=f[b]),bQ.test(e)&&!bM.test(b)&&(c=f.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b===\"fontSize\"?\"1em\":e,e=f.pixelLeft+\"px\",f.left=c,d&&(a.runtimeStyle.left=d)),e===\"\"?\"auto\":e}),p.each([\"height\",\"width\"],function(a,b){p.cssHooks[b]={get:function(a,c,d){if(c)return a.offsetWidth===0&&bN.test(bH(a,\"display\"))?p.swap(a,bT,function(){return cb(a,b,d)}):cb(a,b,d)},set:function(a,c,d){return b_(a,c,d?ca(a,b,d,p.support.boxSizing&&p.css(a,\"boxSizing\")===\"border-box\"):0)}}}),p.support.opacity||(p.cssHooks.opacity={get:function(a,b){return bL.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||\"\")?.01*parseFloat(RegExp.$1)+\"\":b?\"1\":\"\"},set:function(a,b){var c=a.style,d=a.currentStyle,e=p.isNumeric(b)?\"alpha(opacity=\"+b*100+\")\":\"\",f=d&&d.filter||c.filter||\"\";c.zoom=1;if(b>=1&&p.trim(f.replace(bK,\"\"))===\"\"&&c.removeAttribute){c.removeAttribute(\"filter\");if(d&&!d.filter)return}c.filter=bK.test(f)?f.replace(bK,e):f+\" \"+e}}),p(function(){p.support.reliableMarginRight||(p.cssHooks.marginRight={get:function(a,b){return p.swap(a,{display:\"inline-block\"},function(){if(b)return bH(a,\"marginRight\")})}}),!p.support.pixelPosition&&p.fn.position&&p.each([\"top\",\"left\"],function(a,b){p.cssHooks[b]={get:function(a,c){if(c){var d=bH(a,b);return bQ.test(d)?p(a).position()[b]+\"px\":d}}}})}),p.expr&&p.expr.filters&&(p.expr.filters.hidden=function(a){return a.offsetWidth===0&&a.offsetHeight===0||!p.support.reliableHiddenOffsets&&(a.style&&a.style.display||bH(a,\"display\"))===\"none\"},p.expr.filters.visible=function(a){return!p.expr.filters.hidden(a)}),p.each({margin:\"\",padding:\"\",border:\"Width\"},function(a,b){p.cssHooks[a+b]={expand:function(c){var d,e=typeof c==\"string\"?c.split(\" \"):[c],f={};for(d=0;d<4;d++)f[a+bV[d]+b]=e[d]||e[d-2]||e[0];return f}},bO.test(a)||(p.cssHooks[a+b].set=b_)});var cd=/%20/g,ce=/\\[\\]$/,cf=/\\r?\\n/g,cg=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,ch=/^(?:select|textarea)/i;p.fn.extend({serialize:function(){return p.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?p.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ch.test(this.nodeName)||cg.test(this.type))}).map(function(a,b){var c=p(this).val();return c==null?null:p.isArray(c)?p.map(c,function(a,c){return{name:b.name,value:a.replace(cf,\"\\r\\n\")}}):{name:b.name,value:c.replace(cf,\"\\r\\n\")}}).get()}}),p.param=function(a,c){var d,e=[],f=function(a,b){b=p.isFunction(b)?b():b==null?\"\":b,e[e.length]=encodeURIComponent(a)+\"=\"+encodeURIComponent(b)};c===b&&(c=p.ajaxSettings&&p.ajaxSettings.traditional);if(p.isArray(a)||a.jquery&&!p.isPlainObject(a))p.each(a,function(){f(this.name,this.value)});else for(d in a)ci(d,a[d],c,f);return e.join(\"&\").replace(cd,\"+\")};var cj,ck,cl=/#.*$/,cm=/^(.*?):[ \\t]*([^\\r\\n]*)\\r?$/mg,cn=/^(?:about|app|app\\-storage|.+\\-extension|file|res|widget):$/,co=/^(?:GET|HEAD)$/,cp=/^\\/\\//,cq=/\\?/,cr=/<script\\b[^<]*(?:(?!<\\/script>)<[^<]*)*<\\/script>/gi,cs=/([?&])_=[^&]*/,ct=/^([\\w\\+\\.\\-]+:)(?:\\/\\/([^\\/?#:]*)(?::(\\d+)|)|)/,cu=p.fn.load,cv={},cw={},cx=[\"*/\"]+[\"*\"];try{ck=f.href}catch(cy){ck=e.createElement(\"a\"),ck.href=\"\",ck=ck.href}cj=ct.exec(ck.toLowerCase())||[],p.fn.load=function(a,c,d){if(typeof a!=\"string\"&&cu)return cu.apply(this,arguments);if(!this.length)return this;var e,f,g,h=this,i=a.indexOf(\" \");return i>=0&&(e=a.slice(i,a.length),a=a.slice(0,i)),p.isFunction(c)?(d=c,c=b):c&&typeof c==\"object\"&&(f=\"POST\"),p.ajax({url:a,type:f,dataType:\"html\",data:c,complete:function(a,b){d&&h.each(d,g||[a.responseText,b,a])}}).done(function(a){g=arguments,h.html(e?p(\"<div>\").append(a.replace(cr,\"\")).find(e):a)}),this},p.each(\"ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend\".split(\" \"),function(a,b){p.fn[b]=function(a){return this.on(b,a)}}),p.each([\"get\",\"post\"],function(a,c){p[c]=function(a,d,e,f){return p.isFunction(d)&&(f=f||e,e=d,d=b),p.ajax({type:c,url:a,data:d,success:e,dataType:f})}}),p.extend({getScript:function(a,c){return p.get(a,b,c,\"script\")},getJSON:function(a,b,c){return p.get(a,b,c,\"json\")},ajaxSetup:function(a,b){return b?cB(a,p.ajaxSettings):(b=a,a=p.ajaxSettings),cB(a,b),a},ajaxSettings:{url:ck,isLocal:cn.test(cj[1]),global:!0,type:\"GET\",contentType:\"application/x-www-form-urlencoded; charset=UTF-8\",processData:!0,async:!0,accepts:{xml:\"application/xml, text/xml\",html:\"text/html\",text:\"text/plain\",json:\"application/json, text/javascript\",\"*\":cx},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:\"responseXML\",text:\"responseText\"},converters:{\"* text\":a.String,\"text html\":!0,\"text json\":p.parseJSON,\"text xml\":p.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:cz(cv),ajaxTransport:cz(cw),ajax:function(a,c){function y(a,c,f,i){var k,s,t,u,w,y=c;if(v===2)return;v=2,h&&clearTimeout(h),g=b,e=i||\"\",x.readyState=a>0?4:0,f&&(u=cC(l,x,f));if(a>=200&&a<300||a===304)l.ifModified&&(w=x.getResponseHeader(\"Last-Modified\"),w&&(p.lastModified[d]=w),w=x.getResponseHeader(\"Etag\"),w&&(p.etag[d]=w)),a===304?(y=\"notmodified\",k=!0):(k=cD(l,u),y=k.state,s=k.data,t=k.error,k=!t);else{t=y;if(!y||a)y=\"error\",a<0&&(a=0)}x.status=a,x.statusText=(c||y)+\"\",k?o.resolveWith(m,[s,y,x]):o.rejectWith(m,[x,y,t]),x.statusCode(r),r=b,j&&n.trigger(\"ajax\"+(k?\"Success\":\"Error\"),[x,l,k?s:t]),q.fireWith(m,[x,y]),j&&(n.trigger(\"ajaxComplete\",[x,l]),--p.active||p.event.trigger(\"ajaxStop\"))}typeof a==\"object\"&&(c=a,a=b),c=c||{};var d,e,f,g,h,i,j,k,l=p.ajaxSetup({},c),m=l.context||l,n=m!==l&&(m.nodeType||m instanceof p)?p(m):p.event,o=p.Deferred(),q=p.Callbacks(\"once memory\"),r=l.statusCode||{},t={},u={},v=0,w=\"canceled\",x={readyState:0,setRequestHeader:function(a,b){if(!v){var c=a.toLowerCase();a=u[c]=u[c]||a,t[a]=b}return this},getAllResponseHeaders:function(){return v===2?e:null},getResponseHeader:function(a){var c;if(v===2){if(!f){f={};while(c=cm.exec(e))f[c[1].toLowerCase()]=c[2]}c=f[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){return v||(l.mimeType=a),this},abort:function(a){return a=a||w,g&&g.abort(a),y(0,a),this}};o.promise(x),x.success=x.done,x.error=x.fail,x.complete=q.add,x.statusCode=function(a){if(a){var b;if(v<2)for(b in a)r[b]=[r[b],a[b]];else b=a[x.status],x.always(b)}return this},l.url=((a||l.url)+\"\").replace(cl,\"\").replace(cp,cj[1]+\"//\"),l.dataTypes=p.trim(l.dataType||\"*\").toLowerCase().split(s),l.crossDomain==null&&(i=ct.exec(l.url.toLowerCase())||!1,l.crossDomain=i&&i.join(\":\")+(i[3]?\"\":i[1]===\"http:\"?80:443)!==cj.join(\":\")+(cj[3]?\"\":cj[1]===\"http:\"?80:443)),l.data&&l.processData&&typeof l.data!=\"string\"&&(l.data=p.param(l.data,l.traditional)),cA(cv,l,c,x);if(v===2)return x;j=l.global,l.type=l.type.toUpperCase(),l.hasContent=!co.test(l.type),j&&p.active++===0&&p.event.trigger(\"ajaxStart\");if(!l.hasContent){l.data&&(l.url+=(cq.test(l.url)?\"&\":\"?\")+l.data,delete l.data),d=l.url;if(l.cache===!1){var z=p.now(),A=l.url.replace(cs,\"$1_=\"+z);l.url=A+(A===l.url?(cq.test(l.url)?\"&\":\"?\")+\"_=\"+z:\"\")}}(l.data&&l.hasContent&&l.contentType!==!1||c.contentType)&&x.setRequestHeader(\"Content-Type\",l.contentType),l.ifModified&&(d=d||l.url,p.lastModified[d]&&x.setRequestHeader(\"If-Modified-Since\",p.lastModified[d]),p.etag[d]&&x.setRequestHeader(\"If-None-Match\",p.etag[d])),x.setRequestHeader(\"Accept\",l.dataTypes[0]&&l.accepts[l.dataTypes[0]]?l.accepts[l.dataTypes[0]]+(l.dataTypes[0]!==\"*\"?\", \"+cx+\"; q=0.01\":\"\"):l.accepts[\"*\"]);for(k in l.headers)x.setRequestHeader(k,l.headers[k]);if(!l.beforeSend||l.beforeSend.call(m,x,l)!==!1&&v!==2){w=\"abort\";for(k in{success:1,error:1,complete:1})x[k](l[k]);g=cA(cw,l,c,x);if(!g)y(-1,\"No Transport\");else{x.readyState=1,j&&n.trigger(\"ajaxSend\",[x,l]),l.async&&l.timeout>0&&(h=setTimeout(function(){x.abort(\"timeout\")},l.timeout));try{v=1,g.send(t,y)}catch(B){if(v<2)y(-1,B);else throw B}}return x}return x.abort()},active:0,lastModified:{},etag:{}});var cE=[],cF=/\\?/,cG=/(=)\\?(?=&|$)|\\?\\?/,cH=p.now();p.ajaxSetup({jsonp:\"callback\",jsonpCallback:function(){var a=cE.pop()||p.expando+\"_\"+cH++;return this[a]=!0,a}}),p.ajaxPrefilter(\"json jsonp\",function(c,d,e){var f,g,h,i=c.data,j=c.url,k=c.jsonp!==!1,l=k&&cG.test(j),m=k&&!l&&typeof i==\"string\"&&!(c.contentType||\"\").indexOf(\"application/x-www-form-urlencoded\")&&cG.test(i);if(c.dataTypes[0]===\"jsonp\"||l||m)return f=c.jsonpCallback=p.isFunction(c.jsonpCallback)?c.jsonpCallback():c.jsonpCallback,g=a[f],l?c.url=j.replace(cG,\"$1\"+f):m?c.data=i.replace(cG,\"$1\"+f):k&&(c.url+=(cF.test(j)?\"&\":\"?\")+c.jsonp+\"=\"+f),c.converters[\"script json\"]=function(){return h||p.error(f+\" was not called\"),h[0]},c.dataTypes[0]=\"json\",a[f]=function(){h=arguments},e.always(function(){a[f]=g,c[f]&&(c.jsonpCallback=d.jsonpCallback,cE.push(f)),h&&p.isFunction(g)&&g(h[0]),h=g=b}),\"script\"}),p.ajaxSetup({accepts:{script:\"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript\"},contents:{script:/javascript|ecmascript/},converters:{\"text script\":function(a){return p.globalEval(a),a}}}),p.ajaxPrefilter(\"script\",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type=\"GET\",a.global=!1)}),p.ajaxTransport(\"script\",function(a){if(a.crossDomain){var c,d=e.head||e.getElementsByTagName(\"head\")[0]||e.documentElement;return{send:function(f,g){c=e.createElement(\"script\"),c.async=\"async\",a.scriptCharset&&(c.charset=a.scriptCharset),c.src=a.url,c.onload=c.onreadystatechange=function(a,e){if(e||!c.readyState||/loaded|complete/.test(c.readyState))c.onload=c.onreadystatechange=null,d&&c.parentNode&&d.removeChild(c),c=b,e||g(200,\"success\")},d.insertBefore(c,d.firstChild)},abort:function(){c&&c.onload(0,1)}}}});var cI,cJ=a.ActiveXObject?function(){for(var a in cI)cI[a](0,1)}:!1,cK=0;p.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&cL()||cM()}:cL,function(a){p.extend(p.support,{ajax:!!a,cors:!!a&&\"withCredentials\"in a})}(p.ajaxSettings.xhr()),p.support.ajax&&p.ajaxTransport(function(c){if(!c.crossDomain||p.support.cors){var d;return{send:function(e,f){var g,h,i=c.xhr();c.username?i.open(c.type,c.url,c.async,c.username,c.password):i.open(c.type,c.url,c.async);if(c.xhrFields)for(h in c.xhrFields)i[h]=c.xhrFields[h];c.mimeType&&i.overrideMimeType&&i.overrideMimeType(c.mimeType),!c.crossDomain&&!e[\"X-Requested-With\"]&&(e[\"X-Requested-With\"]=\"XMLHttpRequest\");try{for(h in e)i.setRequestHeader(h,e[h])}catch(j){}i.send(c.hasContent&&c.data||null),d=function(a,e){var h,j,k,l,m;try{if(d&&(e||i.readyState===4)){d=b,g&&(i.onreadystatechange=p.noop,cJ&&delete cI[g]);if(e)i.readyState!==4&&i.abort();else{h=i.status,k=i.getAllResponseHeaders(),l={},m=i.responseXML,m&&m.documentElement&&(l.xml=m);try{l.text=i.responseText}catch(a){}try{j=i.statusText}catch(n){j=\"\"}!h&&c.isLocal&&!c.crossDomain?h=l.text?200:404:h===1223&&(h=204)}}}catch(o){e||f(-1,o)}l&&f(h,j,l,k)},c.async?i.readyState===4?setTimeout(d,0):(g=++cK,cJ&&(cI||(cI={},p(a).unload(cJ)),cI[g]=d),i.onreadystatechange=d):d()},abort:function(){d&&d(0,1)}}}});var cN,cO,cP=/^(?:toggle|show|hide)$/,cQ=new RegExp(\"^(?:([-+])=|)(\"+q+\")([a-z%]*)$\",\"i\"),cR=/queueHooks$/,cS=[cY],cT={\"*\":[function(a,b){var c,d,e=this.createTween(a,b),f=cQ.exec(b),g=e.cur(),h=+g||0,i=1,j=20;if(f){c=+f[2],d=f[3]||(p.cssNumber[a]?\"\":\"px\");if(d!==\"px\"&&h){h=p.css(e.elem,a,!0)||c||1;do i=i||\".5\",h=h/i,p.style(e.elem,a,h+d);while(i!==(i=e.cur()/g)&&i!==1&&--j)}e.unit=d,e.start=h,e.end=f[1]?h+(f[1]+1)*c:c}return e}]};p.Animation=p.extend(cW,{tweener:function(a,b){p.isFunction(a)?(b=a,a=[\"*\"]):a=a.split(\" \");var c,d=0,e=a.length;for(;d<e;d++)c=a[d],cT[c]=cT[c]||[],cT[c].unshift(b)},prefilter:function(a,b){b?cS.unshift(a):cS.push(a)}}),p.Tween=cZ,cZ.prototype={constructor:cZ,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||\"swing\",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(p.cssNumber[c]?\"\":\"px\")},cur:function(){var a=cZ.propHooks[this.prop];return a&&a.get?a.get(this):cZ.propHooks._default.get(this)},run:function(a){var b,c=cZ.propHooks[this.prop];return this.options.duration?this.pos=b=p.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):cZ.propHooks._default.set(this),this}},cZ.prototype.init.prototype=cZ.prototype,cZ.propHooks={_default:{get:function(a){var b;return a.elem[a.prop]==null||!!a.elem.style&&a.elem.style[a.prop]!=null?(b=p.css(a.elem,a.prop,!1,\"\"),!b||b===\"auto\"?0:b):a.elem[a.prop]},set:function(a){p.fx.step[a.prop]?p.fx.step[a.prop](a):a.elem.style&&(a.elem.style[p.cssProps[a.prop]]!=null||p.cssHooks[a.prop])?p.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},cZ.propHooks.scrollTop=cZ.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},p.each([\"toggle\",\"show\",\"hide\"],function(a,b){var c=p.fn[b];p.fn[b]=function(d,e,f){return d==null||typeof d==\"boolean\"||!a&&p.isFunction(d)&&p.isFunction(e)?c.apply(this,arguments):this.animate(c$(b,!0),d,e,f)}}),p.fn.extend({fadeTo:function(a,b,c,d){return this.filter(bZ).css(\"opacity\",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=p.isEmptyObject(a),f=p.speed(b,c,d),g=function(){var b=cW(this,p.extend({},a),f);e&&b.stop(!0)};return e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,c,d){var e=function(a){var b=a.stop;delete a.stop,b(d)};return typeof a!=\"string\"&&(d=c,c=a,a=b),c&&a!==!1&&this.queue(a||\"fx\",[]),this.each(function(){var b=!0,c=a!=null&&a+\"queueHooks\",f=p.timers,g=p._data(this);if(c)g[c]&&g[c].stop&&e(g[c]);else for(c in g)g[c]&&g[c].stop&&cR.test(c)&&e(g[c]);for(c=f.length;c--;)f[c].elem===this&&(a==null||f[c].queue===a)&&(f[c].anim.stop(d),b=!1,f.splice(c,1));(b||!d)&&p.dequeue(this,a)})}}),p.each({slideDown:c$(\"show\"),slideUp:c$(\"hide\"),slideToggle:c$(\"toggle\"),fadeIn:{opacity:\"show\"},fadeOut:{opacity:\"hide\"},fadeToggle:{opacity:\"toggle\"}},function(a,b){p.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),p.speed=function(a,b,c){var d=a&&typeof a==\"object\"?p.extend({},a):{complete:c||!c&&b||p.isFunction(a)&&a,duration:a,easing:c&&b||b&&!p.isFunction(b)&&b};d.duration=p.fx.off?0:typeof d.duration==\"number\"?d.duration:d.duration in p.fx.speeds?p.fx.speeds[d.duration]:p.fx.speeds._default;if(d.queue==null||d.queue===!0)d.queue=\"fx\";return d.old=d.complete,d.complete=function(){p.isFunction(d.old)&&d.old.call(this),d.queue&&p.dequeue(this,d.queue)},d},p.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},p.timers=[],p.fx=cZ.prototype.init,p.fx.tick=function(){var a,b=p.timers,c=0;for(;c<b.length;c++)a=b[c],!a()&&b[c]===a&&b.splice(c--,1);b.length||p.fx.stop()},p.fx.timer=function(a){a()&&p.timers.push(a)&&!cO&&(cO=setInterval(p.fx.tick,p.fx.interval))},p.fx.interval=13,p.fx.stop=function(){clearInterval(cO),cO=null},p.fx.speeds={slow:600,fast:200,_default:400},p.fx.step={},p.expr&&p.expr.filters&&(p.expr.filters.animated=function(a){return p.grep(p.timers,function(b){return a===b.elem}).length});var c_=/^(?:body|html)$/i;p.fn.offset=function(a){if(arguments.length)return a===b?this:this.each(function(b){p.offset.setOffset(this,a,b)});var c,d,e,f,g,h,i,j={top:0,left:0},k=this[0],l=k&&k.ownerDocument;if(!l)return;return(d=l.body)===k?p.offset.bodyOffset(k):(c=l.documentElement,p.contains(c,k)?(typeof k.getBoundingClientRect!=\"undefined\"&&(j=k.getBoundingClientRect()),e=da(l),f=c.clientTop||d.clientTop||0,g=c.clientLeft||d.clientLeft||0,h=e.pageYOffset||c.scrollTop,i=e.pageXOffset||c.scrollLeft,{top:j.top+h-f,left:j.left+i-g}):j)},p.offset={bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;return p.support.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(p.css(a,\"marginTop\"))||0,c+=parseFloat(p.css(a,\"marginLeft\"))||0),{top:b,left:c}},setOffset:function(a,b,c){var d=p.css(a,\"position\");d===\"static\"&&(a.style.position=\"relative\");var e=p(a),f=e.offset(),g=p.css(a,\"top\"),h=p.css(a,\"left\"),i=(d===\"absolute\"||d===\"fixed\")&&p.inArray(\"auto\",[g,h])>-1,j={},k={},l,m;i?(k=e.position(),l=k.top,m=k.left):(l=parseFloat(g)||0,m=parseFloat(h)||0),p.isFunction(b)&&(b=b.call(a,c,f)),b.top!=null&&(j.top=b.top-f.top+l),b.left!=null&&(j.left=b.left-f.left+m),\"using\"in b?b.using.call(a,j):e.css(j)}},p.fn.extend({position:function(){if(!this[0])return;var a=this[0],b=this.offsetParent(),c=this.offset(),d=c_.test(b[0].nodeName)?{top:0,left:0}:b.offset();return c.top-=parseFloat(p.css(a,\"marginTop\"))||0,c.left-=parseFloat(p.css(a,\"marginLeft\"))||0,d.top+=parseFloat(p.css(b[0],\"borderTopWidth\"))||0,d.left+=parseFloat(p.css(b[0],\"borderLeftWidth\"))||0,{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||e.body;while(a&&!c_.test(a.nodeName)&&p.css(a,\"position\")===\"static\")a=a.offsetParent;return a||e.body})}}),p.each({scrollLeft:\"pageXOffset\",scrollTop:\"pageYOffset\"},function(a,c){var d=/Y/.test(c);p.fn[a]=function(e){return p.access(this,function(a,e,f){var g=da(a);if(f===b)return g?c in g?g[c]:g.document.documentElement[e]:a[e];g?g.scrollTo(d?p(g).scrollLeft():f,d?f:p(g).scrollTop()):a[e]=f},a,e,arguments.length,null)}}),p.each({Height:\"height\",Width:\"width\"},function(a,c){p.each({padding:\"inner\"+a,content:c,\"\":\"outer\"+a},function(d,e){p.fn[e]=function(e,f){var g=arguments.length&&(d||typeof e!=\"boolean\"),h=d||(e===!0||f===!0?\"margin\":\"border\");return p.access(this,function(c,d,e){var f;return p.isWindow(c)?c.document.documentElement[\"client\"+a]:c.nodeType===9?(f=c.documentElement,Math.max(c.body[\"scroll\"+a],f[\"scroll\"+a],c.body[\"offset\"+a],f[\"offset\"+a],f[\"client\"+a])):e===b?p.css(c,d,e,h):p.style(c,d,e,h)},c,g?e:b,g,null)}})}),a.jQuery=a.$=p,typeof define==\"function\"&&define.amd&&define.amd.jQuery&&define(\"jquery\",[],function(){return p})})(window);","/**\r\n* Module Template Used To Create Module, Dependency Inject Will Support Soon\r\n*/\r\n(function (dMgr) {\r\n    var jSWUtils = dMgr.GetModule(\"jSWUtils\");\r\n    var jSWProtocol = dMgr.GetModule(\"jSWProtocol\");\r\n    var jSWOptions = dMgr.GetModule(\"jSWOptions\");\r\n\r\n    // ---- 通信协议jSWProtocol ----\r\n    (function (jSWProtocol) {\r\n\r\n        jSWProtocol.GetWsUrl = function(){\r\n            var protocolWs = window.location.protocol == \"https:\" ? \"wss\" : \"ws\";\r\n            var desurl = \"\";\r\n            if (jSWOptions.CheckHttp()) {\r\n                desurl = protocolWs + \"://\" + jSWOptions.ip + \":\" + jSWOptions.port + \"/jswapi\";\r\n            } else if (jSWOptions.CheckOcx()) {\r\n                if (jSWOptions.ocxWebsocketPort <= 0) {\r\n                    // 尝试使用ocx获取websocket端口号(有可能注册的ocx事件未被调用)\r\n                    try {\r\n                        var jsw_ocx = document.getElementById('jsw_ocx');\r\n                        if (jsw_ocx != null) {\r\n                            jSWOptions.ocxWebsocketPort = jsw_ocx.oxGetWebSocketPort();\r\n                        } else {\r\n                            console.error('not found jsw_ocx');\r\n                        }\r\n                    } catch (e) {\r\n                        console.error('oxGetWebSocketPort fail ' + e);\r\n                    }\r\n                }\r\n\r\n                if (jSWOptions.ocxWebsocketPort <= 0) {\r\n                    this._onWsError(options, 'ocx not init or init fail');\r\n                    return;\r\n                }\r\n\r\n                desurl = 'ws://127.0.0.1:' + jSWOptions.ocxWebsocketPort;\r\n                if (jSWUtils._mMgr.bWsTest()) {\r\n                    desurl = 'ws://127.0.0.1:8888';\r\n                }\r\n            }\r\n\r\n            console.log('ws url: ' + desurl);\r\n            return desurl;\r\n        }\r\n\r\n        jSWProtocol.AutoReqSendProxy = function (session, options, dft_opts, pGA) {\r\n            if (!dft_opts) { dft_opts = {}; }\r\n            var rc = jSW.RcCode.RC_CODE_E_FAIL;\r\n            options = jSWUtils.extend({}, dft_opts, options || {});\r\n            var dft_args = {\r\n                session: session,\r\n                msgtype: -1,\r\n                target: \"\",\r\n                targetIndex: -1,\r\n                payload: null,\r\n                cmd: \"\",\r\n                callback: options.callback ? options.callback : null,\r\n                tag: options.tag ? options.tag : null\r\n            };\r\n            var des_args = pGA(options);\r\n            des_args = jSWUtils.extend({}, dft_args, des_args || {});\r\n            rc = jSWProtocol.SendRequest(des_args);\r\n            return rc;\r\n        }\r\n\r\n\r\n        jSWProtocol.JudgeIdType = function (id) {\r\n            var judgeResult = {\r\n                bPu: false,\r\n                bCu: false,\r\n                bUa: false,\r\n                bUx: false\r\n            };\r\n\r\n            if (id.indexOf(\"PU_\") == 0) {\r\n                judgeResult.bPu = true;\r\n            } else if (id.indexOf(\"CU_\") == 0) {\r\n                judgeResult.bCu = true;\r\n            } else if (id.indexOf(\"UA_\") == 0) {\r\n                judgeResult.bUa = true;\r\n            } else if (id.indexOf(\"UX_\") == 0) {\r\n                judgeResult.bUx = true;\r\n            }\r\n            return judgeResult;\r\n        }\r\n\r\n        jSWProtocol.BuildEventOptions = function (cmd, request, session, tag) {\r\n            var eventOptions = {\r\n                cmd: cmd,\r\n                request: request,\r\n                session: session,\r\n                tag: tag\r\n            };\r\n            return eventOptions;\r\n        }\r\n\r\n        jSWProtocol.BuildResponse = function (iResult, request) {\r\n            var response = {\r\n                emms: {\r\n                    code: iResult\r\n                },\r\n                request: request\r\n            };\r\n            return response;\r\n        }\r\n\r\n        /**通道类型*/\r\n        jSWProtocol.ChanelType = {\r\n            unknow: 'type_unknow',\r\n            chanel: 'type_chanel',\r\n            gps: 'type_gps',\r\n            tsp: 'type_tsp',\r\n            custom: 'type_custom',\r\n\r\n            getType: function (major) {\r\n                //DialogTarget.iIndexMajor取值范围与通道类型\r\n                var BVCU_SUBDEV_INDEXMAJOR_MIN_CHANNEL = 0;  //音视频通道\r\n                var BVCU_SUBDEV_INDEXMAJOR_MAX_CHANNEL = 0x00FFFF;\r\n                var BVCU_SUBDEV_INDEXMAJOR_MIN_GPS = 0x010000; //GPS设备数据\r\n                var BVCU_SUBDEV_INDEXMAJOR_MAX_GPS = 0x0100FF;\r\n                var BVCU_SUBDEV_INDEXMAJOR_MIN_TSP = 0x010100;//透明串口设备数据\r\n                var BVCU_SUBDEV_INDEXMAJOR_MAX_TSP = 0x0101FF;\r\n                var BVCU_SUBDEV_INDEXMAJOR_MIN_CUSTOM = 0xF00000;//自定义设备数据\r\n                var BVCU_SUBDEV_INDEXMAJOR_MAX_CUSTOM = 0xF000FF;\r\n\r\n                if (major >= BVCU_SUBDEV_INDEXMAJOR_MIN_CHANNEL &&\r\n                    major <= BVCU_SUBDEV_INDEXMAJOR_MAX_CHANNEL) {\r\n                    return jSWProtocol.ChanelType.chanel;\r\n                } else if (major >= BVCU_SUBDEV_INDEXMAJOR_MIN_GPS &&\r\n                    major <= BVCU_SUBDEV_INDEXMAJOR_MAX_GPS) {\r\n                    return jSWProtocol.ChanelType.gps;\r\n                } else if (major >= BVCU_SUBDEV_INDEXMAJOR_MIN_TSP &&\r\n                    major <= BVCU_SUBDEV_INDEXMAJOR_MAX_TSP) {\r\n                    return jSWProtocol.ChanelType.tsp;\r\n                }\r\n                else if (major >= BVCU_SUBDEV_INDEXMAJOR_MIN_CUSTOM &&\r\n                    major <= BVCU_SUBDEV_INDEXMAJOR_MAX_CUSTOM) {\r\n                    return jSWProtocol.ChanelType.custom;\r\n                } else {\r\n                    return jSWProtocol.ChanelType.unknow;\r\n                }\r\n            },\r\n        };\r\n\r\n        /**请求命令*/\r\n        jSWProtocol.RequestHeader = {\r\n            notifys: {\r\n                notify: { cmd: 'notify' },\r\n                notify_pu_onoffline: { cmd: 'notify_pu_onoffline' },\r\n                notify_event_source: { cmd: 'notify_event_source' },\r\n                notify_tsp_data: { cmd: 'notify_tsp_data' },\r\n                notify_down_from_pu: { cmd: 'notify_down_from_pu' },\r\n                notify_pu_apply_for_opening_dialog: { cmd: 'notify_pu_apply_for_opening_dialog' },\r\n                notifyimmsg: { cmd: 'notifyimmsg' },\r\n                notify_down_from_nru: {cmd: 'notify_down_from_nru'},\r\n                notify_pu_record_status: {cmd: 'notify_pu_record_status'}\r\n            },\r\n            confnotify: {\r\n                notifyconfcreate: { cmd: 'notifyconfcreate' },\r\n                notifyconfstart: { cmd: 'notifyconfstart' },\r\n                notifyconfdelete: { cmd: 'notifyconfdelete' },\r\n                notifyconfstop: { cmd: 'notifyconfstop' },\r\n                notifyparticipartoradd: { cmd: 'notifyparticipartoradd' },\r\n                notifyparticipartorjoin: { cmd: 'notifyparticipartorjoin' },\r\n                notifyparticipartorremove: { cmd: 'notifyparticipartorremove' },\r\n                notifyparticipartorexit: { cmd: 'notifyparticipartorexit' },\r\n                notifyapplyforstartspeak: { cmd: 'notifyapplyforstartspeak' },\r\n                notifyapplyforendspeak: { cmd: 'notifyapplyforendspeak' },\r\n                notifyinvitespeak: { cmd: 'notifyinvitespeak' },\r\n                notifyterminatespeak: { cmd: 'notifyterminatespeak' },\r\n                notifyparticipartorleave: { cmd: 'notifyparticipartorleave' },\r\n                notifyparticipartorreturn: { cmd: 'notifyparticipartorreturn' },\r\n                notifyparticipatormodify: { cmd: 'notifyparticipatormodify' },\r\n                notifyimmsg: { cmd: 'notifyimmsg' },\r\n                notifyaacoperate: { cmd: 'notifyaacoperate' },\r\n                notifybaseinfo: { cmd: 'notifybaseinfo' }\r\n            },\r\n            lossconnection: {cmd: \"lossconnection\"},\r\n            pubkey: { cmd: 'pubkey' },\r\n            login: { cmd: 'login' },\r\n            logout: { cmd: 'logout' },\r\n            keeplive: { cmd: 'keeplive' },\r\n            pulist: { cmd: 'pulist' },\r\n            openchanle: { cmd: 'openchanle' },\r\n            altervideodir: { cmd: 'altervideodir' },\r\n            keeplivechanle: { cmd: 'keeplivechanle' },\r\n            openchanletsp: { cmd: 'openchanletsp' },\r\n            writechanletsp: { cmd: 'writechanletsp' },\r\n            closechanle: { cmd: 'closechanle' },\r\n            pugpsdata: { cmd: 'pugpsdata' },\r\n            searchlist: { cmd: 'searchlist' },\r\n            recordfile_del: { cmd: 'recordfile_del' },\r\n            vod: { cmd: 'vod' },\r\n            snapshot: { cmd: 'snapshot' },\r\n            getptzattr: { cmd: 'getptzattr' },\r\n            setptzattr: { cmd: 'setptzattr' },\r\n            ptzctrl: { cmd: 'ptzctrl' },\r\n            getconflist: { cmd: 'getconflist' },\r\n            getconfinfo: { cmd: 'getconfinfo' },\r\n            confaudiorecord: { cmd: 'confaudiorecord' },\r\n            confimsend: { cmd: 'confimsend' },\r\n            getonuserlist: { cmd: 'getonuserlist' },\r\n            createconf: { cmd: 'createconf' },\r\n            deleteconf: { cmd: 'deleteconf' },\r\n            particularadd: { cmd: 'particularadd' },\r\n            particularremove: { cmd: 'particularremove' },\r\n            applyforspeak: { cmd: 'applyforspeak' },\r\n            applyforendspeak: { cmd: 'applyforendspeak' },\r\n            confstart: { cmd: 'confstart' },\r\n            confend: { cmd: 'confend' },\r\n            invitespeak: { cmd: 'invitespeak' },\r\n            terminalspeak: { cmd: 'terminalspeak' },\r\n            confleave: { cmd: 'confleave' },\r\n            confreturn: { cmd: 'confreturn' },\r\n            pucfg: {\r\n                getpudeviceinfo: { cmd: \"getpudeviceinfo\" },\r\n                getpuethernet: { cmd: \"getpuethernet\" },\r\n                getpuradionetwork: { cmd: \"getpuradionetwork\" },\r\n                getpuwifi: { cmd: \"getpuwifi\" },\r\n                getPuPower: { cmd: \"getPuPower\" },\r\n                getPuOnlineControl: { cmd: \"getPuOnlineControl\" },\r\n                getPuUpdateStatus: { cmd: \"getPuUpdateStatus\" },\r\n                getPuLinkactionList: { cmd: \"getPuLinkactionList\" },\r\n                getPuCarInfo: { cmd: \"getPuCarInfo\" },\r\n                getPuZfyInfo: { cmd: \"getPuZfyInfo\" },\r\n                setPuZfyInfo: { cmd: \"setPuZfyInfo\" },\r\n                getPuServers: { cmd: \"getPuServers\" }\r\n            },\r\n\r\n            usercfg: {\r\n                modgroupinfo: { cmd: \"modgroupinfo\" },\r\n                moduserinfo: { cmd: \"moduserinfo\" },\r\n                moduserpwd: { cmd: \"moduserpwd\" },\r\n                addgroup: { cmd: \"addgroup\" },\r\n                adduser: { cmd: \"adduser\" },\r\n                delgroup: { cmd: \"delgroup\" },\r\n                deluser: { cmd: \"deluser\" },\r\n                getgrouplist: { cmd: \"getgrouplist\" }\r\n            },\r\n\r\n            recordplay: {\r\n                play: { cmd: 'recordplay_play' },\r\n                pause: { cmd: 'recordplay_pause' },\r\n                teardown: { cmd: 'recordplay_teardown' }\r\n            },\r\n\r\n            compare: function (src, des) {\r\n                if (src.req == des.req && src.subreq == des.subreq)\r\n                    return true;\r\n                else\r\n                    return false;\r\n            }\r\n        };\r\n\r\n        /**打开视频使用的协议*/\r\n        jSWProtocol.ProtoType = {\r\n            HLS: 1,\r\n            RTMP: 2,\r\n            OCX: 4,\r\n            HTTP_FLV: 6,\r\n            OTHER: 5, /*串口等*/\r\n        };\r\n\r\n        jSWProtocol.RotateType = {\r\n            RIGHT90: 90,\r\n            LEFT90: -90\r\n        };\r\n        /**\r\n         * dft_options = {\r\n         *     session: null,\r\n         *     msgtype: -1,\r\n         *     target: \"\",\r\n         *     targetIndex: -1,\r\n         *     payload: null,\r\n         *     cmd: \"\",\r\n         *     callback: null,\r\n         *     tag: null\r\n         * }\r\n         */\r\n        jSWProtocol.SendRequest = function (options) {\r\n\r\n            dft_options = {\r\n                session: null,\r\n                msgtype: -1,\r\n                target: \"\",\r\n                targetIndex: -1,\r\n                payload: null,\r\n                cmd: \"\",\r\n                hdlg: -1,\r\n                callback: null,\r\n                callbackrelay: null,\r\n                tag: null,\r\n                _dhcb: null,\r\n                _dhcbtag: null\r\n            }\r\n\r\n            options = jSWUtils.extend({}, dft_options, options || {});\r\n\r\n            var param = this.JsonParamCommand(options.session._p_emms,\r\n                options.msgtype,\r\n                jSWProtocol.BVCU_Command(options.target, options.targetIndex, options.payload, options.hdlg));\r\n\r\n            var attchdata = null;\r\n\r\n            if (options.callbackrelay != null) {\r\n                attchdata = {\r\n                    callback: options.callbackrelay,\r\n                    options: {\r\n                        tag: options.tag\r\n                    },\r\n                    _dhcbtag: options._dhcbtag\r\n                };\r\n            }\r\n            var rc = jSWProtocol._internalSend({\r\n                cmd: options.cmd,\r\n                session: options.session,\r\n                request: param,\r\n                callback: options.callback,\r\n                attchdata: attchdata,\r\n                tag: options.tag\r\n            });\r\n\r\n            return rc;\r\n        }\r\n\r\n        /**控制协议, 为用户登录、鉴权提供支持,其数据的输入输出都在EmmsHeader中。*/\r\n        jSWProtocol.EmmsHeader = function (appkey, version) {\r\n            this.key = appkey;/**GUID\t分配给应用用于访问APIçš„Key,请求消息中必需。\tM/O*/\r\n            this.ver = version;/**[1-9][0-9]?\\.[0-9]\tAPI协议版本,请求消息中¬必需。当前版本1.0.\tM/O*/\r\n            this.session = '';/**GUID\t会话ID,请求用户特定信息必需。\tM/O*/\r\n            this.id = 0; /**命令唯一ID*/\r\n            this.code = 0;/**int\t错误编码,响应消息中必需。\tM/O*/\r\n        }\r\n\r\n        jSWProtocol.GetPuLanguageByIndex = function (iLanguageIndex) {\r\n            if (iLanguageIndex == 0)\r\n                return \"INVALID\";\r\n            else if (iLanguageIndex == 1) {\r\n                return 'ENGLISH';\r\n            }\r\n            else if (iLanguageIndex == 2) {\r\n                return 'CHINESE_SIMPLIFIED';\r\n            }\r\n            else if (iLanguageIndex == 3) {\r\n                return 'CHINESE_TRADITIONAL';\r\n            }\r\n        };\r\n\r\n        jSWProtocol.BVCU_ServerParam = function (serverIP, serverPort, userName, password) {\r\n            this.server = serverIP;\r\n            this.port = serverPort;\r\n            this.user = userName;\r\n            this.password = password;\r\n        }\r\n\r\n        /**jSWProtocol.ProtoType*/\r\n        jSWProtocol.BVCU_DialogParam = function (pId, pMajor, pMinor, pProto, pMedia, pHwnd, hDlg, bOverTcp) {\r\n            var param = new proto.WEBBVCU.BVCU_DialogParam();\r\n            param.setId(pId);\r\n            param.setMajor(pMajor);\r\n            param.setMinor(pMinor);\r\n            param.setProto(pProto);\r\n            param.setMedia(pMedia);\r\n            param.setHdlg(hDlg);\r\n            if (bOverTcp) {\r\n                param.setBovertcp(1);\r\n            }\r\n            if (pHwnd != \"undefined\") {\r\n                param.setHwnd(pHwnd);\r\n            }\r\n            return param;\r\n        }\r\n\r\n        jSWProtocol.BVCU_Command = function (pTargetId, pTargetIndex, pContent, hdlg) {\r\n            var request = new proto.WEBBVCU.Request();\r\n            request.setTargetid(pTargetId);\r\n            request.setTargetindex(pTargetIndex);\r\n            request.setHdlg(hdlg);\r\n            if (null != pContent) {\r\n                try {\r\n                    request.setPayload(pContent.serializeBinary().buffer);\r\n                }\r\n                catch (e) {\r\n                    request.setPayload(jSWUtils.string2Uint8Array(pContent));\r\n                }\r\n            }\r\n            return request;\r\n        };\r\n\r\n        jSWProtocol.ParamPuList = function (pStatus, pPagesize, pPage, iIndex, iCount) {\r\n            var getpulist = new proto.WEBBVCU.BVCU_GetPulist();\r\n\r\n            getpulist.setStatus(pStatus);\r\n            getpulist.setPagesize(pPagesize);\r\n            getpulist.setPage(pPage);\r\n            getpulist.setIndex(iIndex);\r\n            getpulist.setIcount(iCount);\r\n\r\n            return getpulist;\r\n        }\r\n\r\n        jSWProtocol.BVCU_SearchInfo = function (piType, piPostition, piCount) {\r\n            this.iType = piType;\r\n            this.iPostition = piPostition;\r\n            this.iCount = piCount;\r\n            this.iTotalCount = -1;\r\n        }\r\n\r\n        jSWProtocol.SearchType = {\r\n            UNKNOWN: 0,\r\n            FILE: 1,  // 文件\r\n            CU_LOGIN: 2,\r\n            PU_LOGIN: 3,\r\n            OPERATE: 4,\r\n            DIALOG: 5,\r\n            PULIST: 6,\r\n            EVENT: 7,\r\n            USERLIST: 8,\r\n            IM_MSG : 9,\r\n            UALIST: 10\r\n        };\r\n\r\n        jSWProtocol.BVCU_Search_FileFilter = function (pszPUID, piChannelIndex, piTimeBegin, piTimeEnd, piFileType,\r\n            piRecordType, piFileSizeMin, piFileSizeMax) {\r\n            this.szPUID = pszPUID;\r\n            this.iChannelIndex = piChannelIndex;\r\n            this.iTimeBegin = piTimeBegin;\r\n            this.iTimeEnd = piTimeEnd;\r\n            this.iFileType = piFileType;\r\n\r\n            this.iRecordType = piRecordType;\r\n            this.iFileSizeMin = piFileSizeMin;\r\n            this.iFileSizeMax = piFileSizeMax;\r\n        }\r\n\r\n        jSWProtocol.CheckOptions = function (msgtype, srcoptions) {\r\n            var def_options = null;\r\n            var argsErrorDes = null;\r\n            var createErrorfun = function (MSGType, errDes, desErr) {\r\n                desErr += msgtype + errDes;\r\n            }\r\n\r\n            switch (msgtype) {\r\n                case proto.WEBBVCU.MSGType.WEB_BVCU_CONF_IM_MSG:\r\n                    if (undefined == srcoptions.szTextMsg || null == srcoptions.szTextMsg) {\r\n                        createErrorfun(msgtype, \"szTextMsg: set error!\", argsErrorDes);\r\n                    }\r\n                    if (undefined == srcoptions.callback || null == srcoptions.callback) {\r\n                        createErrorfun(msgtype, \"callback: set error!\", argsErrorDes);\r\n                    }\r\n                    break;\r\n                case proto.WEBBVCU.MSGType.WEB_BVCU_SET_PU_REBOOT_OR_SHUTDOWN:\r\n                    if (undefined == srcoptions.ioption || null == srcoptions.ioption || srcoptions.ioption != 0 || srcoptions.ioption != 1) {\r\n                        createErrorfun(msgtype, \"ioption: set error!\", argsErrorDes);\r\n                    }\r\n                    if (undefined == srcoptions.callback || null == srcoptions.callback) {\r\n                        createErrorfun(msgtype, \"callback: set error!\", argsErrorDes);\r\n                    }\r\n                    break;\r\n            }\r\n\r\n            if (argsErrorDes == null) {\r\n                return jSW.RcCode.RC_CODE_S_OK;\r\n            } else {\r\n                console.log(argsErrorDes);\r\n                return jSW.RcCode.RC_CODE_E_INVALIDARG;\r\n            }\r\n        }\r\n\r\n        jSWProtocol.uint8ArrayToHexArray = function (uint8array) {\r\n            var szHexTemp = [];\r\n            var temphex = \"\";\r\n            for (var iindex = 0; iindex < uint8array.length; iindex += 2) {\r\n                temphex = \"\";\r\n                temphex += String.fromCharCode(uint8array[iindex]);\r\n                temphex += String.fromCharCode(uint8array[iindex + 1]);\r\n                szHexTemp.push(temphex);\r\n            }\r\n            return szHexTemp;\r\n        }\r\n\r\n        jSWProtocol.uint8ArrayToHex = function (uint8array) {\r\n            var sSzHex = \"\";\r\n            var iTemp = 0;\r\n            for (var iIndex = 0; iIndex < uint8array.length; iIndex++) {\r\n                sSzHex += (uint8array[iIndex] >> 4).toString(16);\r\n                sSzHex += (uint8array[iIndex] & 0x0f).toString(16);\r\n            }\r\n            return sSzHex;\r\n        }\r\n\r\n        jSWProtocol.HexToString = function (uint8array) {\r\n            return String.fromCharCode.apply(null, uint8array);\r\n        }\r\n\r\n        jSWProtocol.LargeHexToString = function (arr) {\r\n            var out = \"\";\r\n            for (var i = 0; i < arr.length / 2; i++) {\r\n                var tmp = [arr[i * 2], arr[i * 2 + 1]];\r\n                var charValue = String.fromCharCode.apply(null, tmp);\r\n                out += charValue\r\n            }\r\n            return out;\r\n        }\r\n\r\n        jSWProtocol.EventSourcePb2_Json = function (eventSourcePb) {\r\n            eventSourcePb = proto.BVCU.Event_Source.deserializeBinary(eventSourcePb);\r\n            var szTargetId = eventSourcePb.getSzid();\r\n\r\n            while(szTargetId.indexOf(\"PU_0\") == 0){\r\n                szTargetId = szTargetId.replace(\"PU_0\", \"PU_\");\r\n            }\r\n\r\n            var eventSourceJson = {\r\n                iEventType: eventSourcePb.getIeventtype(),\r\n                stTime: this.Walltime2Json(eventSourcePb.getSttime().toObject()),\r\n                szID: szTargetId,\r\n                iSubDevIdx: eventSourcePb.getIsubdevidx(),\r\n                iValue: eventSourcePb.getIvalue()\r\n            };\r\n            return eventSourceJson;\r\n        }\r\n\r\n        jSWProtocol.ParseFileTranInfo = function(transInfoPb){\r\n            var data = {\r\n                sEvent: null,\r\n                sProgressInfo: null\r\n            };\r\n\r\n            data.sEvent = jSWProtocol.SWFileTransEventPb2_Json(transInfoPb);\r\n                if (jSW.FileTransEvent.FILE_TRANS_PROCESS == data.sEvent.iEvent) {\r\n                    data.sProgressInfo = jSWProtocol.SWFileTransInfoPb2_Json(transInfoPb);\r\n            }\r\n            return data;\r\n        }\r\n\r\n        jSWProtocol.SWFileTransInfoPb2_Json = function (transInfoPb) {\r\n            transInfoPb = proto.WEBBVCU.FileTransInfo.deserializeBinary(transInfoPb);\r\n            var transInfo = {\r\n                iCreateTime: transInfoPb.getIcreatetime(),\r\n                iOnlineTime: transInfoPb.getIonlinetime(),\r\n                iTransferBytes: transInfoPb.getItransferbytes(),\r\n                iTotalBytes: transInfoPb.getItotalbytes(),\r\n                iSpeedKBpsLongTerm: transInfoPb.getIspeedkbpslongterm(),\r\n                iSpeedKBpsShortTerm: transInfoPb.getIspeedkbpsshortterm(),\r\n            };\r\n            return transInfo;\r\n        }\r\n        jSWProtocol.SWFileTransEventPb2_Json = function (transInfoPb) {\r\n            transInfoPb = proto.WEBBVCU.FileTransInfo.deserializeBinary(transInfoPb);\r\n            var downloadPath = transInfoPb.getDownfilefrompu();\r\n            var szbase64 = downloadPath && downloadPath[\"getImgbase64\"] ? downloadPath.getImgbase64() : \"\";\r\n            var event = {\r\n                iEvent: transInfoPb.getIevent(),\r\n                iResult: transInfoPb.getIresult(),\r\n                szRemoteFilePath: downloadPath ? downloadPath.getSzremotefilepathname(): \"\",\r\n                szLocalFilePath: downloadPath ? downloadPath.getSzlocalfilepathname(): \"\",\r\n                imgbase64: szbase64.length > 0 ? this.LargeHexToString(downloadPath.getImgbase64()) : \"\",\r\n                nruid: transInfoPb.getSznruid()\r\n            }\r\n            return event;\r\n        }\r\n\r\n        jSWProtocol.SWOpenDialogPb2_Json = function (openDialog) {\r\n            openDialog = proto.BVCU.PUConfig.OpenDialog.deserializeBinary(openDialog);\r\n            var desdata = {\r\n                szID: openDialog.getSzid(),\r\n                iChannelIndex: openDialog.getIchannelindex(),\r\n                iStreamIndex: openDialog.getIstreamindex(),\r\n                iAVStreamDir: openDialog.getIavstreamdir(),\r\n                bRecord: openDialog.getBrecord(),\r\n                iApplierID: openDialog.getIapplierid()\r\n            };\r\n            return desdata;\r\n        }\r\n\r\n        jSWProtocol.IMFilePb2json = function (imfilepb) {\r\n            var imfile = {\r\n                szID: imfilepb.getSzid(),\r\n                szFile: imfilepb.getSzfilepath(),\r\n                iFileSize: imfilepb.getIfilesize(),\r\n                iDuration: imfilepb.getIduration()\r\n            }\r\n            return imfile;\r\n        }\r\n\r\n        jSWProtocol.IMMsgPb2_Json = function (szmsgdata) {\r\n            var szmsgs = [];\r\n            szmsgdata = szmsgdata.getSzmsgsList();\r\n            var szmsgdataitem = null;\r\n            var tempmsgdata;\r\n            var imsgtype = 0;\r\n            for (var ii = 0; ii < szmsgdata.length; ii++) {\r\n                szmsgdataitem = szmsgdata[ii];\r\n                imsgtype = szmsgdataitem.getItype();\r\n                tempmsgdata = {\r\n                    iType: imsgtype,\r\n                    szTextMsg: (imsgtype == this.IMMSGTypes.TEXT || imsgtype == this.IMMSGTypes.FACE) ? szmsgdataitem.getSztextmsg() : null,\r\n                    stGpsData: imsgtype == this.IMMSGTypes.GPS ? this.GPSDatapb2Json(szmsgdataitem.getStgpsdata()) : null,\r\n                    stFile: (imsgtype == this.IMMSGTypes.FILE || imsgtype == this.IMMSGTypes.PICTURE || imsgtype == this.IMMSGTypes.AUDIO || imsgtype == this.IMMSGTypes.CONF_AUDIO) ? this.IMFilePb2json(szmsgdataitem.getStfile()) : null\r\n                };\r\n\r\n                if (imsgtype == this.IMMSGTypes.FACE) {\r\n                    var ImEmtion = jSW.DependencyMgr.GetEmotionSync();\r\n                    tempmsgdata.szTextMsg = ImEmtion.GetGifEmotion(tempmsgdata.szTextMsg);\r\n                    console.log(tempmsgdata.szTextMsg);\r\n                }\r\n                szmsgs.push(tempmsgdata);\r\n            }\r\n            return szmsgs;\r\n        }\r\n\r\n        jSWProtocol.AUDIO_OP_CODES = {\r\n            CAPTURE_BEGIN: 0,\r\n            CAPTURE_END: 1,\r\n            RENDER_BEGIN: 2,\r\n            RENDER_END: 3,\r\n            RENDER_NOTIFY: 4\r\n        };\r\n\r\n        jSWProtocol.AUDIO_OP_PLAYSTATUS = {\r\n            PLAY_EVENT_PLAY: 1,\r\n            PLAY_EVENT_CLOSE: 2,\r\n            PLAY_EVENT_EOF: 3\r\n        };\r\n\r\n        jSWProtocol.AACOperatePb2_Json = function (audioOperatePb) {\r\n            var audioOperate = {\r\n                iOpCode: audioOperatePb.getIoperatecode()\r\n            };\r\n\r\n            if (audioOperate.iOpCode == jSWProtocol.AUDIO_OP_CODES.CAPTURE_END) {\r\n                audioOperate[\"audioFilePath\"] = jSWProtocol.HexToString(audioOperatePb.getSzlocalpath());\r\n                audioOperate[\"iDuration\"] = audioOperatePb.getIduration();\r\n            }\r\n\r\n            if (audioOperate.iOpCode == jSWProtocol.AUDIO_OP_CODES.RENDER_NOTIFY) {\r\n                audioOperate[\"iPlayStatu\"] = audioOperatePb.getIplaystatu();\r\n            }\r\n            return audioOperate;\r\n        }\r\n\r\n        jSWProtocol.IMMsgPksPb2_Json = function (imMsgPks) {\r\n            var immsg = {\r\n                iSourceId: imMsgPks.getIsourceid(),\r\n                szSourceId: imMsgPks.getSzsourceid(),\r\n                iTargetId: imMsgPks.getItargetid(),\r\n                szTargetId: imMsgPks.getSztargetid(),\r\n                szmsg: [],\r\n                isPic: imMsgPks.getBispic(),\r\n                isDownload: imMsgPks.getBisdownload(),\r\n                imsgtype: imMsgPks.getImsgtype()\r\n            }\r\n\r\n            var szmsgdatas = proto.BVCU.IM_Msgs.deserializeBinary(imMsgPks.getPayload());\r\n            immsg.szmsg = jSWProtocol.IMMsgPb2_Json(szmsgdatas);\r\n            return immsg;\r\n        }\r\n\r\n        jSWProtocol.IMMSGTypes = {\r\n            UNKNOWN: 0,\r\n            TEXT: 1,\r\n            FACE: 2,\r\n            GPS: 3,\r\n            FILE: 4,\r\n            PICTURE: 5,\r\n            AUDIO: 6,\r\n            VIDEO: 7,\r\n            CONF_AUDIO: 8,\r\n            CALL_AUDIO: 9,\r\n            CALL_VIDEO: 10,\r\n            CUSTOM: 31,\r\n            onlyOcx: function (imMsgType) {\r\n                return (imMsgType == this.FILE || imMsgType == this.AUDIO);\r\n            }\r\n        }\r\n\r\n        jSWProtocol.EVENTACTIONS = {\r\n            NONE: 0,            //无效值\r\n            DISKERROR: 0x0001,  //磁盘错误。源:PU/NRUçš„Storage\r\n            OUTOFDISKSPACE: 0x0002, //磁盘空间不足。源:PU/NRUçš„Storage\r\n            VIDEOLOST: 0x1000,    //视频丢失。源:PU çš„ VideoIn\r\n            VIDEOMD: 0x1001,               //运动检测。源:PU çš„ VideoIn\r\n            VIDEOOCCLUSION: 0x1002,        //视频遮挡。源:PU çš„ VideoIn\r\n            ALERTIN: 0x1003,               //报警输入。源:PU çš„ AlertIn\r\n            PERIOD: 0x1004,                //周期报警。源:PU çš„ 周期报警    \r\n            PUONLINE: 0x1005,              //PU上线。源:PU\r\n            PUOFFLINE: 0x1006,             //PU下线。源:PU\r\n            LOWTEMPERATURE: 0x1007,        //低温报警。源:PU çš„ TemperatureIn\r\n            HIGHTEMPERATURE: 0x1008,       //高温报警。源:PU çš„ TemperatureIn\r\n            SLOWSPEED: 0x1009,             //低速报警。源:PU çš„ GPS\r\n            OVERSPEED: 0x100a,             //超速报警。源:PU çš„ GPS\r\n            INTOREGION: 0x100b,            //进入区域报警。源:PU çš„ GPS\r\n            OUTREGION: 0x100c,             //出区域报警。源:PU çš„ GPS\r\n            LOWVOLTAGE: 0x100d,            //低电压报警。源:PU çš„ VoltageIn\r\n            HIGHVOLTAGE: 0x100e,           //高电压报警。源:PU çš„ VoltageIn\r\n\r\n            //NRU相关\r\n            NRUONLINE: 0x2000,   //NRU上线\r\n            NRUOFFLINE: 0x2001,           //NRU下线\r\n\r\n            //VTDU相关\r\n            VTDUONLINE: 0x3000,\r\n            VTDUOFFLINE: 0x3001,\r\n\r\n            //CMS相关\r\n            CMSONLINE: 0x4000,\r\n            CMSOFFLINE: 0x4001,\r\n\r\n            //用户(User)相关\r\n            USERLOGIN: 0x5000,   //用户登录\r\n            USERLOGOUT: 0x5001,           //用户注销\r\n\r\n            //decorder(解码器)相关\r\n            DECONLINE: 0x6000,\r\n            DECOFFLINE: 0x6001,\r\n\r\n            //该值及往后的值为自定义类型\r\n            CUSTOM: 0x10000000,\r\n        };\r\n\r\n        jSWProtocol.BVCU_EventStoragePb2_Json = function (eventStoragePb) {\r\n            eventStoragePb = proto.WEBBVCU.EventStorage.deserializeBinary(eventStoragePb);\r\n            var eventStorage = {\r\n                iresult: eventStoragePb.getIresult(),\r\n                szfilename: this.HexToString(eventStoragePb.getSzfilename()),\r\n                itimestamp: eventStoragePb.getItimestamp()\r\n            };\r\n            return eventStorage;\r\n        }\r\n\r\n        jSWProtocol.Int2Uint = function (int32) {\r\n            var rcuint32 = Number(int32);\r\n            var rc = new Uint32Array(1);\r\n            rc[0] = rcuint32;\r\n            return rc[0];\r\n        }\r\n\r\n        jSWProtocol._CmdParse = function (iMethod, iSubMethod) {\r\n            var sResult = jSW.DependencyMgr.cmdParseInJect(function (cmdParse) {\r\n                return cmdParse.parseCmd(iMethod, iSubMethod);\r\n            });\r\n            return sResult;\r\n        };\r\n\r\n        jSWProtocol.OperateSearchLogs2_Json = function (payload) {\r\n            var searchResponse = proto.BVCU.Search.Search_Response.deserializeBinary(payload);\r\n            var searchinfopb = searchResponse.getStsearchinfo();\r\n            var operationLogs = searchResponse.getPoperatelogList();\r\n            var searchResultJson = {\r\n                info: null,\r\n                result: []\r\n            };\r\n            var searchinfo = {\r\n                ipostition: searchinfopb.getIpostition(),\r\n                icount: searchinfopb.getIcount(),\r\n                itotalcount: searchinfopb.getItotalcount()\r\n            };\r\n\r\n            searchResultJson.info = searchinfo;\r\n\r\n            var oplog = null;\r\n            var oplogjon = null;\r\n            for (operationindex in operationLogs) {\r\n                oplog = operationLogs[operationindex];\r\n                //oplog = new proto.BVCU.Search.Search_OperateLog();\r\n                oplogjon = {\r\n                    szsourceid: oplog.getSzsourceid(),\r\n                    szusername: oplog.getSzusername(),\r\n                    sztargetid: oplog.getSztargetid(),\r\n                    imethod: oplog.getImethod(),\r\n                    isubmethod: oplog.getIsubmethod(),\r\n                    iapplierid: oplog.getIapplierid(),\r\n                    itargetindex: oplog.getItargetindex(), //ç›®\r\n                    ioperatetime: oplog.getIoperatetime(),\r\n                    bresult: oplog.getIresult(),\r\n                    szdescription: oplog.getSzdescription(),\r\n                    smethod: null\r\n                };\r\n                oplogjon.smethod = jSWProtocol._CmdParse(oplogjon.imethod, oplogjon.isubmethod);\r\n                searchResultJson.result.push(oplogjon);\r\n            }\r\n\r\n            return searchResultJson;\r\n        }\r\n\r\n        jSWProtocol._GetAllRescources = function (session, rescources) {\r\n            var allRescources = [];\r\n            var pu = null;\r\n            var channel = null;\r\n            var channelrec = null;\r\n            var res = null;\r\n            var restemp = null;\r\n            try {\r\n                for (puindex in session._arr_pu) {\r\n                    pu = session._arr_pu[puindex];\r\n                    res = null;\r\n                    for (recindex in rescources) {\r\n                        restemp = rescources[recindex];\r\n                        if (pu._id_pu == restemp.puid) {\r\n                            res = restemp;\r\n                            break;\r\n                        }\r\n                    }\r\n                    if (res == null) {\r\n                        res = {\r\n                            puid: pu._id_pu,\r\n                            puname: pu._info_pu.name.length > 0 ? pu._info_pu.name : pu._id_pu,\r\n                            config: false,\r\n                            channels: [\r\n                            ]\r\n                        };\r\n                        for (channelindex in pu._arr_channel) {\r\n                            channel = pu._arr_channel[channelindex];\r\n                            channelrec = {\r\n                                channelindex: channel._id_chanel,\r\n                                iscansee: false\r\n                            };\r\n                            res.channels.push(channelrec);\r\n                        }\r\n                    }\r\n                    allRescources.push(res);\r\n                }\r\n            } catch (e) {\r\n            }\r\n            return allRescources;\r\n        }\r\n\r\n        jSWProtocol._LocalResource_2Pb = function (localresources, payload) {\r\n            var recsourcepb = null;\r\n            var recsource = null;\r\n            var puPerPb = null;\r\n            var channelUint8Array = null;\r\n            var channeltemp = null;\r\n            for (recindex in localresources) {\r\n                recsource = localresources[recindex];\r\n                recsourcepb = new proto.BVCU.UserConfig.Resource();\r\n                puPerPb = new proto.BVCU.UserConfig.PUPermissions();\r\n                recsourcepb.setSpuid(recsource.puid);\r\n                recsourcepb.setSzpermissions(puPerPb);\r\n                puPerPb.setConfig((recsource.config ? jSW.SwUserManager.PERMISSIONS.ON : jSW.SwUserManager.PERMISSIONS.OFF));\r\n                channelUint8Array = new Uint8Array(recsource.channels.length);\r\n\r\n                for (channelindex in recsource.channels) {\r\n                    channeltemp = recsource.channels[channelindex];\r\n                    channelUint8Array[channeltemp.channelindex] = (channeltemp.iscansee ? jSW.SwUserManager.PERMISSIONS.ON : jSW.SwUserManager.PERMISSIONS.OFF);\r\n                }\r\n                puPerPb.setChannel(channelUint8Array);\r\n                payload.addPresource(recsourcepb, recindex);\r\n            }\r\n        }\r\n\r\n        jSWProtocol._BVCU_UCFG_Resource_Pb2Json = function (resource_pb, sessionhelper) {\r\n            var puPermission = resource_pb.getSzpermissions();\r\n            var channelPermission = [];\r\n            var channelPermissionlistpb = puPermission.getChannel();\r\n            var channelPermissionTemp = null;\r\n            var channelPermissionpb = null;\r\n            var pujson = null;\r\n            for (channelIndex in channelPermissionlistpb) {\r\n                channelPermissionpb = channelPermissionlistpb[channelIndex];\r\n                channelPermissionTemp = {\r\n                    channelindex: Number(channelIndex),\r\n                    iscansee: channelPermissionlistpb[channelIndex] == jSW.SwUserManager.PERMISSIONS.ON\r\n                };\r\n                channelPermission.push(channelPermissionTemp);\r\n            }\r\n\r\n            pujson = sessionhelper._swGetPu(resource_pb.getSpuid());\r\n            var json = {\r\n                puid: resource_pb.getSpuid(),\r\n                puname: (pujson != null && pujson._info_pu.name.length > 0) ? pujson._info_pu.name : resource_pb.getSpuid(),\r\n                config: puPermission.getConfig() == 1,\r\n                channels: channelPermission\r\n            };\r\n            return json;\r\n        }\r\n\r\n        jSWProtocol.Walltime2Json = function (walltime) {\r\n            var sttime = {};\r\n            for (var iKey in walltime) {\r\n                sttime[iKey.substr(1)] = walltime[iKey];\r\n            }\r\n            return sttime;\r\n        }\r\n\r\n        jSWProtocol.SetGpsData = function (gpsData, options) {\r\n            var paramName = null;\r\n            var desData = 0;\r\n            for (var iIndex in options) {\r\n                if (iIndex) {\r\n                    paramName = \"setI\";\r\n                    if (iIndex == \"lat\") {\r\n                        paramName += \"latitude\";\r\n                    } else if (iIndex == \"long\") {\r\n                        paramName += \"longitude\";\r\n                    } else {\r\n                        paramName += iIndex;\r\n                    }\r\n                    if (gpsData[paramName]) {\r\n                        desData = jSWProtocol.TransNumberInt2Uint(options[iIndex]);\r\n                        desData = parseInt(desData)\r\n                        gpsData[paramName](desData)\r\n                    }\r\n                }\r\n            }\r\n        }\r\n\r\n        var TransNumberInt2UintHelper = Math.pow(2 , 32);\r\n        jSWProtocol.TransNumberInt2Uint = function (uint32Data) {\r\n            var result = uint32Data;\r\n            if (uint32Data < 0) {\r\n                result += TransNumberInt2UintHelper;\r\n            }\r\n            return result;\r\n        }\r\n\r\n        var ParseNumberUint2IntHelper = TransNumberInt2UintHelper / 2;\r\n        jSWProtocol.ParseNumberUint2Int = function (int32Data) {\r\n            var result = int32Data;\r\n            if (int32Data > ParseNumberUint2IntHelper) {\r\n                result -= TransNumberInt2UintHelper;\r\n            }\r\n            return result;\r\n        }\r\n\r\n        jSWProtocol.GetWalltime = function () {\r\n            var wallTime = new proto.BVCU.PUConfig.WallTime();\r\n            var myData = new Date();\r\n            var info = {\r\n                year: myData.getUTCFullYear(),\r\n                month: myData.getUTCMonth(),\r\n                day: myData.getUTCDay(),\r\n                hour: myData.getUTCHours(),\r\n                minute: myData.getUTCMinutes(),\r\n                second: myData.getUTCSeconds()\r\n            };\r\n            var infoSetF = null;\r\n            for (var iIndex in info) {\r\n                infoSetF = wallTime[\"setI\" + iIndex];\r\n                infoSetF.bind(wallTime)(info[iIndex]);\r\n            }\r\n            return wallTime;\r\n        }\r\n\r\n\r\n        jSWProtocol.GPSDatapb2Json = function (gpsdatapb) {\r\n            var gpsdatajson = {};\r\n            jSWProtocol.BasePbToJson(gpsdatapb, gpsdatajson);\r\n            gpsdatajson.long = gpsdatajson.longitude;\r\n            gpsdatajson.lat = gpsdatajson.latitude;\r\n            return gpsdatajson;\r\n        }\r\n\r\n        function GetPbGetName(mysrcpb, handle, bToInt) {\r\n            var myvalue = null;\r\n            var myPbProName = \"\";\r\n            for (var pbproName in mysrcpb.__proto__) {\r\n                if (pbproName.indexOf(\"get\") == 0) {\r\n                    if (pbproName.indexOf(\"JsPbMessageId\") >= 0 || pbproName.indexOf(\"Extension\") >= 0) {\r\n                        continue;\r\n                    }\r\n                    myvalue = mysrcpb[pbproName]();\r\n                    if (typeof myvalue == \"number\") {\r\n                        if (bToInt) {\r\n                            myvalue = jSWProtocol.ParseNumberUint2Int(myvalue);\r\n                        } else {\r\n                            myvalue = jSWProtocol.TransNumberInt2Uint(myvalue);\r\n                        }\r\n                    }\r\n                    myPbProName = pbproName.slice(3);\r\n                    myPbProName = myPbProName.indexOf(\"St\") == 0 ? myPbProName.slice(2) : myPbProName.slice(1);\r\n                    handle(myPbProName, myvalue);\r\n                }\r\n            }\r\n        }\r\n\r\n        jSWProtocol.BasePbToJson = function (srcpb, desData) {\r\n            GetPbGetName(srcpb, function (pbProName, proValue) {\r\n                desData[pbProName] = proValue;\r\n                if (typeof proValue == \"object\") {\r\n                    desData[pbProName] = {};\r\n                    jSWProtocol.BasePbToJson(proValue, desData[pbProName]);\r\n                }\r\n            }, true);\r\n        }\r\n\r\n\r\n        jSWProtocol.FTPFileInfoGPSInfo2Json = function (fTPFileInfoGPSInfopb) {\r\n            var ftpFileInfopb = fTPFileInfoGPSInfopb.getFileinfo();\r\n            var fileInfoJson = this.FTPFileInfo2Json(ftpFileInfopb);\r\n            var szpuid = this.HexToString(fTPFileInfoGPSInfopb.getSzpuid());\r\n            var szpuname = this.HexToString(fTPFileInfoGPSInfopb.getSzpuname());\r\n            var szgpsdata = fTPFileInfoGPSInfopb.getSzgpsdataList();\r\n            var data = {\r\n                fileinfo: fileInfoJson,\r\n                gpsdata:\r\n                    {\r\n                        szpuid: szpuid,\r\n                        szpuname: szpuname,\r\n                        szgpspoint: []\r\n                    }\r\n            };\r\n\r\n            var gpsdata = null;\r\n            var gpsdatapb = null;\r\n            for (gpsindex in szgpsdata) {\r\n                gpsdatapb = szgpsdata[gpsindex];\r\n                gpsdata = jSWProtocol.GPSDatapb2Json(gpsdatapb);\r\n                data.gpsdata.szgpspoint.push(gpsdata);\r\n            }\r\n\r\n            return data;\r\n        }\r\n\r\n        jSWProtocol.FTPFileInfo2Json = function (fTPFileInfopb) {\r\n            var fileinfo = {\r\n                szFilePath: jSWProtocol.HexToString(fTPFileInfopb.getSzfilepath()),\r\n                szFileName: jSWProtocol.HexToString(fTPFileInfopb.getSzfilename()),\r\n                iTimeBegin: fTPFileInfopb.getItimebegin(),\r\n                iTimeEnd: fTPFileInfopb.getItimeend(),\r\n                iFileSize: fTPFileInfopb.getIfilesize()\r\n            };\r\n            return fileinfo;\r\n        }\r\n\r\n        jSWProtocol.CmsChannelInfo2Json = function (cmsChannelInfopb) {\r\n            var json = {\r\n                szID: null,\r\n                iApplierID: 0,\r\n                iMediaDir: 0,\r\n                bOverTCP: 0\r\n            };\r\n            json.szID = cmsChannelInfopb.getSzid();\r\n            json.iApplierID = cmsChannelInfopb.getIapplierid();\r\n            json.iMediaDir = cmsChannelInfopb.getImediadir();\r\n            json.bOverTCP = cmsChannelInfopb.getBovertcp();\r\n            return json;\r\n        }\r\n\r\n        jSWProtocol.CmsDialogInfos2Json = function (CmsDialogInfospb) {\r\n            var sz = [];\r\n            var list = CmsDialogInfospb.getCmsdialoginfosList();\r\n            list.forEach(function (item) {\r\n                var cmsDialogInfo = {\r\n                    stRequestor: null,\r\n                    stTarget: null,\r\n                    szVTDUID: null,\r\n                    iChannelIndex: -1,\r\n                    iPathWay: 0\r\n                };\r\n                cmsDialogInfo.stRequestor = jSWProtocol.CmsChannelInfo2Json(item.getStrequestor());\r\n                cmsDialogInfo.stTarget = jSWProtocol.CmsChannelInfo2Json(item.getSttarget());\r\n                cmsDialogInfo.szVTDUID = item.getSzvtduid();\r\n                cmsDialogInfo.iChannelIndex = item.getIchannelindex();\r\n                cmsDialogInfo.iPathWay = item.getIpathway();\r\n                sz.push(cmsDialogInfo);\r\n            });\r\n            return sz;\r\n        }\r\n\r\n\r\n        /*\r\n        json = {\r\n            puid: puid,\r\n            permission: {\r\n                config: puPermission.getConfig() == 1,\r\n                channels: [\r\n                    {\r\n                        channelindex:\r\n                        iscansee:\r\n                    }\r\n                ]\r\n            }\r\n        };\r\n        */\r\n\r\n        jSWProtocol.GroupPb_2Json = function (group_pb) {\r\n            var userGroupJson = {\r\n                id: group_pb.getSid(),\r\n                name: group_pb.getSname(),\r\n                parentid: group_pb.getSparentid()\r\n            };\r\n\r\n            return userGroupJson;\r\n        }\r\n\r\n        jSWProtocol.GroupInfoPb_2Json = function (groupinfo_pb, sessionHelper) {\r\n            var resourcelist = groupinfo_pb.getPresourceList();\r\n            var resources = this.BVCU_UCFG_Resource_Pb2Json(resourcelist, sessionHelper);\r\n\r\n            var data = {\r\n                id: groupinfo_pb.getSid(),\r\n                name: groupinfo_pb.getSname(),\r\n                parentid: groupinfo_pb.getSparentid(),\r\n                description: groupinfo_pb.getSdescription(),\r\n                resources: resources,\r\n                allresources: jSWProtocol._GetAllRescources(sessionHelper, [])\r\n            };\r\n            return data;\r\n        }\r\n\r\n        jSWProtocol.USER_USERPb_2Json = function (user_pb) {\r\n            var user = {\r\n                id: user_pb.getSid(),\r\n                groupid: user_pb.getSgroupid(),\r\n                name: user_pb.getSname()\r\n            };\r\n            return user;\r\n        }\r\n\r\n        jSWProtocol.USER_USERINFO_Pb2Json = function (userinfo_pb, sessionHelper) {\r\n            var resources = userinfo_pb.getPresourceList();\r\n            resources = this.BVCU_UCFG_Resource_Pb2Json(resources, sessionHelper);\r\n            var iSysadmin = userinfo_pb.getIsysadmin();\r\n            var data = null;\r\n            data = {\r\n                sId: userinfo_pb.getSid(),\r\n                sPasswd: userinfo_pb.getSpasswd(),\r\n                bSetPasswd: userinfo_pb.getSpasswd().length > 0,\r\n                sysadmin: {\r\n                    isGroup: ((iSysadmin & jSW.SwUserManager.SYSADMIN.GROUP) == jSW.SwUserManager.SYSADMIN.GROUP),\r\n                    isUser: ((iSysadmin & jSW.SwUserManager.SYSADMIN.USER) == jSW.SwUserManager.SYSADMIN.USER),\r\n                    isDev: ((iSysadmin & jSW.SwUserManager.SYSADMIN.DEV) == jSW.SwUserManager.SYSADMIN.DEV),\r\n                    isDevAss: ((iSysadmin & jSW.SwUserManager.SYSADMIN.DEVASS) == jSW.SwUserManager.SYSADMIN.DEVASS),\r\n                },\r\n                iPtz: userinfo_pb.getIptz(),\r\n                sServerId: userinfo_pb.getSserverid(),\r\n                sGroupId: userinfo_pb.getSgroupid(),\r\n                iMaxSession: userinfo_pb.getImaxsession(),\r\n                sAllocateId: userinfo_pb.getSallocateid(),\r\n                sName: userinfo_pb.getSname(),\r\n                sPhone: userinfo_pb.getSphone(),\r\n                sEmail: userinfo_pb.getSemail(),\r\n                sDescription: userinfo_pb.getSdescription(),\r\n                Resource: resources\r\n            };\r\n            return data;\r\n        }\r\n\r\n        jSWProtocol.JsIMMSG2Pb = function (msgitems, pcallback) {\r\n            var pbPaylod = new proto.BVCU.IM_Msgs();\r\n            pbPaylod.rcallback = null;\r\n            var msgitem = null;\r\n            var msgitempb = null;\r\n            var ImEmtion = jSW.DependencyMgr.GetEmotionSync();\r\n            for (var iindex = 0; iindex < msgitems.length; iindex++) {\r\n                msgitem = msgitems[iindex];\r\n                msgitempb = pbPaylod.addSzmsgs();\r\n                msgitempb.setItype(msgitem.iType);\r\n                pbPaylod.iitemmsgtype = msgitem.iType;\r\n                switch (msgitem.iType) {\r\n                    case jSWProtocol.IMMSGTypes.TEXT:\r\n                        msgitempb.setSztextmsg(msgitem.data);\r\n                        break;\r\n                    case jSWProtocol.IMMSGTypes.FACE:\r\n                        var eCId = ImEmtion.GetEmotionCode(msgitem.data);\r\n                        msgitempb.setSztextmsg(eCId);\r\n                        break;\r\n                    case jSWProtocol.IMMSGTypes.PICTURE:\r\n                    case jSWProtocol.IMMSGTypes.FILE:\r\n                        var imfile = new proto.BVCU.IM_File();\r\n                        imfile.setSzid(msgitem.nruid);\r\n                        imfile.setSzfilepath(msgitem.data);\r\n                        msgitempb.setStfile(imfile);\r\n                        pbPaylod.rcallback = pcallback;\r\n                        break;\r\n                    case jSWProtocol.IMMSGTypes.AUDIO:\r\n                        var imfile = new proto.BVCU.IM_File();\r\n                        imfile.setSzid(msgitem.nruid);\r\n                        imfile.setSzfilepath(msgitem.data);\r\n                        imfile.setIduration(msgitem.iduration);\r\n                        msgitempb.setStfile(imfile);\r\n                        pbPaylod.rcallback = pcallback;\r\n                        break;\r\n                    case jSWProtocol.IMMSGTypes.GPS:\r\n                        var gpsData = new proto.BVCU.PUConfig.GPSData();\r\n                        var curWTime = jSWProtocol.GetWalltime();\r\n                        gpsData.setSttime(curWTime);\r\n                        jSWProtocol.SetGpsData(gpsData, msgitem.data);\r\n                        msgitempb.setStgpsdata(gpsData);\r\n                        break;\r\n                    default:\r\n                        break;\r\n                }\r\n            }\r\n            return pbPaylod;\r\n        }\r\n\r\n        jSWProtocol.BVCU_UCFG_Resource_Pb2Json = function (resource_pbs, sessionhelper) {\r\n            var resource_pb = null;\r\n            var resources = [];\r\n            var resource = null;\r\n\r\n            for (resourceindex in resource_pbs) {\r\n                resource_pb = resource_pbs[resourceindex];\r\n                resource = this._BVCU_UCFG_Resource_Pb2Json(resource_pb, sessionhelper);\r\n                resources.push(resource);\r\n            }\r\n            return resources;\r\n        }\r\n\r\n        jSWProtocol._BVCU_DayTimeSlice_Pb2Json = function (bvcu_daytimeslice_pb) {\r\n            var json = {\r\n                iHourBegin: bvcu_daytimeslice_pb.getChourbegin(),\r\n                iMinuteBegin: bvcu_daytimeslice_pb.getCminutebegin(),\r\n                iSecondBegin: bvcu_daytimeslice_pb.getCsecondbegin(),\r\n                iHourEnd: bvcu_daytimeslice_pb.getChourend(),\r\n                iMinuteEnd: bvcu_daytimeslice_pb.getCminuteend(),\r\n                iSecondEnd: bvcu_daytimeslice_pb.getCsecondend()\r\n            }\r\n            return json;\r\n        }\r\n\r\n        jSWProtocol.BVCU_DayTimeSlice_Pb2Json = function (bvcu_daytimeslice_pb) {\r\n            var stday = bvcu_daytimeslice_pb.getStdayList();\r\n            var json = {\r\n                period0: {\r\n                    time: this._BVCU_DayTimeSlice_Pb2Json(stday[0].getSttime()),\r\n                    rco: this._OnlineControlOne_Pb2Json(stday[0].getStrco())\r\n                },\r\n                period1: {\r\n                    time: this._BVCU_DayTimeSlice_Pb2Json(stday[1].getSttime()),\r\n                    rco: this._OnlineControlOne_Pb2Json(stday[1].getStrco())\r\n                },\r\n                period2: {\r\n                    time: this._BVCU_DayTimeSlice_Pb2Json(stday[2].getSttime()),\r\n                    rco: this._OnlineControlOne_Pb2Json(stday[2].getStrco())\r\n                },\r\n                period3: {\r\n                    time: this._BVCU_DayTimeSlice_Pb2Json(stday[3].getSttime()),\r\n                    rco: this._OnlineControlOne_Pb2Json(stday[3].getStrco())\r\n                },\r\n                period4: {\r\n                    time: this._BVCU_DayTimeSlice_Pb2Json(stday[4].getSttime()),\r\n                    rco: this._OnlineControlOne_Pb2Json(stday[4].getStrco())\r\n                },\r\n                period5: {\r\n                    time: this._BVCU_DayTimeSlice_Pb2Json(stday[5].getSttime()),\r\n                    rco: this._OnlineControlOne_Pb2Json(stday[5].getStrco())\r\n                },\r\n            }\r\n            return json;\r\n        }\r\n\r\n        jSWProtocol.BVCU_DayTimeSlice_Pb2JsonOnly = function (bvcu_daytimeslice_pb) {\r\n            var stday = bvcu_daytimeslice_pb.getStdayList();\r\n            var json = {\r\n                period0: this._BVCU_DayTimeSlice_Pb2Json(stday[0]),\r\n                period1: this._BVCU_DayTimeSlice_Pb2Json(stday[1]),\r\n                period2: this._BVCU_DayTimeSlice_Pb2Json(stday[2]),\r\n                period3: this._BVCU_DayTimeSlice_Pb2Json(stday[3]),\r\n                period4: this._BVCU_DayTimeSlice_Pb2Json(stday[4]),\r\n                period5: this._BVCU_DayTimeSlice_Pb2Json(stday[5])\r\n            }\r\n            return json;\r\n        }\r\n\r\n        jSWProtocol._OnlineControlOne_Pb2Json = function (onlinecontrolone_pb) {\r\n            var json = {\r\n                iTrigger: onlinecontrolone_pb.getItrigger(),\r\n                iEvent: onlinecontrolone_pb.getIevent(),\r\n                iOnlineTime: onlinecontrolone_pb.getIonlinetime(),\r\n                iThrough: onlinecontrolone_pb.getIthrough()\r\n            };\r\n            return json;\r\n        }\r\n\r\n        jSWProtocol.Drivers2Json = function (drivers) {\r\n            var driverPb = null;\r\n            var PersonInfopb = null;\r\n            var driverJson = null;\r\n            var driverJsonArray = [];\r\n            for (driverindex in drivers) {\r\n                driverPb = drivers[driverindex];\r\n                PersonInfopb = driverPb.getStpersoninfo();\r\n                driverJson = {\r\n                    stPersonInfo: {\r\n                        szName: PersonInfopb.getSzname(),\r\n                        cGender: PersonInfopb.getCgender(),\r\n                        sAge: PersonInfopb.getSage()\r\n                    },\r\n                    szCardID: driverPb.getSzcardid(),\r\n                    szCertificateID: driverPb.getSzcertificateid(),\r\n                    szIssuingAgency: driverPb.getSzissuingagency()\r\n                };\r\n                driverJsonArray.push(driverJson);\r\n            }\r\n            return driverJsonArray;\r\n        }\r\n\r\n        jSWProtocol.ParamSearchList = function (pstSearchInfo, pstFilter) {\r\n            var search = new proto.BVCU.Search.Search_Request();\r\n            var searchInfo = new proto.BVCU.Search.SearchInfo();\r\n            var filefilter = new proto.BVCU.Search.Search_FileFilter();\r\n            var ichannelindex = pstFilter.iChannelIndex;\r\n\r\n            searchInfo.setIcount(pstSearchInfo.iCount);\r\n            searchInfo.setIpostition(pstSearchInfo.iPostition);\r\n            searchInfo.setItype(pstSearchInfo.iType);\r\n\r\n            filefilter.setSzpuid(pstFilter.szPUID);\r\n            if (pstFilter.iChannelIndex == -1) {\r\n                ichannelindex = 0xffffffff;\r\n            }\r\n            filefilter.setIchannelindex(ichannelindex);\r\n            filefilter.setIfiletype(pstFilter.iFileType);\r\n            filefilter.setItimebegin(pstFilter.iTimeBegin);\r\n            filefilter.setItimeend(pstFilter.iTimeEnd);\r\n            filefilter.setIfilesizemin(pstFilter.iFileSizeMin);\r\n            filefilter.setIfilesizemax(pstFilter.iFileSizeMax);\r\n            filefilter.setIrecordtype(pstFilter.iRecordType);\r\n            filefilter.setSzdesc1(pstFilter.szDesc1);\r\n            filefilter.setSzdesc2(pstFilter.szDesc2);\r\n            filefilter.setItimecondition(pstFilter.iTimeCondition);\r\n\r\n            search.setStsearchinfo(searchInfo);\r\n            search.setStfilefilter(filefilter);\r\n\r\n            return search;\r\n        }\r\n\r\n        jSWProtocol.JsonParamLogin = function (EmmsHeader, RequestHeader, BVCU_ServerParam) {\r\n            this.emms = EmmsHeader;/**EmmsHeader API协议头。\tM*/\r\n            this.request = RequestHeader;\r\n            this.param = BVCU_ServerParam;\r\n        }\r\n\r\n        jSWProtocol.JsonParamNoAttach = function (EmmsHeader, MSGType) {\r\n            var request = new proto.WEBBVCU.Request();\r\n            request.setEmms(EmmsHeader);\r\n            request.setMsgtype(MSGType);\r\n            return request;\r\n        }\r\n\r\n        jSWProtocol.JsonParamDialog = function (EmmsHeader, MsgType, dialogParam) {\r\n            var request = new proto.WEBBVCU.Request();\r\n            request.setEmms(EmmsHeader);\r\n            request.setMsgtype(MsgType);\r\n            request.setPayload(dialogParam.serializeBinary().buffer);\r\n            request.setTargetid(dialogParam.getId());\r\n            request.setTargetindex(dialogParam.getMajor());\r\n            request.setHdlg(dialogParam.getHdlg());\r\n            return request;\r\n        }\r\n\r\n        jSWProtocol.JsonParamTSPDialog = function (EmmsHeader, MsgType, Param) {\r\n            var request = new proto.WEBBVCU.Request();\r\n            request.setEmms(EmmsHeader);/**EmmsHeader API协议头。\tM*/\r\n            request.setMsgtype(MsgType);\r\n            request.setPayload(Param.serializeBinary().buffer);\r\n            return request;\r\n        }\r\n\r\n        jSWProtocol.JsonParamCommand = function (EmmsHeader, MsgType, request) {\r\n            request.setEmms(EmmsHeader);\r\n            request.setMsgtype(MsgType);\r\n            return request;\r\n        }\r\n\r\n        jSWProtocol.txRequest = new Array(); // 记录已经发送的命令, 响应时调用响应的回调函数通知\r\n        jSWProtocol.txRequestHelp = new Array();\r\n        jSWProtocol.txGetRequestId = function () {\r\n            var cmdId = -1, i = 0;\r\n            for (; i < jSWProtocol.txRequest.length; i++) {\r\n                if (jSWProtocol.txRequest[i] == null) {\r\n                    cmdId = i;\r\n                }\r\n            }\r\n            if (-1 == cmdId) {\r\n                cmdId = i;\r\n                jSWProtocol.txRequest[i] = 1;\r\n            }\r\n\r\n            return cmdId;\r\n        }\r\n\r\n        jSWProtocol.txGetRequestRelayId = function () {\r\n            var cmdId = -1, i = 0;\r\n            for (; i < jSWProtocol.txRequestHelp.length; i++) {\r\n                if (jSWProtocol.txRequestHelp[i] == null) {\r\n                    cmdId = i;\r\n                }\r\n            }\r\n            if (-1 == cmdId) {\r\n                cmdId = i;\r\n                jSWProtocol.txRequestHelp[i] = 1;\r\n            }\r\n\r\n            return cmdId;\r\n        }\r\n\r\n        jSWProtocol.txSetRequestOption = function (requestId, option) {\r\n            jSWProtocol.txRequest[requestId] = option;\r\n        }\r\n\r\n        jSWProtocol.txSetRequestHelperOption = function (requestId, option) {\r\n            jSWProtocol.txRequestHelp[requestId] = option;\r\n        }\r\n\r\n        jSWProtocol.txGetRequestOption = function (requestId) {\r\n            if (requestId >= 0 && requestId < jSWProtocol.txRequest.length) {\r\n                return jSWProtocol.txRequest[requestId];\r\n            }\r\n            return null;\r\n        }\r\n\r\n        jSWProtocol.txGetRequestHelperOption = function (requestId) {\r\n            if (requestId >= 0 && requestId < jSWProtocol.txRequestHelp.length) {\r\n                return jSWProtocol.txRequestHelp[requestId];\r\n            }\r\n            return null;\r\n        }\r\n\r\n        jSWProtocol.txOnResponseUint8Array = function (requestId, szUint8) {\r\n            var cmdId = requestId;\r\n            var response = null;\r\n\r\n            try {\r\n                response = proto.WEBBVCU.Response.deserializeBinary(szUint8);\r\n            }\r\n            catch (e) {\r\n                var err = jSWProtocol.HexToString(szUint8);\r\n                jSWUtils.debugLog(\"deserialize protobuf error:\" + err);\r\n                jSWUtils.debugLog(e);\r\n            }\r\n\r\n            if (response) {\r\n                cmdId = response.getId();\r\n\r\n                // 根据Id找到对应的option\r\n                options = jSWProtocol.txGetRequestOption(cmdId);\r\n\r\n                if (-2017 == cmdId) {\r\n                    // -2017 是服务器通知Notify\r\n                    var emmsHeader = response.getEmms();\r\n                    var session = jSWUtils._getSessionById(emmsHeader.getSession());\r\n\r\n                    if (session) {\r\n                        if (options == null) {\r\n                            options = {\r\n                                cmd: null,\r\n                                callback: null\r\n                            }\r\n                        }\r\n                        session._internalNotify(options, response);\r\n                    } else {\r\n                        var msgType = response.getMsgtype();\r\n                        console.warn(msgType + 'session not found ' + emmsHeader.getSession());\r\n                    }\r\n                }\r\n                else {\r\n                    if (options) {\r\n                        jSWProtocol.txSetRequestOption(cmdId, null);\r\n\r\n                        // 回调\r\n                        if (options.success && typeof (options.success) == 'function') {\r\n                            options.success(response, 0);\r\n                        }\r\n                    }\r\n                }\r\n            }\r\n        }\r\n\r\n        jSWProtocol.txOnResponse = function (requestId, data) {\r\n            var cmdId = requestId;\r\n            var options = null;\r\n\r\n            try {\r\n                if (jSWUtils._mMgr.bUseOcx()) {\r\n                    jSWProtocol.txOnResponseUint8Array(cmdId, data);\r\n                } else {\r\n                    var reader = new FileReader();\r\n                    reader.addEventListener(\"loadend\", function () {\r\n                        var result = reader.result;\r\n                        var arr = new Uint8Array(result);\r\n                        jSWProtocol.txOnResponseUint8Array(cmdId, arr);\r\n                    });\r\n                    reader.readAsArrayBuffer(data);\r\n                }\r\n            } catch (e) {\r\n                console.error('error: ' + e);\r\n                options = jSWProtocol.txGetRequestOption(cmdId);\r\n                if (options) {\r\n                    jSWProtocol.txSetRequestOption(cmdId, null);\r\n\r\n                    // 回调\r\n                    if (options.error && typeof (options.error) == 'function') {\r\n                        options.error(options.option, data, 'get json object fail');\r\n                    }\r\n                }\r\n            }\r\n        }\r\n\r\n\r\n        jSWProtocol.testSend = \"\";\r\n        /**发送请求, ajax post, options {\r\n                session: this,\r\n                cmd: 'login',\r\n                request: request,\r\n                tag: null,\r\n                enforce: boolean,\r\n                attchdata: ,\r\n                callback: function(options, response) { }\r\n            }*/\r\n        jSWProtocol._internalSend = function (options) {\r\n            var session = options.session;\r\n            var request = options.request;\r\n\r\n            var requestId = jSWProtocol.txGetRequestId();\r\n            request.setId(Number(requestId));\r\n            request.setRelayid(-1);\r\n            if (options.attchdata != null) {\r\n                var requestRelayId = jSWProtocol.txGetRequestRelayId();\r\n                request.setRelayid(requestRelayId);\r\n            }\r\n\r\n            var src_data = null;\r\n            var crypto_data = null;\r\n\r\n\r\n            if (request.getMsgtype() == proto.WEBBVCU.MSGType.WEB_BVCU_GET_PUBKEY) {\r\n                /**获取密钥, 暂时不加密*/\r\n                console.log('获取公钥');\r\n                crypto_data = request.serializeBinary();\r\n            }\r\n            else if (request.getMsgtype() == proto.WEBBVCU.MSGType.WEB_BVCU_LOGIN) {\r\n                /**登录使用rsa密钥加密*/\r\n                src_data = request.getPayload();\r\n                crypto_data = jnRSA.RSA_Encrypt_32UIntTo8Array(session.pubkey_d, session.pubkey_n, src_data);\r\n                request.setPayload(crypto_data);\r\n                crypto_data = request.serializeBinary();\r\n\r\n                console.log('登录:公钥 d:' + session.pubkey_d + ', n:' + session.pubkey_n);\r\n            } else {\r\n                if (session._serverConfig || (options.enforce != null && options.enforce)) {\r\n                    crypto_data = request.serializeBinary();\r\n                } else {\r\n                    session._internalOnResponseFail(options, '', 'not login');\r\n                    return jSW.RcCode.RC_CODE_E_DISCONNECTED;\r\n                }\r\n            }\r\n\r\n            if (crypto_data) {\r\n                if (!jSWUtils._mMgr.bUseOcx()) {\r\n                    crypto_data = crypto_data.buffer;\r\n                }\r\n\r\n                var ajax_options = {\r\n                    data: crypto_data,\r\n                    option: options,\r\n                    requestID: requestId,\r\n                    success: function (jsonObject, status) {\r\n                        session._internalOnResponseSuccess(options, jsonObject, status);\r\n                    },\r\n                    error: function (opt, responseText, errMsg) {\r\n                        session._internalOnResponseFail(options, responseText, errMsg);\r\n                    }\r\n                };\r\n\r\n                jSWProtocol.txSetRequestOption(requestId, ajax_options);\r\n                if (options.attchdata != null) {\r\n                    jSWProtocol.txSetRequestHelperOption(requestRelayId, options.attchdata);\r\n                }\r\n\r\n                jSWProtocol.testSend = ajax_options.data;\r\n                return session._send(ajax_options.data);\r\n            }\r\n\r\n            return jSW.RcCode.RC_CODE_E_FAIL;\r\n        }\r\n\r\n\r\n\r\n    })(jSWProtocol);\r\n\r\n    //var HTTPNruFile = jSW.DependencyMgr.ClaimModule('HTTPNruFile')\r\n    dMgr.RegClaimedModule(\"jSWProtocol\");\r\n    \r\n    //var PuLoad = jSW.DependencyMgr.GetModule(\"PuLoad\");\r\n})(jSW.DependencyMgr);","/**\r\n * Module Template Used To Create Module, Dependency Inject Will Support Soon\r\n */\r\n(function (dMgr) {\r\n    function _CreateJSWOptions(srcJSWOptions) {\r\n        var aimJswOptions = {\r\n            /**全局配置*/\r\n            http: 'http://127.0.0.1',\r\n            ip: '192.168.6.32',\r\n            port: 8181,\r\n            url: '/jswapi',\r\n            appkey: 'FE04553E-B6D8-4CCB-AAAB-FF7F6B64E006',\r\n            version: '1.0.1',\r\n            calltype: 0, //jSW.CallProtoType.AUTO\r\n            ocxWebsocketPort: 0,\r\n            session_list: [], // Array(jSW.SWSession)\r\n            init_options: null,\r\n            CheckOcx: function () {\r\n                return jSW.CallProtoType.CheckOcx(this.calltype);\r\n            },\r\n            CheckNotOcx: function () {\r\n                return !this.CheckOcx();\r\n            },\r\n            CheckHttp: function () {\r\n                return jSW.CallProtoType.HTTP == this.calltype;\r\n            }\r\n        }\r\n\r\n        for (var iIndex in aimJswOptions) {\r\n            srcJSWOptions[iIndex] = aimJswOptions[iIndex];\r\n        }\r\n    }\r\n    dMgr.RegClaimedModuleProxy(\"jSWOptions\", _CreateJSWOptions);\r\n})(jSW.DependencyMgr);\r\n\r\n\r\n(function (dMgr) {\r\n    var jSWOptions = dMgr.GetModule(\"jSWOptions\");\r\n    var jSWUtils = dMgr.GetModule(\"jSWUtils\");\r\n\r\n    // ---- jSWUtils ----\r\n    (function (jSWUtils) {\r\n\r\n        jSWUtils.MsgTypeToPresent = function (iMsgType){\r\n            for(var iIndex in proto.WEBBVCU.MSGType){\r\n                if(proto.WEBBVCU.MSGType[iIndex] == iMsgType){\r\n                    return iIndex\r\n                }\r\n            }\r\n            return \"\"\r\n        }\r\n\r\n        var ForSnapshotCanvas = null\r\n        jSWUtils.Snapshot = function(image, iWidth, iHeight){\r\n            if(image == null || isNaN(iWidth) || isNaN(iHeight) ){\r\n                return null\r\n            }\r\n\r\n            if(ForSnapshotCanvas == null){\r\n                ForSnapshotCanvas = document.createElement(\"canvas\");\r\n            }\r\n\r\n            var canvas = ForSnapshotCanvas;\r\n\r\n            canvas.width = iWidth;\r\n            canvas.height = iHeight;\r\n            canvas.getContext('2d').drawImage(image, 0, 0, canvas.width, canvas.height);\r\n            var strDataURL = canvas.toDataURL(\"image/\" + \".png\")\r\n            var arr = strDataURL.split(','),\r\n                mime = arr[0].match(/:(.*?);/)[1],\r\n                bstr = atob(arr[1]),\r\n                n = bstr.length,\r\n                u8arr = new Uint8Array(n);\r\n            while (n--) {\r\n                u8arr[n] = bstr.charCodeAt(n);\r\n            }\r\n            var blob = new Blob([u8arr], {\r\n                type: mime\r\n            });\r\n            var url = window.URL.createObjectURL(blob)\r\n            return url\r\n        }\r\n        \r\n\r\n        function decodeUtf8(bytes) {\r\n            var encoded = \"\";\r\n            for (var i = 0; i < bytes.length; i++) {\r\n                encoded += '%' + bytes[i].toString(16);\r\n            }\r\n            return decodeURIComponent(encoded);\r\n        }\r\n\r\n        var str2utf8 = window.TextEncoder ? function (str) {\r\n            var encoder = new TextEncoder('utf8');\r\n            var bytes = encoder.encode(str);\r\n\r\n            return bytes;\r\n        } : function (str) {\r\n            return eval('\\'' + encodeURI(str).replace(/%/gm, '\\\\x') + '\\'');\r\n        }\r\n\r\n\r\n        jSWUtils.Uint8Array2UTF16 = function (bytes) {\r\n            return decodeUtf8(bytes);\r\n        }\r\n\r\n        jSWUtils.UTF162UTF8UintArray = function (str) {\r\n            return str2utf8(str);\r\n        }\r\n\r\n        //UTF16 -> UTF8 Uint8Array\r\n        jSWUtils.string2Uint8Array = function (str) {\r\n            var bytes = new Array();\r\n            var len, c;\r\n            len = str.length;\r\n            for (var i = 0; i < len; i++) {\r\n                c = str.charCodeAt(i);\r\n                if (c >= 0x010000 && c <= 0x10FFFF) {\r\n                    bytes.push(((c >> 18) & 0x07) | 0xF0);\r\n                    bytes.push(((c >> 12) & 0x3F) | 0x80);\r\n                    bytes.push(((c >> 6) & 0x3F) | 0x80);\r\n                    bytes.push((c & 0x3F) | 0x80);\r\n                } else if (c >= 0x000800 && c <= 0x00FFFF) {\r\n                    bytes.push(((c >> 12) & 0x0F) | 0xE0);\r\n                    bytes.push(((c >> 6) & 0x3F) | 0x80);\r\n                    bytes.push((c & 0x3F) | 0x80);\r\n                } else if (c >= 0x000080 && c <= 0x0007FF) {\r\n                    bytes.push(((c >> 6) & 0x1F) | 0xC0);\r\n                    bytes.push((c & 0x3F) | 0x80);\r\n                } else {\r\n                    bytes.push(c & 0xFF);\r\n                }\r\n            }\r\n            return bytes;\r\n        };\r\n\r\n        jSWUtils.getJsonString = function (jsonObj) {\r\n            return JSON.stringify(jsonObj);\r\n        };\r\n\r\n        jSWUtils.getJsonObject = function (jsonStr) {\r\n            return jQuery.parseJSON(jsonStr);\r\n        };\r\n\r\n        jSWUtils.isIE = function () {\r\n            if (!!window.ActiveXObject || \"ActiveXObject\" in window)\r\n                return true;\r\n            else\r\n                return false;\r\n        };\r\n\r\n        jSWUtils.supportFlash = function () {\r\n            if (jSWUtils.isIE()) {\r\n                try {\r\n                    var swf1 = new ActiveXObject('ShockwaveFlash.ShockwaveFlash');\r\n                    return true;\r\n                } catch (e) {}\r\n            } else {\r\n                try {\r\n                    var swf2 = navigator.plugins['Shockwave Flash'];\r\n                    if (swf2 != undefined) {\r\n                        return true;\r\n                    }\r\n                } catch (e) {}\r\n            }\r\n\r\n            return false;\r\n        }\r\n\r\n        jSWUtils.ManEmitCallback = function (options, rc, data) {\r\n            var opts = {\r\n                tag: options.tag\r\n            };\r\n            var resp = {\r\n                emms: rc\r\n            };\r\n            var callback = options.callback;\r\n            setTimeout(function () {\r\n                callback(opts, resp, data);\r\n            }, 50);\r\n        }\r\n\r\n        jSWUtils.CheckAsyncOption = function (options, afterCheck) {\r\n            var rc = jSW.RcCode.RC_CODE_E_INVALIDARG;\r\n            if (options && options.callback) {\r\n                rc = afterCheck();\r\n            }\r\n            return rc;\r\n        }\r\n\r\n        jSWUtils.consoleLog = function (str, rc) {\r\n            console.log(str + (rc == jSW.RcCode.RC_CODE_S_OK ? 'Ok' : 'Failed'));\r\n        }\r\n\r\n        jSWUtils.debugLog = function (str, rc) {\r\n            if (jSWUtils._IsDebug) {\r\n                this.consoleLog(str, rc);\r\n            }\r\n        }\r\n\r\n        jSWUtils.debugLogInfo = function (str) {\r\n            if (jSWUtils._IsDebug) {\r\n                console.log(str);\r\n            }\r\n        }\r\n\r\n        jSWUtils._IsDebug = false;\r\n\r\n        jSWUtils.ManualAsyncReply = function (callback, rcCode, data, tag) {\r\n            setTimeout(function () {\r\n                callback({\r\n                    tag: tag\r\n                }, {\r\n                    emms: {\r\n                        code: rcCode\r\n                    }\r\n                }, data);\r\n            }, 100);\r\n        }\r\n\r\n        /**\r\n        swAjax ( {\r\n            data: {age: 20, name: 'tony'},\r\n            type: 'post',\r\n            cache: false,\r\n            dataType: 'json',\r\n            success: function (data, status) { },\r\n            error: function (xhr, errMsg, errorThrown) { } // errMsg: null, \"timeout\", \"error\", \"notmodified\"、\"parsererror\"\r\n        } );*/\r\n        jSWUtils.ajax = function (url, options) {\r\n            jQuery.ajax(url, options);\r\n        };\r\n\r\n        jSWUtils.extend = function (dst, dft, src) {\r\n            return jQuery.extend(dst, dft, src);\r\n        };\r\n\r\n        jSWUtils._getSessionById = function (sessionId) {\r\n            var sessionList = jSWOptions.session_list;\r\n            var session = null;\r\n            var i = 0;\r\n            for (i = 0; i < sessionList.length; i++) {\r\n                session = sessionList[i];\r\n                if (session && session._p_emms.getSession()) {\r\n                    if (sessionId == session._p_emms.getSession()) {\r\n                        return session;\r\n                    }\r\n                }\r\n            }\r\n\r\n            return null;\r\n        };\r\n\r\n        jSWUtils.generateUUID = function () {\r\n            var d = new Date().getTime();\r\n            var uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\r\n                var r = (d + Math.random() * 16) % 16 | 0;\r\n                d = Math.floor(d / 16);\r\n                return (c == 'x' ? r : (r & 0x3 | 0x8)).toString(16);\r\n            });\r\n            return uuid;\r\n        };\r\n\r\n        jSWUtils.FilterPath = function (path) {\r\n            var srcPath = path;\r\n            srcPath = srcPath.replace(\"\\:\", \"\");\r\n            srcPath = srcPath.replace(/\\\\\\\\/g, \"/\");\r\n            srcPath = srcPath.replace(/\\\\/g, \"/\");\r\n            var aa = srcPath.split(\"/\");\r\n            var desPath = \"\";\r\n            for (var iIndex = 0; iIndex < aa.length; iIndex++) {\r\n                if (iIndex != 1) {\r\n                    desPath += aa[iIndex];\r\n                    if (iIndex != aa.length - 1) {\r\n                        desPath += \"/\";\r\n                    }\r\n                }\r\n            }\r\n            return desPath;\r\n        }\r\n\r\n        jSWUtils.PathParse = function (path) {\r\n            var srcPath = path;\r\n            srcPath = srcPath.replace(\"\\:\", \"\");\r\n            srcPath = srcPath.replace(/\\\\\\\\/g, \"/\");\r\n            srcPath = srcPath.replace(/\\\\/g, \"/\");\r\n            var aa = srcPath.split(\"/\");\r\n            var fileName = aa[aa.length - 1];\r\n            var bb = fileName.split(\"_\");\r\n            return {\r\n                szpuid: bb[0] + \"_\" + bb[1],\r\n                ichannelindex: bb[2]\r\n            };\r\n        }\r\n\r\n        jSWUtils.CheckOptionsCallback = function(options, afterHandle, scope){\r\n            var errInfo = \"\"\r\n            if(options == null){\r\n                errInfo = \"options is null\"\r\n            }\r\n\r\n            if(typeof options == \"undefined\"){\r\n                errInfo = \"options is undefined\"\r\n            }\r\n\r\n            if(typeof options.callback != \"function\"){\r\n                errInfo = \"options callback is\" + typeof options.callback\r\n            }\r\n\r\n            if(typeof afterHandle != \"function\"){\r\n                errInfo = \"afterHandle \" + typeof afterHandle\r\n            }\r\n\r\n            if(errInfo.length != \"\"){\r\n                return jSW.RcCode.RC_CODE_E_FAIL\r\n            }\r\n\r\n            return afterHandle.bind(scope)()\r\n        }\r\n\r\n    })(jSWUtils);\r\n\r\n\r\n    (function (mMgr) {\r\n        var bOcxWs = false;\r\n        mMgr.bUseOcx = function () {\r\n            return (bOcxWs) && jSWOptions.CheckOcx();\r\n        }\r\n        mMgr.bWsTest = function () {\r\n            return false;\r\n        }\r\n\r\n        var bSeted = false;\r\n        mMgr.setBUseOcxWs = function (bUse) {\r\n            if (!bSeted) {\r\n                bSeted = true;\r\n                bOcxWs = bUse;\r\n            } else {\r\n                if (bOcxWs != bUse) {\r\n                    console.log(\"You Cann't Change The Ws Mode Right Now\");\r\n                }\r\n            }\r\n        }\r\n\r\n        var bLoaded = false,\r\n            bLoading = false;\r\n        var swfobjectDir = \"modules/oxWebSocket.js\";\r\n        mMgr.loadWebSocket = function (onLoadWsHasResult, session, tag) {\r\n            if (mMgr.bUseOcx()) {\r\n                if (!bLoaded && !bLoading) {\r\n                    bLoading = true;\r\n                    var brc = jSW.DependencyMgr.loadDependsProxy([swfobjectDir], null, function () {\r\n                        console.log(\"using ocx websocket\");\r\n                        onLoadWsHasResult(session, tag, ocxWebSocketClass);\r\n                        bLoaded = true;\r\n                    }, null);\r\n                    if (!brc) {\r\n                        console.error(\"bad ocxWebsocketLoad\");\r\n                    }\r\n                } else if (bLoaded) {\r\n                    onLoadWsHasResult(session, tag, ocxWebSocketClass);\r\n                }\r\n            } else {\r\n                console.log(\"using broswer websocket\");\r\n                onLoadWsHasResult(session, tag, WebSocket);\r\n            }\r\n        }\r\n\r\n        mMgr.oWsOpen = function (ws) {\r\n            if (this.bUseOcx()) {\r\n                ws.open();\r\n            }\r\n        }\r\n\r\n        var _ocxWsModuleTag = null,\r\n            ocxWebSocketClass = null;\r\n        mMgr.regOcxWebSocket = function (cWS, tag) {\r\n            ocxWebSocketClass = cWS;\r\n            ocxWebSocketClass.SetOcxHandle(_ocxHandle);\r\n            _ocxWsModuleTag = tag;\r\n        }\r\n\r\n        mMgr.GetOcxWsTag = function () {\r\n            return _ocxWsModuleTag;\r\n        }\r\n\r\n        var _ocxHandle = null;\r\n        mMgr.RegOcxHandle = function (ocxHanlde) {\r\n            _ocxHandle = ocxHanlde;\r\n        }\r\n    })(jSWUtils._mMgr = jSWUtils._mMgr || {});\r\n\r\n\r\n    //var HTTPNruFile = jSW.DependencyMgr.ClaimModule('HTTPNruFile')\r\n    dMgr.RegClaimedModule(\"jSWUtils\");\r\n\r\n    //var PuLoad = jSW.DependencyMgr.GetModule(\"PuLoad\");\r\n})(jSW.DependencyMgr);\r\n\r\n\r\n\r\n(function (dMgr) {\r\n    var jSWUtils = dMgr.GetModule(\"jSWUtils\");\r\n\r\n    // ---- SWPlayer  播放器, 录像回放----\r\n    jSW.SWPlayer = function (parent, options) {\r\n        this._parent = parent;\r\n\r\n        this._nru_id = options.nruId;\r\n        this._file = options.file;\r\n        this._dialog_id = options.dialogId;\r\n        this._parent_div = options.parentDiv;\r\n        this._player_id = options.playerId;\r\n        this._time_begin = options.time_begin;\r\n        this._time_end = options.time_end;\r\n        this._bar = options.bar;\r\n\r\n        this._bar.restTime(this.swGetDuration() * 1000);\r\n        this._bar.setUserData(this);\r\n        this._closecallback = options.callback;\r\n        this._tag = options.tag;\r\n    }\r\n\r\n    jSW.SWPlayer.prototype = {\r\n        _parent: null,\r\n        /** session */\r\n        _file: null,\r\n        /** 文件 */\r\n        _nru_id: null,\r\n        /** nru id*/\r\n        _dialog_id: -1,\r\n        /** 会话ID, 唯一标识 */\r\n        _player_id: null,\r\n        /** 播放器ID */\r\n        _parent_div: null,\r\n        /** 父div */\r\n        _current_pts: -1,\r\n        _time_begin: -1,\r\n        _time_end: -1,\r\n        _bar: null,\r\n\r\n        _on_update_pts: function (pts) {\r\n            this._current_pts = pts;\r\n\r\n            // var date = new Date(pts)\r\n            // console.log('pts: ' + pts + ' date: ' + date)\r\n            this._bar.changeBar(this.swGetCurrentTime() * 1000);\r\n        },\r\n\r\n        _on_open_has_result: function(rc){\r\n            if(jSW.RcCode.bFailed(rc)){\r\n                this.swClose({})\r\n            }\r\n        },\r\n\r\n        /** 视频时长 */\r\n        swGetDuration: function () {\r\n            return this._time_end - this._time_begin;\r\n        },\r\n\r\n        /** 当前播放进度 */\r\n        swGetCurrentTime: function () {\r\n            if (this._current_pts == -1) {\r\n                return 0;\r\n            }\r\n            return Math.round(this._current_pts / 1000) - this._time_begin; //8时区, pts是北京时间, time_begin是utcæ—¶é—´\r\n        },\r\n\r\n        /** 单帧步进 */\r\n        swStep: function (options) {\r\n\r\n            options = jSWUtils.extend({}, {}, options || {});\r\n\r\n            options.cmdtype = 'STEP'\r\n            options.dialogId = this._dialog_id;\r\n\r\n            return this._parent.swRecordPlayCtrl(options);\r\n        },\r\n\r\n        /** 跳转 */\r\n        swJump: function (options) {\r\n\r\n            options = jSWUtils.extend({}, {}, options || {});\r\n            options.cmdtype = 'PLAY';\r\n            options.dialogId = this._dialog_id;\r\n\r\n            return this._parent.swRecordPlayCtrl(options);\r\n        },\r\n\r\n        /** 播放 */\r\n        swPlay: function (options) {\r\n\r\n            options = jSWUtils.extend({}, {}, options || {});\r\n            options.cmdtype = 'PLAY';\r\n            options.dialogId = this._dialog_id;\r\n\r\n            return this._parent.swRecordPlayCtrl(options);\r\n        },\r\n\r\n        /** 暂停 */\r\n        swPause: function (options) {\r\n\r\n            options = jSWUtils.extend({}, {}, options || {});\r\n            options.cmdtype = 'PAUSE';\r\n            options.dialogId = this._dialog_id;\r\n\r\n            return this._parent.swRecordPlayCtrl(options);\r\n        },\r\n\r\n        /** 关闭 */\r\n        swClose: function (options) {\r\n\r\n            options = jSWUtils.extend({}, {}, options || {});\r\n            options.cmdtype = 'TEARDOWN';\r\n            options.dialogId = this._dialog_id;\r\n\r\n            var rc = this._parent.swRecordPlayCtrl(options);\r\n\r\n            var playObj = document.getElementById(this._parent_div.playObjectId)\r\n            if(playObj){\r\n                jSW.SWVideoChanel._Ocx_PlayObjMgr.FreePlayObj(playObj)\r\n            }\r\n            this._parent_div.playObjectId = \"\"\r\n\r\n            this._parent_div.innerHTML = '';\r\n            var eleScript = document.getElementById(this._parent_div.bv_playBackOScriptId)\r\n            if(eleScript){\r\n                eleScript.parentElement.removeChild(eleScript)\r\n            }\r\n            this._parent_div.bv_playBackOScriptId = \"\"\r\n\r\n            this._parent._swDelRecordPlayer(options.dialogId)\r\n            if (this._closecallback) {\r\n                this._closecallback(this._tag);\r\n            }\r\n            return rc\r\n        }\r\n    }\r\n\r\n    // ---- SWCallbackManager ----\r\n    jSW.SWCallbackManager = function (owner, events) {\r\n        this.owner = owner;\r\n        this.callbacks = {};\r\n        for (var i = 0; i < events.length; i++) {\r\n            this.callbacks[events[i]] = [];\r\n        }\r\n    }\r\n\r\n    jSW.SWCallbackManager.prototype = {\r\n        // The element on which callbacks will be triggered.\r\n        owner: null,\r\n\r\n        // An object of callbacks in the form\r\n        //\r\n        //     { event: function }\r\n        callbacks: null,\r\n\r\n        // Add a callback to this object - where the `event` is a string of\r\n        // the event name and `callback` is a function.\r\n        addCallback: function (event, callback) {\r\n            if (typeof (callback) == 'function' && this.callbacks[event]) {\r\n                this.callbacks[event].push(callback);\r\n            }\r\n        },\r\n\r\n        // Remove a callback. The given function needs to be equal (`===`) to\r\n        // the callback added in `addCallback`, so named functions should be\r\n        // used as callbacks.\r\n        removeCallback: function (event, callback) {\r\n            if (typeof (callback) == 'function' && this.callbacks[event]) {\r\n                var cbs = this.callbacks[event],\r\n                    len = cbs.length;\r\n                for (var i = 0; i < len; i++) {\r\n                    if (cbs[i] === callback) {\r\n                        cbs.splice(i, 1);\r\n                        break;\r\n                    }\r\n                }\r\n            }\r\n        },\r\n\r\n        // Trigger a callback, passing it an object or string from the second\r\n        // argument.\r\n        dispatchCallback: function (event, message) {\r\n            if (this.callbacks[event]) {\r\n                for (var i = 0; i < this.callbacks[event].length; i += 1) {\r\n                    try {\r\n                        this.callbacks[event][i](this.owner, event, message);\r\n                    } catch (e) {\r\n                        console.error(e);\r\n                        // meh\r\n                    }\r\n                }\r\n            }\r\n        }\r\n    }\r\n\r\n})(jSW.DependencyMgr)","(function (dMgr) {\r\n    dMgr.RegModule(\"CmdParse\", new (function () {\r\n\r\n        //var _BVCU_SUBMETHOD_TYPE = {\r\n        //    BVCU_SUBMETHOD_UNKNOWN : 0, //未知命令\r\n        //    BVCU_SUBMETHOD_CUSTOM : 0x00001, //自定义命令,服务器透明转发该命令给目标。输入类型:自定义;输出类型: 自定义。\r\n        //    //注意,BVCU_CmdMsgContent.pData被认为是字节类型,BVCU_CmdMsgContent.iDataCount表示字节长度\r\n\r\n        //    //=============query====================    \r\n        //    //PU部分-----------------------------\r\n        //    BVCU_SUBMETHOD_PU_LIST : 0x00010,//CU从Server获取设备列表。输入类型:无;输出类型: BVCU_PUCFG_PUChannelInfo数组\r\n        //    BVCU_SUBMETHOD_PU_BROADCASTSTATUS,//获取广播的设备列表状态(一个Session只能同时有一个广播)。输入类型:无;输出类型:BVCU_BroadcastStatus数组\r\n        //    BVCU_SUBMETHOD_PU_GPSDATA,//获取PUçš„GPS通道数据。输入类型:无;输出类型: BVCU_PUCFG_GPSData\r\n        //    BVCU_SUBMETHOD_PU_STORAGE_MEDIA, //获取某个存储器的分区信息。输入类型无; 输出类型:BVCU_PUCFG_Storage_Media数组    \r\n        //    BVCU_SUBMETHOD_PU_GROUPLIST, // 获取设备分组列表。输入类型:无;输出类型:BVCU_PUCFG_GroupItem数组\r\n        //    BVCU_SUBMETHOD_PU_GROUPINFO, // 获取设备分组信息。输入类型:BVCU_PUCFG_GroupItem;输出类型:BVCU_PUCFG_GroupInfo\r\n        //    BVCU_SUBMETHOD_PU_UPDATESTATUS, //升级固件的状态。输入类型:无;输出类型:BVCU_PUCFG_UpdateStatus\r\n        //    BVCU_SUBMETHOD_PU_POSITION, //基站、wifi定位信息。输入类型:无;输出类型:BVCU_PUCFG_Position\r\n        //    BVCU_SUBMETHOD_PU_UserList, //获取平台设备使用者列表。输入类型:无;输出类型:BVCU_PUCFG_User数组\r\n        //    BVCU_SUBMETHOD_PU_UserInfo, //获取平台设备使用者信息。输入类型:BVCU_PUCFG_User;输出类型:BVCU_PUCFG_UserInfo\r\n        //    BVCU_SUBMETHOD_PU_UserGroupList, //获取平台设备使用者组列表。输入类型:无;输出类型:BVCU_PUCFG_UserGroup数组\r\n        //    BVCU_SUBMETHOD_PU_UserGroupInfo, //获取平台设备使用者组信息。输入类型:BVCU_PUCFG_UserGroup;输出类型:BVCU_PUCFG_UserGroupInfo\r\n\r\n        //    //User部分---------------------------\r\n        //    BVCU_SUBMETHOD_USER_GROUPLIST = 0x01000,//获取用户组列表。输入类型:无;输出类型:BVCU_UCFG_UserGroup数组\r\n        //    BVCU_SUBMETHOD_USER_GROUPINFO,//获取用户组信息。输入类型:BVCU_UCFG_UserGroup;输出类型:BVCU_UCFG_UserGroupInfo\r\n        //    BVCU_SUBMETHOD_USER_USERLIST, //获取用户列表。输入类型:无;输出类型:BVCU_UCFG_User数组\r\n        //    BVCU_SUBMETHOD_USER_USERINFO, //获取用户信息。输入类型:BVCU_UCFG_Userï¼› 输出类型:BVCU_UCFG_UserInfo\r\n        //    BVCU_SUBMETHOD_USER_ONLINE, //获取在线用户列表。输入类型:无; 输出类型:BVCU_UCFG_User_Online数组\r\n        //    BVCU_SUBMETHOD_USER_ONLINEINFO, //获取在线用户信息。输入类型:BVCU_UCFG_User_Onlineï¼› 输出类型:BVCU_UCFG_User_OnlineInfo\r\n\r\n        //    //VTDU部分----------------------------\r\n        //    BVCU_SUBMETHOD_VTDU_LIST = 0x01300,//获取VTDU列表。输入类型:无;输出类型:BVCU_VTDUCFG_VTDUItem数组\r\n\r\n        //    //NRU部分----------------------------\r\n        //    BVCU_SUBMETHOD_NRU_LIST = 0x01400,//获取NRU列表。输入类型:无;输出类型:BVCU_NRUCFG_NRUItem数组\r\n        //    BVCU_SUBMETHOD_NRU_SCHEDULE_LIST, //某个NRU存储计划列表。输入类型:无;输出类型:BVCU_NRUCFG_Storage_Schedule_ListItem数组\r\n        //    BVCU_SUBMETHOD_NRU_SCHEDULE_GET,//NRU的一条存储计划。输入类型:BVCU_NRUCFG_Storage_Schedule_ListItem, 输出类型:BVCU_NRUCFG_Storage_Schedule\r\n\r\n        //    //Decoder部分------------------------\r\n        //    BVCU_SUBMETHOD_DEC_LIST = 0x01500,//获取解码器列表。输入类型:无;输出类型:BVCU_DECCFG_BaseInfo数组\r\n\r\n        //    //CONF部分---------------------------\r\n        //    BVCU_SUBMETHOD_CONF_LIST = 0x01600,//获取所有会议列表,BVCU_Command.szTargetID设置为CMS ID。输入类型:无;输出类型:BVCU_Conf_BaseInfo数组\r\n        //    //BVCU_Command.iTargetIndex:0-查询所有会议列表;1-查询自己所在会议列表;2-查询自己不在的会议列表;3-查询有管理权限的会议列表。\r\n        //    BVCU_SUBMETHOD_CONF_INFO,//获取某个会议详细信息,BVCU_Command.szTargetID设置为CONF_ID@CMS(@CMS可以省略,表示目前登录的CMS)。输入类型:无;输出类型:BVCU_Conf_Info\r\n\r\n        //    //ALARM部分--------------------------\r\n        //    BVCU_SUBMETHOD_LINKACTION_LIST = 0x01700,//获取报警联动列表。输入类型:无;输出类型:BVCU_Event_LinkAction_Base数组\r\n        //    BVCU_SUBMETHOD_LINKACTION_GET,//获取某个报警联动详细信息。输入类型:BVCU_Event_LinkAction_Base;输出类型:BVCU_Event_LinkAction\r\n\r\n        //    //Search部分---------------------------\r\n        //    // BVCU_Command.szTargetID设置为CMS/NRU/VTDU ID。\r\n        //    BVCU_SUBMETHOD_SEARCH_LIST = 0x01800, // 索引文件(记录等)。输入类型:BVCU_Search_Request 输出类型:BVCU_Search_Response \r\n        //    BVCU_SUBMETHOD_SYSTEM_INFO, // 系统及状态信息。输入类型:无  输出类型:BVCU_ENCFG_SystemInfo\r\n\r\n        //    //Region部分-------------------------\r\n        //    BVCU_SUBMETHOD_REGION_LIST = 0x1900, //获取CMS区域列表。输入类型:无;输出类型:BVCU_Region_Base数组\r\n        //    BVCU_SUBMETHOD_REGION_GET, //获取某个CMS区域详细信息。输入类型:BVCU_Region_Base;输出类型:BVCU_Region_Info\r\n\r\n        //    //UKey部分---------------------------\r\n        //    BVCU_SUBMETHOD_UKEY_LIST = 0x2000, //获取授权UKey列表。输出类型:BVCU_UCFG_UKeyBase数组\r\n        //    BVCU_SUBMETHOD_UKEY_GET, //获取某个授权UKey详细信息。输入类型:BVCU_UCFG_UKeyBase;输出类型:BVCU_UCFG_UKeyInfo\r\n\r\n        //    //CMS部分----------------------------\r\n        //    BVCU_SUBMETHOD_CMS_BASEINFO = 0x2100, //获取登录CMS基本信息。输入类型:无;输出类型:BVCU_CMSCFG_BaseInfo\r\n        //    BVCU_SUBMETHOD_CMS_DIALOGINFO, //获取登录CMS通道信息。输入类型:BVCU_CMSCFG_DialogInfo;输出类型:BVCU_CMSCFG_DialogInfo数组\r\n        //    BVCU_SUBMETHOD_CMS_TIME, //获取登录CMS时间。输入类型:BVCU_CMSCFG_WallTime; 输出类型:BVCU_CMSCFG_WallTime\r\n\r\n        //    //=============query/control=============    \r\n        //    /*注意:query/control类型的命令,通常queryå’Œcontrol的输入类型和输出类型是对称的,例如\r\n        //    BVCU_SUBMETHOD_PTZATTR命令做Query时,输入类型无,输出类型是BVCU_PUCFG_PTZAttr,做Control\r\n        //    时,输入类型BVCU_PUCFG_PTZAttr,输出类型无。以下注释中,只表明Control的参数,如果没有特别说明,     \r\n        //    Query的参数输入/输出类型就是Control的输出/输入类型\r\n        //    */\r\n        //    //PU部分\r\n        //    BVCU_SUBMETHOD_PU_DEVICEINFO = 0x10000, //设备信息。输入类型:BVCU_PUCFG_DeviceInfo;输出类型:无;触发类型:同名Notify\r\n        //    BVCU_SUBMETHOD_PU_CHANNELINFO,//某个PU的通道信息。输入类型:BVCU_PUCFG_PUChannelInfo;输出类型: 无;触发类型:同名Notify\r\n        //    BVCU_SUBMETHOD_PU_DEVICETIME,//设备时间。输入类型:BVCU_WallTime;输出类型:无\r\n        //    BVCU_SUBMETHOD_PU_SERVERS, //注册服务器。输入类型:BVCU_PUCFG_Servers;输出类型:无\r\n        //    BVCU_SUBMETHOD_PU_ETHERNET, //以太网。输入类型:BVCU_PUCFG_Ethernet;输出类型:无\r\n        //    BVCU_SUBMETHOD_PU_WIFI, //WIFI。输入类型:BVCU_PUCFG_Wifi;输出类型:无\r\n        //    BVCU_SUBMETHOD_PU_RADIONETWORK, //无线网络。输入类型:BVCU_PUCFG_RadioNetwork数组;输出类型:无\r\n        //    BVCU_SUBMETHOD_PU_PTZATTR,  //云台属性。输入类型:BVCU_PUCFG_PTZAttr;输出类型:无;\r\n        //    BVCU_SUBMETHOD_PU_ENCODERCHANNEL,//编码通道属性。输入类型:BVCU_PUCFG_EncoderChannel;输出类型:无;\r\n        //    BVCU_SUBMETHOD_PU_VIDEOIN,//视频输入属性。输入类型:BVCU_PUCFG_VideoIn;输出类型:无\r\n        //    BVCU_SUBMETHOD_PU_AUDIOIN,//音频输入属性。输入类型:BVCU_PUCFG_AudioIn;输出类型:无\r\n        //    BVCU_SUBMETHOD_PU_AUDIOOUT,//音频输出属性。输入类型:BVCU_PUCFG_AudioOut;输出类型:无\r\n        //    BVCU_SUBMETHOD_PU_ALERTIN,//报警输入属性。输入类型:BVCU_PUCFG_AlertIn;输出类型:无\r\n        //    BVCU_SUBMETHOD_PU_ALERTOUT,//报警输出属性。输入类型:BVCU_PUCFG_AlertOut;输出类型:无\r\n        //    BVCU_SUBMETHOD_PU_SERIALPORT,//串口属性。输入类型:BVCU_PUCFG_SerialPort;输出类型:无\r\n        //    BVCU_SUBMETHOD_PU_GPS,//GPS属性。输入类型:BVCU_PUCFG_GPSParam;输出类型:无\r\n        //    BVCU_SUBMETHOD_PU_STORAGE_SCHEDULE, //存储计划。输入类型:BVCU_PUCFG_Storage_Schedule;输出类型:无\r\n        //    BVCU_SUBMETHOD_PU_STORAGE_RULE, //存储属性。输入类型:BVCU_PUCFG_Storage_Rule;输出类型:无    \r\n        //    BVCU_SUBMETHOD_PU_STORAGE_FORMAT,//初始化某个存储器。输入类型:BVCU_PUCFG_Storage_Format;输出类型:无  \r\n        //    BVCU_SUBMETHOD_PU_ONLINECONTROL,//上下线控制。输入类型:BVCU_PUCFG_OnlineControl;输出类型ï¼šæ— \r\n        //    BVCU_SUBMETHOD_PU_SNAPSHOTPARAM,//配置自动抓拍参数。输入类型:BVCU_PUCFG_SnapshotParam;输出类型:无\r\n        //    BVCU_SUBMETHOD_PU_POWER,//配置电源参数。输入类型:BVCU_PUCFG_Power;输出类型:无\r\n        //    BVCU_SUBMETHOD_PU_GPSSPEEDLIMIT,//配置设备全局限速。输入类型:BVCU_PUCFG_GPSSpeedLimit;输出类型:无\r\n        //    BVCU_SUBMETHOD_PU_CARINFO,//设备相关的车辆信息(如:车载设备)。输入类型:BVCU_PUCFG_CarInfo;输出类型:无\r\n        //    BVCU_SUBMETHOD_PU_BLUETOOTH,//设备蓝牙信息。 输入类型:BVCU_PUCFG_Bluetooth;输出类型:无\r\n        //    BVCU_SUBMETHOD_PU_VIDEOIN_CMOS,//视频输入CMOS属性。输入类型:BVCU_PUCFG_ImageExposure;输出类型:无\r\n        //    BVCU_SUBMETHOD_PU_ZFYINFO,//设备相关的执法记录仪信息。输入类型:BVCU_PUCFG_ZFYInfo;输出类型:无\r\n\r\n        //    //VTDU部分\r\n        //    BVCU_SUBMETHOD_VTDU_INFO = 0x10F00,//VTDU信息。输入类型:BVCU_VTDUCFG_VTDUInfo;输出类型:无\r\n\r\n        //    //NRU部分\r\n        //    BVCU_SUBMETHOD_NRU_INFO = 0x11000,//NRU信息。输入类型:BVCU_NRUCFG_NRUInfo;输出类型:无\r\n\r\n        //    //Decoder部分------------------------\r\n        //    //BVCU_Command.szTargetID设置为DEC_ID@CMS(@CMS可以省略,表示目前登录的CMS)\r\n        //    BVCU_SUBMETHOD_DEC_DEVICEINFO = 0x11100, // 解码器详细信息。输入类型:BVCU_DECCFG_DeviceInfo;输出类型:无\r\n        //    BVCU_SUBMETHOD_DEC_OPTIONS, //解码器设置选项。输入类型:BVCU_DECCFG_Options;输出类型:无\r\n        //    BVCU_SUBMETHOD_DEC_DECODER, // 解码器解码通道配置。输入类型:BVCU_DECCFG_DecoderParam;输出类型:无\r\n        //    BVCU_SUBMETHOD_DEC_DISPLAY, // 解码器显示通道配置。输入类型:BVCU_DECCFG_DisplayParam;输出类型:无\r\n\r\n        //    //CONF部分\r\n        //    //BVCU_Command.szTargetID设置为CONF_ID@CMS(@CMS可以省略,表示目前登录的CMS)\r\n        //    BVCU_SUBMETHOD_CONF_PARTICIPATOR_VOLUME = 0x11200,//调整某个参与者的音量。注意只影响本地听到的音量。\r\n        //    //输入类型:BVCU_Conf_Participator_Info,输出类型:无\r\n        //    BVCU_SUBMETHOD_CONF_BASEINFO,//获取/设置会议的信息,BVCU_Command.szTargetID设置为CONF_ID@CMS(@CMS可以省略,表示目前登录的CMS)。\r\n        //    //输入类型:BVCU_Conf_BaseInfo;输出类型:无;触发类型:同名Notify\r\n\r\n        //    //=============control=============    \r\n        //    //PU部分---------------------------\r\n        //    BVCU_SUBMETHOD_PU_REBOOT = 0x20000,   //重启设备。输入类型:无;输出类型:无\r\n        //    BVCU_SUBMETHOD_PU_DELETE,       //从数据库中删除PU。输入类型:无;输出类型: æ— \r\n        //    BVCU_SUBMETHOD_PU_SHUTDOWN, //关闭设备。输入类型:无;输出类型:无\r\n        //    BVCU_SUBMETHOD_PU_SAVECONFIG, //通知设备保存配置。输入类型:无;输出类型:无\r\n        //    BVCU_SUBMETHOD_PU_PTZCONTROL,//操作云台。输入类型:BVCU_PUCFG_PTZControl;输出类型:无    \r\n        //    BVCU_SUBMETHOD_PU_PUTOFFLINE,//手工使PU下线。输入类型:无;输出类型:无\r\n        //    BVCU_SUBMETHOD_PU_MANUALRECORD,//手工启动/停止PU录像。输入类型:BVCU_PUCFG_ManualRecord;输出类型:无\r\n        //    BVCU_SUBMETHOD_PU_SNAPSHOT, //手工远程抓拍。输入类型:BVCU_PUCFG_Snapshot;输出类型:无\r\n        //    BVCU_SUBMETHOD_PU_UPGRADE, //升级固件。输入类型:BVCU_PUCFG_Upgrade;输出类型:无\r\n        //    BVCU_SUBMETHOD_PU_ADDGROUP, //添加设备分组。输入类型:BVCU_PUCFG_GroupInfo;输出类型:BVCU_PUCFG_GroupItem;触发类型:同名Notify\r\n        //    BVCU_SUBMETHOD_PU_MODGROUP, //修改设备分组。输入类型:BVCU_PUCFG_GroupInfo;输出类型:无;触发类型:同名Notify\r\n        //    BVCU_SUBMETHOD_PU_DELGROUP, //删除设备分组。输入类型:BVCU_PUCFG_GroupItem;输出类型:无;触发类型:同名Notify\r\n        //    BVCU_SUBMETHOD_PU_OPENDIALOG, //请求创建会话。输入类型:BVCU_PUCFG_OpenDialogï¼› 输出类型:无\r\n        //    BVCU_SUBMETHOD_PU_SYNCHRONIZATION, //同步图片(上传未上传的抓图,下载CU上传的图片)。输入类型:BVCU_PUCFG_Picture\r\n        //    BVCU_SUBMETHOD_PU_USER_ADDGROUP, //添加设备使用者组。输入类型:BVCU_PUCFG_UserGroupInfo;输出类型:BVCU_PUCFG_UserGroup;触发类型:同名Notify\r\n        //    BVCU_SUBMETHOD_PU_USER_MODGROUP, //修改设备使用者组。输入类型:BVCU_PUCFG_UserGroupInfo;输出类型:无;触发类型:同名Notify\r\n        //    BVCU_SUBMETHOD_PU_USER_DELGROUP, //删除设备使用者组。输入类型:BVCU_PUCFG_UserGroup;输出类型:无;触发类型:同名Notify\r\n        //    BVCU_SUBMETHOD_PU_USER_ADDUSER,  //添加设备使用者。输入类型:BVCU_PUCFG_UserInfo;输出类型:无;触发类型:同名Notify\r\n        //    BVCU_SUBMETHOD_PU_USER_MODUSER,  //修改设备使用者。输入类型:BVCU_PUCFG_UserInfo;输出类型:无;触发类型:同名Notify\r\n        //    BVCU_SUBMETHOD_PU_USER_DELUSER,  //删除设备使用者。输入类型:BVCU_PUCFG_User;输出类型:无;触发类型:同名Notify\r\n        //    BVCU_SUBMETHOD_PU_USER_OPERATE,  //绑定或解绑设备。输入类型:BVCU_PUCFG_UserOperate;输出类型:无;触发类型:同名Notify\r\n\r\n        //    //User部分---------------------------\r\n        //    BVCU_SUBMETHOD_USER_ADDGROUP = 0x22000, //添加用户组。输入类型:BVCU_UCFG_UserGroupInfo;输出类型:BVCU_UCFG_UserGroup;触发类型:同名Notify\r\n        //    BVCU_SUBMETHOD_USER_MODGROUP, //修改用户组。输入类型:BVCU_UCFG_UserGroupInfo;输出类型:无;触发类型:同名Notify\r\n        //    BVCU_SUBMETHOD_USER_DELGROUP, //删除用户组。输入类型:BVCU_UCFG_UserGroup;输出类型:无;触发类型:同名Notify\r\n        //    BVCU_SUBMETHOD_USER_ADDUSER,  //添加用户。输入类型:BVCU_UCFG_UserInfo;输出类型:无;触发类型:同名Notify\r\n        //    BVCU_SUBMETHOD_USER_MODUSER,  //修改用户。输入类型:BVCU_UCFG_UserInfo;输出类型:无;触发类型:同名Notify\r\n        //    BVCU_SUBMETHOD_USER_DELUSER,  //删除用户。输入类型:BVCU_UCFG_User;输出类型:无;触发类型:同名Notify\r\n        //    BVCU_SUBMETHOD_USER_MODPASSWD,//修改用户密码。输入类型:BVCU_UCFG_ModPasswd;输出类型:无\r\n        //    BVCU_SUBMETHOD_USER_KICKOUT,  //踢出在线用户。输入类型:BVCU_UCFG_Kickout;输出类型:无\r\n\r\n        //    //NRU部分---------------------------\r\n        //    BVCU_SUBMETHOD_NRU_DELETE = 0x22400, //从数据库中删除NRU。输入类型:无;输出类型: æ— \r\n        //    BVCU_SUBMETHOD_NRU_SCHEDULE_SET,//配置NRU的一条存储计划。输入类型:BVCU_NRUCFG_Storage_Schedule, 输出类型:无;触发类型:同名Notify\r\n        //    BVCU_SUBMETHOD_NRU_SCHEDULE_DEL,//删除NRU的一条存储计划。输入类型:BVCU_NRUCFG_Storage_Schedule_ListItem, 输出类型:无;触发类型:同名Notify\r\n        //    BVCU_SUBMETHOD_NRU_MANUALRECORD,//手工启动/停止某个PU录像到NRU。输入类型:BVCU_NRUCFG_ManualRecord;输出类型:无\r\n        //    BVCU_SUBMETHOD_NRU_SNAPSHOT,    //手工抓拍到NRU。输入类型:BVCU_NRUCFG_Snapshot;输出类型:无\r\n        //    BVCU_SUBMETHOD_NRU_BACKUPDB,    //手工备份数据库。BVCU_Command.iTargetIndex:备份表信息,见BVCU_DBTABLE_TYPE。需要是超级管理员权限。\r\n        //    // 输入类型:无;输出类型:BVCU_NRUCFG_BackupDB\r\n\r\n        //    //CONF部分---------------------------\r\n        //    //以下由具有BVCU_CONF_PARTICIPATOR_POWER_ADMIN权限者调用\r\n        //    BVCU_SUBMETHOD_CONF_CREATE = 0x22600,//创建会议,BVCU_Command.szTargetID设置为CMS ID。\r\n        //    // 输入类型:BVCU_Conf_BaseInfo,\r\n        //    // 输出类型:BVCU_Conf_BaseInfo + BVCU_Conf_Participator_Info 同名notify\r\n\r\n        //    //以下所有BVCU_SUBMETHOD_CONF_*命令除非特别说明,否则BVCU_Command.szTargetID设置为CONF_ID@CMS(@CMS可以省略,表示目前登录的CMS)\r\n        //    BVCU_SUBMETHOD_CONF_DELETE,//删除会议。输入类型:无;输出类型:无;触发类型:同名Notify\r\n        //    BVCU_SUBMETHOD_CONF_START,//开始会议。BVCU_Command.iTargetIndex==1表示多组同时监听。输入类型:无;输出类型:无;触发类型:BVCU_SUBMETHOD_CONF_START_CMD\r\n        //    BVCU_SUBMETHOD_CONF_STOP,//停止会议。输入类型:无;输出类型:无;触发类型:同名Notify\r\n\r\n        //    BVCU_SUBMETHOD_CONF_PARTICIPATOR_ADD, //添加会议参与者。\r\n        //    //输入类型:BVCU_Conf_Participator_Info数组,一次调用最多允许BVCU_CONF_MAX_PARTICIPATOR_ONETIME个。\r\n        //    //输出类型:BVCU_Conf_Participator_AddResult\r\n        //    //触发类型:BVCU_SUBMETHOD_CONF_PARTICIPATOR_ADD_CMD(被加入者收到)和BVCU_SUBMETHOD_CONF_PARTICIPATOR_ADD_NOTIFY(所有参与者收到)\r\n\r\n        //    BVCU_SUBMETHOD_CONF_PARTICIPATOR_REMOVE,//删除会议参与者。输入类型:BVCU_Conf_Participator_Info数组;输出类型:无;触发类型:同名Notify\r\n        //    BVCU_SUBMETHOD_CONF_PARTICIPATOR_MODIFY,//修改会议参与者。输入类型:BVCU_Conf_Participator_Info数组;输出类型:无;触发类型:同名Notify\r\n\r\n        //    //以下由BVCU_CONF_PARTICIPATOR_POWER_MODETATOR权限者调用\r\n        //    BVCU_SUBMETHOD_CONF_PARTICIPATOR_INVITE_SPEAK,//点名发言。仅对BVCU_CONF_MODE_SPEAK_CHAIRMAN模式的会议有意义。\r\n        //    //输入类型:BVCU_Conf_Participator_Info;输出类型:无\r\n        //    //触发类型:同名Notify(所有参与者收到)\r\n        //    //  BVCU_SUBMETHOD_CONF_PARTICIPATOR_INVITE_SPEAK_CMD(仅被点名者收到)\r\n        //    BVCU_SUBMETHOD_CONF_PARTICIPATOR_TERMINATE_SPEAK,//结束发言。输入类型:BVCU_Conf_Participator_Info;输出类型:无;触发类型:同名Notify\r\n        //    //以下由participator调用\r\n        //    BVCU_SUBMETHOD_CONF_PARTICIPATOR_JOIN,//请求加入会议。输入类型:BVCU_Conf_Participator_Join;输出类型:无;\r\n        //    //触发类型:BVCU_SUBMETHOD_CONF_PARTICIPATOR_JOIN_NOTIFY(所有参与者收到)\r\n        //    //            BVCU_SUBMETHOD_CONF_PARTICIPATOR_JOIN_CMD(仅会议ADMIN收到)\r\n        //    BVCU_SUBMETHOD_CONF_PARTICIPATOR_EXIT,//请求退出会议。输入类型:无;输出类型:无;触发类型:BVCU_SUBMETHOD_CONF_PARTICIPATOR_EXIT_NOTIFY    \r\n        //    BVCU_SUBMETHOD_CONF_PARTICIPATOR_APPLYFOR_STARTSPEAK,//申请发言,仅对BVCU_CONF_MODE_SPEAK_CHAIRMAN模式的会议有意义。输入类型:无;输出类型:无;\r\n        //    //触发类型:BVCU_SUBMETHOD_CONF_PARTICIPATOR_APPLYFOR_STARTSPEAK_NOTIFY    (所有参与者收到)\r\n        //    //          BVCU_SUBMETHOD_CONF_PARTICIPATOR_APPLYFOR_STARTSPEAK_CMD(仅会议ADMIN收到)\r\n        //    BVCU_SUBMETHOD_CONF_PARTICIPATOR_APPLYFOR_ENDSPEAK,//结束发言,仅对BVCU_CONF_MODE_SPEAK_CHAIRMAN模式的会议有意义。输入类型:无;输出类型:无;\r\n        //    //触发类型:BVCU_SUBMETHOD_CONF_PARTICIPATOR_APPLYFOR_ENDSPEAK_NOTIFY    \r\n        //    BVCU_SUBMETHOD_CONF_PARTICIPATOR_LEAVE,//暂时离开会议。输入类型:无;输出类型:无;\r\n        //    //触发类型:BVCU_SUBMETHOD_CONF_PARTICIPATOR_LEAVE_NOTIFY\r\n        //    BVCU_SUBMETHOD_CONF_PARTICIPATOR_RETURN,//与LEAVE相对,回到会议。BVCU_Command.iTargetIndex==1表示多组同时监听。输入类型:BVCU_Conf_Participator_Info;输出类型:无:\r\n        //    //触发类型:BVCU_SUBMETHOD_CONF_PARTICIPATOR_RETURN_NOTIFY\r\n        //    BVCU_SUBMETHOD_CONF_PARTICIPATOR_INFO,//更改了自己的本地信息(目前仅szAliasName有意义),通知CMS。输入类型:BVCU_Conf_Participator_Info;输出类型:无;触发类型:同名Notify\r\n        //    BVCU_SUBMETHOD_CONF_VISITOR_JOIN,   //请求旁听会议。输入类型:无;输出类型:BVCU_Conf_Participator_Info\r\n        //    /*BVCU_Command.szTargetID设置为CONF_ID@CMS(@CMS可以省略,表示目前登录的CMS)\\CU_ID\\PU_ID\\PU_Group\r\n        //      BVCU_Command.iTargetIndex设置为目标的ApplierID(PU\\PU_Group\\CONFå¡«0)*/\r\n        //    BVCU_SUBMETHOD_IM_MSG = 0x22620, // 发送即时消息。输入类型:BVCU_IM_Msg数组 输出类型:BVCU_IM_Msg数组,用于获取各消息ID。消息接收方收到同名Notify。\r\n\r\n        //    //存储文件部分---------------------------\r\n        //    /*BVCU_Search_FileFilter 中szDesc1,szDesc2作为修改字段,其余都作为过滤条件*/\r\n        //    BVCU_SUBMETHOD_RECORDFILE_DESC_SET = 0x22630,  //设置文件记录的描述。输入类型:BVCU_Search_FileFilter,输出类型:æ— \r\n        //    BVCU_SUBMETHOD_RECORDFILE_DELETE,          //删除指定条件的文件记录以及文件。输入类型:BVCU_NRUCFG_DeleteFile,输出类型:BVCU_NRUCFG_DeleteFileResult\r\n\r\n        //    //事件联动部分---------------------------\r\n        //    BVCU_SUBMETHOD_LINKACTION_ADD  = 0x22700,//添加报警联动。输入类型:BVCU_Event_LinkAction;输出类型:无;\r\n        //    BVCU_SUBMETHOD_LINKACTION_SET,//修改报警联动。输入类型:BVCU_Event_LinkAction;输出类型:无;\r\n        //    BVCU_SUBMETHOD_LINKACTION_DEL,//删除报警联动。输入类型:BVCU_Event_LinkAction_Base;输出类型:无;触发类型:同名Notify\r\n        //    BVCU_SUBMETHOD_EVENT_PROCESS,//处警。输入类型:BVCU_Event_SourceSaved;输出类型:无\r\n\r\n        //    //0x22800部分-------------------------------\r\n        //    BVCU_SUBMETHOD_RTSP = 0x22800,//回放会话RTSP控制命令。输入类型:BVCU_CTRL_RTSP;输出类型:BVCU_CTRL_RTSP;接收者先回命令,再发新数据。\r\n\r\n        //    //电子围栏&线路规划部分------------------\r\n        //    BVCU_SUBMETHOD_REGION_ADD = 0x22900, //添加CMS区域。输入类型:BVCU_Region_Info;输出类型:无;\r\n        //    BVCU_SUBMETHOD_REGION_SET, //修改CMS区域。输入类型:BVCU_Region_Info;输出类型:无;\r\n        //    BVCU_SUBMETHOD_REGION_DEL, //删除CMS区域。输入类型:BVCU_Region_Base;输出类型:无;触发类型:同名Notify\r\n\r\n        //    //UKey管理------------------\r\n        //    BVCU_SUBMETHOD_UKEY_ADD = 0x23000, //添加授权UKey。输入类型:BVCU_UCFG_UKeyInfo;输出类型:无;\r\n        //    BVCU_SUBMETHOD_UKEY_SET, //修改授权Ukey。输入类型:BVCU_UCFG_UKeyInfo;输出类型:无;\r\n        //    BVCU_SUBMETHOD_UKEY_DEL, //删除授权UKey。输入类型:BVCU_UCFG_UKeyBase;输出类型:无;\r\n\r\n        //    //=============subscribe/notify=============\r\n        //    //调用者应检查BVCU_NotifyMsgContent.szSourceID,确定信息的发出者\r\n        //    BVCU_SUBMETHOD_CONF_PARTICIPATOR_ADD_NOTIFY = BVCU_SUBMETHOD_CONF_PARTICIPATOR_ADD,//è´Ÿè½½BVCU_Conf_Participator_Info\r\n        //    BVCU_SUBMETHOD_CONF_PARTICIPATOR_JOIN_NOTIFY = BVCU_SUBMETHOD_CONF_PARTICIPATOR_JOIN,//è´Ÿè½½BVCU_Conf_Participator_Info\r\n        //    BVCU_SUBMETHOD_CONF_PARTICIPATOR_EXIT_NOTIFY = BVCU_SUBMETHOD_CONF_PARTICIPATOR_EXIT,//è´Ÿè½½BVCU_Conf_Participator_Info\r\n        //    BVCU_SUBMETHOD_CONF_PARTICIPATOR_APPLYFOR_STARTSPEAK_NOTIFY = BVCU_SUBMETHOD_CONF_PARTICIPATOR_APPLYFOR_STARTSPEAK,//è´Ÿè½½BVCU_Conf_Participator_Info\r\n        //    BVCU_SUBMETHOD_CONF_PARTICIPATOR_APPLYFOR_ENDSPEAK_NOTIFY = BVCU_SUBMETHOD_CONF_PARTICIPATOR_APPLYFOR_ENDSPEAK,//è´Ÿè½½BVCU_Conf_Participator_Info\r\n        //    BVCU_SUBMETHOD_CONF_PARTICIPATOR_LEAVE_NOTIFY = BVCU_SUBMETHOD_CONF_PARTICIPATOR_LEAVE,//è´Ÿè½½BVCU_Conf_Participator_Info\r\n        //    BVCU_SUBMETHOD_CONF_PARTICIPATOR_RETURN_NOTIFY = BVCU_SUBMETHOD_CONF_PARTICIPATOR_RETURN,//è´Ÿè½½BVCU_Conf_Participator_Info        \r\n\r\n        //    BVCU_SUBMETHOD_SYNCHRONIZATION_NOTIFY = BVCU_SUBMETHOD_PU_SYNCHRONIZATION, //同步图片(下载PU上传的图片)。负载:BVCU_PUCFG_Picture\r\n\r\n        //    BVCU_SUBMETHOD_LINKACTION_NOTIFY = 0x30000,//è´Ÿè½½BVCU_Event_LinkAction_Notify\r\n        //    BVCU_SUBMETHOD_EVENT_NOTIFY,//è´Ÿè½½BVCU_Event_Source\r\n\r\n        //    //=============收到的command=======================\r\n        //    //应用程序在Sessionçš„OnCmmand回调中收到命令,处理后配置BVCU_Event_SessionCmd参数并执行命令的OnEvent回调,BVCU_Event_SessionCmd.iResult表示命令执行结果。\r\n        //    //注意:不可以在OnCommand回调中执行OnEvent回调。\r\n        //    //注释说明,输入负载表示接收的命令负载,回响负载表示OnEventçš„BVCU_Event_SessionCmd.stContent的负载类型\r\n        //    BVCU_SUBMETHOD_CONF_START_CMD = BVCU_SUBMETHOD_CONF_START, //会议开始,询问是否参加。一个Pariticipator一次只能参加一个Start会议\r\n        //    //输入负载:BVCU_Conf_BaseInfo;回响负载:无\r\n        //    BVCU_SUBMETHOD_CONF_PARTICIPATOR_ADD_CMD = BVCU_SUBMETHOD_CONF_PARTICIPATOR_ADD,//被邀请加入会议。\r\n        //    //输入负载:BVCU_Conf_BaseInfo+本参与者的BVCU_Conf_Participator_Info\r\n        //    //回响负载:如果同意加入,负载BVCU_Conf_Participator_Info(应用程序应填写szAliasName),不同意为空\r\n        //    BVCU_SUBMETHOD_CONF_PARTICIPATOR_JOIN_CMD = BVCU_SUBMETHOD_CONF_PARTICIPATOR_JOIN,//用户请求加入,仅会议Admin收到。\r\n        //    //输入负载:BVCU_Conf_Participator_Info;回响负载:无\r\n        //    BVCU_SUBMETHOD_CONF_PARTICIPATOR_APPLYFOR_STARTSPEAK_CMD = BVCU_SUBMETHOD_CONF_PARTICIPATOR_APPLYFOR_STARTSPEAK,//用户请求发言,,会议Admin通过返回成功与否决定是否同意。负载BVCU_Conf_Participator_Info\r\n        //    BVCU_SUBMETHOD_CONF_PARTICIPATOR_INVITE_SPEAK_CMD = BVCU_SUBMETHOD_CONF_PARTICIPATOR_INVITE_SPEAK,//被点名发言。输入负载:BVCU_Conf_Participator_Info;回响负载:无\r\n\r\n        //    BVCU_SUBMETHOD_PU_OPENDIALOG_CMD = BVCU_SUBMETHOD_PU_OPENDIALOG, // PU请求建立会话。应用层回同意后,由应用层调用BVCU_Dialog_Open()创建会话。\r\n        //    // 输入负载:BVCU_PUCFG_OpenDialogï¼› 回响负载:无\r\n\r\n        //    BVCU_SUBMETHOD_USER_KICKOUT_CMD = BVCU_SUBMETHOD_USER_KICKOUT,  // 当前用户被踢出。应用层只需提示用户被踢出,回复该命令后,库内部做下线处理。\r\n        //    // 输入负载:BVCU_UCFG_Kickoutï¼› 回响负载:无\r\n\r\n        //    //=============reserved=============\r\n        //    BVCU_SUBMETHOD_RESERVED = 0x80000//之后的值内部使用\r\n\r\n        //    };\r\n\r\n\r\n        /*CU发出/接收的命令。在BVCU_SendCmd中用到*/\r\n        //typedef enum _BVCU_METHOD_TYPE{\r\n        //    BVCU_METHOD_UNKNOWN  = 0,  //未知\r\n        //    BVCU_METHOD_QUERY,         //查询   \r\n        //    BVCU_METHOD_CONTROL,       //控制\r\n        //    BVCU_METHOD_SUBSCRIBE,     //订阅\r\n\r\n        //    BVCU_METHOD_RESERVED = 0x80000,//保留供内部使用\r\n        //    }BVCU_METHOD_TYPE;\r\n\r\n\r\n        var szMethod = {\r\n            0: [\"BVCU_METHOD_UNKNOWN\",\"未知命令\"],\r\n            1: [\"BVCU_METHOD_QUERY\", \"查询命令\"],\r\n            2: [\"BVCU_METHOD_CONTROL\", \"控制命令\"],\r\n            3: [\"BVCU_METHOD_SUBSCRIBE\", \"订阅命令\"],\r\n            0x80000: [ \"BVCU_METHOD_RESERVED\", \"保留供内部使用\" ]\r\n        },\r\n            szSubMethod = {\r\n                0: [\"BVCU_METHOD_UNKNOWN\", \"未知命令\"],\r\n                0x00001: [\"BVCU_SUBMETHOD_CUSTOM\", \"自定义命令,服务器透明转发该命令给目标。\"],\r\n                //    //注意,BVCU_CmdMsgContent.pData被认为是字节类型,BVCU_CmdMsgContent.iDataCount表示字节长度\r\n\r\n                //    //=============query====================    \r\n                //    //PU部分-----------------------------\r\n                0x0000a: [\"BVCU_SUBMETHOD_PU_LIST\", \"CU从Server获取设备列表。\"],\r\n                0x0000b: [\"BVCU_SUBMETHOD_PU_BROADCASTSTATUS\", \"获取广播的设备列表状态(一个Session只能同时有一个广播)。\"],\r\n                0x0000c: [\"BVCU_SUBMETHOD_PU_GPSDATA\", \"获取PUçš„GPS通道数据。\"],\r\n                0x0000d: [\"BVCU_SUBMETHOD_PU_STORAGE_MEDIA\", \"获取某个存储器的分区信息。\"],\r\n                0x0000e: [\"BVCU_SUBMETHOD_PU_GROUPLIST\", \"获取设备分组列表。\"],\r\n                0x0000f: [\"BVCU_SUBMETHOD_PU_GROUPINFO\", \"获取设备分组信息。\"],\r\n                0x00010: [\"BVCU_SUBMETHOD_PU_UPDATESTATUS\", \"升级固件的状态。\"],\r\n                0x00012: [\"BVCU_SUBMETHOD_PU_POSITION\", \"基站、wifi定位信息。n\"],\r\n                0x00013: [\"BVCU_SUBMETHOD_PU_UserList\", \"获取平台设备使用者列表。\"],\r\n                0x00014: [\"BVCU_SUBMETHOD_PU_UserInfo\", \"获取平台设备使用者信息。\"],\r\n                0x00015: [\"BVCU_SUBMETHOD_PU_UserGroupList\", \"获取平台设备使用者组列表。\"],\r\n                0x00016: [\"BVCU_SUBMETHOD_PU_UserGroupInfo\", \"获取平台设备使用者组信息。\"],\r\n\r\n                //    //User部分---------------------------\r\n                0x01000: [\"BVCU_SUBMETHOD_USER_GROUPLIST\", \"获取用户组列表。\"],\r\n                0x01001: [\"BVCU_SUBMETHOD_USER_GROUPINFO\", \"获取用户组信息。\"],\r\n                0x01002: [\"BVCU_SUBMETHOD_USER_USERLIST\", \"获取用户列表。\"],\r\n                0x01003: [\"BVCU_SUBMETHOD_USER_USERINFO\", \"获取用户信息。\"],\r\n                0x01004: [\"BVCU_SUBMETHOD_USER_ONLINE\", \"获取在线用户列表。\"],\r\n                0x01005: [\"BVCU_SUBMETHOD_USER_ONLINEINFO\", \"获取在线用户信息。\"],\r\n\r\n                //    //VTDU部分----------------------------\r\n                0x01300: [\"BVCU_SUBMETHOD_VTDU_LIST\", \"获取VTDU列表。\"],\r\n\r\n                //    //NRU部分----------------------------\r\n                0x01400: [\"BVCU_SUBMETHOD_NRU_LIST\", \"获取NRU列表。\"],\r\n                0x01401: [\"BVCU_SUBMETHOD_NRU_SCHEDULE_LIST\", \"某个NRU存储计划列表。\"],\r\n                0x01402: [\"BVCU_SUBMETHOD_NRU_SCHEDULE_GET\", \"获NRU的一条存储计划。\"],\r\n\r\n                //    //Decoder部分------------------------\r\n                0x01500: [\"BVCU_SUBMETHOD_DEC_LIST\", \"获取解码器列表。\"],\r\n                //    BVCU_SUBMETHOD_DEC_LIST = 0x01500,//获取解码器列表。输入类型:无;输出类型:BVCU_DECCFG_BaseInfo数组\r\n\r\n                //    //CONF部分---------------------------\r\n                0x01600: [\"BVCU_SUBMETHOD_CONF_LIST\", \"获取所有会议列表,BVCU_Command.szTargetID设置为CMS ID。\"],\r\n                0x01601: [\"BVCU_SUBMETHOD_CONF_INFO\", \"获取某个会议详细信息,BVCU_Command.szTargetID设置为CONF_ID@CMS(@CMS可以省略,表示目前登录的CMS)。\"],\r\n                //    //BVCU_Command.iTargetIndex:0-查询所有会议列表;1-查询自己所在会议列表;2-查询自己不在的会议列表;3-查询有管理权限的会议列表。\r\n\r\n                //    //ALARM部分--------------------------\r\n                0x01700: [\"BVCU_SUBMETHOD_LINKACTION_LIST\", \"获取报警联动列表。\"],\r\n                0x01701: [\"BVCU_SUBMETHOD_LINKACTION_GET\", \"获取某个报警联动详细信息。\"],\r\n\r\n                //    //Search部分---------------------------\r\n                //    // BVCU_Command.szTargetID设置为CMS/NRU/VTDU ID。\r\n                0x01800: [\"BVCU_SUBMETHOD_SEARCH_LIST\", \"索引文件(记录等)。\"],\r\n                0x01801: [\"BVCU_SUBMETHOD_SYSTEM_INFO\", \"统及状态信息。\"],\r\n\r\n                //    //Region部分-------------------------\r\n                0x1900: [\"BVCU_SUBMETHOD_REGION_LIST\", \"获取CMS区域列表。\"],\r\n                0x1901: [\"BVCU_SUBMETHOD_REGION_GET\", \"获取某个CMS区域详细信息。\"],\r\n\r\n                //    //UKey部分---------------------------\r\n                0x2000: [\"BVCU_SUBMETHOD_UKEY_LIST\", \"获取授权UKey列表。组\"],\r\n                0x2001: [\"BVCU_SUBMETHOD_UKEY_GET\", \"获取某个授权UKey详细信息。\"],\r\n\r\n                //    //CMS部分----------------------------\r\n                0x2100: [\"BVCU_SUBMETHOD_CMS_BASEINFO\", \"获取登录CMS基本信息。\"],\r\n                0x2101: [\"BVCU_SUBMETHOD_CMS_DIALOGINFO\", \"获取登录CMS通道信息。\"],\r\n                0x2102: [\"BVCU_SUBMETHOD_CMS_TIME\", \"获取登录CMS时间。\"],\r\n\r\n                //    //=============query/control=============    \r\n                //    /*注意:query/control类型的命令,通常queryå’Œcontrol的输入类型和输出类型是对称的,例如\r\n                //    BVCU_SUBMETHOD_PTZATTR命令做Query时,输入类型无,输出类型是BVCU_PUCFG_PTZAttr,做Control\r\n                //    时,输入类型BVCU_PUCFG_PTZAttr,输出类型无。以下注释中,只表明Control的参数,如果没有特别说明,     \r\n                //    Query的参数输入/输出类型就是Control的输出/输入类型\r\n                //    */\r\n                //    //PU部分\r\n                0x10000: [\"BVCU_SUBMETHOD_PU_DEVICEINFO\", \"设备信息。\"],\r\n                0x10001: [\"BVCU_SUBMETHOD_PU_CHANNELINFO\", \"某个PU的通道信息。\"],\r\n                0x10002: [\"BVCU_SUBMETHOD_CMS_BASEINFO\", \"设备时间。\"],\r\n                0x10003: [\"BVCU_SUBMETHOD_PU_SERVERS\", \"注册服务器。\"],\r\n                0x10004: [\"BVCU_SUBMETHOD_PU_ETHERNET\", \"以太网。\"],\r\n                0x10005: [\"BVCU_SUBMETHOD_PU_WIFI\", \"WIFI。\"],\r\n                0x10006: [\"BVCU_SUBMETHOD_PU_RADIONETWORK\", \"无线网络。\"],\r\n                0x10007: [\"BVCU_SUBMETHOD_PU_PTZATTR\", \"云台属性。\"],\r\n                0x10008: [\"BVCU_SUBMETHOD_PU_ENCODERCHANNEL\", \"编码通道属性。;\"],\r\n                0x10009: [\"BVCU_SUBMETHOD_PU_VIDEOIN\", \"视频输入属性。\"],\r\n                0x1000a: [\"BVCU_SUBMETHOD_PU_AUDIOIN\", \"音频输入属性。\"],\r\n                0x1000b: [\"BVCU_SUBMETHOD_PU_AUDIOOUT\", \"音频输出属性\"],\r\n                0x1000c: [\"BVCU_SUBMETHOD_PU_ALERTIN\", \"报警输入属性。\"],\r\n                0x1000d: [\"BVCU_SUBMETHOD_PU_ALERTOUT\", \"报警输出属性。无;\"],\r\n                0x1000e: [\"BVCU_SUBMETHOD_PU_SERIALPORT\", \"编串口属性。\"],\r\n                0x1000f: [\"BVCU_SUBMETHOD_PU_GPS\", \"GPS属性。输入类型:\"],\r\n                0x10010: [\"BVCU_SUBMETHOD_PU_STORAGE_SCHEDULE\", \"存储计划。\"],\r\n                0x10011: [\"BVCU_SUBMETHOD_PU_STORAGE_RULE\", \"存储属性。 \"],\r\n                0x10012: [\"BVCU_SUBMETHOD_PU_STORAGE_FORMAT\", \"初始化某个存储器。 \"],\r\n                0x10013: [\"BVCU_SUBMETHOD_PU_ONLINECONTROL\", \"上下线控制。\"],\r\n                0x10014: [\"BVCU_SUBMETHOD_PU_SNAPSHOTPARAM\", \"配置自动抓拍参数。\"],\r\n                0x10015: [\"BVCU_SUBMETHOD_PU_POWER\", \"配置电源参数。\"],\r\n                0x10016: [\"BVCU_SUBMETHOD_PU_GPSSPEEDLIMIT\", \"配置设备全局限速。无\"],\r\n                0x10017: [\"BVCU_SUBMETHOD_PU_CARINFO\", \"设备相关的车辆信息(如:车载设备)。\"],\r\n                0x10018: [\"BVCU_SUBMETHOD_PU_BLUETOOTH\", \"设备蓝牙信息。 \"],\r\n                0x10019: [\"BVCU_SUBMETHOD_PU_VIDEOIN_CMOS\", \"视频输入CMOS属性。\"],\r\n                0x1001a: [\"BVCU_SUBMETHOD_PU_ZFYINFO\", \"设备相关的执法记录仪信息。\"],\r\n\r\n                //    //VTDU部分\r\n                0x10F00: [\"BVCU_SUBMETHOD_VTDU_INFO\", \"VTDU信息。\"],\r\n\r\n                //    //NRU部分\r\n                0x11000: [\"BVCU_SUBMETHOD_NRU_INFO\", \"NRU信息。\"],\r\n\r\n                //    //Decoder部分------------------------\r\n                //    //BVCU_Command.szTargetID设置为DEC_ID@CMS(@CMS可以省略,表示目前登录的CMS)\r\n                0x11100: [\"BVCU_SUBMETHOD_DEC_DEVICEINFO\", \"解码器详细信息。\"],\r\n                0x11100: [\"BVCU_SUBMETHOD_DEC_OPTIONS\", \"解码器设置选项。\"],\r\n                0x11100: [\"BVCU_SUBMETHOD_DEC_DECODER\", \"解码器解码通道配置。\"],\r\n                0x11100: [\"BVCU_SUBMETHOD_DEC_DISPLAY\", \"解码器显示通道配置。\"],\r\n\r\n                //    //CONF部分\r\n                //    //BVCU_Command.szTargetID设置为CONF_ID@CMS(@CMS可以省略,表示目前登录的CMS)\r\n                0x11200: [\"BVCU_SUBMETHOD_CONF_PARTICIPATOR_VOLUME\", \"调整某个参与者的音量。注意只影响本地听到的音量。\"],\r\n                0x11201: [\"BVCU_SUBMETHOD_CONF_BASEINFO\", \"获取/设置会议的信息,BVCU_Command.szTargetID设置为CONF_ID@CMS(@CMS可以省略,表示目前登录的CMS)。\"],\r\n\r\n                //    //=============control=============    \r\n                //    //PU部分---------------------------\r\n                0x20000: [\"BVCU_SUBMETHOD_PU_REBOOT\", \"重启设备。\"],\r\n\r\n                0x20001: [\"BVCU_SUBMETHOD_PU_DELETE\", \"从数据库中删除PU。输\"],\r\n                0x20002: [\"BVCU_SUBMETHOD_PU_SHUTDOWN\", \"关闭设备。\"],\r\n                0x20003: [\"BVCU_SUBMETHOD_PU_SAVECONFIG\", \"通知设备保存配置。\"],\r\n                0x20004: [\"BVCU_SUBMETHOD_PU_PTZCONTROL\", \"操作云台。 \"],\r\n\r\n                0x20005: [\"BVCU_SUBMETHOD_PU_PUTOFFLINE\", \"手工使PU下线。\"],\r\n                0x20006: [\"BVCU_SUBMETHOD_PU_MANUALRECORD\", \"手工启动/停止PU录像。\"],\r\n                0x20007: [\"BVCU_SUBMETHOD_PU_SNAPSHOT\", \"手工远程抓拍。\"],\r\n                0x20008: [\"BVCU_SUBMETHOD_PU_UPGRADE\", \"升级固件。\"],\r\n\r\n                0x20009: [\"BVCU_SUBMETHOD_PU_ADDGROUP\", \"添加设备分组。\"],\r\n                0x2000a: [\"BVCU_SUBMETHOD_PU_MODGROUP\", \"修改设备分组。\"],\r\n                0x2000b: [\"BVCU_SUBMETHOD_PU_DELGROUP\", \"删除设备分组。\"],\r\n                0x2000c: [\"BVCU_SUBMETHOD_PU_OPENDIALOG\", \"请求创建会话。\"],\r\n\r\n                0x2000d: [\"BVCU_SUBMETHOD_PU_SYNCHRONIZATION\", \"同步图片(上传未上传的抓图,下载CU上传的图片)。\"],\r\n                0x2000e: [\"BVCU_SUBMETHOD_PU_USER_ADDGROUP\", \"添加设备使用者组。\"],\r\n                0x2000f: [\"BVCU_SUBMETHOD_PU_USER_MODGROUP\", \"修改设备使用者组。\"],\r\n                0x20010: [\"BVCU_SUBMETHOD_PU_USER_DELGROUP\", \"删除设备使用者组。\"],\r\n\r\n                0x20011: [\"BVCU_SUBMETHOD_PU_USER_ADDUSER\", \"添加设备使用者。\"],\r\n                0x20012: [\"BVCU_SUBMETHOD_PU_USER_MODUSER\", \"修改设备使用者。\"],\r\n                0x20013: [\"BVCU_SUBMETHOD_PU_USER_DELUSER\", \"删除设备使用者。\"],\r\n                0x20014: [\"BVCU_SUBMETHOD_PU_USER_OPERATE\", \"绑定或解绑设备。\"],\r\n\r\n                //    //User部分---------------------------\r\n                0x22001: [\"BVCU_SUBMETHOD_USER_ADDGROUP\", \"添加用户组。\"],\r\n                0x22002: [\"BVCU_SUBMETHOD_USER_MODGROUP\", \"修改用户组。\"],\r\n                0x22003: [\"BVCU_SUBMETHOD_USER_DELGROUP\", \"删除用户组。\"],\r\n                0x22004: [\"BVCU_SUBMETHOD_USER_ADDUSER\", \"添加用户。\"],\r\n                0x22005: [\"BVCU_SUBMETHOD_USER_MODUSER\", \"修改用户。\"],\r\n                0x22006: [\"BVCU_SUBMETHOD_USER_DELUSER\", \"删除用户。\"],\r\n                0x22007: [\"BVCU_SUBMETHOD_USER_MODPASSWD\", \"修改用户密码。\"],\r\n                0x22008: [\"BVCU_SUBMETHOD_USER_KICKOUT\", \"踢出在线用户。\"],\r\n\r\n                //    //NRU部分---------------------------\r\n                0x22401: [\"BVCU_SUBMETHOD_NRU_DELETE\", \"从数据库中删除NRU。\"],\r\n                0x22402: [\"BVCU_SUBMETHOD_NRU_SCHEDULE_SET\", \"配置NRU的一条存储计划。\"],\r\n                0x22403: [\"BVCU_SUBMETHOD_NRU_SCHEDULE_DEL\", \"删除NRU的一条存储计划。\"],\r\n                0x22404: [\"BVCU_SUBMETHOD_NRU_MANUALRECORD\", \"手工启动/停止某个PU录像到NRU。\"],\r\n                0x22405: [\"BVCU_SUBMETHOD_NRU_SNAPSHOT\", \"手工抓拍到NRU。\"],\r\n                0x22406: [\"BVCU_SUBMETHOD_NRU_BACKUPDB\", \"手工备份数据库。\"],\r\n\r\n                //    //CONF部分---------------------------\r\n                //    //以下由具有BVCU_CONF_PARTICIPATOR_POWER_ADMIN权限者调用\r\n                0x22600: [\"BVCU_SUBMETHOD_CONF_CREATE\", \"创建会议,BVCU_Command.szTargetID设置为CMS ID。\"],\r\n\r\n                //    //以下所有BVCU_SUBMETHOD_CONF_*命令除非特别说明,否则BVCU_Command.szTargetID设置为CONF_ID@CMS(@CMS可以省略,表示目前登录的CMS)\r\n                0x22601: [\"BVCU_SUBMETHOD_CONF_DELETE\", \"删除会议。\"],\r\n                0x22602: [\"BVCU_SUBMETHOD_CONF_START\", \"开始会议。\"],\r\n                0x22603: [\"BVCU_SUBMETHOD_CONF_STOP\", \"停止会议。\"],\r\n                0x22604: [\"BVCU_SUBMETHOD_CONF_PARTICIPATOR_ADD\", \"添加会议参与者。\"],\r\n                0x22605: [\"BVCU_SUBMETHOD_CONF_PARTICIPATOR_REMOVE\", \"删除会议参与者。\"],\r\n                0x22606: [\"BVCU_SUBMETHOD_CONF_PARTICIPATOR_MODIFY\", \"修改会议参与者。\"],\r\n\r\n                //    //以下由BVCU_CONF_PARTICIPATOR_POWER_MODETATOR权限者调用\r\n                0x22607: [\"BVCU_SUBMETHOD_CONF_PARTICIPATOR_INVITE_SPEAK\", \"点名发言。\"],\r\n                0x22608: [\"BVCU_SUBMETHOD_CONF_PARTICIPATOR_TERMINATE_SPEAK\", \"结束发言。\"],\r\n\r\n                //    //以下由participator调用\r\n                0x22609: [\"BVCU_SUBMETHOD_CONF_PARTICIPATOR_JOIN\", \"请求加入会议。\"],\r\n                0x2260a: [\"BVCU_SUBMETHOD_CONF_PARTICIPATOR_EXIT\", \"请求退出会议。\"],\r\n\r\n                0x2260b: [\"BVCU_SUBMETHOD_CONF_PARTICIPATOR_APPLYFOR_STARTSPEAK\", \"申请发言。\"],\r\n                0x2260c: [\"BVCU_SUBMETHOD_CONF_PARTICIPATOR_APPLYFOR_ENDSPEAK\", \"结束发言。\"],\r\n\r\n                0x2260d: [\"BVCU_SUBMETHOD_CONF_PARTICIPATOR_LEAVE\", \"暂时离开会议。\"],\r\n                0x2260e: [\"BVCU_SUBMETHOD_CONF_PARTICIPATOR_RETURN\", \"返回会议。\"],\r\n\r\n                0x2260f: [\"BVCU_SUBMETHOD_CONF_PARTICIPATOR_INFO\", \"更改了自己的本地信息(目前仅szAliasName有意义),通知CMS。。\"],\r\n                0x22610: [\"BVCU_SUBMETHOD_CONF_VISITOR_JOIN\", \"请求旁听会议。\"],\r\n\r\n                0x22620: [\"BVCU_SUBMETHOD_IM_MSG\", \"发送即时消息。\"],\r\n\r\n                //    //存储文件部分---------------------------\r\n                //    /*BVCU_Search_FileFilter 中szDesc1,szDesc2作为修改字段,其余都作为过滤条件*/\r\n                0x22630: [\"BVCU_SUBMETHOD_RECORDFILE_DESC_SET\", \"设置文件记录的描述。\"],\r\n                0x22631: [\"BVCU_SUBMETHOD_RECORDFILE_DELETE\", \"删除指定条件的文件记录以及文件。\"],\r\n\r\n                //    //事件联动部分---------------------------\r\n                0x22700: [\"BVCU_SUBMETHOD_LINKACTION_ADD\", \"添加报警联动。\"],\r\n                0x22701: [\"BVCU_SUBMETHOD_LINKACTION_SET\", \"修改报警联动。\"],\r\n                0x22702: [\"BVCU_SUBMETHOD_LINKACTION_DEL\", \"删除报警联动。\"],\r\n                0x22703: [\"BVCU_SUBMETHOD_EVENT_PROCESS\", \"处警。\"],\r\n\r\n                //    //0x22800部分-------------------------------\r\n                0x22800: [\"BVCU_SUBMETHOD_RTSP\", \"回放会话RTSP控制命令。\"],\r\n\r\n                //    //电子围栏&线路规划部分------------------\r\n                0x22901: [\"BVCU_SUBMETHOD_REGION_ADD\", \"添加CMS区域。\"],\r\n                0x22902: [\"BVCU_SUBMETHOD_REGION_SET\", \"修改CMS区域。\"],\r\n                0x22903: [\"BVCU_SUBMETHOD_REGION_DEL\", \"删除CMS区域。\"],\r\n\r\n                //    //UKey管理------------------\r\n                0x23001: [\"BVCU_SUBMETHOD_UKEY_ADD\", \"添加授权UKey。\"],\r\n                0x23002: [\"BVCU_SUBMETHOD_UKEY_SET\", \"修改授权Ukey。\"],\r\n                0x23003: [\"BVCU_SUBMETHOD_UKEY_DEL\", \"删除授权UKey。\"],\r\n\r\n                0x30000: [\"BVCU_SUBMETHOD_LINKACTION_NOTIFY\", \"è´Ÿè½½BVCU_Event_LinkAction_Notify。\"],\r\n                0x30001: [\"BVCU_SUBMETHOD_EVENT_NOTIFY\", \"è½½BVCU_Event_Sourc。\"],\r\n\r\n                //    //=============reserved=============\r\n                0x80000: [\"BVCU_SUBMETHOD_RESERVED\", \"之后的值内部使用。\"],\r\n            };\r\n\r\n        this.parseCmd = function (iMethod, iSubMethod) {\r\n            var sResult = {\r\n                method: szMethod[iMethod] ? szMethod[iMethod][1] : \"unknow\" + iMethod,\r\n                subMethod: szSubMethod[iSubMethod] ? szSubMethod[iSubMethod][1] : \"unknow\" + iSubMethod\r\n            }\r\n            return sResult;\r\n        }\r\n    }));\r\n})(jSW.DependencyMgr);","(function (dMgr) {\r\n    var desModule = function () {\r\n        var jSWProtocol = dMgr.GetModule(\"jSWProtocol\");\r\n        var jSWUtils = dMgr.GetModule(\"jSWUtils\");\r\n        var jSWOptions = dMgr.GetModule(\"jSWOptions\");\r\n        var PuLoad = dMgr.GetModule('PuLoad');\r\n        var HTTPNruFile = dMgr.ClaimModule('HTTPNruFile');\r\n        var AudioMgr = dMgr.ClaimModule('AudioMgr');\r\n\r\n\r\n        this.handleNotify = function (desSession, options, response) {\r\n            var msgType = response.getMsgtype();\r\n\r\n            var data = {\r\n                target: null,\r\n                targetindex: -1,\r\n                content: null\r\n            };\r\n\r\n            if(msgType == proto.WEBBVCU.MSGType.WEB_BVCU_PUGPS_CHANNEL_DATA){\r\n\r\n                var targetId = response.getTargetid()\r\n                var targetIndex = response.getTargetindex()\r\n\r\n                var gpsdataResponse = proto.BVCU.PUConfig.GPSData.deserializeBinary(response.getPayload());\r\n                var gpsData = {\r\n                    lat: jSWProtocol.ParseNumberUint2Int(gpsdataResponse.getIlatitude()),\r\n                    long: jSWProtocol.ParseNumberUint2Int(gpsdataResponse.getIlongitude()),\r\n                    height: gpsdataResponse.getIheight(),\r\n                    angle: gpsdataResponse.getIangle(),\r\n                    speed: gpsdataResponse.getIspeed(),\r\n                    starcount: jSWProtocol.ParseNumberUint2Int(gpsdataResponse.getIstarcount()),\r\n                    antennastate: gpsdataResponse.getBantennastate(),\r\n                    orientationstate: gpsdataResponse.getBorientationstate(),\r\n                    satellitesignal: gpsdataResponse.getIsatellitesignal(),\r\n                    sttime: jSWProtocol.Walltime2Json(gpsdataResponse.getSttime().toObject())\r\n                };\r\n\r\n                desSession._OnNotifyGpsData(targetId, targetIndex, gpsData)\r\n                return;\r\n            }\r\n            else if(msgType == proto.WEBBVCU.MSGType.WEB_BVCU_GET_PU_RECORDSTATUS){\r\n                options.cmd = jSWProtocol.RequestHeader.notifys.notify_pu_record_status.cmd;\r\n                data.target = response.getTargetid()\r\n                data.content = proto.BVCU.PUConfig.RecordStatus.deserializeBinary(response.getPayload()).toObject()\r\n            }else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_NOTIFY_SESSION_GETPULIST) {\r\n                var notifycpi = proto.WEBBVCU.Current_Pulist_Info.deserializeBinary(response.getPayload());\r\n                return;\r\n            } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_NOTIFY_DISCONNECT) {\r\n                desSession._onServerDisconnect();\r\n                return;\r\n            } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_NOTIFY_PU_ONOFFLINE) {\r\n                options.cmd = jSWProtocol.RequestHeader.notifys.notify_pu_onoffline.cmd;\r\n                var pulist = proto.WEBBVCU.BVCU_GetPulist_Response.deserializeBinary(response.getPayload()).toObject().pulistList;\r\n                var pulistNotify = desSession._internalOnResponsePulist(pulist);\r\n                if (desSession._confManager != null) {\r\n                    desSession._confManager._onNotifyUserInfo(msgType, pulistNotify);\r\n                }\r\n                var onofflinepu = pulistNotify[0];\r\n                data = {\r\n                    onlinestatus: onofflinepu._info_pu.onlinestatus,\r\n                    content: onofflinepu\r\n                };\r\n            } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_NOTIFY_TSP_DATA) {\r\n                var tsp_data = proto.WEBBVCU.Notify_TSP_Data.deserializeBinary(response.getPayload());\r\n                options.cmd = jSWProtocol.RequestHeader.notifys.notify_tsp_data.cmd;\r\n\r\n                var desdata = tsp_data.getData();\r\n\r\n                var data = {\r\n                    target: tsp_data.getTargetid(),\r\n                    targetindex: tsp_data.getTargetindex(),\r\n                    content: {\r\n                        hex: jSWProtocol.uint8ArrayToHexArray(desdata)\r\n                    }\r\n                };\r\n            } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_RECORD_PLAY_RESPONSE) {\r\n                record_play_res = proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_RESPONSE.deserializeBinary(response.getPayload());\r\n\r\n                if (record_play_res) {\r\n                    record_player = desSession.swGetRecordPlayer(record_play_res.getDialogid())\r\n                    if (record_player) {\r\n                        // 收到pts, 更新播放进度\r\n                        record_player._on_update_pts(record_play_res.getPts())\r\n                    } else {\r\n                        console.warn('record play, not found by dialogId_: ' + record_play_res.getDialogid());\r\n                    }\r\n                }\r\n            } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_CONF_NOTIFY_CONF_START ||\r\n                msgType == proto.WEBBVCU.MSGType.WEB_BVCU_CONF_NOTIFY_CONF_CREATE ||\r\n                msgType == proto.WEBBVCU.MSGType.WEB_BVCU_CONF_NOTIFY_CONF_DELETE ||\r\n                msgType == proto.WEBBVCU.MSGType.WEB_BVCU_CONF_NOTIFY_CONF_STOP ||\r\n                msgType == proto.WEBBVCU.MSGType.WEB_BVCU_CONF_NOTIFY_PARTICIPATOR_ADD ||\r\n                msgType == proto.WEBBVCU.MSGType.WEB_BVCU_CONF_NOTIFY_PARTICIPATOR_REMOVE ||\r\n                msgType == proto.WEBBVCU.MSGType.WEB_BVCU_CONF_NOTIFY_PARTICIPATOR_APPLYFOR_ENDSPEAK ||\r\n                msgType == proto.WEBBVCU.MSGType.WEB_BVCU_CONF_NOTIFY_PARTICIPATOR_APPLYFOR_STARTSPEAK ||\r\n                msgType == proto.WEBBVCU.MSGType.WEB_BVCU_CONF_NOTIFY_PARTICIPATOR_INVITE_SPEAK ||\r\n                msgType == proto.WEBBVCU.MSGType.WEB_BVCU_CONF_NOTIFY_PARTICIPATOR_TERMINATE_SPEAK ||\r\n                msgType == proto.WEBBVCU.MSGType.WEB_BVCU_CONF_NOTIFY_PARTICIPATOR_LEAVE ||\r\n                msgType == proto.WEBBVCU.MSGType.WEB_BVCU_CONF_NOTIFY_PARTICIPATOR_RETURN ||\r\n                msgType == proto.WEBBVCU.MSGType.WEB_BVCU_CONF_PARTICIPATOR_MODIFY ||\r\n                msgType == proto.WEBBVCU.MSGType.WEB_BVCU_CONF_NOTIFY_PARTICIPATOR_JOIN ||\r\n                msgType == proto.WEBBVCU.MSGType.WEB_BVCU_CONF_NOTIFY_PARTICIPATOR_EXIT ||\r\n                msgType == proto.WEBBVCU.MSGType.WEB_BVCU_CONF_NOTIFY_BASEINFO ||\r\n                msgType == proto.WEBBVCU.MSGType.WEB_UTILS_AAC_OPERATE) {\r\n\r\n                var cmd = null;\r\n                switch (msgType) {\r\n                    case proto.WEBBVCU.MSGType.WEB_BVCU_CONF_NOTIFY_CONF_CREATE:\r\n                        cmd = jSWProtocol.RequestHeader.confnotify.notifyconfcreate.cmd;\r\n                        break;\r\n                    case proto.WEBBVCU.MSGType.WEB_BVCU_CONF_NOTIFY_CONF_START:\r\n                        cmd = jSWProtocol.RequestHeader.confnotify.notifyconfstart.cmd;\r\n                        break;\r\n                    case proto.WEBBVCU.MSGType.WEB_BVCU_CONF_NOTIFY_CONF_DELETE:\r\n                        cmd = jSWProtocol.RequestHeader.confnotify.notifyconfdelete.cmd;\r\n                        break;\r\n                    case proto.WEBBVCU.MSGType.WEB_BVCU_CONF_NOTIFY_CONF_STOP:\r\n                        cmd = jSWProtocol.RequestHeader.confnotify.notifyconfstop.cmd;\r\n                        break;\r\n                    case proto.WEBBVCU.MSGType.WEB_BVCU_CONF_NOTIFY_PARTICIPATOR_ADD:\r\n                        cmd = jSWProtocol.RequestHeader.confnotify.notifyparticipartoradd.cmd;\r\n                        break;\r\n                    case proto.WEBBVCU.MSGType.WEB_BVCU_CONF_NOTIFY_PARTICIPATOR_JOIN:\r\n                        cmd = jSWProtocol.RequestHeader.confnotify.notifyparticipartorjoin.cmd;\r\n                        break;\r\n                    case proto.WEBBVCU.MSGType.WEB_BVCU_CONF_NOTIFY_PARTICIPATOR_REMOVE:\r\n                        cmd = jSWProtocol.RequestHeader.confnotify.notifyparticipartorremove.cmd;\r\n                        break;\r\n                    case proto.WEBBVCU.MSGType.WEB_BVCU_CONF_NOTIFY_PARTICIPATOR_EXIT:\r\n                        cmd = jSWProtocol.RequestHeader.confnotify.notifyparticipartorexit.cmd;\r\n                        break;\r\n                    case proto.WEBBVCU.MSGType.WEB_BVCU_CONF_NOTIFY_PARTICIPATOR_APPLYFOR_ENDSPEAK:\r\n                        cmd = jSWProtocol.RequestHeader.confnotify.notifyapplyforendspeak.cmd;\r\n                        break;\r\n                    case proto.WEBBVCU.MSGType.WEB_BVCU_CONF_NOTIFY_PARTICIPATOR_APPLYFOR_STARTSPEAK:\r\n                        cmd = jSWProtocol.RequestHeader.confnotify.notifyapplyforstartspeak.cmd;\r\n                        break;\r\n                    case proto.WEBBVCU.MSGType.WEB_BVCU_CONF_NOTIFY_PARTICIPATOR_INVITE_SPEAK:\r\n                        cmd = jSWProtocol.RequestHeader.confnotify.notifyinvitespeak.cmd;\r\n                        break;\r\n                    case proto.WEBBVCU.MSGType.WEB_BVCU_CONF_NOTIFY_PARTICIPATOR_TERMINATE_SPEAK:\r\n                        cmd = jSWProtocol.RequestHeader.confnotify.notifyterminatespeak;\r\n                        break;\r\n                    case proto.WEBBVCU.MSGType.WEB_BVCU_CONF_NOTIFY_PARTICIPATOR_LEAVE:\r\n                        cmd = jSWProtocol.RequestHeader.confnotify.notifyparticipartorleave;\r\n                        break;\r\n                    case proto.WEBBVCU.MSGType.WEB_BVCU_CONF_NOTIFY_PARTICIPATOR_RETURN:\r\n                        cmd = jSWProtocol.RequestHeader.confnotify.notifyparticipartorreturn.cmd;\r\n                        break;\r\n                    case proto.WEBBVCU.MSGType.WEB_BVCU_CONF_PARTICIPATOR_MODIFY:\r\n                        cmd = jSWProtocol.RequestHeader.confnotify.notifyparticipatormodify.cmd;\r\n                        break;\r\n                    case proto.WEBBVCU.MSGType.WEB_BVCU_CONF_NOTIFY_BASEINFO:\r\n                        cmd = jSWProtocol.RequestHeader.confnotify.notifybaseinfo.cmd;\r\n                        break;\r\n                    case proto.WEBBVCU.MSGType.WEB_UTILS_AAC_OPERATE:\r\n                        cmd = jSWProtocol.RequestHeader.confnotify.notifyaacoperate.cmd;\r\n                        break;\r\n                }\r\n                if (desSession._confManager != null) {\r\n                    desSession._confManager._onCMrNotify(msgType, cmd, response);\r\n                    return;\r\n                }\r\n            } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_CONF_NOTIFY_IM_MSG) {\r\n                if (desSession._immodule) {\r\n                    cmd = jSWProtocol.RequestHeader.confnotify.notifyimmsg.cmd;\r\n                    desSession._immodule._imOnNotify(msgType, cmd, response);\r\n                }\r\n                return;\r\n            } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_CONF_NOTIFY_USERLOGIN ||\r\n                msgType == proto.WEBBVCU.MSGType.WEB_BVCU_CONF_NOTIFY_USERLOGOUT) {\r\n                if (desSession._confManager != null) {\r\n                    desSession._confManager._onNotifyUserInfo(msgType, response);\r\n                }\r\n                return;\r\n            } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_NOTIFY_EVENT_SOURCE) {\r\n                options.cmd = jSWProtocol.RequestHeader.notifys.notify_event_source.cmd;\r\n                data = jSWProtocol.EventSourcePb2_Json(response.getPayload());\r\n            } else if (\r\n                msgType == proto.WEBBVCU.MSGType.WEB_BVCU_NOTIFY_USER_ADDGROUP ||\r\n                msgType == proto.WEBBVCU.MSGType.WEB_BVCU_NOTIFY_USER_ADDUSER ||\r\n                msgType == proto.WEBBVCU.MSGType.WEB_BVCU_NOTIFY_USER_DELGROUP ||\r\n                msgType == proto.WEBBVCU.MSGType.WEB_BVCU_NOTIFY_USER_DELUSER ||\r\n                msgType == proto.WEBBVCU.MSGType.WEB_BVCU_NOTIFY_USER_MODGROUP ||\r\n                msgType == proto.WEBBVCU.MSGType.WEB_BVCU_NOTIFY_USER_MODUSER) {\r\n                if (desSession._userManager != null) {\r\n                    desSession._userManager._onNotify(msgType, response, response.getPayload());\r\n                    return;\r\n                }\r\n            } else if (msgType == proto.WEBBVCU.MSGType.WEB_NOTIFY_BVCU_EVENT_STORAGE_FILE_OPEN ||\r\n                msgType == proto.WEBBVCU.MSGType.WEB_NOTIFY_BVCU_EVENT_STORAGE_FILE_CLOSE ||\r\n                msgType == proto.WEBBVCU.MSGType.WEB_NOTIFY_BVCU_EVENT_STORAGE_ERROR) {\r\n                var recordtargetid = response.getTargetid();\r\n                var recordtargetindex = response.getTargetindex();\r\n                var videoChannel = desSession.swGetPuChanel(recordtargetid, recordtargetindex);\r\n                var eventStorage = jSWProtocol.BVCU_EventStoragePb2_Json(response.getPayload());\r\n                videoChannel._notifyDialogEventStorage(msgType, eventStorage);\r\n                if (msgType == proto.WEBBVCU.MSGType.WEB_NOTIFY_BVCU_EVENT_STORAGE_FILE_CLOSE ||\r\n                    msgType == proto.WEBBVCU.MSGType.WEB_NOTIFY_BVCU_EVENT_STORAGE_ERROR) {\r\n                    console.log(\"本地录像 \" + recordtargetid + \"\" + recordtargetindex + \"录像\" + eventStorage.szfilename + \"结果\" + (eventStorage.iresult == 0 ? \"Ok!\" : (\"faild!\" + eventStorage.iresult)));\r\n                }\r\n                return;\r\n            } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_NOTIFY_FILE_TRANS ||\r\n                msgType == proto.WEBBVCU.MSGType.WEB_BVCU_CONF_IM_MSG ||\r\n                msgType == proto.WEBBVCU.MSGType.WEB_CONF_IM_PIC_MSG ||\r\n                msgType == proto.WEBBVCU.MSGType.WEB_CONF_IM_FILE_MSG ||\r\n                msgType == proto.WEBBVCU.MSGType.WEB_BVCU_UPLOAD_FILE_TONRU) {\r\n\r\n                var data = jSWProtocol.ParseFileTranInfo(response.getPayload());\r\n\r\n                if (data.sEvent && data.sEvent.nruid.indexOf(\"PU\") == 0) {\r\n                    options.cmd = jSWProtocol.RequestHeader.notifys.notify_down_from_pu.cmd;\r\n                } else if (data.sEvent && data.sEvent.nruid.indexOf(\"NRU\") == 0) {\r\n                    options.cmd = jSWProtocol.RequestHeader.notifys.notify_down_from_nru.cmd;\r\n                }\r\n\r\n                var myattchdataid = response.getRelayid();\r\n                var attchdata = jSWProtocol.txGetRequestHelperOption(myattchdataid);\r\n\r\n                if (jSW.FileTransEvent.FILE_TRANS_CLOSE == data.sEvent.iEvent) {\r\n                    jSWProtocol.txSetRequestHelperOption(myattchdataid, null);\r\n                }\r\n\r\n                if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_CONF_IM_MSG) {\r\n                    if (jSW.FileTransEvent.FILE_TRANS_CLOSE == data.sEvent.iEvent) {\r\n                        var rccode = response.getCode();\r\n                        if (jSW.RcCode.RC_CODE_S_OK == rccode) {\r\n                            if (desSession._immodule) {\r\n                                desSession._immodule._imMsgProgress(msgType, {\r\n                                    data: data,\r\n                                    attchdata: attchdata\r\n                                }, response);\r\n                            }\r\n                            return;\r\n                        }\r\n                    }\r\n                }\r\n\r\n                if (attchdata) {\r\n                    if ((typeof attchdata.callback) == 'function') {\r\n                        attchdata.callback(attchdata.options, response, data);\r\n                    }\r\n                }\r\n            } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_NOTIFY_PU_OPENDIALOG_CMD) {\r\n                options.cmd = jSWProtocol.RequestHeader.notifys.notify_pu_apply_for_opening_dialog.cmd;\r\n                var descontent = jSWProtocol.SWOpenDialogPb2_Json(response.getPayload());\r\n                data.content = descontent;\r\n            }\r\n\r\n\r\n            /**调用命令的回调函数*/\r\n            if (options && ((typeof options.callback) == 'function')) {\r\n                options.callback(options, response);\r\n            }\r\n\r\n            /**通知调用者*/\r\n            desSession._callbackManager.dispatchCallback(\"notify\", {\r\n                code: response.getCode(),\r\n                msg: options.cmd,\r\n                content: data\r\n            });\r\n        }\r\n\r\n        this.internalOnResponseSuccess = function (desSession, options, response, status) {\r\n            var cmd = options.cmd;\r\n            var request = options.request;\r\n            var userTag = options.tag;\r\n            var msgType = response.getMsgtype();\r\n            var payload = response.getPayload();\r\n            var payloadRequest = request.getPayload();\r\n            var resultCode = response.getCode();\r\n            var data = null;\r\n            var bDoAsyncCallback = false\r\n\r\n            request.param = {\r\n                id: request.getTargetid(),\r\n                major: request.getTargetindex(),\r\n                targetid: request.getTargetid(),\r\n                targetindex: request.getTargetindex(),\r\n                hdlg: request.getHdlg()\r\n            };\r\n\r\n            try {\r\n                switch(msgType){\r\n                    case proto.WEBBVCU.MSGType.WEB_BVCU_SEARCH_UALIST:{\r\n                        if (resultCode == jSW.RcCode.RC_CODE_S_OK){\r\n                            var searchResponse = proto.BVCU.Search.Search_Response.deserializeBinary(payload);  \r\n                            data = searchResponse.toObject()\r\n                            data = data.pualistList\r\n                        }\r\n                    }\r\n                    break;\r\n                    case proto.WEBBVCU.MSGType.WEB_BVCU_SUBMETHOD_CONF_PARTICIPATOR_INVITE_JOIN:{\r\n\r\n                    }\r\n                    break;\r\n                    case proto.WEBBVCU.MSGType.WEB_BVCU_SUBMETHOD_CONF_PARTICIPATOR_KICKOUT:{\r\n\r\n                    }\r\n                    break;\r\n                    case proto.WEBBVCU.MSGType.WEB_GET_DIALOG_INFO:{\r\n                        data = proto.WEBBVCU.DialogInfo.deserializeBinary(payload).toObject();\r\n                    }\r\n                    break;\r\n                    case proto.WEBBVCU.MSGType.WEB_GET_VERSION_INFO:{\r\n                        jSWUtils.debugLog(\"get version info\", resultCode);\r\n                        if (resultCode == jSW.RcCode.RC_CODE_S_OK) {\r\n                            var versionInfo = proto.WEBBVCU.VersionInfo.deserializeBinary(payload);\r\n                            var iprototype = versionInfo.getIprototype();\r\n                            var szVersion = jSWProtocol.HexToString(versionInfo.getSzversionid());\r\n                            if (szVersion.length > 0) {\r\n                                var desTime = szVersion.split(\" \");\r\n                                var tempTime = desTime[1].split(':');\r\n                                szVersion = desTime[0] + \" \";\r\n                                for (var iIndex in tempTime) {\r\n                                    if (tempTime[iIndex].length == 1) {\r\n                                        szVersion += '0';\r\n                                    }\r\n                                    szVersion += (tempTime[iIndex] + (iIndex == 2 ? \"\" : \":\"));\r\n                                }\r\n                            }\r\n                            data = {\r\n                                szprototype: (iprototype == jSW.CallProtoType.OCX) ? \"OCX\" : \"HTTP\",\r\n                                szversionid: szVersion\r\n                            }\r\n                        }\r\n                    }\r\n                    break; case proto.WEBBVCU.MSGType.WEB_BVCU_NOTIFY:{\r\n                        if (resultCode == jSW.RcCode.RC_CODE_S_OK) {\r\n\r\n                        }\r\n                    }\r\n                    break;\r\n                    case proto.WEBBVCU.MSGType.WEB_BVCU_GET_PUBKEY:{\r\n                        if (resultCode == jSW.RcCode.RC_CODE_S_OK) {\r\n                            var publicKey = proto.WEBBVCU.PublicKey.deserializeBinary(payload);\r\n                            desSession.pubkey_d = publicKey.getD();\r\n                            desSession.pubkey_n = publicKey.getN();\r\n                            data = {\r\n                                pubkey_d: desSession.pubkey_d,\r\n                                pubkey_n: desSession.pubkey_n\r\n                            };\r\n                        }\r\n                    }\r\n                    break;\r\n                    case proto.WEBBVCU.MSGType.WEB_BVCU_LOGIN:{\r\n                        console.log('login' + ((jSW.RcCode.RC_CODE_S_OK == resultCode) ? ' Ok' : ' Failed'));\r\n\r\n                        if (resultCode == jSW.RcCode.RC_CODE_S_OK) {\r\n                            var loginResponse = proto.WEBBVCU.BVCU_Login_Response.deserializeBinary(payload);\r\n                            desSession._serverConfig = {\r\n                                keepliveinterval: loginResponse.getKeepliveinterval(),\r\n                                sessionidletime: loginResponse.getSessionidletime(),\r\n                                dialogidletime: loginResponse.getDialogidletime(),\r\n                                cryptokey: loginResponse.getCryptokey(),\r\n                                cryptoiv: loginResponse.getCryptoiv()\r\n                            };\r\n                            desSession._p_emms.setSession(loginResponse.getSession());\r\n                            desSession._emms.session = loginResponse.getSession();\r\n                            desSession._bLogout = false;\r\n    \r\n                            {\r\n                                if (desSession._timer_keeplive) {\r\n                                    clearInterval(desSession._timer_keeplive);\r\n                                }\r\n    \r\n                                var callback_keeplive = function (session) {\r\n                                    if (session._p_emms.getSession() && session._p_emms.getSession().length > 0) {\r\n                                        var interval = 10 * 1000;\r\n                                        try {\r\n                                            session.swKeepLive();\r\n    \r\n                                            for (var i = 0; i < session._arr_dialog.length; i++) {\r\n                                                session._arr_dialog[i].swKeepLive();\r\n                                            }\r\n    \r\n                                            if (session._serverConfig && session._serverConfig.keepliveinterval > 5000) {\r\n                                                interval = session._serverConfig.keepliveinterval;\r\n                                            }\r\n                                        } catch (e) {\r\n                                            console.error('-- keeplive -- error ' + e);\r\n                                        }\r\n    \r\n                                        //desSession._timer_keeplive = setTimeout(callback_keeplive, interval, session);\r\n    \r\n                                    } else {\r\n                                        if (desSession._timer_keeplive) {\r\n                                            clearInterval(desSession._timer_keeplive);\r\n                                        }\r\n                                    }\r\n                                };\r\n    \r\n                                var interval = 10 * 1000;\r\n                                if (desSession._serverConfig && desSession._serverConfig.keepliveinterval > 5000) {\r\n                                    interval = desSession._serverConfig.keepliveinterval;\r\n                                }\r\n    \r\n    \r\n                                if (jSWUtils._mMgr.bUseOcx() == false) {\r\n                                    if (true) {\r\n                                        interval = 30 * 1000;\r\n                                    }\r\n                                    desSession._timer_keeplive = setInterval(callback_keeplive, interval, desSession);\r\n                                }\r\n    \r\n                                HTTPNruFile.OnLoginOk(desSession);\r\n                                PuLoad.OnLoginOk(desSession);\r\n                                AudioMgr.OnLoginOk(desSession);\r\n                            }\r\n                        } else {\r\n                            //console.error(\"登录结果序列化失败:服务器也许不在线\");\r\n                        }\r\n                    }\r\n                    break;\r\n                }\r\n                \r\n                if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_NOTIFY_SESSION_GETPULIST) {\r\n                    //收到登录成功信息后发送的让中间件获取设备列表\r\n                    return;\r\n                } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_GET_PULIST ||\r\n                    msgType == proto.WEBBVCU.MSGType.WEB_BVCU_SEARCH_GET_PULIST) {\r\n                    /**设备列表命令*/\r\n                    if (resultCode == jSW.RcCode.RC_CODE_S_OK) {\r\n                        var pulist = dMgr.GetModule('PuLoad').OnSearchPuListResponse(msgType, payload);\r\n                        data = pulist;\r\n                    }\r\n                } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_GET_PUINFO_BY_PUID) {\r\n                    desSession._internalOnResponsePulist(response);\r\n                } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_GET_PU_UPDATESTATUS) {\r\n                    if (resultCode == jSW.RcCode.RC_CODE_S_OK) {\r\n                        data = proto.BVCU.PUConfig.UpdateStatus.deserializeBinary(payload).toObject()\r\n                        if (data) {\r\n                            if (data.idownloadpercent > 2147483647) {\r\n                                data.idownloadpercent = data.idownloadpercent - 4294967296\r\n                            }\r\n                            if (data.ispeed > 2147483647) {\r\n                                data.ispeed = data.ispeed - 4294967296\r\n                            }\r\n                        }\r\n                    }\r\n                } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_KEEPALIVE) {\r\n                    /**保活*/\r\n                    if (jSW.RcCode.RC_CODE_S_HTTP_HAVE_NOTIFY == resultCode) {\r\n                        // session.swGetPuList();\r\n                        desSession._internalOnResponsePulist(response);\r\n\r\n                        //response.request = request.request = jSWProtocol.RequestHeader.pulist.requestHeader;\r\n                        response.emms.code = jSW.RcCode.RC_CODE_S_OK;\r\n                        desSession._callbackManager.dispatchCallback(jSWProtocol.RequestHeader.pulist.cmd, {\r\n                            code: resultCode,\r\n                            request: request,\r\n                            response: response,\r\n                            msg: ''\r\n                        });\r\n                    }\r\n                } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_OPEN_CHANLE ||\r\n                    msgType == proto.WEBBVCU.MSGType.WEB_BVCU_OPEN_CHANLE_TSP) {\r\n                    /**打开视频命令*/\r\n                    console.log(\"on open chanle, result\" + (resultCode == jSW.RcCode.RC_CODE_S_OK ? ' Ok' : ' Failed'));\r\n                    if (jSW.RcCode.RC_CODE_S_OK == resultCode) {\r\n                        var param = proto.WEBBVCU.BVCU_DialogParam.deserializeBinary(payloadRequest);\r\n                        var openDialogResponse = proto.WEBBVCU.Open_Dialog_Response.deserializeBinary(payload);\r\n                        var hdlg = openDialogResponse.getHdlg();\r\n                        var chanel = desSession.swGetPuChanel(param.getId(), param.getMajor());\r\n                        var commonDlg = desSession._commDlgMgr.createAndSave(chanel, hdlg);\r\n                        /**保活chanel, 将该chanel添加到保活队列中*/\r\n                        var isFind = false;\r\n                        for (var i = 0; i < desSession._arr_dialog.length; i++) {\r\n                            if (chanel.compare(desSession._arr_dialog[i])) {\r\n                                isFind = true;\r\n                            }\r\n                        }\r\n                        if (false == isFind) {\r\n                            desSession._arr_dialog.push(chanel);\r\n                        }\r\n                        data = commonDlg;\r\n\r\n                        if( msgType == proto.WEBBVCU.MSGType.WEB_BVCU_OPEN_CHANLE_TSP){\r\n                            chanel._OnTspDialog(data)\r\n                        }\r\n\r\n                    }\r\n                    //options.tag = options.tag.userdata;\r\n                } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_CLOSE_CHANLE) {\r\n                    console.log(\"on close chanle, result\" + (resultCode == jSW.RcCode.RC_CODE_S_OK ? ' Ok' : ' Failed'));\r\n                    if (jSW.RcCode.RC_CODE_S_OK == resultCode) {\r\n                        var param = proto.WEBBVCU.BVCU_DialogParam.deserializeBinary(payloadRequest);\r\n                        /**关闭视频命令*/\r\n                        var chanel = desSession.swGetPuChanel(param.getId(), param.getMajor());\r\n                        /**结束chanel保活, 将该chanel从保活队列中移除*/\r\n                        for (var i = 0; i < desSession._arr_dialog.length; i++) {\r\n                            if (chanel.compare(desSession._arr_dialog[i])) {\r\n                                desSession._arr_dialog.splice(i, 1);\r\n                                break;\r\n                            }\r\n                        }\r\n                    }\r\n                }  \r\n                else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_GET_PU_RECORDSTATUS) {\r\n                    if(jSW.RcCode.RC_CODE_S_OK == resultCode){\r\n                        data = proto.BVCU.PUConfig.RecordStatus.deserializeBinary(response.getPayload()).toObject()\r\n                    }\r\n                }\r\n\r\n                else if(msgType == proto.WEBBVCU.MSGType.WEB_BVCU_OPEN_PUGPS_CHANNEL){\r\n                    var targetId = response.getTargetid()\r\n                    var targetIndex = response.getTargetindex()\r\n                    var commondata = proto.WEBBVCU.CommonData.deserializeBinary(response.getPayload());\r\n                    var hdlg = commondata.getIdata1();\r\n                    desSession._OnOpenGpsChannel(targetId, targetIndex, resultCode, hdlg)\r\n                }\r\n\r\n                else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_GET_PUGPSDATA) {\r\n                    /**获取GPS数据*/\r\n                    console.log(\"on get pugpsdata, result\" + (resultCode == jSW.RcCode.RC_CODE_S_OK ? ' Ok' : ' Failed'));\r\n                    if (jSW.RcCode.RC_CODE_S_OK == resultCode) {\r\n                        var gpsdataResponse = proto.BVCU.PUConfig.GPSData.deserializeBinary(payload);\r\n                        response.gps = {\r\n                            lat: jSWProtocol.ParseNumberUint2Int(gpsdataResponse.getIlatitude()),\r\n                            long: jSWProtocol.ParseNumberUint2Int(gpsdataResponse.getIlongitude()),\r\n                            height: gpsdataResponse.getIheight(),\r\n                            angle: gpsdataResponse.getIangle(),\r\n                            speed: gpsdataResponse.getIspeed(),\r\n                            starcount: jSWProtocol.ParseNumberUint2Int(gpsdataResponse.getIstarcount()),\r\n                            antennastate: gpsdataResponse.getBantennastate(),\r\n                            orientationstate: gpsdataResponse.getBorientationstate(),\r\n                            satellitesignal: gpsdataResponse.getIsatellitesignal(),\r\n                            sttime: jSWProtocol.Walltime2Json(gpsdataResponse.getSttime().toObject())\r\n                        };\r\n\r\n                        data = response.gps;\r\n\r\n                        console.log('gps ' + \"{lat:\" + response.gps.lat + ' ' + \"long:\" + response.gps.long + \"}\");\r\n                    }\r\n                } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_GET_PU_GPS) {\r\n                    if (resultCode == jSW.RcCode.RC_CODE_S_OK) {\r\n                        var gpsattrpb = proto.BVCU.PUConfig.GPSParam.deserializeBinary(payload);\r\n                        var gpsattrjson = {\r\n                            szname: gpsattrpb.getSzname(),\r\n                            isupportsatellitesignal: gpsattrpb.getIsupportsatellitesignal(),\r\n                            isetupsatellitesignal: gpsattrpb.getIsetupsatellitesignal(),\r\n                            benable: (gpsattrpb.getBenable() == 0 ? false : true),\r\n                            ireportinterval: gpsattrpb.getIreportinterval(),\r\n                            ireportdistance: gpsattrpb.getIreportdistance()\r\n                        }\r\n\r\n                        gpsattrjsonresult = {\r\n                            szname: gpsattrjson.szname,\r\n                            supportsatellitesignal: {\r\n                                isgps: ((gpsattrjson.isupportsatellitesignal & jSW.SWPu.SATELLITE.GPS) == jSW.SWPu.SATELLITE.GPS),\r\n                                isbds: ((gpsattrjson.isupportsatellitesignal & jSW.SWPu.SATELLITE.BDS) == jSW.SWPu.SATELLITE.BDS),\r\n                                isglonass: ((gpsattrjson.isupportsatellitesignal & jSW.SWPu.SATELLITE.GLONASS) == jSW.SWPu.SATELLITE.GLONASS),\r\n                                isgalileo: ((gpsattrjson.isupportsatellitesignal & jSW.SWPu.SATELLITE.GALILEO) == jSW.SWPu.SATELLITE.GALILEO),\r\n                                isqzss: ((gpsattrjson.isupportsatellitesignal & jSW.SWPu.SATELLITE.QZSS) == jSW.SWPu.SATELLITE.QZSS)\r\n                            },\r\n                            setupsatellitesignal: {\r\n                                isgps: ((gpsattrjson.isetupsatellitesignal & jSW.SWPu.SATELLITE.GPS) == jSW.SWPu.SATELLITE.GPS),\r\n                                isbds: ((gpsattrjson.isetupsatellitesignal & jSW.SWPu.SATELLITE.BDS) == jSW.SWPu.SATELLITE.BDS),\r\n                                isglonass: ((gpsattrjson.isetupsatellitesignal & jSW.SWPu.SATELLITE.GLONASS) == jSW.SWPu.SATELLITE.GLONASS),\r\n                                isgalileo: ((gpsattrjson.isetupsatellitesignal & jSW.SWPu.SATELLITE.GALILEO) == jSW.SWPu.SATELLITE.GALILEO),\r\n                                isqzss: ((gpsattrjson.isetupsatellitesignal & jSW.SWPu.SATELLITE.QZSS) == jSW.SWPu.SATELLITE.QZSS)\r\n                            },\r\n                            benable: gpsattrjson.benable,\r\n                            ireportinterval: gpsattrjson.ireportinterval,\r\n                            ireportdistance: gpsattrjson.ireportdistance\r\n                        }\r\n\r\n                        data = gpsattrjsonresult;\r\n                    }\r\n                } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_GET_SEARCH_LIST) {\r\n                    /**获取文件查询列表*/\r\n                    console.log('search file list ' + (resultCode == jSW.RcCode.RC_CODE_S_OK ? \"Ok\" : \"Failed\"));\r\n                    var targetId = response.getTargetid();\r\n                    var bSearchOnNRU = (targetId == \"NRU_\");\r\n                    var searchResponse = proto.BVCU.Search.Search_Response.deserializeBinary(payload);\r\n                    if (resultCode == jSW.RcCode.RC_CODE_S_OK) {\r\n                        data = [];\r\n                        var searchinfo = searchResponse.getStsearchinfo();\r\n                        data = {\r\n                            info: {\r\n                                iPostition: searchinfo.getIpostition(),\r\n                                iCount: searchinfo.getIcount(),\r\n                                iTotalCount: searchinfo.getItotalcount()\r\n                            },\r\n                            content: []\r\n                        };\r\n\r\n                        var filePath = \"\";\r\n                        var fileInfoList = searchResponse.getPfileinfoList();\r\n                        var filePathSrc = null;\r\n                        var fileItem = null;\r\n                        var puinfo = null;\r\n                        for (var i = 0; i < searchResponse.getStsearchinfo().getIcount(); i++) {\r\n                            fileItem = fileInfoList[i];\r\n                            filePathSrc = fileItem.getSzfilepath();\r\n                            // filePath = (jSWOptions.CheckNotOcx() && bSearchOnNRU && false) ? (jSWOptions.http + '/' + jSWUtils.FilterPath(filePathSrc)) :\r\n                            //     filePathSrc.replace(/\\\\\\\\/g, \"\\\\\");\r\n                            filePath = filePathSrc.replace(/\\\\\\\\/g, \"\\\\\");\r\n                            filePath = filePath.replace(/\\\\/g, '/');\r\n                            puinfo = jSWUtils.PathParse(filePathSrc);\r\n                            var aaa = fileItem.getItimerecord();\r\n                            if (aaa > 0x1f00000000000000) {\r\n                                aaa = -1;\r\n                            }\r\n                            data.content[i] = {\r\n                                szPuid: puinfo.szpuid,\r\n                                iChannelIndex: puinfo.ichannelindex,\r\n                                szFilePath: filePath,\r\n                                szFilePathSrc: filePathSrc,\r\n                                iRecordType: fileItem.getIrecordtype(),\r\n                                iRecordID: fileItem.getIrecordid(),\r\n                                iFileType: fileItem.getIfiletype(),\r\n                                iFileSize: fileItem.getIfilesize(),\r\n                                iTimeRecord: aaa,\r\n                                iTimeBegin: fileItem.getItimebegin(),\r\n                                iTimeEnd: fileItem.getItimeend(),\r\n                                szDesc1: fileItem.getSzdesc1(),\r\n                                szDesc2: fileItem.getSzdesc2(),\r\n                                szSourceID: fileItem.getSzsourceid(),\r\n                            };\r\n\r\n                            if (jSWOptions.CheckNotOcx()) {\r\n                                HTTPNruFile.CreateUrl(data.content[i], true, targetId, filePathSrc, fileItem.getIfilesize(), filePathSrc)\r\n                            }\r\n\r\n                            if (bSearchOnNRU) {\r\n                                //data.content[i].szFilePath = jSWUtils.FilterPath(data.content[i].szFilePath);\r\n                                //desSession\r\n                            }\r\n                            console.log(data.content[i].szFilePath);\r\n                        }\r\n                    }\r\n                } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_GET_SEARCH_OPERATE) {\r\n                    /**获取日志查询列表*/\r\n                    console.log('get operate log ' + (resultCode == jSW.RcCode.RC_CODE_S_OK ? \"Ok\" : \"Failed\"));\r\n                    if (resultCode == jSW.RcCode.RC_CODE_S_OK) {\r\n                        var searchResponse = proto.BVCU.Search.Search_Response.deserializeBinary(payload);\r\n                        var operateLog = jSWProtocol.OperateSearchLogs2_Json(payload);\r\n                        data = operateLog;\r\n                    }\r\n                } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_GET_CONF_LIST) {\r\n                    console.log(\"on get conf list, result\" + (resultCode == jSW.RcCode.RC_CODE_S_OK ? ' Ok' : ' Failed'));\r\n                    var confBaseInfoResponse = proto.WEBBVCU.Conf_List_Response.deserializeBinary(payload);\r\n                    if (resultCode == jSW.RcCode.RC_CODE_S_OK) {\r\n                        response.confList = [];\r\n                        var confBaseInfo = null;\r\n                        for (var i = 0; i < confBaseInfoResponse.getSzconflistList().length; i++) {\r\n                            confBaseInfo = null;\r\n                            confBaseInfo = confBaseInfoResponse.getSzconflistList()[i];\r\n                            if (confBaseInfo != null) {\r\n                                response.confList[i] =\r\n                                    jSW.SwConfManager._UTILS.confBaseInfoToLocalInfo(confBaseInfo);\r\n                            }\r\n                        }\r\n\r\n                        desSession._internalOnConfResponse(msgType, response.confList);\r\n                        data = response.confList;\r\n                    }\r\n                } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_GET_CONF_INFO ||\r\n                    msgType == proto.WEBBVCU.MSGType.WEB_BVCU_SET_CONF_CREATE) {\r\n\r\n                    var confInfo = proto.BVCU.ConfInfo.deserializeBinary(payload);\r\n                    if (resultCode == jSW.RcCode.RC_CODE_S_OK) {\r\n                        response.confInfo = {\r\n                            baseinfo: null,\r\n                            particulars: [],\r\n                            icreater: null\r\n                        };\r\n\r\n                        var confBaseInfo = confInfo.getBaseinfo();\r\n\r\n                        response.confInfo.baseinfo =\r\n                            jSW.SwConfManager._UTILS.confBaseInfoToLocalInfo(confBaseInfo);\r\n\r\n                        var particularInfo = confInfo.getPparticipatorsList();\r\n\r\n                        for (var i = 0; i < particularInfo.length; i++) {\r\n                            response.confInfo.particulars[i] =\r\n                                jSW.SwConfManager._UTILS.participatorToLocalUser(desSession, particularInfo[i]);\r\n                        }\r\n\r\n                        response.confInfo.icreater = confInfo.getPcreator() & 0x0000ffff;\r\n                        response.confInfo.icurrentuserindex = (confInfo.getPcreator() & 0xffff0000) >> 16;\r\n\r\n                        data = desSession._internalOnConfResponse(msgType, response.confInfo);\r\n\r\n                        if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_SET_CONF_CREATE) {\r\n                            console.log(\"create conference: \" + request.getTargetid() + \" , result\" + (resultCode == jSW.RcCode.RC_CODE_S_OK ? 'Ok' : 'Failed'));\r\n                        } else {\r\n                            console.log(\"on get conf: \" + request.getTargetid() + \" info, result\" + (resultCode == jSW.RcCode.RC_CODE_S_OK ? 'Ok' : 'Failed'));\r\n                        }\r\n                    }\r\n                } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_SET_CONF_DELETE) {\r\n                    console.log(\"delete conf, result\" + (resultCode == jSW.RcCode.RC_CODE_S_OK ? ' Ok' : ' Failed'));\r\n                    if (resultCode == jSW.RcCode.RC_CODE_S_OK) {\r\n                        var targetId = request.getTargetid();\r\n                        desSession._internalOnConfResponse(msgType, targetId);\r\n                    }\r\n                } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_CONF_PARTICIPATOR_ADD ||\r\n                    msgType == proto.WEBBVCU.MSGType.WEB_BVCU_CONF_PARTICIPATOR_REMOVE) {\r\n                    console.log(cmd + \" result\" + (resultCode == jSW.RcCode.RC_CODE_S_OK ? ' Ok' : ' Failed'));\r\n                    if (resultCode == jSW.RcCode.RC_CODE_S_OK) {\r\n                        var addResult = proto.BVCU.ConfParticipatorAddResult.deserializeBinary(payload);\r\n\r\n                        var resultlist = addResult.getIresultbitsList();\r\n                        var particularsrclist = proto.WEBBVCU.Conf_Participator_ADD.deserializeBinary(request.getPayload());\r\n                        particularsrclist = particularsrclist.getSzparticcipatorList();\r\n                        var resultIndex;\r\n                        var iresultLeft;\r\n                        var iResult;\r\n                        var particularAddResult = {\r\n                            resultlist: [],\r\n                            targetid: null\r\n                        };\r\n                        particularAddResult.targetid = request.getTargetid();\r\n\r\n                        var localuser = null;\r\n                        for (var iIndex = 0; iIndex < particularsrclist.length; iIndex++) {\r\n                            resultIndex = iIndex / 32;\r\n                            iresultLeft = iIndex % 32;\r\n                            iResult = ((resultlist[resultIndex] >>> 0) << iresultLeft) >> (31 - iresultLeft) == -1;\r\n                            localuser = jSW.SwConfManager._UTILS.participatorToLocalUser(desSession._confManager, particularsrclist[iIndex]);\r\n                            particularAddResult.resultlist[iIndex] = {\r\n                                particular: localuser,\r\n                                result: iResult\r\n                            };\r\n                        }\r\n\r\n                        desSession._internalOnConfResponse(msgType, particularAddResult);\r\n                        data = particularAddResult;\r\n                    }\r\n                } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_CONF_START ||\r\n                    msgType == proto.WEBBVCU.MSGType.WEB_BVCU_CONF_STOP) {\r\n\r\n                    var strOperate = msgType == proto.WEBBVCU.MSGType.WEB_BVCU_CONF_START ? ' start' : ' stop';\r\n\r\n                    console.log('conf: ' + request.getTargetid() + strOperate + ', result' + (resultCode == jSW.RcCode.RC_CODE_S_OK ? ' Ok' : ' Failed'));\r\n\r\n                    if (resultCode == jSW.RcCode.RC_CODE_S_OK) {\r\n                        var targetId = request.getTargetid();\r\n                        desSession._internalOnConfResponse(msgType, {\r\n                            targetid: targetId,\r\n                            bIsStarted: msgType == proto.WEBBVCU.MSGType.WEB_BVCU_CONF_START\r\n                        });\r\n                    }\r\n                } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_CONF_PARTICIPATOR_APPLYFOR_STARTSPEAK ||\r\n                    msgType == proto.WEBBVCU.MSGType.WEB_BVCU_CONF_PARTICIPATOR_APPLYFOR_ENDSPEAK) {\r\n                    console.log(\"conf apply for, result\" + (resultCode == jSW.RcCode.RC_CODE_S_OK ? \"Ok\" : \"Failed\"));\r\n\r\n                    if (resultCode == jSW.RcCode.RC_CODE_S_OK) {\r\n                        var targetId = request.getTargetid();\r\n                        desSession._internalOnConfResponse(msgType, {\r\n                            targetid: targetId,\r\n                            bIsSpeak: msgType == proto.WEBBVCU.MSGType.WEB_BVCU_CONF_PARTICIPATOR_APPLYFOR_STARTSPEAK\r\n                        });\r\n                    }\r\n                } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_CONF_LEAVE ||\r\n                    msgType == proto.WEBBVCU.MSGType.WEB_BVCU_CONF_RETURN) {\r\n\r\n                    var strMsgType = msgType == proto.WEBBVCU.MSGType.WEB_BVCU_CONF_LEAVE ? 'leave' : 'return';\r\n\r\n                    console.log(strMsgType + \"conf \" + request.getTargetid() + \", result\" + (resultCode == jSW.RcCode.RC_CODE_S_OK ? \"Ok\" : \"Failed\"));\r\n\r\n                    if (resultCode == jSW.RcCode.RC_CODE_S_OK) {\r\n                        var targetId = request.getTargetid();\r\n                        desSession._internalOnConfResponse(msgType, {\r\n                            targetid: targetId,\r\n                            bIsSpeak: msgType == proto.WEBBVCU.MSGType.WEB_BVCU_CONF_RETURN\r\n                        });\r\n                    }\r\n                } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_GET_PU_DEVICEINFO) {\r\n                    var strMsgType = \"get pu deviceinfo\";\r\n\r\n                    console.log(strMsgType + \"pu: \" + request.getTargetid() + \", result\" + (resultCode == jSW.RcCode.RC_CODE_S_OK ? \"Ok\" : \"Failed\"));\r\n\r\n                    if (resultCode == jSW.RcCode.RC_CODE_S_OK) {\r\n                        var deviceinfo = proto.BVCU.PUConfig.DeviceInfo.deserializeBinary(payload);\r\n                        data = {\r\n                            szID: deviceinfo.getSzid(),\r\n                            szManufacturer: deviceinfo.getSzmanufacturer(),\r\n                            szProductName: deviceinfo.getSzproductname(),\r\n                            szSoftwareVersion: deviceinfo.getSzsoftwareversion(),\r\n                            szHardwareVersion: deviceinfo.getSzhardwareversion(),\r\n                            iPUType: deviceinfo.getIputype(),\r\n                            languages: [],\r\n                            languageSelected: '',\r\n                            Ilanguageindex: deviceinfo.getIlanguageindex(),\r\n                            szName: deviceinfo.getSzname(),\r\n                            iWIFICount: deviceinfo.getIwificount(),\r\n                            iRadioCount: deviceinfo.getIradiocount(),\r\n                            iChannelCount: deviceinfo.getIchannelcount(),\r\n                            iVideoInCount: deviceinfo.getIvideoincount(),\r\n                            iAudioInCount: deviceinfo.getIaudioincount(),\r\n                            iAudioOutCount: deviceinfo.getIaudiooutcount(),\r\n                            iPTZCount: deviceinfo.getIptzcount(),\r\n                            iSerialPortCount: deviceinfo.getIserialportcount(),\r\n                            iAlertInCount: deviceinfo.getIalertincount(),\r\n                            iAlertOutCount: deviceinfo.getIalertoutcount(),\r\n                            iStorageCount: deviceinfo.getIstoragecount(),\r\n                            iGPSCount: deviceinfo.getIgpscount(),\r\n                            bSupportSMS: deviceinfo.getBsupportsms() == 1,\r\n                            iPresetCount: deviceinfo.getIpresetcount(),\r\n                            iCruiseCount: deviceinfo.getIcruisecount(),\r\n                            iAlarmLinkActionCount: deviceinfo.getIalarmlinkactioncount(),\r\n                            iLongitude: deviceinfo.getIlongitude(),\r\n                            iLatitude: deviceinfo.getIlatitude(),\r\n                            szBluetoothAddr: deviceinfo.getSzbluetoothaddr()\r\n                        };\r\n\r\n                        var szLanguage = \"\";\r\n                        var sziLanguages = deviceinfo.getIlanguageList();\r\n                        for (iLanguage in sziLanguages) {\r\n                            szLanguage = jSWProtocol.GetPuLanguageByIndex(sziLanguages[iLanguage]);\r\n                            data.languages.push(szLanguage);\r\n                        }\r\n\r\n                        data.languageSelected = jSWProtocol.GetPuLanguageByIndex(sziLanguages[data.Ilanguageindex]);\r\n                    }\r\n                } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_SET_PU_DEVICEINFO) {\r\n                    var strMsgType = \"set pu deviceinfo\";\r\n\r\n                    console.log(strMsgType + \"pu: \" + request.getTargetid() + \", result\" + (resultCode == jSW.RcCode.RC_CODE_S_OK ? \"Ok\" : \"Failed\"));\r\n                } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_GET_PU_ETHERNET) {\r\n                    var strMsgType = \"get pu ethernet\";\r\n\r\n                    console.log(strMsgType + \"pu: \" + request.getTargetid() + \", result\" + (resultCode == jSW.RcCode.RC_CODE_S_OK ? \"Ok\" : \"Failed\"));\r\n\r\n                    if (resultCode == jSW.RcCode.RC_CODE_S_OK) {\r\n                        var ethernetinfo = proto.BVCU.PUConfig.Ethernet.deserializeBinary(payload);\r\n                        data = {\r\n                            bDHCP: ethernetinfo.getBdhcp() == 1,\r\n                            bPPPoE: ethernetinfo.getBpppoe() == 1,\r\n                            bAutoDNS: ethernetinfo.getBautodns() == 1,\r\n                            szIP: ethernetinfo.getSzip(),\r\n                            szNetMask: ethernetinfo.getSznetmask(),\r\n                            szGateway: ethernetinfo.getSzgateway(),\r\n                            szDNS: ethernetinfo.getSzdnsList(),\r\n                            szPPPoEUserName: ethernetinfo.getSzpppoeusername(),\r\n                            szPPPoEPassword: ethernetinfo.getSzpppoepassword(),\r\n                            iStatus: ethernetinfo.getIstatus()\r\n                        };\r\n                    }\r\n                } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_GET_PU_RADIONETWORK) {\r\n                    var strMsgType = \"get pu radionetwork\";\r\n\r\n                    console.log(strMsgType + \"pu: \" + request.getTargetid() + \", result\" + (resultCode == jSW.RcCode.RC_CODE_S_OK ? \"Ok\" : \"Failed\"));\r\n\r\n                    if (resultCode == jSW.RcCode.RC_CODE_S_OK) {\r\n                        var radionetworkAll = proto.BVCU.PUConfig.RadioNetworkAll.deserializeBinary(payload);\r\n                        var radionetworklist = radionetworkAll.getStradionetworkList();\r\n\r\n                        var radionetinfo = null;\r\n                        data = [];\r\n\r\n                        var radio = null;\r\n                        var protowalltime = null;\r\n                        for (radioindex in radionetworklist) {\r\n                            radio = radionetworklist[radioindex];\r\n                            protowalltime = radio.getStlasttime();\r\n                            radionetinfo = {\r\n                                bEnable: radio.getBenable() == 1, //是否使用该模块。0-不\r\n                                iTypeAll: radio.getItypeallList(), //模块支持的所有网\r\n                                iTypeIndex: radio.getItypeindex(), //当前使用的网络类型\r\n                                szModuleName: radio.getSzmodulename(),\r\n                                szUserName: radio.getSzusername(),\r\n                                szPassword: radio.getSzpassword(),\r\n                                szAPN: radio.getSzapn(),\r\n                                szAccessNum: radio.getSzaccessnum(),\r\n                                szCardNum: radio.getSzcardnum(),\r\n                                bOnline: radio.getBonline() == 1, //是否在线。0-不在线,\r\n                                iSignalLevel: radio.getIsignallevelList(), //每种网络类型\r\n                                iOnlineTime: radio.getIonlinetime(), //上线时间,单位秒\r\n                                iTrafficDownload: radio.getItrafficdownload(), //下载的网络\r\n                                iTrafficUpload: radio.getItrafficupload(), //上传的网络流\r\n                                iSpeedDownload: radio.getIspeeddownload(), //当前下载速度\r\n                                iSpeedUpload: radio.getIspeedupload(), //当前上载速度,单\r\n                                iTrafficYear: radio.getItrafficyear(), // 本年消耗总流\r\n                                iTrafficMonth: radio.getItrafficmonth(), // 本月消耗总流\r\n                                iTrafficDay: radio.getItrafficday(), // 本日目前消耗\r\n                                iTrafficLastTime: radio.getItrafficlasttime(), // 上次上线\r\n                                stLastTime: {\r\n                                    iyear: protowalltime.getIyear(),\r\n                                    imonth: protowalltime.getImonth(),\r\n                                    iday: protowalltime.getIday(),\r\n                                    ihour: protowalltime.getIhour(),\r\n                                    iminute: protowalltime.getIminute(),\r\n                                    isecond: protowalltime.getIsecond(),\r\n                                }, // 上次\r\n                                iMonthDay: radio.getImonthday(), // 每月计费日(月\r\n                                bRebootAfterDialingFatalErr: radio.getBrebootafterdialingfatalerr() == 1\r\n                            };\r\n\r\n                            data.push(radionetinfo);\r\n                        }\r\n                    }\r\n                } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_GET_PU_WIFI) {\r\n                    var strMsgType = \"get pu wifi\";\r\n\r\n                    console.log(strMsgType + \"pu: \" + request.getTargetid() + \", result\" + (resultCode == jSW.RcCode.RC_CODE_S_OK ? \"Ok\" : \"Failed\"));\r\n                    var pucfgwifi = proto.BVCU.PUConfig.Wifi.deserializeBinary(payload);\r\n                    var wifigeneral = pucfgwifi.getStgeneral();\r\n                    var hostspot = pucfgwifi.getSthostspot();\r\n                    var wifiap = pucfgwifi.getStwifiap();\r\n                    if (resultCode == jSW.RcCode.RC_CODE_S_OK) {\r\n                        data = {\r\n                            bEnable: pucfgwifi.getBenable() == 1, //连接AP热点是否使能:0\r\n                            iMode: pucfgwifi.getImode(), //连接AP热点方式:0-普通\r\n                            iSignalLevel: pucfgwifi.getIsignallevel(), //信号强度。0~100\r\n                            stGeneral: {\r\n                                szSSID: wifigeneral.getSzssid(),\r\n                                iSecurityType: wifigeneral.getIsecuritytype(),\r\n                                iCryptType: wifigeneral.getIcrypttype(), //\r\n                                szWEPKey: wifigeneral.getSzwepkeyList(),\r\n                                szWPAKey: wifigeneral.getSzwpakey(),\r\n                                bDHCP: wifigeneral.getBdhcp() == 1, //是否使\r\n                                bPPPoE: wifigeneral.getBpppoe() == 1, //是否\r\n                                bAutoDNS: wifigeneral.getBautodns() == 1, //自\r\n                                szIP: wifigeneral.getSzip(), //i\r\n                                szNetMask: wifigeneral.getSznetmask(),\r\n                                szGateway: wifigeneral.getSzgateway(),\r\n                                szDNS: wifigeneral.getSzdnsList(),\r\n                                iStatus: wifigeneral.getIstatus(), // \r\n                            },\r\n                            stHostSpot: {\r\n                                szProviderAll: hostspot.getSzproviderallList(),\r\n                                iProviderIndex: hostspot.getIproviderindex(),\r\n                                szAreaAll: hostspot.getSzareaallList(),\r\n                                iAreaIndex: hostspot.getIareaindex(),\r\n                                szUserName: hostspot.getSzusername(),\r\n                                szPassword: hostspot.getSzpassword()\r\n                            },\r\n                            stWifiAP: {\r\n                                bEnable: wifiap.getBenable() == 1,\r\n                                bHideSSID: wifiap.getBhidessid() == 1,\r\n                                szSSID: wifiap.getSzssid(),\r\n                                iSafeType: wifiap.getIsafetype(),\r\n                                szPassWord: wifiap.getSzpassword(),\r\n                                iChannel: wifiap.getIchannel(),\r\n                                bAutoChannelSelect: wifiap.getBautochannelselect() == 1,\r\n                                szIP: wifiap.getSzip(),\r\n                                szSubMark: wifiap.getSzsubmark(),\r\n                                bDHCP: wifiap.getBdhcp() == 1,\r\n                                szDHCPStartAddr: wifiap.getSzdhcpstartaddr(),\r\n                                szDHCPEndAddr: wifiap.getSzdhcpendaddr()\r\n                            }, //wif\r\n                            szMacAddr: pucfgwifi.getSzmacaddr()\r\n                        }\r\n                    }\r\n                } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_GET_PU_SERVERS) {\r\n                    var strMsgType = \"get pu servers\";\r\n\r\n                    console.log(strMsgType + \"pu: \" + request.getTargetid() + \", result\" + (resultCode == jSW.RcCode.RC_CODE_S_OK ? \"Ok\" : \"Failed\"));\r\n                    var puservers = proto.BVCU.PUConfig.Servers.deserializeBinary(payload);\r\n                    var regserver = puservers.getStregisterserver();\r\n                    var updateserver = puservers.getStupdateserver();\r\n                    var timesource = puservers.getSttimesource();\r\n                    var ddns = puservers.getStddns();\r\n                    var emailserver = puservers.getStemailserver();\r\n                    var reserveserver = puservers.setStreserveserver();\r\n                    if (resultCode == jSW.RcCode.RC_CODE_S_OK) {\r\n                        data = {\r\n                            stRegisterServer: {\r\n                                szAddr: regserver.getSzaddr(),\r\n                                iPort: regserver.getIport(),\r\n                                iProto: regserver.getIproto(),\r\n                                iKeepAliveTimeout: regserver.getIkeepalivetimeout(),\r\n                                szUserName: regserver.getSzusername(),\r\n                                szPassword: regserver.getSzpassword(),\r\n                                iStreamPathWay: regserver.getIstreampathway()\r\n                            },\r\n                            stUpdateServer: {\r\n                                szAddr: updateserver.getSzaddr(),\r\n                                iPort: updateserver.getIport(),\r\n                                szUserName: updateserver.getSzusername(),\r\n                                szPassword: updateserver.getSzpassword(),\r\n                                iProto: updateserver.getIproto(),\r\n                                szPath: updateserver.getSzpath()\r\n                            },\r\n                            stTimeSource: {\r\n                                iTimeZone: timesource.getItimezone(), //本地时区\r\n                                bDST: timesource.getBdst() == 1, //是否使用夏令时。0-不使用\r\n                                stNTPServer: timesource.getStntpserver(),\r\n                                iNTP: timesource.getIntp(), //NTP优先级1-100, <=0表\r\n                                iGPS: timesource.getIgps(), //GPS优先级1-100, <=0表\r\n                            },\r\n                            stDDNS: {\r\n                                bDDNS: ddns.getBddns() == 1, //动态域名。\r\n                                szDDNSProvider: ddns.getSzddnsprovider(),\r\n                                szDDNSAddr: ddns.getSzddnsaddr(),\r\n                                szDDNSUserName: ddns.getSzddnsusername(),\r\n                                szDDNSPassword: ddns.getSzddnspassword(),\r\n                                szDynamicName: ddns.getSzdynamicname()\r\n                            },\r\n                            stEmailServer: {\r\n                                szServerAddr: (emailserver == null ? \"\" : emailserver.getSzserveraddr()),\r\n                                iServerPort: (emailserver == null ? \"\" : emailserver.getIserverport()),\r\n                                szUserName: (emailserver == null ? \"\" : emailserver.getSzusername()),\r\n                                szPassword: (emailserver == null ? \"\" : emailserver.getPassword()),\r\n                                szSenderAddr: (emailserver == null ? \"\" : emailserver.getSzsenderaddr()),\r\n                                bSSLEnable: (emailserver == null ? \"\" : emailserver.getBsslenable())\r\n                            },\r\n                            stReserveServer: {\r\n                                szAddr: (reserveserver == null ? \"\" : reserveserver.getSzaddr()),\r\n                                iPort: (reserveserver == null ? \"\" : reserveserver.getIport()),\r\n                                iProto: (reserveserver == null ? \"\" : reserveserver.getIproto()),\r\n                                iKeepAliveTimeout: (reserveserver == null ? \"\" : reserveserver.getIkeepalivetimeout()),\r\n                                szUserName: (reserveserver == null ? \"\" : reserveserver.getSzusername()),\r\n                                szPassword: (reserveserver == null ? \"\" : reserveserver.getSzpassword()),\r\n                                iStreamPathWay: (reserveserver == null ? \"\" : reserveserver.getIstreampathway())\r\n                            }\r\n                        };\r\n                    }\r\n                } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_GET_PU_ONLINECONTROL) {\r\n                    var strMsgType = \"get pu onlinecontrol\";\r\n\r\n                    console.log(strMsgType + \"pu: \" + request.getTargetid() + \", result\" + (resultCode == jSW.RcCode.RC_CODE_S_OK ? \"Ok\" : \"Failed\"));\r\n                    var onlinectrl = proto.BVCU.PUConfig.OnlineControl.deserializeBinary(payload);\r\n                    var days = onlinectrl.getStweekList();\r\n                    var stresms = onlinectrl.getStresms();\r\n                    if (resultCode == jSW.RcCode.RC_CODE_S_OK) {\r\n                        data = {\r\n                            bPowerOnOnline: onlinectrl.getBpowerononline() == 1,\r\n                            stWeek: {\r\n                                sunday: jSWProtocol.BVCU_DayTimeSlice_Pb2Json(days[0]),\r\n                                monday: jSWProtocol.BVCU_DayTimeSlice_Pb2Json(days[1]),\r\n                                tuesday: jSWProtocol.BVCU_DayTimeSlice_Pb2Json(days[2]),\r\n                                wednesday: jSWProtocol.BVCU_DayTimeSlice_Pb2Json(days[3]),\r\n                                thurday: jSWProtocol.BVCU_DayTimeSlice_Pb2Json(days[4]),\r\n                                friday: jSWProtocol.BVCU_DayTimeSlice_Pb2Json(days[5]),\r\n                                saturday: jSWProtocol.BVCU_DayTimeSlice_Pb2Json(days[6])\r\n                            }, //一周中的时间片段\r\n                            stRESMS: {\r\n                                szCardNum: stresms.getSzcardnumList(),\r\n                                szContent: stresms.getSzcontent(),\r\n                                bReply: stresms.getBreply() == 1\r\n                            }, //短信触发的配置\r\n                        };\r\n                    }\r\n                } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_GET_PU_POWER) {\r\n\r\n                    var strMsgType = \"get pu power\";\r\n\r\n                    console.log(strMsgType + \"pu: \" + request.getTargetid() + \", result\" + (resultCode == jSW.RcCode.RC_CODE_S_OK ? \"Ok\" : \"Failed\"));\r\n                    var power = proto.BVCU.PUConfig.Power.deserializeBinary(payload);\r\n                    var stTrunon = power.getStturnon().getStweekList();\r\n                    if (resultCode == jSW.RcCode.RC_CODE_S_OK) {\r\n                        data = {\r\n                            iTurnOffDelay: power.getIturnoffdelay(),\r\n                            bEnableTimer: power.getBenabletimer() == 1,\r\n                            stTurnOn: {\r\n                                sunday: jSWProtocol.BVCU_DayTimeSlice_Pb2JsonOnly(stTrunon[0]),\r\n                                monday: jSWProtocol.BVCU_DayTimeSlice_Pb2JsonOnly(stTrunon[1]),\r\n                                tuesday: jSWProtocol.BVCU_DayTimeSlice_Pb2JsonOnly(stTrunon[2]),\r\n                                wednesday: jSWProtocol.BVCU_DayTimeSlice_Pb2JsonOnly(stTrunon[3]),\r\n                                thurday: jSWProtocol.BVCU_DayTimeSlice_Pb2JsonOnly(stTrunon[4]),\r\n                                friday: jSWProtocol.BVCU_DayTimeSlice_Pb2JsonOnly(stTrunon[5]),\r\n                                saturday: jSWProtocol.BVCU_DayTimeSlice_Pb2JsonOnly(stTrunon[6])\r\n                            },\r\n                            iBatteryPower: power.getIbatterypower(),\r\n                            iBatteryStatus: power.getIbatterystatus()\r\n                        };\r\n                    }\r\n                } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_GET_PU_ZFYINFO) {\r\n                    var strMsgType = \"get pu zfyinfo\";\r\n\r\n                    console.log(strMsgType + \"pu: \" + request.getTargetid() + \", result\" + (resultCode == jSW.RcCode.RC_CODE_S_OK ? \"Ok\" : \"Failed\"));\r\n                    var zfyinfo = proto.BVCU.PUConfig.ZFYInfo.deserializeBinary(payload);\r\n                    if (resultCode == jSW.RcCode.RC_CODE_S_OK) {\r\n                        data = {\r\n                            szDevModel: zfyinfo.getSzdevmodel(),\r\n                            szIMEI_MEID: zfyinfo.getSzimeiMeid(),\r\n                            szSerial: zfyinfo.getSzserial(),\r\n                            szUserNo: zfyinfo.getSzuserno(),\r\n                            szUserName: zfyinfo.getSzusername(),\r\n                            szUserDescribe: zfyinfo.getSzuserdescribe(),\r\n                            szUnitNo: zfyinfo.getSzunitno(),\r\n                            szUnitName: zfyinfo.getSzunitname(),\r\n                            szDefaultConference: zfyinfo.getSzdefaultconference(),\r\n                            szCurrentConference: zfyinfo.getSzcurrentconference()\r\n                        };\r\n                    }\r\n                } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_SET_PU_ZFYINFO) {\r\n                    var strMsgType = \"set pu zfyinfo\";\r\n\r\n                    console.log(strMsgType + \"pu: \" + request.getTargetid() + \"result\" + (resultCode == jSW.RcCode.RC_CODE_S_OK ? \"Ok\" : \"Failed\"));\r\n                } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_GET_PU_CARINFO) {\r\n                    var strMsgType = \"get pu carinfo\";\r\n\r\n                    console.log(strMsgType + \"pu: \" + request.getTargetid() + \"result\" + (resultCode == jSW.RcCode.RC_CODE_S_OK ? \"Ok\" : \"Failed\"));\r\n                    var carinfo = proto.BVCU.PUConfig.CarInfo.deserializeBinary(payload);\r\n                    var licenceplate = carinfo.getStlicenceplate();\r\n                    var drivers = carinfo.getStdriverList();\r\n                    if (resultCode == jSW.RcCode.RC_CODE_S_OK) {\r\n                        data = {\r\n                            stLicencePlate: {\r\n                                iCityID: (licenceplate == null ? \"\" : licenceplate.getIcityid()),\r\n                                iColor: (licenceplate == null ? \"\" : licenceplate.getIcolor()),\r\n                                iType: (licenceplate == null ? \"\" : licenceplate.getItype()),\r\n                                szNumber: (licenceplate == null ? \"\" : licenceplate.getSznumber()),\r\n                                szVAO: (licenceplate == null ? \"\" : licenceplate.getSzvao())\r\n                            },\r\n                            stDriver: jSWProtocol.Drivers2Json(drivers),\r\n                            szVehicleType: carinfo.getSzvehicletype(),\r\n                            szVIN_EngineNo: carinfo.getSzvinEngineno(),\r\n                            szOwner: carinfo.getSzowner()\r\n                        };\r\n                    }\r\n                } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_GET_USER_GROUPLIST) {\r\n                    var strMsgType = \"get user grouplist\";\r\n\r\n                    console.log(strMsgType + \"pu: \" + request.getTargetid() + \"result\" + (resultCode == jSW.RcCode.RC_CODE_S_OK ? \"Ok\" : \"Failed\"));\r\n                    var userGroupList = proto.WEBBVCU.UserGroupList.deserializeBinary(payload).getUsergroupsList();\r\n                    var userGroup = null;\r\n                    var userGroupJson = null;\r\n                    data = [];\r\n                    if (resultCode == jSW.RcCode.RC_CODE_S_OK) {\r\n                        for (userGroupIndex in userGroupList) {\r\n                            userGroup = userGroupList[userGroupIndex];\r\n                            userGroupJson = jSWProtocol.GroupPb_2Json(userGroup);\r\n                            data.push(userGroupJson);\r\n                        }\r\n                    }\r\n                } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_GET_USER_GROUPINFO) {\r\n                    var strMsgType = \"get user groupinfo\";\r\n                    console.log(strMsgType + \": \" + request.getTargetid() + \"result\" + (resultCode == jSW.RcCode.RC_CODE_S_OK ? \"Ok\" : \"Failed\"));\r\n                    if (resultCode == jSW.RcCode.RC_CODE_S_OK) {\r\n                        var userGroupInfo = proto.BVCU.UserConfig.UserGroupInfo.deserializeBinary(payload);\r\n                        data = jSWProtocol.GroupInfoPb_2Json(userGroupInfo, desSession);\r\n                    }\r\n                } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_GET_USER_USERLIST) {\r\n                    var strMsgType = \"get user userlist\";\r\n\r\n                    console.log(strMsgType + \"pu: \" + request.getTargetid() + \"result\" + (resultCode == jSW.RcCode.RC_CODE_S_OK ? \"Ok\" : \"Failed\"));\r\n                    var userlist = proto.WEBBVCU.UserList.deserializeBinary(payload).getUsersList();\r\n                    data = [];\r\n                    if (resultCode == jSW.RcCode.RC_CODE_S_OK) {\r\n                        var userpb = null;\r\n                        var user = null;\r\n                        for (userIndex in userlist) {\r\n                            userpb = userlist[userIndex];\r\n                            user = jSWProtocol.USER_USERPb_2Json(userpb);\r\n                            data.push(user);\r\n                        }\r\n                    }\r\n                } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_GET_USER_USERINFO) {\r\n                    var strMsgType = \"get user userinfo\";\r\n                    console.log(strMsgType + \"pu: \" + request.getTargetid() + \"result\" + (resultCode == jSW.RcCode.RC_CODE_S_OK ? \"Ok\" : \"Failed\"));\r\n\r\n                    if (resultCode == jSW.RcCode.RC_CODE_S_OK) {\r\n                        var userinfo = proto.BVCU.UserConfig.UserInfo.deserializeBinary(payload);\r\n                        data = jSWProtocol.USER_USERINFO_Pb2Json(userinfo, desSession);\r\n                    }\r\n                } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_GET_USER_ONLINE) {\r\n                    console.log(\"on get online users, result\" + (resultCode == jSW.RcCode.RC_CODE_S_OK ? ' Ok' : ' Failed'));\r\n\r\n                    var onlineUserResponse = proto.WEBBVCU.Conf_OnlineUser_Response.deserializeBinary(payload);\r\n                    if (resultCode == jSW.RcCode.RC_CODE_S_OK) {\r\n                        response.onlineUsers = [];\r\n                        var onlineUserList = onlineUserResponse.getSzonlineuserList();\r\n                        for (var i = 0; i < onlineUserResponse.getSzonlineuserList().length; i++) {\r\n                            response.onlineUsers[i] =\r\n                                jSW.SwConfManager._UTILS.onlineUserToLocal(onlineUserList[i]);\r\n                        }\r\n\r\n                        data = response.onlineUsers;\r\n                    }\r\n                } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_GET_USER_ONLINEINFO) {\r\n                    console.log(\"on get online users, result\" + (resultCode == jSW.RcCode.RC_CODE_S_OK ? ' Ok' : ' Failed'));\r\n\r\n                    if (resultCode == jSW.RcCode.RC_CODE_S_OK) {\r\n\r\n                        var onlineUserInfo = proto.BVCU.UserConfig.UserOnlineInfo.deserializeBinary(payload);\r\n                        var onlineUser = onlineUserInfo.getStbase();\r\n                        var userDialogs = onlineUserInfo.getPpudialogList();\r\n                        var dialogpb = null;\r\n                        var channelspb = null;\r\n                        var channelpb = null;\r\n                        var channels = null;\r\n                        var channel = null;\r\n                        var dialog = null;\r\n                        var ppudialog = [];\r\n                        for (dialogindex in userDialogs) {\r\n                            dialogpb = userDialogs[dialogindex];\r\n                            channels = [];\r\n                            channelspb = dialogpb.getPdialogList();\r\n                            for (channlIndex in channelspb) {\r\n                                channelpb = channelpbs[channlIndex];\r\n                                channel = {\r\n                                    ichannelindex: channelpb.getIchannelindex(),\r\n                                    istreamindex: channelpb.getIstreamindex(),\r\n                                    iavstreamdir: channelpb.getIavstreamdir()\r\n                                };\r\n                                channels.push(channel);\r\n                            }\r\n\r\n                            dialog = {\r\n                                puid: dialogpb.getSzid(),\r\n                                channel: channels\r\n                            };\r\n                            ppudialog.push(dialog);\r\n                        }\r\n                        data = {\r\n                            baseinfo: jSW.SwConfManager._UTILS.onlineUserToLocal(onlineUser),\r\n                            ppudialog: ppudialog\r\n                        };\r\n                    }\r\n                } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_SET_PU_GPS) {\r\n                    console.log(\"on set gps attr, result:\" + (resultCode == jSW.RcCode.RC_CODE_S_OK ? ' Ok' : ' Failed'));\r\n                } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_SET_PU_MANUALRECORD) {\r\n                    console.log(\"on set pu manualrecord, result:\" + (resultCode == jSW.RcCode.RC_CODE_S_OK ? ' Ok' : ' Failed'));\r\n                } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_SET_PU_SNAPSHOT) {\r\n                    console.log(\"on set pu snapshot, result:\" + (resultCode == jSW.RcCode.RC_CODE_S_OK ? ' Ok' : ' Failed'));\r\n                } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_GET_LOCAL_RECORD) {\r\n                    data = {\r\n                        szPath: '',\r\n                        ifileleninseconds: -1\r\n                    };\r\n                    if (resultCode == jSW.RcCode.RC_CODE_S_OK) {\r\n                        var datapb = proto.WEBBVCU.LocalStorage.deserializeBinary(payload);\r\n                        var szpath = jSWProtocol.HexToString(datapb.getDir());\r\n                        var ifileleninseconds = datapb.getIfileleninseconds();\r\n                        data = {\r\n                            szPath: szpath.length == 0 ? '' : szpath,\r\n                            ifileleninseconds: szpath.length == 0 ? -1 : ifileleninseconds\r\n                        };\r\n                    }\r\n                    console.log(\"on get local record, result:\" + (resultCode == jSW.RcCode.RC_CODE_S_OK ? ' Ok' : ' Failed'));\r\n                } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_SET_LOCAL_RECORD) {\r\n                    console.log(\"on set local record, result:\" + (resultCode == jSW.RcCode.RC_CODE_S_OK ? ' Ok' : ' Failed'));\r\n                } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_SET_SUBMETHOD_NRU_MANUALRECORD) {\r\n                    console.log(\"on set nru record, result:\" + (resultCode == jSW.RcCode.RC_CODE_S_OK ? ' Ok' : ' Failed'));\r\n                } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_GET_NRU_LIST) {\r\n                    console.log(\"on get nru list, result:\" + (resultCode == jSW.RcCode.RC_CODE_S_OK ? ' Ok' : ' Failed'));\r\n                    if (resultCode == jSW.RcCode.RC_CODE_S_OK) {\r\n                        var nruAllpb = proto.WEBBVCU.NRUList.deserializeBinary(payload);\r\n                        var nrulistpb = nruAllpb.getNrusList();\r\n\r\n                        data = [];\r\n                        var dataitem = null;\r\n                        var nrupb = null;\r\n                        for (var nruindex in nrulistpb) {\r\n                            nrupb = nrulistpb[nruindex];\r\n                            dataitem = {\r\n                                szid: nrupb.getSzid(),\r\n                                szname: nrupb.getSzname(),\r\n                                istoragemediacount: nrupb.getIstoragemediacount(),\r\n                                ionlinestatus: nrupb.getIonlinestatus()\r\n                            };\r\n                            data.push(dataitem);\r\n                        }\r\n                    }\r\n                } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_GET_GPS_RECORD) {\r\n                    console.log(\"on get gps record fileinfo, result:\" + (resultCode == jSW.RcCode.RC_CODE_S_OK ? ' Ok' : ' Failed'));\r\n                    if (resultCode == jSW.RcCode.RC_CODE_S_OK) {\r\n                        var gpsFileInfoAllpb = proto.WEBBVCU.FTPFileInfoList.deserializeBinary(payload);\r\n                        var gpsFileInfolistpb = gpsFileInfoAllpb.getFileinfosList();\r\n\r\n                        data = [];\r\n                        var dataitem = null;\r\n                        var gpsfileinfopb = null;\r\n                        for (var fileIndex in gpsFileInfolistpb) {\r\n                            gpsfileinfopb = gpsFileInfolistpb[fileIndex];\r\n                            dataitem = jSWProtocol.FTPFileInfo2Json(gpsfileinfopb);\r\n                            data.push(dataitem);\r\n                        }\r\n                    }\r\n                } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_DOWNLOAD_GPS_RECORD ||\r\n                    msgType == proto.WEBBVCU.MSGType.WEB_BVCU_DOWNLOAD_GPS_RECORD_SERVERC) {\r\n                    console.log(\"on download gps record file, result:\" + (resultCode == jSW.RcCode.RC_CODE_S_OK ? ' Ok' : ' Failed'));\r\n                    if (resultCode == jSW.RcCode.RC_CODE_S_OK) {\r\n                        var fTPFileInfoGPSInfopb = proto.WEBBVCU.FTPFileInfoGPSInfo.deserializeBinary(payload);\r\n                        data = jSWProtocol.FTPFileInfoGPSInfo2Json(fTPFileInfoGPSInfopb);\r\n                    }\r\n                } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_SET_VOD) {\r\n                    console.log(\"on set vod, result:\" + (resultCode == jSW.RcCode.RC_CODE_S_OK ? ' Ok' : ' Failed'));\r\n                    response.url = \"\";\r\n                    if (resultCode == jSW.RcCode.RC_CODE_S_OK) {\r\n                        response.url = jSWProtocol.HexToString(payload);\r\n                    }\r\n                } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_SET_USER_MODUSER) {\r\n                    console.log(\"on mod user, result:\" + (resultCode == jSW.RcCode.RC_CODE_S_OK ? ' Ok' : ' Failed'));\r\n                    if (resultCode == jSW.RcCode.RC_CODE_S_OK) {\r\n                        if (desSession._userManager != null) {\r\n                            desSession._userManager._onNotify(proto.WEBBVCU.MSGType.WEB_BVCU_NOTIFY_USER_MODUSER, response, payloadRequest);\r\n                        }\r\n                    }\r\n                } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_SET_USER_MODGROUP) {\r\n                    console.log(\"on mod group, result:\" + (resultCode == jSW.RcCode.RC_CODE_S_OK ? ' Ok' : ' Failed'));\r\n                    if (resultCode == jSW.RcCode.RC_CODE_S_OK) {\r\n                        if (desSession._userManager != null) {\r\n                            desSession._userManager._onNotify(proto.WEBBVCU.MSGType.WEB_BVCU_NOTIFY_USER_MODGROUP, response, payloadRequest);\r\n                        }\r\n                    }\r\n                } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_SET_USER_ADDGROUP) {\r\n                    console.log(\"on add group, result:\" + (resultCode == jSW.RcCode.RC_CODE_S_OK ? ' Ok' : ' Failed'));\r\n                    if (resultCode == jSW.RcCode.RC_CODE_S_OK) {\r\n                        if (desSession._userManager != null) {\r\n                            desSession._userManager._onNotify(proto.WEBBVCU.MSGType.WEB_BVCU_NOTIFY_USER_ADDGROUP, response, payloadRequest);\r\n                        }\r\n                    }\r\n                } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_SET_USER_ADDUSER) {\r\n                    console.log(\"on add user, result:\" + (resultCode == jSW.RcCode.RC_CODE_S_OK ? ' Ok' : ' Failed'));\r\n                    if (resultCode == jSW.RcCode.RC_CODE_S_OK) {\r\n                        if (desSession._userManager != null) {\r\n                            desSession._userManager._onNotify(proto.WEBBVCU.MSGType.WEB_BVCU_NOTIFY_USER_ADDUSER, response, payloadRequest);\r\n                        }\r\n                    }\r\n                } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_SET_USER_DELGROUP) {\r\n                    console.log(\"on del group, result:\" + (resultCode == jSW.RcCode.RC_CODE_S_OK ? ' Ok' : ' Failed'));\r\n                    if (resultCode == jSW.RcCode.RC_CODE_S_OK) {\r\n                        if (desSession._userManager != null) {\r\n                            desSession._userManager._onNotify(proto.WEBBVCU.MSGType.WEB_BVCU_NOTIFY_USER_DELGROUP, response, payloadRequest);\r\n                        }\r\n                    }\r\n                } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_SET_USER_DELUSER) {\r\n                    console.log(\"on del user, result:\" + (resultCode == jSW.RcCode.RC_CODE_S_OK ? ' Ok' : ' Failed'));\r\n                    if (resultCode == jSW.RcCode.RC_CODE_S_OK) {\r\n                        if (desSession._userManager != null) {\r\n                            desSession._userManager._onNotify(proto.WEBBVCU.MSGType.WEB_BVCU_NOTIFY_USER_DELUSER, response, payloadRequest);\r\n                        }\r\n                    }\r\n                } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_SET_USER_MODPASSWD) {\r\n                    jSWUtils.consoleLog(\"on mod user pwd, result:\", resultCode);\r\n                } else if (msgType == proto.WEBBVCU.MSGType.WEB_VIDEO_DIALOG_ROTATE ||\r\n                    msgType == proto.WEBBVCU.MSGType.WEB_VIDEO_DIALOG_STRETCH ||\r\n                    msgType == proto.WEBBVCU.WEB_BVCU_SET_LOCAL_SNAPSHOT) {} else if (msgType == proto.WEBBVCU.MSGType.WEB_GET_CMS_DIALOGINFO) {\r\n                    jSWUtils.consoleLog(\"on get cms dialog info:\", resultCode);\r\n                    if (resultCode == jSW.RcCode.RC_CODE_S_OK) {\r\n                        var pb = proto.WEBBVCU.CmsDialogInfoList.deserializeBinary(payload);\r\n                        data = jSWProtocol.CmsDialogInfos2Json(pb);\r\n                    }\r\n                } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_OPEN_INTERCOM) {\r\n                    jSWUtils.consoleLog(\"on get open intercom:\", resultCode);\r\n                    var param = request.param;\r\n                    var chanel = desSession.swGetPuChanel(param.targetid, param.targetindex);\r\n                    if (resultCode == jSW.RcCode.RC_CODE_S_OK) {\r\n                        var commondata = proto.WEBBVCU.CommonData.deserializeBinary(payloadRequest);\r\n                        var imedir = commondata.getIdata1();\r\n                        commondata = proto.WEBBVCU.CommonData.deserializeBinary(payload);\r\n                        var hdlg = commondata.getIdata1();\r\n\r\n                        var InterComParams = {\r\n                            bresult: resultCode == jSW.RcCode.RC_CODE_S_OK,\r\n                            iMedia: imedir,\r\n                            hDlg: hdlg,\r\n                            cb: getAsyncCallback(desSession, response, options),\r\n                            userData: null\r\n                        }\r\n\r\n                        if (jSW.RcCode.RC_CODE_S_OK == chanel.onIntercomOpenOk(InterComParams) && jSWOptions.CheckNotOcx()) {\r\n                            bDoAsyncCallback = true\r\n                        }\r\n                    } else {\r\n                        chanel.onIntercomOpenOk({\r\n                            bresult: false\r\n                        });\r\n                    }\r\n                } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_CLOSE_INTERCOM) {\r\n                    jSWUtils.consoleLog(\"on get close intercom:\", resultCode);\r\n                    var param = request.param;\r\n                    var chanel = desSession.swGetPuChanel(param.targetid, param.targetindex);\r\n                    if (resultCode == jSW.RcCode.RC_CODE_S_OK) {\r\n                        var commondata = proto.WEBBVCU.CommonData.deserializeBinary(payloadRequest);\r\n                        var imedir = commondata.getIdata1();\r\n                        chanel.onIntercomCloseOK(true, imedir);\r\n                    } else {\r\n                        chanel.onIntercomCloseOK(false);\r\n                    }\r\n                } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_ALTER_VIDEO_DIALOG_DIR) {\r\n                    jSWUtils.consoleLog(\"on get alert video dir:\", resultCode);\r\n                    if (resultCode == jSW.RcCode.RC_CODE_S_OK) {\r\n                        var param = request.param;\r\n                        var chanel = desSession.swGetPuChanel(param.targetid, param.targetindex);\r\n                        var commondata = proto.WEBBVCU.CommonData.deserializeBinary(payloadRequest);\r\n                        var imedir = commondata.getIdata1();\r\n                        chanel.onAlterMedirDirOk(true, imedir, param.hdlg);\r\n                    }\r\n                } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_ALTER_AUDIO_DIALOG_DIR) {\r\n                    jSWUtils.consoleLog(\"on get alert video dir:\", resultCode);\r\n                    if (resultCode == jSW.RcCode.RC_CODE_S_OK) {\r\n                        var param = request.param;\r\n                        var chanel = desSession.swGetPuChanel(param.targetid, param.targetindex);\r\n                        var commondata = proto.WEBBVCU.CommonData.deserializeBinary(payloadRequest);\r\n                        var imedir = commondata.getIdata1();\r\n                        chanel.onAlterMedirDirOk(false, imedir, param.hdlg);\r\n                    }\r\n                } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_SET_ALTER_VIDEO_VOLUME) {\r\n                    jSWUtils.consoleLog(\"on set alert volume :\", resultCode);\r\n                    if (resultCode == jSW.RcCode.RC_CODE_S_OK) {\r\n                        var param = request.param;\r\n                        var chanel = desSession.swGetPuChanel(param.targetid, param.targetindex);\r\n                        var volumepb = proto.WEBBVCU.BVCU_DialogControlParam_Render.deserializeBinary(payloadRequest);\r\n                        var volume = {\r\n                            icapture: volumepb.getIcapturevolume(),\r\n                            iplay: volumepb.getIplackbackvolume()\r\n                        }\r\n                        chanel.onAlterVolumeOk(volume);\r\n                    }\r\n                } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_RECORD_PLAY_RESPONSE) {\r\n                    jSWUtils.consoleLog(\"on open record play :\", resultCode);\r\n                    record_player_res = proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_RESPONSE.deserializeBinary(payload);\r\n\r\n                    record_player = desSession._swGetRecordPlayer(record_player_res.getPlayerId())\r\n                    if (record_player) {\r\n                        // 收到录像回放打开事件\r\n                        record_player._dialog_id = record_player_res.getDialogid()\r\n                        console.log('record play, set dialog id: ' + record_player._dialog_id)\r\n                        record_player._on_open_has_result(resultCode)\r\n                    } else {\r\n                        console.warn('record play, not found by dialogId: ' + record_player_res.getPlayerId())\r\n                    }\r\n\r\n                    data = {\r\n                        playerId: record_player_res.getPlayerId(),\r\n                        id: record_player_res.getDialogid(),\r\n                        player: record_player,\r\n                    }\r\n                } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_RECORD_PLAY_CRTL_RESPONSE) {\r\n                    jSWUtils.consoleLog(\"on open record play crtl: \", resultCode);\r\n                } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_SET_PU_REBOOT_OR_SHUTDOWN) {\r\n                    jSWUtils.consoleLog(\"on set pu shutdown or reboot :\", resultCode);\r\n                    var param = request.param;\r\n                    var puconrtol = proto.WEBBVCU.PU_CONTROL.deserializeBinary(payload);\r\n                    data = {\r\n                        puid: param.targetid,\r\n                        ioption: puconrtol.getIoption()\r\n                    }\r\n                } else if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_CONF_IM_MSG) {\r\n                    jSWUtils.consoleLog(\"on send im msg :\", resultCode);\r\n                    data = proto.BVCU.IM_Msgs.deserializeBinary(payloadRequest);\r\n                    data = jSWProtocol.IMMsgPb2_Json(data);\r\n                    //desSession._confManager.onSendMsgGetResult(request.param.id, data);\r\n                } else if (msgType == proto.WEBBVCU.MSGType.WEB_UTILS_AAC_OPERATE) {\r\n                    var pbAudioOperate = proto.WEBBVCU.AudioOperate.deserializeBinary(payloadRequest);\r\n                    if (pbAudioOperate.getIoperatecode() != jSWProtocol.AUDIO_OP_CODES.CAPTURE_BEGIN) {\r\n                        var pbAudioOperate = proto.WEBBVCU.AudioOperate.deserializeBinary(response.getPayload());\r\n                        data = jSWProtocol.AACOperatePb2_Json(pbAudioOperate);\r\n                    }\r\n                }\r\n            } catch (e) {\r\n                resultCode: console.log(e);\r\n            }\r\n\r\n            if (false == bDoAsyncCallback) {\r\n                responseDoCallback(desSession, response, options, data)\r\n            }\r\n        }\r\n\r\n\r\n\r\n        function responseDoCallback(desSession, response, options, data) {\r\n            var cmd = options.cmd;\r\n            var request = options.request;\r\n            var msgType = response.getMsgtype();\r\n            var resultCode = response.getCode();\r\n\r\n            response.emms = {\r\n                code: resultCode\r\n            }\r\n\r\n            if (PuLoad.CheckPuLoadShouldNotNotify(msgType)) {\r\n                return;\r\n            }\r\n\r\n            try {\r\n                /**调用命令的回调函数*/\r\n                if (options && ((typeof options.callback) == 'function')) {\r\n                    options.callback(options, response, data);\r\n                }\r\n            } catch (e) {\r\n\r\n            }\r\n\r\n            /**通知调用者*/\r\n            desSession._callbackManager.dispatchCallback(cmd, {\r\n                code: resultCode,\r\n                request: request,\r\n                response: response,\r\n                msg: ''\r\n            });\r\n\r\n            if (jSW.RcCode.RC_CODE_S_OK != resultCode && jSW.RcCode.RC_CODE_S_HTTP_HAVE_NOTIFY != resultCode) {\r\n                var err = 'cmd: ' + jSWUtils.MsgTypeToPresent(msgType) + ' fail ' + jSW.RcCode.trans(resultCode);\r\n                console.error(err);\r\n                desSession._internalOnResponseFail(options, '', err);\r\n            }\r\n        }\r\n\r\n        function getAsyncCallback(desSession, response, options) {\r\n            return function (rc) {\r\n                response.setCode(rc)\r\n                responseDoCallback(desSession, response, options)\r\n            }\r\n        }\r\n    }\r\n\r\n    dMgr.RegModule(\"HandleResponse\", new desModule());\r\n})(jSW.DependencyMgr);","(function (dMgr) {\r\n    function HttpFlv() {\r\n        var szVideoCollect = [];\r\n        var iIndexVideo = 0;\r\n        var iIndexVideoFlagName = \"_mySwIndexFlag\";\r\n        var iCheckIntervalHandle = -1;\r\n\r\n        function GetPlayerThroughDlgparam(dlgparam) {\r\n            return dlgparam['httpFlvPlayer'];\r\n        }\r\n\r\n        function SetPlayerThroughDlgparam(dlgparam, player) {\r\n            dlgparam['httpFlvPlayer'] = player;\r\n            SavePlayerToAnArray(player);\r\n        }\r\n\r\n        function SavePlayerToAnArray(player) {\r\n            player[iIndexVideoFlagName] = (iIndexVideo += 1);\r\n            szVideoCollect[player[iIndexVideoFlagName]] = player;\r\n        }\r\n\r\n        function DeletePlayerFromAnArray(player) {\r\n            if (player) {\r\n                szVideoCollect[player[iIndexVideoFlagName]] = null;\r\n            }\r\n        }\r\n\r\n        function CheckPlayerVideoPlayTooSlow() {\r\n            var player = null;\r\n            for (var iIndex in szVideoCollect) {\r\n                player = szVideoCollect[iIndex];\r\n                if (player) {\r\n                    var buffered = player.buffered;\r\n                    if (buffered.length > 0) {\r\n                        var end = buffered.end(0)\r\n                        console.log(\"interval is : \" + (end - player.currentTime));\r\n                        if (end - player.currentTime > 3) {\r\n                            player.currentTime = end - 0.1;\r\n                        }\r\n                    }\r\n                }\r\n            }\r\n        }\r\n\r\n        function TryStartCheckLoop() {\r\n            if (iCheckIntervalHandle < 0) {\r\n                iCheckIntervalHandle = setInterval(CheckPlayerVideoPlayTooSlow, 3000);\r\n            }\r\n        }\r\n\r\n        this.CreatePlayer = function (videoEleParent, DesUrl, dlgparam) {\r\n            var media = dlgparam['_media'];\r\n            var hasAudio = (media & jSW.MEDIADIR.AUDIORECV) == jSW.MEDIADIR.AUDIORECV;\r\n            var hasVideo = (media & jSW.MEDIADIR.VIDEORECV) == jSW.MEDIADIR.VIDEORECV;\r\n\r\n            var videoEle = videoEleParent.getElementsByTagName(\"video\")[0];\r\n            var mediaDataSource = {\r\n                hasAudio: hasAudio,\r\n                hasVideo: hasVideo,\r\n                type: 'flv',\r\n                url: DesUrl,\r\n                isLive: true\r\n            };\r\n            var player = flvjs.createPlayer(mediaDataSource, {\r\n                enableStashBuffer: false\r\n            });\r\n\r\n            player.attachMediaElement(videoEle);\r\n            player.load();\r\n\r\n            videoEle.addEventListener(\"play\", function () {\r\n                var buffered = this.buffered;\r\n                if (buffered.length > 0) {\r\n                    var end = buffered.end(0)\r\n                    if (end - this.currentTime > 0.15) {\r\n                        this.currentTime = end - 0.1\r\n                    }\r\n                }\r\n            });\r\n\r\n            player.play();\r\n            if (GetPlayerThroughDlgparam(dlgparam)) {\r\n                ClosePlayer(GetPlayerThroughDlgparam(dlgparam));\r\n            }\r\n            SetPlayerThroughDlgparam(dlgparam, player);\r\n            TryStartCheckLoop();\r\n        }\r\n\r\n        function ClosePlayer(player) {\r\n            DeletePlayerFromAnArray(player);\r\n            player.pause();\r\n            player.unload();\r\n            player.detachMediaElement();\r\n            player.destroy();\r\n        }\r\n\r\n        this.ClosePlayer = function (dlgparam) {\r\n            if (GetPlayerThroughDlgparam(dlgparam)) {\r\n                ClosePlayer(GetPlayerThroughDlgparam(dlgparam));\r\n            }\r\n        }\r\n\r\n        this.buildUrlFromRtmpUrl = function (host, url) {\r\n            var params = url.split(':')[1].split('/');\r\n            var rcUrl = host + '/live?port=' + params[0] + '&app=' + params[1] + '&stream=' + params[2];\r\n            return rcUrl;\r\n        }\r\n    }\r\n\r\n    dMgr.RegModule(\"HttpFlv\", new HttpFlv());\r\n    //var httpflv = jSW.DependencyMgr.GetModule(\"HttpFlv\");\r\n})(jSW.DependencyMgr);","/**\r\n * HTTP NRU FILE DOWNLOAD OR UPLOAD\r\n */\r\n(function (dMgr) {\r\n    var jSWProtocol = dMgr.GetModule(\"jSWProtocol\");\r\n    var jSWUtils = dMgr.GetModule(\"jSWUtils\");\r\n    var jSWOptions = dMgr.GetModule(\"jSWOptions\");\r\n\r\n    function decodeUtf8(bytes) {\r\n        var encoded = \"\";\r\n        for (var i = 0; i < bytes.length; i++) {\r\n            encoded += '%' + bytes[i].toString(16);\r\n        }\r\n        return decodeURIComponent(encoded);\r\n    }\r\n\r\n    function CreateHttpFileUrl(bDownload, desSession, nruId, remotePath, iFileSize) {\r\n        var filename = bDownload ? remotePath.slice(remotePath.lastIndexOf('/')) : remotePath;\r\n        var opStr = bDownload ? \"download\" : \"upload\";\r\n        var queryWord = bDownload ? (\"&nid=\" + nruId) : \"\";\r\n        var szEncoderUtf8 = jSWUtils.UTF162UTF8UintArray(remotePath);\r\n        var queryInfo = \"sid=\" + desSession._emms.session + queryWord + \"&rp=\" + Uint8ToBase64(szEncoderUtf8) + \"&ifs=\" + iFileSize;\r\n        var url = jSWOptions.http + \"/jswfile/\" + opStr + \"/\" + filename + \"?\" + \"p=\" + btoa(queryInfo);\r\n        return url;\r\n    }\r\n\r\n    function HTTPNruFile() {\r\n\r\n    }\r\n\r\n    var __desSession = null;\r\n    HTTPNruFile.prototype.OnLoginOk = function (desSession) {\r\n        __desSession = desSession;\r\n    }\r\n\r\n\r\n    function AsyncJavaScriptAndXmlGet(url, cb, tag) {\r\n        var xmlReqGet = new XMLHttpRequest();\r\n        xmlReqGet.addEventListener(\"loadend\", onGetReqLoaded);\r\n        xmlReqGet.open(\"GET\", url);\r\n        xmlReqGet.responseType = \"arraybuffer\";\r\n        xmlReqGet.userData = {\r\n            cb: cb,\r\n            tag: tag\r\n        };\r\n\r\n        xmlReqGet.send();\r\n    }\r\n\r\n    function onGetReqLoaded() {\r\n        var uint8Temp = new Uint8Array(this.response);\r\n        if (this.userData.cb) {\r\n            this.userData.cb(this.status, uint8Temp, this.userData.tag);\r\n        }\r\n    }\r\n\r\n    /**\r\n     * options\r\n     */\r\n    HTTPNruFile.prototype.CreateUrl = function (obj, bDownload, nruId, rp, ifs, cb, tag) {\r\n        var url = CreateHttpFileUrl(bDownload, __desSession, nruId, rp, ifs);\r\n        obj[\"szSrcFile\"] = rp;\r\n        obj[\"szFile\"] = url;\r\n        return url;\r\n    }\r\n\r\n\r\n    /**\r\n     * options\r\n     */\r\n    HTTPNruFile.prototype.Download = function (nruId, rp, ifs, cb, tag) {\r\n        var url = CreateHttpFileUrl(true, __desSession, nruId, rp, ifs);\r\n        AsyncJavaScriptAndXmlGet(url, cb, tag);\r\n    }\r\n\r\n    /**\r\n     * options\r\n     */\r\n    HTTPNruFile.prototype.DownloadToLocal = function (nruId, rp, ifs, cb, tag) {\r\n        var url = rp;\r\n        var link = document.createElement(\"a\");\r\n        link.href = url;\r\n        link.target = \"_blank\";\r\n        link.click();\r\n        return jSW.RcCode.RC_CODE_S_OK;\r\n    }\r\n\r\n    function onDownloadLoaded(){\r\n        console.log(\"asdfasdfasdfasdf\");\r\n    }\r\n\r\n    function AsyncJavaScriptAndXmlPost(url, data, cb, pcb, tag) {\r\n        var xmlReqPost = new XMLHttpRequest();\r\n        xmlReqPost.addEventListener(\"loadend\", onPostReqLoaded);\r\n        xmlReqPost.addEventListener(\"progress\", onPostReqProgress);\r\n        xmlReqPost.open(\"POST\", url);\r\n        xmlReqPost.userData = {\r\n            pcb: pcb,\r\n            cb: cb,\r\n            tag: tag,\r\n            iFileSize: data.size\r\n        };\r\n        xmlReqPost.send(data);\r\n    }\r\n\r\n\r\n    function onPostReqLoaded() {\r\n        console.log(this.userData);\r\n        if (this.userData.cb) {\r\n\r\n            if(this.status == 201){\r\n                var responseLocation = this.getResponseHeader(\"Location\");\r\n                var temp = responseLocation.slice(responseLocation.lastIndexOf(\"/\") + 1);\r\n    \r\n                var tempUint8 = new Uint8Array(temp.length);\r\n                for(var ii = 0; ii < temp.length; ii ++){\r\n                    tempUint8[ii] = temp.charCodeAt(ii);\r\n                }\r\n                var resultStr = jSWUtils.Uint8Array2UTF16(tempUint8);\r\n                responseLocation = responseLocation.replace(temp, resultStr);\r\n    \r\n                var szInfo = responseLocation.split(\"/\");\r\n                var nruId = szInfo[1];\r\n                var szRp = \"/\";\r\n                for (var i = 0; i < szInfo.length; i++) {\r\n                    if (i > 1) {\r\n                        szRp += (szInfo[i]);\r\n                        if (i < (szInfo.length - 1)) {\r\n                            szRp += \"/\";\r\n                        }\r\n                    }\r\n                }\r\n            }\r\n            \r\n            this.userData.cb(this.status, nruId, szRp, this.userData.iFileSize, this.userData.tag);\r\n        }\r\n    }\r\n\r\n    function onPostReqProgress() {\r\n        console.log(this.userData);\r\n        if (this.userData.pcb) {\r\n            this.userData.pcb();\r\n        }\r\n    }\r\n\r\n\r\n\r\n    /**\r\n     * options\r\n     */\r\n    HTTPNruFile.prototype.Upload = function (data, pcb, cb, tag) {\r\n        var url = CreateHttpFileUrl(false, __desSession, \"NRU_\", data.name, 0);\r\n        var userData = {\r\n            pcb: pcb,\r\n            cb: cb,\r\n            tag: tag\r\n        }\r\n        AsyncJavaScriptAndXmlPost(url, data, onPostFileHasResult, onPostFileProgress, userData)\r\n        return jSW.RcCode.RC_CODE_S_OK;\r\n    }\r\n\r\n    HTTPNruFile.prototype.UploadToRoot = function(data, pcb, cb, tag){\r\n        var url = CreateHttpFileUrl(false, __desSession, \"NRU_\", data.name, -1);\r\n        var userData = {\r\n            pcb: pcb,\r\n            cb: cb,\r\n            tag: tag\r\n        }\r\n        AsyncJavaScriptAndXmlPost(url, data, onPostFileHasResult, onPostFileProgress, userData)\r\n        return jSW.RcCode.RC_CODE_S_OK;\r\n    }\r\n\r\n    function onPostFileHasResult(status, nruId, path, iFileSize, tag) {\r\n        if (tag && tag.cb) {\r\n            var rc = (status == 201) ? jSW.RcCode.RC_CODE_S_OK : jSW.RcCode.RC_CODE_E_BUSY;\r\n            tag.cb(rc, nruId, path, iFileSize, tag.tag);\r\n        }\r\n    }\r\n\r\n    function onPostFileProgress() {\r\n\r\n    }\r\n\r\n\r\n    //var HTTPNruFile = jSW.DependencyMgr.ClaimModule('HTTPNruFile')\r\n    dMgr.RegClaimedModule(\"HTTPNruFile\", HTTPNruFile);\r\n\r\n    //var HTTPNruFile = jSW.DependencyMgr.GetModule(\"HTTPNruFile\");\r\n})(jSW.DependencyMgr);","(function (dMgr) {\r\n    var jSWProtocol = dMgr.GetModule(\"jSWProtocol\");\r\n    var jSWOptions = dMgr.GetModule(\"jSWOptions\");\r\n    var HTTPNruFile = jSW.DependencyMgr.ClaimModule('HTTPNruFile');\r\n\r\n    function innerParsePbIm(desPayload) {\r\n        var data = proto.WEBBVCU.IMMsgPks.deserializeBinary(arguments[0]);\r\n        data = jSWProtocol.IMMsgPksPb2_Json(data);\r\n        return data;\r\n    }\r\n\r\n\r\n    function innerDownloadBuildData(msgItem) {\r\n        var desMsgItem = {\r\n            iType: msgItem.iType,\r\n            data: msgItem.stFile.szFile,\r\n            nruid: msgItem.stFile.szID,\r\n            cmdMsgType: -1\r\n        }\r\n\r\n        switch (msgItem.iType) {\r\n            case jSWProtocol.IMMSGTypes.PICTURE:\r\n                desMsgItem.cmdMsgType = proto.WEBBVCU.MSGType.WEB_CONF_IM_PIC_MSG;\r\n                break;\r\n            case jSWProtocol.IMMSGTypes.AUDIO:\r\n            case jSWProtocol.IMMSGTypes.CONF_AUDIO:\r\n                desMsgItem.iType = jSWProtocol.IMMSGTypes.FILE;\r\n                desMsgItem.cmdMsgType = proto.WEBBVCU.MSGType.WEB_CONF_IM_FILE_MSG;\r\n                break;\r\n        }\r\n        return desMsgItem;\r\n    }\r\n\r\n    /**\r\n     * \r\n     * @param {*} inner_session \r\n     * @param {*} options \r\n     */\r\n    function innerSwHttpRecvFile(inner_session, options) {\r\n        return HTTPNruFile.DownloadToLocal(options.msgitems[0].nruid, options.msgitems[0].data);\r\n    }\r\n\r\n\r\n    function OnHTTPPostFileHasResult(rc, nruId, rp, iFileSize, tag) {\r\n        var _session = tag.session;\r\n        var targetId = tag.targetId;\r\n        var iMsgType = tag.iMsgType;\r\n        var cb = tag.cb;\r\n        innerImAfterPostFileSendMsg(_session, targetId, iMsgType, nruId, rp, iFileSize, cb, {}, tag.tag, rc);\r\n    }\r\n\r\n    function OnHTTPPostFileProgress(rc, nruId, rp, iFileSize, tag) {\r\n        var _session = tag;\r\n        innerImAfterPostMsg(_session, nruId, 4, rp, iFileSize, \"\", tag);\r\n    }\r\n\r\n\r\n    function UploadMsgItem(inner_session, targetId, msgItem, cb, pcb, tag) {\r\n        var userData = {\r\n            cb: cb,\r\n            pcb: pcb,\r\n            tag: tag,\r\n            targetId: targetId,\r\n            iMsgType: msgItem.iType,\r\n            session: inner_session\r\n        };\r\n        var rc = HTTPNruFile.Upload(\r\n            msgItem.data,\r\n            OnHTTPPostFileProgress,\r\n            OnHTTPPostFileHasResult,\r\n            userData);\r\n        return rc;\r\n    }\r\n\r\n\r\n    function CheckMsgItemsContainsFile(MsgItems) {\r\n        if (MsgItems[0].iType == jSWProtocol.IMMSGTypes.FILE ||\r\n            MsgItems[0].iType == jSWProtocol.IMMSGTypes.PICTURE) {\r\n                return true;\r\n        }\r\n        return false;\r\n    }\r\n\r\n\r\n    /**\r\n     * \r\n     * @param {*} inner_session SwSession\r\n     * @param {*} options \r\n     * @param {*} imsgtype \r\n     * @param {*} _dhcb single ws request multi callback\r\n     * @param {*} imsgtypeAppend strange attr\r\n     */\r\n    function innerSwConfIMSend(inner_session, options, imsgtype, _dhcb, imsgtypeAppend, bNotSendFile) {\r\n        var rc = jSWProtocol.CheckOptions(imsgtype, options);\r\n        if (rc != jSW.RcCode.RC_CODE_S_OK) {\r\n            return rc;\r\n        }\r\n\r\n        if (!options._targetid && options.targetid) {\r\n            options._targetid = options.targetid;\r\n        }\r\n\r\n\r\n\r\n        if (!CheckMsgItemsContainsFile(options.msgitems) || bNotSendFile || jSWOptions.CheckOcx()) {\r\n            var payload = jSWProtocol.JsIMMSG2Pb(options.msgitems, options.pcallback);\r\n            var rcallback = payload[\"rcallback\"];\r\n\r\n            rc = jSWProtocol.SendRequest({\r\n                session: inner_session,\r\n                msgtype: imsgtype,\r\n                target: options._targetid,\r\n                payload: payload,\r\n                targetIndex: -1,\r\n                cmd: jSWProtocol.RequestHeader.confimsend.cmd,\r\n                callback: options.callback,\r\n                callbackrelay: rcallback,\r\n                tag: options.tag,\r\n                _dhcb: _dhcb,\r\n                _dhcbtag: {\r\n                    imsgtype: imsgtypeAppend ? imsgtypeAppend : payload.iitemmsgtype,\r\n                    msgitems: options.msgitems\r\n                }\r\n            })\r\n        } else {\r\n            rc = UploadMsgItem(inner_session, options._targetid, options.msgitems[0],\r\n                options.callback, options.pcallback, options.tag);\r\n        }\r\n\r\n        return rc;\r\n    }\r\n\r\n    function httpInnerDownloadMsgPCb(statusCode, arrayBufData, tag) {\r\n        if (statusCode == 200) {\r\n            var desImInfo = tag.info;\r\n            var afterCb = tag.cb;\r\n            var desTag = tag.tag;\r\n\r\n            if (desImInfo.szmsg[0].iType == jSWProtocol.IMMSGTypes.PICTURE) {\r\n                var uint8ArrayTemp = new Uint8Array(arrayBufData);\r\n                var bufferTemp = \"\";\r\n                var b64Temp = Uint8ToBase64(uint8ArrayTemp);\r\n                desImInfo.szmsg[0].stFile.szFile = \"data:image/jpeg;base64,\" + b64Temp;\r\n            } else if (desImInfo.szmsg[0].iType == jSWProtocol.IMMSGTypes.AUDIO ||\r\n                desImInfo.szmsg[0].iType == jSWProtocol.IMMSGTypes.CONF_AUDIO) {\r\n                    //baseImnotification(tag.info);\r\n                //desImInfo.szmsg[0].stFile.szFile = data.sEvent.szLocalFilePath;\r\n            }\r\n\r\n            afterCb(desImInfo, desTag);\r\n        }\r\n    }\r\n\r\n\r\n    function innerDownloadMsgPCb(options, response, data) {\r\n        if (data.sEvent.iEvent == jSW.FileTransEvent.FILE_TRANS_CLOSE) {\r\n            var desImInfo = options.tag.info;\r\n            var desTag = options.tag.tag;\r\n            var afterCb = options.tag.cb;\r\n\r\n            if (desImInfo.szmsg[0].iType == jSWProtocol.IMMSGTypes.PICTURE) {\r\n                desImInfo.szmsg[0].stFile.szFile = data.sEvent.imgbase64;\r\n            } else if (desImInfo.szmsg[0].iType == jSWProtocol.IMMSGTypes.AUDIO ||\r\n                desImInfo.szmsg[0].iType == jSWProtocol.IMMSGTypes.CONF_AUDIO) {\r\n                    desImInfo.szmsg[0].stFile.szFile = data.sEvent.szLocalFilePath;\r\n            }\r\n\r\n            afterCb(desImInfo, desTag);\r\n        }\r\n    }\r\n\r\n\r\n    function innerDownloadMsg(inner_session, imInfo, afterCb, tag) {\r\n        var msgitem = innerDownloadBuildData(imInfo.szmsg[0]);\r\n        var options = {\r\n            msgitems: [msgitem],\r\n            callback: innerCbNothingToDo,\r\n            pcallback: innerDownloadMsgPCb,\r\n            tag: {\r\n                info: imInfo,\r\n                tag: tag,\r\n                cb: afterCb\r\n            }\r\n        }\r\n\r\n        var rc = jSW.RcCode.RC_CODE_S_OK;\r\n\r\n        if (jSWOptions.CheckHttp()) {\r\n            var stFile = imInfo.szmsg[0].stFile;\r\n            HTTPNruFile.Download(stFile.szID, stFile.szFile, stFile.iFileSize, httpInnerDownloadMsgPCb, options.tag);\r\n        } else {\r\n            rc = innerSwConfIMSend(inner_session, options, msgitem.cmdMsgType, innerCbNothingToDo);\r\n        }\r\n        return rc;\r\n    }\r\n\r\n    function innerCbNothingToDo() {\r\n\r\n    }\r\n\r\n    function innerCheckForImDownload(inner_session, imInfo, afterCb, tag) {\r\n        if (imInfo.szmsg[0].iType == jSWProtocol.IMMSGTypes.PICTURE ||\r\n            imInfo.szmsg[0].iType == jSWProtocol.IMMSGTypes.AUDIO ||\r\n            imInfo.szmsg[0].iType == jSWProtocol.IMMSGTypes.CONF_AUDIO) {\r\n            innerDownloadMsg(inner_session, imInfo, afterCb, tag);\r\n        } else {\r\n            afterCb(imInfo, tag);\r\n        }\r\n    }\r\n\r\n    function innerImAfterPostFileSendMsg(inner_session, targetId, iMsgType, nruId, rp, iFileSize, cb, data, tag, sendRc) {\r\n        var rc;\r\n        if (sendRc != jSW.RcCode.RC_CODE_S_OK) {\r\n            var options = {\r\n                tag: tag\r\n            };\r\n            var response = {\r\n                emms: {\r\n                    code: sendRc\r\n                }\r\n            };\r\n            cb(options, response);\r\n        } else {\r\n            rc = innerSwConfIMSend(\r\n                inner_session, {\r\n                    msgitems: [{\r\n                        iType: iMsgType,\r\n                        data: rp,\r\n                        nruid: nruId,\r\n                        iduration: iFileSize\r\n                    }],\r\n                    callback: function (options, response, mydata) {\r\n                        if (options.tag.cb) {\r\n                            var targetid = options.tag.targetid;\r\n                            var data = options.tag.data;\r\n                            var tag = options.tag.tag;\r\n                            var my_options = {\r\n                                tag: tag\r\n                            };\r\n                            options.tag.cb(my_options, response, data);\r\n                        }\r\n                    },\r\n                    tag: {\r\n                        cb: cb,\r\n                        targetid: targetId,\r\n                        data: data,\r\n                        tag: tag\r\n                    },\r\n                    _targetid: targetId\r\n                },\r\n                proto.WEBBVCU.MSGType.WEB_BVCU_CONF_IM_MSG,\r\n                innerCbNothingToDo,\r\n                null,\r\n                true\r\n            );\r\n        }\r\n\r\n\r\n        return rc;\r\n    }\r\n\r\n    /**\r\n     * \r\n     * @param {*} inner_session \r\n     * @param {*} data   \r\n     * data = {\r\n     * sEvent: proto.WEBBVCU.FileTransInfo,\r\n     * sProgressInfo: null\r\n     * };\r\n     * @param {*} attchdata \r\n     * @param {*} targetid \r\n     */\r\n    function innerImAfterSendMsg(inner_session, data, attchdata, targetid) {\r\n        var rp = data.sEvent.szRemoteFilePath;\r\n        var nruid = data.sEvent.nruid;\r\n        var iMsgType = attchdata._dhcbtag[\"imsgtype\"];\r\n        var iFileSize = attchdata._dhcbtag[\"msgitems\"][0][\"iduration\"];\r\n\r\n        var rc = innerImAfterPostFileSendMsg(inner_session, targetid, iMsgType,\r\n            nruid, rp, iFileSize,\r\n            attchdata.callback, data, attchdata,\r\n            jSW.RcCode.RC_CODE_S_OK\r\n        );\r\n\r\n        return rc;\r\n    }\r\n\r\n    jSW.SWSession.SwImModule = function (session, confmanager, pusmodule) {\r\n        this._session = session;\r\n        this._confmanger = confmanager;\r\n        this._pusModules = pusmodule;\r\n        instance_swImModule = this;\r\n    }\r\n\r\n    jSW.SWSession.SwImModule.prototype = {\r\n        _swConfIMSend: function (options, imsgtype, cbk) {\r\n            var rc = innerSwConfIMSend(this._session, options, imsgtype, cbk);\r\n            return rc;\r\n        },\r\n\r\n        _SwConfFileRecv: function (options) {\r\n            var rc;\r\n            if (jSWOptions.CheckNotOcx()) {\r\n                //console.log(\"only support ocx\");\r\n                //return jSW.RcCode.RC_CODE_E_BVCU_UNSUPPORTED;\r\n                rc = innerSwHttpRecvFile(this._session, options);\r\n            } else {\r\n                rc = innerSwConfIMSend(this._session, options, proto.WEBBVCU.MSGType.WEB_CONF_IM_FILE_MSG, innerCbNothingToDo);\r\n                //immodule._swConfIMSend(options, proto.WEBBVCU.MSGType.             WEB_CONF_IM_FILE_MSG, this._dhcbConIMSend); \r\n            }\r\n\r\n            return rc;\r\n        },\r\n\r\n        //通知有消息来了\r\n        _imOnNotify: function (msgType, cmd, response) {\r\n            var imInfo = innerParsePbIm(response.getPayload());\r\n            var tag = {\r\n                imModule: this,\r\n                response: response\r\n            };\r\n\r\n            if (jSWOptions.CheckHttp() && imInfo.szmsg) {\r\n                var ___session = this._session;\r\n                imInfo.szmsg.forEach(function (ele) {\r\n                    if (ele.iType == jSWProtocol.IMMSGTypes.FILE) {\r\n                        HTTPNruFile.CreateUrl(ele.stFile, true,\r\n                            ele.stFile.szID, ele.stFile.szFile, ele.stFile.iFileSize, ele.stFile.szFile);\r\n                    }\r\n                })\r\n            }\r\n\r\n            innerCheckForImDownload(this._session, imInfo, function (imInfo, tag) {\r\n                var targetid = imInfo.szTargetId;\r\n                var imModule = tag.imModule;\r\n\r\n                baseImnotification(imInfo);\r\n                // if (targetid.indexOf(\"CONF\") == 0) {\r\n                //     imModule._confmanger._onCmrRecvImMsg(imInfo);\r\n                // } else {\r\n                //     var response = tag.response;\r\n                //     imModule._pusModules._onNotifyImMsg(imInfo, response);\r\n                // }\r\n            }, tag);\r\n        },\r\n\r\n        //发送图片或文件上传成功\r\n        _imMsgProgress: function (msgType, data, response) {\r\n            var targetid = response.getTargetid();\r\n            innerImAfterSendMsg(this._session, data.data, data.attchdata, targetid);\r\n        }\r\n    };\r\n\r\n    dMgr.RegModule(\"ImModule\", {});\r\n})(jSW.DependencyMgr);","(function (dMgr) {\r\n    jSW.StorageFileType = {\r\n        ALL: 0,      // 不限定文件类型\r\n        RECORD: 1 << 0,   // 录像文件\r\n        CAPTURE: 1 << 1,  // 图片文件\r\n        GPS: 1 << 2, // 固件文件\r\n        AUDIO: 1 << 3,// 音频文件\r\n        FIRMWARE: 1 << 8      // GPS文件\r\n    };\r\n\r\n    jSW.StorageRecordType = {\r\n        NONE: 0,\r\n        MANUAL: (1 << 0),\r\n        ONTIME: (1 << 1),\r\n        ONALARM: (1 << 2)\r\n    };\r\n\r\n    jSW.SW_CHANEL_STATUS = {\r\n        OPENED: 0,      //打开成功\r\n        OPENING: 1,     //正在打开\r\n        CLOSED: 2,      //关闭\r\n        HLS_OPEN: 3,    //打开HLS\r\n        HLS_M3U8: 4     //产生m3u8文件\r\n    };\r\n\r\n    jSW.MEDIADIR = {\r\n        ALLNULL: 0,\r\n        VIDEOSEND: (1 << 0), /**值为1,视频发送,暂不支持*/\r\n        VIDEORECV: (1 << 1), /**值为2,视频接收*/\r\n        AUDIOSEND: (1 << 2), /**值为4,音频发送,仅OCX支持*/\r\n        AUDIORECV: (1 << 3), /**值为8,音频接收*/\r\n        DATASEND: (1 << 4),  /**值为16,数据发送*/\r\n        DATARECV: (1 << 5),  /**值为32,数据接收*/\r\n    };\r\n\r\n    jSW.FileTransEvent = {\r\n        DEFAULT: 0,\r\n        FILE_TRANS_OPEN: 1,\r\n        FILE_TRANS_CLOSE: 2,\r\n        FILE_TRANS_PROCESS: 3\r\n    };\r\n\r\n    jSW.RcCode = {\r\n        RC_CODE_S_OK: 0, /**成功*/\r\n        RC_CODE_S_OTHER: 1,\r\n\r\n        RC_CODE_E_FAIL: -1, /**一般错误*/\r\n        RC_CODE_E_INVALIDARG: -2, /**参数*/\r\n        RC_CODE_E_USERNAME: -3, /**用户名*/\r\n        RC_CODE_E_PASSWORD: -4, /**密码*/\r\n        RC_CODE_E_NOTFOUND: -5, /**未找到*/\r\n        RC_CODE_E_UNSUPPORTED: -6, /**不支持*/\r\n        RC_CODE_E_BUSY: -7, /**繁忙*/\r\n        RC_CODE_E_NOTINITILIZED: -8, /**未初始化*/\r\n        RC_CODE_E_TIMEOUT: -9, /**è¶…æ—¶*/\r\n        RC_CODE_E_ALREADYEXIST: -10, /**已存在*/\r\n        RC_CODE_E_DISCONNECTED: -11, /**未连接*/\r\n        RC_CODE_E_OTHER: -11,\r\n\r\n\r\n        RC_CODE_E_BVCU_FAILED: 20101,   /*general error*/\r\n        RC_CODE_E_BVCU_INVALIDARG: 20101 + 1,         /*invalid argument*/\r\n        RC_CODE_E_BVCU_UNSUPPORTED: 20101 + 2,        /*unsupported functions*/\r\n        RC_CODE_E_BVCU_ALLOCMEMFAILED: 20101 + 3,    /*allocate memory failed*/\r\n        RC_CODE_E_BVCU_MEMALIGNMENT: 20101 + 4,      /*memory alignment is not satisfied*/\r\n        RC_CODE_E_BVCU_NOTFOUND: 20101 + 5,          /*not found*/\r\n        RC_CODE_E_BVCU_NOTALLOWED: 20101 + 6,        /*the requested access is not allowed*/\r\n        RC_CODE_E_BVCU_IO: 20101 + 7,                /*I/O error*/\r\n        RC_CODE_E_BVCU_EOF: 20101 + 8,               /*End of file*/\r\n        RC_CODE_E_BVCU_INVALIDDATA: 20101 + 9,       /*Invalid data found when processing input*/\r\n        RC_CODE_E_BVCU_NOTIMPL: 20101 + 10,           /*not implemented*/\r\n        RC_CODE_E_BVCU_BUSY: 20101 + 11,              /*busy.deny service now*/\r\n        RC_CODE_E_BVCU_INUSE: 20101 + 12,              /*device in use*/\r\n        RC_CODE_E_BVCU_BADREQUEST: 20101 + 13,        /*bad request*/\r\n        RC_CODE_E_BVCU_AUTHORIZE_FAILED: 20101 + 14,    /*authorize failed。登录/发送命令等的OnEvent回调中使用*/\r\n        RC_CODE_E_BVCU_BADSTATE: 20101 + 15,          /*bad internal state*/\r\n        RC_CODE_E_BVCU_NOTINITILIZED: 20101 + 16,      /*not initialized*/\r\n        RC_CODE_E_BVCU_FATALERROR: 20101 + 17,        /*fatal error. BVCU should be closed*/\r\n        RC_CODE_E_BVCU_OUTOFSPACE: 20101 + 18,        /*out of space*/\r\n        RC_CODE_E_BVCU_DISCONNECTED: 20101 + 19,      /*disconnected*/\r\n        RC_CODE_E_BVCU_TIMEOUT: 20101 + 20,            /*time out*/\r\n        RC_CODE_E_BVCU_CONNECTFAILED: 20101 + 21,      /*connect failed*/\r\n        RC_CODE_E_BVCU_ABORTED: 20101 + 22,            /*request aborted*/\r\n        RC_CODE_E_BVCU_THRAEDCONTEXT: 20101 + 23,      /*can not execute in the specified thread context*/\r\n        RC_CODE_E_BVCU_UNAVAILABLE: 20101 + 24,        /*unavailable, eg: initialize a dialog with an offlined PU*/\r\n        RC_CODE_E_BVCU_ALREADYEXIST: 20101 + 25,       /*already exist*/\r\n        RC_CODE_E_BVCU_SEVERINTERNAL: 20101 + 26,      /*Server internal error*/\r\n        RC_CODE_E_BVCU_MAXRETRIES: 20101 + 27,              /*达到最大重试次数*/\r\n        RC_CODE_E_BVCU_AAA_OBJECTNOTFOUND: 20101 + 28,/*AAA 用户/用户组等不存在。SESSION_CLOSE事件的OnEvent回调中使用*/\r\n\r\n        RC_CODE_S_BVCU_OK: 20101 + 29,                /*succeed*/\r\n        RC_CODE_S_BVCU_IGNORE: 20101 + 30,            /*succeed,but something can not handle is ignored.*/\r\n        RC_CODE_S_BVCU_PENDING: 20101 + 31,           /*operation is pending.*/\r\n        RC_CODE_S_BVCU_CONTINUE: 20101 + 32,          /*表示后续还有FTP数据*/\r\n\r\n        RC_CODE_S_SAV_OPEN_FAIL: 20101 + 33,          /*SAV打开容器失败*/\r\n\r\n\r\n        RC_CODE_E_REDIS_CONNECTED_FAIL: 30601, /**连接redis失败*/\r\n        RC_CODE_E_REDIS_SET_FAIL: 30601 + 1, /**redis设置失败*/\r\n        RC_CODE_E_REDIS_GET_FAIL: 30601 + 2, /**redis查询失败*/\r\n        RC_CODE_E_REDIS_GET_NIL: 30601 + 3, /**redis查询的值为空*/\r\n\r\n        RC_CODE_E_SW_CONNECTION_EXIT: 30701, /**连接已存在*/\r\n        RC_CODE_E_SW_CONNECTION_NOT_EXIT: 30701 + 1,\r\n        RC_CODE_E_SW_PU_NOT_EXIT: 30701 + 2,\r\n        RC_CODE_E_SW_CHANEL_NOT_EXIT: 30701 + 3,\r\n        RC_CODE_E_SW_CREATE_THREAD_FAIL: 30701 + 4, /**线程创建失败*/\r\n        RC_CODE_E_SW_LISTENER_INIT_FAIL: 30701 + 5, /**监听初始化失败*/\r\n        RC_CODE_E_SW_HIREDIS_INIT_FAIL: 30701 + 6, /**redis初始化失败*/\r\n        RC_CODE_E_SW_JSON_PARSE: 30701 + 7,\r\n        RC_CODE_E_SW_HAVE_LOGIN: 30701 + 8,\r\n        RC_CODE_E_SW_LOGIN_ING: 30701 + 9,\r\n        RC_CODE_E_SW_CHANEL_HAVE_OPEN: 30701 + 10,\r\n        RC_CODE_E_SW_CHANEL_OPENING: 30701 + 11,\r\n        RC_CODE_E_SW_UN_SUPPORTED: 30701 + 12,\r\n        RC_CODE_E_SW_WAIT: 30701 + 13,\r\n        RC_CODE_E_SW_TIME_OUT: 30701 + 14,\r\n        RC_CODE_E_SW_INVALID_URL: 30701 + 15,\r\n        RC_CODE_E_SW_FILE_NOT_EXIST: 30701 + 16,\r\n        RC_CODE_E_SW_IO: 30701 + 17,\r\n        RC_CODE_E_SW_CHANEL_TYPE: 30701 + 18,\r\n\r\n        RC_CODE_S_HTTP_HAVE_NOTIFY: 30701 + 19,\r\n\r\n        RC_CODE_E_SOCKET_FAIL: 30801,\r\n        RC_CODE_E_SOCKET_CREATE_OBJECT: 30801 + 1, /**创建对象失败*/\r\n        RC_CODE_E_SOCKET_BIND: 30801 + 2,\r\n        RC_CODE_E_SOCKET_REGISTER_SIGNAL: 30801 + 3,\r\n        RC_CODE_E_SOCKET_SEND: 30801 + 4,\r\n\r\n        RC_CODE_E_INVALIDIP: 30201, /**无效的IP*/\r\n        RC_CODE_E_INVALIDPORT: 30202, /**无效的端口号*/\r\n\r\n        RC_CODE_E_SERVICE_NOT_START: 10501, /**服务未启动*/\r\n        bSuccess: function (rc) {\r\n            return this.RC_CODE_S_OK == rc;\r\n        },\r\n        bFaild: function (rc) {\r\n            return this.RC_CODE_S_OK != rc;\r\n        },\r\n        bFailed: function (rc) {\r\n            return this.RC_CODE_S_OK != rc;\r\n        },\r\n        trans: function (rc) {\r\n            for (var iindex in this) {\r\n                if (this[iindex] == rc) {\r\n                    return iindex;\r\n                }\r\n            }\r\n            return \"\";\r\n        }\r\n    };\r\n\r\n    jSW.PTZCommand =\r\n        {\r\n            //方向操作\r\n            BVCU_PTZ_COMMAND_UP: 0,     //向上。iParam1:unused;iParam2: 速度;iParam3:unused\r\n            BVCU_PTZ_COMMAND_DOWN: 1,   //向下。iParam1:unused;iParam2: 速度;iParam3:unused\r\n            BVCU_PTZ_COMMAND_LEFT: 2,  //向左。iParam1:unused;iParam2: 速度;iParam3:unused\r\n            BVCU_PTZ_COMMAND_RIGHT: 3, //向右。iParam1:unused;iParam2: 速度;iParam3:unused\r\n            BVCU_PTZ_COMMAND_LEFTTOP: 4,  //左上。iParam1:垂直速度;iParam2: 水平速度;iParam3:unused\r\n            BVCU_PTZ_COMMAND_RIGHTTOP: 5,  //右上。iParam1:垂直速度;iParam2: 水平速度;iParam3:unused\r\n            BVCU_PTZ_COMMAND_LEFTDOWN: 6,  //左下。iParam1:垂直速度;iParam2: 水平速度;iParam3:unused\r\n            BVCU_PTZ_COMMAND_RIGHTDOWN: 7,  //右下。iParam1:垂直速度;iParam2: 水平速度;iParam3:unused\r\n\r\n            //镜头操作\r\n            BVCU_PTZ_COMMAND_ZOOM_INC: 8,  //增加放大倍数。iParam1:unused;iParam2: unused;iParam3:unused\r\n            BVCU_PTZ_COMMAND_ZOOM_DEC: 9,  //减小放大倍数。iParam1:unused;iParam2: unused;iParam3:unused\r\n            BVCU_PTZ_COMMAND_FOCUS_INC: 10, //焦距调远。iParam1:unused;iParam2: unused;iParam3:unused\r\n            BVCU_PTZ_COMMAND_FOCUS_DEC: 11, //焦距调近。iParam1:unused;iParam2: unused;iParam3:unused\r\n            BVCU_PTZ_COMMAND_APERTURE_INC: 12, //光圈放大。iParam1:unused;iParam2: unused;iParam3:unused\r\n            BVCU_PTZ_COMMAND_APERTURE_DEC: 13, //光圈缩小。iParam1:unused;iParam2: unused;iParam3:unused\r\n\r\n            //预置点操作\r\n            BVCU_PTZ_COMMAND_PRESET_GO: 14,  //转到预置点。iParam1:预置点号;iParam2: 垂直速度;iParam3:水平速度\r\n            BVCU_PTZ_COMMAND_PRESET_SET: 15, //把当前位置设置为预置点。iParam1:预置点号;iParam2: 预置点名;iParam3:unused\r\n            BVCU_PTZ_COMMAND_PRESET_SETNAME: 16, //更改预置点名字。iParam1:预置点号;iParam2: 预置点名;iParam3:unused\r\n            BVCU_PTZ_COMMAND_PRESET_DEL: 17, //删除预置点。iParam1:预置点号;iParam2: unused;iParam3:unused\r\n\r\n            //巡航路线操作\r\n            BVCU_PTZ_COMMAND_CRUISE_GO: 18,//启动巡航。iParam1:巡航路线号;iParam2: unused;iParam3:unused\r\n            BVCU_PTZ_COMMAND_CRUISE_STOP: 19,//停止巡航。iParam1:巡航路线号;iParam2: unused;iParam3:unused\r\n            BVCU_PTZ_COMMAND_CRUISE_SET: 20,//设置整个巡航路线。iParam1:巡航路线号;iParam2: BVCU_PUCFG_CRUISE指针;iParam3:unused\r\n            BVCU_PTZ_COMMAND_CRUISE_DEL: 21,//删除巡航路线。iParam1:巡航路线号;iParam2: unused;iParam3:unused\r\n\r\n            //辅助功能操作\r\n            BVCU_PTZ_COMMAND_AUX: 22,//打开/关闭辅助功能开关,Param1:辅助号;iParam2: 0-关闭,1-开启;iParam3:unused\r\n\r\n            //锁操作\r\n            //如果锁定超过60秒后,用户没有手工解除锁定,Server会自动解除锁定。\r\n            BVCU_PTZ_COMMAND_LOCK: 23,//锁定/解锁云台。iParam1:unused;iParam2: unused;iParam3:unused\r\n        };\r\n\r\n    dMgr.RegModule(\"jswConst\", {});\r\n})(jSW.DependencyMgr);","(function () {\r\n    var jSWUtils = jSW.DependencyMgr.GetModule(\"jSWUtils\");\r\n    jSW._mMgr_OCX = jSWUtils._mMgr;\r\n\r\n    var _ocxHandle = null;\r\n    var szOcxWs = [];\r\n    var ocxWebSocket = function (url) {\r\n        this._url = url.replace(/ws:\\/\\//g, \"\");\r\n        this.onopen = null;\r\n        this.onerror = null;\r\n        this.onmessage = null;\r\n        this.onclose = null;\r\n        this.m_id = -1;\r\n        this.readyState = 0;\r\n    }\r\n\r\n    ocxWebSocket.prototype = {\r\n        open: function () {\r\n            try {\r\n                var rt = _ocxHandle.oxWebSocket(\"connect\", this._url);\r\n                //var rt = _ocxHandle.oxWebSocket(\"connect\", \"127.0.0.1:49537\");\r\n                if (rt < 0) {\r\n                    this.onerror(rt);\r\n                } else {\r\n                    this.m_id = rt;\r\n                    szOcxWs[this.m_id] = this;\r\n                }\r\n            }\r\n            catch (e) {\r\n                this.onerror(e);\r\n            }\r\n        },\r\n        onEvent: function (eventType, data) {\r\n            switch (eventType) {\r\n                case \"onConnected\":\r\n                    this.readyState = 1;\r\n                    this.onopen();\r\n                    break;\r\n\r\n                case \"wsOnClosed\":\r\n                    szOcxWs[this.m_id] = null;\r\n                    var e = {\r\n                        code: -1,\r\n                        reason: \"no reason\"\r\n                    }\r\n                    if (this.readyState == 1 || this.readyState == 0) {\r\n                        this.readyState = 2;\r\n                        this.onclose(e);\r\n                    }\r\n                    break;\r\n\r\n                case \"wsOnMessage\":\r\n                    var uint8arrayData = Base64Decode(data);\r\n                    var message = {\r\n                        data: uint8arrayData\r\n                    };\r\n                    this.onmessage(message);\r\n                    break;\r\n            }\r\n        },\r\n        send: function (data) {\r\n            if (this.m_id != -1) {\r\n                var desdata = Uint8ToBase64(data);\r\n                _ocxHandle.oxWebSocket(\"send:\" + this.m_id, desdata);\r\n            }\r\n        },\r\n        close: function (bNoCallback) {\r\n            if (this.m_id != -1) {\r\n                if (bNoCallback) {\r\n                    _ocxHandle.oxWebSocket(\"close:\" + this.m_id, \"1\");\r\n                } else {\r\n                    _ocxHandle.oxWebSocket(\"close:\" + this.m_id, \"0\");\r\n                }\r\n                szOcxWs[this.m_id] = null;\r\n            }\r\n        }\r\n    }\r\n    \r\n    ocxWebSocket.SetOcxHandle = function (ocxHandle) {\r\n        _ocxHandle = ocxHandle;\r\n        var jswOcxWsId = \"jsw_ocx_ws_handle\";\r\n        var oScript = document.getElementById(jswOcxWsId);\r\n        if (oScript == null) {\r\n            oScript = document.createElement(\"script\");\r\n            oScript.type = \"text/javascript\";\r\n            oScript.setAttribute('for', 'jsw_ocx');\r\n            oScript.setAttribute('event', 'oxWebSocketEvent(rc, data)');\r\n            oScript.text = 'jSW._mMgr_OCX.GetOcxWsTag()[0](rc, data);';\r\n            oScript.id = jswOcxWsId;\r\n        }\r\n        var parentEle = jSW && jSW[\"DependencyMgr\"] ? jSW.DependencyMgr.GetJsEleContainer() : document.body;\r\n        parentEle.appendChild(oScript);\r\n    }\r\n\r\n    function gbEvent(handle, data) {\r\n        var strhandle = handle;\r\n        var eventType = strhandle.split(':')[0];\r\n        var ihandle = strhandle.split(':')[1];\r\n        var ws = jSWUtils._mMgr.GetOcxWsTag()[1][ihandle];\r\n        if (ws) {\r\n            ws.onEvent(eventType, data);\r\n        }\r\n    }\r\n\r\n    jSWUtils._mMgr.regOcxWebSocket(ocxWebSocket, [gbEvent, szOcxWs]);\r\n\r\n    window.addEventListener(\"unload\", function () {\r\n    });\r\n})();","/**\r\n * auto load pu list, after login ok,\r\n */\r\n(function (dMgr) {\r\n    var jSWProtocol = dMgr.GetModule(\"jSWProtocol\");\r\n\r\n    function PuLoad() {\r\n\r\n    }\r\n\r\n    var mSession = null;\r\n    /**\r\n     * 初始化,注入session\r\n     */\r\n    PuLoad.prototype.PuLoadInit = function (tConfig) {\r\n        this.config = {};\r\n        this.config.nEGP = tConfig.bNEGP;\r\n        this.config.bManualLP = tConfig.bManualLP;\r\n        _InnerInit();\r\n        return this;\r\n    }\r\n\r\n\r\n    PuLoad.prototype.OnSearchPuListResponse = function (msgType, payload) {\r\n        var stRc = null;\r\n        if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_SEARCH_GET_PULIST) {\r\n            var searchRsp = {\r\n                puList: null,\r\n                info: null\r\n            }\r\n            var searchResponse = proto.BVCU.Search.Search_Response.deserializeBinary(payload).toObject();\r\n            searchRsp.puList = mSession._internalOnResponsePulist(searchResponse.ppulistList);\r\n            searchRsp.info = searchResponse.stsearchinfo;\r\n            console.log('on get pu list');\r\n            if(this.config.bManualLP){\r\n                stRc = searchRsp;// 返回检索信息\r\n                console.log('Manual Search Get Pu List: ')\r\n                console.log(stRc.info);\r\n            }else{\r\n                OnAutoLoadPuList.bind(this)(searchRsp);\r\n                stRc = searchRsp.puList; // 为兼容老版本,自动获取,返回设备列表\r\n            }\r\n        } else {\r\n            console.error('we no longer support WEB_BVCU_GET_PULIST');\r\n        }\r\n        return stRc;\r\n    }\r\n\r\n    var _innerTag = {\r\n        iStart: 0,\r\n        iCount: 0\r\n    };\r\n    var iTotalCount = 0;\r\n    var iEveryCount = 64;\r\n    var bLoadOver = false;\r\n\r\n    function _InnerInit() {\r\n        _innerTag.iStart = 0;\r\n        _innerTag.iCount = iEveryCount;\r\n        bLoadOver = false;\r\n    }\r\n\r\n    \r\n    function OnAutoLoadPuList(puList) {\r\n        if(!this.config.bManualLP){\r\n            var tag = _innerTag;\r\n            if (!this.config.bManualLP) {\r\n                iTotalCount += puList.info.icount;\r\n                console.log(puList);\r\n                if (iTotalCount < puList.info.itotalcount) {\r\n                    tag.iStart += iEveryCount;\r\n                    _SearchGetPuList.bind(this)(null, tag.iStart, iEveryCount, null, tag);\r\n                }else{\r\n                    bLoadOver = true;\r\n                }\r\n            }\r\n        }\r\n    }\r\n\r\n    PuLoad.prototype.CheckPuLoadShouldNotNotify = function(msgType){\r\n        if(msgType != proto.WEBBVCU.MSGType.WEB_BVCU_SEARCH_GET_PULIST){\r\n            return false;\r\n        }\r\n        return !this.config.bManualLP && !this.config.nEGP && !bLoadOver;\r\n    }\r\n\r\n    \r\n    PuLoad.prototype.OnLoginOk = function (session) {\r\n        mSession = session;\r\n        iTotalCount = 0;\r\n        _InnerInit()\r\n        if (!this.config.bManualLP) {\r\n            _SearchGetPuList.bind(this)({}, 0, iEveryCount, null, _innerTag);\r\n        }\r\n    }\r\n\r\n    function _SearchGetPuList(filter, iPosition, iCount, cb, tag) {\r\n        var payload = new proto.BVCU.Search.Search_Request();\r\n        var searchInfo = new proto.BVCU.Search.SearchInfo();\r\n        \r\n        payload.setStsearchinfo(searchInfo);\r\n        searchInfo.setItype(jSWProtocol.SearchType.PULIST);\r\n        searchInfo.setIcount(Number(iCount));\r\n        searchInfo.setIpostition(Number(iPosition));\r\n        \r\n        if(filter){\r\n            var puFilter = new proto.BVCU.Search.Search_PUListFilter();\r\n\r\n            puFilter.setIonlinestatus(filter.iOnlineStatus ? filter.iOnlineStatus : 0);\r\n            puFilter.setItimebegin(filter.iTimeBegin ? filter.iTimeBegin : 0)\r\n            puFilter.setItimeend(filter.iTimeEnd ? filter.iTimeEnd : 0)\r\n            puFilter.setSzidorname(filter.szIDOrName ? filter.szIDOrName : \"\")\r\n            puFilter.setSzgroupid(filter.szGroupID ? filter.szGroupID : \"\")\r\n\r\n            payload.setStpulistfilter(puFilter);\r\n        }\r\n\r\n        var command = this.config.bManualLP ? '' : jSWProtocol.RequestHeader.pulist.cmd;\r\n        var rc = jSWProtocol.AutoReqSendProxy(mSession, null, null, function () {\r\n            return {\r\n                msgtype: proto.WEBBVCU.MSGType.WEB_BVCU_SEARCH_GET_PULIST,\r\n                payload: payload,\r\n                callback: cb,\r\n                tag: tag,\r\n                cmd: command\r\n            }\r\n        });\r\n        return rc;\r\n    }\r\n\r\n    /**\r\n     * \r\n     */\r\n    PuLoad.prototype.SearchGetPulist = function (options, cb, tag) {\r\n        var position = Number(options.iPosition);\r\n        var count = Number(options.iCount);\r\n        var filter = options.stFilter;\r\n        if(count <= 0){\r\n            count == 128;\r\n        }\r\n        return _SearchGetPuList.bind(this)(filter, position, count, cb, tag);\r\n    }\r\n\r\n    //jSW.DependencyMgr.ClaimModule('PuLoad')\r\n    dMgr.RegClaimedModule(\"PuLoad\", PuLoad);\r\n    \r\n    //var PuLoad = jSW.DependencyMgr.GetModule(\"PuLoad\");\r\n})(jSW.DependencyMgr);","(function (dMgr) {\r\n    var jSWProtocol = dMgr.GetModule(\"jSWProtocol\");\r\n    var jSWUtils = dMgr.GetModule(\"jSWUtils\");\r\n    var jSWOptions = dMgr.GetModule(\"jSWOptions\");\r\n\r\n    // ----SWCONFERENCE---\r\n    jSW.SwConfManager = function (parent) {\r\n        this._parent = parent;\r\n        this._clear();\r\n    };\r\n\r\n    jSW.SwConfManager.MODE_SPEAK = {\r\n        DISCUSSIONGROUP: (0 << 0),//讨论组模式\r\n        CHAIRMAN: (1 << 0),//演讲培训模式\r\n    }//会议发言类型\r\n\r\n    jSW.SwConfManager.MODE_JOIN = {\r\n        INVITE: (0 << 4),//不能主动加入\r\n        PASSWORD: (1 << 4),//主动加入,但需要输入密码\r\n        FREE: (2 << 4),//主动加入,不提示密码\r\n    }//会议加入类型\r\n\r\n    jSW.SwConfManager.MODE_APPLY = {\r\n        NEEDAGREE: (0 << 7),//需要管理员同意\r\n        AUTOAGREE: (1 << 7),//服务器自动同意\r\n    }//是否由服务器自动同意发言申请\r\n\r\n    jSW.SwConfManager.MODE_START = {\r\n        STOPADMIN: (0 << 8),//由会议管理员来开始\r\n        FOREVER: (1 << 8),//会议自动开始,并不允许停止\r\n    }//会议是否永远开始(自动开始,不准停止)\r\n\r\n    jSW.SwConfManager.STATUS = {\r\n        STOPPED: 0,\r\n        STARTED: 1\r\n    }\r\n\r\n    jSW.SwConfManager.POWER = {\r\n        ADMIN: 1,\r\n        MODETATOR: 2\r\n    }\r\n\r\n    jSW.SwConfManager._UTILS = {\r\n        participatorToLocalUser: function (parent, participator) {\r\n            var filterPuId = participator.getSzid();\r\n            var appendData = filterPuId;\r\n            while(filterPuId.indexOf(\"PU_0\") == 0){\r\n                filterPuId = filterPuId.replace(\"PU_0\", \"PU_\");\r\n            }\r\n            \r\n\r\n            var partiName = participator.getSzusername();\r\n            while(partiName.indexOf(\"PU_0\") == 0){\r\n                partiName = partiName.replace(\"PU_0\", \"PU_\");\r\n            }\r\n            \r\n            var particular = {\r\n                id: filterPuId,\r\n                name: partiName,\r\n                addr: participator.getSzaddr(),\r\n                applierid: participator.getIapplierid(),\r\n                pid: participator.getIpid(),\r\n                //allowedmediadir: participator.getIallowedmediadir(),\r\n                aliasname: participator.getSzaliasname(),\r\n                isonline: (participator.getIstatus() > 0),\r\n                isleave: (participator.getIstatus() == 0x00000001 || participator.getIstatus() <= 0),\r\n                isinseat: (participator.getIstatus() == 0x00000002 || participator.getIstatus()== 0x00000003),\r\n                isSpeak: (participator.getIstatus()== 0x00000003),\r\n                isadmin: (participator.getIpower() & jSW.SwConfManager.POWER.ADMIN) == jSW.SwConfManager.POWER.ADMIN,\r\n                ismodetator: (participator.getIpower() & jSW.SwConfManager.POWER.MODETATOR) == jSW.SwConfManager.POWER.MODETATOR,\r\n                volume: participator.getIvolume(),\r\n                _appendData: appendData\r\n            };\r\n            return particular;\r\n        },\r\n        confBaseInfoToLocalInfo: function (confBaseInfo) {\r\n            var baseinfo = {\r\n                name: confBaseInfo.getSzname(),\r\n                id: confBaseInfo.getSzid(),\r\n                password: confBaseInfo.getSzpassword(),\r\n                bIsDiscussiongroup: (confBaseInfo.getImode() & 0x0f) == 0,\r\n                bIsChairman: (confBaseInfo.getImode() & 0x0f) == 1,\r\n                bIsInvite: (confBaseInfo.getImode() & 0x38) == 0,\r\n                bIsPassword: (confBaseInfo.getImode() & 0x38) == 0x10,\r\n                bIsFree: (confBaseInfo.getImode() & 0x38) == 0x20,\r\n                bAutoApply: (confBaseInfo.getImode() & 0x80) == 0x80,\r\n                bAutoStart: (confBaseInfo.getImode() & 0x100) == 0x100,\r\n                bIsStarted: confBaseInfo.getIconfstatus() == jSW.SwConfManager.STATUS.STARTED,\r\n                bAudioRecord: confBaseInfo.getIrecordstatus() == 1,\r\n                szRecordNRUID: confBaseInfo.getSzrecordnruid(),\r\n                _imode: confBaseInfo.getImode(),\r\n                _istatus: confBaseInfo.getIconfstatus(),\r\n                iTimeout: confBaseInfo.getItimeout()\r\n            };\r\n            return baseinfo;\r\n        },\r\n        onlineUserToLocal: function (onlineUser) {\r\n            var onlineuser = {\r\n                userid: onlineUser.getSuserid(),\r\n                devid: onlineUser.getSzdevid(),\r\n                addr: onlineUser.getSzaddr(),\r\n                isonline: onlineUser.getIstatus() == 1,\r\n                iapplierid: onlineUser.getIapplierid(),\r\n                year: onlineUser.getStlogintime().getIyear(),\r\n                month: onlineUser.getStlogintime().getImonth(),\r\n                day: onlineUser.getStlogintime().getIday(),\r\n                hour: onlineUser.getStlogintime().getIhour(),\r\n                minute: onlineUser.getStlogintime().getIminute(),\r\n                second: onlineUser.getStlogintime().getIsecond()\r\n            };\r\n\r\n            return onlineuser;\r\n        }\r\n    };\r\n\r\n    jSW.SwConfManager.AudioOperateTypes = {\r\n        CAPTURE_BEGIN: 0,\r\n        CAPTURE_END: 1,\r\n        RENDER_BEGIN: 2,\r\n        RENDER_END: 3\r\n    };\r\n\r\n    jSW.SwConfManager.prototype = {\r\n        _parent: null,\r\n        _conf_list: [],\r\n        _conf_list_names: [],\r\n        _user_online: [],\r\n        _user_online_names: [],\r\n        _ifocus: -1,\r\n        _callbackManager: null,\r\n        _callback: null,\r\n        _watchCallBack: null,\r\n\r\n        _clear: function () {\r\n            this._conf_list = [];\r\n            this._conf_list_names = [];\r\n        },\r\n\r\n        /**\r\n         * options{\r\n         *    iOperateCodeType: jSW.SwConfManager.AudioOperateTypes,\r\n         *    szLocalFilePath: \"\"\r\n         *    callback: function(options, resposne, data){},\r\n         *    tag: {}\r\n         * }\r\n         */\r\n        swLocalAudioRecord: function (options) {\r\n            var payload = new proto.WEBBVCU.AudioOperate();\r\n            payload.setIoperatecode(options.iOperateCodeType);\r\n            if (options.iOperateCodeType == jSWProtocol.AUDIO_OP_CODES.RENDER_BEGIN) {\r\n                payload.setSzlocalpath(jSWUtils.string2Uint8Array(options.szLocalFilePath));\r\n            }\r\n            var rc = jSWProtocol.SendRequest({\r\n                session: this._parent,\r\n                msgtype: proto.WEBBVCU.MSGType.WEB_UTILS_AAC_OPERATE,\r\n                payload: payload,\r\n                callback: options.callback,\r\n                tag: options.tag\r\n            });\r\n            return rc;\r\n        },\r\n\r\n        /**\r\n        * callback: function(){}\r\n        * tag: object\r\n        */\r\n        swGetImEmotions: function (options) {\r\n            var ImEmtion = jSW.DependencyMgr.GetEmotionSync();\r\n            jSWUtils.ManualAsyncReply(options.callback, jSW.RcCode.RC_CODE_S_OK, ImEmtion.GetEmotimoUrls(), options.tag);\r\n            return jSW.RcCode.RC_CODE_S_OK;\r\n        },\r\n\r\n        _swFocus: function (iIndex) {\r\n            this._ifocus = iIndex;\r\n        },\r\n\r\n        _getOnlineUsers: function (options) {\r\n            var param = jSWProtocol.JsonParamCommand(this._parent._p_emms,\r\n               proto.WEBBVCU.MSGType.WEB_BVCU_GET_USER_ONLINE,\r\n               jSWProtocol.BVCU_Command('', -1, null));\r\n\r\n            var rc = jSWProtocol._internalSend({\r\n                cmd: jSWProtocol.RequestHeader.getonuserlist.cmd,\r\n                session: this._parent,\r\n                request: param,\r\n                callback: function (sender, response, data) {\r\n                    var tag = sender.tag;\r\n                    var confManager = tag.confManager;\r\n                    confManager._swFreshUserOnlielist(data);\r\n                    sender.tag = tag.option.tag;\r\n                    tag.option.callback(sender, response, data);\r\n                },\r\n                tag: {\r\n                    confManager: this,\r\n                    option: options\r\n                }\r\n            });\r\n\r\n            return rc;\r\n        },\r\n\r\n        _onCmrRecvImMsg: function (imInfo) {\r\n            var conf = this.swGetConfByConfId(imInfo.szTargetId);\r\n            conf._onRecvImMsg(imInfo);\r\n        },\r\n\r\n        _onCMrNotify: function (msgType, cmd, response) {\r\n            if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_CONF_NOTIFY_CONF_CREATE ||\r\n                msgType == proto.WEBBVCU.MSGType.WEB_BVCU_CONF_NOTIFY_BASEINFO) {\r\n                var szconfBaseInfo = [];\r\n                var pbconfBaseInfo = proto.BVCU.ConfBaseInfo.deserializeBinary(response.getPayload());\r\n                var confbaseinfo = jSW.SwConfManager._UTILS.confBaseInfoToLocalInfo(pbconfBaseInfo);\r\n                szconfBaseInfo.push(confbaseinfo);\r\n                this._swFreshConflist(szconfBaseInfo);\r\n                var conf = this.swGetConfByConfId(confbaseinfo.id);\r\n                this._dispatchCallback(conf, cmd, confbaseinfo.id);\r\n            }\r\n            else if (msgType == proto.WEBBVCU.MSGType.WEB_UTILS_AAC_OPERATE) {\r\n                var pbAudioOperate = proto.WEBBVCU.AudioOperate.deserializeBinary(response.getPayload());\r\n                var notiAudioOperate = jSWProtocol.AACOperatePb2_Json(pbAudioOperate);\r\n                this._dispatchCallback(null, cmd, notiAudioOperate);\r\n            } else {\r\n                var targetid = response.getTargetid();\r\n                if (targetid.indexOf(\"CONF_\") == -1) {\r\n                    targetid = targetid.replace('CONF', 'CONF_');\r\n                }\r\n\r\n                var conf = this.swGetConfByConfId(targetid);\r\n                if (conf != null) {\r\n                    conf._onNotify(msgType, cmd, response.getPayload());\r\n                }\r\n            }\r\n        },\r\n\r\n        onSendMsgGetResult: function (targeid, msg) {\r\n            var conf = this.swGetConfByConfId(targeid);\r\n            //conf._onSendMsgGetResult(msg, true);\r\n        },\r\n\r\n        _onNotifyUserInfo: function (msgType, response) {\r\n\r\n            if (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_NOTIFY_PU_ONOFFLINE) {\r\n                for (var iIndex = 0; iIndex < this._conf_list_names.length; iIndex++) {\r\n                    conf = this._conf_list[this._conf_list_names[iIndex]];\r\n\r\n                    if (conf != null) {\r\n                        conf._onNotify(msgType, \"\", response);\r\n                    }\r\n                }\r\n                return;\r\n            }\r\n            else {\r\n\r\n                var payload = response.getPayload();\r\n                var sourceinfo = proto.BVCU.Event_Source.deserializeBinary(payload);\r\n                console.log(\"notify: user \" + sourceinfo.getSzid() +\r\n                        (msgType == proto.WEBBVCU.MSGType.WEB_BVCU_CONF_NOTIFY_USERLOGIN ?\r\n                        'login' : 'logout'));\r\n\r\n\r\n                baseNotificationOnOfflineCallback(msgType == proto.WEBBVCU.MSGType.WEB_BVCU_CONF_NOTIFY_USERLOGIN ?'login' : 'logout', sourceinfo.getSzid())\r\n\r\n                var conf = null;\r\n                for (var iIndex = 0; iIndex < this._conf_list_names.length; iIndex++) {\r\n                    conf = this._conf_list[this._conf_list_names[iIndex]];\r\n\r\n                    if (conf != null) {\r\n                        conf._onNotify(msgType, \"\", sourceinfo);\r\n                    }\r\n                }\r\n\r\n            }\r\n        },\r\n\r\n        _swFreshConflist: function (conflist) {\r\n            var conf = null;\r\n            for (var i = 0; i < conflist.length; i++) {\r\n                if (this._conf_list[conflist[i].id] == null) {\r\n                    this._conf_list[conflist[i].id] = conf = new jSW.SWCONF(this._parent, conflist[i]);\r\n                    this._conf_list_names.push(conflist[i].id)\r\n                }\r\n                else {\r\n                    conf = this._conf_list[conflist[i].id];\r\n                    conf._freshBaseInfo(conflist[i]);\r\n                }\r\n            }\r\n\r\n            if (conflist.length > 0) {\r\n                this._swFocus(0);\r\n            }\r\n        },\r\n\r\n        _swFreshConfInfo: function (confInfo) {\r\n            var isContain = false;\r\n            for (var i = 0; i < this._conf_list_names.length; i++) {\r\n                if (confInfo.baseinfo.id == this._conf_list_names[i]) {\r\n                    isContain = true;\r\n                    break;\r\n                }\r\n            }\r\n\r\n            if (!isContain) {\r\n                this._conf_list[confInfo.baseinfo.id] = new jSW.SWCONF(this._parent, confInfo.baseinfo);\r\n                this._conf_list_names[this._conf_list_names.length] = confInfo.baseinfo.id;\r\n            }\r\n            this._conf_list[confInfo.baseinfo.id]._swFreshConfInfo(confInfo);\r\n            return this._conf_list[confInfo.baseinfo.id];\r\n        },\r\n\r\n        _swFreshUserOnlielist: function (users) {\r\n            this._user_online = [];\r\n            this._user_online_names = [];\r\n\r\n            for (var i = 0; i < users.length; i++) {\r\n                this._user_online_names[i] = users[i].userid + users[i].iapplierid;\r\n                this._user_online[this._user_online_names[i]] = users[i];\r\n            }\r\n\r\n            var confTemp = null;\r\n            for (var i = 0; i < this._conf_list_names.length; i++) {\r\n                confTemp = this._conf_list[this._conf_list_names[i]];\r\n                if (confTemp != null) {\r\n                    confTemp._swFreshFreeUsers(users, this._parent._arr_pu);\r\n                }\r\n            }\r\n        },\r\n\r\n        _swGetConfList: function (options) {\r\n\r\n            var param = jSWProtocol.JsonParamCommand(this._parent._p_emms,\r\n               proto.WEBBVCU.MSGType.WEB_BVCU_GET_CONF_LIST,\r\n               jSWProtocol.BVCU_Command('', -1, null));\r\n\r\n            var rc = jSWProtocol._internalSend({\r\n                cmd: jSWProtocol.RequestHeader.getconflist.cmd,\r\n                session: this._parent,\r\n                request: param,\r\n                callback: options.callback,\r\n                tag: options.tag\r\n            });\r\n\r\n            return rc;\r\n        },\r\n\r\n        swInit: function (options) {\r\n            var params = {\r\n                callback: options.callback,\r\n                session: this._parent,\r\n                confMgr: this\r\n            };\r\n            var rc = this._swGetConfList({\r\n                callback: function (sender, response, szConf) {\r\n                    if (szConf.length == 0) {\r\n                        var rc = response.emms.code;\r\n                        sender.tag.callback(response.emms.code);\r\n                    }\r\n\r\n                    var conf;\r\n                    var targetid;\r\n                    var session = sender.tag.session;\r\n                    var confMgr = sender.tag.confMgr;\r\n                    var params = null;\r\n                    var desSzConfID = [];\r\n                    var infotemp = null;\r\n                    for (iindex in szConf) {\r\n                        infotemp = {};\r\n                        infotemp.id = szConf[iindex].id;\r\n                        infotemp.bGeted = false;\r\n                        desSzConfID.push(infotemp);\r\n                    }\r\n\r\n                    var _innerGetConfInfo = function (params) {\r\n                        if (params.iCurrentIndex >= params.szInfoTemp.length) {\r\n                            if (jSWOptions.CheckNotOcx()){\r\n                                var HandleConfSpeak = jSW.DependencyMgr.GetModule(\"HandleConfSpeak\")\r\n                                HandleConfSpeak.OnIStartConfConnectWsAudio()\r\n                            }\r\n                            params.initcallback(jSW.RcCode.RC_CODE_S_OK);\r\n                            return;\r\n                        }\r\n                        var currentInfo = params.szInfoTemp[params.iCurrentIndex];\r\n                        var conf = params.confMgr.swGetConfByConfId(currentInfo.id);\r\n\r\n                        if (conf) {\r\n                            var getparams = {\r\n                                callback: params.onGetConfInfo,\r\n                                parent: params.session,\r\n                                targetId: currentInfo.id,\r\n                                tag: params\r\n                            };\r\n                            var rc = conf._swGetConfInfo(getparams);\r\n                            if (rc != jSW.RcCode.RC_CODE_S_OK) {\r\n                                console.log(\"conf init, on get conf info error\");\r\n                                params.initcallback(jSW.RcCode.RC_CODE_E_NOTFOUND);\r\n                            }\r\n                        } else {\r\n                            params.toNextIndex(true);\r\n                            onGetConfInfo({ tag: params }, { emms: jSW.RcCode.RC_CODE_S_OK });\r\n                        }\r\n                    }\r\n\r\n                    var onGetConfInfo = function (sender, response, confInfo) {\r\n                        var tag = sender.tag;\r\n                        var rc = response.emms.code;\r\n                        if (rc != jSW.RcCode.RC_CODE_S_OK) {\r\n                            tag.initcallback(rc);\r\n                        } else {\r\n                            var params = tag;\r\n                            params.toNextIndex(true);\r\n                            tag.getconfinfo(params);\r\n                        }\r\n                    }\r\n\r\n                    var params = {\r\n                        session: session,\r\n                        szInfoTemp: desSzConfID,\r\n                        iCurrentIndex: 0,\r\n                        onGetConfInfo: onGetConfInfo,\r\n                        confMgr: confMgr,\r\n                        initcallback: sender.tag.callback,\r\n                        getconfinfo: _innerGetConfInfo,\r\n                        toNextIndex: function (bresult) {\r\n                            this.szInfoTemp[this.iCurrentIndex].bGeted = bresult;\r\n                            this.iCurrentIndex++;\r\n                        }\r\n                    };\r\n\r\n                    _innerGetConfInfo(params);\r\n\r\n                },\r\n                tag: params\r\n            });\r\n\r\n            console.log(\"conference manager init :\" + (rc == 0 ? \"success\" : \"faild\"));\r\n            return rc;\r\n        },\r\n\r\n        swGetConfList: function () {\r\n            var conflist = [];\r\n            var conf = null;\r\n            for (var iIndex = 0; iIndex < this._conf_list_names.length; iIndex++) {\r\n                conf = this._conf_list[this._conf_list_names[iIndex]];\r\n                conflist.push(conf);\r\n            }\r\n            return conflist;\r\n        },\r\n\r\n        swGetConfByConfId: function (id) {\r\n            return this._conf_list[id];\r\n        },\r\n\r\n        /**var options = {\r\n            confbaseinfo:{\r\n                name:conf 名字。必须设置为非空\r\n                speakmode:发言类型 jSW.SwConfManager.MODE_SPEAK.*\r\n                joinmode:jSW.SwConfManager.MODE_JOIN.*\r\n                applyformode:jSW.SwConfManager.MODE_APPLY.*\r\n                startmode:jSW.SwConfManager.MODE_START.*\r\n                password: 密码,仅对CONF_MODE_JOIN_PASSWORD有意义\r\n                confstatus: 会议状态,jSW.SwConfManager.MODE_START.*,\r\n                bautorecord: boolean\r\n            },\r\n            callback: function(options, response) {\r\n                options = options;\r\n                response = {\r\n                    emms: emms,\r\n                    request: request\r\n                }\r\n            },\r\n            tag: tag\r\n        };*/\r\n        swCreateConf: function (poptions) {\r\n            var dft_poptions = {\r\n                confbaseinfo: {\r\n                    name: 'conf',\r\n                    speakmode: jSW.SwConfManager.MODE_SPEAK.CHAIRMAN,\r\n                    joinmode: jSW.SwConfManager.MODE_JOIN.INVITE,\r\n                    applyformode: jSW.SwConfManager.MODE_APPLY.AUTOAGREE,\r\n                    startmode: jSW.SwConfManager.MODE_START.FOREVER,\r\n                    password: '',\r\n                    bautorecord: false,\r\n                    itimeout: 0\r\n                },\r\n                callback: null\r\n            };\r\n\r\n            poptions = jSWUtils.extend({}, dft_poptions, poptions || {});\r\n\r\n            var option = new proto.BVCU.ConfBaseInfo();\r\n\r\n            //if (poptions.confbaseinfo.speakmode == jSW.SwConfManager.MODE_SPEAK.DISCUSSIONGROUP) {\r\n            //    console.warn(\"the conference speak mode DISCUSSIONGROUP No longer support!\")\r\n            //    poptions.confbaseinfo.speakmode = jSW.SwConfManager.MODE_SPEAK.CHAIRMAN;\r\n            //}\r\n\r\n            var mode = poptions.confbaseinfo.speakmode +\r\n                poptions.confbaseinfo.joinmode +\r\n                poptions.confbaseinfo.applyformode +\r\n                poptions.confbaseinfo.startmode + (poptions.confbaseinfo.bautorecord ? 1 << 9 : 0);\r\n            option.setImode(mode);\r\n\r\n            if (poptions.confbaseinfo.name.length == 0) {\r\n                console.warn(\"create conference name is empty, server will named automatically\");\r\n                return jSW.RcCode.RC_CODE_E_BVCU_INVALIDARG;\r\n            }\r\n\r\n            option.setSzname(poptions.confbaseinfo.name);\r\n            //option.setIconfstatus(poptions.confbaseinfo.confstatus);\r\n\r\n            if (poptions.confbaseinfo.joinmode == jSW.SwConfManager.MODE_JOIN.PASSWORD) {\r\n                option.setSzpassword(poptions.confbaseinfo.password);\r\n            }\r\n            option.setItimeout(poptions.confbaseinfo.itimeout);\r\n\r\n            var param = jSWProtocol.JsonParamCommand(this._parent._p_emms,\r\n               proto.WEBBVCU.MSGType.WEB_BVCU_SET_CONF_CREATE,\r\n               jSWProtocol.BVCU_Command('', -1, option));\r\n\r\n            var rc = jSWProtocol._internalSend({\r\n                cmd: jSWProtocol.RequestHeader.createconf.cmd,\r\n                session: this._parent,\r\n                request: param,\r\n                callback: poptions.callback,\r\n                tag: poptions.tag\r\n            });\r\n\r\n            return rc;\r\n        },\r\n\r\n        swDeleteConf: function (poptions) {\r\n\r\n            var dft_poptions = {\r\n                confid: \"\",\r\n                callback: null\r\n            };\r\n\r\n            poptions = jSWUtils.extend({}, dft_poptions, poptions || {});\r\n\r\n\r\n            var param = jSWProtocol.JsonParamCommand(this._parent._p_emms,\r\n               proto.WEBBVCU.MSGType.WEB_BVCU_SET_CONF_DELETE,\r\n               jSWProtocol.BVCU_Command(poptions.confid, -1, null));\r\n\r\n            var rc = jSWProtocol._internalSend({\r\n                cmd: jSWProtocol.RequestHeader.deleteconf.cmd,\r\n                session: this._parent,\r\n                request: param,\r\n                callback: poptions.callback,\r\n                tag: poptions.tag\r\n            });\r\n\r\n            return rc;\r\n        },\r\n\r\n        //订阅会议状态改变事件\r\n        swRegConfWatch: function (callback) {\r\n            this._watchCallBack = callback;\r\n            jSWUtils.debugLogInfo(\"Reg Conf Watch Ok!\");\r\n            return jSW.RcCode.RC_CODE_S_OK;\r\n        },\r\n\r\n        _dispatchCallback: function (sender, event, data) {\r\n            if (this._watchCallBack) {\r\n                this._watchCallBack(this, event, {\r\n                    conf: sender,\r\n                    data: data\r\n                });\r\n            }\r\n            else {\r\n\r\n            }\r\n        },\r\n\r\n        _onConfDeletedOk: function (targetid) {\r\n            var isContain = false;\r\n            var iIndex = 0;\r\n            for (var i = 0; i < this._conf_list_names.length; i++) {\r\n                if (this._conf_list_names[i] == targetid) {\r\n                    iIndex = i;\r\n                    isContain = true;\r\n                    break;\r\n                }\r\n            }\r\n\r\n            if (isContain) {\r\n                this._conf_list_names.splice(iIndex, 1);\r\n                this._conf_list.splice(targetid, 1);\r\n            }\r\n        },\r\n\r\n        _onParticularAddResult: function (particularAddResult) {\r\n            var targetid = particularAddResult.targetid;\r\n            var conf = this.swGetConfByConfId(targetid);\r\n\r\n            conf._swGetConfInfo({\r\n                parent: this._parent,\r\n                targetId: targetid\r\n            });\r\n        },\r\n\r\n        _onConfOpertaion: function (data) {\r\n            var conf = this.swGetConfByConfId(data.targetid);\r\n\r\n            if (conf == null) {\r\n                console.warn(\"con't find conf\");\r\n            }\r\n\r\n            if (data.bIsStarted && jSWOptions.CheckNotOcx()){\r\n                var HandleConfSpeak = jSW.DependencyMgr.GetModule(\"HandleConfSpeak\")\r\n                HandleConfSpeak.OnIStartConfConnectWsAudio()\r\n            }\r\n\r\n            conf._onConStatusChange(data.bIsStarted);\r\n        },\r\n\r\n        _onApplyForSpeak: function (data) {\r\n            var conf = this.swGetConfByConfId(data.targetid);\r\n\r\n            if (conf == null) {\r\n                console.warn(\"con't find conf\");\r\n            }\r\n\r\n            conf._onCurrentUserSpeakChange(data.bIsSpeak);\r\n            var HandleConfSpeak = jSW.DependencyMgr.GetModule(\"HandleConfSpeak\");\r\n            HandleConfSpeak.OnCurrentUserApplySpeakChange(data.bIsSpeak);\r\n        },\r\n\r\n        _onConfLeaveOrReturn: function(data){\r\n            var conf = this.swGetConfByConfId(data.targetid);\r\n            conf._onCurrentUserSeatStatusChange(data.bIsSpeak)\r\n        },\r\n\r\n        _deleteConfByConfId: function (confid) {\r\n            var conf = this.swGetConfByConfId(confid);\r\n            if (conf == null) {\r\n            }\r\n            else {\r\n                for (var iIndex = 0; iIndex < this._conf_list_names.length; iIndex++) {\r\n                    if (this._conf_list_names[iIndex] == confid) {\r\n                        this._conf_list_names.splice(iIndex, 1);\r\n                        this._conf_list.splice(confid, 1);\r\n                        this._conf_list[confid] = null;\r\n                        console.log('conf:' + confid + 'delete success');\r\n                        return;\r\n                    }\r\n                }\r\n            }\r\n        }\r\n\r\n    };\r\n\r\n    jSW.SWCONF_USER = function (parent, options) {\r\n        this._parent = parent;\r\n        this._user_base_info = options;\r\n    };\r\n\r\n    jSW.SWCONF_USER.prototype = {\r\n        _parent: null,\r\n        _user_base_info: null,\r\n        swGetUserInfo: function () {\r\n            return this._user_base_info;\r\n        }\r\n    };\r\n\r\n    jSW.SWCONF = function (parent, options) {\r\n        this._parent = parent;\r\n        this._conf_base_info = options;\r\n        this._msg_storage = [];\r\n    };\r\n\r\n\r\n    jSW.SWCONF.prototype = {\r\n        _parent: null,\r\n        _conf_base_info: null,\r\n        _conf_particulars: [],\r\n        _conf_creater: null,\r\n        _free_users: [],\r\n        _is_speak: false,\r\n        _speak_user: null,\r\n        _conf_current_index: -1,\r\n        id: null,\r\n        __is_freshed: false,\r\n        _getConfInfoCbk: function (confInfo) {\r\n            ;\r\n        },\r\n\r\n        _swFreshFreeUsers: function (users, pus) {\r\n            this._free_users = [];\r\n            var confparticular = null;\r\n            var userTemp = null;\r\n            var pusTemp = null;\r\n            var isContain = false;\r\n\r\n            for (var iUsersIndex = 0; iUsersIndex < users.length; iUsersIndex++) {\r\n                isContain = false;\r\n                userTemp = users[iUsersIndex];\r\n                for (var iIndex = 0; iIndex < this._conf_particulars.length; iIndex++) {\r\n                    confparticular = this._conf_particulars[iIndex];\r\n                    if (!jSWProtocol.JudgeIdType(confparticular.id).bCu) {\r\n                        continue;\r\n                    }\r\n\r\n                    if (confparticular.id == userTemp.devid &&\r\n                        userTemp.iapplierid == confparticular.applierid) {\r\n                        isContain = true;\r\n                        break;\r\n                    }\r\n                }\r\n\r\n                if (!isContain) {\r\n                    this._free_users[this._free_users.length] = {\r\n                        id: userTemp.devid,\r\n                        name: userTemp.userid,\r\n                        applierid: userTemp.iapplierid\r\n                    };\r\n                }\r\n            }\r\n\r\n\r\n            for (var iPusIndex = 0; iPusIndex < pus.length; iPusIndex++) {\r\n                isContain = false;\r\n                pusTemp = pus[iPusIndex];\r\n                if (pusTemp == null || pusTemp._info_pu == null || pusTemp._info_pu.onlinestatus == 0) {\r\n                    continue;\r\n                }\r\n                for (var iIndex = 0; iIndex < this._conf_particulars.length; iIndex++) {\r\n                    confparticular = this._conf_particulars[iIndex];\r\n\r\n                    if (!jSWProtocol.JudgeIdType(confparticular.id).bPu) {\r\n                        continue;\r\n                    }\r\n\r\n                    if (confparticular.id == pusTemp._id_pu) {\r\n                        isContain = true;\r\n                        break;\r\n                    }\r\n                }\r\n\r\n                if (!isContain) {\r\n                    this._free_users[this._free_users.length] = {\r\n                        id: pusTemp._info_pu.id,\r\n                        name: pusTemp._info_pu.name\r\n                    };\r\n                }\r\n            }\r\n        },\r\n\r\n        _swFreshConfInfo: function (confInfo) {\r\n            this._conf_base_info = confInfo.baseinfo;\r\n            this._conf_particulars = confInfo.particulars;\r\n            this._conf_creater = this._conf_particulars[confInfo.icreater];\r\n            this._conf_current_index = confInfo.icurrentuserindex;\r\n            this.__is_freshed = true;\r\n        },\r\n\r\n        _getCurrentUser: function (options) {\r\n            if (!this.__is_freshed) {\r\n                console.log('please do init before call me');\r\n                return null;\r\n            }\r\n\r\n            var currentUser = null;\r\n\r\n            if (this._conf_current_index != -1) {\r\n                currentUser = this._conf_particulars[this._conf_current_index];\r\n            }\r\n\r\n            return currentUser;\r\n        },\r\n\r\n        _particularOperation: function (options, cmd, msgType) {\r\n            var dft_poptions = {\r\n                users: [],\r\n                callback: null\r\n            };\r\n\r\n            var particularAdd = new proto.WEBBVCU.Conf_Participator_ADD();\r\n\r\n            var userlisttemp = null;\r\n            var user = null;\r\n            for (var iIndex = 0; iIndex < options.users.length; iIndex++) {\r\n                var name = options.users[iIndex].id;\r\n                user = options.users[iIndex];\r\n                if (jSWProtocol.JudgeIdType(name).bCu) {\r\n                    if (user != null) {\r\n                        userlisttemp = particularAdd.addSzparticcipator();\r\n                        userlisttemp.setSzid(name);\r\n                        userlisttemp.setSzaddr(user.addr);\r\n                        userlisttemp.setSzusername(user.name);\r\n                        userlisttemp.setIapplierid(user.applierid);\r\n                        userlisttemp.setIpid(user.pid);\r\n                    }\r\n                } else if (jSWProtocol.JudgeIdType(name).bPu) {\r\n                    userlisttemp = particularAdd.addSzparticcipator();\r\n                    userlisttemp.setSzid(name);\r\n                    userlisttemp.setIpid(user.pid);\r\n                    userlisttemp.setSzusername(user.name);\r\n                } else if (jSWProtocol.JudgeIdType(name).bUa) {\r\n                    userlisttemp = particularAdd.addSzparticcipator();\r\n                    userlisttemp.setSzid(name);\r\n                    userlisttemp.setIapplierid(user.applierid);\r\n                    userlisttemp.setIpid(user.pid);\r\n                    userlisttemp.setSzaddr(user.addr);\r\n                    userlisttemp.setSzusername(user.name);\r\n                }\r\n                else {\r\n                    userlisttemp = particularAdd.addSzparticcipator();\r\n                    userlisttemp.setSzid(name);\r\n                    userlisttemp.setSzusername(user.name);\r\n                    console.log(\"the participater to add is offline user\");\r\n                }\r\n\r\n                if (this._conf_base_info.iMode == jSW.SwConfManager.MODE_SPEAK.DISCUSSIONGROUP) {\r\n                    userlisttemp.setIallowedmediadir(jSW.MEDIADIR.AUDIOSEND + jSW.MEDIADIR.AUDIORECV);\r\n                } else if (this._conf_base_info.iMode == jSW.SwConfManager.MODE_SPEAK.CHAIRMAN) {\r\n                    userlisttemp.setIallowedmediadir(jSW.MEDIADIR.AUDIORECV);\r\n                }\r\n            }\r\n\r\n            if (particularAdd.getSzparticcipatorList().length == 0) {\r\n                console.log(\"添加用户列表为空\");\r\n                return;\r\n            }\r\n\r\n            var param = jSWProtocol.JsonParamCommand(this._parent._p_emms,\r\n               msgType,\r\n               jSWProtocol.BVCU_Command(this._conf_base_info.id, -1, particularAdd));\r\n\r\n            var rc = jSWProtocol._internalSend({\r\n                cmd: cmd,\r\n                session: this._parent,\r\n                request: param,\r\n                callback: options.callback,\r\n                tag: options.tag\r\n            });\r\n\r\n            return rc;\r\n        },\r\n\r\n        _confOpertion: function (options, cmd, msgType, data) {\r\n\r\n            var param = jSWProtocol.JsonParamCommand(this._parent._p_emms,\r\n                msgType,\r\n                jSWProtocol.BVCU_Command(this._conf_base_info.id, -1, data));\r\n\r\n            var rc = jSWProtocol._internalSend({\r\n                cmd: cmd,\r\n                session: this._parent,\r\n                request: param,\r\n                callback: options.callback,\r\n                tag: options.tag\r\n            });\r\n\r\n            return rc;\r\n        },\r\n\r\n        _onConStatusChange: function (bIsStarted) {\r\n            this._conf_base_info.bIsStarted = bIsStarted;\r\n        },\r\n\r\n        _onCurrentUserSpeakChange: function (bIsSpeak) {\r\n            var user = this.swGetCurrentUser();\r\n            user.isSpeak = bIsSpeak;\r\n        },\r\n\r\n        _onCurrentUserSeatStatusChange: function (bIsSeat) {\r\n            var user = this.swGetCurrentUser();\r\n            user.isinseat = bIsSeat\r\n            user.isleave = !bIsSeat\r\n\r\n            if(bIsSeat && jSWOptions.CheckNotOcx()){\r\n                var HandleConfSpeak = jSW.DependencyMgr.GetModule(\"HandleConfSpeak\")\r\n                HandleConfSpeak.OnIStartConfConnectWsAudio()\r\n            }\r\n        },\r\n\r\n        _freshBaseInfo: function (confbaseinfo) {\r\n            this._conf_base_info = confbaseinfo;\r\n        },\r\n\r\n        /*\r\n            options: {\r\n                szTextMsg: String,\r\n                callback: function(options, response, data){\r\n    \r\n                },\r\n                tag: Object\r\n            }\r\n        */\r\n        _dhcbConIMSend: function (hander, payload) {\r\n        },\r\n\r\n        _onSendMsgGetResult: function (szmsg, bsend) {\r\n            var isdrop = szmsg[0].iType == jSWProtocol.IMMSGTypes.PICTURE && bsend;\r\n            if (!isdrop) {\r\n                var msg = {\r\n                    confid: this._conf_base_info.id,\r\n                    sender: this._getCurrentUser(),\r\n                    szmsgs: szmsg,\r\n                    bismine: true\r\n                }\r\n                this._onGetImMsg(msg);\r\n            }\r\n        },\r\n        /*\r\n         * 即时通讯\r\n         * options = {\r\n         *  msgitems: [\r\n         *      {\r\n         *          iType: jSWProtocol.IMMSGTypes,\r\n         *          data: ,\r\n         *          nruid: ,\r\n         *          targetid: \r\n         *      }\r\n         *  ],\r\n         *  callback: function(options, response){\r\n         *  },\r\n         *  pcallback: function(options, response, data){\r\n         *      \r\n         *  }\r\n         *  tag: object\r\n         * }\r\n         */\r\n        swConfIMSend: function (options) {\r\n            if (typeof options.msgitems == undefined || options.msgitems.length == 0) {\r\n                jSWUtils.debugLogInfo(\"send im with INVALIDARG\");\r\n                return jSW.RcCode.RC_CODE_E_INVALIDARG;\r\n            }\r\n            var rc = jSW.RcCode.RC_CODE_S_OK;\r\n            var immodule = this._parent._immodule;\r\n            options._targetid = this._conf_base_info.id;\r\n\r\n            if (options.msgitems[0].iType == jSWProtocol.IMMSGTypes.PICTURE ||\r\n                options.msgitems[0].iType == jSWProtocol.IMMSGTypes.AUDIO ||\r\n                options.msgitems[0].iType == jSWProtocol.IMMSGTypes.FILE) {\r\n                if (typeof options.pcallback == undefined) {\r\n                    options.pcallback = this.dft_pcallback;\r\n                }\r\n            }\r\n\r\n            if (options.msgitems[0].iType == jSWProtocol.IMMSGTypes.AUDIO) {\r\n                options.msgitems[0].iType = jSWProtocol.IMMSGTypes.FILE; \r\n                //上传没有单独的接口,和消息类型完全耦合了,这样是为了复用,之后上传下载接口独立出来\r\n                rc = immodule._swConfIMSend(options, proto.WEBBVCU.MSGType.WEB_BVCU_CONF_IM_MSG, this._dhcbConIMSend, jSWProtocol.IMMSGTypes.AUDIO);\r\n            } else {\r\n                rc = immodule._swConfIMSend(options, proto.WEBBVCU.MSGType.WEB_BVCU_CONF_IM_MSG, this._dhcbConIMSend);\r\n            }\r\n            return rc;\r\n        },\r\n\r\n        dft_pcallback: function () {\r\n\r\n        },\r\n\r\n        /*\r\n         * 即时通讯\r\n         * options = {\r\n         *  msgitems: [\r\n         *      {\r\n         *          iType: jSWProtocol.IMMSGTypes,\r\n         *          data: \r\n         *          nruid: \"\"\r\n         *      }\r\n         *  ],\r\n         *  callback: function(options, response){\r\n         *  },\r\n         *  pcallback: function(options, response, data){\r\n         *      \r\n         *  }\r\n         *  tag: object,\r\n         *  targetid: \r\n         * }\r\n         */\r\n        SwConfFileRecv: function (options) {\r\n            var immodule = this._parent._immodule;\r\n            var rc = immodule._SwConfFileRecv(options);\r\n            return rc;\r\n        },\r\n\r\n        /**\r\n           var options = {\r\n                callback:function(emms, users){\r\n                }\r\n           }\r\n        **/\r\n        swGetOnlineUsers: function (options) {\r\n            var rc = this._parent._confManager._getOnlineUsers({\r\n                callback: function (sender, response, json) {\r\n                    var tag = sender.tag;\r\n                    console.log(\"可翻牌的用户或设备:\" + jSWUtils.getJsonString(tag.tag._free_users));\r\n                    var eventOptions = jSWProtocol.BuildEventOptions(null, null, null, tag.optionstag);\r\n                    tag.callback(eventOptions, response, tag.tag._free_users);\r\n                },\r\n                tag: {\r\n                    callback: options.callback,\r\n                    tag: this,\r\n                    optionstag: options.tag\r\n                }\r\n            });\r\n            return rc;\r\n        },\r\n\r\n        swGetCurrentUser: function () {\r\n\r\n            if (!this.__is_freshed) {\r\n                console.warn('please get conf details info first');\r\n                return null;\r\n            }\r\n\r\n            if (this._conf_current_index < 0) {\r\n                return null;\r\n            } else {\r\n                return this._conf_particulars[this._conf_current_index];\r\n            }\r\n        },\r\n\r\n        _swGetConfInfo: function (options) {\r\n            if (options == null) {\r\n                options = {};\r\n            }\r\n\r\n            var parent = options.parent == null ? this._parent : options.parent;\r\n            var targetId = options.targetId == null ? this._conf_base_info.id : options.targetId;\r\n            options.callback = options.callback == null ? function () { } : options.callback;\r\n\r\n            var rc = jSWProtocol.SendRequest({\r\n                session: parent,\r\n                msgtype: proto.WEBBVCU.MSGType.WEB_BVCU_GET_CONF_INFO,\r\n                target: targetId,\r\n                targetIndex: -1,\r\n                cmd: jSWProtocol.RequestHeader.getconfinfo.cmd,\r\n                callback: options.callback,\r\n                tag: options.tag\r\n            });\r\n\r\n            return rc;\r\n        },\r\n\r\n        /*\r\n        * options: {\r\n        *       bRecord: boolean,\r\n        *       szNruId: string,\r\n        *       callback: function(){},\r\n        *       tag: object\r\n        * }\r\n        * */\r\n        swSetConfAudioRecord: function (options) {\r\n            if (this._conf_base_info.bAudioRecord == options.bRecord &&\r\n                this._conf_base_info.szRecordNRUID == options.szNruId) {\r\n                setTimeout(function (options) {\r\n                    options.callback({ tag: options.tag }, {\r\n                        emms: {\r\n                            code: jSW.RcCode.RC_CODE_S_OK\r\n                        }\r\n                    });\r\n                }, 50, options);\r\n                return jSW.RcCode.RC_CODE_S_OK;\r\n            }\r\n            var payload = new proto.BVCU.ConfBaseInfo();\r\n            payload.setSzid(this._conf_base_info.id);\r\n            payload.setImode(this._conf_base_info._imode);\r\n            payload.setSzname(this._conf_base_info.name);\r\n\r\n            if (options.bRecord) {\r\n                payload.setSzrecordnruid(options.szNruId);\r\n            } else {\r\n                payload.setSzrecordnruid(\"\");\r\n            }\r\n\r\n            var szTargetId = this._conf_base_info.id;\r\n            var rc = jSWProtocol.SendRequest({\r\n                session: this._parent,\r\n                msgtype: proto.WEBBVCU.MSGType.WEB_BVCU_CONF_ALTER_AUDIO_RECORD_STATUS,\r\n                target: szTargetId,\r\n                targetIndex: -1,\r\n                payload: payload,\r\n                cmd: jSWProtocol.RequestHeader.confaudiorecord.cmd,\r\n                callback: options.callback,\r\n                tag: options.tag\r\n            });\r\n            return rc;\r\n        },\r\n\r\n        _swGetParticipatorByNecessaryInfo: function (user) {\r\n            var userResult = null;\r\n            for (var iIndex = 0; iIndex < this._conf_particulars.length; iIndex++) {\r\n                userResult = this._conf_particulars[iIndex];\r\n                if (userResult.id == user.id &&\r\n                    userResult.applierid == user.applierid &&\r\n                    userResult.pid == user.pid) {\r\n                    return userResult;\r\n                }\r\n            }\r\n\r\n            return null;\r\n        },\r\n\r\n        swGetConfInfo: function () {\r\n            return this._conf_base_info;\r\n        },\r\n\r\n        //var dft_poptions = {\r\n        //    uses: [], \r\n        //    callback: null,\r\n        //    tag:tag\r\n        //};\r\n        swParticipatorRemove: function (options) {\r\n            var user;\r\n            var iIndex;\r\n            for (iIndex = 0; iIndex < options.users.length; iIndex++) {\r\n                user = this._swGetParticipatorByNecessaryInfo(options.users[iIndex]);\r\n                if (user == null) {\r\n                    console.warn(user.id + \"not found\");\r\n                    continue;\r\n                }\r\n                if(user._appendData.length > 0){\r\n                    options.users[iIndex].id = user._appendData;\r\n                }\r\n                \r\n                if (jSWProtocol.JudgeIdType(user.id).bCu) {\r\n                    if (user.id == this._conf_creater.id &&\r\n                        user.iapplierid == this._conf_creater.applierid) {\r\n                        options.users.splice(iIndex, 1);\r\n                        console.warn(\"id:\" + user.id + \",name:\" + user.name + \"是创建者 移除该用户操作取消\");\r\n                    }\r\n                } else if (jSWProtocol.JudgeIdType(user.id).bPu) {\r\n                    if (user.id == this._conf_creater.id) {\r\n                        options.users.splice(iIndex, 1);\r\n                        console.warn(\"id:\" + user.id + \",name:\" + user.name + \"是创建者 移除该用户操作取消\");\r\n                    }\r\n                } else if (jSWProtocol.JudgeIdType(user.id).bUa) {\r\n                    if (user.id == this._conf_creater.id) {\r\n                        options.users.splice(iIndex, 1);\r\n                        console.warn(\"id:\" + user.id + \",name:\" + user.name + \"是创建者 移除该用户操作取消\");\r\n                    }\r\n                }\r\n            }\r\n\r\n            if (options.users.length <= 0) {\r\n                console.warn(\"删除会议成员为空\");\r\n                return jSW.RcCode.RC_CODE_E_FAIL;\r\n            }\r\n\r\n            var rc = this._particularOperation(options,\r\n                jSWProtocol.RequestHeader.particularremove.cmd,\r\n                proto.WEBBVCU.MSGType.WEB_BVCU_CONF_PARTICIPATOR_REMOVE);\r\n\r\n            return rc;\r\n        },\r\n\r\n        //var dft_poptions = {\r\n        //    uses: [], //this.swFreshFreeUsers回复的集合子集\r\n        //    callback: null\r\n        //    tag:tag\r\n        //};\r\n        swParticipatorAdd: function (options) {\r\n            return this._particularOperation(options,\r\n                jSWProtocol.RequestHeader.particularadd.cmd,\r\n                proto.WEBBVCU.MSGType.WEB_BVCU_CONF_PARTICIPATOR_ADD);\r\n        },\r\n\r\n        /*\r\n            options = {\r\n                callback: function(Options, Response, jSW.SWCONF_USER[]){},\r\n                tag: Object\r\n            }\r\n        */\r\n        swGetParticularList: function (options) {\r\n            if (!this.__is_freshed) {\r\n                console.warn('please get conf info first');\r\n                return jSW.RcCode.RC_CODE_E_FAIL;\r\n            }\r\n\r\n            var eventOptions = jSWProtocol.BuildEventOptions(null, null, this._parent._parent, options.tag);\r\n            var response = jSWProtocol.BuildResponse(jSW.RcCode.RC_CODE_S_OK, null);\r\n            setTimeout(options.callback, 50, eventOptions, response, this._conf_particulars);\r\n            return jSW.RcCode.RC_CODE_S_OK;\r\n        },\r\n\r\n        swConfStart: function (options) {\r\n            if (this._conf_base_info.bIsStarted) {\r\n                console.warn(\"conf is started\");\r\n                return jSW.RcCode.RC_CODE_E_FAIL;\r\n            }\r\n            return this._confOpertion(options,\r\n                jSWProtocol.RequestHeader.confstart.cmd,\r\n                proto.WEBBVCU.MSGType.WEB_BVCU_CONF_START);\r\n        },\r\n\r\n        swConfStop: function (options) {\r\n            if (!this._conf_base_info.bIsStarted) {\r\n                console.warn(\"conf is not started\");\r\n                return jSW.RcCode.RC_CODE_E_FAIL;\r\n            }\r\n            return this._confOpertion(options,\r\n                jSWProtocol.RequestHeader.confend.cmd,\r\n                proto.WEBBVCU.MSGType.WEB_BVCU_CONF_STOP);\r\n        },\r\n\r\n        swApplyForSpeak: function (options) {\r\n            if (!this._conf_base_info.bIsChairman) {\r\n                console.warn(\"current conf mode not support apply for speak\");\r\n                return jSW.RcCode.RC_CODE_E_FAIL;\r\n            } else if (this._is_speak) {\r\n                console.warn(\"you are speaking, so you need not apply for one again\");\r\n                return jSW.RcCode.RC_CODE_E_FAIL;\r\n            } if (!this._conf_base_info.bIsStarted) {\r\n                console.warn(\"the conference you apply for speak is not started !\");\r\n                return jSW.RcCode.RC_CODE_E_FAIL;\r\n            }\r\n\r\n            return this._confOpertion(options,\r\n                jSWProtocol.RequestHeader.applyforspeak.cmd,\r\n                proto.WEBBVCU.MSGType.WEB_BVCU_CONF_PARTICIPATOR_APPLYFOR_STARTSPEAK);\r\n        },\r\n\r\n        swApplyForEndSpeak: function (options) {\r\n            if (!this._conf_base_info.bIsChairman) {\r\n                console.warn(\"current conf mode not support apply for speak\");\r\n                return jSW.RcCode.RC_CODE_E_FAIL;\r\n            }\r\n\r\n            var user = this._getCurrentUser();\r\n\r\n            if (user == null || !user.isSpeak) {\r\n                console.warn(\"no speak shoud be end that you are not speaking\");\r\n                return jSW.RcCode.RC_CODE_E_FAIL;\r\n            }\r\n\r\n            return this._confOpertion(options,\r\n                jSWProtocol.RequestHeader.applyforendspeak.cmd,\r\n                proto.WEBBVCU.MSGType.WEB_BVCU_CONF_PARTICIPATOR_APPLYFOR_ENDSPEAK);\r\n        },\r\n\r\n        //var dft_poptions = {\r\n        //    user: [],this._conf_particulars的元素\r\n        //    callback: null\r\n        //    tag:tag\r\n        //};\r\n        swInviteSpeak: function (options) {\r\n            if (!this._conf_base_info.bIsChairman) {\r\n                console.warn(\"current conf mode not support invite speak\");\r\n                return jSW.RcCode.RC_CODE_E_FAIL;\r\n            }\r\n\r\n            if (options.user == null) {\r\n                console.warn(\"invite args error\");\r\n                return jSW.RcCode.RC_CODE_E_FAIL;\r\n            }\r\n\r\n            var user = null;\r\n            var name = options.user.id;\r\n            user = this._swGetParticipatorByNecessaryInfo(options.user);\r\n\r\n            if (user == null) {\r\n                console.warn(\"Participator you invited not exist!\");\r\n                return jSW.RcCode.RC_CODE_E_FAIL;\r\n            }\r\n\r\n            if (!user.isonline) {\r\n                console.warn(\"Participator you invited not in conference!\");\r\n                return jSW.RcCode.RC_CODE_E_FAIL;\r\n            }\r\n\r\n            if (user.isSpeak) {\r\n                console.warn(\"Participator you invited is speaking!\");\r\n                return jSW.RcCode.RC_CODE_E_FAIL;\r\n            }\r\n\r\n            var particular = new proto.BVCU.ConfParticipatorInfo();\r\n\r\n            var endPointType = jSWProtocol.JudgeIdType(name)\r\n\r\n            if (endPointType.bCu || endPointType.bUa) {\r\n                if (user != null) {\r\n                    particular.setSzid(name);\r\n                    particular.setSzusername(user.name);\r\n                    particular.setIapplierid(user.applierid);\r\n                    particular.setIpid(user.pid);\r\n                }\r\n            } else if (endPointType.bPu) {\r\n                particular.setSzid(name);\r\n                particular.setIapplierid(user.applierid);\r\n                particular.setIpid(user.pid);\r\n            }\r\n            else {\r\n                console.error(\"语音会议添加用户 用户信息有问题\");\r\n                return jSW.RcCode.RC_CODE_E_FAIL;\r\n            }\r\n\r\n            //particular.setIstatus(-1);\r\n\r\n            var param = jSWProtocol.JsonParamCommand(this._parent._p_emms,\r\n               proto.WEBBVCU.MSGType.WEB_BVCU_CONF_PARTICIPATOR_INVITE_SPEAK,\r\n               jSWProtocol.BVCU_Command(this._conf_base_info.id, -1, particular));\r\n\r\n            var rc = jSWProtocol._internalSend({\r\n                cmd: jSWProtocol.RequestHeader.invitespeak.cmd,\r\n                session: this._parent,\r\n                request: param,\r\n                callback: options.callback,\r\n                tag: options.tag\r\n            });\r\n\r\n            return rc;\r\n        },\r\n\r\n        //var dft_poptions = {\r\n        //    user: [],this._conf_particulars的元素\r\n        //    callback: null\r\n        //    tag:tag\r\n        //};\r\n        swTerminalSpeak: function (options) {\r\n            if (!this._conf_base_info.bIsChairman) {\r\n                console.warn(\"current conf mode not support invite speak\");\r\n                return jSW.RcCode.RC_CODE_E_FAIL;\r\n            }\r\n\r\n            if (options.user == null) {\r\n                console.warn(\"terminate args error\");\r\n                return jSW.RcCode.RC_CODE_E_FAIL;\r\n            }\r\n\r\n            var user = null;\r\n            var name = options.user.id;\r\n\r\n            user = this._swGetParticipatorByNecessaryInfo(options.user);\r\n\r\n            if (user == null) {\r\n                console.warn(\"Participator you invited not exist!\");\r\n                return jSW.RcCode.RC_CODE_E_FAIL;\r\n            }\r\n\r\n            if (!user.isonline || !user.isinseat) {\r\n                console.warn(\"Participator you invited not in conference!\");\r\n                return jSW.RcCode.RC_CODE_E_FAIL;\r\n            }\r\n\r\n            if (!user.isSpeak) {\r\n                console.warn(\"Participator you invited is not speaking!\");\r\n                return jSW.RcCode.RC_CODE_E_FAIL;\r\n            }\r\n\r\n            var particular = new proto.BVCU.ConfParticipatorInfo();\r\n            var endPointType = jSWProtocol.JudgeIdType(name);\r\n\r\n            if (endPointType.bCu || endPointType.bUa) {\r\n                if (user != null) {\r\n                    particular.setSzid(name);\r\n                    particular.setSzusername(user.name);\r\n                    particular.setIapplierid(user.applierid);\r\n                    particular.setIpid(user.pid);\r\n                }\r\n            } else if (endPointType.bPu) {\r\n                particular.setSzid(name);\r\n                particular.setIapplierid(user.applierid);\r\n                particular.setIpid(user.pid);\r\n            }\r\n            else {\r\n                console.error(\"语音会议添加用户 用户信息有问题\");\r\n                return jSW.RcCode.RC_CODE_E_FAIL;\r\n            }\r\n\r\n            //particular.setIstatus(-1);\r\n\r\n\r\n            var param = jSWProtocol.JsonParamCommand(this._parent._p_emms,\r\n               proto.WEBBVCU.MSGType.WEB_BVCU_PARTICIPATOR_TERMINATE_SPEAK,\r\n               jSWProtocol.BVCU_Command(this._conf_base_info.id, -1, particular));\r\n\r\n            var rc = jSWProtocol._internalSend({\r\n                cmd: jSWProtocol.RequestHeader.terminalspeak.cmd,\r\n                session: this._parent,\r\n                request: param,\r\n                callback: options.callback,\r\n                tag: options.tag\r\n            });\r\n\r\n            return rc;\r\n        },\r\n\r\n        swParticipatorLeave: function (options) {\r\n\r\n            if (this._conf_base_info.bIsStarted) {\r\n\r\n                var currentUser = this.swGetCurrentUser();\r\n\r\n                if (currentUser == null) {\r\n                    return jSW.RcCode.RC_CODE_E_FAIL;\r\n                }\r\n\r\n                if (!currentUser.isinseat) {\r\n                    console.warn('currentUser never inseat :' + this._conf_base_info.id + ', need not do leave');\r\n                    return jSW.RcCode.RC_CODE_S_OK;\r\n                }\r\n\r\n                return this._confOpertion(options,\r\n                    jSWProtocol.RequestHeader.confleave.cmd,\r\n                    proto.WEBBVCU.MSGType.WEB_BVCU_CONF_LEAVE);\r\n                console.log('user leave' + this._conf_base_info.id + 'conf');\r\n            }\r\n            else {\r\n                console.log('conf:' + this._conf_base_info.id + ' not started , so can not do return');\r\n                return jSW.RcCode.RC_CODE_E_FAIL;\r\n            }\r\n        },\r\n\r\n        swParticipatorReturn: function (options) {\r\n            if (this._conf_base_info.bIsStarted) {\r\n\r\n                var currentUser = this.swGetCurrentUser();\r\n\r\n                if (currentUser == null) {\r\n                    return jSW.RcCode.RC_CODE_E_FAIL;\r\n                }\r\n\r\n                if (!currentUser.isleave) {\r\n                    console.warn('currentUser never leave :' + this._conf_base_info.id + ', need not do return');\r\n                    return jSW.RcCode.RC_CODE_E_FAIL;\r\n                }\r\n\r\n                var data = new proto.BVCU.ConfParticipatorInfo();\r\n\r\n                data.setIapplierid(currentUser.applierid);\r\n                data.setIpid(currentUser.pid);\r\n                data.setSzid(currentUser.id);\r\n                data.setSzusername(currentUser.name);\r\n                data.setSzaddr(currentUser.addr);\r\n                data.setIallowedmediadir(currentUser.allowedmediadir);\r\n\r\n                return this._confOpertion(options,\r\n                    jSWProtocol.RequestHeader.confreturn.cmd,\r\n                    proto.WEBBVCU.MSGType.WEB_BVCU_CONF_RETURN, data);\r\n                console.log('user return' + this._conf_base_info.id + 'conf');\r\n            }\r\n            else {\r\n                console.log('conf:' + this._conf_base_info.id + ' not started , so can not do return');\r\n                return jSW.RcCode.RC_CODE_E_FAIL;\r\n            }\r\n        },\r\n\r\n        swParticipatorInviteJoin: function(options){\r\n            if (this._conf_base_info.bIsStarted) {\r\n\r\n                var currentUser = options.user;\r\n\r\n                if (currentUser == null) {\r\n                    return jSW.RcCode.RC_CODE_E_FAIL;\r\n                }\r\n\r\n                if (!currentUser.isleave) {\r\n                    console.warn('currentUser never leave :' + this._conf_base_info.id + ', need not do return');\r\n                    return jSW.RcCode.RC_CODE_E_FAIL;\r\n                }\r\n\r\n                var data = new proto.BVCU.ConfParticipatorInvite();\r\n\r\n                data.setIpid(currentUser.pid);\r\n                data.setSzid(currentUser.id);\r\n                data.setSzusername(currentUser.name);\r\n\r\n                return this._confOpertion(options, \"PARTICIPATOR_INVITE_JOIN\",\r\n                    proto.WEBBVCU.MSGType.WEB_BVCU_SUBMETHOD_CONF_PARTICIPATOR_INVITE_JOIN, data);\r\n                console.log('user return' + this._conf_base_info.id + 'conf');\r\n            }\r\n            else {\r\n                console.log('conf:' + this._conf_base_info.id + ' not started , so can not do return');\r\n                return jSW.RcCode.RC_CODE_E_FAIL;\r\n            }\r\n        },\r\n\r\n        swParticipatorKickout: function(options){\r\n            if (this._conf_base_info.bIsStarted) {\r\n\r\n                var currentUser = options.user;\r\n\r\n                if (currentUser == null) {\r\n                    return jSW.RcCode.RC_CODE_E_FAIL;\r\n                }\r\n\r\n                if (currentUser.isleave) {\r\n                    console.warn('currentUser never inseat :' + this._conf_base_info.id + ', need not do leave');\r\n                    return jSW.RcCode.RC_CODE_E_FAIL;\r\n                }\r\n\r\n                var data = new proto.BVCU.ConfParticipatorInvite();\r\n\r\n                data.setIpid(currentUser.pid);\r\n                data.setSzid(currentUser.id);\r\n                data.setSzusername(currentUser.name);\r\n\r\n                return this._confOpertion(options, \"PARTICIPATOR_KICKOUT\",\r\n                    proto.WEBBVCU.MSGType.WEB_BVCU_SUBMETHOD_CONF_PARTICIPATOR_KICKOUT, data);\r\n                console.log('user return' + this._conf_base_info.id + 'conf');\r\n            }\r\n            else {\r\n                console.log('conf:' + this._conf_base_info.id + ' not started , so can not do return');\r\n                return jSW.RcCode.RC_CODE_E_FAIL;\r\n            }\r\n        },\r\n\r\n        _addParticipators: function (participators) {\r\n            for (var iIndex = 0; iIndex < participators.length; iIndex++) {\r\n                this._conf_particulars[this._conf_particulars.length] =\r\n                    participators[iIndex];\r\n            }\r\n        },\r\n\r\n        _removeParticipator: function (participators) {\r\n            var participatorTemp;\r\n            for (var ii = 0; ii < participators.length; ii++) {\r\n                participator = participators[ii];\r\n                for (var iIndex = 0; iIndex < this._conf_particulars.length; iIndex++) {\r\n                    participatorTemp = this._conf_particulars[iIndex];\r\n                    if (jSWProtocol.JudgeIdType(participator.id).bPu) {\r\n                        if (participator.id == participatorTemp.id) {\r\n                            this._conf_particulars.splice(iIndex, 1);\r\n                            console.log('delete conf user success');\r\n                            return;\r\n                        }\r\n                    }\r\n                    else if (jSWProtocol.JudgeIdType(participator.id).bCu) {\r\n                        if (participator.id == participatorTemp.id &&\r\n                            participator.applierid == participatorTemp.applierid &&\r\n                            participator.name == participatorTemp.name) {\r\n\r\n                            this._conf_particulars.splice(iIndex, 1);\r\n                            console.log('delete conf user success');\r\n                            return;\r\n                        }\r\n                    } else if (jSWProtocol.JudgeIdType(participator.id).bUa) {\r\n                        if (participator.id == participatorTemp.id &&\r\n                            participator.name == participatorTemp.name) {\r\n                            this._conf_particulars.splice(iIndex, 1);\r\n                            console.log('delete conf user success');\r\n                            return;\r\n                        }\r\n                    }\r\n                }\r\n            }\r\n            console.log('delete conf user faild');\r\n        },\r\n\r\n        _updateParticipator: function (participator) {\r\n            if (!this.__is_freshed) {\r\n                this._swGetConfInfo({\r\n                    callback: function () {\r\n                        console.log('update conf user success');\r\n                    }\r\n                });\r\n                return;\r\n            }\r\n\r\n            var participatorTemp;\r\n            for (var iIndex = 0; iIndex < this._conf_particulars.length; iIndex++) {\r\n                participatorTemp = this._conf_particulars[iIndex];\r\n                if (jSWProtocol.JudgeIdType(participator.id).bPu) {\r\n                    if (participator.id == participatorTemp.id) {\r\n                        if (participator.volume > 128) {\r\n                            participator.volume = this._conf_particulars[iIndex].volume;\r\n                        }\r\n                        this._conf_particulars[iIndex] = participator;\r\n                        console.log('update conf user success');\r\n                        return;\r\n                    }\r\n                }\r\n                else if (jSWProtocol.JudgeIdType(participator.id).bCu) {\r\n                    if (participator.id == participatorTemp.id &&\r\n                        participator.applierid == participatorTemp.applierid &&\r\n                        participator.name == participatorTemp.name) {\r\n\r\n                        if (participator.volume > 128) {\r\n                            participator.volume = this._conf_particulars[iIndex].volume;\r\n                        }\r\n\r\n                        this._conf_particulars[iIndex] = participator;\r\n                        console.log('update conf user success');\r\n                        return;\r\n                    }\r\n                }\r\n                else if (jSWProtocol.JudgeIdType(participator.id).bUa) {\r\n                    if (participator.id == participatorTemp.id &&\r\n                        participator.name == participatorTemp.name) {\r\n\r\n                        if (participator.volume > 128) {\r\n                            participator.volume = this._conf_particulars[iIndex].volume;\r\n                        }\r\n\r\n                        this._conf_particulars[iIndex] = participator;\r\n                        console.log('update conf user success');\r\n                        return;\r\n                    }\r\n                }\r\n            }\r\n\r\n            this._conf_particulars.push(participator);\r\n        },\r\n\r\n        _onUserLoginout: function (cuid, iApplierID, isLogin) {\r\n            var particular = null;\r\n            for (var iIndex = 0; iIndex < this._conf_particulars.length; iIndex++) {\r\n                particular = this._conf_particulars[iIndex];\r\n                if (particular.name == cuid) {\r\n                    if (particular.applierid == iApplierID || iApplierID == -1) {\r\n                        particular.isleave = true\r\n                        particular.isSpeak = false\r\n                        particular.isinseat = false\r\n                        particular.isonline = isLogin;\r\n                        return particular;\r\n                    }\r\n                }\r\n            }\r\n            return null;\r\n        },\r\n\r\n        swGetAllMsg: function () {\r\n            return this._msg_storage;\r\n        },\r\n\r\n        _onGetImMsg: function (msg) {\r\n            //this._msg_storage.push(msg);\r\n        },\r\n\r\n        _getPartByToken: function (szid, iappiredid) {\r\n            var part = null;\r\n            for (var iindex = 0; iindex < this._conf_particulars.length; iindex++) {\r\n                part = this._conf_particulars[iindex];\r\n                if (part.id == szid) {\r\n                    if (jSWProtocol.JudgeIdType(part.id).bUx) {\r\n                        return part;\r\n                    }\r\n                    if (part.applierid == iappiredid) {\r\n                        return part;\r\n                    }\r\n                }\r\n            }\r\n        },\r\n\r\n        _onNotify: function (msgType, cmd, payload) {\r\n\r\n            var data = null;\r\n\r\n            switch (msgType) {\r\n                case proto.WEBBVCU.MSGType.WEB_BVCU_CONF_NOTIFY_CONF_START:\r\n                    this._conf_base_info.bIsStarted = true;\r\n                    data = this._conf_base_info.id;\r\n                    cmd = jSWProtocol.RequestHeader.confnotify.notifyconfstart.cmd;\r\n                    break;\r\n                case proto.WEBBVCU.MSGType.WEB_BVCU_CONF_NOTIFY_CONF_DELETE:\r\n                    data = this._conf_base_info.id;\r\n                    this._parent._confManager._deleteConfByConfId(this._conf_base_info.id);\r\n                    cmd = jSWProtocol.RequestHeader.confnotify.notifyconfdelete.cmd;\r\n                    break;\r\n                case proto.WEBBVCU.MSGType.WEB_BVCU_CONF_NOTIFY_CONF_STOP:\r\n                    this._conf_base_info.bIsStarted = false;\r\n                    cmd = jSWProtocol.RequestHeader.confnotify.notifyconfstop.cmd;\r\n                    break;\r\n                case proto.WEBBVCU.MSGType.WEB_BVCU_CONF_NOTIFY_PARTICIPATOR_ADD:\r\n                    var response = proto.BVCU.ConfParticipators.deserializeBinary(payload);\r\n                    var portslist = response.getConfportsList();\r\n                    var portsLocal = [];\r\n                    var participator = null;\r\n                    for (var iIndex = 0; iIndex < portslist.length; iIndex++) {\r\n                        participator =\r\n                            jSW.SwConfManager._UTILS.participatorToLocalUser(this._parent, portslist[iIndex]);\r\n                        portsLocal[iIndex] = participator;\r\n                        if (participator != null) {\r\n                            jSWUtils.debugLogInfo(\"WEB_BVCU_CONF_NOTIFY_PARTICIPATOR_JOIN:\" + participator.name);\r\n                        }\r\n                    }\r\n                    this._addParticipators(portsLocal);\r\n                    cmd = jSWProtocol.RequestHeader.confnotify.notifyparticipartoradd.cmd;\r\n                    data = portsLocal;\r\n                    break;\r\n                case proto.WEBBVCU.MSGType.WEB_BVCU_CONF_NOTIFY_PARTICIPATOR_JOIN:\r\n                    var participator = proto.BVCU.ConfParticipatorInfo.deserializeBinary(payload);\r\n                    participator = jSW.SwConfManager._UTILS.participatorToLocalUser(this._parent, participator);\r\n                    var portsLocal = [];\r\n                    portsLocal.push(participator);\r\n                    this._addParticipators(portsLocal);\r\n                    data = portsLocal;\r\n                    cmd = jSWProtocol.RequestHeader.confnotify.notifyparticipartorjoin.cmd;\r\n                    console.log(\"WEB_BVCU_CONF_NOTIFY_PARTICIPATOR_JOIN:\" + participator.name);\r\n                    break;\r\n                case proto.WEBBVCU.MSGType.WEB_BVCU_CONF_NOTIFY_PARTICIPATOR_REMOVE:\r\n                    var response = proto.BVCU.ConfParticipators.deserializeBinary(payload);\r\n                    var portslist = response.getConfportsList();\r\n                    var portsLocal = [];\r\n                    var participator = null;\r\n                    for (var iIndex = 0; iIndex < portslist.length; iIndex++) {\r\n                        participator =\r\n                            jSW.SwConfManager._UTILS.participatorToLocalUser(this._parent, portslist[iIndex]);\r\n                        portsLocal[iIndex] = participator;\r\n                        if (participator != null) {\r\n                            jSWUtils.debugLogInfo(\"WEB_BVCU_CONF_NOTIFY_PARTICIPATOR_REMOVE:\" + participator.name);\r\n                        }\r\n                    }\r\n                    this._removeParticipator(portsLocal);\r\n                    cmd = jSWProtocol.RequestHeader.confnotify.notifyparticipartorremove.cmd;\r\n                    data = portsLocal;\r\n                    break;\r\n                case proto.WEBBVCU.MSGType.WEB_BVCU_CONF_NOTIFY_PARTICIPATOR_EXIT:\r\n                    var participator = proto.BVCU.ConfParticipatorInfo.deserializeBinary(payload);\r\n                    cmd = jSWProtocol.RequestHeader.confnotify.notifyparticipartorexit.cmd;\r\n                    participator = jSW.SwConfManager._UTILS.participatorToLocalUser(this._parent, participator);\r\n                    console.log(\"WEB_BVCU_CONF_NOTIFY_PARTICIPATOR_EXIT:\" + participator.name);\r\n                    var parts = [];\r\n                    parts.push(participator);\r\n                    this._removeParticipator(parts);\r\n                    data = parts;\r\n                    break;\r\n                case proto.WEBBVCU.MSGType.WEB_BVCU_CONF_NOTIFY_PARTICIPATOR_APPLYFOR_ENDSPEAK:\r\n                    data = proto.BVCU.ConfParticipatorInfo.deserializeBinary(payload);\r\n                    cmd = jSWProtocol.RequestHeader.confnotify.notifyapplyforendspeak.cmd;\r\n                    data = jSW.SwConfManager._UTILS.participatorToLocalUser(this._parent, data);\r\n                    console.log(\"WEB_BVCU_CONF_NOTIFY_PARTICIPATOR_APPLYFOR_ENDSPEAK:\" + data.name);\r\n                    this._updateParticipator(data);\r\n                    break;\r\n                case proto.WEBBVCU.MSGType.WEB_BVCU_CONF_NOTIFY_PARTICIPATOR_TERMINATE_SPEAK:\r\n                    var data = proto.BVCU.ConfParticipatorInfo.deserializeBinary(payload);\r\n                    cmd = jSWProtocol.RequestHeader.confnotify.notifyterminatespeak.cmd;\r\n                    data = jSW.SwConfManager._UTILS.participatorToLocalUser(this._parent, data);\r\n                    console.log(\"WEB_BVCU_CONF_NOTIFY_PARTICIPATOR_TERMINATE_SPEAK:\" + data.name);\r\n                    this._updateParticipator(data);\r\n                    break;\r\n                case proto.WEBBVCU.MSGType.WEB_BVCU_CONF_NOTIFY_PARTICIPATOR_APPLYFOR_STARTSPEAK:\r\n                    var data = proto.BVCU.ConfParticipatorInfo.deserializeBinary(payload);\r\n                    cmd = jSWProtocol.RequestHeader.confnotify.notifyapplyforstartspeak.cmd;\r\n                    data = jSW.SwConfManager._UTILS.participatorToLocalUser(this._parent, data);\r\n                    console.log(\"WEB_BVCU_CONF_NOTIFY_PARTICIPATOR_APPLYFOR_STARTSPEAK:\" + data.name);\r\n                    this._updateParticipator(data);\r\n                    break;\r\n                case proto.WEBBVCU.MSGType.WEB_BVCU_CONF_NOTIFY_PARTICIPATOR_INVITE_SPEAK:\r\n                    var data = proto.BVCU.ConfParticipatorInfo.deserializeBinary(payload);\r\n                    cmd = jSWProtocol.RequestHeader.confnotify.notifyinvitespeak.cmd;\r\n                    data = jSW.SwConfManager._UTILS.participatorToLocalUser(this._parent, data);\r\n                    console.log(\"WEB_BVCU_CONF_NOTIFY_PARTICIPATOR_INVITE_SPEAK:\" + data.name);\r\n                    this._updateParticipator(data);\r\n                    break;\r\n                case proto.WEBBVCU.MSGType.WEB_BVCU_CONF_NOTIFY_PARTICIPATOR_LEAVE:\r\n                    var data = proto.BVCU.ConfParticipatorInfo.deserializeBinary(payload);\r\n                    cmd = jSWProtocol.RequestHeader.confnotify.notifyparticipartorleave.cmd;\r\n                    data = jSW.SwConfManager._UTILS.participatorToLocalUser(this._parent, data);\r\n                    console.log(\"WEB_BVCU_CONF_NOTIFY_PARTICIPATOR_LEAVE:\" + data.name);\r\n                    this._updateParticipator(data);\r\n                    break;\r\n                case proto.WEBBVCU.MSGType.WEB_BVCU_CONF_NOTIFY_PARTICIPATOR_RETURN:\r\n                    var data = proto.BVCU.ConfParticipatorInfo.deserializeBinary(payload);\r\n                    cmd = jSWProtocol.RequestHeader.confnotify.notifyparticipartorreturn.cmd;\r\n                    data = jSW.SwConfManager._UTILS.participatorToLocalUser(this._parent, data);\r\n                    console.log(\"WEB_BVCU_CONF_NOTIFY_PARTICIPATOR_RETURN:\" + data.name);\r\n                    this._updateParticipator(data);\r\n                    break;\r\n                case proto.WEBBVCU.MSGType.WEB_BVCU_CONF_PARTICIPATOR_MODIFY:\r\n                    var data = proto.BVCU.ConfParticipatorInfo.deserializeBinary(payload);\r\n                    cmd = jSWProtocol.RequestHeader.confnotify.notifyparticipatormodify.cmd;\r\n                    data = jSW.SwConfManager._UTILS.participatorToLocalUser(this._parent, data);\r\n                    console.log(\"notifyparticipatormodify:\" + data.name);\r\n                    this._updateParticipator(data);\r\n                    if (data.isinseat) {\r\n                        this._conf_base_info.bIsStarted = true;\r\n                    }\r\n                    var arrayData = [];\r\n                    arrayData.push(data);\r\n                    data = arrayData;\r\n                    break;\r\n                case proto.WEBBVCU.MSGType.WEB_BVCU_CONF_NOTIFY_USERLOGIN:\r\n                    cmd = jSWProtocol.RequestHeader.confnotify.notifyparticipatormodify.cmd;\r\n                    var eventsource = payload;\r\n                    data = [];\r\n                    var part = this._onUserLoginout(eventsource.getSzid(), eventsource.getIvalue(), true);\r\n                    if (part) {\r\n                        data.push(part);\r\n                    } else {\r\n                        return;\r\n                    }\r\n                    break;\r\n\r\n                case proto.WEBBVCU.MSGType.WEB_BVCU_CONF_NOTIFY_USERLOGOUT:\r\n                    cmd = jSWProtocol.RequestHeader.confnotify.notifyparticipatormodify.cmd;\r\n                    var eventsource = payload;\r\n                    data = [];\r\n                    var part = this._onUserLoginout(eventsource.getSzid(), eventsource.getIvalue(), false);\r\n                    if (part) {\r\n                        data.push(part);\r\n                    } else {\r\n                        return;\r\n                    }\r\n                    break;\r\n                case proto.WEBBVCU.MSGType.WEB_BVCU_NOTIFY_PU_ONOFFLINE:\r\n                    cmd = jSWProtocol.RequestHeader.confnotify.notifyparticipatormodify.cmd;\r\n                    var pulistNotify = payload;\r\n                    var pulistData = [];\r\n                    for (var iIndex = 0; iIndex < pulistNotify.length; iIndex++) {\r\n                        var part = this._onUserLoginout(pulistNotify[iIndex]._id_pu, -1,\r\n                            pulistNotify[iIndex]._info_pu.onlinestatus == 1);\r\n                        if (part) {\r\n                            pulistData.push(part);\r\n                        } else {\r\n                            return;\r\n                        }\r\n                    }\r\n                    data = pulistData;\r\n                    break;\r\n                default: break;\r\n            }\r\n            this._parent._confManager._dispatchCallback(this, cmd, data);\r\n        },\r\n\r\n        _onRecvImMsg: function (imInfo) {\r\n            var cmd = jSWProtocol.RequestHeader.confnotify.notifyimmsg.cmd;\r\n            var sender = this._getPartByToken(imInfo.szSourceId, imInfo.iSourceId);\r\n            var bismine = (sender == this._getCurrentUser());\r\n            var data = {\r\n                confid: imInfo.szTargetId,\r\n                sender: sender,\r\n                szmsgs: imInfo.szmsg,\r\n                bismine: bismine\r\n            }\r\n            this._parent._confManager._dispatchCallback(this, cmd, data);\r\n        }\r\n    };\r\n\r\n\r\n    dMgr.RegModule(\"Conference\", new (function () { }));\r\n})(jSW.DependencyMgr);","(function (dMgr) {\r\n    function HandleConfSpeak() {\r\n        var AudioMgr = dMgr.ClaimModule(\"AudioMgr\");\r\n\r\n        this.OnCurrentUserApplySpeakChange = function (bSpeak) {\r\n            if (bSpeak) {\r\n                AudioMgr.StartAudio();\r\n            } else {\r\n                AudioMgr.StopAudio();\r\n            }\r\n        }\r\n\r\n        this.OnIStartConfConnectWsAudio = function(){\r\n            AudioMgr.ConnectWsAudio()\r\n        }\r\n    }\r\n\r\n    dMgr.RegModule(\"HandleConfSpeak\", new HandleConfSpeak());\r\n    //var HandleConfSpeak = jSW.DependencyMgr.GetModule(\"HandleConfSpeak\");\r\n})(jSW.DependencyMgr);","/*!\r\n * Vue.js v2.6.10\r\n * (c) 2014-2019 Evan You\r\n * Released under the MIT License.\r\n */\r\n!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=e||self).Vue=t()}(this,function(){\"use strict\";var e=Object.freeze({});function t(e){return null==e}function n(e){return null!=e}function r(e){return!0===e}function i(e){return\"string\"==typeof e||\"number\"==typeof e||\"symbol\"==typeof e||\"boolean\"==typeof e}function o(e){return null!==e&&\"object\"==typeof e}var a=Object.prototype.toString;function s(e){return\"[object Object]\"===a.call(e)}function c(e){var t=parseFloat(String(e));return t>=0&&Math.floor(t)===t&&isFinite(e)}function u(e){return n(e)&&\"function\"==typeof e.then&&\"function\"==typeof e.catch}function l(e){return null==e?\"\":Array.isArray(e)||s(e)&&e.toString===a?JSON.stringify(e,null,2):String(e)}function f(e){var t=parseFloat(e);return isNaN(t)?e:t}function p(e,t){for(var n=Object.create(null),r=e.split(\",\"),i=0;i<r.length;i++)n[r[i]]=!0;return t?function(e){return n[e.toLowerCase()]}:function(e){return n[e]}}var d=p(\"slot,component\",!0),v=p(\"key,ref,slot,slot-scope,is\");function h(e,t){if(e.length){var n=e.indexOf(t);if(n>-1)return e.splice(n,1)}}var m=Object.prototype.hasOwnProperty;function y(e,t){return m.call(e,t)}function g(e){var t=Object.create(null);return function(n){return t[n]||(t[n]=e(n))}}var _=/-(\\w)/g,b=g(function(e){return e.replace(_,function(e,t){return t?t.toUpperCase():\"\"})}),$=g(function(e){return e.charAt(0).toUpperCase()+e.slice(1)}),w=/\\B([A-Z])/g,C=g(function(e){return e.replace(w,\"-$1\").toLowerCase()});var x=Function.prototype.bind?function(e,t){return e.bind(t)}:function(e,t){function n(n){var r=arguments.length;return r?r>1?e.apply(t,arguments):e.call(t,n):e.call(t)}return n._length=e.length,n};function k(e,t){t=t||0;for(var n=e.length-t,r=new Array(n);n--;)r[n]=e[n+t];return r}function A(e,t){for(var n in t)e[n]=t[n];return e}function O(e){for(var t={},n=0;n<e.length;n++)e[n]&&A(t,e[n]);return t}function S(e,t,n){}var T=function(e,t,n){return!1},E=function(e){return e};function N(e,t){if(e===t)return!0;var n=o(e),r=o(t);if(!n||!r)return!n&&!r&&String(e)===String(t);try{var i=Array.isArray(e),a=Array.isArray(t);if(i&&a)return e.length===t.length&&e.every(function(e,n){return N(e,t[n])});if(e instanceof Date&&t instanceof Date)return e.getTime()===t.getTime();if(i||a)return!1;var s=Object.keys(e),c=Object.keys(t);return s.length===c.length&&s.every(function(n){return N(e[n],t[n])})}catch(e){return!1}}function j(e,t){for(var n=0;n<e.length;n++)if(N(e[n],t))return n;return-1}function D(e){var t=!1;return function(){t||(t=!0,e.apply(this,arguments))}}var L=\"data-server-rendered\",M=[\"component\",\"directive\",\"filter\"],I=[\"beforeCreate\",\"created\",\"beforeMount\",\"mounted\",\"beforeUpdate\",\"updated\",\"beforeDestroy\",\"destroyed\",\"activated\",\"deactivated\",\"errorCaptured\",\"serverPrefetch\"],F={optionMergeStrategies:Object.create(null),silent:!1,productionTip:!1,devtools:!1,performance:!1,errorHandler:null,warnHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:T,isReservedAttr:T,isUnknownElement:T,getTagNamespace:S,parsePlatformTagName:E,mustUseProp:T,async:!0,_lifecycleHooks:I},P=/a-zA-Z\\u00B7\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u203F-\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD/;function R(e,t,n,r){Object.defineProperty(e,t,{value:n,enumerable:!!r,writable:!0,configurable:!0})}var H=new RegExp(\"[^\"+P.source+\".$_\\\\d]\");var B,U=\"__proto__\"in{},z=\"undefined\"!=typeof window,V=\"undefined\"!=typeof WXEnvironment&&!!WXEnvironment.platform,K=V&&WXEnvironment.platform.toLowerCase(),J=z&&window.navigator.userAgent.toLowerCase(),q=J&&/msie|trident/.test(J),W=J&&J.indexOf(\"msie 9.0\")>0,Z=J&&J.indexOf(\"edge/\")>0,G=(J&&J.indexOf(\"android\"),J&&/iphone|ipad|ipod|ios/.test(J)||\"ios\"===K),X=(J&&/chrome\\/\\d+/.test(J),J&&/phantomjs/.test(J),J&&J.match(/firefox\\/(\\d+)/)),Y={}.watch,Q=!1;if(z)try{var ee={};Object.defineProperty(ee,\"passive\",{get:function(){Q=!0}}),window.addEventListener(\"test-passive\",null,ee)}catch(e){}var te=function(){return void 0===B&&(B=!z&&!V&&\"undefined\"!=typeof global&&(global.process&&\"server\"===global.process.env.VUE_ENV)),B},ne=z&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__;function re(e){return\"function\"==typeof e&&/native code/.test(e.toString())}var ie,oe=\"undefined\"!=typeof Symbol&&re(Symbol)&&\"undefined\"!=typeof Reflect&&re(Reflect.ownKeys);ie=\"undefined\"!=typeof Set&&re(Set)?Set:function(){function e(){this.set=Object.create(null)}return e.prototype.has=function(e){return!0===this.set[e]},e.prototype.add=function(e){this.set[e]=!0},e.prototype.clear=function(){this.set=Object.create(null)},e}();var ae=S,se=0,ce=function(){this.id=se++,this.subs=[]};ce.prototype.addSub=function(e){this.subs.push(e)},ce.prototype.removeSub=function(e){h(this.subs,e)},ce.prototype.depend=function(){ce.target&&ce.target.addDep(this)},ce.prototype.notify=function(){for(var e=this.subs.slice(),t=0,n=e.length;t<n;t++)e[t].update()},ce.target=null;var ue=[];function le(e){ue.push(e),ce.target=e}function fe(){ue.pop(),ce.target=ue[ue.length-1]}var pe=function(e,t,n,r,i,o,a,s){this.tag=e,this.data=t,this.children=n,this.text=r,this.elm=i,this.ns=void 0,this.context=o,this.fnContext=void 0,this.fnOptions=void 0,this.fnScopeId=void 0,this.key=t&&t.key,this.componentOptions=a,this.componentInstance=void 0,this.parent=void 0,this.raw=!1,this.isStatic=!1,this.isRootInsert=!0,this.isComment=!1,this.isCloned=!1,this.isOnce=!1,this.asyncFactory=s,this.asyncMeta=void 0,this.isAsyncPlaceholder=!1},de={child:{configurable:!0}};de.child.get=function(){return this.componentInstance},Object.defineProperties(pe.prototype,de);var ve=function(e){void 0===e&&(e=\"\");var t=new pe;return t.text=e,t.isComment=!0,t};function he(e){return new pe(void 0,void 0,void 0,String(e))}function me(e){var t=new pe(e.tag,e.data,e.children&&e.children.slice(),e.text,e.elm,e.context,e.componentOptions,e.asyncFactory);return t.ns=e.ns,t.isStatic=e.isStatic,t.key=e.key,t.isComment=e.isComment,t.fnContext=e.fnContext,t.fnOptions=e.fnOptions,t.fnScopeId=e.fnScopeId,t.asyncMeta=e.asyncMeta,t.isCloned=!0,t}var ye=Array.prototype,ge=Object.create(ye);[\"push\",\"pop\",\"shift\",\"unshift\",\"splice\",\"sort\",\"reverse\"].forEach(function(e){var t=ye[e];R(ge,e,function(){for(var n=[],r=arguments.length;r--;)n[r]=arguments[r];var i,o=t.apply(this,n),a=this.__ob__;switch(e){case\"push\":case\"unshift\":i=n;break;case\"splice\":i=n.slice(2)}return i&&a.observeArray(i),a.dep.notify(),o})});var _e=Object.getOwnPropertyNames(ge),be=!0;function $e(e){be=e}var we=function(e){var t;this.value=e,this.dep=new ce,this.vmCount=0,R(e,\"__ob__\",this),Array.isArray(e)?(U?(t=ge,e.__proto__=t):function(e,t,n){for(var r=0,i=n.length;r<i;r++){var o=n[r];R(e,o,t[o])}}(e,ge,_e),this.observeArray(e)):this.walk(e)};function Ce(e,t){var n;if(o(e)&&!(e instanceof pe))return y(e,\"__ob__\")&&e.__ob__ instanceof we?n=e.__ob__:be&&!te()&&(Array.isArray(e)||s(e))&&Object.isExtensible(e)&&!e._isVue&&(n=new we(e)),t&&n&&n.vmCount++,n}function xe(e,t,n,r,i){var o=new ce,a=Object.getOwnPropertyDescriptor(e,t);if(!a||!1!==a.configurable){var s=a&&a.get,c=a&&a.set;s&&!c||2!==arguments.length||(n=e[t]);var u=!i&&Ce(n);Object.defineProperty(e,t,{enumerable:!0,configurable:!0,get:function(){var t=s?s.call(e):n;return ce.target&&(o.depend(),u&&(u.dep.depend(),Array.isArray(t)&&function e(t){for(var n=void 0,r=0,i=t.length;r<i;r++)(n=t[r])&&n.__ob__&&n.__ob__.dep.depend(),Array.isArray(n)&&e(n)}(t))),t},set:function(t){var r=s?s.call(e):n;t===r||t!=t&&r!=r||s&&!c||(c?c.call(e,t):n=t,u=!i&&Ce(t),o.notify())}})}}function ke(e,t,n){if(Array.isArray(e)&&c(t))return e.length=Math.max(e.length,t),e.splice(t,1,n),n;if(t in e&&!(t in Object.prototype))return e[t]=n,n;var r=e.__ob__;return e._isVue||r&&r.vmCount?n:r?(xe(r.value,t,n),r.dep.notify(),n):(e[t]=n,n)}function Ae(e,t){if(Array.isArray(e)&&c(t))e.splice(t,1);else{var n=e.__ob__;e._isVue||n&&n.vmCount||y(e,t)&&(delete e[t],n&&n.dep.notify())}}we.prototype.walk=function(e){for(var t=Object.keys(e),n=0;n<t.length;n++)xe(e,t[n])},we.prototype.observeArray=function(e){for(var t=0,n=e.length;t<n;t++)Ce(e[t])};var Oe=F.optionMergeStrategies;function Se(e,t){if(!t)return e;for(var n,r,i,o=oe?Reflect.ownKeys(t):Object.keys(t),a=0;a<o.length;a++)\"__ob__\"!==(n=o[a])&&(r=e[n],i=t[n],y(e,n)?r!==i&&s(r)&&s(i)&&Se(r,i):ke(e,n,i));return e}function Te(e,t,n){return n?function(){var r=\"function\"==typeof t?t.call(n,n):t,i=\"function\"==typeof e?e.call(n,n):e;return r?Se(r,i):i}:t?e?function(){return Se(\"function\"==typeof t?t.call(this,this):t,\"function\"==typeof e?e.call(this,this):e)}:t:e}function Ee(e,t){var n=t?e?e.concat(t):Array.isArray(t)?t:[t]:e;return n?function(e){for(var t=[],n=0;n<e.length;n++)-1===t.indexOf(e[n])&&t.push(e[n]);return t}(n):n}function Ne(e,t,n,r){var i=Object.create(e||null);return t?A(i,t):i}Oe.data=function(e,t,n){return n?Te(e,t,n):t&&\"function\"!=typeof t?e:Te(e,t)},I.forEach(function(e){Oe[e]=Ee}),M.forEach(function(e){Oe[e+\"s\"]=Ne}),Oe.watch=function(e,t,n,r){if(e===Y&&(e=void 0),t===Y&&(t=void 0),!t)return Object.create(e||null);if(!e)return t;var i={};for(var o in A(i,e),t){var a=i[o],s=t[o];a&&!Array.isArray(a)&&(a=[a]),i[o]=a?a.concat(s):Array.isArray(s)?s:[s]}return i},Oe.props=Oe.methods=Oe.inject=Oe.computed=function(e,t,n,r){if(!e)return t;var i=Object.create(null);return A(i,e),t&&A(i,t),i},Oe.provide=Te;var je=function(e,t){return void 0===t?e:t};function De(e,t,n){if(\"function\"==typeof t&&(t=t.options),function(e,t){var n=e.props;if(n){var r,i,o={};if(Array.isArray(n))for(r=n.length;r--;)\"string\"==typeof(i=n[r])&&(o[b(i)]={type:null});else if(s(n))for(var a in n)i=n[a],o[b(a)]=s(i)?i:{type:i};e.props=o}}(t),function(e,t){var n=e.inject;if(n){var r=e.inject={};if(Array.isArray(n))for(var i=0;i<n.length;i++)r[n[i]]={from:n[i]};else if(s(n))for(var o in n){var a=n[o];r[o]=s(a)?A({from:o},a):{from:a}}}}(t),function(e){var t=e.directives;if(t)for(var n in t){var r=t[n];\"function\"==typeof r&&(t[n]={bind:r,update:r})}}(t),!t._base&&(t.extends&&(e=De(e,t.extends,n)),t.mixins))for(var r=0,i=t.mixins.length;r<i;r++)e=De(e,t.mixins[r],n);var o,a={};for(o in e)c(o);for(o in t)y(e,o)||c(o);function c(r){var i=Oe[r]||je;a[r]=i(e[r],t[r],n,r)}return a}function Le(e,t,n,r){if(\"string\"==typeof n){var i=e[t];if(y(i,n))return i[n];var o=b(n);if(y(i,o))return i[o];var a=$(o);return y(i,a)?i[a]:i[n]||i[o]||i[a]}}function Me(e,t,n,r){var i=t[e],o=!y(n,e),a=n[e],s=Pe(Boolean,i.type);if(s>-1)if(o&&!y(i,\"default\"))a=!1;else if(\"\"===a||a===C(e)){var c=Pe(String,i.type);(c<0||s<c)&&(a=!0)}if(void 0===a){a=function(e,t,n){if(!y(t,\"default\"))return;var r=t.default;if(e&&e.$options.propsData&&void 0===e.$options.propsData[n]&&void 0!==e._props[n])return e._props[n];return\"function\"==typeof r&&\"Function\"!==Ie(t.type)?r.call(e):r}(r,i,e);var u=be;$e(!0),Ce(a),$e(u)}return a}function Ie(e){var t=e&&e.toString().match(/^\\s*function (\\w+)/);return t?t[1]:\"\"}function Fe(e,t){return Ie(e)===Ie(t)}function Pe(e,t){if(!Array.isArray(t))return Fe(t,e)?0:-1;for(var n=0,r=t.length;n<r;n++)if(Fe(t[n],e))return n;return-1}function Re(e,t,n){le();try{if(t)for(var r=t;r=r.$parent;){var i=r.$options.errorCaptured;if(i)for(var o=0;o<i.length;o++)try{if(!1===i[o].call(r,e,t,n))return}catch(e){Be(e,r,\"errorCaptured hook\")}}Be(e,t,n)}finally{fe()}}function He(e,t,n,r,i){var o;try{(o=n?e.apply(t,n):e.call(t))&&!o._isVue&&u(o)&&!o._handled&&(o.catch(function(e){return Re(e,r,i+\" (Promise/async)\")}),o._handled=!0)}catch(e){Re(e,r,i)}return o}function Be(e,t,n){if(F.errorHandler)try{return F.errorHandler.call(null,e,t,n)}catch(t){t!==e&&Ue(t,null,\"config.errorHandler\")}Ue(e,t,n)}function Ue(e,t,n){if(!z&&!V||\"undefined\"==typeof console)throw e;console.error(e)}var ze,Ve=!1,Ke=[],Je=!1;function qe(){Je=!1;var e=Ke.slice(0);Ke.length=0;for(var t=0;t<e.length;t++)e[t]()}if(\"undefined\"!=typeof Promise&&re(Promise)){var We=Promise.resolve();ze=function(){We.then(qe),G&&setTimeout(S)},Ve=!0}else if(q||\"undefined\"==typeof MutationObserver||!re(MutationObserver)&&\"[object MutationObserverConstructor]\"!==MutationObserver.toString())ze=\"undefined\"!=typeof setImmediate&&re(setImmediate)?function(){setImmediate(qe)}:function(){setTimeout(qe,0)};else{var Ze=1,Ge=new MutationObserver(qe),Xe=document.createTextNode(String(Ze));Ge.observe(Xe,{characterData:!0}),ze=function(){Ze=(Ze+1)%2,Xe.data=String(Ze)},Ve=!0}function Ye(e,t){var n;if(Ke.push(function(){if(e)try{e.call(t)}catch(e){Re(e,t,\"nextTick\")}else n&&n(t)}),Je||(Je=!0,ze()),!e&&\"undefined\"!=typeof Promise)return new Promise(function(e){n=e})}var Qe=new ie;function et(e){!function e(t,n){var r,i;var a=Array.isArray(t);if(!a&&!o(t)||Object.isFrozen(t)||t instanceof pe)return;if(t.__ob__){var s=t.__ob__.dep.id;if(n.has(s))return;n.add(s)}if(a)for(r=t.length;r--;)e(t[r],n);else for(i=Object.keys(t),r=i.length;r--;)e(t[i[r]],n)}(e,Qe),Qe.clear()}var tt=g(function(e){var t=\"&\"===e.charAt(0),n=\"~\"===(e=t?e.slice(1):e).charAt(0),r=\"!\"===(e=n?e.slice(1):e).charAt(0);return{name:e=r?e.slice(1):e,once:n,capture:r,passive:t}});function nt(e,t){function n(){var e=arguments,r=n.fns;if(!Array.isArray(r))return He(r,null,arguments,t,\"v-on handler\");for(var i=r.slice(),o=0;o<i.length;o++)He(i[o],null,e,t,\"v-on handler\")}return n.fns=e,n}function rt(e,n,i,o,a,s){var c,u,l,f;for(c in e)u=e[c],l=n[c],f=tt(c),t(u)||(t(l)?(t(u.fns)&&(u=e[c]=nt(u,s)),r(f.once)&&(u=e[c]=a(f.name,u,f.capture)),i(f.name,u,f.capture,f.passive,f.params)):u!==l&&(l.fns=u,e[c]=l));for(c in n)t(e[c])&&o((f=tt(c)).name,n[c],f.capture)}function it(e,i,o){var a;e instanceof pe&&(e=e.data.hook||(e.data.hook={}));var s=e[i];function c(){o.apply(this,arguments),h(a.fns,c)}t(s)?a=nt([c]):n(s.fns)&&r(s.merged)?(a=s).fns.push(c):a=nt([s,c]),a.merged=!0,e[i]=a}function ot(e,t,r,i,o){if(n(t)){if(y(t,r))return e[r]=t[r],o||delete t[r],!0;if(y(t,i))return e[r]=t[i],o||delete t[i],!0}return!1}function at(e){return i(e)?[he(e)]:Array.isArray(e)?function e(o,a){var s=[];var c,u,l,f;for(c=0;c<o.length;c++)t(u=o[c])||\"boolean\"==typeof u||(l=s.length-1,f=s[l],Array.isArray(u)?u.length>0&&(st((u=e(u,(a||\"\")+\"_\"+c))[0])&&st(f)&&(s[l]=he(f.text+u[0].text),u.shift()),s.push.apply(s,u)):i(u)?st(f)?s[l]=he(f.text+u):\"\"!==u&&s.push(he(u)):st(u)&&st(f)?s[l]=he(f.text+u.text):(r(o._isVList)&&n(u.tag)&&t(u.key)&&n(a)&&(u.key=\"__vlist\"+a+\"_\"+c+\"__\"),s.push(u)));return s}(e):void 0}function st(e){return n(e)&&n(e.text)&&!1===e.isComment}function ct(e,t){if(e){for(var n=Object.create(null),r=oe?Reflect.ownKeys(e):Object.keys(e),i=0;i<r.length;i++){var o=r[i];if(\"__ob__\"!==o){for(var a=e[o].from,s=t;s;){if(s._provided&&y(s._provided,a)){n[o]=s._provided[a];break}s=s.$parent}if(!s&&\"default\"in e[o]){var c=e[o].default;n[o]=\"function\"==typeof c?c.call(t):c}}}return n}}function ut(e,t){if(!e||!e.length)return{};for(var n={},r=0,i=e.length;r<i;r++){var o=e[r],a=o.data;if(a&&a.attrs&&a.attrs.slot&&delete a.attrs.slot,o.context!==t&&o.fnContext!==t||!a||null==a.slot)(n.default||(n.default=[])).push(o);else{var s=a.slot,c=n[s]||(n[s]=[]);\"template\"===o.tag?c.push.apply(c,o.children||[]):c.push(o)}}for(var u in n)n[u].every(lt)&&delete n[u];return n}function lt(e){return e.isComment&&!e.asyncFactory||\" \"===e.text}function ft(t,n,r){var i,o=Object.keys(n).length>0,a=t?!!t.$stable:!o,s=t&&t.$key;if(t){if(t._normalized)return t._normalized;if(a&&r&&r!==e&&s===r.$key&&!o&&!r.$hasNormal)return r;for(var c in i={},t)t[c]&&\"$\"!==c[0]&&(i[c]=pt(n,c,t[c]))}else i={};for(var u in n)u in i||(i[u]=dt(n,u));return t&&Object.isExtensible(t)&&(t._normalized=i),R(i,\"$stable\",a),R(i,\"$key\",s),R(i,\"$hasNormal\",o),i}function pt(e,t,n){var r=function(){var e=arguments.length?n.apply(null,arguments):n({});return(e=e&&\"object\"==typeof e&&!Array.isArray(e)?[e]:at(e))&&(0===e.length||1===e.length&&e[0].isComment)?void 0:e};return n.proxy&&Object.defineProperty(e,t,{get:r,enumerable:!0,configurable:!0}),r}function dt(e,t){return function(){return e[t]}}function vt(e,t){var r,i,a,s,c;if(Array.isArray(e)||\"string\"==typeof e)for(r=new Array(e.length),i=0,a=e.length;i<a;i++)r[i]=t(e[i],i);else if(\"number\"==typeof e)for(r=new Array(e),i=0;i<e;i++)r[i]=t(i+1,i);else if(o(e))if(oe&&e[Symbol.iterator]){r=[];for(var u=e[Symbol.iterator](),l=u.next();!l.done;)r.push(t(l.value,r.length)),l=u.next()}else for(s=Object.keys(e),r=new Array(s.length),i=0,a=s.length;i<a;i++)c=s[i],r[i]=t(e[c],c,i);return n(r)||(r=[]),r._isVList=!0,r}function ht(e,t,n,r){var i,o=this.$scopedSlots[e];o?(n=n||{},r&&(n=A(A({},r),n)),i=o(n)||t):i=this.$slots[e]||t;var a=n&&n.slot;return a?this.$createElement(\"template\",{slot:a},i):i}function mt(e){return Le(this.$options,\"filters\",e)||E}function yt(e,t){return Array.isArray(e)?-1===e.indexOf(t):e!==t}function gt(e,t,n,r,i){var o=F.keyCodes[t]||n;return i&&r&&!F.keyCodes[t]?yt(i,r):o?yt(o,e):r?C(r)!==t:void 0}function _t(e,t,n,r,i){if(n)if(o(n)){var a;Array.isArray(n)&&(n=O(n));var s=function(o){if(\"class\"===o||\"style\"===o||v(o))a=e;else{var s=e.attrs&&e.attrs.type;a=r||F.mustUseProp(t,s,o)?e.domProps||(e.domProps={}):e.attrs||(e.attrs={})}var c=b(o),u=C(o);c in a||u in a||(a[o]=n[o],i&&((e.on||(e.on={}))[\"update:\"+o]=function(e){n[o]=e}))};for(var c in n)s(c)}else;return e}function bt(e,t){var n=this._staticTrees||(this._staticTrees=[]),r=n[e];return r&&!t?r:(wt(r=n[e]=this.$options.staticRenderFns[e].call(this._renderProxy,null,this),\"__static__\"+e,!1),r)}function $t(e,t,n){return wt(e,\"__once__\"+t+(n?\"_\"+n:\"\"),!0),e}function wt(e,t,n){if(Array.isArray(e))for(var r=0;r<e.length;r++)e[r]&&\"string\"!=typeof e[r]&&Ct(e[r],t+\"_\"+r,n);else Ct(e,t,n)}function Ct(e,t,n){e.isStatic=!0,e.key=t,e.isOnce=n}function xt(e,t){if(t)if(s(t)){var n=e.on=e.on?A({},e.on):{};for(var r in t){var i=n[r],o=t[r];n[r]=i?[].concat(i,o):o}}else;return e}function kt(e,t,n,r){t=t||{$stable:!n};for(var i=0;i<e.length;i++){var o=e[i];Array.isArray(o)?kt(o,t,n):o&&(o.proxy&&(o.fn.proxy=!0),t[o.key]=o.fn)}return r&&(t.$key=r),t}function At(e,t){for(var n=0;n<t.length;n+=2){var r=t[n];\"string\"==typeof r&&r&&(e[t[n]]=t[n+1])}return e}function Ot(e,t){return\"string\"==typeof e?t+e:e}function St(e){e._o=$t,e._n=f,e._s=l,e._l=vt,e._t=ht,e._q=N,e._i=j,e._m=bt,e._f=mt,e._k=gt,e._b=_t,e._v=he,e._e=ve,e._u=kt,e._g=xt,e._d=At,e._p=Ot}function Tt(t,n,i,o,a){var s,c=this,u=a.options;y(o,\"_uid\")?(s=Object.create(o))._original=o:(s=o,o=o._original);var l=r(u._compiled),f=!l;this.data=t,this.props=n,this.children=i,this.parent=o,this.listeners=t.on||e,this.injections=ct(u.inject,o),this.slots=function(){return c.$slots||ft(t.scopedSlots,c.$slots=ut(i,o)),c.$slots},Object.defineProperty(this,\"scopedSlots\",{enumerable:!0,get:function(){return ft(t.scopedSlots,this.slots())}}),l&&(this.$options=u,this.$slots=this.slots(),this.$scopedSlots=ft(t.scopedSlots,this.$slots)),u._scopeId?this._c=function(e,t,n,r){var i=Pt(s,e,t,n,r,f);return i&&!Array.isArray(i)&&(i.fnScopeId=u._scopeId,i.fnContext=o),i}:this._c=function(e,t,n,r){return Pt(s,e,t,n,r,f)}}function Et(e,t,n,r,i){var o=me(e);return o.fnContext=n,o.fnOptions=r,t.slot&&((o.data||(o.data={})).slot=t.slot),o}function Nt(e,t){for(var n in t)e[b(n)]=t[n]}St(Tt.prototype);var jt={init:function(e,t){if(e.componentInstance&&!e.componentInstance._isDestroyed&&e.data.keepAlive){var r=e;jt.prepatch(r,r)}else{(e.componentInstance=function(e,t){var r={_isComponent:!0,_parentVnode:e,parent:t},i=e.data.inlineTemplate;n(i)&&(r.render=i.render,r.staticRenderFns=i.staticRenderFns);return new e.componentOptions.Ctor(r)}(e,Wt)).$mount(t?e.elm:void 0,t)}},prepatch:function(t,n){var r=n.componentOptions;!function(t,n,r,i,o){var a=i.data.scopedSlots,s=t.$scopedSlots,c=!!(a&&!a.$stable||s!==e&&!s.$stable||a&&t.$scopedSlots.$key!==a.$key),u=!!(o||t.$options._renderChildren||c);t.$options._parentVnode=i,t.$vnode=i,t._vnode&&(t._vnode.parent=i);if(t.$options._renderChildren=o,t.$attrs=i.data.attrs||e,t.$listeners=r||e,n&&t.$options.props){$e(!1);for(var l=t._props,f=t.$options._propKeys||[],p=0;p<f.length;p++){var d=f[p],v=t.$options.props;l[d]=Me(d,v,n,t)}$e(!0),t.$options.propsData=n}r=r||e;var h=t.$options._parentListeners;t.$options._parentListeners=r,qt(t,r,h),u&&(t.$slots=ut(o,i.context),t.$forceUpdate())}(n.componentInstance=t.componentInstance,r.propsData,r.listeners,n,r.children)},insert:function(e){var t,n=e.context,r=e.componentInstance;r._isMounted||(r._isMounted=!0,Yt(r,\"mounted\")),e.data.keepAlive&&(n._isMounted?((t=r)._inactive=!1,en.push(t)):Xt(r,!0))},destroy:function(e){var t=e.componentInstance;t._isDestroyed||(e.data.keepAlive?function e(t,n){if(n&&(t._directInactive=!0,Gt(t)))return;if(!t._inactive){t._inactive=!0;for(var r=0;r<t.$children.length;r++)e(t.$children[r]);Yt(t,\"deactivated\")}}(t,!0):t.$destroy())}},Dt=Object.keys(jt);function Lt(i,a,s,c,l){if(!t(i)){var f=s.$options._base;if(o(i)&&(i=f.extend(i)),\"function\"==typeof i){var p;if(t(i.cid)&&void 0===(i=function(e,i){if(r(e.error)&&n(e.errorComp))return e.errorComp;if(n(e.resolved))return e.resolved;var a=Ht;a&&n(e.owners)&&-1===e.owners.indexOf(a)&&e.owners.push(a);if(r(e.loading)&&n(e.loadingComp))return e.loadingComp;if(a&&!n(e.owners)){var s=e.owners=[a],c=!0,l=null,f=null;a.$on(\"hook:destroyed\",function(){return h(s,a)});var p=function(e){for(var t=0,n=s.length;t<n;t++)s[t].$forceUpdate();e&&(s.length=0,null!==l&&(clearTimeout(l),l=null),null!==f&&(clearTimeout(f),f=null))},d=D(function(t){e.resolved=Bt(t,i),c?s.length=0:p(!0)}),v=D(function(t){n(e.errorComp)&&(e.error=!0,p(!0))}),m=e(d,v);return o(m)&&(u(m)?t(e.resolved)&&m.then(d,v):u(m.component)&&(m.component.then(d,v),n(m.error)&&(e.errorComp=Bt(m.error,i)),n(m.loading)&&(e.loadingComp=Bt(m.loading,i),0===m.delay?e.loading=!0:l=setTimeout(function(){l=null,t(e.resolved)&&t(e.error)&&(e.loading=!0,p(!1))},m.delay||200)),n(m.timeout)&&(f=setTimeout(function(){f=null,t(e.resolved)&&v(null)},m.timeout)))),c=!1,e.loading?e.loadingComp:e.resolved}}(p=i,f)))return function(e,t,n,r,i){var o=ve();return o.asyncFactory=e,o.asyncMeta={data:t,context:n,children:r,tag:i},o}(p,a,s,c,l);a=a||{},$n(i),n(a.model)&&function(e,t){var r=e.model&&e.model.prop||\"value\",i=e.model&&e.model.event||\"input\";(t.attrs||(t.attrs={}))[r]=t.model.value;var o=t.on||(t.on={}),a=o[i],s=t.model.callback;n(a)?(Array.isArray(a)?-1===a.indexOf(s):a!==s)&&(o[i]=[s].concat(a)):o[i]=s}(i.options,a);var d=function(e,r,i){var o=r.options.props;if(!t(o)){var a={},s=e.attrs,c=e.props;if(n(s)||n(c))for(var u in o){var l=C(u);ot(a,c,u,l,!0)||ot(a,s,u,l,!1)}return a}}(a,i);if(r(i.options.functional))return function(t,r,i,o,a){var s=t.options,c={},u=s.props;if(n(u))for(var l in u)c[l]=Me(l,u,r||e);else n(i.attrs)&&Nt(c,i.attrs),n(i.props)&&Nt(c,i.props);var f=new Tt(i,c,a,o,t),p=s.render.call(null,f._c,f);if(p instanceof pe)return Et(p,i,f.parent,s);if(Array.isArray(p)){for(var d=at(p)||[],v=new Array(d.length),h=0;h<d.length;h++)v[h]=Et(d[h],i,f.parent,s);return v}}(i,d,a,s,c);var v=a.on;if(a.on=a.nativeOn,r(i.options.abstract)){var m=a.slot;a={},m&&(a.slot=m)}!function(e){for(var t=e.hook||(e.hook={}),n=0;n<Dt.length;n++){var r=Dt[n],i=t[r],o=jt[r];i===o||i&&i._merged||(t[r]=i?Mt(o,i):o)}}(a);var y=i.options.name||l;return new pe(\"vue-component-\"+i.cid+(y?\"-\"+y:\"\"),a,void 0,void 0,void 0,s,{Ctor:i,propsData:d,listeners:v,tag:l,children:c},p)}}}function Mt(e,t){var n=function(n,r){e(n,r),t(n,r)};return n._merged=!0,n}var It=1,Ft=2;function Pt(e,a,s,c,u,l){return(Array.isArray(s)||i(s))&&(u=c,c=s,s=void 0),r(l)&&(u=Ft),function(e,i,a,s,c){if(n(a)&&n(a.__ob__))return ve();n(a)&&n(a.is)&&(i=a.is);if(!i)return ve();Array.isArray(s)&&\"function\"==typeof s[0]&&((a=a||{}).scopedSlots={default:s[0]},s.length=0);c===Ft?s=at(s):c===It&&(s=function(e){for(var t=0;t<e.length;t++)if(Array.isArray(e[t]))return Array.prototype.concat.apply([],e);return e}(s));var u,l;if(\"string\"==typeof i){var f;l=e.$vnode&&e.$vnode.ns||F.getTagNamespace(i),u=F.isReservedTag(i)?new pe(F.parsePlatformTagName(i),a,s,void 0,void 0,e):a&&a.pre||!n(f=Le(e.$options,\"components\",i))?new pe(i,a,s,void 0,void 0,e):Lt(f,a,e,s,i)}else u=Lt(i,a,e,s);return Array.isArray(u)?u:n(u)?(n(l)&&function e(i,o,a){i.ns=o;\"foreignObject\"===i.tag&&(o=void 0,a=!0);if(n(i.children))for(var s=0,c=i.children.length;s<c;s++){var u=i.children[s];n(u.tag)&&(t(u.ns)||r(a)&&\"svg\"!==u.tag)&&e(u,o,a)}}(u,l),n(a)&&function(e){o(e.style)&&et(e.style);o(e.class)&&et(e.class)}(a),u):ve()}(e,a,s,c,u)}var Rt,Ht=null;function Bt(e,t){return(e.__esModule||oe&&\"Module\"===e[Symbol.toStringTag])&&(e=e.default),o(e)?t.extend(e):e}function Ut(e){return e.isComment&&e.asyncFactory}function zt(e){if(Array.isArray(e))for(var t=0;t<e.length;t++){var r=e[t];if(n(r)&&(n(r.componentOptions)||Ut(r)))return r}}function Vt(e,t){Rt.$on(e,t)}function Kt(e,t){Rt.$off(e,t)}function Jt(e,t){var n=Rt;return function r(){null!==t.apply(null,arguments)&&n.$off(e,r)}}function qt(e,t,n){Rt=e,rt(t,n||{},Vt,Kt,Jt,e),Rt=void 0}var Wt=null;function Zt(e){var t=Wt;return Wt=e,function(){Wt=t}}function Gt(e){for(;e&&(e=e.$parent);)if(e._inactive)return!0;return!1}function Xt(e,t){if(t){if(e._directInactive=!1,Gt(e))return}else if(e._directInactive)return;if(e._inactive||null===e._inactive){e._inactive=!1;for(var n=0;n<e.$children.length;n++)Xt(e.$children[n]);Yt(e,\"activated\")}}function Yt(e,t){le();var n=e.$options[t],r=t+\" hook\";if(n)for(var i=0,o=n.length;i<o;i++)He(n[i],e,null,e,r);e._hasHookEvent&&e.$emit(\"hook:\"+t),fe()}var Qt=[],en=[],tn={},nn=!1,rn=!1,on=0;var an=0,sn=Date.now;if(z&&!q){var cn=window.performance;cn&&\"function\"==typeof cn.now&&sn()>document.createEvent(\"Event\").timeStamp&&(sn=function(){return cn.now()})}function un(){var e,t;for(an=sn(),rn=!0,Qt.sort(function(e,t){return e.id-t.id}),on=0;on<Qt.length;on++)(e=Qt[on]).before&&e.before(),t=e.id,tn[t]=null,e.run();var n=en.slice(),r=Qt.slice();on=Qt.length=en.length=0,tn={},nn=rn=!1,function(e){for(var t=0;t<e.length;t++)e[t]._inactive=!0,Xt(e[t],!0)}(n),function(e){var t=e.length;for(;t--;){var n=e[t],r=n.vm;r._watcher===n&&r._isMounted&&!r._isDestroyed&&Yt(r,\"updated\")}}(r),ne&&F.devtools&&ne.emit(\"flush\")}var ln=0,fn=function(e,t,n,r,i){this.vm=e,i&&(e._watcher=this),e._watchers.push(this),r?(this.deep=!!r.deep,this.user=!!r.user,this.lazy=!!r.lazy,this.sync=!!r.sync,this.before=r.before):this.deep=this.user=this.lazy=this.sync=!1,this.cb=n,this.id=++ln,this.active=!0,this.dirty=this.lazy,this.deps=[],this.newDeps=[],this.depIds=new ie,this.newDepIds=new ie,this.expression=\"\",\"function\"==typeof t?this.getter=t:(this.getter=function(e){if(!H.test(e)){var t=e.split(\".\");return function(e){for(var n=0;n<t.length;n++){if(!e)return;e=e[t[n]]}return e}}}(t),this.getter||(this.getter=S)),this.value=this.lazy?void 0:this.get()};fn.prototype.get=function(){var e;le(this);var t=this.vm;try{e=this.getter.call(t,t)}catch(e){if(!this.user)throw e;Re(e,t,'getter for watcher \"'+this.expression+'\"')}finally{this.deep&&et(e),fe(),this.cleanupDeps()}return e},fn.prototype.addDep=function(e){var t=e.id;this.newDepIds.has(t)||(this.newDepIds.add(t),this.newDeps.push(e),this.depIds.has(t)||e.addSub(this))},fn.prototype.cleanupDeps=function(){for(var e=this.deps.length;e--;){var t=this.deps[e];this.newDepIds.has(t.id)||t.removeSub(this)}var n=this.depIds;this.depIds=this.newDepIds,this.newDepIds=n,this.newDepIds.clear(),n=this.deps,this.deps=this.newDeps,this.newDeps=n,this.newDeps.length=0},fn.prototype.update=function(){this.lazy?this.dirty=!0:this.sync?this.run():function(e){var t=e.id;if(null==tn[t]){if(tn[t]=!0,rn){for(var n=Qt.length-1;n>on&&Qt[n].id>e.id;)n--;Qt.splice(n+1,0,e)}else Qt.push(e);nn||(nn=!0,Ye(un))}}(this)},fn.prototype.run=function(){if(this.active){var e=this.get();if(e!==this.value||o(e)||this.deep){var t=this.value;if(this.value=e,this.user)try{this.cb.call(this.vm,e,t)}catch(e){Re(e,this.vm,'callback for watcher \"'+this.expression+'\"')}else this.cb.call(this.vm,e,t)}}},fn.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},fn.prototype.depend=function(){for(var e=this.deps.length;e--;)this.deps[e].depend()},fn.prototype.teardown=function(){if(this.active){this.vm._isBeingDestroyed||h(this.vm._watchers,this);for(var e=this.deps.length;e--;)this.deps[e].removeSub(this);this.active=!1}};var pn={enumerable:!0,configurable:!0,get:S,set:S};function dn(e,t,n){pn.get=function(){return this[t][n]},pn.set=function(e){this[t][n]=e},Object.defineProperty(e,n,pn)}function vn(e){e._watchers=[];var t=e.$options;t.props&&function(e,t){var n=e.$options.propsData||{},r=e._props={},i=e.$options._propKeys=[];e.$parent&&$e(!1);var o=function(o){i.push(o);var a=Me(o,t,n,e);xe(r,o,a),o in e||dn(e,\"_props\",o)};for(var a in t)o(a);$e(!0)}(e,t.props),t.methods&&function(e,t){e.$options.props;for(var n in t)e[n]=\"function\"!=typeof t[n]?S:x(t[n],e)}(e,t.methods),t.data?function(e){var t=e.$options.data;s(t=e._data=\"function\"==typeof t?function(e,t){le();try{return e.call(t,t)}catch(e){return Re(e,t,\"data()\"),{}}finally{fe()}}(t,e):t||{})||(t={});var n=Object.keys(t),r=e.$options.props,i=(e.$options.methods,n.length);for(;i--;){var o=n[i];r&&y(r,o)||(a=void 0,36!==(a=(o+\"\").charCodeAt(0))&&95!==a&&dn(e,\"_data\",o))}var a;Ce(t,!0)}(e):Ce(e._data={},!0),t.computed&&function(e,t){var n=e._computedWatchers=Object.create(null),r=te();for(var i in t){var o=t[i],a=\"function\"==typeof o?o:o.get;r||(n[i]=new fn(e,a||S,S,hn)),i in e||mn(e,i,o)}}(e,t.computed),t.watch&&t.watch!==Y&&function(e,t){for(var n in t){var r=t[n];if(Array.isArray(r))for(var i=0;i<r.length;i++)_n(e,n,r[i]);else _n(e,n,r)}}(e,t.watch)}var hn={lazy:!0};function mn(e,t,n){var r=!te();\"function\"==typeof n?(pn.get=r?yn(t):gn(n),pn.set=S):(pn.get=n.get?r&&!1!==n.cache?yn(t):gn(n.get):S,pn.set=n.set||S),Object.defineProperty(e,t,pn)}function yn(e){return function(){var t=this._computedWatchers&&this._computedWatchers[e];if(t)return t.dirty&&t.evaluate(),ce.target&&t.depend(),t.value}}function gn(e){return function(){return e.call(this,this)}}function _n(e,t,n,r){return s(n)&&(r=n,n=n.handler),\"string\"==typeof n&&(n=e[n]),e.$watch(t,n,r)}var bn=0;function $n(e){var t=e.options;if(e.super){var n=$n(e.super);if(n!==e.superOptions){e.superOptions=n;var r=function(e){var t,n=e.options,r=e.sealedOptions;for(var i in n)n[i]!==r[i]&&(t||(t={}),t[i]=n[i]);return t}(e);r&&A(e.extendOptions,r),(t=e.options=De(n,e.extendOptions)).name&&(t.components[t.name]=e)}}return t}function wn(e){this._init(e)}function Cn(e){e.cid=0;var t=1;e.extend=function(e){e=e||{};var n=this,r=n.cid,i=e._Ctor||(e._Ctor={});if(i[r])return i[r];var o=e.name||n.options.name,a=function(e){this._init(e)};return(a.prototype=Object.create(n.prototype)).constructor=a,a.cid=t++,a.options=De(n.options,e),a.super=n,a.options.props&&function(e){var t=e.options.props;for(var n in t)dn(e.prototype,\"_props\",n)}(a),a.options.computed&&function(e){var t=e.options.computed;for(var n in t)mn(e.prototype,n,t[n])}(a),a.extend=n.extend,a.mixin=n.mixin,a.use=n.use,M.forEach(function(e){a[e]=n[e]}),o&&(a.options.components[o]=a),a.superOptions=n.options,a.extendOptions=e,a.sealedOptions=A({},a.options),i[r]=a,a}}function xn(e){return e&&(e.Ctor.options.name||e.tag)}function kn(e,t){return Array.isArray(e)?e.indexOf(t)>-1:\"string\"==typeof e?e.split(\",\").indexOf(t)>-1:(n=e,\"[object RegExp]\"===a.call(n)&&e.test(t));var n}function An(e,t){var n=e.cache,r=e.keys,i=e._vnode;for(var o in n){var a=n[o];if(a){var s=xn(a.componentOptions);s&&!t(s)&&On(n,o,r,i)}}}function On(e,t,n,r){var i=e[t];!i||r&&i.tag===r.tag||i.componentInstance.$destroy(),e[t]=null,h(n,t)}!function(t){t.prototype._init=function(t){var n=this;n._uid=bn++,n._isVue=!0,t&&t._isComponent?function(e,t){var n=e.$options=Object.create(e.constructor.options),r=t._parentVnode;n.parent=t.parent,n._parentVnode=r;var i=r.componentOptions;n.propsData=i.propsData,n._parentListeners=i.listeners,n._renderChildren=i.children,n._componentTag=i.tag,t.render&&(n.render=t.render,n.staticRenderFns=t.staticRenderFns)}(n,t):n.$options=De($n(n.constructor),t||{},n),n._renderProxy=n,n._self=n,function(e){var t=e.$options,n=t.parent;if(n&&!t.abstract){for(;n.$options.abstract&&n.$parent;)n=n.$parent;n.$children.push(e)}e.$parent=n,e.$root=n?n.$root:e,e.$children=[],e.$refs={},e._watcher=null,e._inactive=null,e._directInactive=!1,e._isMounted=!1,e._isDestroyed=!1,e._isBeingDestroyed=!1}(n),function(e){e._events=Object.create(null),e._hasHookEvent=!1;var t=e.$options._parentListeners;t&&qt(e,t)}(n),function(t){t._vnode=null,t._staticTrees=null;var n=t.$options,r=t.$vnode=n._parentVnode,i=r&&r.context;t.$slots=ut(n._renderChildren,i),t.$scopedSlots=e,t._c=function(e,n,r,i){return Pt(t,e,n,r,i,!1)},t.$createElement=function(e,n,r,i){return Pt(t,e,n,r,i,!0)};var o=r&&r.data;xe(t,\"$attrs\",o&&o.attrs||e,null,!0),xe(t,\"$listeners\",n._parentListeners||e,null,!0)}(n),Yt(n,\"beforeCreate\"),function(e){var t=ct(e.$options.inject,e);t&&($e(!1),Object.keys(t).forEach(function(n){xe(e,n,t[n])}),$e(!0))}(n),vn(n),function(e){var t=e.$options.provide;t&&(e._provided=\"function\"==typeof t?t.call(e):t)}(n),Yt(n,\"created\"),n.$options.el&&n.$mount(n.$options.el)}}(wn),function(e){var t={get:function(){return this._data}},n={get:function(){return this._props}};Object.defineProperty(e.prototype,\"$data\",t),Object.defineProperty(e.prototype,\"$props\",n),e.prototype.$set=ke,e.prototype.$delete=Ae,e.prototype.$watch=function(e,t,n){if(s(t))return _n(this,e,t,n);(n=n||{}).user=!0;var r=new fn(this,e,t,n);if(n.immediate)try{t.call(this,r.value)}catch(e){Re(e,this,'callback for immediate watcher \"'+r.expression+'\"')}return function(){r.teardown()}}}(wn),function(e){var t=/^hook:/;e.prototype.$on=function(e,n){var r=this;if(Array.isArray(e))for(var i=0,o=e.length;i<o;i++)r.$on(e[i],n);else(r._events[e]||(r._events[e]=[])).push(n),t.test(e)&&(r._hasHookEvent=!0);return r},e.prototype.$once=function(e,t){var n=this;function r(){n.$off(e,r),t.apply(n,arguments)}return r.fn=t,n.$on(e,r),n},e.prototype.$off=function(e,t){var n=this;if(!arguments.length)return n._events=Object.create(null),n;if(Array.isArray(e)){for(var r=0,i=e.length;r<i;r++)n.$off(e[r],t);return n}var o,a=n._events[e];if(!a)return n;if(!t)return n._events[e]=null,n;for(var s=a.length;s--;)if((o=a[s])===t||o.fn===t){a.splice(s,1);break}return n},e.prototype.$emit=function(e){var t=this._events[e];if(t){t=t.length>1?k(t):t;for(var n=k(arguments,1),r='event handler for \"'+e+'\"',i=0,o=t.length;i<o;i++)He(t[i],this,n,this,r)}return this}}(wn),function(e){e.prototype._update=function(e,t){var n=this,r=n.$el,i=n._vnode,o=Zt(n);n._vnode=e,n.$el=i?n.__patch__(i,e):n.__patch__(n.$el,e,t,!1),o(),r&&(r.__vue__=null),n.$el&&(n.$el.__vue__=n),n.$vnode&&n.$parent&&n.$vnode===n.$parent._vnode&&(n.$parent.$el=n.$el)},e.prototype.$forceUpdate=function(){this._watcher&&this._watcher.update()},e.prototype.$destroy=function(){var e=this;if(!e._isBeingDestroyed){Yt(e,\"beforeDestroy\"),e._isBeingDestroyed=!0;var t=e.$parent;!t||t._isBeingDestroyed||e.$options.abstract||h(t.$children,e),e._watcher&&e._watcher.teardown();for(var n=e._watchers.length;n--;)e._watchers[n].teardown();e._data.__ob__&&e._data.__ob__.vmCount--,e._isDestroyed=!0,e.__patch__(e._vnode,null),Yt(e,\"destroyed\"),e.$off(),e.$el&&(e.$el.__vue__=null),e.$vnode&&(e.$vnode.parent=null)}}}(wn),function(e){St(e.prototype),e.prototype.$nextTick=function(e){return Ye(e,this)},e.prototype._render=function(){var e,t=this,n=t.$options,r=n.render,i=n._parentVnode;i&&(t.$scopedSlots=ft(i.data.scopedSlots,t.$slots,t.$scopedSlots)),t.$vnode=i;try{Ht=t,e=r.call(t._renderProxy,t.$createElement)}catch(n){Re(n,t,\"render\"),e=t._vnode}finally{Ht=null}return Array.isArray(e)&&1===e.length&&(e=e[0]),e instanceof pe||(e=ve()),e.parent=i,e}}(wn);var Sn=[String,RegExp,Array],Tn={KeepAlive:{name:\"keep-alive\",abstract:!0,props:{include:Sn,exclude:Sn,max:[String,Number]},created:function(){this.cache=Object.create(null),this.keys=[]},destroyed:function(){for(var e in this.cache)On(this.cache,e,this.keys)},mounted:function(){var e=this;this.$watch(\"include\",function(t){An(e,function(e){return kn(t,e)})}),this.$watch(\"exclude\",function(t){An(e,function(e){return!kn(t,e)})})},render:function(){var e=this.$slots.default,t=zt(e),n=t&&t.componentOptions;if(n){var r=xn(n),i=this.include,o=this.exclude;if(i&&(!r||!kn(i,r))||o&&r&&kn(o,r))return t;var a=this.cache,s=this.keys,c=null==t.key?n.Ctor.cid+(n.tag?\"::\"+n.tag:\"\"):t.key;a[c]?(t.componentInstance=a[c].componentInstance,h(s,c),s.push(c)):(a[c]=t,s.push(c),this.max&&s.length>parseInt(this.max)&&On(a,s[0],s,this._vnode)),t.data.keepAlive=!0}return t||e&&e[0]}}};!function(e){var t={get:function(){return F}};Object.defineProperty(e,\"config\",t),e.util={warn:ae,extend:A,mergeOptions:De,defineReactive:xe},e.set=ke,e.delete=Ae,e.nextTick=Ye,e.observable=function(e){return Ce(e),e},e.options=Object.create(null),M.forEach(function(t){e.options[t+\"s\"]=Object.create(null)}),e.options._base=e,A(e.options.components,Tn),function(e){e.use=function(e){var t=this._installedPlugins||(this._installedPlugins=[]);if(t.indexOf(e)>-1)return this;var n=k(arguments,1);return n.unshift(this),\"function\"==typeof e.install?e.install.apply(e,n):\"function\"==typeof e&&e.apply(null,n),t.push(e),this}}(e),function(e){e.mixin=function(e){return this.options=De(this.options,e),this}}(e),Cn(e),function(e){M.forEach(function(t){e[t]=function(e,n){return n?(\"component\"===t&&s(n)&&(n.name=n.name||e,n=this.options._base.extend(n)),\"directive\"===t&&\"function\"==typeof n&&(n={bind:n,update:n}),this.options[t+\"s\"][e]=n,n):this.options[t+\"s\"][e]}})}(e)}(wn),Object.defineProperty(wn.prototype,\"$isServer\",{get:te}),Object.defineProperty(wn.prototype,\"$ssrContext\",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),Object.defineProperty(wn,\"FunctionalRenderContext\",{value:Tt}),wn.version=\"2.6.10\";var En=p(\"style,class\"),Nn=p(\"input,textarea,option,select,progress\"),jn=function(e,t,n){return\"value\"===n&&Nn(e)&&\"button\"!==t||\"selected\"===n&&\"option\"===e||\"checked\"===n&&\"input\"===e||\"muted\"===n&&\"video\"===e},Dn=p(\"contenteditable,draggable,spellcheck\"),Ln=p(\"events,caret,typing,plaintext-only\"),Mn=function(e,t){return Hn(t)||\"false\"===t?\"false\":\"contenteditable\"===e&&Ln(t)?t:\"true\"},In=p(\"allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible\"),Fn=\"http://www.w3.org/1999/xlink\",Pn=function(e){return\":\"===e.charAt(5)&&\"xlink\"===e.slice(0,5)},Rn=function(e){return Pn(e)?e.slice(6,e.length):\"\"},Hn=function(e){return null==e||!1===e};function Bn(e){for(var t=e.data,r=e,i=e;n(i.componentInstance);)(i=i.componentInstance._vnode)&&i.data&&(t=Un(i.data,t));for(;n(r=r.parent);)r&&r.data&&(t=Un(t,r.data));return function(e,t){if(n(e)||n(t))return zn(e,Vn(t));return\"\"}(t.staticClass,t.class)}function Un(e,t){return{staticClass:zn(e.staticClass,t.staticClass),class:n(e.class)?[e.class,t.class]:t.class}}function zn(e,t){return e?t?e+\" \"+t:e:t||\"\"}function Vn(e){return Array.isArray(e)?function(e){for(var t,r=\"\",i=0,o=e.length;i<o;i++)n(t=Vn(e[i]))&&\"\"!==t&&(r&&(r+=\" \"),r+=t);return r}(e):o(e)?function(e){var t=\"\";for(var n in e)e[n]&&(t&&(t+=\" \"),t+=n);return t}(e):\"string\"==typeof e?e:\"\"}var Kn={svg:\"http://www.w3.org/2000/svg\",math:\"http://www.w3.org/1998/Math/MathML\"},Jn=p(\"html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot\"),qn=p(\"svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view\",!0),Wn=function(e){return Jn(e)||qn(e)};function Zn(e){return qn(e)?\"svg\":\"math\"===e?\"math\":void 0}var Gn=Object.create(null);var Xn=p(\"text,number,password,search,email,tel,url\");function Yn(e){if(\"string\"==typeof e){var t=document.querySelector(e);return t||document.createElement(\"div\")}return e}var Qn=Object.freeze({createElement:function(e,t){var n=document.createElement(e);return\"select\"!==e?n:(t.data&&t.data.attrs&&void 0!==t.data.attrs.multiple&&n.setAttribute(\"multiple\",\"multiple\"),n)},createElementNS:function(e,t){return document.createElementNS(Kn[e],t)},createTextNode:function(e){return document.createTextNode(e)},createComment:function(e){return document.createComment(e)},insertBefore:function(e,t,n){e.insertBefore(t,n)},removeChild:function(e,t){e.removeChild(t)},appendChild:function(e,t){e.appendChild(t)},parentNode:function(e){return e.parentNode},nextSibling:function(e){return e.nextSibling},tagName:function(e){return e.tagName},setTextContent:function(e,t){e.textContent=t},setStyleScope:function(e,t){e.setAttribute(t,\"\")}}),er={create:function(e,t){tr(t)},update:function(e,t){e.data.ref!==t.data.ref&&(tr(e,!0),tr(t))},destroy:function(e){tr(e,!0)}};function tr(e,t){var r=e.data.ref;if(n(r)){var i=e.context,o=e.componentInstance||e.elm,a=i.$refs;t?Array.isArray(a[r])?h(a[r],o):a[r]===o&&(a[r]=void 0):e.data.refInFor?Array.isArray(a[r])?a[r].indexOf(o)<0&&a[r].push(o):a[r]=[o]:a[r]=o}}var nr=new pe(\"\",{},[]),rr=[\"create\",\"activate\",\"update\",\"remove\",\"destroy\"];function ir(e,i){return e.key===i.key&&(e.tag===i.tag&&e.isComment===i.isComment&&n(e.data)===n(i.data)&&function(e,t){if(\"input\"!==e.tag)return!0;var r,i=n(r=e.data)&&n(r=r.attrs)&&r.type,o=n(r=t.data)&&n(r=r.attrs)&&r.type;return i===o||Xn(i)&&Xn(o)}(e,i)||r(e.isAsyncPlaceholder)&&e.asyncFactory===i.asyncFactory&&t(i.asyncFactory.error))}function or(e,t,r){var i,o,a={};for(i=t;i<=r;++i)n(o=e[i].key)&&(a[o]=i);return a}var ar={create:sr,update:sr,destroy:function(e){sr(e,nr)}};function sr(e,t){(e.data.directives||t.data.directives)&&function(e,t){var n,r,i,o=e===nr,a=t===nr,s=ur(e.data.directives,e.context),c=ur(t.data.directives,t.context),u=[],l=[];for(n in c)r=s[n],i=c[n],r?(i.oldValue=r.value,i.oldArg=r.arg,fr(i,\"update\",t,e),i.def&&i.def.componentUpdated&&l.push(i)):(fr(i,\"bind\",t,e),i.def&&i.def.inserted&&u.push(i));if(u.length){var f=function(){for(var n=0;n<u.length;n++)fr(u[n],\"inserted\",t,e)};o?it(t,\"insert\",f):f()}l.length&&it(t,\"postpatch\",function(){for(var n=0;n<l.length;n++)fr(l[n],\"componentUpdated\",t,e)});if(!o)for(n in s)c[n]||fr(s[n],\"unbind\",e,e,a)}(e,t)}var cr=Object.create(null);function ur(e,t){var n,r,i=Object.create(null);if(!e)return i;for(n=0;n<e.length;n++)(r=e[n]).modifiers||(r.modifiers=cr),i[lr(r)]=r,r.def=Le(t.$options,\"directives\",r.name);return i}function lr(e){return e.rawName||e.name+\".\"+Object.keys(e.modifiers||{}).join(\".\")}function fr(e,t,n,r,i){var o=e.def&&e.def[t];if(o)try{o(n.elm,e,n,r,i)}catch(r){Re(r,n.context,\"directive \"+e.name+\" \"+t+\" hook\")}}var pr=[er,ar];function dr(e,r){var i=r.componentOptions;if(!(n(i)&&!1===i.Ctor.options.inheritAttrs||t(e.data.attrs)&&t(r.data.attrs))){var o,a,s=r.elm,c=e.data.attrs||{},u=r.data.attrs||{};for(o in n(u.__ob__)&&(u=r.data.attrs=A({},u)),u)a=u[o],c[o]!==a&&vr(s,o,a);for(o in(q||Z)&&u.value!==c.value&&vr(s,\"value\",u.value),c)t(u[o])&&(Pn(o)?s.removeAttributeNS(Fn,Rn(o)):Dn(o)||s.removeAttribute(o))}}function vr(e,t,n){e.tagName.indexOf(\"-\")>-1?hr(e,t,n):In(t)?Hn(n)?e.removeAttribute(t):(n=\"allowfullscreen\"===t&&\"EMBED\"===e.tagName?\"true\":t,e.setAttribute(t,n)):Dn(t)?e.setAttribute(t,Mn(t,n)):Pn(t)?Hn(n)?e.removeAttributeNS(Fn,Rn(t)):e.setAttributeNS(Fn,t,n):hr(e,t,n)}function hr(e,t,n){if(Hn(n))e.removeAttribute(t);else{if(q&&!W&&\"TEXTAREA\"===e.tagName&&\"placeholder\"===t&&\"\"!==n&&!e.__ieph){var r=function(t){t.stopImmediatePropagation(),e.removeEventListener(\"input\",r)};e.addEventListener(\"input\",r),e.__ieph=!0}e.setAttribute(t,n)}}var mr={create:dr,update:dr};function yr(e,r){var i=r.elm,o=r.data,a=e.data;if(!(t(o.staticClass)&&t(o.class)&&(t(a)||t(a.staticClass)&&t(a.class)))){var s=Bn(r),c=i._transitionClasses;n(c)&&(s=zn(s,Vn(c))),s!==i._prevClass&&(i.setAttribute(\"class\",s),i._prevClass=s)}}var gr,_r,br,$r,wr,Cr,xr={create:yr,update:yr},kr=/[\\w).+\\-_$\\]]/;function Ar(e){var t,n,r,i,o,a=!1,s=!1,c=!1,u=!1,l=0,f=0,p=0,d=0;for(r=0;r<e.length;r++)if(n=t,t=e.charCodeAt(r),a)39===t&&92!==n&&(a=!1);else if(s)34===t&&92!==n&&(s=!1);else if(c)96===t&&92!==n&&(c=!1);else if(u)47===t&&92!==n&&(u=!1);else if(124!==t||124===e.charCodeAt(r+1)||124===e.charCodeAt(r-1)||l||f||p){switch(t){case 34:s=!0;break;case 39:a=!0;break;case 96:c=!0;break;case 40:p++;break;case 41:p--;break;case 91:f++;break;case 93:f--;break;case 123:l++;break;case 125:l--}if(47===t){for(var v=r-1,h=void 0;v>=0&&\" \"===(h=e.charAt(v));v--);h&&kr.test(h)||(u=!0)}}else void 0===i?(d=r+1,i=e.slice(0,r).trim()):m();function m(){(o||(o=[])).push(e.slice(d,r).trim()),d=r+1}if(void 0===i?i=e.slice(0,r).trim():0!==d&&m(),o)for(r=0;r<o.length;r++)i=Or(i,o[r]);return i}function Or(e,t){var n=t.indexOf(\"(\");if(n<0)return'_f(\"'+t+'\")('+e+\")\";var r=t.slice(0,n),i=t.slice(n+1);return'_f(\"'+r+'\")('+e+(\")\"!==i?\",\"+i:i)}function Sr(e,t){console.error(\"[Vue compiler]: \"+e)}function Tr(e,t){return e?e.map(function(e){return e[t]}).filter(function(e){return e}):[]}function Er(e,t,n,r,i){(e.props||(e.props=[])).push(Rr({name:t,value:n,dynamic:i},r)),e.plain=!1}function Nr(e,t,n,r,i){(i?e.dynamicAttrs||(e.dynamicAttrs=[]):e.attrs||(e.attrs=[])).push(Rr({name:t,value:n,dynamic:i},r)),e.plain=!1}function jr(e,t,n,r){e.attrsMap[t]=n,e.attrsList.push(Rr({name:t,value:n},r))}function Dr(e,t,n,r,i,o,a,s){(e.directives||(e.directives=[])).push(Rr({name:t,rawName:n,value:r,arg:i,isDynamicArg:o,modifiers:a},s)),e.plain=!1}function Lr(e,t,n){return n?\"_p(\"+t+',\"'+e+'\")':e+t}function Mr(t,n,r,i,o,a,s,c){var u;(i=i||e).right?c?n=\"(\"+n+\")==='click'?'contextmenu':(\"+n+\")\":\"click\"===n&&(n=\"contextmenu\",delete i.right):i.middle&&(c?n=\"(\"+n+\")==='click'?'mouseup':(\"+n+\")\":\"click\"===n&&(n=\"mouseup\")),i.capture&&(delete i.capture,n=Lr(\"!\",n,c)),i.once&&(delete i.once,n=Lr(\"~\",n,c)),i.passive&&(delete i.passive,n=Lr(\"&\",n,c)),i.native?(delete i.native,u=t.nativeEvents||(t.nativeEvents={})):u=t.events||(t.events={});var l=Rr({value:r.trim(),dynamic:c},s);i!==e&&(l.modifiers=i);var f=u[n];Array.isArray(f)?o?f.unshift(l):f.push(l):u[n]=f?o?[l,f]:[f,l]:l,t.plain=!1}function Ir(e,t,n){var r=Fr(e,\":\"+t)||Fr(e,\"v-bind:\"+t);if(null!=r)return Ar(r);if(!1!==n){var i=Fr(e,t);if(null!=i)return JSON.stringify(i)}}function Fr(e,t,n){var r;if(null!=(r=e.attrsMap[t]))for(var i=e.attrsList,o=0,a=i.length;o<a;o++)if(i[o].name===t){i.splice(o,1);break}return n&&delete e.attrsMap[t],r}function Pr(e,t){for(var n=e.attrsList,r=0,i=n.length;r<i;r++){var o=n[r];if(t.test(o.name))return n.splice(r,1),o}}function Rr(e,t){return t&&(null!=t.start&&(e.start=t.start),null!=t.end&&(e.end=t.end)),e}function Hr(e,t,n){var r=n||{},i=r.number,o=\"$$v\";r.trim&&(o=\"(typeof $$v === 'string'? $$v.trim(): $$v)\"),i&&(o=\"_n(\"+o+\")\");var a=Br(t,o);e.model={value:\"(\"+t+\")\",expression:JSON.stringify(t),callback:\"function ($$v) {\"+a+\"}\"}}function Br(e,t){var n=function(e){if(e=e.trim(),gr=e.length,e.indexOf(\"[\")<0||e.lastIndexOf(\"]\")<gr-1)return($r=e.lastIndexOf(\".\"))>-1?{exp:e.slice(0,$r),key:'\"'+e.slice($r+1)+'\"'}:{exp:e,key:null};_r=e,$r=wr=Cr=0;for(;!zr();)Vr(br=Ur())?Jr(br):91===br&&Kr(br);return{exp:e.slice(0,wr),key:e.slice(wr+1,Cr)}}(e);return null===n.key?e+\"=\"+t:\"$set(\"+n.exp+\", \"+n.key+\", \"+t+\")\"}function Ur(){return _r.charCodeAt(++$r)}function zr(){return $r>=gr}function Vr(e){return 34===e||39===e}function Kr(e){var t=1;for(wr=$r;!zr();)if(Vr(e=Ur()))Jr(e);else if(91===e&&t++,93===e&&t--,0===t){Cr=$r;break}}function Jr(e){for(var t=e;!zr()&&(e=Ur())!==t;);}var qr,Wr=\"__r\",Zr=\"__c\";function Gr(e,t,n){var r=qr;return function i(){null!==t.apply(null,arguments)&&Qr(e,i,n,r)}}var Xr=Ve&&!(X&&Number(X[1])<=53);function Yr(e,t,n,r){if(Xr){var i=an,o=t;t=o._wrapper=function(e){if(e.target===e.currentTarget||e.timeStamp>=i||e.timeStamp<=0||e.target.ownerDocument!==document)return o.apply(this,arguments)}}qr.addEventListener(e,t,Q?{capture:n,passive:r}:n)}function Qr(e,t,n,r){(r||qr).removeEventListener(e,t._wrapper||t,n)}function ei(e,r){if(!t(e.data.on)||!t(r.data.on)){var i=r.data.on||{},o=e.data.on||{};qr=r.elm,function(e){if(n(e[Wr])){var t=q?\"change\":\"input\";e[t]=[].concat(e[Wr],e[t]||[]),delete e[Wr]}n(e[Zr])&&(e.change=[].concat(e[Zr],e.change||[]),delete e[Zr])}(i),rt(i,o,Yr,Qr,Gr,r.context),qr=void 0}}var ti,ni={create:ei,update:ei};function ri(e,r){if(!t(e.data.domProps)||!t(r.data.domProps)){var i,o,a=r.elm,s=e.data.domProps||{},c=r.data.domProps||{};for(i in n(c.__ob__)&&(c=r.data.domProps=A({},c)),s)i in c||(a[i]=\"\");for(i in c){if(o=c[i],\"textContent\"===i||\"innerHTML\"===i){if(r.children&&(r.children.length=0),o===s[i])continue;1===a.childNodes.length&&a.removeChild(a.childNodes[0])}if(\"value\"===i&&\"PROGRESS\"!==a.tagName){a._value=o;var u=t(o)?\"\":String(o);ii(a,u)&&(a.value=u)}else if(\"innerHTML\"===i&&qn(a.tagName)&&t(a.innerHTML)){(ti=ti||document.createElement(\"div\")).innerHTML=\"<svg>\"+o+\"</svg>\";for(var l=ti.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;l.firstChild;)a.appendChild(l.firstChild)}else if(o!==s[i])try{a[i]=o}catch(e){}}}}function ii(e,t){return!e.composing&&(\"OPTION\"===e.tagName||function(e,t){var n=!0;try{n=document.activeElement!==e}catch(e){}return n&&e.value!==t}(e,t)||function(e,t){var r=e.value,i=e._vModifiers;if(n(i)){if(i.number)return f(r)!==f(t);if(i.trim)return r.trim()!==t.trim()}return r!==t}(e,t))}var oi={create:ri,update:ri},ai=g(function(e){var t={},n=/:(.+)/;return e.split(/;(?![^(]*\\))/g).forEach(function(e){if(e){var r=e.split(n);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t});function si(e){var t=ci(e.style);return e.staticStyle?A(e.staticStyle,t):t}function ci(e){return Array.isArray(e)?O(e):\"string\"==typeof e?ai(e):e}var ui,li=/^--/,fi=/\\s*!important$/,pi=function(e,t,n){if(li.test(t))e.style.setProperty(t,n);else if(fi.test(n))e.style.setProperty(C(t),n.replace(fi,\"\"),\"important\");else{var r=vi(t);if(Array.isArray(n))for(var i=0,o=n.length;i<o;i++)e.style[r]=n[i];else e.style[r]=n}},di=[\"Webkit\",\"Moz\",\"ms\"],vi=g(function(e){if(ui=ui||document.createElement(\"div\").style,\"filter\"!==(e=b(e))&&e in ui)return e;for(var t=e.charAt(0).toUpperCase()+e.slice(1),n=0;n<di.length;n++){var r=di[n]+t;if(r in ui)return r}});function hi(e,r){var i=r.data,o=e.data;if(!(t(i.staticStyle)&&t(i.style)&&t(o.staticStyle)&&t(o.style))){var a,s,c=r.elm,u=o.staticStyle,l=o.normalizedStyle||o.style||{},f=u||l,p=ci(r.data.style)||{};r.data.normalizedStyle=n(p.__ob__)?A({},p):p;var d=function(e,t){var n,r={};if(t)for(var i=e;i.componentInstance;)(i=i.componentInstance._vnode)&&i.data&&(n=si(i.data))&&A(r,n);(n=si(e.data))&&A(r,n);for(var o=e;o=o.parent;)o.data&&(n=si(o.data))&&A(r,n);return r}(r,!0);for(s in f)t(d[s])&&pi(c,s,\"\");for(s in d)(a=d[s])!==f[s]&&pi(c,s,null==a?\"\":a)}}var mi={create:hi,update:hi},yi=/\\s+/;function gi(e,t){if(t&&(t=t.trim()))if(e.classList)t.indexOf(\" \")>-1?t.split(yi).forEach(function(t){return e.classList.add(t)}):e.classList.add(t);else{var n=\" \"+(e.getAttribute(\"class\")||\"\")+\" \";n.indexOf(\" \"+t+\" \")<0&&e.setAttribute(\"class\",(n+t).trim())}}function _i(e,t){if(t&&(t=t.trim()))if(e.classList)t.indexOf(\" \")>-1?t.split(yi).forEach(function(t){return e.classList.remove(t)}):e.classList.remove(t),e.classList.length||e.removeAttribute(\"class\");else{for(var n=\" \"+(e.getAttribute(\"class\")||\"\")+\" \",r=\" \"+t+\" \";n.indexOf(r)>=0;)n=n.replace(r,\" \");(n=n.trim())?e.setAttribute(\"class\",n):e.removeAttribute(\"class\")}}function bi(e){if(e){if(\"object\"==typeof e){var t={};return!1!==e.css&&A(t,$i(e.name||\"v\")),A(t,e),t}return\"string\"==typeof e?$i(e):void 0}}var $i=g(function(e){return{enterClass:e+\"-enter\",enterToClass:e+\"-enter-to\",enterActiveClass:e+\"-enter-active\",leaveClass:e+\"-leave\",leaveToClass:e+\"-leave-to\",leaveActiveClass:e+\"-leave-active\"}}),wi=z&&!W,Ci=\"transition\",xi=\"animation\",ki=\"transition\",Ai=\"transitionend\",Oi=\"animation\",Si=\"animationend\";wi&&(void 0===window.ontransitionend&&void 0!==window.onwebkittransitionend&&(ki=\"WebkitTransition\",Ai=\"webkitTransitionEnd\"),void 0===window.onanimationend&&void 0!==window.onwebkitanimationend&&(Oi=\"WebkitAnimation\",Si=\"webkitAnimationEnd\"));var Ti=z?window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout:function(e){return e()};function Ei(e){Ti(function(){Ti(e)})}function Ni(e,t){var n=e._transitionClasses||(e._transitionClasses=[]);n.indexOf(t)<0&&(n.push(t),gi(e,t))}function ji(e,t){e._transitionClasses&&h(e._transitionClasses,t),_i(e,t)}function Di(e,t,n){var r=Mi(e,t),i=r.type,o=r.timeout,a=r.propCount;if(!i)return n();var s=i===Ci?Ai:Si,c=0,u=function(){e.removeEventListener(s,l),n()},l=function(t){t.target===e&&++c>=a&&u()};setTimeout(function(){c<a&&u()},o+1),e.addEventListener(s,l)}var Li=/\\b(transform|all)(,|$)/;function Mi(e,t){var n,r=window.getComputedStyle(e),i=(r[ki+\"Delay\"]||\"\").split(\", \"),o=(r[ki+\"Duration\"]||\"\").split(\", \"),a=Ii(i,o),s=(r[Oi+\"Delay\"]||\"\").split(\", \"),c=(r[Oi+\"Duration\"]||\"\").split(\", \"),u=Ii(s,c),l=0,f=0;return t===Ci?a>0&&(n=Ci,l=a,f=o.length):t===xi?u>0&&(n=xi,l=u,f=c.length):f=(n=(l=Math.max(a,u))>0?a>u?Ci:xi:null)?n===Ci?o.length:c.length:0,{type:n,timeout:l,propCount:f,hasTransform:n===Ci&&Li.test(r[ki+\"Property\"])}}function Ii(e,t){for(;e.length<t.length;)e=e.concat(e);return Math.max.apply(null,t.map(function(t,n){return Fi(t)+Fi(e[n])}))}function Fi(e){return 1e3*Number(e.slice(0,-1).replace(\",\",\".\"))}function Pi(e,r){var i=e.elm;n(i._leaveCb)&&(i._leaveCb.cancelled=!0,i._leaveCb());var a=bi(e.data.transition);if(!t(a)&&!n(i._enterCb)&&1===i.nodeType){for(var s=a.css,c=a.type,u=a.enterClass,l=a.enterToClass,p=a.enterActiveClass,d=a.appearClass,v=a.appearToClass,h=a.appearActiveClass,m=a.beforeEnter,y=a.enter,g=a.afterEnter,_=a.enterCancelled,b=a.beforeAppear,$=a.appear,w=a.afterAppear,C=a.appearCancelled,x=a.duration,k=Wt,A=Wt.$vnode;A&&A.parent;)k=A.context,A=A.parent;var O=!k._isMounted||!e.isRootInsert;if(!O||$||\"\"===$){var S=O&&d?d:u,T=O&&h?h:p,E=O&&v?v:l,N=O&&b||m,j=O&&\"function\"==typeof $?$:y,L=O&&w||g,M=O&&C||_,I=f(o(x)?x.enter:x),F=!1!==s&&!W,P=Bi(j),R=i._enterCb=D(function(){F&&(ji(i,E),ji(i,T)),R.cancelled?(F&&ji(i,S),M&&M(i)):L&&L(i),i._enterCb=null});e.data.show||it(e,\"insert\",function(){var t=i.parentNode,n=t&&t._pending&&t._pending[e.key];n&&n.tag===e.tag&&n.elm._leaveCb&&n.elm._leaveCb(),j&&j(i,R)}),N&&N(i),F&&(Ni(i,S),Ni(i,T),Ei(function(){ji(i,S),R.cancelled||(Ni(i,E),P||(Hi(I)?setTimeout(R,I):Di(i,c,R)))})),e.data.show&&(r&&r(),j&&j(i,R)),F||P||R()}}}function Ri(e,r){var i=e.elm;n(i._enterCb)&&(i._enterCb.cancelled=!0,i._enterCb());var a=bi(e.data.transition);if(t(a)||1!==i.nodeType)return r();if(!n(i._leaveCb)){var s=a.css,c=a.type,u=a.leaveClass,l=a.leaveToClass,p=a.leaveActiveClass,d=a.beforeLeave,v=a.leave,h=a.afterLeave,m=a.leaveCancelled,y=a.delayLeave,g=a.duration,_=!1!==s&&!W,b=Bi(v),$=f(o(g)?g.leave:g),w=i._leaveCb=D(function(){i.parentNode&&i.parentNode._pending&&(i.parentNode._pending[e.key]=null),_&&(ji(i,l),ji(i,p)),w.cancelled?(_&&ji(i,u),m&&m(i)):(r(),h&&h(i)),i._leaveCb=null});y?y(C):C()}function C(){w.cancelled||(!e.data.show&&i.parentNode&&((i.parentNode._pending||(i.parentNode._pending={}))[e.key]=e),d&&d(i),_&&(Ni(i,u),Ni(i,p),Ei(function(){ji(i,u),w.cancelled||(Ni(i,l),b||(Hi($)?setTimeout(w,$):Di(i,c,w)))})),v&&v(i,w),_||b||w())}}function Hi(e){return\"number\"==typeof e&&!isNaN(e)}function Bi(e){if(t(e))return!1;var r=e.fns;return n(r)?Bi(Array.isArray(r)?r[0]:r):(e._length||e.length)>1}function Ui(e,t){!0!==t.data.show&&Pi(t)}var zi=function(e){var o,a,s={},c=e.modules,u=e.nodeOps;for(o=0;o<rr.length;++o)for(s[rr[o]]=[],a=0;a<c.length;++a)n(c[a][rr[o]])&&s[rr[o]].push(c[a][rr[o]]);function l(e){var t=u.parentNode(e);n(t)&&u.removeChild(t,e)}function f(e,t,i,o,a,c,l){if(n(e.elm)&&n(c)&&(e=c[l]=me(e)),e.isRootInsert=!a,!function(e,t,i,o){var a=e.data;if(n(a)){var c=n(e.componentInstance)&&a.keepAlive;if(n(a=a.hook)&&n(a=a.init)&&a(e,!1),n(e.componentInstance))return d(e,t),v(i,e.elm,o),r(c)&&function(e,t,r,i){for(var o,a=e;a.componentInstance;)if(a=a.componentInstance._vnode,n(o=a.data)&&n(o=o.transition)){for(o=0;o<s.activate.length;++o)s.activate[o](nr,a);t.push(a);break}v(r,e.elm,i)}(e,t,i,o),!0}}(e,t,i,o)){var f=e.data,p=e.children,m=e.tag;n(m)?(e.elm=e.ns?u.createElementNS(e.ns,m):u.createElement(m,e),g(e),h(e,p,t),n(f)&&y(e,t),v(i,e.elm,o)):r(e.isComment)?(e.elm=u.createComment(e.text),v(i,e.elm,o)):(e.elm=u.createTextNode(e.text),v(i,e.elm,o))}}function d(e,t){n(e.data.pendingInsert)&&(t.push.apply(t,e.data.pendingInsert),e.data.pendingInsert=null),e.elm=e.componentInstance.$el,m(e)?(y(e,t),g(e)):(tr(e),t.push(e))}function v(e,t,r){n(e)&&(n(r)?u.parentNode(r)===e&&u.insertBefore(e,t,r):u.appendChild(e,t))}function h(e,t,n){if(Array.isArray(t))for(var r=0;r<t.length;++r)f(t[r],n,e.elm,null,!0,t,r);else i(e.text)&&u.appendChild(e.elm,u.createTextNode(String(e.text)))}function m(e){for(;e.componentInstance;)e=e.componentInstance._vnode;return n(e.tag)}function y(e,t){for(var r=0;r<s.create.length;++r)s.create[r](nr,e);n(o=e.data.hook)&&(n(o.create)&&o.create(nr,e),n(o.insert)&&t.push(e))}function g(e){var t;if(n(t=e.fnScopeId))u.setStyleScope(e.elm,t);else for(var r=e;r;)n(t=r.context)&&n(t=t.$options._scopeId)&&u.setStyleScope(e.elm,t),r=r.parent;n(t=Wt)&&t!==e.context&&t!==e.fnContext&&n(t=t.$options._scopeId)&&u.setStyleScope(e.elm,t)}function _(e,t,n,r,i,o){for(;r<=i;++r)f(n[r],o,e,t,!1,n,r)}function b(e){var t,r,i=e.data;if(n(i))for(n(t=i.hook)&&n(t=t.destroy)&&t(e),t=0;t<s.destroy.length;++t)s.destroy[t](e);if(n(t=e.children))for(r=0;r<e.children.length;++r)b(e.children[r])}function $(e,t,r,i){for(;r<=i;++r){var o=t[r];n(o)&&(n(o.tag)?(w(o),b(o)):l(o.elm))}}function w(e,t){if(n(t)||n(e.data)){var r,i=s.remove.length+1;for(n(t)?t.listeners+=i:t=function(e,t){function n(){0==--n.listeners&&l(e)}return n.listeners=t,n}(e.elm,i),n(r=e.componentInstance)&&n(r=r._vnode)&&n(r.data)&&w(r,t),r=0;r<s.remove.length;++r)s.remove[r](e,t);n(r=e.data.hook)&&n(r=r.remove)?r(e,t):t()}else l(e.elm)}function C(e,t,r,i){for(var o=r;o<i;o++){var a=t[o];if(n(a)&&ir(e,a))return o}}function x(e,i,o,a,c,l){if(e!==i){n(i.elm)&&n(a)&&(i=a[c]=me(i));var p=i.elm=e.elm;if(r(e.isAsyncPlaceholder))n(i.asyncFactory.resolved)?O(e.elm,i,o):i.isAsyncPlaceholder=!0;else if(r(i.isStatic)&&r(e.isStatic)&&i.key===e.key&&(r(i.isCloned)||r(i.isOnce)))i.componentInstance=e.componentInstance;else{var d,v=i.data;n(v)&&n(d=v.hook)&&n(d=d.prepatch)&&d(e,i);var h=e.children,y=i.children;if(n(v)&&m(i)){for(d=0;d<s.update.length;++d)s.update[d](e,i);n(d=v.hook)&&n(d=d.update)&&d(e,i)}t(i.text)?n(h)&&n(y)?h!==y&&function(e,r,i,o,a){for(var s,c,l,p=0,d=0,v=r.length-1,h=r[0],m=r[v],y=i.length-1,g=i[0],b=i[y],w=!a;p<=v&&d<=y;)t(h)?h=r[++p]:t(m)?m=r[--v]:ir(h,g)?(x(h,g,o,i,d),h=r[++p],g=i[++d]):ir(m,b)?(x(m,b,o,i,y),m=r[--v],b=i[--y]):ir(h,b)?(x(h,b,o,i,y),w&&u.insertBefore(e,h.elm,u.nextSibling(m.elm)),h=r[++p],b=i[--y]):ir(m,g)?(x(m,g,o,i,d),w&&u.insertBefore(e,m.elm,h.elm),m=r[--v],g=i[++d]):(t(s)&&(s=or(r,p,v)),t(c=n(g.key)?s[g.key]:C(g,r,p,v))?f(g,o,e,h.elm,!1,i,d):ir(l=r[c],g)?(x(l,g,o,i,d),r[c]=void 0,w&&u.insertBefore(e,l.elm,h.elm)):f(g,o,e,h.elm,!1,i,d),g=i[++d]);p>v?_(e,t(i[y+1])?null:i[y+1].elm,i,d,y,o):d>y&&$(0,r,p,v)}(p,h,y,o,l):n(y)?(n(e.text)&&u.setTextContent(p,\"\"),_(p,null,y,0,y.length-1,o)):n(h)?$(0,h,0,h.length-1):n(e.text)&&u.setTextContent(p,\"\"):e.text!==i.text&&u.setTextContent(p,i.text),n(v)&&n(d=v.hook)&&n(d=d.postpatch)&&d(e,i)}}}function k(e,t,i){if(r(i)&&n(e.parent))e.parent.data.pendingInsert=t;else for(var o=0;o<t.length;++o)t[o].data.hook.insert(t[o])}var A=p(\"attrs,class,staticClass,staticStyle,key\");function O(e,t,i,o){var a,s=t.tag,c=t.data,u=t.children;if(o=o||c&&c.pre,t.elm=e,r(t.isComment)&&n(t.asyncFactory))return t.isAsyncPlaceholder=!0,!0;if(n(c)&&(n(a=c.hook)&&n(a=a.init)&&a(t,!0),n(a=t.componentInstance)))return d(t,i),!0;if(n(s)){if(n(u))if(e.hasChildNodes())if(n(a=c)&&n(a=a.domProps)&&n(a=a.innerHTML)){if(a!==e.innerHTML)return!1}else{for(var l=!0,f=e.firstChild,p=0;p<u.length;p++){if(!f||!O(f,u[p],i,o)){l=!1;break}f=f.nextSibling}if(!l||f)return!1}else h(t,u,i);if(n(c)){var v=!1;for(var m in c)if(!A(m)){v=!0,y(t,i);break}!v&&c.class&&et(c.class)}}else e.data!==t.text&&(e.data=t.text);return!0}return function(e,i,o,a){if(!t(i)){var c,l=!1,p=[];if(t(e))l=!0,f(i,p);else{var d=n(e.nodeType);if(!d&&ir(e,i))x(e,i,p,null,null,a);else{if(d){if(1===e.nodeType&&e.hasAttribute(L)&&(e.removeAttribute(L),o=!0),r(o)&&O(e,i,p))return k(i,p,!0),e;c=e,e=new pe(u.tagName(c).toLowerCase(),{},[],void 0,c)}var v=e.elm,h=u.parentNode(v);if(f(i,p,v._leaveCb?null:h,u.nextSibling(v)),n(i.parent))for(var y=i.parent,g=m(i);y;){for(var _=0;_<s.destroy.length;++_)s.destroy[_](y);if(y.elm=i.elm,g){for(var w=0;w<s.create.length;++w)s.create[w](nr,y);var C=y.data.hook.insert;if(C.merged)for(var A=1;A<C.fns.length;A++)C.fns[A]()}else tr(y);y=y.parent}n(h)?$(0,[e],0,0):n(e.tag)&&b(e)}}return k(i,p,l),i.elm}n(e)&&b(e)}}({nodeOps:Qn,modules:[mr,xr,ni,oi,mi,z?{create:Ui,activate:Ui,remove:function(e,t){!0!==e.data.show?Ri(e,t):t()}}:{}].concat(pr)});W&&document.addEventListener(\"selectionchange\",function(){var e=document.activeElement;e&&e.vmodel&&Xi(e,\"input\")});var Vi={inserted:function(e,t,n,r){\"select\"===n.tag?(r.elm&&!r.elm._vOptions?it(n,\"postpatch\",function(){Vi.componentUpdated(e,t,n)}):Ki(e,t,n.context),e._vOptions=[].map.call(e.options,Wi)):(\"textarea\"===n.tag||Xn(e.type))&&(e._vModifiers=t.modifiers,t.modifiers.lazy||(e.addEventListener(\"compositionstart\",Zi),e.addEventListener(\"compositionend\",Gi),e.addEventListener(\"change\",Gi),W&&(e.vmodel=!0)))},componentUpdated:function(e,t,n){if(\"select\"===n.tag){Ki(e,t,n.context);var r=e._vOptions,i=e._vOptions=[].map.call(e.options,Wi);if(i.some(function(e,t){return!N(e,r[t])}))(e.multiple?t.value.some(function(e){return qi(e,i)}):t.value!==t.oldValue&&qi(t.value,i))&&Xi(e,\"change\")}}};function Ki(e,t,n){Ji(e,t,n),(q||Z)&&setTimeout(function(){Ji(e,t,n)},0)}function Ji(e,t,n){var r=t.value,i=e.multiple;if(!i||Array.isArray(r)){for(var o,a,s=0,c=e.options.length;s<c;s++)if(a=e.options[s],i)o=j(r,Wi(a))>-1,a.selected!==o&&(a.selected=o);else if(N(Wi(a),r))return void(e.selectedIndex!==s&&(e.selectedIndex=s));i||(e.selectedIndex=-1)}}function qi(e,t){return t.every(function(t){return!N(t,e)})}function Wi(e){return\"_value\"in e?e._value:e.value}function Zi(e){e.target.composing=!0}function Gi(e){e.target.composing&&(e.target.composing=!1,Xi(e.target,\"input\"))}function Xi(e,t){var n=document.createEvent(\"HTMLEvents\");n.initEvent(t,!0,!0),e.dispatchEvent(n)}function Yi(e){return!e.componentInstance||e.data&&e.data.transition?e:Yi(e.componentInstance._vnode)}var Qi={model:Vi,show:{bind:function(e,t,n){var r=t.value,i=(n=Yi(n)).data&&n.data.transition,o=e.__vOriginalDisplay=\"none\"===e.style.display?\"\":e.style.display;r&&i?(n.data.show=!0,Pi(n,function(){e.style.display=o})):e.style.display=r?o:\"none\"},update:function(e,t,n){var r=t.value;!r!=!t.oldValue&&((n=Yi(n)).data&&n.data.transition?(n.data.show=!0,r?Pi(n,function(){e.style.display=e.__vOriginalDisplay}):Ri(n,function(){e.style.display=\"none\"})):e.style.display=r?e.__vOriginalDisplay:\"none\")},unbind:function(e,t,n,r,i){i||(e.style.display=e.__vOriginalDisplay)}}},eo={name:String,appear:Boolean,css:Boolean,mode:String,type:String,enterClass:String,leaveClass:String,enterToClass:String,leaveToClass:String,enterActiveClass:String,leaveActiveClass:String,appearClass:String,appearActiveClass:String,appearToClass:String,duration:[Number,String,Object]};function to(e){var t=e&&e.componentOptions;return t&&t.Ctor.options.abstract?to(zt(t.children)):e}function no(e){var t={},n=e.$options;for(var r in n.propsData)t[r]=e[r];var i=n._parentListeners;for(var o in i)t[b(o)]=i[o];return t}function ro(e,t){if(/\\d-keep-alive$/.test(t.tag))return e(\"keep-alive\",{props:t.componentOptions.propsData})}var io=function(e){return e.tag||Ut(e)},oo=function(e){return\"show\"===e.name},ao={name:\"transition\",props:eo,abstract:!0,render:function(e){var t=this,n=this.$slots.default;if(n&&(n=n.filter(io)).length){var r=this.mode,o=n[0];if(function(e){for(;e=e.parent;)if(e.data.transition)return!0}(this.$vnode))return o;var a=to(o);if(!a)return o;if(this._leaving)return ro(e,o);var s=\"__transition-\"+this._uid+\"-\";a.key=null==a.key?a.isComment?s+\"comment\":s+a.tag:i(a.key)?0===String(a.key).indexOf(s)?a.key:s+a.key:a.key;var c=(a.data||(a.data={})).transition=no(this),u=this._vnode,l=to(u);if(a.data.directives&&a.data.directives.some(oo)&&(a.data.show=!0),l&&l.data&&!function(e,t){return t.key===e.key&&t.tag===e.tag}(a,l)&&!Ut(l)&&(!l.componentInstance||!l.componentInstance._vnode.isComment)){var f=l.data.transition=A({},c);if(\"out-in\"===r)return this._leaving=!0,it(f,\"afterLeave\",function(){t._leaving=!1,t.$forceUpdate()}),ro(e,o);if(\"in-out\"===r){if(Ut(a))return u;var p,d=function(){p()};it(c,\"afterEnter\",d),it(c,\"enterCancelled\",d),it(f,\"delayLeave\",function(e){p=e})}}return o}}},so=A({tag:String,moveClass:String},eo);function co(e){e.elm._moveCb&&e.elm._moveCb(),e.elm._enterCb&&e.elm._enterCb()}function uo(e){e.data.newPos=e.elm.getBoundingClientRect()}function lo(e){var t=e.data.pos,n=e.data.newPos,r=t.left-n.left,i=t.top-n.top;if(r||i){e.data.moved=!0;var o=e.elm.style;o.transform=o.WebkitTransform=\"translate(\"+r+\"px,\"+i+\"px)\",o.transitionDuration=\"0s\"}}delete so.mode;var fo={Transition:ao,TransitionGroup:{props:so,beforeMount:function(){var e=this,t=this._update;this._update=function(n,r){var i=Zt(e);e.__patch__(e._vnode,e.kept,!1,!0),e._vnode=e.kept,i(),t.call(e,n,r)}},render:function(e){for(var t=this.tag||this.$vnode.data.tag||\"span\",n=Object.create(null),r=this.prevChildren=this.children,i=this.$slots.default||[],o=this.children=[],a=no(this),s=0;s<i.length;s++){var c=i[s];c.tag&&null!=c.key&&0!==String(c.key).indexOf(\"__vlist\")&&(o.push(c),n[c.key]=c,(c.data||(c.data={})).transition=a)}if(r){for(var u=[],l=[],f=0;f<r.length;f++){var p=r[f];p.data.transition=a,p.data.pos=p.elm.getBoundingClientRect(),n[p.key]?u.push(p):l.push(p)}this.kept=e(t,null,u),this.removed=l}return e(t,null,o)},updated:function(){var e=this.prevChildren,t=this.moveClass||(this.name||\"v\")+\"-move\";e.length&&this.hasMove(e[0].elm,t)&&(e.forEach(co),e.forEach(uo),e.forEach(lo),this._reflow=document.body.offsetHeight,e.forEach(function(e){if(e.data.moved){var n=e.elm,r=n.style;Ni(n,t),r.transform=r.WebkitTransform=r.transitionDuration=\"\",n.addEventListener(Ai,n._moveCb=function e(r){r&&r.target!==n||r&&!/transform$/.test(r.propertyName)||(n.removeEventListener(Ai,e),n._moveCb=null,ji(n,t))})}}))},methods:{hasMove:function(e,t){if(!wi)return!1;if(this._hasMove)return this._hasMove;var n=e.cloneNode();e._transitionClasses&&e._transitionClasses.forEach(function(e){_i(n,e)}),gi(n,t),n.style.display=\"none\",this.$el.appendChild(n);var r=Mi(n);return this.$el.removeChild(n),this._hasMove=r.hasTransform}}}};wn.config.mustUseProp=jn,wn.config.isReservedTag=Wn,wn.config.isReservedAttr=En,wn.config.getTagNamespace=Zn,wn.config.isUnknownElement=function(e){if(!z)return!0;if(Wn(e))return!1;if(e=e.toLowerCase(),null!=Gn[e])return Gn[e];var t=document.createElement(e);return e.indexOf(\"-\")>-1?Gn[e]=t.constructor===window.HTMLUnknownElement||t.constructor===window.HTMLElement:Gn[e]=/HTMLUnknownElement/.test(t.toString())},A(wn.options.directives,Qi),A(wn.options.components,fo),wn.prototype.__patch__=z?zi:S,wn.prototype.$mount=function(e,t){return function(e,t,n){var r;return e.$el=t,e.$options.render||(e.$options.render=ve),Yt(e,\"beforeMount\"),r=function(){e._update(e._render(),n)},new fn(e,r,S,{before:function(){e._isMounted&&!e._isDestroyed&&Yt(e,\"beforeUpdate\")}},!0),n=!1,null==e.$vnode&&(e._isMounted=!0,Yt(e,\"mounted\")),e}(this,e=e&&z?Yn(e):void 0,t)},z&&setTimeout(function(){F.devtools&&ne&&ne.emit(\"init\",wn)},0);var po=/\\{\\{((?:.|\\r?\\n)+?)\\}\\}/g,vo=/[-.*+?^${}()|[\\]\\/\\\\]/g,ho=g(function(e){var t=e[0].replace(vo,\"\\\\$&\"),n=e[1].replace(vo,\"\\\\$&\");return new RegExp(t+\"((?:.|\\\\n)+?)\"+n,\"g\")});var mo={staticKeys:[\"staticClass\"],transformNode:function(e,t){t.warn;var n=Fr(e,\"class\");n&&(e.staticClass=JSON.stringify(n));var r=Ir(e,\"class\",!1);r&&(e.classBinding=r)},genData:function(e){var t=\"\";return e.staticClass&&(t+=\"staticClass:\"+e.staticClass+\",\"),e.classBinding&&(t+=\"class:\"+e.classBinding+\",\"),t}};var yo,go={staticKeys:[\"staticStyle\"],transformNode:function(e,t){t.warn;var n=Fr(e,\"style\");n&&(e.staticStyle=JSON.stringify(ai(n)));var r=Ir(e,\"style\",!1);r&&(e.styleBinding=r)},genData:function(e){var t=\"\";return e.staticStyle&&(t+=\"staticStyle:\"+e.staticStyle+\",\"),e.styleBinding&&(t+=\"style:(\"+e.styleBinding+\"),\"),t}},_o=function(e){return(yo=yo||document.createElement(\"div\")).innerHTML=e,yo.textContent},bo=p(\"area,base,br,col,embed,frame,hr,img,input,isindex,keygen,link,meta,param,source,track,wbr\"),$o=p(\"colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source\"),wo=p(\"address,article,aside,base,blockquote,body,caption,col,colgroup,dd,details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,title,tr,track\"),Co=/^\\s*([^\\s\"'<>\\/=]+)(?:\\s*(=)\\s*(?:\"([^\"]*)\"+|'([^']*)'+|([^\\s\"'=<>`]+)))?/,xo=/^\\s*((?:v-[\\w-]+:|@|:|#)\\[[^=]+\\][^\\s\"'<>\\/=]*)(?:\\s*(=)\\s*(?:\"([^\"]*)\"+|'([^']*)'+|([^\\s\"'=<>`]+)))?/,ko=\"[a-zA-Z_][\\\\-\\\\.0-9_a-zA-Z\"+P.source+\"]*\",Ao=\"((?:\"+ko+\"\\\\:)?\"+ko+\")\",Oo=new RegExp(\"^<\"+Ao),So=/^\\s*(\\/?)>/,To=new RegExp(\"^<\\\\/\"+Ao+\"[^>]*>\"),Eo=/^<!DOCTYPE [^>]+>/i,No=/^<!\\--/,jo=/^<!\\[/,Do=p(\"script,style,textarea\",!0),Lo={},Mo={\"&lt;\":\"<\",\"&gt;\":\">\",\"&quot;\":'\"',\"&amp;\":\"&\",\"&#10;\":\"\\n\",\"&#9;\":\"\\t\",\"&#39;\":\"'\"},Io=/&(?:lt|gt|quot|amp|#39);/g,Fo=/&(?:lt|gt|quot|amp|#39|#10|#9);/g,Po=p(\"pre,textarea\",!0),Ro=function(e,t){return e&&Po(e)&&\"\\n\"===t[0]};function Ho(e,t){var n=t?Fo:Io;return e.replace(n,function(e){return Mo[e]})}var Bo,Uo,zo,Vo,Ko,Jo,qo,Wo,Zo=/^@|^v-on:/,Go=/^v-|^@|^:/,Xo=/([\\s\\S]*?)\\s+(?:in|of)\\s+([\\s\\S]*)/,Yo=/,([^,\\}\\]]*)(?:,([^,\\}\\]]*))?$/,Qo=/^\\(|\\)$/g,ea=/^\\[.*\\]$/,ta=/:(.*)$/,na=/^:|^\\.|^v-bind:/,ra=/\\.[^.\\]]+(?=[^\\]]*$)/g,ia=/^v-slot(:|$)|^#/,oa=/[\\r\\n]/,aa=/\\s+/g,sa=g(_o),ca=\"_empty_\";function ua(e,t,n){return{type:1,tag:e,attrsList:t,attrsMap:ma(t),rawAttrsMap:{},parent:n,children:[]}}function la(e,t){Bo=t.warn||Sr,Jo=t.isPreTag||T,qo=t.mustUseProp||T,Wo=t.getTagNamespace||T;t.isReservedTag;zo=Tr(t.modules,\"transformNode\"),Vo=Tr(t.modules,\"preTransformNode\"),Ko=Tr(t.modules,\"postTransformNode\"),Uo=t.delimiters;var n,r,i=[],o=!1!==t.preserveWhitespace,a=t.whitespace,s=!1,c=!1;function u(e){if(l(e),s||e.processed||(e=fa(e,t)),i.length||e===n||n.if&&(e.elseif||e.else)&&da(n,{exp:e.elseif,block:e}),r&&!e.forbidden)if(e.elseif||e.else)a=e,(u=function(e){var t=e.length;for(;t--;){if(1===e[t].type)return e[t];e.pop()}}(r.children))&&u.if&&da(u,{exp:a.elseif,block:a});else{if(e.slotScope){var o=e.slotTarget||'\"default\"';(r.scopedSlots||(r.scopedSlots={}))[o]=e}r.children.push(e),e.parent=r}var a,u;e.children=e.children.filter(function(e){return!e.slotScope}),l(e),e.pre&&(s=!1),Jo(e.tag)&&(c=!1);for(var f=0;f<Ko.length;f++)Ko[f](e,t)}function l(e){if(!c)for(var t;(t=e.children[e.children.length-1])&&3===t.type&&\" \"===t.text;)e.children.pop()}return function(e,t){for(var n,r,i=[],o=t.expectHTML,a=t.isUnaryTag||T,s=t.canBeLeftOpenTag||T,c=0;e;){if(n=e,r&&Do(r)){var u=0,l=r.toLowerCase(),f=Lo[l]||(Lo[l]=new RegExp(\"([\\\\s\\\\S]*?)(</\"+l+\"[^>]*>)\",\"i\")),p=e.replace(f,function(e,n,r){return u=r.length,Do(l)||\"noscript\"===l||(n=n.replace(/<!\\--([\\s\\S]*?)-->/g,\"$1\").replace(/<!\\[CDATA\\[([\\s\\S]*?)]]>/g,\"$1\")),Ro(l,n)&&(n=n.slice(1)),t.chars&&t.chars(n),\"\"});c+=e.length-p.length,e=p,A(l,c-u,c)}else{var d=e.indexOf(\"<\");if(0===d){if(No.test(e)){var v=e.indexOf(\"--\\x3e\");if(v>=0){t.shouldKeepComment&&t.comment(e.substring(4,v),c,c+v+3),C(v+3);continue}}if(jo.test(e)){var h=e.indexOf(\"]>\");if(h>=0){C(h+2);continue}}var m=e.match(Eo);if(m){C(m[0].length);continue}var y=e.match(To);if(y){var g=c;C(y[0].length),A(y[1],g,c);continue}var _=x();if(_){k(_),Ro(_.tagName,e)&&C(1);continue}}var b=void 0,$=void 0,w=void 0;if(d>=0){for($=e.slice(d);!(To.test($)||Oo.test($)||No.test($)||jo.test($)||(w=$.indexOf(\"<\",1))<0);)d+=w,$=e.slice(d);b=e.substring(0,d)}d<0&&(b=e),b&&C(b.length),t.chars&&b&&t.chars(b,c-b.length,c)}if(e===n){t.chars&&t.chars(e);break}}function C(t){c+=t,e=e.substring(t)}function x(){var t=e.match(Oo);if(t){var n,r,i={tagName:t[1],attrs:[],start:c};for(C(t[0].length);!(n=e.match(So))&&(r=e.match(xo)||e.match(Co));)r.start=c,C(r[0].length),r.end=c,i.attrs.push(r);if(n)return i.unarySlash=n[1],C(n[0].length),i.end=c,i}}function k(e){var n=e.tagName,c=e.unarySlash;o&&(\"p\"===r&&wo(n)&&A(r),s(n)&&r===n&&A(n));for(var u=a(n)||!!c,l=e.attrs.length,f=new Array(l),p=0;p<l;p++){var d=e.attrs[p],v=d[3]||d[4]||d[5]||\"\",h=\"a\"===n&&\"href\"===d[1]?t.shouldDecodeNewlinesForHref:t.shouldDecodeNewlines;f[p]={name:d[1],value:Ho(v,h)}}u||(i.push({tag:n,lowerCasedTag:n.toLowerCase(),attrs:f,start:e.start,end:e.end}),r=n),t.start&&t.start(n,f,u,e.start,e.end)}function A(e,n,o){var a,s;if(null==n&&(n=c),null==o&&(o=c),e)for(s=e.toLowerCase(),a=i.length-1;a>=0&&i[a].lowerCasedTag!==s;a--);else a=0;if(a>=0){for(var u=i.length-1;u>=a;u--)t.end&&t.end(i[u].tag,n,o);i.length=a,r=a&&i[a-1].tag}else\"br\"===s?t.start&&t.start(e,[],!0,n,o):\"p\"===s&&(t.start&&t.start(e,[],!1,n,o),t.end&&t.end(e,n,o))}A()}(e,{warn:Bo,expectHTML:t.expectHTML,isUnaryTag:t.isUnaryTag,canBeLeftOpenTag:t.canBeLeftOpenTag,shouldDecodeNewlines:t.shouldDecodeNewlines,shouldDecodeNewlinesForHref:t.shouldDecodeNewlinesForHref,shouldKeepComment:t.comments,outputSourceRange:t.outputSourceRange,start:function(e,o,a,l,f){var p=r&&r.ns||Wo(e);q&&\"svg\"===p&&(o=function(e){for(var t=[],n=0;n<e.length;n++){var r=e[n];ya.test(r.name)||(r.name=r.name.replace(ga,\"\"),t.push(r))}return t}(o));var d,v=ua(e,o,r);p&&(v.ns=p),\"style\"!==(d=v).tag&&(\"script\"!==d.tag||d.attrsMap.type&&\"text/javascript\"!==d.attrsMap.type)||te()||(v.forbidden=!0);for(var h=0;h<Vo.length;h++)v=Vo[h](v,t)||v;s||(!function(e){null!=Fr(e,\"v-pre\")&&(e.pre=!0)}(v),v.pre&&(s=!0)),Jo(v.tag)&&(c=!0),s?function(e){var t=e.attrsList,n=t.length;if(n)for(var r=e.attrs=new Array(n),i=0;i<n;i++)r[i]={name:t[i].name,value:JSON.stringify(t[i].value)},null!=t[i].start&&(r[i].start=t[i].start,r[i].end=t[i].end);else e.pre||(e.plain=!0)}(v):v.processed||(pa(v),function(e){var t=Fr(e,\"v-if\");if(t)e.if=t,da(e,{exp:t,block:e});else{null!=Fr(e,\"v-else\")&&(e.else=!0);var n=Fr(e,\"v-else-if\");n&&(e.elseif=n)}}(v),function(e){null!=Fr(e,\"v-once\")&&(e.once=!0)}(v)),n||(n=v),a?u(v):(r=v,i.push(v))},end:function(e,t,n){var o=i[i.length-1];i.length-=1,r=i[i.length-1],u(o)},chars:function(e,t,n){if(r&&(!q||\"textarea\"!==r.tag||r.attrsMap.placeholder!==e)){var i,u,l,f=r.children;if(e=c||e.trim()?\"script\"===(i=r).tag||\"style\"===i.tag?e:sa(e):f.length?a?\"condense\"===a&&oa.test(e)?\"\":\" \":o?\" \":\"\":\"\")c||\"condense\"!==a||(e=e.replace(aa,\" \")),!s&&\" \"!==e&&(u=function(e,t){var n=t?ho(t):po;if(n.test(e)){for(var r,i,o,a=[],s=[],c=n.lastIndex=0;r=n.exec(e);){(i=r.index)>c&&(s.push(o=e.slice(c,i)),a.push(JSON.stringify(o)));var u=Ar(r[1].trim());a.push(\"_s(\"+u+\")\"),s.push({\"@binding\":u}),c=i+r[0].length}return c<e.length&&(s.push(o=e.slice(c)),a.push(JSON.stringify(o))),{expression:a.join(\"+\"),tokens:s}}}(e,Uo))?l={type:2,expression:u.expression,tokens:u.tokens,text:e}:\" \"===e&&f.length&&\" \"===f[f.length-1].text||(l={type:3,text:e}),l&&f.push(l)}},comment:function(e,t,n){if(r){var i={type:3,text:e,isComment:!0};r.children.push(i)}}}),n}function fa(e,t){var n,r;(r=Ir(n=e,\"key\"))&&(n.key=r),e.plain=!e.key&&!e.scopedSlots&&!e.attrsList.length,function(e){var t=Ir(e,\"ref\");t&&(e.ref=t,e.refInFor=function(e){var t=e;for(;t;){if(void 0!==t.for)return!0;t=t.parent}return!1}(e))}(e),function(e){var t;\"template\"===e.tag?(t=Fr(e,\"scope\"),e.slotScope=t||Fr(e,\"slot-scope\")):(t=Fr(e,\"slot-scope\"))&&(e.slotScope=t);var n=Ir(e,\"slot\");n&&(e.slotTarget='\"\"'===n?'\"default\"':n,e.slotTargetDynamic=!(!e.attrsMap[\":slot\"]&&!e.attrsMap[\"v-bind:slot\"]),\"template\"===e.tag||e.slotScope||Nr(e,\"slot\",n,function(e,t){return e.rawAttrsMap[\":\"+t]||e.rawAttrsMap[\"v-bind:\"+t]||e.rawAttrsMap[t]}(e,\"slot\")));if(\"template\"===e.tag){var r=Pr(e,ia);if(r){var i=va(r),o=i.name,a=i.dynamic;e.slotTarget=o,e.slotTargetDynamic=a,e.slotScope=r.value||ca}}else{var s=Pr(e,ia);if(s){var c=e.scopedSlots||(e.scopedSlots={}),u=va(s),l=u.name,f=u.dynamic,p=c[l]=ua(\"template\",[],e);p.slotTarget=l,p.slotTargetDynamic=f,p.children=e.children.filter(function(e){if(!e.slotScope)return e.parent=p,!0}),p.slotScope=s.value||ca,e.children=[],e.plain=!1}}}(e),function(e){\"slot\"===e.tag&&(e.slotName=Ir(e,\"name\"))}(e),function(e){var t;(t=Ir(e,\"is\"))&&(e.component=t);null!=Fr(e,\"inline-template\")&&(e.inlineTemplate=!0)}(e);for(var i=0;i<zo.length;i++)e=zo[i](e,t)||e;return function(e){var t,n,r,i,o,a,s,c,u=e.attrsList;for(t=0,n=u.length;t<n;t++)if(r=i=u[t].name,o=u[t].value,Go.test(r))if(e.hasBindings=!0,(a=ha(r.replace(Go,\"\")))&&(r=r.replace(ra,\"\")),na.test(r))r=r.replace(na,\"\"),o=Ar(o),(c=ea.test(r))&&(r=r.slice(1,-1)),a&&(a.prop&&!c&&\"innerHtml\"===(r=b(r))&&(r=\"innerHTML\"),a.camel&&!c&&(r=b(r)),a.sync&&(s=Br(o,\"$event\"),c?Mr(e,'\"update:\"+('+r+\")\",s,null,!1,0,u[t],!0):(Mr(e,\"update:\"+b(r),s,null,!1,0,u[t]),C(r)!==b(r)&&Mr(e,\"update:\"+C(r),s,null,!1,0,u[t])))),a&&a.prop||!e.component&&qo(e.tag,e.attrsMap.type,r)?Er(e,r,o,u[t],c):Nr(e,r,o,u[t],c);else if(Zo.test(r))r=r.replace(Zo,\"\"),(c=ea.test(r))&&(r=r.slice(1,-1)),Mr(e,r,o,a,!1,0,u[t],c);else{var l=(r=r.replace(Go,\"\")).match(ta),f=l&&l[1];c=!1,f&&(r=r.slice(0,-(f.length+1)),ea.test(f)&&(f=f.slice(1,-1),c=!0)),Dr(e,r,i,o,f,c,a,u[t])}else Nr(e,r,JSON.stringify(o),u[t]),!e.component&&\"muted\"===r&&qo(e.tag,e.attrsMap.type,r)&&Er(e,r,\"true\",u[t])}(e),e}function pa(e){var t;if(t=Fr(e,\"v-for\")){var n=function(e){var t=e.match(Xo);if(!t)return;var n={};n.for=t[2].trim();var r=t[1].trim().replace(Qo,\"\"),i=r.match(Yo);i?(n.alias=r.replace(Yo,\"\").trim(),n.iterator1=i[1].trim(),i[2]&&(n.iterator2=i[2].trim())):n.alias=r;return n}(t);n&&A(e,n)}}function da(e,t){e.ifConditions||(e.ifConditions=[]),e.ifConditions.push(t)}function va(e){var t=e.name.replace(ia,\"\");return t||\"#\"!==e.name[0]&&(t=\"default\"),ea.test(t)?{name:t.slice(1,-1),dynamic:!0}:{name:'\"'+t+'\"',dynamic:!1}}function ha(e){var t=e.match(ra);if(t){var n={};return t.forEach(function(e){n[e.slice(1)]=!0}),n}}function ma(e){for(var t={},n=0,r=e.length;n<r;n++)t[e[n].name]=e[n].value;return t}var ya=/^xmlns:NS\\d+/,ga=/^NS\\d+:/;function _a(e){return ua(e.tag,e.attrsList.slice(),e.parent)}var ba=[mo,go,{preTransformNode:function(e,t){if(\"input\"===e.tag){var n,r=e.attrsMap;if(!r[\"v-model\"])return;if((r[\":type\"]||r[\"v-bind:type\"])&&(n=Ir(e,\"type\")),r.type||n||!r[\"v-bind\"]||(n=\"(\"+r[\"v-bind\"]+\").type\"),n){var i=Fr(e,\"v-if\",!0),o=i?\"&&(\"+i+\")\":\"\",a=null!=Fr(e,\"v-else\",!0),s=Fr(e,\"v-else-if\",!0),c=_a(e);pa(c),jr(c,\"type\",\"checkbox\"),fa(c,t),c.processed=!0,c.if=\"(\"+n+\")==='checkbox'\"+o,da(c,{exp:c.if,block:c});var u=_a(e);Fr(u,\"v-for\",!0),jr(u,\"type\",\"radio\"),fa(u,t),da(c,{exp:\"(\"+n+\")==='radio'\"+o,block:u});var l=_a(e);return Fr(l,\"v-for\",!0),jr(l,\":type\",n),fa(l,t),da(c,{exp:i,block:l}),a?c.else=!0:s&&(c.elseif=s),c}}}}];var $a,wa,Ca={expectHTML:!0,modules:ba,directives:{model:function(e,t,n){var r=t.value,i=t.modifiers,o=e.tag,a=e.attrsMap.type;if(e.component)return Hr(e,r,i),!1;if(\"select\"===o)!function(e,t,n){var r='var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return '+(n&&n.number?\"_n(val)\":\"val\")+\"});\";r=r+\" \"+Br(t,\"$event.target.multiple ? $$selectedVal : $$selectedVal[0]\"),Mr(e,\"change\",r,null,!0)}(e,r,i);else if(\"input\"===o&&\"checkbox\"===a)!function(e,t,n){var r=n&&n.number,i=Ir(e,\"value\")||\"null\",o=Ir(e,\"true-value\")||\"true\",a=Ir(e,\"false-value\")||\"false\";Er(e,\"checked\",\"Array.isArray(\"+t+\")?_i(\"+t+\",\"+i+\")>-1\"+(\"true\"===o?\":(\"+t+\")\":\":_q(\"+t+\",\"+o+\")\")),Mr(e,\"change\",\"var $$a=\"+t+\",$$el=$event.target,$$c=$$el.checked?(\"+o+\"):(\"+a+\");if(Array.isArray($$a)){var $$v=\"+(r?\"_n(\"+i+\")\":i)+\",$$i=_i($$a,$$v);if($$el.checked){$$i<0&&(\"+Br(t,\"$$a.concat([$$v])\")+\")}else{$$i>-1&&(\"+Br(t,\"$$a.slice(0,$$i).concat($$a.slice($$i+1))\")+\")}}else{\"+Br(t,\"$$c\")+\"}\",null,!0)}(e,r,i);else if(\"input\"===o&&\"radio\"===a)!function(e,t,n){var r=n&&n.number,i=Ir(e,\"value\")||\"null\";Er(e,\"checked\",\"_q(\"+t+\",\"+(i=r?\"_n(\"+i+\")\":i)+\")\"),Mr(e,\"change\",Br(t,i),null,!0)}(e,r,i);else if(\"input\"===o||\"textarea\"===o)!function(e,t,n){var r=e.attrsMap.type,i=n||{},o=i.lazy,a=i.number,s=i.trim,c=!o&&\"range\"!==r,u=o?\"change\":\"range\"===r?Wr:\"input\",l=\"$event.target.value\";s&&(l=\"$event.target.value.trim()\"),a&&(l=\"_n(\"+l+\")\");var f=Br(t,l);c&&(f=\"if($event.target.composing)return;\"+f),Er(e,\"value\",\"(\"+t+\")\"),Mr(e,u,f,null,!0),(s||a)&&Mr(e,\"blur\",\"$forceUpdate()\")}(e,r,i);else if(!F.isReservedTag(o))return Hr(e,r,i),!1;return!0},text:function(e,t){t.value&&Er(e,\"textContent\",\"_s(\"+t.value+\")\",t)},html:function(e,t){t.value&&Er(e,\"innerHTML\",\"_s(\"+t.value+\")\",t)}},isPreTag:function(e){return\"pre\"===e},isUnaryTag:bo,mustUseProp:jn,canBeLeftOpenTag:$o,isReservedTag:Wn,getTagNamespace:Zn,staticKeys:function(e){return e.reduce(function(e,t){return e.concat(t.staticKeys||[])},[]).join(\",\")}(ba)},xa=g(function(e){return p(\"type,tag,attrsList,attrsMap,plain,parent,children,attrs,start,end,rawAttrsMap\"+(e?\",\"+e:\"\"))});function ka(e,t){e&&($a=xa(t.staticKeys||\"\"),wa=t.isReservedTag||T,function e(t){t.static=function(e){if(2===e.type)return!1;if(3===e.type)return!0;return!(!e.pre&&(e.hasBindings||e.if||e.for||d(e.tag)||!wa(e.tag)||function(e){for(;e.parent;){if(\"template\"!==(e=e.parent).tag)return!1;if(e.for)return!0}return!1}(e)||!Object.keys(e).every($a)))}(t);if(1===t.type){if(!wa(t.tag)&&\"slot\"!==t.tag&&null==t.attrsMap[\"inline-template\"])return;for(var n=0,r=t.children.length;n<r;n++){var i=t.children[n];e(i),i.static||(t.static=!1)}if(t.ifConditions)for(var o=1,a=t.ifConditions.length;o<a;o++){var s=t.ifConditions[o].block;e(s),s.static||(t.static=!1)}}}(e),function e(t,n){if(1===t.type){if((t.static||t.once)&&(t.staticInFor=n),t.static&&t.children.length&&(1!==t.children.length||3!==t.children[0].type))return void(t.staticRoot=!0);if(t.staticRoot=!1,t.children)for(var r=0,i=t.children.length;r<i;r++)e(t.children[r],n||!!t.for);if(t.ifConditions)for(var o=1,a=t.ifConditions.length;o<a;o++)e(t.ifConditions[o].block,n)}}(e,!1))}var Aa=/^([\\w$_]+|\\([^)]*?\\))\\s*=>|^function\\s*(?:[\\w$]+)?\\s*\\(/,Oa=/\\([^)]*?\\);*$/,Sa=/^[A-Za-z_$][\\w$]*(?:\\.[A-Za-z_$][\\w$]*|\\['[^']*?']|\\[\"[^\"]*?\"]|\\[\\d+]|\\[[A-Za-z_$][\\w$]*])*$/,Ta={esc:27,tab:9,enter:13,space:32,up:38,left:37,right:39,down:40,delete:[8,46]},Ea={esc:[\"Esc\",\"Escape\"],tab:\"Tab\",enter:\"Enter\",space:[\" \",\"Spacebar\"],up:[\"Up\",\"ArrowUp\"],left:[\"Left\",\"ArrowLeft\"],right:[\"Right\",\"ArrowRight\"],down:[\"Down\",\"ArrowDown\"],delete:[\"Backspace\",\"Delete\",\"Del\"]},Na=function(e){return\"if(\"+e+\")return null;\"},ja={stop:\"$event.stopPropagation();\",prevent:\"$event.preventDefault();\",self:Na(\"$event.target !== $event.currentTarget\"),ctrl:Na(\"!$event.ctrlKey\"),shift:Na(\"!$event.shiftKey\"),alt:Na(\"!$event.altKey\"),meta:Na(\"!$event.metaKey\"),left:Na(\"'button' in $event && $event.button !== 0\"),middle:Na(\"'button' in $event && $event.button !== 1\"),right:Na(\"'button' in $event && $event.button !== 2\")};function Da(e,t){var n=t?\"nativeOn:\":\"on:\",r=\"\",i=\"\";for(var o in e){var a=La(e[o]);e[o]&&e[o].dynamic?i+=o+\",\"+a+\",\":r+='\"'+o+'\":'+a+\",\"}return r=\"{\"+r.slice(0,-1)+\"}\",i?n+\"_d(\"+r+\",[\"+i.slice(0,-1)+\"])\":n+r}function La(e){if(!e)return\"function(){}\";if(Array.isArray(e))return\"[\"+e.map(function(e){return La(e)}).join(\",\")+\"]\";var t=Sa.test(e.value),n=Aa.test(e.value),r=Sa.test(e.value.replace(Oa,\"\"));if(e.modifiers){var i=\"\",o=\"\",a=[];for(var s in e.modifiers)if(ja[s])o+=ja[s],Ta[s]&&a.push(s);else if(\"exact\"===s){var c=e.modifiers;o+=Na([\"ctrl\",\"shift\",\"alt\",\"meta\"].filter(function(e){return!c[e]}).map(function(e){return\"$event.\"+e+\"Key\"}).join(\"||\"))}else a.push(s);return a.length&&(i+=function(e){return\"if(!$event.type.indexOf('key')&&\"+e.map(Ma).join(\"&&\")+\")return null;\"}(a)),o&&(i+=o),\"function($event){\"+i+(t?\"return \"+e.value+\"($event)\":n?\"return (\"+e.value+\")($event)\":r?\"return \"+e.value:e.value)+\"}\"}return t||n?e.value:\"function($event){\"+(r?\"return \"+e.value:e.value)+\"}\"}function Ma(e){var t=parseInt(e,10);if(t)return\"$event.keyCode!==\"+t;var n=Ta[e],r=Ea[e];return\"_k($event.keyCode,\"+JSON.stringify(e)+\",\"+JSON.stringify(n)+\",$event.key,\"+JSON.stringify(r)+\")\"}var Ia={on:function(e,t){e.wrapListeners=function(e){return\"_g(\"+e+\",\"+t.value+\")\"}},bind:function(e,t){e.wrapData=function(n){return\"_b(\"+n+\",'\"+e.tag+\"',\"+t.value+\",\"+(t.modifiers&&t.modifiers.prop?\"true\":\"false\")+(t.modifiers&&t.modifiers.sync?\",true\":\"\")+\")\"}},cloak:S},Fa=function(e){this.options=e,this.warn=e.warn||Sr,this.transforms=Tr(e.modules,\"transformCode\"),this.dataGenFns=Tr(e.modules,\"genData\"),this.directives=A(A({},Ia),e.directives);var t=e.isReservedTag||T;this.maybeComponent=function(e){return!!e.component||!t(e.tag)},this.onceId=0,this.staticRenderFns=[],this.pre=!1};function Pa(e,t){var n=new Fa(t);return{render:\"with(this){return \"+(e?Ra(e,n):'_c(\"div\")')+\"}\",staticRenderFns:n.staticRenderFns}}function Ra(e,t){if(e.parent&&(e.pre=e.pre||e.parent.pre),e.staticRoot&&!e.staticProcessed)return Ha(e,t);if(e.once&&!e.onceProcessed)return Ba(e,t);if(e.for&&!e.forProcessed)return za(e,t);if(e.if&&!e.ifProcessed)return Ua(e,t);if(\"template\"!==e.tag||e.slotTarget||t.pre){if(\"slot\"===e.tag)return function(e,t){var n=e.slotName||'\"default\"',r=qa(e,t),i=\"_t(\"+n+(r?\",\"+r:\"\"),o=e.attrs||e.dynamicAttrs?Ga((e.attrs||[]).concat(e.dynamicAttrs||[]).map(function(e){return{name:b(e.name),value:e.value,dynamic:e.dynamic}})):null,a=e.attrsMap[\"v-bind\"];!o&&!a||r||(i+=\",null\");o&&(i+=\",\"+o);a&&(i+=(o?\"\":\",null\")+\",\"+a);return i+\")\"}(e,t);var n;if(e.component)n=function(e,t,n){var r=t.inlineTemplate?null:qa(t,n,!0);return\"_c(\"+e+\",\"+Va(t,n)+(r?\",\"+r:\"\")+\")\"}(e.component,e,t);else{var r;(!e.plain||e.pre&&t.maybeComponent(e))&&(r=Va(e,t));var i=e.inlineTemplate?null:qa(e,t,!0);n=\"_c('\"+e.tag+\"'\"+(r?\",\"+r:\"\")+(i?\",\"+i:\"\")+\")\"}for(var o=0;o<t.transforms.length;o++)n=t.transforms[o](e,n);return n}return qa(e,t)||\"void 0\"}function Ha(e,t){e.staticProcessed=!0;var n=t.pre;return e.pre&&(t.pre=e.pre),t.staticRenderFns.push(\"with(this){return \"+Ra(e,t)+\"}\"),t.pre=n,\"_m(\"+(t.staticRenderFns.length-1)+(e.staticInFor?\",true\":\"\")+\")\"}function Ba(e,t){if(e.onceProcessed=!0,e.if&&!e.ifProcessed)return Ua(e,t);if(e.staticInFor){for(var n=\"\",r=e.parent;r;){if(r.for){n=r.key;break}r=r.parent}return n?\"_o(\"+Ra(e,t)+\",\"+t.onceId+++\",\"+n+\")\":Ra(e,t)}return Ha(e,t)}function Ua(e,t,n,r){return e.ifProcessed=!0,function e(t,n,r,i){if(!t.length)return i||\"_e()\";var o=t.shift();return o.exp?\"(\"+o.exp+\")?\"+a(o.block)+\":\"+e(t,n,r,i):\"\"+a(o.block);function a(e){return r?r(e,n):e.once?Ba(e,n):Ra(e,n)}}(e.ifConditions.slice(),t,n,r)}function za(e,t,n,r){var i=e.for,o=e.alias,a=e.iterator1?\",\"+e.iterator1:\"\",s=e.iterator2?\",\"+e.iterator2:\"\";return e.forProcessed=!0,(r||\"_l\")+\"((\"+i+\"),function(\"+o+a+s+\"){return \"+(n||Ra)(e,t)+\"})\"}function Va(e,t){var n=\"{\",r=function(e,t){var n=e.directives;if(!n)return;var r,i,o,a,s=\"directives:[\",c=!1;for(r=0,i=n.length;r<i;r++){o=n[r],a=!0;var u=t.directives[o.name];u&&(a=!!u(e,o,t.warn)),a&&(c=!0,s+='{name:\"'+o.name+'\",rawName:\"'+o.rawName+'\"'+(o.value?\",value:(\"+o.value+\"),expression:\"+JSON.stringify(o.value):\"\")+(o.arg?\",arg:\"+(o.isDynamicArg?o.arg:'\"'+o.arg+'\"'):\"\")+(o.modifiers?\",modifiers:\"+JSON.stringify(o.modifiers):\"\")+\"},\")}if(c)return s.slice(0,-1)+\"]\"}(e,t);r&&(n+=r+\",\"),e.key&&(n+=\"key:\"+e.key+\",\"),e.ref&&(n+=\"ref:\"+e.ref+\",\"),e.refInFor&&(n+=\"refInFor:true,\"),e.pre&&(n+=\"pre:true,\"),e.component&&(n+='tag:\"'+e.tag+'\",');for(var i=0;i<t.dataGenFns.length;i++)n+=t.dataGenFns[i](e);if(e.attrs&&(n+=\"attrs:\"+Ga(e.attrs)+\",\"),e.props&&(n+=\"domProps:\"+Ga(e.props)+\",\"),e.events&&(n+=Da(e.events,!1)+\",\"),e.nativeEvents&&(n+=Da(e.nativeEvents,!0)+\",\"),e.slotTarget&&!e.slotScope&&(n+=\"slot:\"+e.slotTarget+\",\"),e.scopedSlots&&(n+=function(e,t,n){var r=e.for||Object.keys(t).some(function(e){var n=t[e];return n.slotTargetDynamic||n.if||n.for||Ka(n)}),i=!!e.if;if(!r)for(var o=e.parent;o;){if(o.slotScope&&o.slotScope!==ca||o.for){r=!0;break}o.if&&(i=!0),o=o.parent}var a=Object.keys(t).map(function(e){return Ja(t[e],n)}).join(\",\");return\"scopedSlots:_u([\"+a+\"]\"+(r?\",null,true\":\"\")+(!r&&i?\",null,false,\"+function(e){var t=5381,n=e.length;for(;n;)t=33*t^e.charCodeAt(--n);return t>>>0}(a):\"\")+\")\"}(e,e.scopedSlots,t)+\",\"),e.model&&(n+=\"model:{value:\"+e.model.value+\",callback:\"+e.model.callback+\",expression:\"+e.model.expression+\"},\"),e.inlineTemplate){var o=function(e,t){var n=e.children[0];if(n&&1===n.type){var r=Pa(n,t.options);return\"inlineTemplate:{render:function(){\"+r.render+\"},staticRenderFns:[\"+r.staticRenderFns.map(function(e){return\"function(){\"+e+\"}\"}).join(\",\")+\"]}\"}}(e,t);o&&(n+=o+\",\")}return n=n.replace(/,$/,\"\")+\"}\",e.dynamicAttrs&&(n=\"_b(\"+n+',\"'+e.tag+'\",'+Ga(e.dynamicAttrs)+\")\"),e.wrapData&&(n=e.wrapData(n)),e.wrapListeners&&(n=e.wrapListeners(n)),n}function Ka(e){return 1===e.type&&(\"slot\"===e.tag||e.children.some(Ka))}function Ja(e,t){var n=e.attrsMap[\"slot-scope\"];if(e.if&&!e.ifProcessed&&!n)return Ua(e,t,Ja,\"null\");if(e.for&&!e.forProcessed)return za(e,t,Ja);var r=e.slotScope===ca?\"\":String(e.slotScope),i=\"function(\"+r+\"){return \"+(\"template\"===e.tag?e.if&&n?\"(\"+e.if+\")?\"+(qa(e,t)||\"undefined\")+\":undefined\":qa(e,t)||\"undefined\":Ra(e,t))+\"}\",o=r?\"\":\",proxy:true\";return\"{key:\"+(e.slotTarget||'\"default\"')+\",fn:\"+i+o+\"}\"}function qa(e,t,n,r,i){var o=e.children;if(o.length){var a=o[0];if(1===o.length&&a.for&&\"template\"!==a.tag&&\"slot\"!==a.tag){var s=n?t.maybeComponent(a)?\",1\":\",0\":\"\";return\"\"+(r||Ra)(a,t)+s}var c=n?function(e,t){for(var n=0,r=0;r<e.length;r++){var i=e[r];if(1===i.type){if(Wa(i)||i.ifConditions&&i.ifConditions.some(function(e){return Wa(e.block)})){n=2;break}(t(i)||i.ifConditions&&i.ifConditions.some(function(e){return t(e.block)}))&&(n=1)}}return n}(o,t.maybeComponent):0,u=i||Za;return\"[\"+o.map(function(e){return u(e,t)}).join(\",\")+\"]\"+(c?\",\"+c:\"\")}}function Wa(e){return void 0!==e.for||\"template\"===e.tag||\"slot\"===e.tag}function Za(e,t){return 1===e.type?Ra(e,t):3===e.type&&e.isComment?(r=e,\"_e(\"+JSON.stringify(r.text)+\")\"):\"_v(\"+(2===(n=e).type?n.expression:Xa(JSON.stringify(n.text)))+\")\";var n,r}function Ga(e){for(var t=\"\",n=\"\",r=0;r<e.length;r++){var i=e[r],o=Xa(i.value);i.dynamic?n+=i.name+\",\"+o+\",\":t+='\"'+i.name+'\":'+o+\",\"}return t=\"{\"+t.slice(0,-1)+\"}\",n?\"_d(\"+t+\",[\"+n.slice(0,-1)+\"])\":t}function Xa(e){return e.replace(/\\u2028/g,\"\\\\u2028\").replace(/\\u2029/g,\"\\\\u2029\")}new RegExp(\"\\\\b\"+\"do,if,for,let,new,try,var,case,else,with,await,break,catch,class,const,super,throw,while,yield,delete,export,import,return,switch,default,extends,finally,continue,debugger,function,arguments\".split(\",\").join(\"\\\\b|\\\\b\")+\"\\\\b\");function Ya(e,t){try{return new Function(e)}catch(n){return t.push({err:n,code:e}),S}}function Qa(e){var t=Object.create(null);return function(n,r,i){(r=A({},r)).warn;delete r.warn;var o=r.delimiters?String(r.delimiters)+n:n;if(t[o])return t[o];var a=e(n,r),s={},c=[];return s.render=Ya(a.render,c),s.staticRenderFns=a.staticRenderFns.map(function(e){return Ya(e,c)}),t[o]=s}}var es,ts,ns=(es=function(e,t){var n=la(e.trim(),t);!1!==t.optimize&&ka(n,t);var r=Pa(n,t);return{ast:n,render:r.render,staticRenderFns:r.staticRenderFns}},function(e){function t(t,n){var r=Object.create(e),i=[],o=[];if(n)for(var a in n.modules&&(r.modules=(e.modules||[]).concat(n.modules)),n.directives&&(r.directives=A(Object.create(e.directives||null),n.directives)),n)\"modules\"!==a&&\"directives\"!==a&&(r[a]=n[a]);r.warn=function(e,t,n){(n?o:i).push(e)};var s=es(t.trim(),r);return s.errors=i,s.tips=o,s}return{compile:t,compileToFunctions:Qa(t)}})(Ca),rs=(ns.compile,ns.compileToFunctions);function is(e){return(ts=ts||document.createElement(\"div\")).innerHTML=e?'<a href=\"\\n\"/>':'<div a=\"\\n\"/>',ts.innerHTML.indexOf(\"&#10;\")>0}var os=!!z&&is(!1),as=!!z&&is(!0),ss=g(function(e){var t=Yn(e);return t&&t.innerHTML}),cs=wn.prototype.$mount;return wn.prototype.$mount=function(e,t){if((e=e&&Yn(e))===document.body||e===document.documentElement)return this;var n=this.$options;if(!n.render){var r=n.template;if(r)if(\"string\"==typeof r)\"#\"===r.charAt(0)&&(r=ss(r));else{if(!r.nodeType)return this;r=r.innerHTML}else e&&(r=function(e){if(e.outerHTML)return e.outerHTML;var t=document.createElement(\"div\");return t.appendChild(e.cloneNode(!0)),t.innerHTML}(e));if(r){var i=rs(r,{outputSourceRange:!1,shouldDecodeNewlines:os,shouldDecodeNewlinesForHref:as,delimiters:n.delimiters,comments:n.comments},this),o=i.render,a=i.staticRenderFns;n.render=o,n.staticRenderFns=a}}return cs.call(this,e,t)},wn.compile=rs,wn});","(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.flvjs = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(_dereq_,module,exports){\r\n(function (process,global){\r\n/*!\r\n * @overview es6-promise - a tiny implementation of Promises/A+.\r\n * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)\r\n * @license   Licensed under MIT license\r\n *            See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE\r\n * @version   v4.2.5+7f2b526d\r\n */\r\n\r\n(function (global, factory) {\r\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\r\n\ttypeof define === 'function' && define.amd ? define(factory) :\r\n\t(global.ES6Promise = factory());\r\n}(this, (function () { 'use strict';\r\n\r\nfunction objectOrFunction(x) {\r\n  var type = typeof x;\r\n  return x !== null && (type === 'object' || type === 'function');\r\n}\r\n\r\nfunction isFunction(x) {\r\n  return typeof x === 'function';\r\n}\r\n\r\n\r\n\r\nvar _isArray = void 0;\r\nif (Array.isArray) {\r\n  _isArray = Array.isArray;\r\n} else {\r\n  _isArray = function (x) {\r\n    return Object.prototype.toString.call(x) === '[object Array]';\r\n  };\r\n}\r\n\r\nvar isArray = _isArray;\r\n\r\nvar len = 0;\r\nvar vertxNext = void 0;\r\nvar customSchedulerFn = void 0;\r\n\r\nvar asap = function asap(callback, arg) {\r\n  queue[len] = callback;\r\n  queue[len + 1] = arg;\r\n  len += 2;\r\n  if (len === 2) {\r\n    // If len is 2, that means that we need to schedule an async flush.\r\n    // If additional callbacks are queued before the queue is flushed, they\r\n    // will be processed by this flush that we are scheduling.\r\n    if (customSchedulerFn) {\r\n      customSchedulerFn(flush);\r\n    } else {\r\n      scheduleFlush();\r\n    }\r\n  }\r\n};\r\n\r\nfunction setScheduler(scheduleFn) {\r\n  customSchedulerFn = scheduleFn;\r\n}\r\n\r\nfunction setAsap(asapFn) {\r\n  asap = asapFn;\r\n}\r\n\r\nvar browserWindow = typeof window !== 'undefined' ? window : undefined;\r\nvar browserGlobal = browserWindow || {};\r\nvar BrowserMutationObserver = browserGlobal.MutationObserver || browserGlobal.WebKitMutationObserver;\r\nvar isNode = typeof self === 'undefined' && typeof process !== 'undefined' && {}.toString.call(process) === '[object process]';\r\n\r\n// test for web worker but not in IE10\r\nvar isWorker = typeof Uint8ClampedArray !== 'undefined' && typeof importScripts !== 'undefined' && typeof MessageChannel !== 'undefined';\r\n\r\n// node\r\nfunction useNextTick() {\r\n  // node version 0.10.x displays a deprecation warning when nextTick is used recursively\r\n  // see https://github.com/cujojs/when/issues/410 for details\r\n  return function () {\r\n    return process.nextTick(flush);\r\n  };\r\n}\r\n\r\n// vertx\r\nfunction useVertxTimer() {\r\n  if (typeof vertxNext !== 'undefined') {\r\n    return function () {\r\n      vertxNext(flush);\r\n    };\r\n  }\r\n\r\n  return useSetTimeout();\r\n}\r\n\r\nfunction useMutationObserver() {\r\n  var iterations = 0;\r\n  var observer = new BrowserMutationObserver(flush);\r\n  var node = document.createTextNode('');\r\n  observer.observe(node, { characterData: true });\r\n\r\n  return function () {\r\n    node.data = iterations = ++iterations % 2;\r\n  };\r\n}\r\n\r\n// web worker\r\nfunction useMessageChannel() {\r\n  var channel = new MessageChannel();\r\n  channel.port1.onmessage = flush;\r\n  return function () {\r\n    return channel.port2.postMessage(0);\r\n  };\r\n}\r\n\r\nfunction useSetTimeout() {\r\n  // Store setTimeout reference so es6-promise will be unaffected by\r\n  // other code modifying setTimeout (like sinon.useFakeTimers())\r\n  var globalSetTimeout = setTimeout;\r\n  return function () {\r\n    return globalSetTimeout(flush, 1);\r\n  };\r\n}\r\n\r\nvar queue = new Array(1000);\r\nfunction flush() {\r\n  for (var i = 0; i < len; i += 2) {\r\n    var callback = queue[i];\r\n    var arg = queue[i + 1];\r\n\r\n    callback(arg);\r\n\r\n    queue[i] = undefined;\r\n    queue[i + 1] = undefined;\r\n  }\r\n\r\n  len = 0;\r\n}\r\n\r\nfunction attemptVertx() {\r\n  try {\r\n    var vertx = Function('return this')().require('vertx');\r\n    vertxNext = vertx.runOnLoop || vertx.runOnContext;\r\n    return useVertxTimer();\r\n  } catch (e) {\r\n    return useSetTimeout();\r\n  }\r\n}\r\n\r\nvar scheduleFlush = void 0;\r\n// Decide what async method to use to triggering processing of queued callbacks:\r\nif (isNode) {\r\n  scheduleFlush = useNextTick();\r\n} else if (BrowserMutationObserver) {\r\n  scheduleFlush = useMutationObserver();\r\n} else if (isWorker) {\r\n  scheduleFlush = useMessageChannel();\r\n} else if (browserWindow === undefined && typeof _dereq_ === 'function') {\r\n  scheduleFlush = attemptVertx();\r\n} else {\r\n  scheduleFlush = useSetTimeout();\r\n}\r\n\r\nfunction then(onFulfillment, onRejection) {\r\n  var parent = this;\r\n\r\n  var child = new this.constructor(noop);\r\n\r\n  if (child[PROMISE_ID] === undefined) {\r\n    makePromise(child);\r\n  }\r\n\r\n  var _state = parent._state;\r\n\r\n\r\n  if (_state) {\r\n    var callback = arguments[_state - 1];\r\n    asap(function () {\r\n      return invokeCallback(_state, child, callback, parent._result);\r\n    });\r\n  } else {\r\n    subscribe(parent, child, onFulfillment, onRejection);\r\n  }\r\n\r\n  return child;\r\n}\r\n\r\n/**\r\n  `Promise.resolve` returns a promise that will become resolved with the\r\n  passed `value`. It is shorthand for the following:\r\n\r\n  ```javascript\r\n  let promise = new Promise(function(resolve, reject){\r\n    resolve(1);\r\n  });\r\n\r\n  promise.then(function(value){\r\n    // value === 1\r\n  });\r\n  ```\r\n\r\n  Instead of writing the above, your code now simply becomes the following:\r\n\r\n  ```javascript\r\n  let promise = Promise.resolve(1);\r\n\r\n  promise.then(function(value){\r\n    // value === 1\r\n  });\r\n  ```\r\n\r\n  @method resolve\r\n  @static\r\n  @param {Any} value value that the returned promise will be resolved with\r\n  Useful for tooling.\r\n  @return {Promise} a promise that will become fulfilled with the given\r\n  `value`\r\n*/\r\nfunction resolve$1(object) {\r\n  /*jshint validthis:true */\r\n  var Constructor = this;\r\n\r\n  if (object && typeof object === 'object' && object.constructor === Constructor) {\r\n    return object;\r\n  }\r\n\r\n  var promise = new Constructor(noop);\r\n  resolve(promise, object);\r\n  return promise;\r\n}\r\n\r\nvar PROMISE_ID = Math.random().toString(36).substring(2);\r\n\r\nfunction noop() {}\r\n\r\nvar PENDING = void 0;\r\nvar FULFILLED = 1;\r\nvar REJECTED = 2;\r\n\r\nvar TRY_CATCH_ERROR = { error: null };\r\n\r\nfunction selfFulfillment() {\r\n  return new TypeError(\"You cannot resolve a promise with itself\");\r\n}\r\n\r\nfunction cannotReturnOwn() {\r\n  return new TypeError('A promises callback cannot return that same promise.');\r\n}\r\n\r\nfunction getThen(promise) {\r\n  try {\r\n    return promise.then;\r\n  } catch (error) {\r\n    TRY_CATCH_ERROR.error = error;\r\n    return TRY_CATCH_ERROR;\r\n  }\r\n}\r\n\r\nfunction tryThen(then$$1, value, fulfillmentHandler, rejectionHandler) {\r\n  try {\r\n    then$$1.call(value, fulfillmentHandler, rejectionHandler);\r\n  } catch (e) {\r\n    return e;\r\n  }\r\n}\r\n\r\nfunction handleForeignThenable(promise, thenable, then$$1) {\r\n  asap(function (promise) {\r\n    var sealed = false;\r\n    var error = tryThen(then$$1, thenable, function (value) {\r\n      if (sealed) {\r\n        return;\r\n      }\r\n      sealed = true;\r\n      if (thenable !== value) {\r\n        resolve(promise, value);\r\n      } else {\r\n        fulfill(promise, value);\r\n      }\r\n    }, function (reason) {\r\n      if (sealed) {\r\n        return;\r\n      }\r\n      sealed = true;\r\n\r\n      reject(promise, reason);\r\n    }, 'Settle: ' + (promise._label || ' unknown promise'));\r\n\r\n    if (!sealed && error) {\r\n      sealed = true;\r\n      reject(promise, error);\r\n    }\r\n  }, promise);\r\n}\r\n\r\nfunction handleOwnThenable(promise, thenable) {\r\n  if (thenable._state === FULFILLED) {\r\n    fulfill(promise, thenable._result);\r\n  } else if (thenable._state === REJECTED) {\r\n    reject(promise, thenable._result);\r\n  } else {\r\n    subscribe(thenable, undefined, function (value) {\r\n      return resolve(promise, value);\r\n    }, function (reason) {\r\n      return reject(promise, reason);\r\n    });\r\n  }\r\n}\r\n\r\nfunction handleMaybeThenable(promise, maybeThenable, then$$1) {\r\n  if (maybeThenable.constructor === promise.constructor && then$$1 === then && maybeThenable.constructor.resolve === resolve$1) {\r\n    handleOwnThenable(promise, maybeThenable);\r\n  } else {\r\n    if (then$$1 === TRY_CATCH_ERROR) {\r\n      reject(promise, TRY_CATCH_ERROR.error);\r\n      TRY_CATCH_ERROR.error = null;\r\n    } else if (then$$1 === undefined) {\r\n      fulfill(promise, maybeThenable);\r\n    } else if (isFunction(then$$1)) {\r\n      handleForeignThenable(promise, maybeThenable, then$$1);\r\n    } else {\r\n      fulfill(promise, maybeThenable);\r\n    }\r\n  }\r\n}\r\n\r\nfunction resolve(promise, value) {\r\n  if (promise === value) {\r\n    reject(promise, selfFulfillment());\r\n  } else if (objectOrFunction(value)) {\r\n    handleMaybeThenable(promise, value, getThen(value));\r\n  } else {\r\n    fulfill(promise, value);\r\n  }\r\n}\r\n\r\nfunction publishRejection(promise) {\r\n  if (promise._onerror) {\r\n    promise._onerror(promise._result);\r\n  }\r\n\r\n  publish(promise);\r\n}\r\n\r\nfunction fulfill(promise, value) {\r\n  if (promise._state !== PENDING) {\r\n    return;\r\n  }\r\n\r\n  promise._result = value;\r\n  promise._state = FULFILLED;\r\n\r\n  if (promise._subscribers.length !== 0) {\r\n    asap(publish, promise);\r\n  }\r\n}\r\n\r\nfunction reject(promise, reason) {\r\n  if (promise._state !== PENDING) {\r\n    return;\r\n  }\r\n  promise._state = REJECTED;\r\n  promise._result = reason;\r\n\r\n  asap(publishRejection, promise);\r\n}\r\n\r\nfunction subscribe(parent, child, onFulfillment, onRejection) {\r\n  var _subscribers = parent._subscribers;\r\n  var length = _subscribers.length;\r\n\r\n\r\n  parent._onerror = null;\r\n\r\n  _subscribers[length] = child;\r\n  _subscribers[length + FULFILLED] = onFulfillment;\r\n  _subscribers[length + REJECTED] = onRejection;\r\n\r\n  if (length === 0 && parent._state) {\r\n    asap(publish, parent);\r\n  }\r\n}\r\n\r\nfunction publish(promise) {\r\n  var subscribers = promise._subscribers;\r\n  var settled = promise._state;\r\n\r\n  if (subscribers.length === 0) {\r\n    return;\r\n  }\r\n\r\n  var child = void 0,\r\n      callback = void 0,\r\n      detail = promise._result;\r\n\r\n  for (var i = 0; i < subscribers.length; i += 3) {\r\n    child = subscribers[i];\r\n    callback = subscribers[i + settled];\r\n\r\n    if (child) {\r\n      invokeCallback(settled, child, callback, detail);\r\n    } else {\r\n      callback(detail);\r\n    }\r\n  }\r\n\r\n  promise._subscribers.length = 0;\r\n}\r\n\r\nfunction tryCatch(callback, detail) {\r\n  try {\r\n    return callback(detail);\r\n  } catch (e) {\r\n    TRY_CATCH_ERROR.error = e;\r\n    return TRY_CATCH_ERROR;\r\n  }\r\n}\r\n\r\nfunction invokeCallback(settled, promise, callback, detail) {\r\n  var hasCallback = isFunction(callback),\r\n      value = void 0,\r\n      error = void 0,\r\n      succeeded = void 0,\r\n      failed = void 0;\r\n\r\n  if (hasCallback) {\r\n    value = tryCatch(callback, detail);\r\n\r\n    if (value === TRY_CATCH_ERROR) {\r\n      failed = true;\r\n      error = value.error;\r\n      value.error = null;\r\n    } else {\r\n      succeeded = true;\r\n    }\r\n\r\n    if (promise === value) {\r\n      reject(promise, cannotReturnOwn());\r\n      return;\r\n    }\r\n  } else {\r\n    value = detail;\r\n    succeeded = true;\r\n  }\r\n\r\n  if (promise._state !== PENDING) {\r\n    // noop\r\n  } else if (hasCallback && succeeded) {\r\n    resolve(promise, value);\r\n  } else if (failed) {\r\n    reject(promise, error);\r\n  } else if (settled === FULFILLED) {\r\n    fulfill(promise, value);\r\n  } else if (settled === REJECTED) {\r\n    reject(promise, value);\r\n  }\r\n}\r\n\r\nfunction initializePromise(promise, resolver) {\r\n  try {\r\n    resolver(function resolvePromise(value) {\r\n      resolve(promise, value);\r\n    }, function rejectPromise(reason) {\r\n      reject(promise, reason);\r\n    });\r\n  } catch (e) {\r\n    reject(promise, e);\r\n  }\r\n}\r\n\r\nvar id = 0;\r\nfunction nextId() {\r\n  return id++;\r\n}\r\n\r\nfunction makePromise(promise) {\r\n  promise[PROMISE_ID] = id++;\r\n  promise._state = undefined;\r\n  promise._result = undefined;\r\n  promise._subscribers = [];\r\n}\r\n\r\nfunction validationError() {\r\n  return new Error('Array Methods must be provided an Array');\r\n}\r\n\r\nvar Enumerator = function () {\r\n  function Enumerator(Constructor, input) {\r\n    this._instanceConstructor = Constructor;\r\n    this.promise = new Constructor(noop);\r\n\r\n    if (!this.promise[PROMISE_ID]) {\r\n      makePromise(this.promise);\r\n    }\r\n\r\n    if (isArray(input)) {\r\n      this.length = input.length;\r\n      this._remaining = input.length;\r\n\r\n      this._result = new Array(this.length);\r\n\r\n      if (this.length === 0) {\r\n        fulfill(this.promise, this._result);\r\n      } else {\r\n        this.length = this.length || 0;\r\n        this._enumerate(input);\r\n        if (this._remaining === 0) {\r\n          fulfill(this.promise, this._result);\r\n        }\r\n      }\r\n    } else {\r\n      reject(this.promise, validationError());\r\n    }\r\n  }\r\n\r\n  Enumerator.prototype._enumerate = function _enumerate(input) {\r\n    for (var i = 0; this._state === PENDING && i < input.length; i++) {\r\n      this._eachEntry(input[i], i);\r\n    }\r\n  };\r\n\r\n  Enumerator.prototype._eachEntry = function _eachEntry(entry, i) {\r\n    var c = this._instanceConstructor;\r\n    var resolve$$1 = c.resolve;\r\n\r\n\r\n    if (resolve$$1 === resolve$1) {\r\n      var _then = getThen(entry);\r\n\r\n      if (_then === then && entry._state !== PENDING) {\r\n        this._settledAt(entry._state, i, entry._result);\r\n      } else if (typeof _then !== 'function') {\r\n        this._remaining--;\r\n        this._result[i] = entry;\r\n      } else if (c === Promise$1) {\r\n        var promise = new c(noop);\r\n        handleMaybeThenable(promise, entry, _then);\r\n        this._willSettleAt(promise, i);\r\n      } else {\r\n        this._willSettleAt(new c(function (resolve$$1) {\r\n          return resolve$$1(entry);\r\n        }), i);\r\n      }\r\n    } else {\r\n      this._willSettleAt(resolve$$1(entry), i);\r\n    }\r\n  };\r\n\r\n  Enumerator.prototype._settledAt = function _settledAt(state, i, value) {\r\n    var promise = this.promise;\r\n\r\n\r\n    if (promise._state === PENDING) {\r\n      this._remaining--;\r\n\r\n      if (state === REJECTED) {\r\n        reject(promise, value);\r\n      } else {\r\n        this._result[i] = value;\r\n      }\r\n    }\r\n\r\n    if (this._remaining === 0) {\r\n      fulfill(promise, this._result);\r\n    }\r\n  };\r\n\r\n  Enumerator.prototype._willSettleAt = function _willSettleAt(promise, i) {\r\n    var enumerator = this;\r\n\r\n    subscribe(promise, undefined, function (value) {\r\n      return enumerator._settledAt(FULFILLED, i, value);\r\n    }, function (reason) {\r\n      return enumerator._settledAt(REJECTED, i, reason);\r\n    });\r\n  };\r\n\r\n  return Enumerator;\r\n}();\r\n\r\n/**\r\n  `Promise.all` accepts an array of promises, and returns a new promise which\r\n  is fulfilled with an array of fulfillment values for the passed promises, or\r\n  rejected with the reason of the first passed promise to be rejected. It casts all\r\n  elements of the passed iterable to promises as it runs this algorithm.\r\n\r\n  Example:\r\n\r\n  ```javascript\r\n  let promise1 = resolve(1);\r\n  let promise2 = resolve(2);\r\n  let promise3 = resolve(3);\r\n  let promises = [ promise1, promise2, promise3 ];\r\n\r\n  Promise.all(promises).then(function(array){\r\n    // The array here would be [ 1, 2, 3 ];\r\n  });\r\n  ```\r\n\r\n  If any of the `promises` given to `all` are rejected, the first promise\r\n  that is rejected will be given as an argument to the returned promises's\r\n  rejection handler. For example:\r\n\r\n  Example:\r\n\r\n  ```javascript\r\n  let promise1 = resolve(1);\r\n  let promise2 = reject(new Error(\"2\"));\r\n  let promise3 = reject(new Error(\"3\"));\r\n  let promises = [ promise1, promise2, promise3 ];\r\n\r\n  Promise.all(promises).then(function(array){\r\n    // Code here never runs because there are rejected promises!\r\n  }, function(error) {\r\n    // error.message === \"2\"\r\n  });\r\n  ```\r\n\r\n  @method all\r\n  @static\r\n  @param {Array} entries array of promises\r\n  @param {String} label optional string for labeling the promise.\r\n  Useful for tooling.\r\n  @return {Promise} promise that is fulfilled when all `promises` have been\r\n  fulfilled, or rejected if any of them become rejected.\r\n  @static\r\n*/\r\nfunction all(entries) {\r\n  return new Enumerator(this, entries).promise;\r\n}\r\n\r\n/**\r\n  `Promise.race` returns a new promise which is settled in the same way as the\r\n  first passed promise to settle.\r\n\r\n  Example:\r\n\r\n  ```javascript\r\n  let promise1 = new Promise(function(resolve, reject){\r\n    setTimeout(function(){\r\n      resolve('promise 1');\r\n    }, 200);\r\n  });\r\n\r\n  let promise2 = new Promise(function(resolve, reject){\r\n    setTimeout(function(){\r\n      resolve('promise 2');\r\n    }, 100);\r\n  });\r\n\r\n  Promise.race([promise1, promise2]).then(function(result){\r\n    // result === 'promise 2' because it was resolved before promise1\r\n    // was resolved.\r\n  });\r\n  ```\r\n\r\n  `Promise.race` is deterministic in that only the state of the first\r\n  settled promise matters. For example, even if other promises given to the\r\n  `promises` array argument are resolved, but the first settled promise has\r\n  become rejected before the other promises became fulfilled, the returned\r\n  promise will become rejected:\r\n\r\n  ```javascript\r\n  let promise1 = new Promise(function(resolve, reject){\r\n    setTimeout(function(){\r\n      resolve('promise 1');\r\n    }, 200);\r\n  });\r\n\r\n  let promise2 = new Promise(function(resolve, reject){\r\n    setTimeout(function(){\r\n      reject(new Error('promise 2'));\r\n    }, 100);\r\n  });\r\n\r\n  Promise.race([promise1, promise2]).then(function(result){\r\n    // Code here never runs\r\n  }, function(reason){\r\n    // reason.message === 'promise 2' because promise 2 became rejected before\r\n    // promise 1 became fulfilled\r\n  });\r\n  ```\r\n\r\n  An example real-world use case is implementing timeouts:\r\n\r\n  ```javascript\r\n  Promise.race([ajax('foo.json'), timeout(5000)])\r\n  ```\r\n\r\n  @method race\r\n  @static\r\n  @param {Array} promises array of promises to observe\r\n  Useful for tooling.\r\n  @return {Promise} a promise which settles in the same way as the first passed\r\n  promise to settle.\r\n*/\r\nfunction race(entries) {\r\n  /*jshint validthis:true */\r\n  var Constructor = this;\r\n\r\n  if (!isArray(entries)) {\r\n    return new Constructor(function (_, reject) {\r\n      return reject(new TypeError('You must pass an array to race.'));\r\n    });\r\n  } else {\r\n    return new Constructor(function (resolve, reject) {\r\n      var length = entries.length;\r\n      for (var i = 0; i < length; i++) {\r\n        Constructor.resolve(entries[i]).then(resolve, reject);\r\n      }\r\n    });\r\n  }\r\n}\r\n\r\n/**\r\n  `Promise.reject` returns a promise rejected with the passed `reason`.\r\n  It is shorthand for the following:\r\n\r\n  ```javascript\r\n  let promise = new Promise(function(resolve, reject){\r\n    reject(new Error('WHOOPS'));\r\n  });\r\n\r\n  promise.then(function(value){\r\n    // Code here doesn't run because the promise is rejected!\r\n  }, function(reason){\r\n    // reason.message === 'WHOOPS'\r\n  });\r\n  ```\r\n\r\n  Instead of writing the above, your code now simply becomes the following:\r\n\r\n  ```javascript\r\n  let promise = Promise.reject(new Error('WHOOPS'));\r\n\r\n  promise.then(function(value){\r\n    // Code here doesn't run because the promise is rejected!\r\n  }, function(reason){\r\n    // reason.message === 'WHOOPS'\r\n  });\r\n  ```\r\n\r\n  @method reject\r\n  @static\r\n  @param {Any} reason value that the returned promise will be rejected with.\r\n  Useful for tooling.\r\n  @return {Promise} a promise rejected with the given `reason`.\r\n*/\r\nfunction reject$1(reason) {\r\n  /*jshint validthis:true */\r\n  var Constructor = this;\r\n  var promise = new Constructor(noop);\r\n  reject(promise, reason);\r\n  return promise;\r\n}\r\n\r\nfunction needsResolver() {\r\n  throw new TypeError('You must pass a resolver function as the first argument to the promise constructor');\r\n}\r\n\r\nfunction needsNew() {\r\n  throw new TypeError(\"Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.\");\r\n}\r\n\r\n/**\r\n  Promise objects represent the eventual result of an asynchronous operation. The\r\n  primary way of interacting with a promise is through its `then` method, which\r\n  registers callbacks to receive either a promise's eventual value or the reason\r\n  why the promise cannot be fulfilled.\r\n\r\n  Terminology\r\n  -----------\r\n\r\n  - `promise` is an object or function with a `then` method whose behavior conforms to this specification.\r\n  - `thenable` is an object or function that defines a `then` method.\r\n  - `value` is any legal JavaScript value (including undefined, a thenable, or a promise).\r\n  - `exception` is a value that is thrown using the throw statement.\r\n  - `reason` is a value that indicates why a promise was rejected.\r\n  - `settled` the final resting state of a promise, fulfilled or rejected.\r\n\r\n  A promise can be in one of three states: pending, fulfilled, or rejected.\r\n\r\n  Promises that are fulfilled have a fulfillment value and are in the fulfilled\r\n  state.  Promises that are rejected have a rejection reason and are in the\r\n  rejected state.  A fulfillment value is never a thenable.\r\n\r\n  Promises can also be said to *resolve* a value.  If this value is also a\r\n  promise, then the original promise's settled state will match the value's\r\n  settled state.  So a promise that *resolves* a promise that rejects will\r\n  itself reject, and a promise that *resolves* a promise that fulfills will\r\n  itself fulfill.\r\n\r\n\r\n  Basic Usage:\r\n  ------------\r\n\r\n  ```js\r\n  let promise = new Promise(function(resolve, reject) {\r\n    // on success\r\n    resolve(value);\r\n\r\n    // on failure\r\n    reject(reason);\r\n  });\r\n\r\n  promise.then(function(value) {\r\n    // on fulfillment\r\n  }, function(reason) {\r\n    // on rejection\r\n  });\r\n  ```\r\n\r\n  Advanced Usage:\r\n  ---------------\r\n\r\n  Promises shine when abstracting away asynchronous interactions such as\r\n  `XMLHttpRequest`s.\r\n\r\n  ```js\r\n  function getJSON(url) {\r\n    return new Promise(function(resolve, reject){\r\n      let xhr = new XMLHttpRequest();\r\n\r\n      xhr.open('GET', url);\r\n      xhr.onreadystatechange = handler;\r\n      xhr.responseType = 'json';\r\n      xhr.setRequestHeader('Accept', 'application/json');\r\n      xhr.send();\r\n\r\n      function handler() {\r\n        if (this.readyState === this.DONE) {\r\n          if (this.status === 200) {\r\n            resolve(this.response);\r\n          } else {\r\n            reject(new Error('getJSON: `' + url + '` failed with status: [' + this.status + ']'));\r\n          }\r\n        }\r\n      };\r\n    });\r\n  }\r\n\r\n  getJSON('/posts.json').then(function(json) {\r\n    // on fulfillment\r\n  }, function(reason) {\r\n    // on rejection\r\n  });\r\n  ```\r\n\r\n  Unlike callbacks, promises are great composable primitives.\r\n\r\n  ```js\r\n  Promise.all([\r\n    getJSON('/posts'),\r\n    getJSON('/comments')\r\n  ]).then(function(values){\r\n    values[0] // => postsJSON\r\n    values[1] // => commentsJSON\r\n\r\n    return values;\r\n  });\r\n  ```\r\n\r\n  @class Promise\r\n  @param {Function} resolver\r\n  Useful for tooling.\r\n  @constructor\r\n*/\r\n\r\nvar Promise$1 = function () {\r\n  function Promise(resolver) {\r\n    this[PROMISE_ID] = nextId();\r\n    this._result = this._state = undefined;\r\n    this._subscribers = [];\r\n\r\n    if (noop !== resolver) {\r\n      typeof resolver !== 'function' && needsResolver();\r\n      this instanceof Promise ? initializePromise(this, resolver) : needsNew();\r\n    }\r\n  }\r\n\r\n  /**\r\n  The primary way of interacting with a promise is through its `then` method,\r\n  which registers callbacks to receive either a promise's eventual value or the\r\n  reason why the promise cannot be fulfilled.\r\n   ```js\r\n  findUser().then(function(user){\r\n    // user is available\r\n  }, function(reason){\r\n    // user is unavailable, and you are given the reason why\r\n  });\r\n  ```\r\n   Chaining\r\n  --------\r\n   The return value of `then` is itself a promise.  This second, 'downstream'\r\n  promise is resolved with the return value of the first promise's fulfillment\r\n  or rejection handler, or rejected if the handler throws an exception.\r\n   ```js\r\n  findUser().then(function (user) {\r\n    return user.name;\r\n  }, function (reason) {\r\n    return 'default name';\r\n  }).then(function (userName) {\r\n    // If `findUser` fulfilled, `userName` will be the user's name, otherwise it\r\n    // will be `'default name'`\r\n  });\r\n   findUser().then(function (user) {\r\n    throw new Error('Found user, but still unhappy');\r\n  }, function (reason) {\r\n    throw new Error('`findUser` rejected and we're unhappy');\r\n  }).then(function (value) {\r\n    // never reached\r\n  }, function (reason) {\r\n    // if `findUser` fulfilled, `reason` will be 'Found user, but still unhappy'.\r\n    // If `findUser` rejected, `reason` will be '`findUser` rejected and we're unhappy'.\r\n  });\r\n  ```\r\n  If the downstream promise does not specify a rejection handler, rejection reasons will be propagated further downstream.\r\n   ```js\r\n  findUser().then(function (user) {\r\n    throw new PedagogicalException('Upstream error');\r\n  }).then(function (value) {\r\n    // never reached\r\n  }).then(function (value) {\r\n    // never reached\r\n  }, function (reason) {\r\n    // The `PedgagocialException` is propagated all the way down to here\r\n  });\r\n  ```\r\n   Assimilation\r\n  ------------\r\n   Sometimes the value you want to propagate to a downstream promise can only be\r\n  retrieved asynchronously. This can be achieved by returning a promise in the\r\n  fulfillment or rejection handler. The downstream promise will then be pending\r\n  until the returned promise is settled. This is called *assimilation*.\r\n   ```js\r\n  findUser().then(function (user) {\r\n    return findCommentsByAuthor(user);\r\n  }).then(function (comments) {\r\n    // The user's comments are now available\r\n  });\r\n  ```\r\n   If the assimliated promise rejects, then the downstream promise will also reject.\r\n   ```js\r\n  findUser().then(function (user) {\r\n    return findCommentsByAuthor(user);\r\n  }).then(function (comments) {\r\n    // If `findCommentsByAuthor` fulfills, we'll have the value here\r\n  }, function (reason) {\r\n    // If `findCommentsByAuthor` rejects, we'll have the reason here\r\n  });\r\n  ```\r\n   Simple Example\r\n  --------------\r\n   Synchronous Example\r\n   ```javascript\r\n  let result;\r\n   try {\r\n    result = findResult();\r\n    // success\r\n  } catch(reason) {\r\n    // failure\r\n  }\r\n  ```\r\n   Errback Example\r\n   ```js\r\n  findResult(function(result, err){\r\n    if (err) {\r\n      // failure\r\n    } else {\r\n      // success\r\n    }\r\n  });\r\n  ```\r\n   Promise Example;\r\n   ```javascript\r\n  findResult().then(function(result){\r\n    // success\r\n  }, function(reason){\r\n    // failure\r\n  });\r\n  ```\r\n   Advanced Example\r\n  --------------\r\n   Synchronous Example\r\n   ```javascript\r\n  let author, books;\r\n   try {\r\n    author = findAuthor();\r\n    books  = findBooksByAuthor(author);\r\n    // success\r\n  } catch(reason) {\r\n    // failure\r\n  }\r\n  ```\r\n   Errback Example\r\n   ```js\r\n   function foundBooks(books) {\r\n   }\r\n   function failure(reason) {\r\n   }\r\n   findAuthor(function(author, err){\r\n    if (err) {\r\n      failure(err);\r\n      // failure\r\n    } else {\r\n      try {\r\n        findBoooksByAuthor(author, function(books, err) {\r\n          if (err) {\r\n            failure(err);\r\n          } else {\r\n            try {\r\n              foundBooks(books);\r\n            } catch(reason) {\r\n              failure(reason);\r\n            }\r\n          }\r\n        });\r\n      } catch(error) {\r\n        failure(err);\r\n      }\r\n      // success\r\n    }\r\n  });\r\n  ```\r\n   Promise Example;\r\n   ```javascript\r\n  findAuthor().\r\n    then(findBooksByAuthor).\r\n    then(function(books){\r\n      // found books\r\n  }).catch(function(reason){\r\n    // something went wrong\r\n  });\r\n  ```\r\n   @method then\r\n  @param {Function} onFulfilled\r\n  @param {Function} onRejected\r\n  Useful for tooling.\r\n  @return {Promise}\r\n  */\r\n\r\n  /**\r\n  `catch` is simply sugar for `then(undefined, onRejection)` which makes it the same\r\n  as the catch block of a try/catch statement.\r\n  ```js\r\n  function findAuthor(){\r\n  throw new Error('couldn't find that author');\r\n  }\r\n  // synchronous\r\n  try {\r\n  findAuthor();\r\n  } catch(reason) {\r\n  // something went wrong\r\n  }\r\n  // async with promises\r\n  findAuthor().catch(function(reason){\r\n  // something went wrong\r\n  });\r\n  ```\r\n  @method catch\r\n  @param {Function} onRejection\r\n  Useful for tooling.\r\n  @return {Promise}\r\n  */\r\n\r\n\r\n  Promise.prototype.catch = function _catch(onRejection) {\r\n    return this.then(null, onRejection);\r\n  };\r\n\r\n  /**\r\n    `finally` will be invoked regardless of the promise's fate just as native\r\n    try/catch/finally behaves\r\n  \r\n    Synchronous example:\r\n  \r\n    ```js\r\n    findAuthor() {\r\n      if (Math.random() > 0.5) {\r\n        throw new Error();\r\n      }\r\n      return new Author();\r\n    }\r\n  \r\n    try {\r\n      return findAuthor(); // succeed or fail\r\n    } catch(error) {\r\n      return findOtherAuther();\r\n    } finally {\r\n      // always runs\r\n      // doesn't affect the return value\r\n    }\r\n    ```\r\n  \r\n    Asynchronous example:\r\n  \r\n    ```js\r\n    findAuthor().catch(function(reason){\r\n      return findOtherAuther();\r\n    }).finally(function(){\r\n      // author was either found, or not\r\n    });\r\n    ```\r\n  \r\n    @method finally\r\n    @param {Function} callback\r\n    @return {Promise}\r\n  */\r\n\r\n\r\n  Promise.prototype.finally = function _finally(callback) {\r\n    var promise = this;\r\n    var constructor = promise.constructor;\r\n\r\n    if (isFunction(callback)) {\r\n      return promise.then(function (value) {\r\n        return constructor.resolve(callback()).then(function () {\r\n          return value;\r\n        });\r\n      }, function (reason) {\r\n        return constructor.resolve(callback()).then(function () {\r\n          throw reason;\r\n        });\r\n      });\r\n    }\r\n\r\n    return promise.then(callback, callback);\r\n  };\r\n\r\n  return Promise;\r\n}();\r\n\r\nPromise$1.prototype.then = then;\r\nPromise$1.all = all;\r\nPromise$1.race = race;\r\nPromise$1.resolve = resolve$1;\r\nPromise$1.reject = reject$1;\r\nPromise$1._setScheduler = setScheduler;\r\nPromise$1._setAsap = setAsap;\r\nPromise$1._asap = asap;\r\n\r\n/*global self*/\r\nfunction polyfill() {\r\n  var local = void 0;\r\n\r\n  if (typeof global !== 'undefined') {\r\n    local = global;\r\n  } else if (typeof self !== 'undefined') {\r\n    local = self;\r\n  } else {\r\n    try {\r\n      local = Function('return this')();\r\n    } catch (e) {\r\n      throw new Error('polyfill failed because global object is unavailable in this environment');\r\n    }\r\n  }\r\n\r\n  var P = local.Promise;\r\n\r\n  if (P) {\r\n    var promiseToString = null;\r\n    try {\r\n      promiseToString = Object.prototype.toString.call(P.resolve());\r\n    } catch (e) {\r\n      // silently ignored\r\n    }\r\n\r\n    if (promiseToString === '[object Promise]' && !P.cast) {\r\n      return;\r\n    }\r\n  }\r\n\r\n  local.Promise = Promise$1;\r\n}\r\n\r\n// Strange compat..\r\nPromise$1.polyfill = polyfill;\r\nPromise$1.Promise = Promise$1;\r\n\r\nreturn Promise$1;\r\n\r\n})));\r\n\r\n\r\n\r\n\r\n\r\n}).call(this,_dereq_('_process'),typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\r\n\r\n},{\"_process\":3}],2:[function(_dereq_,module,exports){\r\n// Copyright Joyent, Inc. and other Node contributors.\r\n//\r\n// Permission is hereby granted, free of charge, to any person obtaining a\r\n// copy of this software and associated documentation files (the\r\n// \"Software\"), to deal in the Software without restriction, including\r\n// without limitation the rights to use, copy, modify, merge, publish,\r\n// distribute, sublicense, and/or sell copies of the Software, and to permit\r\n// persons to whom the Software is furnished to do so, subject to the\r\n// following conditions:\r\n//\r\n// The above copyright notice and this permission notice shall be included\r\n// in all copies or substantial portions of the Software.\r\n//\r\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\r\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\r\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\r\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\r\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\r\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\r\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\r\n\r\nfunction EventEmitter() {\r\n  this._events = this._events || {};\r\n  this._maxListeners = this._maxListeners || undefined;\r\n}\r\nmodule.exports = EventEmitter;\r\n\r\n// Backwards-compat with node 0.10.x\r\nEventEmitter.EventEmitter = EventEmitter;\r\n\r\nEventEmitter.prototype._events = undefined;\r\nEventEmitter.prototype._maxListeners = undefined;\r\n\r\n// By default EventEmitters will print a warning if more than 10 listeners are\r\n// added to it. This is a useful default which helps finding memory leaks.\r\nEventEmitter.defaultMaxListeners = 10;\r\n\r\n// Obviously not all Emitters should be limited to 10. This function allows\r\n// that to be increased. Set to zero for unlimited.\r\nEventEmitter.prototype.setMaxListeners = function(n) {\r\n  if (!isNumber(n) || n < 0 || isNaN(n))\r\n    throw TypeError('n must be a positive number');\r\n  this._maxListeners = n;\r\n  return this;\r\n};\r\n\r\nEventEmitter.prototype.emit = function(type) {\r\n  var er, handler, len, args, i, listeners;\r\n\r\n  if (!this._events)\r\n    this._events = {};\r\n\r\n  // If there is no 'error' event listener then throw.\r\n  if (type === 'error') {\r\n    if (!this._events.error ||\r\n        (isObject(this._events.error) && !this._events.error.length)) {\r\n      er = arguments[1];\r\n      if (er instanceof Error) {\r\n        throw er; // Unhandled 'error' event\r\n      } else {\r\n        // At least give some kind of context to the user\r\n        var err = new Error('Uncaught, unspecified \"error\" event. (' + er + ')');\r\n        err.context = er;\r\n        throw err;\r\n      }\r\n    }\r\n  }\r\n\r\n  handler = this._events[type];\r\n\r\n  if (isUndefined(handler))\r\n    return false;\r\n\r\n  if (isFunction(handler)) {\r\n    switch (arguments.length) {\r\n      // fast cases\r\n      case 1:\r\n        handler.call(this);\r\n        break;\r\n      case 2:\r\n        handler.call(this, arguments[1]);\r\n        break;\r\n      case 3:\r\n        handler.call(this, arguments[1], arguments[2]);\r\n        break;\r\n      // slower\r\n      default:\r\n        args = Array.prototype.slice.call(arguments, 1);\r\n        handler.apply(this, args);\r\n    }\r\n  } else if (isObject(handler)) {\r\n    args = Array.prototype.slice.call(arguments, 1);\r\n    listeners = handler.slice();\r\n    len = listeners.length;\r\n    for (i = 0; i < len; i++)\r\n      listeners[i].apply(this, args);\r\n  }\r\n\r\n  return true;\r\n};\r\n\r\nEventEmitter.prototype.addListener = function(type, listener) {\r\n  var m;\r\n\r\n  if (!isFunction(listener))\r\n    throw TypeError('listener must be a function');\r\n\r\n  if (!this._events)\r\n    this._events = {};\r\n\r\n  // To avoid recursion in the case that type === \"newListener\"! Before\r\n  // adding it to the listeners, first emit \"newListener\".\r\n  if (this._events.newListener)\r\n    this.emit('newListener', type,\r\n              isFunction(listener.listener) ?\r\n              listener.listener : listener);\r\n\r\n  if (!this._events[type])\r\n    // Optimize the case of one listener. Don't need the extra array object.\r\n    this._events[type] = listener;\r\n  else if (isObject(this._events[type]))\r\n    // If we've already got an array, just append.\r\n    this._events[type].push(listener);\r\n  else\r\n    // Adding the second element, need to change to array.\r\n    this._events[type] = [this._events[type], listener];\r\n\r\n  // Check for listener leak\r\n  if (isObject(this._events[type]) && !this._events[type].warned) {\r\n    if (!isUndefined(this._maxListeners)) {\r\n      m = this._maxListeners;\r\n    } else {\r\n      m = EventEmitter.defaultMaxListeners;\r\n    }\r\n\r\n    if (m && m > 0 && this._events[type].length > m) {\r\n      this._events[type].warned = true;\r\n      console.error('(node) warning: possible EventEmitter memory ' +\r\n                    'leak detected. %d listeners added. ' +\r\n                    'Use emitter.setMaxListeners() to increase limit.',\r\n                    this._events[type].length);\r\n      if (typeof console.trace === 'function') {\r\n        // not supported in IE 10\r\n        console.trace();\r\n      }\r\n    }\r\n  }\r\n\r\n  return this;\r\n};\r\n\r\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\r\n\r\nEventEmitter.prototype.once = function(type, listener) {\r\n  if (!isFunction(listener))\r\n    throw TypeError('listener must be a function');\r\n\r\n  var fired = false;\r\n\r\n  function g() {\r\n    this.removeListener(type, g);\r\n\r\n    if (!fired) {\r\n      fired = true;\r\n      listener.apply(this, arguments);\r\n    }\r\n  }\r\n\r\n  g.listener = listener;\r\n  this.on(type, g);\r\n\r\n  return this;\r\n};\r\n\r\n// emits a 'removeListener' event iff the listener was removed\r\nEventEmitter.prototype.removeListener = function(type, listener) {\r\n  var list, position, length, i;\r\n\r\n  if (!isFunction(listener))\r\n    throw TypeError('listener must be a function');\r\n\r\n  if (!this._events || !this._events[type])\r\n    return this;\r\n\r\n  list = this._events[type];\r\n  length = list.length;\r\n  position = -1;\r\n\r\n  if (list === listener ||\r\n      (isFunction(list.listener) && list.listener === listener)) {\r\n    delete this._events[type];\r\n    if (this._events.removeListener)\r\n      this.emit('removeListener', type, listener);\r\n\r\n  } else if (isObject(list)) {\r\n    for (i = length; i-- > 0;) {\r\n      if (list[i] === listener ||\r\n          (list[i].listener && list[i].listener === listener)) {\r\n        position = i;\r\n        break;\r\n      }\r\n    }\r\n\r\n    if (position < 0)\r\n      return this;\r\n\r\n    if (list.length === 1) {\r\n      list.length = 0;\r\n      delete this._events[type];\r\n    } else {\r\n      list.splice(position, 1);\r\n    }\r\n\r\n    if (this._events.removeListener)\r\n      this.emit('removeListener', type, listener);\r\n  }\r\n\r\n  return this;\r\n};\r\n\r\nEventEmitter.prototype.removeAllListeners = function(type) {\r\n  var key, listeners;\r\n\r\n  if (!this._events)\r\n    return this;\r\n\r\n  // not listening for removeListener, no need to emit\r\n  if (!this._events.removeListener) {\r\n    if (arguments.length === 0)\r\n      this._events = {};\r\n    else if (this._events[type])\r\n      delete this._events[type];\r\n    return this;\r\n  }\r\n\r\n  // emit removeListener for all listeners on all events\r\n  if (arguments.length === 0) {\r\n    for (key in this._events) {\r\n      if (key === 'removeListener') continue;\r\n      this.removeAllListeners(key);\r\n    }\r\n    this.removeAllListeners('removeListener');\r\n    this._events = {};\r\n    return this;\r\n  }\r\n\r\n  listeners = this._events[type];\r\n\r\n  if (isFunction(listeners)) {\r\n    this.removeListener(type, listeners);\r\n  } else if (listeners) {\r\n    // LIFO order\r\n    while (listeners.length)\r\n      this.removeListener(type, listeners[listeners.length - 1]);\r\n  }\r\n  delete this._events[type];\r\n\r\n  return this;\r\n};\r\n\r\nEventEmitter.prototype.listeners = function(type) {\r\n  var ret;\r\n  if (!this._events || !this._events[type])\r\n    ret = [];\r\n  else if (isFunction(this._events[type]))\r\n    ret = [this._events[type]];\r\n  else\r\n    ret = this._events[type].slice();\r\n  return ret;\r\n};\r\n\r\nEventEmitter.prototype.listenerCount = function(type) {\r\n  if (this._events) {\r\n    var evlistener = this._events[type];\r\n\r\n    if (isFunction(evlistener))\r\n      return 1;\r\n    else if (evlistener)\r\n      return evlistener.length;\r\n  }\r\n  return 0;\r\n};\r\n\r\nEventEmitter.listenerCount = function(emitter, type) {\r\n  return emitter.listenerCount(type);\r\n};\r\n\r\nfunction isFunction(arg) {\r\n  return typeof arg === 'function';\r\n}\r\n\r\nfunction isNumber(arg) {\r\n  return typeof arg === 'number';\r\n}\r\n\r\nfunction isObject(arg) {\r\n  return typeof arg === 'object' && arg !== null;\r\n}\r\n\r\nfunction isUndefined(arg) {\r\n  return arg === void 0;\r\n}\r\n\r\n},{}],3:[function(_dereq_,module,exports){\r\n// shim for using process in browser\r\nvar process = module.exports = {};\r\n\r\n// cached from whatever global is present so that test runners that stub it\r\n// don't break things.  But we need to wrap it in a try catch in case it is\r\n// wrapped in strict mode code which doesn't define any globals.  It's inside a\r\n// function because try/catches deoptimize in certain engines.\r\n\r\nvar cachedSetTimeout;\r\nvar cachedClearTimeout;\r\n\r\nfunction defaultSetTimout() {\r\n    throw new Error('setTimeout has not been defined');\r\n}\r\nfunction defaultClearTimeout () {\r\n    throw new Error('clearTimeout has not been defined');\r\n}\r\n(function () {\r\n    try {\r\n        if (typeof setTimeout === 'function') {\r\n            cachedSetTimeout = setTimeout;\r\n        } else {\r\n            cachedSetTimeout = defaultSetTimout;\r\n        }\r\n    } catch (e) {\r\n        cachedSetTimeout = defaultSetTimout;\r\n    }\r\n    try {\r\n        if (typeof clearTimeout === 'function') {\r\n            cachedClearTimeout = clearTimeout;\r\n        } else {\r\n            cachedClearTimeout = defaultClearTimeout;\r\n        }\r\n    } catch (e) {\r\n        cachedClearTimeout = defaultClearTimeout;\r\n    }\r\n} ())\r\nfunction runTimeout(fun) {\r\n    if (cachedSetTimeout === setTimeout) {\r\n        //normal enviroments in sane situations\r\n        return setTimeout(fun, 0);\r\n    }\r\n    // if setTimeout wasn't available but was latter defined\r\n    if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\r\n        cachedSetTimeout = setTimeout;\r\n        return setTimeout(fun, 0);\r\n    }\r\n    try {\r\n        // when when somebody has screwed with setTimeout but no I.E. maddness\r\n        return cachedSetTimeout(fun, 0);\r\n    } catch(e){\r\n        try {\r\n            // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\r\n            return cachedSetTimeout.call(null, fun, 0);\r\n        } catch(e){\r\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\r\n            return cachedSetTimeout.call(this, fun, 0);\r\n        }\r\n    }\r\n\r\n\r\n}\r\nfunction runClearTimeout(marker) {\r\n    if (cachedClearTimeout === clearTimeout) {\r\n        //normal enviroments in sane situations\r\n        return clearTimeout(marker);\r\n    }\r\n    // if clearTimeout wasn't available but was latter defined\r\n    if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\r\n        cachedClearTimeout = clearTimeout;\r\n        return clearTimeout(marker);\r\n    }\r\n    try {\r\n        // when when somebody has screwed with setTimeout but no I.E. maddness\r\n        return cachedClearTimeout(marker);\r\n    } catch (e){\r\n        try {\r\n            // When we are in I.E. but the script has been evaled so I.E. doesn't  trust the global object when called normally\r\n            return cachedClearTimeout.call(null, marker);\r\n        } catch (e){\r\n            // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\r\n            // Some versions of I.E. have different rules for clearTimeout vs setTimeout\r\n            return cachedClearTimeout.call(this, marker);\r\n        }\r\n    }\r\n\r\n\r\n\r\n}\r\nvar queue = [];\r\nvar draining = false;\r\nvar currentQueue;\r\nvar queueIndex = -1;\r\n\r\nfunction cleanUpNextTick() {\r\n    if (!draining || !currentQueue) {\r\n        return;\r\n    }\r\n    draining = false;\r\n    if (currentQueue.length) {\r\n        queue = currentQueue.concat(queue);\r\n    } else {\r\n        queueIndex = -1;\r\n    }\r\n    if (queue.length) {\r\n        drainQueue();\r\n    }\r\n}\r\n\r\nfunction drainQueue() {\r\n    if (draining) {\r\n        return;\r\n    }\r\n    var timeout = runTimeout(cleanUpNextTick);\r\n    draining = true;\r\n\r\n    var len = queue.length;\r\n    while(len) {\r\n        currentQueue = queue;\r\n        queue = [];\r\n        while (++queueIndex < len) {\r\n            if (currentQueue) {\r\n                currentQueue[queueIndex].run();\r\n            }\r\n        }\r\n        queueIndex = -1;\r\n        len = queue.length;\r\n    }\r\n    currentQueue = null;\r\n    draining = false;\r\n    runClearTimeout(timeout);\r\n}\r\n\r\nprocess.nextTick = function (fun) {\r\n    var args = new Array(arguments.length - 1);\r\n    if (arguments.length > 1) {\r\n        for (var i = 1; i < arguments.length; i++) {\r\n            args[i - 1] = arguments[i];\r\n        }\r\n    }\r\n    queue.push(new Item(fun, args));\r\n    if (queue.length === 1 && !draining) {\r\n        runTimeout(drainQueue);\r\n    }\r\n};\r\n\r\n// v8 likes predictible objects\r\nfunction Item(fun, array) {\r\n    this.fun = fun;\r\n    this.array = array;\r\n}\r\nItem.prototype.run = function () {\r\n    this.fun.apply(null, this.array);\r\n};\r\nprocess.title = 'browser';\r\nprocess.browser = true;\r\nprocess.env = {};\r\nprocess.argv = [];\r\nprocess.version = ''; // empty string to avoid regexp issues\r\nprocess.versions = {};\r\n\r\nfunction noop() {}\r\n\r\nprocess.on = noop;\r\nprocess.addListener = noop;\r\nprocess.once = noop;\r\nprocess.off = noop;\r\nprocess.removeListener = noop;\r\nprocess.removeAllListeners = noop;\r\nprocess.emit = noop;\r\nprocess.prependListener = noop;\r\nprocess.prependOnceListener = noop;\r\n\r\nprocess.listeners = function (name) { return [] }\r\n\r\nprocess.binding = function (name) {\r\n    throw new Error('process.binding is not supported');\r\n};\r\n\r\nprocess.cwd = function () { return '/' };\r\nprocess.chdir = function (dir) {\r\n    throw new Error('process.chdir is not supported');\r\n};\r\nprocess.umask = function() { return 0; };\r\n\r\n},{}],4:[function(_dereq_,module,exports){\r\nvar bundleFn = arguments[3];\r\nvar sources = arguments[4];\r\nvar cache = arguments[5];\r\n\r\nvar stringify = JSON.stringify;\r\n\r\nmodule.exports = function (fn, options) {\r\n    var wkey;\r\n    var cacheKeys = Object.keys(cache);\r\n\r\n    for (var i = 0, l = cacheKeys.length; i < l; i++) {\r\n        var key = cacheKeys[i];\r\n        var exp = cache[key].exports;\r\n        // Using babel as a transpiler to use esmodule, the export will always\r\n        // be an object with the default export as a property of it. To ensure\r\n        // the existing api and babel esmodule exports are both supported we\r\n        // check for both\r\n        if (exp === fn || exp && exp.default === fn) {\r\n            wkey = key;\r\n            break;\r\n        }\r\n    }\r\n\r\n    if (!wkey) {\r\n        wkey = Math.floor(Math.pow(16, 8) * Math.random()).toString(16);\r\n        var wcache = {};\r\n        for (var i = 0, l = cacheKeys.length; i < l; i++) {\r\n            var key = cacheKeys[i];\r\n            wcache[key] = key;\r\n        }\r\n        sources[wkey] = [\r\n            'function(require,module,exports){' + fn + '(self); }',\r\n            wcache\r\n        ];\r\n    }\r\n    var skey = Math.floor(Math.pow(16, 8) * Math.random()).toString(16);\r\n\r\n    var scache = {}; scache[wkey] = wkey;\r\n    sources[skey] = [\r\n        'function(require,module,exports){' +\r\n            // try to call default if defined to also support babel esmodule exports\r\n            'var f = require(' + stringify(wkey) + ');' +\r\n            '(f.default ? f.default : f)(self);' +\r\n        '}',\r\n        scache\r\n    ];\r\n\r\n    var workerSources = {};\r\n    resolveSources(skey);\r\n\r\n    function resolveSources(key) {\r\n        workerSources[key] = true;\r\n\r\n        for (var depPath in sources[key][1]) {\r\n            var depKey = sources[key][1][depPath];\r\n            if (!workerSources[depKey]) {\r\n                resolveSources(depKey);\r\n            }\r\n        }\r\n    }\r\n\r\n    var src = '(' + bundleFn + ')({'\r\n        + Object.keys(workerSources).map(function (key) {\r\n            return stringify(key) + ':['\r\n                + sources[key][0]\r\n                + ',' + stringify(sources[key][1]) + ']'\r\n            ;\r\n        }).join(',')\r\n        + '},{},[' + stringify(skey) + '])'\r\n    ;\r\n\r\n    var URL = window.URL || window.webkitURL || window.mozURL || window.msURL;\r\n\r\n    var blob = new Blob([src], { type: 'text/javascript' });\r\n    if (options && options.bare) { return blob; }\r\n    var workerUrl = URL.createObjectURL(blob);\r\n    var worker = new Worker(workerUrl);\r\n    worker.objectURL = workerUrl;\r\n    return worker;\r\n};\r\n\r\n},{}],5:[function(_dereq_,module,exports){\r\n'use strict';\r\n\r\nObject.defineProperty(exports, \"__esModule\", {\r\n    value: true\r\n});\r\nexports.createDefaultConfig = createDefaultConfig;\r\n/*\r\n * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n *\r\n * @author zheng qian <xqq@xqq.im>\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\nvar defaultConfig = exports.defaultConfig = {\r\n    enableWorker: false,\r\n    enableStashBuffer: true,\r\n    stashInitialSize: undefined,\r\n\r\n    isLive: false,\r\n\r\n    lazyLoad: true,\r\n    lazyLoadMaxDuration: 3 * 60,\r\n    lazyLoadRecoverDuration: 30,\r\n    deferLoadAfterSourceOpen: true,\r\n\r\n    // autoCleanupSourceBuffer: default as false, leave unspecified\r\n    autoCleanupMaxBackwardDuration: 3 * 60,\r\n    autoCleanupMinBackwardDuration: 2 * 60,\r\n\r\n    statisticsInfoReportInterval: 600,\r\n\r\n    fixAudioTimestampGap: true,\r\n\r\n    accurateSeek: false,\r\n    seekType: 'range', // [range, param, custom]\r\n    seekParamStart: 'bstart',\r\n    seekParamEnd: 'bend',\r\n    rangeLoadZeroStart: false,\r\n    customSeekHandler: undefined,\r\n    reuseRedirectedURL: false,\r\n    // referrerPolicy: leave as unspecified\r\n\r\n    headers: undefined,\r\n    customLoader: undefined\r\n};\r\n\r\nfunction createDefaultConfig() {\r\n    return Object.assign({}, defaultConfig);\r\n}\r\n\r\n},{}],6:[function(_dereq_,module,exports){\r\n'use strict';\r\n\r\nObject.defineProperty(exports, \"__esModule\", {\r\n    value: true\r\n});\r\n\r\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /*\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * @author zheng qian <xqq@xqq.im>\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * you may not use this file except in compliance with the License.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * You may obtain a copy of the License at\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *     http://www.apache.org/licenses/LICENSE-2.0\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * Unless required by applicable law or agreed to in writing, software\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * See the License for the specific language governing permissions and\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * limitations under the License.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      */\r\n\r\nvar _ioController = _dereq_('../io/io-controller.js');\r\n\r\nvar _ioController2 = _interopRequireDefault(_ioController);\r\n\r\nvar _config = _dereq_('../config.js');\r\n\r\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\r\n\r\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\r\n\r\nvar Features = function () {\r\n    function Features() {\r\n        _classCallCheck(this, Features);\r\n    }\r\n\r\n    _createClass(Features, null, [{\r\n        key: 'supportMSEH264Playback',\r\n        value: function supportMSEH264Playback() {\r\n            return window.MediaSource && window.MediaSource.isTypeSupported('video/mp4; codecs=\"avc1.42E01E,mp4a.40.2\"');\r\n        }\r\n    }, {\r\n        key: 'supportNetworkStreamIO',\r\n        value: function supportNetworkStreamIO() {\r\n            var ioctl = new _ioController2.default({}, (0, _config.createDefaultConfig)());\r\n            var loaderType = ioctl.loaderType;\r\n            ioctl.destroy();\r\n            return loaderType == 'fetch-stream-loader' || loaderType == 'xhr-moz-chunked-loader';\r\n        }\r\n    }, {\r\n        key: 'getNetworkLoaderTypeName',\r\n        value: function getNetworkLoaderTypeName() {\r\n            var ioctl = new _ioController2.default({}, (0, _config.createDefaultConfig)());\r\n            var loaderType = ioctl.loaderType;\r\n            ioctl.destroy();\r\n            return loaderType;\r\n        }\r\n    }, {\r\n        key: 'supportNativeMediaPlayback',\r\n        value: function supportNativeMediaPlayback(mimeType) {\r\n            if (Features.videoElement == undefined) {\r\n                Features.videoElement = window.document.createElement('video');\r\n            }\r\n            var canPlay = Features.videoElement.canPlayType(mimeType);\r\n            return canPlay === 'probably' || canPlay == 'maybe';\r\n        }\r\n    }, {\r\n        key: 'getFeatureList',\r\n        value: function getFeatureList() {\r\n            var features = {\r\n                mseFlvPlayback: false,\r\n                mseLiveFlvPlayback: false,\r\n                networkStreamIO: false,\r\n                networkLoaderName: '',\r\n                nativeMP4H264Playback: false,\r\n                nativeWebmVP8Playback: false,\r\n                nativeWebmVP9Playback: false\r\n            };\r\n\r\n            features.mseFlvPlayback = Features.supportMSEH264Playback();\r\n            features.networkStreamIO = Features.supportNetworkStreamIO();\r\n            features.networkLoaderName = Features.getNetworkLoaderTypeName();\r\n            features.mseLiveFlvPlayback = features.mseFlvPlayback && features.networkStreamIO;\r\n            features.nativeMP4H264Playback = Features.supportNativeMediaPlayback('video/mp4; codecs=\"avc1.42001E, mp4a.40.2\"');\r\n            features.nativeWebmVP8Playback = Features.supportNativeMediaPlayback('video/webm; codecs=\"vp8.0, vorbis\"');\r\n            features.nativeWebmVP9Playback = Features.supportNativeMediaPlayback('video/webm; codecs=\"vp9\"');\r\n\r\n            return features;\r\n        }\r\n    }]);\r\n\r\n    return Features;\r\n}();\r\n\r\nexports.default = Features;\r\n\r\n},{\"../config.js\":5,\"../io/io-controller.js\":23}],7:[function(_dereq_,module,exports){\r\n\"use strict\";\r\n\r\nObject.defineProperty(exports, \"__esModule\", {\r\n    value: true\r\n});\r\n\r\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\r\n\r\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\r\n\r\n/*\r\n * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n *\r\n * @author zheng qian <xqq@xqq.im>\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\nvar MediaInfo = function () {\r\n    function MediaInfo() {\r\n        _classCallCheck(this, MediaInfo);\r\n\r\n        this.mimeType = null;\r\n        this.duration = null;\r\n\r\n        this.hasAudio = null;\r\n        this.hasVideo = null;\r\n        this.audioCodec = null;\r\n        this.videoCodec = null;\r\n        this.audioDataRate = null;\r\n        this.videoDataRate = null;\r\n\r\n        this.audioSampleRate = null;\r\n        this.audioChannelCount = null;\r\n\r\n        this.width = null;\r\n        this.height = null;\r\n        this.fps = null;\r\n        this.profile = null;\r\n        this.level = null;\r\n        this.refFrames = null;\r\n        this.chromaFormat = null;\r\n        this.sarNum = null;\r\n        this.sarDen = null;\r\n\r\n        this.metadata = null;\r\n        this.segments = null; // MediaInfo[]\r\n        this.segmentCount = null;\r\n        this.hasKeyframesIndex = null;\r\n        this.keyframesIndex = null;\r\n    }\r\n\r\n    _createClass(MediaInfo, [{\r\n        key: \"isComplete\",\r\n        value: function isComplete() {\r\n            var audioInfoComplete = this.hasAudio === false || this.hasAudio === true && this.audioCodec != null && this.audioSampleRate != null && this.audioChannelCount != null;\r\n\r\n            var videoInfoComplete = this.hasVideo === false || this.hasVideo === true && this.videoCodec != null && this.width != null && this.height != null && this.fps != null && this.profile != null && this.level != null && this.refFrames != null && this.chromaFormat != null && this.sarNum != null && this.sarDen != null;\r\n\r\n            // keyframesIndex may not be present\r\n            return this.mimeType != null && this.duration != null && this.metadata != null && this.hasKeyframesIndex != null && audioInfoComplete && videoInfoComplete;\r\n        }\r\n    }, {\r\n        key: \"isSeekable\",\r\n        value: function isSeekable() {\r\n            return this.hasKeyframesIndex === true;\r\n        }\r\n    }, {\r\n        key: \"getNearestKeyframe\",\r\n        value: function getNearestKeyframe(milliseconds) {\r\n            if (this.keyframesIndex == null) {\r\n                return null;\r\n            }\r\n\r\n            var table = this.keyframesIndex;\r\n            var keyframeIdx = this._search(table.times, milliseconds);\r\n\r\n            return {\r\n                index: keyframeIdx,\r\n                milliseconds: table.times[keyframeIdx],\r\n                fileposition: table.filepositions[keyframeIdx]\r\n            };\r\n        }\r\n    }, {\r\n        key: \"_search\",\r\n        value: function _search(list, value) {\r\n            var idx = 0;\r\n\r\n            var last = list.length - 1;\r\n            var mid = 0;\r\n            var lbound = 0;\r\n            var ubound = last;\r\n\r\n            if (value < list[0]) {\r\n                idx = 0;\r\n                lbound = ubound + 1; // skip search\r\n            }\r\n\r\n            while (lbound <= ubound) {\r\n                mid = lbound + Math.floor((ubound - lbound) / 2);\r\n                if (mid === last || value >= list[mid] && value < list[mid + 1]) {\r\n                    idx = mid;\r\n                    break;\r\n                } else if (list[mid] < value) {\r\n                    lbound = mid + 1;\r\n                } else {\r\n                    ubound = mid - 1;\r\n                }\r\n            }\r\n\r\n            return idx;\r\n        }\r\n    }]);\r\n\r\n    return MediaInfo;\r\n}();\r\n\r\nexports.default = MediaInfo;\r\n\r\n},{}],8:[function(_dereq_,module,exports){\r\n\"use strict\";\r\n\r\nObject.defineProperty(exports, \"__esModule\", {\r\n    value: true\r\n});\r\n\r\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\r\n\r\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\r\n\r\n/*\r\n * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n *\r\n * @author zheng qian <xqq@xqq.im>\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\n// Represents an media sample (audio / video)\r\nvar SampleInfo = exports.SampleInfo = function SampleInfo(dts, pts, duration, originalDts, isSync) {\r\n    _classCallCheck(this, SampleInfo);\r\n\r\n    this.dts = dts;\r\n    this.pts = pts;\r\n    this.duration = duration;\r\n    this.originalDts = originalDts;\r\n    this.isSyncPoint = isSync;\r\n    this.fileposition = null;\r\n};\r\n\r\n// Media Segment concept is defined in Media Source Extensions spec.\r\n// Particularly in ISO BMFF format, an Media Segment contains a moof box followed by a mdat box.\r\n\r\n\r\nvar MediaSegmentInfo = exports.MediaSegmentInfo = function () {\r\n    function MediaSegmentInfo() {\r\n        _classCallCheck(this, MediaSegmentInfo);\r\n\r\n        this.beginDts = 0;\r\n        this.endDts = 0;\r\n        this.beginPts = 0;\r\n        this.endPts = 0;\r\n        this.originalBeginDts = 0;\r\n        this.originalEndDts = 0;\r\n        this.syncPoints = []; // SampleInfo[n], for video IDR frames only\r\n        this.firstSample = null; // SampleInfo\r\n        this.lastSample = null; // SampleInfo\r\n    }\r\n\r\n    _createClass(MediaSegmentInfo, [{\r\n        key: \"appendSyncPoint\",\r\n        value: function appendSyncPoint(sampleInfo) {\r\n            // also called Random Access Point\r\n            sampleInfo.isSyncPoint = true;\r\n            this.syncPoints.push(sampleInfo);\r\n        }\r\n    }]);\r\n\r\n    return MediaSegmentInfo;\r\n}();\r\n\r\n// Ordered list for recording video IDR frames, sorted by originalDts\r\n\r\n\r\nvar IDRSampleList = exports.IDRSampleList = function () {\r\n    function IDRSampleList() {\r\n        _classCallCheck(this, IDRSampleList);\r\n\r\n        this._list = [];\r\n    }\r\n\r\n    _createClass(IDRSampleList, [{\r\n        key: \"clear\",\r\n        value: function clear() {\r\n            this._list = [];\r\n        }\r\n    }, {\r\n        key: \"appendArray\",\r\n        value: function appendArray(syncPoints) {\r\n            var list = this._list;\r\n\r\n            if (syncPoints.length === 0) {\r\n                return;\r\n            }\r\n\r\n            if (list.length > 0 && syncPoints[0].originalDts < list[list.length - 1].originalDts) {\r\n                this.clear();\r\n            }\r\n\r\n            Array.prototype.push.apply(list, syncPoints);\r\n        }\r\n    }, {\r\n        key: \"getLastSyncPointBeforeDts\",\r\n        value: function getLastSyncPointBeforeDts(dts) {\r\n            if (this._list.length == 0) {\r\n                return null;\r\n            }\r\n\r\n            var list = this._list;\r\n            var idx = 0;\r\n            var last = list.length - 1;\r\n            var mid = 0;\r\n            var lbound = 0;\r\n            var ubound = last;\r\n\r\n            if (dts < list[0].dts) {\r\n                idx = 0;\r\n                lbound = ubound + 1;\r\n            }\r\n\r\n            while (lbound <= ubound) {\r\n                mid = lbound + Math.floor((ubound - lbound) / 2);\r\n                if (mid === last || dts >= list[mid].dts && dts < list[mid + 1].dts) {\r\n                    idx = mid;\r\n                    break;\r\n                } else if (list[mid].dts < dts) {\r\n                    lbound = mid + 1;\r\n                } else {\r\n                    ubound = mid - 1;\r\n                }\r\n            }\r\n            return this._list[idx];\r\n        }\r\n    }]);\r\n\r\n    return IDRSampleList;\r\n}();\r\n\r\n// Data structure for recording information of media segments in single track.\r\n\r\n\r\nvar MediaSegmentInfoList = exports.MediaSegmentInfoList = function () {\r\n    function MediaSegmentInfoList(type) {\r\n        _classCallCheck(this, MediaSegmentInfoList);\r\n\r\n        this._type = type;\r\n        this._list = [];\r\n        this._lastAppendLocation = -1; // cached last insert location\r\n    }\r\n\r\n    _createClass(MediaSegmentInfoList, [{\r\n        key: \"isEmpty\",\r\n        value: function isEmpty() {\r\n            return this._list.length === 0;\r\n        }\r\n    }, {\r\n        key: \"clear\",\r\n        value: function clear() {\r\n            this._list = [];\r\n            this._lastAppendLocation = -1;\r\n        }\r\n    }, {\r\n        key: \"_searchNearestSegmentBefore\",\r\n        value: function _searchNearestSegmentBefore(originalBeginDts) {\r\n            var list = this._list;\r\n            if (list.length === 0) {\r\n                return -2;\r\n            }\r\n            var last = list.length - 1;\r\n            var mid = 0;\r\n            var lbound = 0;\r\n            var ubound = last;\r\n\r\n            var idx = 0;\r\n\r\n            if (originalBeginDts < list[0].originalBeginDts) {\r\n                idx = -1;\r\n                return idx;\r\n            }\r\n\r\n            while (lbound <= ubound) {\r\n                mid = lbound + Math.floor((ubound - lbound) / 2);\r\n                if (mid === last || originalBeginDts > list[mid].lastSample.originalDts && originalBeginDts < list[mid + 1].originalBeginDts) {\r\n                    idx = mid;\r\n                    break;\r\n                } else if (list[mid].originalBeginDts < originalBeginDts) {\r\n                    lbound = mid + 1;\r\n                } else {\r\n                    ubound = mid - 1;\r\n                }\r\n            }\r\n            return idx;\r\n        }\r\n    }, {\r\n        key: \"_searchNearestSegmentAfter\",\r\n        value: function _searchNearestSegmentAfter(originalBeginDts) {\r\n            return this._searchNearestSegmentBefore(originalBeginDts) + 1;\r\n        }\r\n    }, {\r\n        key: \"append\",\r\n        value: function append(mediaSegmentInfo) {\r\n            var list = this._list;\r\n            var msi = mediaSegmentInfo;\r\n            var lastAppendIdx = this._lastAppendLocation;\r\n            var insertIdx = 0;\r\n\r\n            if (lastAppendIdx !== -1 && lastAppendIdx < list.length && msi.originalBeginDts >= list[lastAppendIdx].lastSample.originalDts && (lastAppendIdx === list.length - 1 || lastAppendIdx < list.length - 1 && msi.originalBeginDts < list[lastAppendIdx + 1].originalBeginDts)) {\r\n                insertIdx = lastAppendIdx + 1; // use cached location idx\r\n            } else {\r\n                if (list.length > 0) {\r\n                    insertIdx = this._searchNearestSegmentBefore(msi.originalBeginDts) + 1;\r\n                }\r\n            }\r\n\r\n            this._lastAppendLocation = insertIdx;\r\n            this._list.splice(insertIdx, 0, msi);\r\n        }\r\n    }, {\r\n        key: \"getLastSegmentBefore\",\r\n        value: function getLastSegmentBefore(originalBeginDts) {\r\n            var idx = this._searchNearestSegmentBefore(originalBeginDts);\r\n            if (idx >= 0) {\r\n                return this._list[idx];\r\n            } else {\r\n                // -1\r\n                return null;\r\n            }\r\n        }\r\n    }, {\r\n        key: \"getLastSampleBefore\",\r\n        value: function getLastSampleBefore(originalBeginDts) {\r\n            var segment = this.getLastSegmentBefore(originalBeginDts);\r\n            if (segment != null) {\r\n                return segment.lastSample;\r\n            } else {\r\n                return null;\r\n            }\r\n        }\r\n    }, {\r\n        key: \"getLastSyncPointBefore\",\r\n        value: function getLastSyncPointBefore(originalBeginDts) {\r\n            var segmentIdx = this._searchNearestSegmentBefore(originalBeginDts);\r\n            var syncPoints = this._list[segmentIdx].syncPoints;\r\n            while (syncPoints.length === 0 && segmentIdx > 0) {\r\n                segmentIdx--;\r\n                syncPoints = this._list[segmentIdx].syncPoints;\r\n            }\r\n            if (syncPoints.length > 0) {\r\n                return syncPoints[syncPoints.length - 1];\r\n            } else {\r\n                return null;\r\n            }\r\n        }\r\n    }, {\r\n        key: \"type\",\r\n        get: function get() {\r\n            return this._type;\r\n        }\r\n    }, {\r\n        key: \"length\",\r\n        get: function get() {\r\n            return this._list.length;\r\n        }\r\n    }]);\r\n\r\n    return MediaSegmentInfoList;\r\n}();\r\n\r\n},{}],9:[function(_dereq_,module,exports){\r\n'use strict';\r\n\r\nObject.defineProperty(exports, \"__esModule\", {\r\n    value: true\r\n});\r\n\r\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /*\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * @author zheng qian <xqq@xqq.im>\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * you may not use this file except in compliance with the License.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * You may obtain a copy of the License at\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *     http://www.apache.org/licenses/LICENSE-2.0\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * Unless required by applicable law or agreed to in writing, software\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * See the License for the specific language governing permissions and\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * limitations under the License.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      */\r\n\r\nvar _events = _dereq_('events');\r\n\r\nvar _events2 = _interopRequireDefault(_events);\r\n\r\nvar _logger = _dereq_('../utils/logger.js');\r\n\r\nvar _logger2 = _interopRequireDefault(_logger);\r\n\r\nvar _browser = _dereq_('../utils/browser.js');\r\n\r\nvar _browser2 = _interopRequireDefault(_browser);\r\n\r\nvar _mseEvents = _dereq_('./mse-events.js');\r\n\r\nvar _mseEvents2 = _interopRequireDefault(_mseEvents);\r\n\r\nvar _mediaSegmentInfo = _dereq_('./media-segment-info.js');\r\n\r\nvar _exception = _dereq_('../utils/exception.js');\r\n\r\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\r\n\r\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\r\n\r\n// Media Source Extensions controller\r\nvar MSEController = function () {\r\n    function MSEController(config) {\r\n        _classCallCheck(this, MSEController);\r\n\r\n        this.TAG = 'MSEController';\r\n\r\n        this._config = config;\r\n        this._emitter = new _events2.default();\r\n\r\n        if (this._config.isLive && this._config.autoCleanupSourceBuffer == undefined) {\r\n            // For live stream, do auto cleanup by default\r\n            this._config.autoCleanupSourceBuffer = true;\r\n        }\r\n\r\n        this.e = {\r\n            onSourceOpen: this._onSourceOpen.bind(this),\r\n            onSourceEnded: this._onSourceEnded.bind(this),\r\n            onSourceClose: this._onSourceClose.bind(this),\r\n            onSourceBufferError: this._onSourceBufferError.bind(this),\r\n            onSourceBufferUpdateEnd: this._onSourceBufferUpdateEnd.bind(this)\r\n        };\r\n\r\n        this._mediaSource = null;\r\n        this._mediaSourceObjectURL = null;\r\n        this._mediaElement = null;\r\n\r\n        this._isBufferFull = false;\r\n        this._hasPendingEos = false;\r\n\r\n        this._requireSetMediaDuration = false;\r\n        this._pendingMediaDuration = 0;\r\n\r\n        this._pendingSourceBufferInit = [];\r\n        this._mimeTypes = {\r\n            video: null,\r\n            audio: null\r\n        };\r\n        this._sourceBuffers = {\r\n            video: null,\r\n            audio: null\r\n        };\r\n        this._lastInitSegments = {\r\n            video: null,\r\n            audio: null\r\n        };\r\n        this._pendingSegments = {\r\n            video: [],\r\n            audio: []\r\n        };\r\n        this._pendingRemoveRanges = {\r\n            video: [],\r\n            audio: []\r\n        };\r\n        this._idrList = new _mediaSegmentInfo.IDRSampleList();\r\n    }\r\n\r\n    _createClass(MSEController, [{\r\n        key: 'destroy',\r\n        value: function destroy() {\r\n            if (this._mediaElement || this._mediaSource) {\r\n                this.detachMediaElement();\r\n            }\r\n            this.e = null;\r\n            this._emitter.removeAllListeners();\r\n            this._emitter = null;\r\n        }\r\n    }, {\r\n        key: 'on',\r\n        value: function on(event, listener) {\r\n            this._emitter.addListener(event, listener);\r\n        }\r\n    }, {\r\n        key: 'off',\r\n        value: function off(event, listener) {\r\n            this._emitter.removeListener(event, listener);\r\n        }\r\n    }, {\r\n        key: 'attachMediaElement',\r\n        value: function attachMediaElement(mediaElement) {\r\n            if (this._mediaSource) {\r\n                throw new _exception.IllegalStateException('MediaSource has been attached to an HTMLMediaElement!');\r\n            }\r\n            var ms = this._mediaSource = new window.MediaSource();\r\n            ms.addEventListener('sourceopen', this.e.onSourceOpen);\r\n            ms.addEventListener('sourceended', this.e.onSourceEnded);\r\n            ms.addEventListener('sourceclose', this.e.onSourceClose);\r\n\r\n            this._mediaElement = mediaElement;\r\n            this._mediaSourceObjectURL = window.URL.createObjectURL(this._mediaSource);\r\n            mediaElement.src = this._mediaSourceObjectURL;\r\n        }\r\n    }, {\r\n        key: 'detachMediaElement',\r\n        value: function detachMediaElement() {\r\n            if (this._mediaSource) {\r\n                var ms = this._mediaSource;\r\n                for (var type in this._sourceBuffers) {\r\n                    // pending segments should be discard\r\n                    var ps = this._pendingSegments[type];\r\n                    ps.splice(0, ps.length);\r\n                    this._pendingSegments[type] = null;\r\n                    this._pendingRemoveRanges[type] = null;\r\n                    this._lastInitSegments[type] = null;\r\n\r\n                    // remove all sourcebuffers\r\n                    var sb = this._sourceBuffers[type];\r\n                    if (sb) {\r\n                        if (ms.readyState !== 'closed') {\r\n                            // ms edge can throw an error: Unexpected call to method or property access\r\n                            try {\r\n                                ms.removeSourceBuffer(sb);\r\n                            } catch (error) {\r\n                                _logger2.default.e(this.TAG, error.message);\r\n                            }\r\n                            sb.removeEventListener('error', this.e.onSourceBufferError);\r\n                            sb.removeEventListener('updateend', this.e.onSourceBufferUpdateEnd);\r\n                        }\r\n                        this._mimeTypes[type] = null;\r\n                        this._sourceBuffers[type] = null;\r\n                    }\r\n                }\r\n                if (ms.readyState === 'open') {\r\n                    try {\r\n                        ms.endOfStream();\r\n                    } catch (error) {\r\n                        _logger2.default.e(this.TAG, error.message);\r\n                    }\r\n                }\r\n                ms.removeEventListener('sourceopen', this.e.onSourceOpen);\r\n                ms.removeEventListener('sourceended', this.e.onSourceEnded);\r\n                ms.removeEventListener('sourceclose', this.e.onSourceClose);\r\n                this._pendingSourceBufferInit = [];\r\n                this._isBufferFull = false;\r\n                this._idrList.clear();\r\n                this._mediaSource = null;\r\n            }\r\n\r\n            if (this._mediaElement) {\r\n                this._mediaElement.src = '';\r\n                this._mediaElement.removeAttribute('src');\r\n                this._mediaElement = null;\r\n            }\r\n            if (this._mediaSourceObjectURL) {\r\n                window.URL.revokeObjectURL(this._mediaSourceObjectURL);\r\n                this._mediaSourceObjectURL = null;\r\n            }\r\n        }\r\n    }, {\r\n        key: 'appendInitSegment',\r\n        value: function appendInitSegment(initSegment, deferred) {\r\n            if (!this._mediaSource || this._mediaSource.readyState !== 'open') {\r\n                // sourcebuffer creation requires mediaSource.readyState === 'open'\r\n                // so we defer the sourcebuffer creation, until sourceopen event triggered\r\n                this._pendingSourceBufferInit.push(initSegment);\r\n                // make sure that this InitSegment is in the front of pending segments queue\r\n                this._pendingSegments[initSegment.type].push(initSegment);\r\n                return;\r\n            }\r\n\r\n            var is = initSegment;\r\n            var mimeType = '' + is.container;\r\n            if (is.codec && is.codec.length > 0) {\r\n                mimeType += ';codecs=' + is.codec;\r\n            }\r\n\r\n            var firstInitSegment = false;\r\n\r\n            _logger2.default.v(this.TAG, 'Received Initialization Segment, mimeType: ' + mimeType);\r\n            this._lastInitSegments[is.type] = is;\r\n\r\n            if (mimeType !== this._mimeTypes[is.type]) {\r\n                if (!this._mimeTypes[is.type]) {\r\n                    // empty, first chance create sourcebuffer\r\n                    firstInitSegment = true;\r\n                    try {\r\n                        var sb = this._sourceBuffers[is.type] = this._mediaSource.addSourceBuffer(mimeType);\r\n                        sb.addEventListener('error', this.e.onSourceBufferError);\r\n                        sb.addEventListener('updateend', this.e.onSourceBufferUpdateEnd);\r\n                    } catch (error) {\r\n                        _logger2.default.e(this.TAG, error.message);\r\n                        this._emitter.emit(_mseEvents2.default.ERROR, { code: error.code, msg: error.message });\r\n                        return;\r\n                    }\r\n                } else {\r\n                    _logger2.default.v(this.TAG, 'Notice: ' + is.type + ' mimeType changed, origin: ' + this._mimeTypes[is.type] + ', target: ' + mimeType);\r\n                }\r\n                this._mimeTypes[is.type] = mimeType;\r\n            }\r\n\r\n            if (!deferred) {\r\n                // deferred means this InitSegment has been pushed to pendingSegments queue\r\n                this._pendingSegments[is.type].push(is);\r\n            }\r\n            if (!firstInitSegment) {\r\n                // append immediately only if init segment in subsequence\r\n                if (this._sourceBuffers[is.type] && !this._sourceBuffers[is.type].updating) {\r\n                    this._doAppendSegments();\r\n                }\r\n            }\r\n            if (_browser2.default.safari && is.container === 'audio/mpeg' && is.mediaDuration > 0) {\r\n                // 'audio/mpeg' track under Safari may cause MediaElement's duration to be NaN\r\n                // Manually correct MediaSource.duration to make progress bar seekable, and report right duration\r\n                this._requireSetMediaDuration = true;\r\n                this._pendingMediaDuration = is.mediaDuration / 1000; // in seconds\r\n                this._updateMediaSourceDuration();\r\n            }\r\n        }\r\n    }, {\r\n        key: 'appendMediaSegment',\r\n        value: function appendMediaSegment(mediaSegment) {\r\n            var ms = mediaSegment;\r\n            this._pendingSegments[ms.type].push(ms);\r\n\r\n            if (this._config.autoCleanupSourceBuffer && this._needCleanupSourceBuffer()) {\r\n                this._doCleanupSourceBuffer();\r\n            }\r\n\r\n            var sb = this._sourceBuffers[ms.type];\r\n            if (sb && !sb.updating && !this._hasPendingRemoveRanges()) {\r\n                this._doAppendSegments();\r\n            }\r\n        }\r\n    }, {\r\n        key: 'seek',\r\n        value: function seek(seconds) {\r\n            // remove all appended buffers\r\n            for (var type in this._sourceBuffers) {\r\n                if (!this._sourceBuffers[type]) {\r\n                    continue;\r\n                }\r\n\r\n                // abort current buffer append algorithm\r\n                var sb = this._sourceBuffers[type];\r\n                if (this._mediaSource.readyState === 'open') {\r\n                    try {\r\n                        // If range removal algorithm is running, InvalidStateError will be throwed\r\n                        // Ignore it.\r\n                        sb.abort();\r\n                    } catch (error) {\r\n                        _logger2.default.e(this.TAG, error.message);\r\n                    }\r\n                }\r\n\r\n                // IDRList should be clear\r\n                this._idrList.clear();\r\n\r\n                // pending segments should be discard\r\n                var ps = this._pendingSegments[type];\r\n                ps.splice(0, ps.length);\r\n\r\n                if (this._mediaSource.readyState === 'closed') {\r\n                    // Parent MediaSource object has been detached from HTMLMediaElement\r\n                    continue;\r\n                }\r\n\r\n                // record ranges to be remove from SourceBuffer\r\n                for (var i = 0; i < sb.buffered.length; i++) {\r\n                    var start = sb.buffered.start(i);\r\n                    var end = sb.buffered.end(i);\r\n                    this._pendingRemoveRanges[type].push({ start: start, end: end });\r\n                }\r\n\r\n                // if sb is not updating, let's remove ranges now!\r\n                if (!sb.updating) {\r\n                    this._doRemoveRanges();\r\n                }\r\n\r\n                // Safari 10 may get InvalidStateError in the later appendBuffer() after SourceBuffer.remove() call\r\n                // Internal parser's state may be invalid at this time. Re-append last InitSegment to workaround.\r\n                // Related issue: https://bugs.webkit.org/show_bug.cgi?id=159230\r\n                if (_browser2.default.safari) {\r\n                    var lastInitSegment = this._lastInitSegments[type];\r\n                    if (lastInitSegment) {\r\n                        this._pendingSegments[type].push(lastInitSegment);\r\n                        if (!sb.updating) {\r\n                            this._doAppendSegments();\r\n                        }\r\n                    }\r\n                }\r\n            }\r\n        }\r\n    }, {\r\n        key: 'endOfStream',\r\n        value: function endOfStream() {\r\n            var ms = this._mediaSource;\r\n            var sb = this._sourceBuffers;\r\n            if (!ms || ms.readyState !== 'open') {\r\n                if (ms && ms.readyState === 'closed' && this._hasPendingSegments()) {\r\n                    // If MediaSource hasn't turned into open state, and there're pending segments\r\n                    // Mark pending endOfStream, defer call until all pending segments appended complete\r\n                    this._hasPendingEos = true;\r\n                }\r\n                return;\r\n            }\r\n            if (sb.video && sb.video.updating || sb.audio && sb.audio.updating) {\r\n                // If any sourcebuffer is updating, defer endOfStream operation\r\n                // See _onSourceBufferUpdateEnd()\r\n                this._hasPendingEos = true;\r\n            } else {\r\n                this._hasPendingEos = false;\r\n                // Notify media data loading complete\r\n                // This is helpful for correcting total duration to match last media segment\r\n                // Otherwise MediaElement's ended event may not be triggered\r\n                ms.endOfStream();\r\n            }\r\n        }\r\n    }, {\r\n        key: 'getNearestKeyframe',\r\n        value: function getNearestKeyframe(dts) {\r\n            return this._idrList.getLastSyncPointBeforeDts(dts);\r\n        }\r\n    }, {\r\n        key: '_needCleanupSourceBuffer',\r\n        value: function _needCleanupSourceBuffer() {\r\n            if (!this._config.autoCleanupSourceBuffer) {\r\n                return false;\r\n            }\r\n\r\n            var currentTime = this._mediaElement.currentTime;\r\n\r\n            for (var type in this._sourceBuffers) {\r\n                var sb = this._sourceBuffers[type];\r\n                if (sb) {\r\n                    var buffered = sb.buffered;\r\n                    if (buffered.length >= 1) {\r\n                        if (currentTime - buffered.start(0) >= this._config.autoCleanupMaxBackwardDuration) {\r\n                            return true;\r\n                        }\r\n                    }\r\n                }\r\n            }\r\n\r\n            return false;\r\n        }\r\n    }, {\r\n        key: '_doCleanupSourceBuffer',\r\n        value: function _doCleanupSourceBuffer() {\r\n            var currentTime = this._mediaElement.currentTime;\r\n\r\n            for (var type in this._sourceBuffers) {\r\n                var sb = this._sourceBuffers[type];\r\n                if (sb) {\r\n                    var buffered = sb.buffered;\r\n                    var doRemove = false;\r\n\r\n                    for (var i = 0; i < buffered.length; i++) {\r\n                        var start = buffered.start(i);\r\n                        var end = buffered.end(i);\r\n\r\n                        if (start <= currentTime && currentTime < end + 3) {\r\n                            // padding 3 seconds\r\n                            if (currentTime - start >= this._config.autoCleanupMaxBackwardDuration) {\r\n                                doRemove = true;\r\n                                var removeEnd = currentTime - this._config.autoCleanupMinBackwardDuration;\r\n                                this._pendingRemoveRanges[type].push({ start: start, end: removeEnd });\r\n                            }\r\n                        } else if (end < currentTime) {\r\n                            doRemove = true;\r\n                            this._pendingRemoveRanges[type].push({ start: start, end: end });\r\n                        }\r\n                    }\r\n\r\n                    if (doRemove && !sb.updating) {\r\n                        this._doRemoveRanges();\r\n                    }\r\n                }\r\n            }\r\n        }\r\n    }, {\r\n        key: '_updateMediaSourceDuration',\r\n        value: function _updateMediaSourceDuration() {\r\n            var sb = this._sourceBuffers;\r\n            if (this._mediaElement.readyState === 0 || this._mediaSource.readyState !== 'open') {\r\n                return;\r\n            }\r\n            if (sb.video && sb.video.updating || sb.audio && sb.audio.updating) {\r\n                return;\r\n            }\r\n\r\n            var current = this._mediaSource.duration;\r\n            var target = this._pendingMediaDuration;\r\n\r\n            if (target > 0 && (isNaN(current) || target > current)) {\r\n                _logger2.default.v(this.TAG, 'Update MediaSource duration from ' + current + ' to ' + target);\r\n                this._mediaSource.duration = target;\r\n            }\r\n\r\n            this._requireSetMediaDuration = false;\r\n            this._pendingMediaDuration = 0;\r\n        }\r\n    }, {\r\n        key: '_doRemoveRanges',\r\n        value: function _doRemoveRanges() {\r\n            for (var type in this._pendingRemoveRanges) {\r\n                if (!this._sourceBuffers[type] || this._sourceBuffers[type].updating) {\r\n                    continue;\r\n                }\r\n                var sb = this._sourceBuffers[type];\r\n                var ranges = this._pendingRemoveRanges[type];\r\n                while (ranges.length && !sb.updating) {\r\n                    var range = ranges.shift();\r\n                    sb.remove(range.start, range.end);\r\n                }\r\n            }\r\n        }\r\n    }, {\r\n        key: '_doAppendSegments',\r\n        value: function _doAppendSegments() {\r\n            var pendingSegments = this._pendingSegments;\r\n\r\n            for (var type in pendingSegments) {\r\n                if (!this._sourceBuffers[type] || this._sourceBuffers[type].updating) {\r\n                    continue;\r\n                }\r\n\r\n                if (pendingSegments[type].length > 0) {\r\n                    var segment = pendingSegments[type].shift();\r\n\r\n                    if (segment.timestampOffset) {\r\n                        // For MPEG audio stream in MSE, if unbuffered-seeking occurred\r\n                        // We need explicitly set timestampOffset to the desired point in timeline for mpeg SourceBuffer.\r\n                        var currentOffset = this._sourceBuffers[type].timestampOffset;\r\n                        var targetOffset = segment.timestampOffset / 1000; // in seconds\r\n\r\n                        var delta = Math.abs(currentOffset - targetOffset);\r\n                        if (delta > 0.1) {\r\n                            // If time delta > 100ms\r\n                            _logger2.default.v(this.TAG, 'Update MPEG audio timestampOffset from ' + currentOffset + ' to ' + targetOffset);\r\n                            this._sourceBuffers[type].timestampOffset = targetOffset;\r\n                        }\r\n                        delete segment.timestampOffset;\r\n                    }\r\n\r\n                    if (!segment.data || segment.data.byteLength === 0) {\r\n                        // Ignore empty buffer\r\n                        continue;\r\n                    }\r\n\r\n                    try {\r\n                        this._sourceBuffers[type].appendBuffer(segment.data);\r\n                        this._isBufferFull = false;\r\n                        if (type === 'video' && segment.hasOwnProperty('info')) {\r\n                            this._idrList.appendArray(segment.info.syncPoints);\r\n                        }\r\n                    } catch (error) {\r\n                        this._pendingSegments[type].unshift(segment);\r\n                        if (error.code === 22) {\r\n                            // QuotaExceededError\r\n                            /* Notice that FireFox may not throw QuotaExceededError if SourceBuffer is full\r\n                             * Currently we can only do lazy-load to avoid SourceBuffer become scattered.\r\n                             * SourceBuffer eviction policy may be changed in future version of FireFox.\r\n                             *\r\n                             * Related issues:\r\n                             * https://bugzilla.mozilla.org/show_bug.cgi?id=1279885\r\n                             * https://bugzilla.mozilla.org/show_bug.cgi?id=1280023\r\n                             */\r\n\r\n                            // report buffer full, abort network IO\r\n                            if (!this._isBufferFull) {\r\n                                this._emitter.emit(_mseEvents2.default.BUFFER_FULL);\r\n                            }\r\n                            this._isBufferFull = true;\r\n                        } else {\r\n                            _logger2.default.e(this.TAG, error.message);\r\n                            this._emitter.emit(_mseEvents2.default.ERROR, { code: error.code, msg: error.message });\r\n                        }\r\n                    }\r\n                }\r\n            }\r\n        }\r\n    }, {\r\n        key: '_onSourceOpen',\r\n        value: function _onSourceOpen() {\r\n            _logger2.default.v(this.TAG, 'MediaSource onSourceOpen');\r\n            this._mediaSource.removeEventListener('sourceopen', this.e.onSourceOpen);\r\n            // deferred sourcebuffer creation / initialization\r\n            if (this._pendingSourceBufferInit.length > 0) {\r\n                var pendings = this._pendingSourceBufferInit;\r\n                while (pendings.length) {\r\n                    var segment = pendings.shift();\r\n                    this.appendInitSegment(segment, true);\r\n                }\r\n            }\r\n            // there may be some pending media segments, append them\r\n            if (this._hasPendingSegments()) {\r\n                this._doAppendSegments();\r\n            }\r\n            this._emitter.emit(_mseEvents2.default.SOURCE_OPEN);\r\n        }\r\n    }, {\r\n        key: '_onSourceEnded',\r\n        value: function _onSourceEnded() {\r\n            // fired on endOfStream\r\n            _logger2.default.v(this.TAG, 'MediaSource onSourceEnded');\r\n        }\r\n    }, {\r\n        key: '_onSourceClose',\r\n        value: function _onSourceClose() {\r\n            // fired on detaching from media element\r\n            _logger2.default.v(this.TAG, 'MediaSource onSourceClose');\r\n            if (this._mediaSource && this.e != null) {\r\n                this._mediaSource.removeEventListener('sourceopen', this.e.onSourceOpen);\r\n                this._mediaSource.removeEventListener('sourceended', this.e.onSourceEnded);\r\n                this._mediaSource.removeEventListener('sourceclose', this.e.onSourceClose);\r\n            }\r\n        }\r\n    }, {\r\n        key: '_hasPendingSegments',\r\n        value: function _hasPendingSegments() {\r\n            var ps = this._pendingSegments;\r\n            return ps.video.length > 0 || ps.audio.length > 0;\r\n        }\r\n    }, {\r\n        key: '_hasPendingRemoveRanges',\r\n        value: function _hasPendingRemoveRanges() {\r\n            var prr = this._pendingRemoveRanges;\r\n            return prr.video.length > 0 || prr.audio.length > 0;\r\n        }\r\n    }, {\r\n        key: '_onSourceBufferUpdateEnd',\r\n        value: function _onSourceBufferUpdateEnd() {\r\n            if (this._requireSetMediaDuration) {\r\n                this._updateMediaSourceDuration();\r\n            } else if (this._hasPendingRemoveRanges()) {\r\n                this._doRemoveRanges();\r\n            } else if (this._hasPendingSegments()) {\r\n                this._doAppendSegments();\r\n            } else if (this._hasPendingEos) {\r\n                this.endOfStream();\r\n            }\r\n            this._emitter.emit(_mseEvents2.default.UPDATE_END);\r\n        }\r\n    }, {\r\n        key: '_onSourceBufferError',\r\n        value: function _onSourceBufferError(e) {\r\n            _logger2.default.e(this.TAG, 'SourceBuffer Error: ' + e);\r\n            // this error might not always be fatal, just ignore it\r\n        }\r\n    }]);\r\n\r\n    return MSEController;\r\n}();\r\n\r\nexports.default = MSEController;\r\n\r\n},{\"../utils/browser.js\":39,\"../utils/exception.js\":40,\"../utils/logger.js\":41,\"./media-segment-info.js\":8,\"./mse-events.js\":10,\"events\":2}],10:[function(_dereq_,module,exports){\r\n'use strict';\r\n\r\nObject.defineProperty(exports, \"__esModule\", {\r\n  value: true\r\n});\r\n/*\r\n * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n *\r\n * @author zheng qian <xqq@xqq.im>\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\nvar MSEEvents = {\r\n  ERROR: 'error',\r\n  SOURCE_OPEN: 'source_open',\r\n  UPDATE_END: 'update_end',\r\n  BUFFER_FULL: 'buffer_full'\r\n};\r\n\r\nexports.default = MSEEvents;\r\n\r\n},{}],11:[function(_dereq_,module,exports){\r\n'use strict';\r\n\r\nObject.defineProperty(exports, \"__esModule\", {\r\n    value: true\r\n});\r\n\r\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /*\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * @author zheng qian <xqq@xqq.im>\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * you may not use this file except in compliance with the License.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * You may obtain a copy of the License at\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *     http://www.apache.org/licenses/LICENSE-2.0\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * Unless required by applicable law or agreed to in writing, software\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * See the License for the specific language governing permissions and\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * limitations under the License.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      */\r\n\r\nvar _events = _dereq_('events');\r\n\r\nvar _events2 = _interopRequireDefault(_events);\r\n\r\nvar _logger = _dereq_('../utils/logger.js');\r\n\r\nvar _logger2 = _interopRequireDefault(_logger);\r\n\r\nvar _loggingControl = _dereq_('../utils/logging-control.js');\r\n\r\nvar _loggingControl2 = _interopRequireDefault(_loggingControl);\r\n\r\nvar _transmuxingController = _dereq_('./transmuxing-controller.js');\r\n\r\nvar _transmuxingController2 = _interopRequireDefault(_transmuxingController);\r\n\r\nvar _transmuxingEvents = _dereq_('./transmuxing-events.js');\r\n\r\nvar _transmuxingEvents2 = _interopRequireDefault(_transmuxingEvents);\r\n\r\nvar _transmuxingWorker = _dereq_('./transmuxing-worker.js');\r\n\r\nvar _transmuxingWorker2 = _interopRequireDefault(_transmuxingWorker);\r\n\r\nvar _mediaInfo = _dereq_('./media-info.js');\r\n\r\nvar _mediaInfo2 = _interopRequireDefault(_mediaInfo);\r\n\r\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\r\n\r\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\r\n\r\nvar Transmuxer = function () {\r\n    function Transmuxer(mediaDataSource, config) {\r\n        _classCallCheck(this, Transmuxer);\r\n\r\n        this.TAG = 'Transmuxer';\r\n        this._emitter = new _events2.default();\r\n\r\n        if (config.enableWorker && typeof Worker !== 'undefined') {\r\n            try {\r\n                var work = _dereq_('webworkify');\r\n                this._worker = work(_transmuxingWorker2.default);\r\n                this._workerDestroying = false;\r\n                this._worker.addEventListener('message', this._onWorkerMessage.bind(this));\r\n                this._worker.postMessage({ cmd: 'init', param: [mediaDataSource, config] });\r\n                this.e = {\r\n                    onLoggingConfigChanged: this._onLoggingConfigChanged.bind(this)\r\n                };\r\n                _loggingControl2.default.registerListener(this.e.onLoggingConfigChanged);\r\n                this._worker.postMessage({ cmd: 'logging_config', param: _loggingControl2.default.getConfig() });\r\n            } catch (error) {\r\n                _logger2.default.e(this.TAG, 'Error while initialize transmuxing worker, fallback to inline transmuxing');\r\n                this._worker = null;\r\n                this._controller = new _transmuxingController2.default(mediaDataSource, config);\r\n            }\r\n        } else {\r\n            this._controller = new _transmuxingController2.default(mediaDataSource, config);\r\n        }\r\n\r\n        if (this._controller) {\r\n            var ctl = this._controller;\r\n            ctl.on(_transmuxingEvents2.default.IO_ERROR, this._onIOError.bind(this));\r\n            ctl.on(_transmuxingEvents2.default.DEMUX_ERROR, this._onDemuxError.bind(this));\r\n            ctl.on(_transmuxingEvents2.default.INIT_SEGMENT, this._onInitSegment.bind(this));\r\n            ctl.on(_transmuxingEvents2.default.MEDIA_SEGMENT, this._onMediaSegment.bind(this));\r\n            ctl.on(_transmuxingEvents2.default.LOADING_COMPLETE, this._onLoadingComplete.bind(this));\r\n            ctl.on(_transmuxingEvents2.default.RECOVERED_EARLY_EOF, this._onRecoveredEarlyEof.bind(this));\r\n            ctl.on(_transmuxingEvents2.default.MEDIA_INFO, this._onMediaInfo.bind(this));\r\n            ctl.on(_transmuxingEvents2.default.METADATA_ARRIVED, this._onMetaDataArrived.bind(this));\r\n            ctl.on(_transmuxingEvents2.default.SCRIPTDATA_ARRIVED, this._onScriptDataArrived.bind(this));\r\n            ctl.on(_transmuxingEvents2.default.STATISTICS_INFO, this._onStatisticsInfo.bind(this));\r\n            ctl.on(_transmuxingEvents2.default.RECOMMEND_SEEKPOINT, this._onRecommendSeekpoint.bind(this));\r\n        }\r\n    }\r\n\r\n    _createClass(Transmuxer, [{\r\n        key: 'destroy',\r\n        value: function destroy() {\r\n            if (this._worker) {\r\n                if (!this._workerDestroying) {\r\n                    this._workerDestroying = true;\r\n                    this._worker.postMessage({ cmd: 'destroy' });\r\n                    _loggingControl2.default.removeListener(this.e.onLoggingConfigChanged);\r\n                    this.e = null;\r\n                }\r\n            } else {\r\n                this._controller.destroy();\r\n                this._controller = null;\r\n            }\r\n            this._emitter.removeAllListeners();\r\n            this._emitter = null;\r\n        }\r\n    }, {\r\n        key: 'on',\r\n        value: function on(event, listener) {\r\n            this._emitter.addListener(event, listener);\r\n        }\r\n    }, {\r\n        key: 'off',\r\n        value: function off(event, listener) {\r\n            this._emitter.removeListener(event, listener);\r\n        }\r\n    }, {\r\n        key: 'hasWorker',\r\n        value: function hasWorker() {\r\n            return this._worker != null;\r\n        }\r\n    }, {\r\n        key: 'open',\r\n        value: function open() {\r\n            if (this._worker) {\r\n                this._worker.postMessage({ cmd: 'start' });\r\n            } else {\r\n                this._controller.start();\r\n            }\r\n        }\r\n    }, {\r\n        key: 'close',\r\n        value: function close() {\r\n            if (this._worker) {\r\n                this._worker.postMessage({ cmd: 'stop' });\r\n            } else {\r\n                this._controller.stop();\r\n            }\r\n        }\r\n    }, {\r\n        key: 'seek',\r\n        value: function seek(milliseconds) {\r\n            if (this._worker) {\r\n                this._worker.postMessage({ cmd: 'seek', param: milliseconds });\r\n            } else {\r\n                this._controller.seek(milliseconds);\r\n            }\r\n        }\r\n    }, {\r\n        key: 'pause',\r\n        value: function pause() {\r\n            if (this._worker) {\r\n                this._worker.postMessage({ cmd: 'pause' });\r\n            } else {\r\n                this._controller.pause();\r\n            }\r\n        }\r\n    }, {\r\n        key: 'resume',\r\n        value: function resume() {\r\n            if (this._worker) {\r\n                this._worker.postMessage({ cmd: 'resume' });\r\n            } else {\r\n                this._controller.resume();\r\n            }\r\n        }\r\n    }, {\r\n        key: '_onInitSegment',\r\n        value: function _onInitSegment(type, initSegment) {\r\n            var _this = this;\r\n\r\n            // do async invoke\r\n            Promise.resolve().then(function () {\r\n                _this._emitter.emit(_transmuxingEvents2.default.INIT_SEGMENT, type, initSegment);\r\n            });\r\n        }\r\n    }, {\r\n        key: '_onMediaSegment',\r\n        value: function _onMediaSegment(type, mediaSegment) {\r\n            var _this2 = this;\r\n\r\n            Promise.resolve().then(function () {\r\n                _this2._emitter.emit(_transmuxingEvents2.default.MEDIA_SEGMENT, type, mediaSegment);\r\n            });\r\n        }\r\n    }, {\r\n        key: '_onLoadingComplete',\r\n        value: function _onLoadingComplete() {\r\n            var _this3 = this;\r\n\r\n            Promise.resolve().then(function () {\r\n                _this3._emitter.emit(_transmuxingEvents2.default.LOADING_COMPLETE);\r\n            });\r\n        }\r\n    }, {\r\n        key: '_onRecoveredEarlyEof',\r\n        value: function _onRecoveredEarlyEof() {\r\n            var _this4 = this;\r\n\r\n            Promise.resolve().then(function () {\r\n                _this4._emitter.emit(_transmuxingEvents2.default.RECOVERED_EARLY_EOF);\r\n            });\r\n        }\r\n    }, {\r\n        key: '_onMediaInfo',\r\n        value: function _onMediaInfo(mediaInfo) {\r\n            var _this5 = this;\r\n\r\n            Promise.resolve().then(function () {\r\n                _this5._emitter.emit(_transmuxingEvents2.default.MEDIA_INFO, mediaInfo);\r\n            });\r\n        }\r\n    }, {\r\n        key: '_onMetaDataArrived',\r\n        value: function _onMetaDataArrived(metadata) {\r\n            var _this6 = this;\r\n\r\n            Promise.resolve().then(function () {\r\n                _this6._emitter.emit(_transmuxingEvents2.default.METADATA_ARRIVED, metadata);\r\n            });\r\n        }\r\n    }, {\r\n        key: '_onScriptDataArrived',\r\n        value: function _onScriptDataArrived(data) {\r\n            var _this7 = this;\r\n\r\n            Promise.resolve().then(function () {\r\n                _this7._emitter.emit(_transmuxingEvents2.default.SCRIPTDATA_ARRIVED, data);\r\n            });\r\n        }\r\n    }, {\r\n        key: '_onStatisticsInfo',\r\n        value: function _onStatisticsInfo(statisticsInfo) {\r\n            var _this8 = this;\r\n\r\n            Promise.resolve().then(function () {\r\n                _this8._emitter.emit(_transmuxingEvents2.default.STATISTICS_INFO, statisticsInfo);\r\n            });\r\n        }\r\n    }, {\r\n        key: '_onIOError',\r\n        value: function _onIOError(type, info) {\r\n            var _this9 = this;\r\n\r\n            Promise.resolve().then(function () {\r\n                _this9._emitter.emit(_transmuxingEvents2.default.IO_ERROR, type, info);\r\n            });\r\n        }\r\n    }, {\r\n        key: '_onDemuxError',\r\n        value: function _onDemuxError(type, info) {\r\n            var _this10 = this;\r\n\r\n            Promise.resolve().then(function () {\r\n                _this10._emitter.emit(_transmuxingEvents2.default.DEMUX_ERROR, type, info);\r\n            });\r\n        }\r\n    }, {\r\n        key: '_onRecommendSeekpoint',\r\n        value: function _onRecommendSeekpoint(milliseconds) {\r\n            var _this11 = this;\r\n\r\n            Promise.resolve().then(function () {\r\n                _this11._emitter.emit(_transmuxingEvents2.default.RECOMMEND_SEEKPOINT, milliseconds);\r\n            });\r\n        }\r\n    }, {\r\n        key: '_onLoggingConfigChanged',\r\n        value: function _onLoggingConfigChanged(config) {\r\n            if (this._worker) {\r\n                this._worker.postMessage({ cmd: 'logging_config', param: config });\r\n            }\r\n        }\r\n    }, {\r\n        key: '_onWorkerMessage',\r\n        value: function _onWorkerMessage(e) {\r\n            var message = e.data;\r\n            var data = message.data;\r\n\r\n            if (message.msg === 'destroyed' || this._workerDestroying) {\r\n                this._workerDestroying = false;\r\n                this._worker.terminate();\r\n                this._worker = null;\r\n                return;\r\n            }\r\n\r\n            switch (message.msg) {\r\n                case _transmuxingEvents2.default.INIT_SEGMENT:\r\n                case _transmuxingEvents2.default.MEDIA_SEGMENT:\r\n                    this._emitter.emit(message.msg, data.type, data.data);\r\n                    break;\r\n                case _transmuxingEvents2.default.LOADING_COMPLETE:\r\n                case _transmuxingEvents2.default.RECOVERED_EARLY_EOF:\r\n                    this._emitter.emit(message.msg);\r\n                    break;\r\n                case _transmuxingEvents2.default.MEDIA_INFO:\r\n                    Object.setPrototypeOf(data, _mediaInfo2.default.prototype);\r\n                    this._emitter.emit(message.msg, data);\r\n                    break;\r\n                case _transmuxingEvents2.default.METADATA_ARRIVED:\r\n                case _transmuxingEvents2.default.SCRIPTDATA_ARRIVED:\r\n                case _transmuxingEvents2.default.STATISTICS_INFO:\r\n                    this._emitter.emit(message.msg, data);\r\n                    break;\r\n                case _transmuxingEvents2.default.IO_ERROR:\r\n                case _transmuxingEvents2.default.DEMUX_ERROR:\r\n                    this._emitter.emit(message.msg, data.type, data.info);\r\n                    break;\r\n                case _transmuxingEvents2.default.RECOMMEND_SEEKPOINT:\r\n                    this._emitter.emit(message.msg, data);\r\n                    break;\r\n                case 'logcat_callback':\r\n                    _logger2.default.emitter.emit('log', data.type, data.logcat);\r\n                    break;\r\n                default:\r\n                    break;\r\n            }\r\n        }\r\n    }]);\r\n\r\n    return Transmuxer;\r\n}();\r\n\r\nexports.default = Transmuxer;\r\n\r\n},{\"../utils/logger.js\":41,\"../utils/logging-control.js\":42,\"./media-info.js\":7,\"./transmuxing-controller.js\":12,\"./transmuxing-events.js\":13,\"./transmuxing-worker.js\":14,\"events\":2,\"webworkify\":4}],12:[function(_dereq_,module,exports){\r\n'use strict';\r\n\r\nObject.defineProperty(exports, \"__esModule\", {\r\n    value: true\r\n});\r\n\r\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /*\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * @author zheng qian <xqq@xqq.im>\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * you may not use this file except in compliance with the License.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * You may obtain a copy of the License at\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *     http://www.apache.org/licenses/LICENSE-2.0\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * Unless required by applicable law or agreed to in writing, software\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * See the License for the specific language governing permissions and\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * limitations under the License.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      */\r\n\r\nvar _events = _dereq_('events');\r\n\r\nvar _events2 = _interopRequireDefault(_events);\r\n\r\nvar _logger = _dereq_('../utils/logger.js');\r\n\r\nvar _logger2 = _interopRequireDefault(_logger);\r\n\r\nvar _browser = _dereq_('../utils/browser.js');\r\n\r\nvar _browser2 = _interopRequireDefault(_browser);\r\n\r\nvar _mediaInfo = _dereq_('./media-info.js');\r\n\r\nvar _mediaInfo2 = _interopRequireDefault(_mediaInfo);\r\n\r\nvar _flvDemuxer = _dereq_('../demux/flv-demuxer.js');\r\n\r\nvar _flvDemuxer2 = _interopRequireDefault(_flvDemuxer);\r\n\r\nvar _mp4Remuxer = _dereq_('../remux/mp4-remuxer.js');\r\n\r\nvar _mp4Remuxer2 = _interopRequireDefault(_mp4Remuxer);\r\n\r\nvar _demuxErrors = _dereq_('../demux/demux-errors.js');\r\n\r\nvar _demuxErrors2 = _interopRequireDefault(_demuxErrors);\r\n\r\nvar _ioController = _dereq_('../io/io-controller.js');\r\n\r\nvar _ioController2 = _interopRequireDefault(_ioController);\r\n\r\nvar _transmuxingEvents = _dereq_('./transmuxing-events.js');\r\n\r\nvar _transmuxingEvents2 = _interopRequireDefault(_transmuxingEvents);\r\n\r\nvar _loader = _dereq_('../io/loader.js');\r\n\r\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\r\n\r\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\r\n\r\n// Transmuxing (IO, Demuxing, Remuxing) controller, with multipart support\r\nvar TransmuxingController = function () {\r\n    function TransmuxingController(mediaDataSource, config) {\r\n        _classCallCheck(this, TransmuxingController);\r\n\r\n        this.TAG = 'TransmuxingController';\r\n        this._emitter = new _events2.default();\r\n\r\n        this._config = config;\r\n\r\n        // treat single part media as multipart media, which has only one segment\r\n        if (!mediaDataSource.segments) {\r\n            mediaDataSource.segments = [{\r\n                duration: mediaDataSource.duration,\r\n                filesize: mediaDataSource.filesize,\r\n                url: mediaDataSource.url\r\n            }];\r\n        }\r\n\r\n        // fill in default IO params if not exists\r\n        if (typeof mediaDataSource.cors !== 'boolean') {\r\n            mediaDataSource.cors = true;\r\n        }\r\n        if (typeof mediaDataSource.withCredentials !== 'boolean') {\r\n            mediaDataSource.withCredentials = false;\r\n        }\r\n\r\n        this._mediaDataSource = mediaDataSource;\r\n        this._currentSegmentIndex = 0;\r\n        var totalDuration = 0;\r\n\r\n        this._mediaDataSource.segments.forEach(function (segment) {\r\n            // timestampBase for each segment, and calculate total duration\r\n            segment.timestampBase = totalDuration;\r\n            totalDuration += segment.duration;\r\n            // params needed by IOController\r\n            segment.cors = mediaDataSource.cors;\r\n            segment.withCredentials = mediaDataSource.withCredentials;\r\n            // referrer policy control, if exist\r\n            if (config.referrerPolicy) {\r\n                segment.referrerPolicy = config.referrerPolicy;\r\n            }\r\n        });\r\n\r\n        if (!isNaN(totalDuration) && this._mediaDataSource.duration !== totalDuration) {\r\n            this._mediaDataSource.duration = totalDuration;\r\n        }\r\n\r\n        this._mediaInfo = null;\r\n        this._demuxer = null;\r\n        this._remuxer = null;\r\n        this._ioctl = null;\r\n\r\n        this._pendingSeekTime = null;\r\n        this._pendingResolveSeekPoint = null;\r\n\r\n        this._statisticsReporter = null;\r\n    }\r\n\r\n    _createClass(TransmuxingController, [{\r\n        key: 'destroy',\r\n        value: function destroy() {\r\n            this._mediaInfo = null;\r\n            this._mediaDataSource = null;\r\n\r\n            if (this._statisticsReporter) {\r\n                this._disableStatisticsReporter();\r\n            }\r\n            if (this._ioctl) {\r\n                this._ioctl.destroy();\r\n                this._ioctl = null;\r\n            }\r\n            if (this._demuxer) {\r\n                this._demuxer.destroy();\r\n                this._demuxer = null;\r\n            }\r\n            if (this._remuxer) {\r\n                this._remuxer.destroy();\r\n                this._remuxer = null;\r\n            }\r\n\r\n            this._emitter.removeAllListeners();\r\n            this._emitter = null;\r\n        }\r\n    }, {\r\n        key: 'on',\r\n        value: function on(event, listener) {\r\n            this._emitter.addListener(event, listener);\r\n        }\r\n    }, {\r\n        key: 'off',\r\n        value: function off(event, listener) {\r\n            this._emitter.removeListener(event, listener);\r\n        }\r\n    }, {\r\n        key: 'start',\r\n        value: function start() {\r\n            this._loadSegment(0);\r\n            this._enableStatisticsReporter();\r\n        }\r\n    }, {\r\n        key: '_loadSegment',\r\n        value: function _loadSegment(segmentIndex, optionalFrom) {\r\n            this._currentSegmentIndex = segmentIndex;\r\n            var dataSource = this._mediaDataSource.segments[segmentIndex];\r\n\r\n            var ioctl = this._ioctl = new _ioController2.default(dataSource, this._config, segmentIndex);\r\n            ioctl.onError = this._onIOException.bind(this);\r\n            ioctl.onSeeked = this._onIOSeeked.bind(this);\r\n            ioctl.onComplete = this._onIOComplete.bind(this);\r\n            ioctl.onRedirect = this._onIORedirect.bind(this);\r\n            ioctl.onRecoveredEarlyEof = this._onIORecoveredEarlyEof.bind(this);\r\n\r\n            if (optionalFrom) {\r\n                this._demuxer.bindDataSource(this._ioctl);\r\n            } else {\r\n                ioctl.onDataArrival = this._onInitChunkArrival.bind(this);\r\n            }\r\n\r\n            ioctl.open(optionalFrom);\r\n        }\r\n    }, {\r\n        key: 'stop',\r\n        value: function stop() {\r\n            this._internalAbort();\r\n            this._disableStatisticsReporter();\r\n        }\r\n    }, {\r\n        key: '_internalAbort',\r\n        value: function _internalAbort() {\r\n            if (this._ioctl) {\r\n                this._ioctl.destroy();\r\n                this._ioctl = null;\r\n            }\r\n        }\r\n    }, {\r\n        key: 'pause',\r\n        value: function pause() {\r\n            // take a rest\r\n            if (this._ioctl && this._ioctl.isWorking()) {\r\n                this._ioctl.pause();\r\n                this._disableStatisticsReporter();\r\n            }\r\n        }\r\n    }, {\r\n        key: 'resume',\r\n        value: function resume() {\r\n            if (this._ioctl && this._ioctl.isPaused()) {\r\n                this._ioctl.resume();\r\n                this._enableStatisticsReporter();\r\n            }\r\n        }\r\n    }, {\r\n        key: 'seek',\r\n        value: function seek(milliseconds) {\r\n            if (this._mediaInfo == null || !this._mediaInfo.isSeekable()) {\r\n                return;\r\n            }\r\n\r\n            var targetSegmentIndex = this._searchSegmentIndexContains(milliseconds);\r\n\r\n            if (targetSegmentIndex === this._currentSegmentIndex) {\r\n                // intra-segment seeking\r\n                var segmentInfo = this._mediaInfo.segments[targetSegmentIndex];\r\n\r\n                if (segmentInfo == undefined) {\r\n                    // current segment loading started, but mediainfo hasn't received yet\r\n                    // wait for the metadata loaded, then seek to expected position\r\n                    this._pendingSeekTime = milliseconds;\r\n                } else {\r\n                    var keyframe = segmentInfo.getNearestKeyframe(milliseconds);\r\n                    this._remuxer.seek(keyframe.milliseconds);\r\n                    this._ioctl.seek(keyframe.fileposition);\r\n                    // Will be resolved in _onRemuxerMediaSegmentArrival()\r\n                    this._pendingResolveSeekPoint = keyframe.milliseconds;\r\n                }\r\n            } else {\r\n                // cross-segment seeking\r\n                var targetSegmentInfo = this._mediaInfo.segments[targetSegmentIndex];\r\n\r\n                if (targetSegmentInfo == undefined) {\r\n                    // target segment hasn't been loaded. We need metadata then seek to expected time\r\n                    this._pendingSeekTime = milliseconds;\r\n                    this._internalAbort();\r\n                    this._remuxer.seek();\r\n                    this._remuxer.insertDiscontinuity();\r\n                    this._loadSegment(targetSegmentIndex);\r\n                    // Here we wait for the metadata loaded, then seek to expected position\r\n                } else {\r\n                    // We have target segment's metadata, direct seek to target position\r\n                    var _keyframe = targetSegmentInfo.getNearestKeyframe(milliseconds);\r\n                    this._internalAbort();\r\n                    this._remuxer.seek(milliseconds);\r\n                    this._remuxer.insertDiscontinuity();\r\n                    this._demuxer.resetMediaInfo();\r\n                    this._demuxer.timestampBase = this._mediaDataSource.segments[targetSegmentIndex].timestampBase;\r\n                    this._loadSegment(targetSegmentIndex, _keyframe.fileposition);\r\n                    this._pendingResolveSeekPoint = _keyframe.milliseconds;\r\n                    this._reportSegmentMediaInfo(targetSegmentIndex);\r\n                }\r\n            }\r\n\r\n            this._enableStatisticsReporter();\r\n        }\r\n    }, {\r\n        key: '_searchSegmentIndexContains',\r\n        value: function _searchSegmentIndexContains(milliseconds) {\r\n            var segments = this._mediaDataSource.segments;\r\n            var idx = segments.length - 1;\r\n\r\n            for (var i = 0; i < segments.length; i++) {\r\n                if (milliseconds < segments[i].timestampBase) {\r\n                    idx = i - 1;\r\n                    break;\r\n                }\r\n            }\r\n            return idx;\r\n        }\r\n    }, {\r\n        key: '_onInitChunkArrival',\r\n        value: function _onInitChunkArrival(data, byteStart) {\r\n            var _this = this;\r\n\r\n            var probeData = null;\r\n            var consumed = 0;\r\n\r\n            if (byteStart > 0) {\r\n                // IOController seeked immediately after opened, byteStart > 0 callback may received\r\n                this._demuxer.bindDataSource(this._ioctl);\r\n                this._demuxer.timestampBase = this._mediaDataSource.segments[this._currentSegmentIndex].timestampBase;\r\n\r\n                consumed = this._demuxer.parseChunks(data, byteStart);\r\n            } else if ((probeData = _flvDemuxer2.default.probe(data)).match) {\r\n                // Always create new FLVDemuxer\r\n                this._demuxer = new _flvDemuxer2.default(probeData, this._config);\r\n\r\n                if (!this._remuxer) {\r\n                    this._remuxer = new _mp4Remuxer2.default(this._config);\r\n                }\r\n\r\n                var mds = this._mediaDataSource;\r\n                if (mds.duration != undefined && !isNaN(mds.duration)) {\r\n                    this._demuxer.overridedDuration = mds.duration;\r\n                }\r\n                if (typeof mds.hasAudio === 'boolean') {\r\n                    this._demuxer.overridedHasAudio = mds.hasAudio;\r\n                }\r\n                if (typeof mds.hasVideo === 'boolean') {\r\n                    this._demuxer.overridedHasVideo = mds.hasVideo;\r\n                }\r\n\r\n                this._demuxer.timestampBase = mds.segments[this._currentSegmentIndex].timestampBase;\r\n\r\n                this._demuxer.onError = this._onDemuxException.bind(this);\r\n                this._demuxer.onMediaInfo = this._onMediaInfo.bind(this);\r\n                this._demuxer.onMetaDataArrived = this._onMetaDataArrived.bind(this);\r\n                this._demuxer.onScriptDataArrived = this._onScriptDataArrived.bind(this);\r\n\r\n                this._remuxer.bindDataSource(this._demuxer.bindDataSource(this._ioctl));\r\n\r\n                this._remuxer.onInitSegment = this._onRemuxerInitSegmentArrival.bind(this);\r\n                this._remuxer.onMediaSegment = this._onRemuxerMediaSegmentArrival.bind(this);\r\n\r\n                consumed = this._demuxer.parseChunks(data, byteStart);\r\n            } else {\r\n                probeData = null;\r\n                _logger2.default.e(this.TAG, 'Non-FLV, Unsupported media type!');\r\n                Promise.resolve().then(function () {\r\n                    _this._internalAbort();\r\n                });\r\n                this._emitter.emit(_transmuxingEvents2.default.DEMUX_ERROR, _demuxErrors2.default.FORMAT_UNSUPPORTED, 'Non-FLV, Unsupported media type');\r\n\r\n                consumed = 0;\r\n            }\r\n\r\n            return consumed;\r\n        }\r\n    }, {\r\n        key: '_onMediaInfo',\r\n        value: function _onMediaInfo(mediaInfo) {\r\n            var _this2 = this;\r\n\r\n            if (this._mediaInfo == null) {\r\n                // Store first segment's mediainfo as global mediaInfo\r\n                this._mediaInfo = Object.assign({}, mediaInfo);\r\n                this._mediaInfo.keyframesIndex = null;\r\n                this._mediaInfo.segments = [];\r\n                this._mediaInfo.segmentCount = this._mediaDataSource.segments.length;\r\n                Object.setPrototypeOf(this._mediaInfo, _mediaInfo2.default.prototype);\r\n            }\r\n\r\n            var segmentInfo = Object.assign({}, mediaInfo);\r\n            Object.setPrototypeOf(segmentInfo, _mediaInfo2.default.prototype);\r\n            this._mediaInfo.segments[this._currentSegmentIndex] = segmentInfo;\r\n\r\n            // notify mediaInfo update\r\n            this._reportSegmentMediaInfo(this._currentSegmentIndex);\r\n\r\n            if (this._pendingSeekTime != null) {\r\n                Promise.resolve().then(function () {\r\n                    var target = _this2._pendingSeekTime;\r\n                    _this2._pendingSeekTime = null;\r\n                    _this2.seek(target);\r\n                });\r\n            }\r\n        }\r\n    }, {\r\n        key: '_onMetaDataArrived',\r\n        value: function _onMetaDataArrived(metadata) {\r\n            this._emitter.emit(_transmuxingEvents2.default.METADATA_ARRIVED, metadata);\r\n        }\r\n    }, {\r\n        key: '_onScriptDataArrived',\r\n        value: function _onScriptDataArrived(data) {\r\n            this._emitter.emit(_transmuxingEvents2.default.SCRIPTDATA_ARRIVED, data);\r\n        }\r\n    }, {\r\n        key: '_onIOSeeked',\r\n        value: function _onIOSeeked() {\r\n            this._remuxer.insertDiscontinuity();\r\n        }\r\n    }, {\r\n        key: '_onIOComplete',\r\n        value: function _onIOComplete(extraData) {\r\n            var segmentIndex = extraData;\r\n            var nextSegmentIndex = segmentIndex + 1;\r\n\r\n            if (nextSegmentIndex < this._mediaDataSource.segments.length) {\r\n                this._internalAbort();\r\n                this._remuxer.flushStashedSamples();\r\n                this._loadSegment(nextSegmentIndex);\r\n            } else {\r\n                this._remuxer.flushStashedSamples();\r\n                this._emitter.emit(_transmuxingEvents2.default.LOADING_COMPLETE);\r\n                this._disableStatisticsReporter();\r\n            }\r\n        }\r\n    }, {\r\n        key: '_onIORedirect',\r\n        value: function _onIORedirect(redirectedURL) {\r\n            var segmentIndex = this._ioctl.extraData;\r\n            this._mediaDataSource.segments[segmentIndex].redirectedURL = redirectedURL;\r\n        }\r\n    }, {\r\n        key: '_onIORecoveredEarlyEof',\r\n        value: function _onIORecoveredEarlyEof() {\r\n            this._emitter.emit(_transmuxingEvents2.default.RECOVERED_EARLY_EOF);\r\n        }\r\n    }, {\r\n        key: '_onIOException',\r\n        value: function _onIOException(type, info) {\r\n            _logger2.default.e(this.TAG, 'IOException: type = ' + type + ', code = ' + info.code + ', msg = ' + info.msg);\r\n            this._emitter.emit(_transmuxingEvents2.default.IO_ERROR, type, info);\r\n            this._disableStatisticsReporter();\r\n        }\r\n    }, {\r\n        key: '_onDemuxException',\r\n        value: function _onDemuxException(type, info) {\r\n            _logger2.default.e(this.TAG, 'DemuxException: type = ' + type + ', info = ' + info);\r\n            this._emitter.emit(_transmuxingEvents2.default.DEMUX_ERROR, type, info);\r\n        }\r\n    }, {\r\n        key: '_onRemuxerInitSegmentArrival',\r\n        value: function _onRemuxerInitSegmentArrival(type, initSegment) {\r\n            this._emitter.emit(_transmuxingEvents2.default.INIT_SEGMENT, type, initSegment);\r\n        }\r\n    }, {\r\n        key: '_onRemuxerMediaSegmentArrival',\r\n        value: function _onRemuxerMediaSegmentArrival(type, mediaSegment) {\r\n            if (this._pendingSeekTime != null) {\r\n                // Media segments after new-segment cross-seeking should be dropped.\r\n                return;\r\n            }\r\n            this._emitter.emit(_transmuxingEvents2.default.MEDIA_SEGMENT, type, mediaSegment);\r\n\r\n            // Resolve pending seekPoint\r\n            if (this._pendingResolveSeekPoint != null && type === 'video') {\r\n                var syncPoints = mediaSegment.info.syncPoints;\r\n                var seekpoint = this._pendingResolveSeekPoint;\r\n                this._pendingResolveSeekPoint = null;\r\n\r\n                // Safari: Pass PTS for recommend_seekpoint\r\n                if (_browser2.default.safari && syncPoints.length > 0 && syncPoints[0].originalDts === seekpoint) {\r\n                    seekpoint = syncPoints[0].pts;\r\n                }\r\n                // else: use original DTS (keyframe.milliseconds)\r\n\r\n                this._emitter.emit(_transmuxingEvents2.default.RECOMMEND_SEEKPOINT, seekpoint);\r\n            }\r\n        }\r\n    }, {\r\n        key: '_enableStatisticsReporter',\r\n        value: function _enableStatisticsReporter() {\r\n            if (this._statisticsReporter == null) {\r\n                this._statisticsReporter = self.setInterval(this._reportStatisticsInfo.bind(this), this._config.statisticsInfoReportInterval);\r\n            }\r\n        }\r\n    }, {\r\n        key: '_disableStatisticsReporter',\r\n        value: function _disableStatisticsReporter() {\r\n            if (this._statisticsReporter) {\r\n                self.clearInterval(this._statisticsReporter);\r\n                this._statisticsReporter = null;\r\n            }\r\n        }\r\n    }, {\r\n        key: '_reportSegmentMediaInfo',\r\n        value: function _reportSegmentMediaInfo(segmentIndex) {\r\n            var segmentInfo = this._mediaInfo.segments[segmentIndex];\r\n            var exportInfo = Object.assign({}, segmentInfo);\r\n\r\n            exportInfo.duration = this._mediaInfo.duration;\r\n            exportInfo.segmentCount = this._mediaInfo.segmentCount;\r\n            delete exportInfo.segments;\r\n            delete exportInfo.keyframesIndex;\r\n\r\n            this._emitter.emit(_transmuxingEvents2.default.MEDIA_INFO, exportInfo);\r\n        }\r\n    }, {\r\n        key: '_reportStatisticsInfo',\r\n        value: function _reportStatisticsInfo() {\r\n            var info = {};\r\n\r\n            info.url = this._ioctl.currentURL;\r\n            info.hasRedirect = this._ioctl.hasRedirect;\r\n            if (info.hasRedirect) {\r\n                info.redirectedURL = this._ioctl.currentRedirectedURL;\r\n            }\r\n\r\n            info.speed = this._ioctl.currentSpeed;\r\n            info.loaderType = this._ioctl.loaderType;\r\n            info.currentSegmentIndex = this._currentSegmentIndex;\r\n            info.totalSegmentCount = this._mediaDataSource.segments.length;\r\n\r\n            this._emitter.emit(_transmuxingEvents2.default.STATISTICS_INFO, info);\r\n        }\r\n    }]);\r\n\r\n    return TransmuxingController;\r\n}();\r\n\r\nexports.default = TransmuxingController;\r\n\r\n},{\"../demux/demux-errors.js\":16,\"../demux/flv-demuxer.js\":18,\"../io/io-controller.js\":23,\"../io/loader.js\":24,\"../remux/mp4-remuxer.js\":38,\"../utils/browser.js\":39,\"../utils/logger.js\":41,\"./media-info.js\":7,\"./transmuxing-events.js\":13,\"events\":2}],13:[function(_dereq_,module,exports){\r\n'use strict';\r\n\r\nObject.defineProperty(exports, \"__esModule\", {\r\n  value: true\r\n});\r\n/*\r\n * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n *\r\n * @author zheng qian <xqq@xqq.im>\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\nvar TransmuxingEvents = {\r\n  IO_ERROR: 'io_error',\r\n  DEMUX_ERROR: 'demux_error',\r\n  INIT_SEGMENT: 'init_segment',\r\n  MEDIA_SEGMENT: 'media_segment',\r\n  LOADING_COMPLETE: 'loading_complete',\r\n  RECOVERED_EARLY_EOF: 'recovered_early_eof',\r\n  MEDIA_INFO: 'media_info',\r\n  METADATA_ARRIVED: 'metadata_arrived',\r\n  SCRIPTDATA_ARRIVED: 'scriptdata_arrived',\r\n  STATISTICS_INFO: 'statistics_info',\r\n  RECOMMEND_SEEKPOINT: 'recommend_seekpoint'\r\n};\r\n\r\nexports.default = TransmuxingEvents;\r\n\r\n},{}],14:[function(_dereq_,module,exports){\r\n'use strict';\r\n\r\nObject.defineProperty(exports, \"__esModule\", {\r\n    value: true\r\n});\r\n\r\nvar _logger = _dereq_('../utils/logger.js');\r\n\r\nvar _logger2 = _interopRequireDefault(_logger);\r\n\r\nvar _loggingControl = _dereq_('../utils/logging-control.js');\r\n\r\nvar _loggingControl2 = _interopRequireDefault(_loggingControl);\r\n\r\nvar _polyfill = _dereq_('../utils/polyfill.js');\r\n\r\nvar _polyfill2 = _interopRequireDefault(_polyfill);\r\n\r\nvar _transmuxingController = _dereq_('./transmuxing-controller.js');\r\n\r\nvar _transmuxingController2 = _interopRequireDefault(_transmuxingController);\r\n\r\nvar _transmuxingEvents = _dereq_('./transmuxing-events.js');\r\n\r\nvar _transmuxingEvents2 = _interopRequireDefault(_transmuxingEvents);\r\n\r\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\r\n\r\n/* post message to worker:\r\n   data: {\r\n       cmd: string\r\n       param: any\r\n   }\r\n\r\n   receive message from worker:\r\n   data: {\r\n       msg: string,\r\n       data: any\r\n   }\r\n */\r\n\r\nvar TransmuxingWorker = function TransmuxingWorker(self) {\r\n\r\n    var TAG = 'TransmuxingWorker';\r\n    var controller = null;\r\n    var logcatListener = onLogcatCallback.bind(this);\r\n\r\n    _polyfill2.default.install();\r\n\r\n    self.addEventListener('message', function (e) {\r\n        switch (e.data.cmd) {\r\n            case 'init':\r\n                controller = new _transmuxingController2.default(e.data.param[0], e.data.param[1]);\r\n                controller.on(_transmuxingEvents2.default.IO_ERROR, onIOError.bind(this));\r\n                controller.on(_transmuxingEvents2.default.DEMUX_ERROR, onDemuxError.bind(this));\r\n                controller.on(_transmuxingEvents2.default.INIT_SEGMENT, onInitSegment.bind(this));\r\n                controller.on(_transmuxingEvents2.default.MEDIA_SEGMENT, onMediaSegment.bind(this));\r\n                controller.on(_transmuxingEvents2.default.LOADING_COMPLETE, onLoadingComplete.bind(this));\r\n                controller.on(_transmuxingEvents2.default.RECOVERED_EARLY_EOF, onRecoveredEarlyEof.bind(this));\r\n                controller.on(_transmuxingEvents2.default.MEDIA_INFO, onMediaInfo.bind(this));\r\n                controller.on(_transmuxingEvents2.default.METADATA_ARRIVED, onMetaDataArrived.bind(this));\r\n                controller.on(_transmuxingEvents2.default.SCRIPTDATA_ARRIVED, onScriptDataArrived.bind(this));\r\n                controller.on(_transmuxingEvents2.default.STATISTICS_INFO, onStatisticsInfo.bind(this));\r\n                controller.on(_transmuxingEvents2.default.RECOMMEND_SEEKPOINT, onRecommendSeekpoint.bind(this));\r\n                break;\r\n            case 'destroy':\r\n                if (controller) {\r\n                    controller.destroy();\r\n                    controller = null;\r\n                }\r\n                self.postMessage({ msg: 'destroyed' });\r\n                break;\r\n            case 'start':\r\n                controller.start();\r\n                break;\r\n            case 'stop':\r\n                controller.stop();\r\n                break;\r\n            case 'seek':\r\n                controller.seek(e.data.param);\r\n                break;\r\n            case 'pause':\r\n                controller.pause();\r\n                break;\r\n            case 'resume':\r\n                controller.resume();\r\n                break;\r\n            case 'logging_config':\r\n                {\r\n                    var config = e.data.param;\r\n                    _loggingControl2.default.applyConfig(config);\r\n\r\n                    if (config.enableCallback === true) {\r\n                        _loggingControl2.default.addLogListener(logcatListener);\r\n                    } else {\r\n                        _loggingControl2.default.removeLogListener(logcatListener);\r\n                    }\r\n                    break;\r\n                }\r\n        }\r\n    });\r\n\r\n    function onInitSegment(type, initSegment) {\r\n        var obj = {\r\n            msg: _transmuxingEvents2.default.INIT_SEGMENT,\r\n            data: {\r\n                type: type,\r\n                data: initSegment\r\n            }\r\n        };\r\n        self.postMessage(obj, [initSegment.data]); // data: ArrayBuffer\r\n    }\r\n\r\n    function onMediaSegment(type, mediaSegment) {\r\n        var obj = {\r\n            msg: _transmuxingEvents2.default.MEDIA_SEGMENT,\r\n            data: {\r\n                type: type,\r\n                data: mediaSegment\r\n            }\r\n        };\r\n        self.postMessage(obj, [mediaSegment.data]); // data: ArrayBuffer\r\n    }\r\n\r\n    function onLoadingComplete() {\r\n        var obj = {\r\n            msg: _transmuxingEvents2.default.LOADING_COMPLETE\r\n        };\r\n        self.postMessage(obj);\r\n    }\r\n\r\n    function onRecoveredEarlyEof() {\r\n        var obj = {\r\n            msg: _transmuxingEvents2.default.RECOVERED_EARLY_EOF\r\n        };\r\n        self.postMessage(obj);\r\n    }\r\n\r\n    function onMediaInfo(mediaInfo) {\r\n        var obj = {\r\n            msg: _transmuxingEvents2.default.MEDIA_INFO,\r\n            data: mediaInfo\r\n        };\r\n        self.postMessage(obj);\r\n    }\r\n\r\n    function onMetaDataArrived(metadata) {\r\n        var obj = {\r\n            msg: _transmuxingEvents2.default.METADATA_ARRIVED,\r\n            data: metadata\r\n        };\r\n        self.postMessage(obj);\r\n    }\r\n\r\n    function onScriptDataArrived(data) {\r\n        var obj = {\r\n            msg: _transmuxingEvents2.default.SCRIPTDATA_ARRIVED,\r\n            data: data\r\n        };\r\n        self.postMessage(obj);\r\n    }\r\n\r\n    function onStatisticsInfo(statInfo) {\r\n        var obj = {\r\n            msg: _transmuxingEvents2.default.STATISTICS_INFO,\r\n            data: statInfo\r\n        };\r\n        self.postMessage(obj);\r\n    }\r\n\r\n    function onIOError(type, info) {\r\n        self.postMessage({\r\n            msg: _transmuxingEvents2.default.IO_ERROR,\r\n            data: {\r\n                type: type,\r\n                info: info\r\n            }\r\n        });\r\n    }\r\n\r\n    function onDemuxError(type, info) {\r\n        self.postMessage({\r\n            msg: _transmuxingEvents2.default.DEMUX_ERROR,\r\n            data: {\r\n                type: type,\r\n                info: info\r\n            }\r\n        });\r\n    }\r\n\r\n    function onRecommendSeekpoint(milliseconds) {\r\n        self.postMessage({\r\n            msg: _transmuxingEvents2.default.RECOMMEND_SEEKPOINT,\r\n            data: milliseconds\r\n        });\r\n    }\r\n\r\n    function onLogcatCallback(type, str) {\r\n        self.postMessage({\r\n            msg: 'logcat_callback',\r\n            data: {\r\n                type: type,\r\n                logcat: str\r\n            }\r\n        });\r\n    }\r\n}; /*\r\n    * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n    *\r\n    * @author zheng qian <xqq@xqq.im>\r\n    *\r\n    * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n    * you may not use this file except in compliance with the License.\r\n    * You may obtain a copy of the License at\r\n    *\r\n    *     http://www.apache.org/licenses/LICENSE-2.0\r\n    *\r\n    * Unless required by applicable law or agreed to in writing, software\r\n    * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n    * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n    * See the License for the specific language governing permissions and\r\n    * limitations under the License.\r\n    */\r\n\r\nexports.default = TransmuxingWorker;\r\n\r\n},{\"../utils/logger.js\":41,\"../utils/logging-control.js\":42,\"../utils/polyfill.js\":43,\"./transmuxing-controller.js\":12,\"./transmuxing-events.js\":13}],15:[function(_dereq_,module,exports){\r\n'use strict';\r\n\r\nObject.defineProperty(exports, \"__esModule\", {\r\n    value: true\r\n});\r\n\r\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /*\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * @author zheng qian <xqq@xqq.im>\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * you may not use this file except in compliance with the License.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * You may obtain a copy of the License at\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *     http://www.apache.org/licenses/LICENSE-2.0\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * Unless required by applicable law or agreed to in writing, software\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * See the License for the specific language governing permissions and\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * limitations under the License.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      */\r\n\r\nvar _logger = _dereq_('../utils/logger.js');\r\n\r\nvar _logger2 = _interopRequireDefault(_logger);\r\n\r\nvar _utf8Conv = _dereq_('../utils/utf8-conv.js');\r\n\r\nvar _utf8Conv2 = _interopRequireDefault(_utf8Conv);\r\n\r\nvar _exception = _dereq_('../utils/exception.js');\r\n\r\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\r\n\r\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\r\n\r\nvar le = function () {\r\n    var buf = new ArrayBuffer(2);\r\n    new DataView(buf).setInt16(0, 256, true); // little-endian write\r\n    return new Int16Array(buf)[0] === 256; // platform-spec read, if equal then LE\r\n}();\r\n\r\nvar AMF = function () {\r\n    function AMF() {\r\n        _classCallCheck(this, AMF);\r\n    }\r\n\r\n    _createClass(AMF, null, [{\r\n        key: 'parseScriptData',\r\n        value: function parseScriptData(arrayBuffer, dataOffset, dataSize) {\r\n            var data = {};\r\n\r\n            try {\r\n                var name = AMF.parseValue(arrayBuffer, dataOffset, dataSize);\r\n                var value = AMF.parseValue(arrayBuffer, dataOffset + name.size, dataSize - name.size);\r\n\r\n                data[name.data] = value.data;\r\n            } catch (e) {\r\n                _logger2.default.e('AMF', e.toString());\r\n            }\r\n\r\n            return data;\r\n        }\r\n    }, {\r\n        key: 'parseObject',\r\n        value: function parseObject(arrayBuffer, dataOffset, dataSize) {\r\n            if (dataSize < 3) {\r\n                throw new _exception.IllegalStateException('Data not enough when parse ScriptDataObject');\r\n            }\r\n            var name = AMF.parseString(arrayBuffer, dataOffset, dataSize);\r\n            var value = AMF.parseValue(arrayBuffer, dataOffset + name.size, dataSize - name.size);\r\n            var isObjectEnd = value.objectEnd;\r\n\r\n            return {\r\n                data: {\r\n                    name: name.data,\r\n                    value: value.data\r\n                },\r\n                size: name.size + value.size,\r\n                objectEnd: isObjectEnd\r\n            };\r\n        }\r\n    }, {\r\n        key: 'parseVariable',\r\n        value: function parseVariable(arrayBuffer, dataOffset, dataSize) {\r\n            return AMF.parseObject(arrayBuffer, dataOffset, dataSize);\r\n        }\r\n    }, {\r\n        key: 'parseString',\r\n        value: function parseString(arrayBuffer, dataOffset, dataSize) {\r\n            if (dataSize < 2) {\r\n                throw new _exception.IllegalStateException('Data not enough when parse String');\r\n            }\r\n            var v = new DataView(arrayBuffer, dataOffset, dataSize);\r\n            var length = v.getUint16(0, !le);\r\n\r\n            var str = void 0;\r\n            if (length > 0) {\r\n                str = (0, _utf8Conv2.default)(new Uint8Array(arrayBuffer, dataOffset + 2, length));\r\n            } else {\r\n                str = '';\r\n            }\r\n\r\n            return {\r\n                data: str,\r\n                size: 2 + length\r\n            };\r\n        }\r\n    }, {\r\n        key: 'parseLongString',\r\n        value: function parseLongString(arrayBuffer, dataOffset, dataSize) {\r\n            if (dataSize < 4) {\r\n                throw new _exception.IllegalStateException('Data not enough when parse LongString');\r\n            }\r\n            var v = new DataView(arrayBuffer, dataOffset, dataSize);\r\n            var length = v.getUint32(0, !le);\r\n\r\n            var str = void 0;\r\n            if (length > 0) {\r\n                str = (0, _utf8Conv2.default)(new Uint8Array(arrayBuffer, dataOffset + 4, length));\r\n            } else {\r\n                str = '';\r\n            }\r\n\r\n            return {\r\n                data: str,\r\n                size: 4 + length\r\n            };\r\n        }\r\n    }, {\r\n        key: 'parseDate',\r\n        value: function parseDate(arrayBuffer, dataOffset, dataSize) {\r\n            if (dataSize < 10) {\r\n                throw new _exception.IllegalStateException('Data size invalid when parse Date');\r\n            }\r\n            var v = new DataView(arrayBuffer, dataOffset, dataSize);\r\n            var timestamp = v.getFloat64(0, !le);\r\n            var localTimeOffset = v.getInt16(8, !le);\r\n            timestamp += localTimeOffset * 60 * 1000; // get UTC time\r\n\r\n            return {\r\n                data: new Date(timestamp),\r\n                size: 8 + 2\r\n            };\r\n        }\r\n    }, {\r\n        key: 'parseValue',\r\n        value: function parseValue(arrayBuffer, dataOffset, dataSize) {\r\n            if (dataSize < 1) {\r\n                throw new _exception.IllegalStateException('Data not enough when parse Value');\r\n            }\r\n\r\n            var v = new DataView(arrayBuffer, dataOffset, dataSize);\r\n\r\n            var offset = 1;\r\n            var type = v.getUint8(0);\r\n            var value = void 0;\r\n            var objectEnd = false;\r\n\r\n            try {\r\n                switch (type) {\r\n                    case 0:\r\n                        // Number(Double) type\r\n                        value = v.getFloat64(1, !le);\r\n                        offset += 8;\r\n                        break;\r\n                    case 1:\r\n                        {\r\n                            // Boolean type\r\n                            var b = v.getUint8(1);\r\n                            value = b ? true : false;\r\n                            offset += 1;\r\n                            break;\r\n                        }\r\n                    case 2:\r\n                        {\r\n                            // String type\r\n                            var amfstr = AMF.parseString(arrayBuffer, dataOffset + 1, dataSize - 1);\r\n                            value = amfstr.data;\r\n                            offset += amfstr.size;\r\n                            break;\r\n                        }\r\n                    case 3:\r\n                        {\r\n                            // Object(s) type\r\n                            value = {};\r\n                            var terminal = 0; // workaround for malformed Objects which has missing ScriptDataObjectEnd\r\n                            if ((v.getUint32(dataSize - 4, !le) & 0x00FFFFFF) === 9) {\r\n                                terminal = 3;\r\n                            }\r\n                            while (offset < dataSize - 4) {\r\n                                // 4 === type(UI8) + ScriptDataObjectEnd(UI24)\r\n                                var amfobj = AMF.parseObject(arrayBuffer, dataOffset + offset, dataSize - offset - terminal);\r\n                                if (amfobj.objectEnd) break;\r\n                                value[amfobj.data.name] = amfobj.data.value;\r\n                                offset += amfobj.size;\r\n                            }\r\n                            if (offset <= dataSize - 3) {\r\n                                var marker = v.getUint32(offset - 1, !le) & 0x00FFFFFF;\r\n                                if (marker === 9) {\r\n                                    offset += 3;\r\n                                }\r\n                            }\r\n                            break;\r\n                        }\r\n                    case 8:\r\n                        {\r\n                            // ECMA array type (Mixed array)\r\n                            value = {};\r\n                            offset += 4; // ECMAArrayLength(UI32)\r\n                            var _terminal = 0; // workaround for malformed MixedArrays which has missing ScriptDataObjectEnd\r\n                            if ((v.getUint32(dataSize - 4, !le) & 0x00FFFFFF) === 9) {\r\n                                _terminal = 3;\r\n                            }\r\n                            while (offset < dataSize - 8) {\r\n                                // 8 === type(UI8) + ECMAArrayLength(UI32) + ScriptDataVariableEnd(UI24)\r\n                                var amfvar = AMF.parseVariable(arrayBuffer, dataOffset + offset, dataSize - offset - _terminal);\r\n                                if (amfvar.objectEnd) break;\r\n                                value[amfvar.data.name] = amfvar.data.value;\r\n                                offset += amfvar.size;\r\n                            }\r\n                            if (offset <= dataSize - 3) {\r\n                                var _marker = v.getUint32(offset - 1, !le) & 0x00FFFFFF;\r\n                                if (_marker === 9) {\r\n                                    offset += 3;\r\n                                }\r\n                            }\r\n                            break;\r\n                        }\r\n                    case 9:\r\n                        // ScriptDataObjectEnd\r\n                        value = undefined;\r\n                        offset = 1;\r\n                        objectEnd = true;\r\n                        break;\r\n                    case 10:\r\n                        {\r\n                            // Strict array type\r\n                            // ScriptDataValue[n]. NOTE: according to video_file_format_spec_v10_1.pdf\r\n                            value = [];\r\n                            var strictArrayLength = v.getUint32(1, !le);\r\n                            offset += 4;\r\n                            for (var i = 0; i < strictArrayLength; i++) {\r\n                                var val = AMF.parseValue(arrayBuffer, dataOffset + offset, dataSize - offset);\r\n                                value.push(val.data);\r\n                                offset += val.size;\r\n                            }\r\n                            break;\r\n                        }\r\n                    case 11:\r\n                        {\r\n                            // Date type\r\n                            var date = AMF.parseDate(arrayBuffer, dataOffset + 1, dataSize - 1);\r\n                            value = date.data;\r\n                            offset += date.size;\r\n                            break;\r\n                        }\r\n                    case 12:\r\n                        {\r\n                            // Long string type\r\n                            var amfLongStr = AMF.parseString(arrayBuffer, dataOffset + 1, dataSize - 1);\r\n                            value = amfLongStr.data;\r\n                            offset += amfLongStr.size;\r\n                            break;\r\n                        }\r\n                    default:\r\n                        // ignore and skip\r\n                        offset = dataSize;\r\n                        _logger2.default.w('AMF', 'Unsupported AMF value type ' + type);\r\n                }\r\n            } catch (e) {\r\n                _logger2.default.e('AMF', e.toString());\r\n            }\r\n\r\n            return {\r\n                data: value,\r\n                size: offset,\r\n                objectEnd: objectEnd\r\n            };\r\n        }\r\n    }]);\r\n\r\n    return AMF;\r\n}();\r\n\r\nexports.default = AMF;\r\n\r\n},{\"../utils/exception.js\":40,\"../utils/logger.js\":41,\"../utils/utf8-conv.js\":44}],16:[function(_dereq_,module,exports){\r\n'use strict';\r\n\r\nObject.defineProperty(exports, \"__esModule\", {\r\n  value: true\r\n});\r\n/*\r\n * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n *\r\n * @author zheng qian <xqq@xqq.im>\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\nvar DemuxErrors = {\r\n  OK: 'OK',\r\n  FORMAT_ERROR: 'FormatError',\r\n  FORMAT_UNSUPPORTED: 'FormatUnsupported',\r\n  CODEC_UNSUPPORTED: 'CodecUnsupported'\r\n};\r\n\r\nexports.default = DemuxErrors;\r\n\r\n},{}],17:[function(_dereq_,module,exports){\r\n'use strict';\r\n\r\nObject.defineProperty(exports, \"__esModule\", {\r\n    value: true\r\n});\r\n\r\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /*\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * @author zheng qian <xqq@xqq.im>\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * you may not use this file except in compliance with the License.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * You may obtain a copy of the License at\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *     http://www.apache.org/licenses/LICENSE-2.0\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * Unless required by applicable law or agreed to in writing, software\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * See the License for the specific language governing permissions and\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * limitations under the License.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      */\r\n\r\nvar _exception = _dereq_('../utils/exception.js');\r\n\r\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\r\n\r\n// Exponential-Golomb buffer decoder\r\nvar ExpGolomb = function () {\r\n    function ExpGolomb(uint8array) {\r\n        _classCallCheck(this, ExpGolomb);\r\n\r\n        this.TAG = 'ExpGolomb';\r\n\r\n        this._buffer = uint8array;\r\n        this._buffer_index = 0;\r\n        this._total_bytes = uint8array.byteLength;\r\n        this._total_bits = uint8array.byteLength * 8;\r\n        this._current_word = 0;\r\n        this._current_word_bits_left = 0;\r\n    }\r\n\r\n    _createClass(ExpGolomb, [{\r\n        key: 'destroy',\r\n        value: function destroy() {\r\n            this._buffer = null;\r\n        }\r\n    }, {\r\n        key: '_fillCurrentWord',\r\n        value: function _fillCurrentWord() {\r\n            var buffer_bytes_left = this._total_bytes - this._buffer_index;\r\n            if (buffer_bytes_left <= 0) throw new _exception.IllegalStateException('ExpGolomb: _fillCurrentWord() but no bytes available');\r\n\r\n            var bytes_read = Math.min(4, buffer_bytes_left);\r\n            var word = new Uint8Array(4);\r\n            word.set(this._buffer.subarray(this._buffer_index, this._buffer_index + bytes_read));\r\n            this._current_word = new DataView(word.buffer).getUint32(0, false);\r\n\r\n            this._buffer_index += bytes_read;\r\n            this._current_word_bits_left = bytes_read * 8;\r\n        }\r\n    }, {\r\n        key: 'readBits',\r\n        value: function readBits(bits) {\r\n            if (bits > 32) throw new _exception.InvalidArgumentException('ExpGolomb: readBits() bits exceeded max 32bits!');\r\n\r\n            if (bits <= this._current_word_bits_left) {\r\n                var _result = this._current_word >>> 32 - bits;\r\n                this._current_word <<= bits;\r\n                this._current_word_bits_left -= bits;\r\n                return _result;\r\n            }\r\n\r\n            var result = this._current_word_bits_left ? this._current_word : 0;\r\n            result = result >>> 32 - this._current_word_bits_left;\r\n            var bits_need_left = bits - this._current_word_bits_left;\r\n\r\n            this._fillCurrentWord();\r\n            var bits_read_next = Math.min(bits_need_left, this._current_word_bits_left);\r\n\r\n            var result2 = this._current_word >>> 32 - bits_read_next;\r\n            this._current_word <<= bits_read_next;\r\n            this._current_word_bits_left -= bits_read_next;\r\n\r\n            result = result << bits_read_next | result2;\r\n            return result;\r\n        }\r\n    }, {\r\n        key: 'readBool',\r\n        value: function readBool() {\r\n            return this.readBits(1) === 1;\r\n        }\r\n    }, {\r\n        key: 'readByte',\r\n        value: function readByte() {\r\n            return this.readBits(8);\r\n        }\r\n    }, {\r\n        key: '_skipLeadingZero',\r\n        value: function _skipLeadingZero() {\r\n            var zero_count = void 0;\r\n            for (zero_count = 0; zero_count < this._current_word_bits_left; zero_count++) {\r\n                if (0 !== (this._current_word & 0x80000000 >>> zero_count)) {\r\n                    this._current_word <<= zero_count;\r\n                    this._current_word_bits_left -= zero_count;\r\n                    return zero_count;\r\n                }\r\n            }\r\n            this._fillCurrentWord();\r\n            return zero_count + this._skipLeadingZero();\r\n        }\r\n    }, {\r\n        key: 'readUEG',\r\n        value: function readUEG() {\r\n            // unsigned exponential golomb\r\n            var leading_zeros = this._skipLeadingZero();\r\n            return this.readBits(leading_zeros + 1) - 1;\r\n        }\r\n    }, {\r\n        key: 'readSEG',\r\n        value: function readSEG() {\r\n            // signed exponential golomb\r\n            var value = this.readUEG();\r\n            if (value & 0x01) {\r\n                return value + 1 >>> 1;\r\n            } else {\r\n                return -1 * (value >>> 1);\r\n            }\r\n        }\r\n    }]);\r\n\r\n    return ExpGolomb;\r\n}();\r\n\r\nexports.default = ExpGolomb;\r\n\r\n},{\"../utils/exception.js\":40}],18:[function(_dereq_,module,exports){\r\n'use strict';\r\n\r\nObject.defineProperty(exports, \"__esModule\", {\r\n    value: true\r\n});\r\n\r\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\r\n\r\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /*\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * @author zheng qian <xqq@xqq.im>\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * you may not use this file except in compliance with the License.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * You may obtain a copy of the License at\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *     http://www.apache.org/licenses/LICENSE-2.0\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * Unless required by applicable law or agreed to in writing, software\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * See the License for the specific language governing permissions and\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * limitations under the License.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      */\r\n\r\nvar _logger = _dereq_('../utils/logger.js');\r\n\r\nvar _logger2 = _interopRequireDefault(_logger);\r\n\r\nvar _amfParser = _dereq_('./amf-parser.js');\r\n\r\nvar _amfParser2 = _interopRequireDefault(_amfParser);\r\n\r\nvar _spsParser = _dereq_('./sps-parser.js');\r\n\r\nvar _spsParser2 = _interopRequireDefault(_spsParser);\r\n\r\nvar _demuxErrors = _dereq_('./demux-errors.js');\r\n\r\nvar _demuxErrors2 = _interopRequireDefault(_demuxErrors);\r\n\r\nvar _mediaInfo = _dereq_('../core/media-info.js');\r\n\r\nvar _mediaInfo2 = _interopRequireDefault(_mediaInfo);\r\n\r\nvar _exception = _dereq_('../utils/exception.js');\r\n\r\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\r\n\r\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\r\n\r\nfunction Swap16(src) {\r\n    return src >>> 8 & 0xFF | (src & 0xFF) << 8;\r\n}\r\n\r\nfunction Swap32(src) {\r\n    return (src & 0xFF000000) >>> 24 | (src & 0x00FF0000) >>> 8 | (src & 0x0000FF00) << 8 | (src & 0x000000FF) << 24;\r\n}\r\n\r\nfunction ReadBig32(array, index) {\r\n    return array[index] << 24 | array[index + 1] << 16 | array[index + 2] << 8 | array[index + 3];\r\n}\r\n\r\nvar FLVDemuxer = function () {\r\n    function FLVDemuxer(probeData, config) {\r\n        _classCallCheck(this, FLVDemuxer);\r\n\r\n        this.TAG = 'FLVDemuxer';\r\n\r\n        this._config = config;\r\n\r\n        this._onError = null;\r\n        this._onMediaInfo = null;\r\n        this._onMetaDataArrived = null;\r\n        this._onScriptDataArrived = null;\r\n        this._onTrackMetadata = null;\r\n        this._onDataAvailable = null;\r\n\r\n        this._dataOffset = probeData.dataOffset;\r\n        this._firstParse = true;\r\n        this._dispatch = false;\r\n\r\n        this._hasAudio = probeData.hasAudioTrack;\r\n        this._hasVideo = probeData.hasVideoTrack;\r\n\r\n        this._hasAudioFlagOverrided = false;\r\n        this._hasVideoFlagOverrided = false;\r\n\r\n        this._audioInitialMetadataDispatched = false;\r\n        this._videoInitialMetadataDispatched = false;\r\n\r\n        this._mediaInfo = new _mediaInfo2.default();\r\n        this._mediaInfo.hasAudio = this._hasAudio;\r\n        this._mediaInfo.hasVideo = this._hasVideo;\r\n        this._metadata = null;\r\n        this._audioMetadata = null;\r\n        this._videoMetadata = null;\r\n\r\n        this._naluLengthSize = 4;\r\n        this._timestampBase = 0; // int32, in milliseconds\r\n        this._timescale = 1000;\r\n        this._duration = 0; // int32, in milliseconds\r\n        this._durationOverrided = false;\r\n        this._referenceFrameRate = {\r\n            fixed: true,\r\n            fps: 23.976,\r\n            fps_num: 23976,\r\n            fps_den: 1000\r\n        };\r\n\r\n        this._flvSoundRateTable = [5500, 11025, 22050, 44100, 48000];\r\n\r\n        this._mpegSamplingRates = [96000, 88200, 64000, 48000, 44100, 32000, 24000, 22050, 16000, 12000, 11025, 8000, 7350];\r\n\r\n        this._mpegAudioV10SampleRateTable = [44100, 48000, 32000, 0];\r\n        this._mpegAudioV20SampleRateTable = [22050, 24000, 16000, 0];\r\n        this._mpegAudioV25SampleRateTable = [11025, 12000, 8000, 0];\r\n\r\n        this._mpegAudioL1BitRateTable = [0, 32, 64, 96, 128, 160, 192, 224, 256, 288, 320, 352, 384, 416, 448, -1];\r\n        this._mpegAudioL2BitRateTable = [0, 32, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, 384, -1];\r\n        this._mpegAudioL3BitRateTable = [0, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320, -1];\r\n\r\n        this._videoTrack = { type: 'video', id: 1, sequenceNumber: 0, samples: [], length: 0 };\r\n        this._audioTrack = { type: 'audio', id: 2, sequenceNumber: 0, samples: [], length: 0 };\r\n\r\n        this._littleEndian = function () {\r\n            var buf = new ArrayBuffer(2);\r\n            new DataView(buf).setInt16(0, 256, true); // little-endian write\r\n            return new Int16Array(buf)[0] === 256; // platform-spec read, if equal then LE\r\n        }();\r\n    }\r\n\r\n    _createClass(FLVDemuxer, [{\r\n        key: 'destroy',\r\n        value: function destroy() {\r\n            this._mediaInfo = null;\r\n            this._metadata = null;\r\n            this._audioMetadata = null;\r\n            this._videoMetadata = null;\r\n            this._videoTrack = null;\r\n            this._audioTrack = null;\r\n\r\n            this._onError = null;\r\n            this._onMediaInfo = null;\r\n            this._onMetaDataArrived = null;\r\n            this._onScriptDataArrived = null;\r\n            this._onTrackMetadata = null;\r\n            this._onDataAvailable = null;\r\n        }\r\n    }, {\r\n        key: 'bindDataSource',\r\n        value: function bindDataSource(loader) {\r\n            loader.onDataArrival = this.parseChunks.bind(this);\r\n            return this;\r\n        }\r\n\r\n        // prototype: function(type: string, metadata: any): void\r\n\r\n    }, {\r\n        key: 'resetMediaInfo',\r\n        value: function resetMediaInfo() {\r\n            this._mediaInfo = new _mediaInfo2.default();\r\n        }\r\n    }, {\r\n        key: '_isInitialMetadataDispatched',\r\n        value: function _isInitialMetadataDispatched() {\r\n            if (this._hasAudio && this._hasVideo) {\r\n                // both audio & video\r\n                return this._audioInitialMetadataDispatched && this._videoInitialMetadataDispatched;\r\n            }\r\n            if (this._hasAudio && !this._hasVideo) {\r\n                // audio only\r\n                return this._audioInitialMetadataDispatched;\r\n            }\r\n            if (!this._hasAudio && this._hasVideo) {\r\n                // video only\r\n                return this._videoInitialMetadataDispatched;\r\n            }\r\n            return false;\r\n        }\r\n\r\n        // function parseChunks(chunk: ArrayBuffer, byteStart: number): number;\r\n\r\n    }, {\r\n        key: 'parseChunks',\r\n        value: function parseChunks(chunk, byteStart) {\r\n            if (!this._onError || !this._onMediaInfo || !this._onTrackMetadata || !this._onDataAvailable) {\r\n                throw new _exception.IllegalStateException('Flv: onError & onMediaInfo & onTrackMetadata & onDataAvailable callback must be specified');\r\n            }\r\n\r\n            var offset = 0;\r\n            var le = this._littleEndian;\r\n\r\n            if (byteStart === 0) {\r\n                // buffer with FLV header\r\n                if (chunk.byteLength > 13) {\r\n                    var probeData = FLVDemuxer.probe(chunk);\r\n                    offset = probeData.dataOffset;\r\n                } else {\r\n                    return 0;\r\n                }\r\n            }\r\n\r\n            if (this._firstParse) {\r\n                // handle PreviousTagSize0 before Tag1\r\n                this._firstParse = false;\r\n                if (byteStart + offset !== this._dataOffset) {\r\n                    _logger2.default.w(this.TAG, 'First time parsing but chunk byteStart invalid!');\r\n                }\r\n\r\n                var v = new DataView(chunk, offset);\r\n                var prevTagSize0 = v.getUint32(0, !le);\r\n                if (prevTagSize0 !== 0) {\r\n                    _logger2.default.w(this.TAG, 'PrevTagSize0 !== 0 !!!');\r\n                }\r\n                offset += 4;\r\n            }\r\n\r\n            while (offset < chunk.byteLength) {\r\n                this._dispatch = true;\r\n\r\n                var _v = new DataView(chunk, offset);\r\n\r\n                if (offset + 11 + 4 > chunk.byteLength) {\r\n                    // data not enough for parsing an flv tag\r\n                    break;\r\n                }\r\n\r\n                var tagType = _v.getUint8(0);\r\n                var dataSize = _v.getUint32(0, !le) & 0x00FFFFFF;\r\n\r\n                if (offset + 11 + dataSize + 4 > chunk.byteLength) {\r\n                    // data not enough for parsing actual data body\r\n                    break;\r\n                }\r\n\r\n                if (tagType !== 8 && tagType !== 9 && tagType !== 18) {\r\n                    _logger2.default.w(this.TAG, 'Unsupported tag type ' + tagType + ', skipped');\r\n                    // consume the whole tag (skip it)\r\n                    offset += 11 + dataSize + 4;\r\n                    continue;\r\n                }\r\n\r\n                var ts2 = _v.getUint8(4);\r\n                var ts1 = _v.getUint8(5);\r\n                var ts0 = _v.getUint8(6);\r\n                var ts3 = _v.getUint8(7);\r\n\r\n                var timestamp = ts0 | ts1 << 8 | ts2 << 16 | ts3 << 24;\r\n\r\n                var streamId = _v.getUint32(7, !le) & 0x00FFFFFF;\r\n                if (streamId !== 0) {\r\n                    _logger2.default.w(this.TAG, 'Meet tag which has StreamID != 0!');\r\n                }\r\n\r\n                var dataOffset = offset + 11;\r\n\r\n                switch (tagType) {\r\n                    case 8:\r\n                        // Audio\r\n                        this._parseAudioData(chunk, dataOffset, dataSize, timestamp);\r\n                        break;\r\n                    case 9:\r\n                        // Video\r\n                        this._parseVideoData(chunk, dataOffset, dataSize, timestamp, byteStart + offset);\r\n                        break;\r\n                    case 18:\r\n                        // ScriptDataObject\r\n                        this._parseScriptData(chunk, dataOffset, dataSize);\r\n                        break;\r\n                }\r\n\r\n                var prevTagSize = _v.getUint32(11 + dataSize, !le);\r\n                if (prevTagSize !== 11 + dataSize) {\r\n                    _logger2.default.w(this.TAG, 'Invalid PrevTagSize ' + prevTagSize);\r\n                }\r\n\r\n                offset += 11 + dataSize + 4; // tagBody + dataSize + prevTagSize\r\n            }\r\n\r\n            // dispatch parsed frames to consumer (typically, the remuxer)\r\n            if (this._isInitialMetadataDispatched()) {\r\n                if (this._dispatch && (this._audioTrack.length || this._videoTrack.length)) {\r\n                    this._onDataAvailable(this._audioTrack, this._videoTrack);\r\n                }\r\n            }\r\n\r\n            return offset; // consumed bytes, just equals latest offset index\r\n        }\r\n    }, {\r\n        key: '_parseScriptData',\r\n        value: function _parseScriptData(arrayBuffer, dataOffset, dataSize) {\r\n            var scriptData = _amfParser2.default.parseScriptData(arrayBuffer, dataOffset, dataSize);\r\n\r\n            if (scriptData.hasOwnProperty('onMetaData')) {\r\n                if (scriptData.onMetaData == null || _typeof(scriptData.onMetaData) !== 'object') {\r\n                    _logger2.default.w(this.TAG, 'Invalid onMetaData structure!');\r\n                    return;\r\n                }\r\n                if (this._metadata) {\r\n                    _logger2.default.w(this.TAG, 'Found another onMetaData tag!');\r\n                }\r\n                this._metadata = scriptData;\r\n                var onMetaData = this._metadata.onMetaData;\r\n\r\n                if (this._onMetaDataArrived) {\r\n                    this._onMetaDataArrived(Object.assign({}, onMetaData));\r\n                }\r\n\r\n                if (typeof onMetaData.hasAudio === 'boolean') {\r\n                    // hasAudio\r\n                    if (this._hasAudioFlagOverrided === false) {\r\n                        this._hasAudio = onMetaData.hasAudio;\r\n                        this._mediaInfo.hasAudio = this._hasAudio;\r\n                    }\r\n                }\r\n                if (typeof onMetaData.hasVideo === 'boolean') {\r\n                    // hasVideo\r\n                    if (this._hasVideoFlagOverrided === false) {\r\n                        this._hasVideo = onMetaData.hasVideo;\r\n                        this._mediaInfo.hasVideo = this._hasVideo;\r\n                    }\r\n                }\r\n                if (typeof onMetaData.audiodatarate === 'number') {\r\n                    // audiodatarate\r\n                    this._mediaInfo.audioDataRate = onMetaData.audiodatarate;\r\n                }\r\n                if (typeof onMetaData.videodatarate === 'number') {\r\n                    // videodatarate\r\n                    this._mediaInfo.videoDataRate = onMetaData.videodatarate;\r\n                }\r\n                if (typeof onMetaData.width === 'number') {\r\n                    // width\r\n                    this._mediaInfo.width = onMetaData.width;\r\n                }\r\n                if (typeof onMetaData.height === 'number') {\r\n                    // height\r\n                    this._mediaInfo.height = onMetaData.height;\r\n                }\r\n                if (typeof onMetaData.duration === 'number') {\r\n                    // duration\r\n                    if (!this._durationOverrided) {\r\n                        var duration = Math.floor(onMetaData.duration * this._timescale);\r\n                        this._duration = duration;\r\n                        this._mediaInfo.duration = duration;\r\n                    }\r\n                } else {\r\n                    this._mediaInfo.duration = 0;\r\n                }\r\n                if (typeof onMetaData.framerate === 'number') {\r\n                    // framerate\r\n                    var fps_num = Math.floor(onMetaData.framerate * 1000);\r\n                    if (fps_num > 0) {\r\n                        var fps = fps_num / 1000;\r\n                        this._referenceFrameRate.fixed = true;\r\n                        this._referenceFrameRate.fps = fps;\r\n                        this._referenceFrameRate.fps_num = fps_num;\r\n                        this._referenceFrameRate.fps_den = 1000;\r\n                        this._mediaInfo.fps = fps;\r\n                    }\r\n                }\r\n                if (_typeof(onMetaData.keyframes) === 'object') {\r\n                    // keyframes\r\n                    this._mediaInfo.hasKeyframesIndex = true;\r\n                    var keyframes = onMetaData.keyframes;\r\n                    this._mediaInfo.keyframesIndex = this._parseKeyframesIndex(keyframes);\r\n                    onMetaData.keyframes = null; // keyframes has been extracted, remove it\r\n                } else {\r\n                    this._mediaInfo.hasKeyframesIndex = false;\r\n                }\r\n                this._dispatch = false;\r\n                this._mediaInfo.metadata = onMetaData;\r\n                _logger2.default.v(this.TAG, 'Parsed onMetaData');\r\n                if (this._mediaInfo.isComplete()) {\r\n                    this._onMediaInfo(this._mediaInfo);\r\n                }\r\n            }\r\n\r\n            if (Object.keys(scriptData).length > 0) {\r\n                if (this._onScriptDataArrived) {\r\n                    this._onScriptDataArrived(Object.assign({}, scriptData));\r\n                }\r\n            }\r\n        }\r\n    }, {\r\n        key: '_parseKeyframesIndex',\r\n        value: function _parseKeyframesIndex(keyframes) {\r\n            var times = [];\r\n            var filepositions = [];\r\n\r\n            // ignore first keyframe which is actually AVC Sequence Header (AVCDecoderConfigurationRecord)\r\n            for (var i = 1; i < keyframes.times.length; i++) {\r\n                var time = this._timestampBase + Math.floor(keyframes.times[i] * 1000);\r\n                times.push(time);\r\n                filepositions.push(keyframes.filepositions[i]);\r\n            }\r\n\r\n            return {\r\n                times: times,\r\n                filepositions: filepositions\r\n            };\r\n        }\r\n    }, {\r\n        key: '_parseAudioData',\r\n        value: function _parseAudioData(arrayBuffer, dataOffset, dataSize, tagTimestamp) {\r\n            if (dataSize <= 1) {\r\n                _logger2.default.w(this.TAG, 'Flv: Invalid audio packet, missing SoundData payload!');\r\n                return;\r\n            }\r\n\r\n            if (this._hasAudioFlagOverrided === true && this._hasAudio === false) {\r\n                // If hasAudio: false indicated explicitly in MediaDataSource,\r\n                // Ignore all the audio packets\r\n                return;\r\n            }\r\n\r\n            var le = this._littleEndian;\r\n            var v = new DataView(arrayBuffer, dataOffset, dataSize);\r\n\r\n            var soundSpec = v.getUint8(0);\r\n\r\n            var soundFormat = soundSpec >>> 4;\r\n            if (soundFormat !== 2 && soundFormat !== 10) {\r\n                // MP3 or AAC\r\n                this._onError(_demuxErrors2.default.CODEC_UNSUPPORTED, 'Flv: Unsupported audio codec idx: ' + soundFormat);\r\n                return;\r\n            }\r\n\r\n            var soundRate = 0;\r\n            var soundRateIndex = (soundSpec & 12) >>> 2;\r\n            if (soundRateIndex >= 0 && soundRateIndex <= 4) {\r\n                soundRate = this._flvSoundRateTable[soundRateIndex];\r\n            } else {\r\n                this._onError(_demuxErrors2.default.FORMAT_ERROR, 'Flv: Invalid audio sample rate idx: ' + soundRateIndex);\r\n                return;\r\n            }\r\n\r\n            var soundSize = (soundSpec & 2) >>> 1; // unused\r\n            var soundType = soundSpec & 1;\r\n\r\n            var meta = this._audioMetadata;\r\n            var track = this._audioTrack;\r\n\r\n            if (!meta) {\r\n                if (this._hasAudio === false && this._hasAudioFlagOverrided === false) {\r\n                    this._hasAudio = true;\r\n                    this._mediaInfo.hasAudio = true;\r\n                }\r\n\r\n                // initial metadata\r\n                meta = this._audioMetadata = {};\r\n                meta.type = 'audio';\r\n                meta.id = track.id;\r\n                meta.timescale = this._timescale;\r\n                meta.duration = this._duration;\r\n                meta.audioSampleRate = soundRate;\r\n                meta.channelCount = soundType === 0 ? 1 : 2;\r\n            }\r\n\r\n            if (soundFormat === 10) {\r\n                // AAC\r\n                var aacData = this._parseAACAudioData(arrayBuffer, dataOffset + 1, dataSize - 1);\r\n                if (aacData == undefined) {\r\n                    return;\r\n                }\r\n\r\n                if (aacData.packetType === 0) {\r\n                    // AAC sequence header (AudioSpecificConfig)\r\n                    if (meta.config) {\r\n                        _logger2.default.w(this.TAG, 'Found another AudioSpecificConfig!');\r\n                    }\r\n                    var misc = aacData.data;\r\n                    meta.audioSampleRate = misc.samplingRate;\r\n                    meta.channelCount = misc.channelCount;\r\n                    meta.codec = misc.codec;\r\n                    meta.originalCodec = misc.originalCodec;\r\n                    meta.config = misc.config;\r\n                    // The decode result of an aac sample is 1024 PCM samples\r\n                    meta.refSampleDuration = 1024 / meta.audioSampleRate * meta.timescale;\r\n                    _logger2.default.v(this.TAG, 'Parsed AudioSpecificConfig');\r\n\r\n                    if (this._isInitialMetadataDispatched()) {\r\n                        // Non-initial metadata, force dispatch (or flush) parsed frames to remuxer\r\n                        if (this._dispatch && (this._audioTrack.length || this._videoTrack.length)) {\r\n                            this._onDataAvailable(this._audioTrack, this._videoTrack);\r\n                        }\r\n                    } else {\r\n                        this._audioInitialMetadataDispatched = true;\r\n                    }\r\n                    // then notify new metadata\r\n                    this._dispatch = false;\r\n                    this._onTrackMetadata('audio', meta);\r\n\r\n                    var mi = this._mediaInfo;\r\n                    mi.audioCodec = meta.originalCodec;\r\n                    mi.audioSampleRate = meta.audioSampleRate;\r\n                    mi.audioChannelCount = meta.channelCount;\r\n                    if (mi.hasVideo) {\r\n                        if (mi.videoCodec != null) {\r\n                            mi.mimeType = 'video/x-flv; codecs=\"' + mi.videoCodec + ',' + mi.audioCodec + '\"';\r\n                        }\r\n                    } else {\r\n                        mi.mimeType = 'video/x-flv; codecs=\"' + mi.audioCodec + '\"';\r\n                    }\r\n                    if (mi.isComplete()) {\r\n                        this._onMediaInfo(mi);\r\n                    }\r\n                } else if (aacData.packetType === 1) {\r\n                    // AAC raw frame data\r\n                    var dts = this._timestampBase + tagTimestamp;\r\n                    var aacSample = { unit: aacData.data, length: aacData.data.byteLength, dts: dts, pts: dts };\r\n                    track.samples.push(aacSample);\r\n                    track.length += aacData.data.length;\r\n                } else {\r\n                    _logger2.default.e(this.TAG, 'Flv: Unsupported AAC data type ' + aacData.packetType);\r\n                }\r\n            } else if (soundFormat === 2) {\r\n                // MP3\r\n                if (!meta.codec) {\r\n                    // We need metadata for mp3 audio track, extract info from frame header\r\n                    var _misc = this._parseMP3AudioData(arrayBuffer, dataOffset + 1, dataSize - 1, true);\r\n                    if (_misc == undefined) {\r\n                        return;\r\n                    }\r\n                    meta.audioSampleRate = _misc.samplingRate;\r\n                    meta.channelCount = _misc.channelCount;\r\n                    meta.codec = _misc.codec;\r\n                    meta.originalCodec = _misc.originalCodec;\r\n                    // The decode result of an mp3 sample is 1152 PCM samples\r\n                    meta.refSampleDuration = 1152 / meta.audioSampleRate * meta.timescale;\r\n                    _logger2.default.v(this.TAG, 'Parsed MPEG Audio Frame Header');\r\n\r\n                    this._audioInitialMetadataDispatched = true;\r\n                    this._onTrackMetadata('audio', meta);\r\n\r\n                    var _mi = this._mediaInfo;\r\n                    _mi.audioCodec = meta.codec;\r\n                    _mi.audioSampleRate = meta.audioSampleRate;\r\n                    _mi.audioChannelCount = meta.channelCount;\r\n                    _mi.audioDataRate = _misc.bitRate;\r\n                    if (_mi.hasVideo) {\r\n                        if (_mi.videoCodec != null) {\r\n                            _mi.mimeType = 'video/x-flv; codecs=\"' + _mi.videoCodec + ',' + _mi.audioCodec + '\"';\r\n                        }\r\n                    } else {\r\n                        _mi.mimeType = 'video/x-flv; codecs=\"' + _mi.audioCodec + '\"';\r\n                    }\r\n                    if (_mi.isComplete()) {\r\n                        this._onMediaInfo(_mi);\r\n                    }\r\n                }\r\n\r\n                // This packet is always a valid audio packet, extract it\r\n                var data = this._parseMP3AudioData(arrayBuffer, dataOffset + 1, dataSize - 1, false);\r\n                if (data == undefined) {\r\n                    return;\r\n                }\r\n                var _dts = this._timestampBase + tagTimestamp;\r\n                var mp3Sample = { unit: data, length: data.byteLength, dts: _dts, pts: _dts };\r\n                track.samples.push(mp3Sample);\r\n                track.length += data.length;\r\n            }\r\n        }\r\n    }, {\r\n        key: '_parseAACAudioData',\r\n        value: function _parseAACAudioData(arrayBuffer, dataOffset, dataSize) {\r\n            if (dataSize <= 1) {\r\n                _logger2.default.w(this.TAG, 'Flv: Invalid AAC packet, missing AACPacketType or/and Data!');\r\n                return;\r\n            }\r\n\r\n            var result = {};\r\n            var array = new Uint8Array(arrayBuffer, dataOffset, dataSize);\r\n\r\n            result.packetType = array[0];\r\n\r\n            if (array[0] === 0) {\r\n                result.data = this._parseAACAudioSpecificConfig(arrayBuffer, dataOffset + 1, dataSize - 1);\r\n            } else {\r\n                result.data = array.subarray(1);\r\n            }\r\n\r\n            return result;\r\n        }\r\n    }, {\r\n        key: '_parseAACAudioSpecificConfig',\r\n        value: function _parseAACAudioSpecificConfig(arrayBuffer, dataOffset, dataSize) {\r\n            var array = new Uint8Array(arrayBuffer, dataOffset, dataSize);\r\n            var config = null;\r\n\r\n            /* Audio Object Type:\r\n               0: Null\r\n               1: AAC Main\r\n               2: AAC LC\r\n               3: AAC SSR (Scalable Sample Rate)\r\n               4: AAC LTP (Long Term Prediction)\r\n               5: HE-AAC / SBR (Spectral Band Replication)\r\n               6: AAC Scalable\r\n            */\r\n\r\n            var audioObjectType = 0;\r\n            var originalAudioObjectType = 0;\r\n            var audioExtensionObjectType = null;\r\n            var samplingIndex = 0;\r\n            var extensionSamplingIndex = null;\r\n\r\n            // 5 bits\r\n            audioObjectType = originalAudioObjectType = array[0] >>> 3;\r\n            // 4 bits\r\n            samplingIndex = (array[0] & 0x07) << 1 | array[1] >>> 7;\r\n            if (samplingIndex < 0 || samplingIndex >= this._mpegSamplingRates.length) {\r\n                this._onError(_demuxErrors2.default.FORMAT_ERROR, 'Flv: AAC invalid sampling frequency index!');\r\n                return;\r\n            }\r\n\r\n            var samplingFrequence = this._mpegSamplingRates[samplingIndex];\r\n\r\n            // 4 bits\r\n            var channelConfig = (array[1] & 0x78) >>> 3;\r\n            if (channelConfig < 0 || channelConfig >= 8) {\r\n                this._onError(_demuxErrors2.default.FORMAT_ERROR, 'Flv: AAC invalid channel configuration');\r\n                return;\r\n            }\r\n\r\n            if (audioObjectType === 5) {\r\n                // HE-AAC?\r\n                // 4 bits\r\n                extensionSamplingIndex = (array[1] & 0x07) << 1 | array[2] >>> 7;\r\n                // 5 bits\r\n                audioExtensionObjectType = (array[2] & 0x7C) >>> 2;\r\n            }\r\n\r\n            // workarounds for various browsers\r\n            var userAgent = self.navigator.userAgent.toLowerCase();\r\n\r\n            if (userAgent.indexOf('firefox') !== -1) {\r\n                // firefox: use SBR (HE-AAC) if freq less than 24kHz\r\n                if (samplingIndex >= 6) {\r\n                    audioObjectType = 5;\r\n                    config = new Array(4);\r\n                    extensionSamplingIndex = samplingIndex - 3;\r\n                } else {\r\n                    // use LC-AAC\r\n                    audioObjectType = 2;\r\n                    config = new Array(2);\r\n                    extensionSamplingIndex = samplingIndex;\r\n                }\r\n            } else if (userAgent.indexOf('android') !== -1) {\r\n                // android: always use LC-AAC\r\n                audioObjectType = 2;\r\n                config = new Array(2);\r\n                extensionSamplingIndex = samplingIndex;\r\n            } else {\r\n                // for other browsers, e.g. chrome...\r\n                // Always use HE-AAC to make it easier to switch aac codec profile\r\n                audioObjectType = 5;\r\n                extensionSamplingIndex = samplingIndex;\r\n                config = new Array(4);\r\n\r\n                if (samplingIndex >= 6) {\r\n                    extensionSamplingIndex = samplingIndex - 3;\r\n                } else if (channelConfig === 1) {\r\n                    // Mono channel\r\n                    audioObjectType = 2;\r\n                    config = new Array(2);\r\n                    extensionSamplingIndex = samplingIndex;\r\n                }\r\n            }\r\n\r\n            config[0] = audioObjectType << 3;\r\n            config[0] |= (samplingIndex & 0x0F) >>> 1;\r\n            config[1] = (samplingIndex & 0x0F) << 7;\r\n            config[1] |= (channelConfig & 0x0F) << 3;\r\n            if (audioObjectType === 5) {\r\n                config[1] |= (extensionSamplingIndex & 0x0F) >>> 1;\r\n                config[2] = (extensionSamplingIndex & 0x01) << 7;\r\n                // extended audio object type: force to 2 (LC-AAC)\r\n                config[2] |= 2 << 2;\r\n                config[3] = 0;\r\n            }\r\n\r\n            return {\r\n                config: config,\r\n                samplingRate: samplingFrequence,\r\n                channelCount: channelConfig,\r\n                codec: 'mp4a.40.' + audioObjectType,\r\n                originalCodec: 'mp4a.40.' + originalAudioObjectType\r\n            };\r\n        }\r\n    }, {\r\n        key: '_parseMP3AudioData',\r\n        value: function _parseMP3AudioData(arrayBuffer, dataOffset, dataSize, requestHeader) {\r\n            if (dataSize < 4) {\r\n                _logger2.default.w(this.TAG, 'Flv: Invalid MP3 packet, header missing!');\r\n                return;\r\n            }\r\n\r\n            var le = this._littleEndian;\r\n            var array = new Uint8Array(arrayBuffer, dataOffset, dataSize);\r\n            var result = null;\r\n\r\n            if (requestHeader) {\r\n                if (array[0] !== 0xFF) {\r\n                    return;\r\n                }\r\n                var ver = array[1] >>> 3 & 0x03;\r\n                var layer = (array[1] & 0x06) >> 1;\r\n\r\n                var bitrate_index = (array[2] & 0xF0) >>> 4;\r\n                var sampling_freq_index = (array[2] & 0x0C) >>> 2;\r\n\r\n                var channel_mode = array[3] >>> 6 & 0x03;\r\n                var channel_count = channel_mode !== 3 ? 2 : 1;\r\n\r\n                var sample_rate = 0;\r\n                var bit_rate = 0;\r\n                var object_type = 34; // Layer-3, listed in MPEG-4 Audio Object Types\r\n\r\n                var codec = 'mp3';\r\n\r\n                switch (ver) {\r\n                    case 0:\r\n                        // MPEG 2.5\r\n                        sample_rate = this._mpegAudioV25SampleRateTable[sampling_freq_index];\r\n                        break;\r\n                    case 2:\r\n                        // MPEG 2\r\n                        sample_rate = this._mpegAudioV20SampleRateTable[sampling_freq_index];\r\n                        break;\r\n                    case 3:\r\n                        // MPEG 1\r\n                        sample_rate = this._mpegAudioV10SampleRateTable[sampling_freq_index];\r\n                        break;\r\n                }\r\n\r\n                switch (layer) {\r\n                    case 1:\r\n                        // Layer 3\r\n                        object_type = 34;\r\n                        if (bitrate_index < this._mpegAudioL3BitRateTable.length) {\r\n                            bit_rate = this._mpegAudioL3BitRateTable[bitrate_index];\r\n                        }\r\n                        break;\r\n                    case 2:\r\n                        // Layer 2\r\n                        object_type = 33;\r\n                        if (bitrate_index < this._mpegAudioL2BitRateTable.length) {\r\n                            bit_rate = this._mpegAudioL2BitRateTable[bitrate_index];\r\n                        }\r\n                        break;\r\n                    case 3:\r\n                        // Layer 1\r\n                        object_type = 32;\r\n                        if (bitrate_index < this._mpegAudioL1BitRateTable.length) {\r\n                            bit_rate = this._mpegAudioL1BitRateTable[bitrate_index];\r\n                        }\r\n                        break;\r\n                }\r\n\r\n                result = {\r\n                    bitRate: bit_rate,\r\n                    samplingRate: sample_rate,\r\n                    channelCount: channel_count,\r\n                    codec: codec,\r\n                    originalCodec: codec\r\n                };\r\n            } else {\r\n                result = array;\r\n            }\r\n\r\n            return result;\r\n        }\r\n    }, {\r\n        key: '_parseVideoData',\r\n        value: function _parseVideoData(arrayBuffer, dataOffset, dataSize, tagTimestamp, tagPosition) {\r\n            if (dataSize <= 1) {\r\n                _logger2.default.w(this.TAG, 'Flv: Invalid video packet, missing VideoData payload!');\r\n                return;\r\n            }\r\n\r\n            if (this._hasVideoFlagOverrided === true && this._hasVideo === false) {\r\n                // If hasVideo: false indicated explicitly in MediaDataSource,\r\n                // Ignore all the video packets\r\n                return;\r\n            }\r\n\r\n            var spec = new Uint8Array(arrayBuffer, dataOffset, dataSize)[0];\r\n\r\n            var frameType = (spec & 240) >>> 4;\r\n            var codecId = spec & 15;\r\n\r\n            if (codecId !== 7) {\r\n                this._onError(_demuxErrors2.default.CODEC_UNSUPPORTED, 'Flv: Unsupported codec in video frame: ' + codecId);\r\n                return;\r\n            }\r\n\r\n            this._parseAVCVideoPacket(arrayBuffer, dataOffset + 1, dataSize - 1, tagTimestamp, tagPosition, frameType);\r\n        }\r\n    }, {\r\n        key: '_parseAVCVideoPacket',\r\n        value: function _parseAVCVideoPacket(arrayBuffer, dataOffset, dataSize, tagTimestamp, tagPosition, frameType) {\r\n            if (dataSize < 4) {\r\n                _logger2.default.w(this.TAG, 'Flv: Invalid AVC packet, missing AVCPacketType or/and CompositionTime');\r\n                return;\r\n            }\r\n\r\n            var le = this._littleEndian;\r\n            var v = new DataView(arrayBuffer, dataOffset, dataSize);\r\n\r\n            var packetType = v.getUint8(0);\r\n            var cts_unsigned = v.getUint32(0, !le) & 0x00FFFFFF;\r\n            var cts = cts_unsigned << 8 >> 8; // convert to 24-bit signed int\r\n\r\n            if (packetType === 0) {\r\n                // AVCDecoderConfigurationRecord\r\n                this._parseAVCDecoderConfigurationRecord(arrayBuffer, dataOffset + 4, dataSize - 4);\r\n            } else if (packetType === 1) {\r\n                // One or more Nalus\r\n                this._parseAVCVideoData(arrayBuffer, dataOffset + 4, dataSize - 4, tagTimestamp, tagPosition, frameType, cts);\r\n            } else if (packetType === 2) {\r\n                // empty, AVC end of sequence\r\n            } else {\r\n                this._onError(_demuxErrors2.default.FORMAT_ERROR, 'Flv: Invalid video packet type ' + packetType);\r\n                return;\r\n            }\r\n        }\r\n    }, {\r\n        key: '_parseAVCDecoderConfigurationRecord',\r\n        value: function _parseAVCDecoderConfigurationRecord(arrayBuffer, dataOffset, dataSize) {\r\n            if (dataSize < 7) {\r\n                _logger2.default.w(this.TAG, 'Flv: Invalid AVCDecoderConfigurationRecord, lack of data!');\r\n                return;\r\n            }\r\n\r\n            var meta = this._videoMetadata;\r\n            var track = this._videoTrack;\r\n            var le = this._littleEndian;\r\n            var v = new DataView(arrayBuffer, dataOffset, dataSize);\r\n\r\n            if (!meta) {\r\n                if (this._hasVideo === false && this._hasVideoFlagOverrided === false) {\r\n                    this._hasVideo = true;\r\n                    this._mediaInfo.hasVideo = true;\r\n                }\r\n\r\n                meta = this._videoMetadata = {};\r\n                meta.type = 'video';\r\n                meta.id = track.id;\r\n                meta.timescale = this._timescale;\r\n                meta.duration = this._duration;\r\n            } else {\r\n                if (typeof meta.avcc !== 'undefined') {\r\n                    _logger2.default.w(this.TAG, 'Found another AVCDecoderConfigurationRecord!');\r\n                }\r\n            }\r\n\r\n            var version = v.getUint8(0); // configurationVersion\r\n            var avcProfile = v.getUint8(1); // avcProfileIndication\r\n            var profileCompatibility = v.getUint8(2); // profile_compatibility\r\n            var avcLevel = v.getUint8(3); // AVCLevelIndication\r\n\r\n            if (version !== 1 || avcProfile === 0) {\r\n                this._onError(_demuxErrors2.default.FORMAT_ERROR, 'Flv: Invalid AVCDecoderConfigurationRecord');\r\n                return;\r\n            }\r\n\r\n            this._naluLengthSize = (v.getUint8(4) & 3) + 1; // lengthSizeMinusOne\r\n            if (this._naluLengthSize !== 3 && this._naluLengthSize !== 4) {\r\n                // holy shit!!!\r\n                this._onError(_demuxErrors2.default.FORMAT_ERROR, 'Flv: Strange NaluLengthSizeMinusOne: ' + (this._naluLengthSize - 1));\r\n                return;\r\n            }\r\n\r\n            var spsCount = v.getUint8(5) & 31; // numOfSequenceParameterSets\r\n            if (spsCount === 0) {\r\n                this._onError(_demuxErrors2.default.FORMAT_ERROR, 'Flv: Invalid AVCDecoderConfigurationRecord: No SPS');\r\n                return;\r\n            } else if (spsCount > 1) {\r\n                _logger2.default.w(this.TAG, 'Flv: Strange AVCDecoderConfigurationRecord: SPS Count = ' + spsCount);\r\n            }\r\n\r\n            var offset = 6;\r\n\r\n            for (var i = 0; i < spsCount; i++) {\r\n                var len = v.getUint16(offset, !le); // sequenceParameterSetLength\r\n                offset += 2;\r\n\r\n                if (len === 0) {\r\n                    continue;\r\n                }\r\n\r\n                // Notice: Nalu without startcode header (00 00 00 01)\r\n                var sps = new Uint8Array(arrayBuffer, dataOffset + offset, len);\r\n                offset += len;\r\n\r\n                var config = _spsParser2.default.parseSPS(sps);\r\n                if (i !== 0) {\r\n                    // ignore other sps's config\r\n                    continue;\r\n                }\r\n\r\n                meta.codecWidth = config.codec_size.width;\r\n                meta.codecHeight = config.codec_size.height;\r\n                meta.presentWidth = config.present_size.width;\r\n                meta.presentHeight = config.present_size.height;\r\n\r\n                meta.profile = config.profile_string;\r\n                meta.level = config.level_string;\r\n                meta.bitDepth = config.bit_depth;\r\n                meta.chromaFormat = config.chroma_format;\r\n                meta.sarRatio = config.sar_ratio;\r\n                meta.frameRate = config.frame_rate;\r\n\r\n                if (config.frame_rate.fixed === false || config.frame_rate.fps_num === 0 || config.frame_rate.fps_den === 0) {\r\n                    meta.frameRate = this._referenceFrameRate;\r\n                }\r\n\r\n                var fps_den = meta.frameRate.fps_den;\r\n                var fps_num = meta.frameRate.fps_num;\r\n                meta.refSampleDuration = meta.timescale * (fps_den / fps_num);\r\n\r\n                var codecArray = sps.subarray(1, 4);\r\n                var codecString = 'avc1.';\r\n                for (var j = 0; j < 3; j++) {\r\n                    var h = codecArray[j].toString(16);\r\n                    if (h.length < 2) {\r\n                        h = '0' + h;\r\n                    }\r\n                    codecString += h;\r\n                }\r\n                meta.codec = codecString;\r\n\r\n                var mi = this._mediaInfo;\r\n                mi.width = meta.codecWidth;\r\n                mi.height = meta.codecHeight;\r\n                mi.fps = meta.frameRate.fps;\r\n                mi.profile = meta.profile;\r\n                mi.level = meta.level;\r\n                mi.refFrames = config.ref_frames;\r\n                mi.chromaFormat = config.chroma_format_string;\r\n                mi.sarNum = meta.sarRatio.width;\r\n                mi.sarDen = meta.sarRatio.height;\r\n                mi.videoCodec = codecString;\r\n\r\n                if (mi.hasAudio) {\r\n                    if (mi.audioCodec != null) {\r\n                        mi.mimeType = 'video/x-flv; codecs=\"' + mi.videoCodec + ',' + mi.audioCodec + '\"';\r\n                    }\r\n                } else {\r\n                    mi.mimeType = 'video/x-flv; codecs=\"' + mi.videoCodec + '\"';\r\n                }\r\n                if (mi.isComplete()) {\r\n                    this._onMediaInfo(mi);\r\n                }\r\n            }\r\n\r\n            var ppsCount = v.getUint8(offset); // numOfPictureParameterSets\r\n            if (ppsCount === 0) {\r\n                this._onError(_demuxErrors2.default.FORMAT_ERROR, 'Flv: Invalid AVCDecoderConfigurationRecord: No PPS');\r\n                return;\r\n            } else if (ppsCount > 1) {\r\n                _logger2.default.w(this.TAG, 'Flv: Strange AVCDecoderConfigurationRecord: PPS Count = ' + ppsCount);\r\n            }\r\n\r\n            offset++;\r\n\r\n            for (var _i = 0; _i < ppsCount; _i++) {\r\n                var _len = v.getUint16(offset, !le); // pictureParameterSetLength\r\n                offset += 2;\r\n\r\n                if (_len === 0) {\r\n                    continue;\r\n                }\r\n\r\n                // pps is useless for extracting video information\r\n                offset += _len;\r\n            }\r\n\r\n            meta.avcc = new Uint8Array(dataSize);\r\n            meta.avcc.set(new Uint8Array(arrayBuffer, dataOffset, dataSize), 0);\r\n            _logger2.default.v(this.TAG, 'Parsed AVCDecoderConfigurationRecord');\r\n\r\n            if (this._isInitialMetadataDispatched()) {\r\n                // flush parsed frames\r\n                if (this._dispatch && (this._audioTrack.length || this._videoTrack.length)) {\r\n                    this._onDataAvailable(this._audioTrack, this._videoTrack);\r\n                }\r\n            } else {\r\n                this._videoInitialMetadataDispatched = true;\r\n            }\r\n            // notify new metadata\r\n            this._dispatch = false;\r\n            this._onTrackMetadata('video', meta);\r\n        }\r\n    }, {\r\n        key: '_parseAVCVideoData',\r\n        value: function _parseAVCVideoData(arrayBuffer, dataOffset, dataSize, tagTimestamp, tagPosition, frameType, cts) {\r\n            var le = this._littleEndian;\r\n            var v = new DataView(arrayBuffer, dataOffset, dataSize);\r\n\r\n            var units = [],\r\n                length = 0;\r\n\r\n            var offset = 0;\r\n            var lengthSize = this._naluLengthSize;\r\n            var dts = this._timestampBase + tagTimestamp;\r\n            var keyframe = frameType === 1; // from FLV Frame Type constants\r\n\r\n            while (offset < dataSize) {\r\n                if (offset + 4 >= dataSize) {\r\n                    _logger2.default.w(this.TAG, 'Malformed Nalu near timestamp ' + dts + ', offset = ' + offset + ', dataSize = ' + dataSize);\r\n                    break; // data not enough for next Nalu\r\n                }\r\n                // Nalu with length-header (AVC1)\r\n                var naluSize = v.getUint32(offset, !le); // Big-Endian read\r\n                if (lengthSize === 3) {\r\n                    naluSize >>>= 8;\r\n                }\r\n                if (naluSize > dataSize - lengthSize) {\r\n                    _logger2.default.w(this.TAG, 'Malformed Nalus near timestamp ' + dts + ', NaluSize > DataSize!');\r\n                    return;\r\n                }\r\n\r\n                var unitType = v.getUint8(offset + lengthSize) & 0x1F;\r\n\r\n                if (unitType === 5) {\r\n                    // IDR\r\n                    keyframe = true;\r\n                }\r\n\r\n                var data = new Uint8Array(arrayBuffer, dataOffset + offset, lengthSize + naluSize);\r\n                var unit = { type: unitType, data: data };\r\n                units.push(unit);\r\n                length += data.byteLength;\r\n\r\n                offset += lengthSize + naluSize;\r\n            }\r\n\r\n            if (units.length) {\r\n                var track = this._videoTrack;\r\n                var avcSample = {\r\n                    units: units,\r\n                    length: length,\r\n                    isKeyframe: keyframe,\r\n                    dts: dts,\r\n                    cts: cts,\r\n                    pts: dts + cts\r\n                };\r\n                if (keyframe) {\r\n                    avcSample.fileposition = tagPosition;\r\n                }\r\n                track.samples.push(avcSample);\r\n                track.length += length;\r\n            }\r\n        }\r\n    }, {\r\n        key: 'onTrackMetadata',\r\n        get: function get() {\r\n            return this._onTrackMetadata;\r\n        },\r\n        set: function set(callback) {\r\n            this._onTrackMetadata = callback;\r\n        }\r\n\r\n        // prototype: function(mediaInfo: MediaInfo): void\r\n\r\n    }, {\r\n        key: 'onMediaInfo',\r\n        get: function get() {\r\n            return this._onMediaInfo;\r\n        },\r\n        set: function set(callback) {\r\n            this._onMediaInfo = callback;\r\n        }\r\n    }, {\r\n        key: 'onMetaDataArrived',\r\n        get: function get() {\r\n            return this._onMetaDataArrived;\r\n        },\r\n        set: function set(callback) {\r\n            this._onMetaDataArrived = callback;\r\n        }\r\n    }, {\r\n        key: 'onScriptDataArrived',\r\n        get: function get() {\r\n            return this._onScriptDataArrived;\r\n        },\r\n        set: function set(callback) {\r\n            this._onScriptDataArrived = callback;\r\n        }\r\n\r\n        // prototype: function(type: number, info: string): void\r\n\r\n    }, {\r\n        key: 'onError',\r\n        get: function get() {\r\n            return this._onError;\r\n        },\r\n        set: function set(callback) {\r\n            this._onError = callback;\r\n        }\r\n\r\n        // prototype: function(videoTrack: any, audioTrack: any): void\r\n\r\n    }, {\r\n        key: 'onDataAvailable',\r\n        get: function get() {\r\n            return this._onDataAvailable;\r\n        },\r\n        set: function set(callback) {\r\n            this._onDataAvailable = callback;\r\n        }\r\n\r\n        // timestamp base for output samples, must be in milliseconds\r\n\r\n    }, {\r\n        key: 'timestampBase',\r\n        get: function get() {\r\n            return this._timestampBase;\r\n        },\r\n        set: function set(base) {\r\n            this._timestampBase = base;\r\n        }\r\n    }, {\r\n        key: 'overridedDuration',\r\n        get: function get() {\r\n            return this._duration;\r\n        }\r\n\r\n        // Force-override media duration. Must be in milliseconds, int32\r\n        ,\r\n        set: function set(duration) {\r\n            this._durationOverrided = true;\r\n            this._duration = duration;\r\n            this._mediaInfo.duration = duration;\r\n        }\r\n\r\n        // Force-override audio track present flag, boolean\r\n\r\n    }, {\r\n        key: 'overridedHasAudio',\r\n        set: function set(hasAudio) {\r\n            this._hasAudioFlagOverrided = true;\r\n            this._hasAudio = hasAudio;\r\n            this._mediaInfo.hasAudio = hasAudio;\r\n        }\r\n\r\n        // Force-override video track present flag, boolean\r\n\r\n    }, {\r\n        key: 'overridedHasVideo',\r\n        set: function set(hasVideo) {\r\n            this._hasVideoFlagOverrided = true;\r\n            this._hasVideo = hasVideo;\r\n            this._mediaInfo.hasVideo = hasVideo;\r\n        }\r\n    }], [{\r\n        key: 'probe',\r\n        value: function probe(buffer) {\r\n            var data = new Uint8Array(buffer);\r\n            var mismatch = { match: false };\r\n\r\n            if (data[0] !== 0x46 || data[1] !== 0x4C || data[2] !== 0x56 || data[3] !== 0x01) {\r\n                return mismatch;\r\n            }\r\n\r\n            var hasAudio = (data[4] & 4) >>> 2 !== 0;\r\n            var hasVideo = (data[4] & 1) !== 0;\r\n\r\n            var offset = ReadBig32(data, 5);\r\n\r\n            if (offset < 9) {\r\n                return mismatch;\r\n            }\r\n\r\n            return {\r\n                match: true,\r\n                consumed: offset,\r\n                dataOffset: offset,\r\n                hasAudioTrack: hasAudio,\r\n                hasVideoTrack: hasVideo\r\n            };\r\n        }\r\n    }]);\r\n\r\n    return FLVDemuxer;\r\n}();\r\n\r\nexports.default = FLVDemuxer;\r\n\r\n},{\"../core/media-info.js\":7,\"../utils/exception.js\":40,\"../utils/logger.js\":41,\"./amf-parser.js\":15,\"./demux-errors.js\":16,\"./sps-parser.js\":19}],19:[function(_dereq_,module,exports){\r\n'use strict';\r\n\r\nObject.defineProperty(exports, \"__esModule\", {\r\n    value: true\r\n});\r\n\r\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /*\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * @author zheng qian <xqq@xqq.im>\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * you may not use this file except in compliance with the License.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * You may obtain a copy of the License at\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *     http://www.apache.org/licenses/LICENSE-2.0\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * Unless required by applicable law or agreed to in writing, software\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * See the License for the specific language governing permissions and\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * limitations under the License.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      */\r\n\r\nvar _expGolomb = _dereq_('./exp-golomb.js');\r\n\r\nvar _expGolomb2 = _interopRequireDefault(_expGolomb);\r\n\r\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\r\n\r\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\r\n\r\nvar SPSParser = function () {\r\n    function SPSParser() {\r\n        _classCallCheck(this, SPSParser);\r\n    }\r\n\r\n    _createClass(SPSParser, null, [{\r\n        key: '_ebsp2rbsp',\r\n        value: function _ebsp2rbsp(uint8array) {\r\n            var src = uint8array;\r\n            var src_length = src.byteLength;\r\n            var dst = new Uint8Array(src_length);\r\n            var dst_idx = 0;\r\n\r\n            for (var i = 0; i < src_length; i++) {\r\n                if (i >= 2) {\r\n                    // Unescape: Skip 0x03 after 00 00\r\n                    if (src[i] === 0x03 && src[i - 1] === 0x00 && src[i - 2] === 0x00) {\r\n                        continue;\r\n                    }\r\n                }\r\n                dst[dst_idx] = src[i];\r\n                dst_idx++;\r\n            }\r\n\r\n            return new Uint8Array(dst.buffer, 0, dst_idx);\r\n        }\r\n    }, {\r\n        key: 'parseSPS',\r\n        value: function parseSPS(uint8array) {\r\n            var rbsp = SPSParser._ebsp2rbsp(uint8array);\r\n            var gb = new _expGolomb2.default(rbsp);\r\n\r\n            gb.readByte();\r\n            var profile_idc = gb.readByte(); // profile_idc\r\n            gb.readByte(); // constraint_set_flags[5] + reserved_zero[3]\r\n            var level_idc = gb.readByte(); // level_idc\r\n            gb.readUEG(); // seq_parameter_set_id\r\n\r\n            var profile_string = SPSParser.getProfileString(profile_idc);\r\n            var level_string = SPSParser.getLevelString(level_idc);\r\n            var chroma_format_idc = 1;\r\n            var chroma_format = 420;\r\n            var chroma_format_table = [0, 420, 422, 444];\r\n            var bit_depth = 8;\r\n\r\n            if (profile_idc === 100 || profile_idc === 110 || profile_idc === 122 || profile_idc === 244 || profile_idc === 44 || profile_idc === 83 || profile_idc === 86 || profile_idc === 118 || profile_idc === 128 || profile_idc === 138 || profile_idc === 144) {\r\n\r\n                chroma_format_idc = gb.readUEG();\r\n                if (chroma_format_idc === 3) {\r\n                    gb.readBits(1); // separate_colour_plane_flag\r\n                }\r\n                if (chroma_format_idc <= 3) {\r\n                    chroma_format = chroma_format_table[chroma_format_idc];\r\n                }\r\n\r\n                bit_depth = gb.readUEG() + 8; // bit_depth_luma_minus8\r\n                gb.readUEG(); // bit_depth_chroma_minus8\r\n                gb.readBits(1); // qpprime_y_zero_transform_bypass_flag\r\n                if (gb.readBool()) {\r\n                    // seq_scaling_matrix_present_flag\r\n                    var scaling_list_count = chroma_format_idc !== 3 ? 8 : 12;\r\n                    for (var i = 0; i < scaling_list_count; i++) {\r\n                        if (gb.readBool()) {\r\n                            // seq_scaling_list_present_flag\r\n                            if (i < 6) {\r\n                                SPSParser._skipScalingList(gb, 16);\r\n                            } else {\r\n                                SPSParser._skipScalingList(gb, 64);\r\n                            }\r\n                        }\r\n                    }\r\n                }\r\n            }\r\n            gb.readUEG(); // log2_max_frame_num_minus4\r\n            var pic_order_cnt_type = gb.readUEG();\r\n            if (pic_order_cnt_type === 0) {\r\n                gb.readUEG(); // log2_max_pic_order_cnt_lsb_minus_4\r\n            } else if (pic_order_cnt_type === 1) {\r\n                gb.readBits(1); // delta_pic_order_always_zero_flag\r\n                gb.readSEG(); // offset_for_non_ref_pic\r\n                gb.readSEG(); // offset_for_top_to_bottom_field\r\n                var num_ref_frames_in_pic_order_cnt_cycle = gb.readUEG();\r\n                for (var _i = 0; _i < num_ref_frames_in_pic_order_cnt_cycle; _i++) {\r\n                    gb.readSEG(); // offset_for_ref_frame\r\n                }\r\n            }\r\n            var ref_frames = gb.readUEG(); // max_num_ref_frames\r\n            gb.readBits(1); // gaps_in_frame_num_value_allowed_flag\r\n\r\n            var pic_width_in_mbs_minus1 = gb.readUEG();\r\n            var pic_height_in_map_units_minus1 = gb.readUEG();\r\n\r\n            var frame_mbs_only_flag = gb.readBits(1);\r\n            if (frame_mbs_only_flag === 0) {\r\n                gb.readBits(1); // mb_adaptive_frame_field_flag\r\n            }\r\n            gb.readBits(1); // direct_8x8_inference_flag\r\n\r\n            var frame_crop_left_offset = 0;\r\n            var frame_crop_right_offset = 0;\r\n            var frame_crop_top_offset = 0;\r\n            var frame_crop_bottom_offset = 0;\r\n\r\n            var frame_cropping_flag = gb.readBool();\r\n            if (frame_cropping_flag) {\r\n                frame_crop_left_offset = gb.readUEG();\r\n                frame_crop_right_offset = gb.readUEG();\r\n                frame_crop_top_offset = gb.readUEG();\r\n                frame_crop_bottom_offset = gb.readUEG();\r\n            }\r\n\r\n            var sar_width = 1,\r\n                sar_height = 1;\r\n            var fps = 0,\r\n                fps_fixed = true,\r\n                fps_num = 0,\r\n                fps_den = 0;\r\n\r\n            var vui_parameters_present_flag = gb.readBool();\r\n            if (vui_parameters_present_flag) {\r\n                if (gb.readBool()) {\r\n                    // aspect_ratio_info_present_flag\r\n                    var aspect_ratio_idc = gb.readByte();\r\n                    var sar_w_table = [1, 12, 10, 16, 40, 24, 20, 32, 80, 18, 15, 64, 160, 4, 3, 2];\r\n                    var sar_h_table = [1, 11, 11, 11, 33, 11, 11, 11, 33, 11, 11, 33, 99, 3, 2, 1];\r\n\r\n                    if (aspect_ratio_idc > 0 && aspect_ratio_idc < 16) {\r\n                        sar_width = sar_w_table[aspect_ratio_idc - 1];\r\n                        sar_height = sar_h_table[aspect_ratio_idc - 1];\r\n                    } else if (aspect_ratio_idc === 255) {\r\n                        sar_width = gb.readByte() << 8 | gb.readByte();\r\n                        sar_height = gb.readByte() << 8 | gb.readByte();\r\n                    }\r\n                }\r\n\r\n                if (gb.readBool()) {\r\n                    // overscan_info_present_flag\r\n                    gb.readBool(); // overscan_appropriate_flag\r\n                }\r\n                if (gb.readBool()) {\r\n                    // video_signal_type_present_flag\r\n                    gb.readBits(4); // video_format & video_full_range_flag\r\n                    if (gb.readBool()) {\r\n                        // colour_description_present_flag\r\n                        gb.readBits(24); // colour_primaries & transfer_characteristics & matrix_coefficients\r\n                    }\r\n                }\r\n                if (gb.readBool()) {\r\n                    // chroma_loc_info_present_flag\r\n                    gb.readUEG(); // chroma_sample_loc_type_top_field\r\n                    gb.readUEG(); // chroma_sample_loc_type_bottom_field\r\n                }\r\n                if (gb.readBool()) {\r\n                    // timing_info_present_flag\r\n                    var num_units_in_tick = gb.readBits(32);\r\n                    var time_scale = gb.readBits(32);\r\n                    fps_fixed = gb.readBool(); // fixed_frame_rate_flag\r\n\r\n                    fps_num = time_scale;\r\n                    fps_den = num_units_in_tick * 2;\r\n                    fps = fps_num / fps_den;\r\n                }\r\n            }\r\n\r\n            var sarScale = 1;\r\n            if (sar_width !== 1 || sar_height !== 1) {\r\n                sarScale = sar_width / sar_height;\r\n            }\r\n\r\n            var crop_unit_x = 0,\r\n                crop_unit_y = 0;\r\n            if (chroma_format_idc === 0) {\r\n                crop_unit_x = 1;\r\n                crop_unit_y = 2 - frame_mbs_only_flag;\r\n            } else {\r\n                var sub_wc = chroma_format_idc === 3 ? 1 : 2;\r\n                var sub_hc = chroma_format_idc === 1 ? 2 : 1;\r\n                crop_unit_x = sub_wc;\r\n                crop_unit_y = sub_hc * (2 - frame_mbs_only_flag);\r\n            }\r\n\r\n            var codec_width = (pic_width_in_mbs_minus1 + 1) * 16;\r\n            var codec_height = (2 - frame_mbs_only_flag) * ((pic_height_in_map_units_minus1 + 1) * 16);\r\n\r\n            codec_width -= (frame_crop_left_offset + frame_crop_right_offset) * crop_unit_x;\r\n            codec_height -= (frame_crop_top_offset + frame_crop_bottom_offset) * crop_unit_y;\r\n\r\n            var present_width = Math.ceil(codec_width * sarScale);\r\n\r\n            gb.destroy();\r\n            gb = null;\r\n\r\n            return {\r\n                profile_string: profile_string, // baseline, high, high10, ...\r\n                level_string: level_string, // 3, 3.1, 4, 4.1, 5, 5.1, ...\r\n                bit_depth: bit_depth, // 8bit, 10bit, ...\r\n                ref_frames: ref_frames,\r\n                chroma_format: chroma_format, // 4:2:0, 4:2:2, ...\r\n                chroma_format_string: SPSParser.getChromaFormatString(chroma_format),\r\n\r\n                frame_rate: {\r\n                    fixed: fps_fixed,\r\n                    fps: fps,\r\n                    fps_den: fps_den,\r\n                    fps_num: fps_num\r\n                },\r\n\r\n                sar_ratio: {\r\n                    width: sar_width,\r\n                    height: sar_height\r\n                },\r\n\r\n                codec_size: {\r\n                    width: codec_width,\r\n                    height: codec_height\r\n                },\r\n\r\n                present_size: {\r\n                    width: present_width,\r\n                    height: codec_height\r\n                }\r\n            };\r\n        }\r\n    }, {\r\n        key: '_skipScalingList',\r\n        value: function _skipScalingList(gb, count) {\r\n            var last_scale = 8,\r\n                next_scale = 8;\r\n            var delta_scale = 0;\r\n            for (var i = 0; i < count; i++) {\r\n                if (next_scale !== 0) {\r\n                    delta_scale = gb.readSEG();\r\n                    next_scale = (last_scale + delta_scale + 256) % 256;\r\n                }\r\n                last_scale = next_scale === 0 ? last_scale : next_scale;\r\n            }\r\n        }\r\n    }, {\r\n        key: 'getProfileString',\r\n        value: function getProfileString(profile_idc) {\r\n            switch (profile_idc) {\r\n                case 66:\r\n                    return 'Baseline';\r\n                case 77:\r\n                    return 'Main';\r\n                case 88:\r\n                    return 'Extended';\r\n                case 100:\r\n                    return 'High';\r\n                case 110:\r\n                    return 'High10';\r\n                case 122:\r\n                    return 'High422';\r\n                case 244:\r\n                    return 'High444';\r\n                default:\r\n                    return 'Unknown';\r\n            }\r\n        }\r\n    }, {\r\n        key: 'getLevelString',\r\n        value: function getLevelString(level_idc) {\r\n            return (level_idc / 10).toFixed(1);\r\n        }\r\n    }, {\r\n        key: 'getChromaFormatString',\r\n        value: function getChromaFormatString(chroma) {\r\n            switch (chroma) {\r\n                case 420:\r\n                    return '4:2:0';\r\n                case 422:\r\n                    return '4:2:2';\r\n                case 444:\r\n                    return '4:4:4';\r\n                default:\r\n                    return 'Unknown';\r\n            }\r\n        }\r\n    }]);\r\n\r\n    return SPSParser;\r\n}();\r\n\r\nexports.default = SPSParser;\r\n\r\n},{\"./exp-golomb.js\":17}],20:[function(_dereq_,module,exports){\r\n'use strict';\r\n\r\nObject.defineProperty(exports, \"__esModule\", {\r\n    value: true\r\n});\r\n\r\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; /*\r\n                                                                                                                                                                                                                                                                               * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n                                                                                                                                                                                                                                                                               *\r\n                                                                                                                                                                                                                                                                               * @author zheng qian <xqq@xqq.im>\r\n                                                                                                                                                                                                                                                                               *\r\n                                                                                                                                                                                                                                                                               * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n                                                                                                                                                                                                                                                                               * you may not use this file except in compliance with the License.\r\n                                                                                                                                                                                                                                                                               * You may obtain a copy of the License at\r\n                                                                                                                                                                                                                                                                               *\r\n                                                                                                                                                                                                                                                                               *     http://www.apache.org/licenses/LICENSE-2.0\r\n                                                                                                                                                                                                                                                                               *\r\n                                                                                                                                                                                                                                                                               * Unless required by applicable law or agreed to in writing, software\r\n                                                                                                                                                                                                                                                                               * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n                                                                                                                                                                                                                                                                               * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n                                                                                                                                                                                                                                                                               * See the License for the specific language governing permissions and\r\n                                                                                                                                                                                                                                                                               * limitations under the License.\r\n                                                                                                                                                                                                                                                                               */\r\n\r\nvar _polyfill = _dereq_('./utils/polyfill.js');\r\n\r\nvar _polyfill2 = _interopRequireDefault(_polyfill);\r\n\r\nvar _features = _dereq_('./core/features.js');\r\n\r\nvar _features2 = _interopRequireDefault(_features);\r\n\r\nvar _loader = _dereq_('./io/loader.js');\r\n\r\nvar _flvPlayer = _dereq_('./player/flv-player.js');\r\n\r\nvar _flvPlayer2 = _interopRequireDefault(_flvPlayer);\r\n\r\nvar _nativePlayer = _dereq_('./player/native-player.js');\r\n\r\nvar _nativePlayer2 = _interopRequireDefault(_nativePlayer);\r\n\r\nvar _playerEvents = _dereq_('./player/player-events.js');\r\n\r\nvar _playerEvents2 = _interopRequireDefault(_playerEvents);\r\n\r\nvar _playerErrors = _dereq_('./player/player-errors.js');\r\n\r\nvar _loggingControl = _dereq_('./utils/logging-control.js');\r\n\r\nvar _loggingControl2 = _interopRequireDefault(_loggingControl);\r\n\r\nvar _exception = _dereq_('./utils/exception.js');\r\n\r\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\r\n\r\n// here are all the interfaces\r\n\r\n// install polyfills\r\n_polyfill2.default.install();\r\n\r\n// factory method\r\nfunction createPlayer(mediaDataSource, optionalConfig) {\r\n    var mds = mediaDataSource;\r\n    if (mds == null || (typeof mds === 'undefined' ? 'undefined' : _typeof(mds)) !== 'object') {\r\n        throw new _exception.InvalidArgumentException('MediaDataSource must be an javascript object!');\r\n    }\r\n\r\n    if (!mds.hasOwnProperty('type')) {\r\n        throw new _exception.InvalidArgumentException('MediaDataSource must has type field to indicate video file type!');\r\n    }\r\n\r\n    switch (mds.type) {\r\n        case 'flv':\r\n            return new _flvPlayer2.default(mds, optionalConfig);\r\n        default:\r\n            return new _nativePlayer2.default(mds, optionalConfig);\r\n    }\r\n}\r\n\r\n// feature detection\r\nfunction isSupported() {\r\n    return _features2.default.supportMSEH264Playback();\r\n}\r\n\r\nfunction getFeatureList() {\r\n    return _features2.default.getFeatureList();\r\n}\r\n\r\n// interfaces\r\nvar flvjs = {};\r\n\r\nflvjs.createPlayer = createPlayer;\r\nflvjs.isSupported = isSupported;\r\nflvjs.getFeatureList = getFeatureList;\r\n\r\nflvjs.BaseLoader = _loader.BaseLoader;\r\nflvjs.LoaderStatus = _loader.LoaderStatus;\r\nflvjs.LoaderErrors = _loader.LoaderErrors;\r\n\r\nflvjs.Events = _playerEvents2.default;\r\nflvjs.ErrorTypes = _playerErrors.ErrorTypes;\r\nflvjs.ErrorDetails = _playerErrors.ErrorDetails;\r\n\r\nflvjs.FlvPlayer = _flvPlayer2.default;\r\nflvjs.NativePlayer = _nativePlayer2.default;\r\nflvjs.LoggingControl = _loggingControl2.default;\r\n\r\nObject.defineProperty(flvjs, 'version', {\r\n    enumerable: true,\r\n    get: function get() {\r\n        // replaced by browserify-versionify transform\r\n        return '1.5.0';\r\n    }\r\n});\r\n\r\nexports.default = flvjs;\r\n\r\n},{\"./core/features.js\":6,\"./io/loader.js\":24,\"./player/flv-player.js\":32,\"./player/native-player.js\":33,\"./player/player-errors.js\":34,\"./player/player-events.js\":35,\"./utils/exception.js\":40,\"./utils/logging-control.js\":42,\"./utils/polyfill.js\":43}],21:[function(_dereq_,module,exports){\r\n'use strict';\r\n\r\n// entry/index file\r\n\r\n// make it compatible with browserify's umd wrapper\r\nmodule.exports = _dereq_('./flv.js').default;\r\n\r\n},{\"./flv.js\":20}],22:[function(_dereq_,module,exports){\r\n'use strict';\r\n\r\nObject.defineProperty(exports, \"__esModule\", {\r\n    value: true\r\n});\r\n\r\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\r\n\r\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\r\n\r\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\r\n\r\nvar _logger = _dereq_('../utils/logger.js');\r\n\r\nvar _logger2 = _interopRequireDefault(_logger);\r\n\r\nvar _browser = _dereq_('../utils/browser.js');\r\n\r\nvar _browser2 = _interopRequireDefault(_browser);\r\n\r\nvar _loader = _dereq_('./loader.js');\r\n\r\nvar _exception = _dereq_('../utils/exception.js');\r\n\r\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\r\n\r\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\r\n\r\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\r\n\r\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /*\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                * @author zheng qian <xqq@xqq.im>\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                * you may not use this file except in compliance with the License.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                * You may obtain a copy of the License at\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                *     http://www.apache.org/licenses/LICENSE-2.0\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                * Unless required by applicable law or agreed to in writing, software\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                * See the License for the specific language governing permissions and\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                * limitations under the License.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                */\r\n\r\n/* fetch + stream IO loader. Currently working on chrome 43+.\r\n * fetch provides a better alternative http API to XMLHttpRequest\r\n *\r\n * fetch spec   https://fetch.spec.whatwg.org/\r\n * stream spec  https://streams.spec.whatwg.org/\r\n */\r\nvar FetchStreamLoader = function (_BaseLoader) {\r\n    _inherits(FetchStreamLoader, _BaseLoader);\r\n\r\n    _createClass(FetchStreamLoader, null, [{\r\n        key: 'isSupported',\r\n        value: function isSupported() {\r\n            try {\r\n                // fetch + stream is broken on Microsoft Edge. Disable before build 15048.\r\n                // see https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/8196907/\r\n                // Fixed in Jan 10, 2017. Build 15048+ removed from blacklist.\r\n                var isWorkWellEdge = _browser2.default.msedge && _browser2.default.version.minor >= 15048;\r\n                var browserNotBlacklisted = _browser2.default.msedge ? isWorkWellEdge : true;\r\n                return self.fetch && self.ReadableStream && browserNotBlacklisted;\r\n            } catch (e) {\r\n                return false;\r\n            }\r\n        }\r\n    }]);\r\n\r\n    function FetchStreamLoader(seekHandler, config) {\r\n        _classCallCheck(this, FetchStreamLoader);\r\n\r\n        var _this = _possibleConstructorReturn(this, (FetchStreamLoader.__proto__ || Object.getPrototypeOf(FetchStreamLoader)).call(this, 'fetch-stream-loader'));\r\n\r\n        _this.TAG = 'FetchStreamLoader';\r\n\r\n        _this._seekHandler = seekHandler;\r\n        _this._config = config;\r\n        _this._needStash = true;\r\n\r\n        _this._requestAbort = false;\r\n        _this._contentLength = null;\r\n        _this._receivedLength = 0;\r\n        return _this;\r\n    }\r\n\r\n    _createClass(FetchStreamLoader, [{\r\n        key: 'destroy',\r\n        value: function destroy() {\r\n            if (this.isWorking()) {\r\n                this.abort();\r\n            }\r\n            _get(FetchStreamLoader.prototype.__proto__ || Object.getPrototypeOf(FetchStreamLoader.prototype), 'destroy', this).call(this);\r\n        }\r\n    }, {\r\n        key: 'open',\r\n        value: function open(dataSource, range) {\r\n            var _this2 = this;\r\n\r\n            this._dataSource = dataSource;\r\n            this._range = range;\r\n\r\n            var sourceURL = dataSource.url;\r\n            if (this._config.reuseRedirectedURL && dataSource.redirectedURL != undefined) {\r\n                sourceURL = dataSource.redirectedURL;\r\n            }\r\n\r\n            var seekConfig = this._seekHandler.getConfig(sourceURL, range);\r\n\r\n            var headers = new self.Headers();\r\n\r\n            if (_typeof(seekConfig.headers) === 'object') {\r\n                var configHeaders = seekConfig.headers;\r\n                for (var key in configHeaders) {\r\n                    if (configHeaders.hasOwnProperty(key)) {\r\n                        headers.append(key, configHeaders[key]);\r\n                    }\r\n                }\r\n            }\r\n\r\n            var params = {\r\n                method: 'GET',\r\n                headers: headers,\r\n                mode: 'cors',\r\n                cache: 'default',\r\n                // The default policy of Fetch API in the whatwg standard\r\n                // Safari incorrectly indicates 'no-referrer' as default policy, fuck it\r\n                referrerPolicy: 'no-referrer-when-downgrade'\r\n            };\r\n\r\n            // add additional headers\r\n            if (_typeof(this._config.headers) === 'object') {\r\n                for (var _key in this._config.headers) {\r\n                    headers.append(_key, this._config.headers[_key]);\r\n                }\r\n            }\r\n\r\n            // cors is enabled by default\r\n            if (dataSource.cors === false) {\r\n                // no-cors means 'disregard cors policy', which can only be used in ServiceWorker\r\n                params.mode = 'same-origin';\r\n            }\r\n\r\n            // withCredentials is disabled by default\r\n            if (dataSource.withCredentials) {\r\n                params.credentials = 'include';\r\n            }\r\n\r\n            // referrerPolicy from config\r\n            if (dataSource.referrerPolicy) {\r\n                params.referrerPolicy = dataSource.referrerPolicy;\r\n            }\r\n\r\n            this._status = _loader.LoaderStatus.kConnecting;\r\n            self.fetch(seekConfig.url, params).then(function (res) {\r\n                if (_this2._requestAbort) {\r\n                    _this2._requestAbort = false;\r\n                    _this2._status = _loader.LoaderStatus.kIdle;\r\n                    return;\r\n                }\r\n                if (res.ok && res.status >= 200 && res.status <= 299) {\r\n                    if (res.url !== seekConfig.url) {\r\n                        if (_this2._onURLRedirect) {\r\n                            var redirectedURL = _this2._seekHandler.removeURLParameters(res.url);\r\n                            _this2._onURLRedirect(redirectedURL);\r\n                        }\r\n                    }\r\n\r\n                    var lengthHeader = res.headers.get('Content-Length');\r\n                    if (lengthHeader != null) {\r\n                        _this2._contentLength = parseInt(lengthHeader);\r\n                        if (_this2._contentLength !== 0) {\r\n                            if (_this2._onContentLengthKnown) {\r\n                                _this2._onContentLengthKnown(_this2._contentLength);\r\n                            }\r\n                        }\r\n                    }\r\n\r\n                    return _this2._pump.call(_this2, res.body.getReader());\r\n                } else {\r\n                    _this2._status = _loader.LoaderStatus.kError;\r\n                    if (_this2._onError) {\r\n                        _this2._onError(_loader.LoaderErrors.HTTP_STATUS_CODE_INVALID, { code: res.status, msg: res.statusText });\r\n                    } else {\r\n                        throw new _exception.RuntimeException('FetchStreamLoader: Http code invalid, ' + res.status + ' ' + res.statusText);\r\n                    }\r\n                }\r\n            }).catch(function (e) {\r\n                _this2._status = _loader.LoaderStatus.kError;\r\n                if (_this2._onError) {\r\n                    _this2._onError(_loader.LoaderErrors.EXCEPTION, { code: -1, msg: e.message });\r\n                } else {\r\n                    throw e;\r\n                }\r\n            });\r\n        }\r\n    }, {\r\n        key: 'abort',\r\n        value: function abort() {\r\n            this._requestAbort = true;\r\n        }\r\n    }, {\r\n        key: '_pump',\r\n        value: function _pump(reader) {\r\n            var _this3 = this;\r\n\r\n            // ReadableStreamReader\r\n            return reader.read().then(function (result) {\r\n                if (result.done) {\r\n                    // First check received length\r\n                    if (_this3._contentLength !== null && _this3._receivedLength < _this3._contentLength) {\r\n                        // Report Early-EOF\r\n                        _this3._status = _loader.LoaderStatus.kError;\r\n                        var type = _loader.LoaderErrors.EARLY_EOF;\r\n                        var info = { code: -1, msg: 'Fetch stream meet Early-EOF' };\r\n                        if (_this3._onError) {\r\n                            _this3._onError(type, info);\r\n                        } else {\r\n                            throw new _exception.RuntimeException(info.msg);\r\n                        }\r\n                    } else {\r\n                        // OK. Download complete\r\n                        _this3._status = _loader.LoaderStatus.kComplete;\r\n                        if (_this3._onComplete) {\r\n                            _this3._onComplete(_this3._range.from, _this3._range.from + _this3._receivedLength - 1);\r\n                        }\r\n                    }\r\n                } else {\r\n                    if (_this3._requestAbort === true) {\r\n                        _this3._requestAbort = false;\r\n                        _this3._status = _loader.LoaderStatus.kComplete;\r\n                        return reader.cancel();\r\n                    }\r\n\r\n                    _this3._status = _loader.LoaderStatus.kBuffering;\r\n\r\n                    var chunk = result.value.buffer;\r\n                    var byteStart = _this3._range.from + _this3._receivedLength;\r\n                    _this3._receivedLength += chunk.byteLength;\r\n\r\n                    if (_this3._onDataArrival) {\r\n                        _this3._onDataArrival(chunk, byteStart, _this3._receivedLength);\r\n                    }\r\n\r\n                    _this3._pump(reader);\r\n                }\r\n            }).catch(function (e) {\r\n                if (e.code === 11 && _browser2.default.msedge) {\r\n                    // InvalidStateError on Microsoft Edge\r\n                    // Workaround: Edge may throw InvalidStateError after ReadableStreamReader.cancel() call\r\n                    // Ignore the unknown exception.\r\n                    // Related issue: https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/11265202/\r\n                    return;\r\n                }\r\n\r\n                _this3._status = _loader.LoaderStatus.kError;\r\n                var type = 0;\r\n                var info = null;\r\n\r\n                if ((e.code === 19 || e.message === 'network error') && ( // NETWORK_ERR\r\n                _this3._contentLength === null || _this3._contentLength !== null && _this3._receivedLength < _this3._contentLength)) {\r\n                    type = _loader.LoaderErrors.EARLY_EOF;\r\n                    info = { code: e.code, msg: 'Fetch stream meet Early-EOF' };\r\n                } else {\r\n                    type = _loader.LoaderErrors.EXCEPTION;\r\n                    info = { code: e.code, msg: e.message };\r\n                }\r\n\r\n                if (_this3._onError) {\r\n                    _this3._onError(type, info);\r\n                } else {\r\n                    throw new _exception.RuntimeException(info.msg);\r\n                }\r\n            });\r\n        }\r\n    }]);\r\n\r\n    return FetchStreamLoader;\r\n}(_loader.BaseLoader);\r\n\r\nexports.default = FetchStreamLoader;\r\n\r\n},{\"../utils/browser.js\":39,\"../utils/exception.js\":40,\"../utils/logger.js\":41,\"./loader.js\":24}],23:[function(_dereq_,module,exports){\r\n'use strict';\r\n\r\nObject.defineProperty(exports, \"__esModule\", {\r\n    value: true\r\n});\r\n\r\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /*\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * @author zheng qian <xqq@xqq.im>\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * you may not use this file except in compliance with the License.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * You may obtain a copy of the License at\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *     http://www.apache.org/licenses/LICENSE-2.0\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * Unless required by applicable law or agreed to in writing, software\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * See the License for the specific language governing permissions and\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * limitations under the License.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      */\r\n\r\nvar _logger = _dereq_('../utils/logger.js');\r\n\r\nvar _logger2 = _interopRequireDefault(_logger);\r\n\r\nvar _speedSampler = _dereq_('./speed-sampler.js');\r\n\r\nvar _speedSampler2 = _interopRequireDefault(_speedSampler);\r\n\r\nvar _loader = _dereq_('./loader.js');\r\n\r\nvar _fetchStreamLoader = _dereq_('./fetch-stream-loader.js');\r\n\r\nvar _fetchStreamLoader2 = _interopRequireDefault(_fetchStreamLoader);\r\n\r\nvar _xhrMozChunkedLoader = _dereq_('./xhr-moz-chunked-loader.js');\r\n\r\nvar _xhrMozChunkedLoader2 = _interopRequireDefault(_xhrMozChunkedLoader);\r\n\r\nvar _xhrMsstreamLoader = _dereq_('./xhr-msstream-loader.js');\r\n\r\nvar _xhrMsstreamLoader2 = _interopRequireDefault(_xhrMsstreamLoader);\r\n\r\nvar _xhrRangeLoader = _dereq_('./xhr-range-loader.js');\r\n\r\nvar _xhrRangeLoader2 = _interopRequireDefault(_xhrRangeLoader);\r\n\r\nvar _websocketLoader = _dereq_('./websocket-loader.js');\r\n\r\nvar _websocketLoader2 = _interopRequireDefault(_websocketLoader);\r\n\r\nvar _rangeSeekHandler = _dereq_('./range-seek-handler.js');\r\n\r\nvar _rangeSeekHandler2 = _interopRequireDefault(_rangeSeekHandler);\r\n\r\nvar _paramSeekHandler = _dereq_('./param-seek-handler.js');\r\n\r\nvar _paramSeekHandler2 = _interopRequireDefault(_paramSeekHandler);\r\n\r\nvar _exception = _dereq_('../utils/exception.js');\r\n\r\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\r\n\r\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\r\n\r\n/**\r\n * DataSource: {\r\n *     url: string,\r\n *     filesize: number,\r\n *     cors: boolean,\r\n *     withCredentials: boolean\r\n * }\r\n * \r\n */\r\n\r\n// Manage IO Loaders\r\nvar IOController = function () {\r\n    function IOController(dataSource, config, extraData) {\r\n        _classCallCheck(this, IOController);\r\n\r\n        this.TAG = 'IOController';\r\n\r\n        this._config = config;\r\n        this._extraData = extraData;\r\n\r\n        this._stashInitialSize = 1024 * 384; // default initial size: 384KB\r\n        if (config.stashInitialSize != undefined && config.stashInitialSize > 0) {\r\n            // apply from config\r\n            this._stashInitialSize = config.stashInitialSize;\r\n        }\r\n\r\n        this._stashUsed = 0;\r\n        this._stashSize = this._stashInitialSize;\r\n        this._bufferSize = 1024 * 1024 * 3; // initial size: 3MB\r\n        this._stashBuffer = new ArrayBuffer(this._bufferSize);\r\n        this._stashByteStart = 0;\r\n        this._enableStash = true;\r\n        if (config.enableStashBuffer === false) {\r\n            this._enableStash = false;\r\n        }\r\n\r\n        this._loader = null;\r\n        this._loaderClass = null;\r\n        this._seekHandler = null;\r\n\r\n        this._dataSource = dataSource;\r\n        this._isWebSocketURL = /wss?:\\/\\/(.+?)/.test(dataSource.url);\r\n        this._refTotalLength = dataSource.filesize ? dataSource.filesize : null;\r\n        this._totalLength = this._refTotalLength;\r\n        this._fullRequestFlag = false;\r\n        this._currentRange = null;\r\n        this._redirectedURL = null;\r\n\r\n        this._speedNormalized = 0;\r\n        this._speedSampler = new _speedSampler2.default();\r\n        this._speedNormalizeList = [64, 128, 256, 384, 512, 768, 1024, 1536, 2048, 3072, 4096];\r\n\r\n        this._isEarlyEofReconnecting = false;\r\n\r\n        this._paused = false;\r\n        this._resumeFrom = 0;\r\n\r\n        this._onDataArrival = null;\r\n        this._onSeeked = null;\r\n        this._onError = null;\r\n        this._onComplete = null;\r\n        this._onRedirect = null;\r\n        this._onRecoveredEarlyEof = null;\r\n\r\n        this._selectSeekHandler();\r\n        this._selectLoader();\r\n        this._createLoader();\r\n    }\r\n\r\n    _createClass(IOController, [{\r\n        key: 'destroy',\r\n        value: function destroy() {\r\n            if (this._loader.isWorking()) {\r\n                this._loader.abort();\r\n            }\r\n            this._loader.destroy();\r\n            this._loader = null;\r\n            this._loaderClass = null;\r\n            this._dataSource = null;\r\n            this._stashBuffer = null;\r\n            this._stashUsed = this._stashSize = this._bufferSize = this._stashByteStart = 0;\r\n            this._currentRange = null;\r\n            this._speedSampler = null;\r\n\r\n            this._isEarlyEofReconnecting = false;\r\n\r\n            this._onDataArrival = null;\r\n            this._onSeeked = null;\r\n            this._onError = null;\r\n            this._onComplete = null;\r\n            this._onRedirect = null;\r\n            this._onRecoveredEarlyEof = null;\r\n\r\n            this._extraData = null;\r\n        }\r\n    }, {\r\n        key: 'isWorking',\r\n        value: function isWorking() {\r\n            return this._loader && this._loader.isWorking() && !this._paused;\r\n        }\r\n    }, {\r\n        key: 'isPaused',\r\n        value: function isPaused() {\r\n            return this._paused;\r\n        }\r\n    }, {\r\n        key: '_selectSeekHandler',\r\n        value: function _selectSeekHandler() {\r\n            var config = this._config;\r\n\r\n            if (config.seekType === 'range') {\r\n                this._seekHandler = new _rangeSeekHandler2.default(this._config.rangeLoadZeroStart);\r\n            } else if (config.seekType === 'param') {\r\n                var paramStart = config.seekParamStart || 'bstart';\r\n                var paramEnd = config.seekParamEnd || 'bend';\r\n\r\n                this._seekHandler = new _paramSeekHandler2.default(paramStart, paramEnd);\r\n            } else if (config.seekType === 'custom') {\r\n                if (typeof config.customSeekHandler !== 'function') {\r\n                    throw new _exception.InvalidArgumentException('Custom seekType specified in config but invalid customSeekHandler!');\r\n                }\r\n                this._seekHandler = new config.customSeekHandler();\r\n            } else {\r\n                throw new _exception.InvalidArgumentException('Invalid seekType in config: ' + config.seekType);\r\n            }\r\n        }\r\n    }, {\r\n        key: '_selectLoader',\r\n        value: function _selectLoader() {\r\n            if (this._config.customLoader != null) {\r\n                this._loaderClass = this._config.customLoader;\r\n            } else if (this._isWebSocketURL) {\r\n                this._loaderClass = _websocketLoader2.default;\r\n            } else if (_fetchStreamLoader2.default.isSupported()) {\r\n                this._loaderClass = _fetchStreamLoader2.default;\r\n            } else if (_xhrMozChunkedLoader2.default.isSupported()) {\r\n                this._loaderClass = _xhrMozChunkedLoader2.default;\r\n            } else if (_xhrRangeLoader2.default.isSupported()) {\r\n                this._loaderClass = _xhrRangeLoader2.default;\r\n            } else {\r\n                throw new _exception.RuntimeException('Your browser doesn\\'t support xhr with arraybuffer responseType!');\r\n            }\r\n        }\r\n    }, {\r\n        key: '_createLoader',\r\n        value: function _createLoader() {\r\n            this._loader = new this._loaderClass(this._seekHandler, this._config);\r\n            if (this._loader.needStashBuffer === false) {\r\n                this._enableStash = false;\r\n            }\r\n            this._loader.onContentLengthKnown = this._onContentLengthKnown.bind(this);\r\n            this._loader.onURLRedirect = this._onURLRedirect.bind(this);\r\n            this._loader.onDataArrival = this._onLoaderChunkArrival.bind(this);\r\n            this._loader.onComplete = this._onLoaderComplete.bind(this);\r\n            this._loader.onError = this._onLoaderError.bind(this);\r\n        }\r\n    }, {\r\n        key: 'open',\r\n        value: function open(optionalFrom) {\r\n            this._currentRange = { from: 0, to: -1 };\r\n            if (optionalFrom) {\r\n                this._currentRange.from = optionalFrom;\r\n            }\r\n\r\n            this._speedSampler.reset();\r\n            if (!optionalFrom) {\r\n                this._fullRequestFlag = true;\r\n            }\r\n\r\n            this._loader.open(this._dataSource, Object.assign({}, this._currentRange));\r\n        }\r\n    }, {\r\n        key: 'abort',\r\n        value: function abort() {\r\n            this._loader.abort();\r\n\r\n            if (this._paused) {\r\n                this._paused = false;\r\n                this._resumeFrom = 0;\r\n            }\r\n        }\r\n    }, {\r\n        key: 'pause',\r\n        value: function pause() {\r\n            if (this.isWorking()) {\r\n                this._loader.abort();\r\n\r\n                if (this._stashUsed !== 0) {\r\n                    this._resumeFrom = this._stashByteStart;\r\n                    this._currentRange.to = this._stashByteStart - 1;\r\n                } else {\r\n                    this._resumeFrom = this._currentRange.to + 1;\r\n                }\r\n                this._stashUsed = 0;\r\n                this._stashByteStart = 0;\r\n                this._paused = true;\r\n            }\r\n        }\r\n    }, {\r\n        key: 'resume',\r\n        value: function resume() {\r\n            if (this._paused) {\r\n                this._paused = false;\r\n                var bytes = this._resumeFrom;\r\n                this._resumeFrom = 0;\r\n                this._internalSeek(bytes, true);\r\n            }\r\n        }\r\n    }, {\r\n        key: 'seek',\r\n        value: function seek(bytes) {\r\n            this._paused = false;\r\n            this._stashUsed = 0;\r\n            this._stashByteStart = 0;\r\n            this._internalSeek(bytes, true);\r\n        }\r\n\r\n        /**\r\n         * When seeking request is from media seeking, unconsumed stash data should be dropped\r\n         * However, stash data shouldn't be dropped if seeking requested from http reconnection\r\n         *\r\n         * @dropUnconsumed: Ignore and discard all unconsumed data in stash buffer\r\n         */\r\n\r\n    }, {\r\n        key: '_internalSeek',\r\n        value: function _internalSeek(bytes, dropUnconsumed) {\r\n            if (this._loader.isWorking()) {\r\n                this._loader.abort();\r\n            }\r\n\r\n            // dispatch & flush stash buffer before seek\r\n            this._flushStashBuffer(dropUnconsumed);\r\n\r\n            this._loader.destroy();\r\n            this._loader = null;\r\n\r\n            var requestRange = { from: bytes, to: -1 };\r\n            this._currentRange = { from: requestRange.from, to: -1 };\r\n\r\n            this._speedSampler.reset();\r\n            this._stashSize = this._stashInitialSize;\r\n            this._createLoader();\r\n            this._loader.open(this._dataSource, requestRange);\r\n\r\n            if (this._onSeeked) {\r\n                this._onSeeked();\r\n            }\r\n        }\r\n    }, {\r\n        key: 'updateUrl',\r\n        value: function updateUrl(url) {\r\n            if (!url || typeof url !== 'string' || url.length === 0) {\r\n                throw new _exception.InvalidArgumentException('Url must be a non-empty string!');\r\n            }\r\n\r\n            this._dataSource.url = url;\r\n\r\n            // TODO: replace with new url\r\n        }\r\n    }, {\r\n        key: '_expandBuffer',\r\n        value: function _expandBuffer(expectedBytes) {\r\n            var bufferNewSize = this._stashSize;\r\n            while (bufferNewSize + 1024 * 1024 * 1 < expectedBytes) {\r\n                bufferNewSize *= 2;\r\n            }\r\n\r\n            bufferNewSize += 1024 * 1024 * 1; // bufferSize = stashSize + 1MB\r\n            if (bufferNewSize === this._bufferSize) {\r\n                return;\r\n            }\r\n\r\n            var newBuffer = new ArrayBuffer(bufferNewSize);\r\n\r\n            if (this._stashUsed > 0) {\r\n                // copy existing data into new buffer\r\n                var stashOldArray = new Uint8Array(this._stashBuffer, 0, this._stashUsed);\r\n                var stashNewArray = new Uint8Array(newBuffer, 0, bufferNewSize);\r\n                stashNewArray.set(stashOldArray, 0);\r\n            }\r\n\r\n            this._stashBuffer = newBuffer;\r\n            this._bufferSize = bufferNewSize;\r\n        }\r\n    }, {\r\n        key: '_normalizeSpeed',\r\n        value: function _normalizeSpeed(input) {\r\n            var list = this._speedNormalizeList;\r\n            var last = list.length - 1;\r\n            var mid = 0;\r\n            var lbound = 0;\r\n            var ubound = last;\r\n\r\n            if (input < list[0]) {\r\n                return list[0];\r\n            }\r\n\r\n            // binary search\r\n            while (lbound <= ubound) {\r\n                mid = lbound + Math.floor((ubound - lbound) / 2);\r\n                if (mid === last || input >= list[mid] && input < list[mid + 1]) {\r\n                    return list[mid];\r\n                } else if (list[mid] < input) {\r\n                    lbound = mid + 1;\r\n                } else {\r\n                    ubound = mid - 1;\r\n                }\r\n            }\r\n        }\r\n    }, {\r\n        key: '_adjustStashSize',\r\n        value: function _adjustStashSize(normalized) {\r\n            var stashSizeKB = 0;\r\n\r\n            if (this._config.isLive) {\r\n                // live stream: always use single normalized speed for size of stashSizeKB\r\n                stashSizeKB = normalized;\r\n            } else {\r\n                if (normalized < 512) {\r\n                    stashSizeKB = normalized;\r\n                } else if (normalized >= 512 && normalized <= 1024) {\r\n                    stashSizeKB = Math.floor(normalized * 1.5);\r\n                } else {\r\n                    stashSizeKB = normalized * 2;\r\n                }\r\n            }\r\n\r\n            if (stashSizeKB > 8192) {\r\n                stashSizeKB = 8192;\r\n            }\r\n\r\n            var bufferSize = stashSizeKB * 1024 + 1024 * 1024 * 1; // stashSize + 1MB\r\n            if (this._bufferSize < bufferSize) {\r\n                this._expandBuffer(bufferSize);\r\n            }\r\n            this._stashSize = stashSizeKB * 1024;\r\n        }\r\n    }, {\r\n        key: '_dispatchChunks',\r\n        value: function _dispatchChunks(chunks, byteStart) {\r\n            this._currentRange.to = byteStart + chunks.byteLength - 1;\r\n            return this._onDataArrival(chunks, byteStart);\r\n        }\r\n    }, {\r\n        key: '_onURLRedirect',\r\n        value: function _onURLRedirect(redirectedURL) {\r\n            this._redirectedURL = redirectedURL;\r\n            if (this._onRedirect) {\r\n                this._onRedirect(redirectedURL);\r\n            }\r\n        }\r\n    }, {\r\n        key: '_onContentLengthKnown',\r\n        value: function _onContentLengthKnown(contentLength) {\r\n            if (contentLength && this._fullRequestFlag) {\r\n                this._totalLength = contentLength;\r\n                this._fullRequestFlag = false;\r\n            }\r\n        }\r\n    }, {\r\n        key: '_onLoaderChunkArrival',\r\n        value: function _onLoaderChunkArrival(chunk, byteStart, receivedLength) {\r\n            if (!this._onDataArrival) {\r\n                throw new _exception.IllegalStateException('IOController: No existing consumer (onDataArrival) callback!');\r\n            }\r\n            if (this._paused) {\r\n                return;\r\n            }\r\n            if (this._isEarlyEofReconnecting) {\r\n                // Auto-reconnect for EarlyEof succeed, notify to upper-layer by callback\r\n                this._isEarlyEofReconnecting = false;\r\n                if (this._onRecoveredEarlyEof) {\r\n                    this._onRecoveredEarlyEof();\r\n                }\r\n            }\r\n\r\n            this._speedSampler.addBytes(chunk.byteLength);\r\n\r\n            // adjust stash buffer size according to network speed dynamically\r\n            var KBps = this._speedSampler.lastSecondKBps;\r\n            if (KBps !== 0) {\r\n                var normalized = this._normalizeSpeed(KBps);\r\n                if (this._speedNormalized !== normalized) {\r\n                    this._speedNormalized = normalized;\r\n                    this._adjustStashSize(normalized);\r\n                }\r\n            }\r\n\r\n            if (!this._enableStash) {\r\n                // disable stash\r\n                if (this._stashUsed === 0) {\r\n                    // dispatch chunk directly to consumer;\r\n                    // check ret value (consumed bytes) and stash unconsumed to stashBuffer\r\n                    var consumed = this._dispatchChunks(chunk, byteStart);\r\n                    if (consumed < chunk.byteLength) {\r\n                        // unconsumed data remain.\r\n                        var remain = chunk.byteLength - consumed;\r\n                        if (remain > this._bufferSize) {\r\n                            this._expandBuffer(remain);\r\n                        }\r\n                        var stashArray = new Uint8Array(this._stashBuffer, 0, this._bufferSize);\r\n                        stashArray.set(new Uint8Array(chunk, consumed), 0);\r\n                        this._stashUsed += remain;\r\n                        this._stashByteStart = byteStart + consumed;\r\n                    }\r\n                } else {\r\n                    // else: Merge chunk into stashBuffer, and dispatch stashBuffer to consumer.\r\n                    if (this._stashUsed + chunk.byteLength > this._bufferSize) {\r\n                        this._expandBuffer(this._stashUsed + chunk.byteLength);\r\n                    }\r\n                    var _stashArray = new Uint8Array(this._stashBuffer, 0, this._bufferSize);\r\n                    _stashArray.set(new Uint8Array(chunk), this._stashUsed);\r\n                    this._stashUsed += chunk.byteLength;\r\n                    var _consumed = this._dispatchChunks(this._stashBuffer.slice(0, this._stashUsed), this._stashByteStart);\r\n                    if (_consumed < this._stashUsed && _consumed > 0) {\r\n                        // unconsumed data remain\r\n                        var remainArray = new Uint8Array(this._stashBuffer, _consumed);\r\n                        _stashArray.set(remainArray, 0);\r\n                    }\r\n                    this._stashUsed -= _consumed;\r\n                    this._stashByteStart += _consumed;\r\n                }\r\n            } else {\r\n                // enable stash\r\n                if (this._stashUsed === 0 && this._stashByteStart === 0) {\r\n                    // seeked? or init chunk?\r\n                    // This is the first chunk after seek action\r\n                    this._stashByteStart = byteStart;\r\n                }\r\n                if (this._stashUsed + chunk.byteLength <= this._stashSize) {\r\n                    // just stash\r\n                    var _stashArray2 = new Uint8Array(this._stashBuffer, 0, this._stashSize);\r\n                    _stashArray2.set(new Uint8Array(chunk), this._stashUsed);\r\n                    this._stashUsed += chunk.byteLength;\r\n                } else {\r\n                    // stashUsed + chunkSize > stashSize, size limit exceeded\r\n                    var _stashArray3 = new Uint8Array(this._stashBuffer, 0, this._bufferSize);\r\n                    if (this._stashUsed > 0) {\r\n                        // There're stash datas in buffer\r\n                        // dispatch the whole stashBuffer, and stash remain data\r\n                        // then append chunk to stashBuffer (stash)\r\n                        var buffer = this._stashBuffer.slice(0, this._stashUsed);\r\n                        var _consumed2 = this._dispatchChunks(buffer, this._stashByteStart);\r\n                        if (_consumed2 < buffer.byteLength) {\r\n                            if (_consumed2 > 0) {\r\n                                var _remainArray = new Uint8Array(buffer, _consumed2);\r\n                                _stashArray3.set(_remainArray, 0);\r\n                                this._stashUsed = _remainArray.byteLength;\r\n                                this._stashByteStart += _consumed2;\r\n                            }\r\n                        } else {\r\n                            this._stashUsed = 0;\r\n                            this._stashByteStart += _consumed2;\r\n                        }\r\n                        if (this._stashUsed + chunk.byteLength > this._bufferSize) {\r\n                            this._expandBuffer(this._stashUsed + chunk.byteLength);\r\n                            _stashArray3 = new Uint8Array(this._stashBuffer, 0, this._bufferSize);\r\n                        }\r\n                        _stashArray3.set(new Uint8Array(chunk), this._stashUsed);\r\n                        this._stashUsed += chunk.byteLength;\r\n                    } else {\r\n                        // stash buffer empty, but chunkSize > stashSize (oh, holy shit)\r\n                        // dispatch chunk directly and stash remain data\r\n                        var _consumed3 = this._dispatchChunks(chunk, byteStart);\r\n                        if (_consumed3 < chunk.byteLength) {\r\n                            var _remain = chunk.byteLength - _consumed3;\r\n                            if (_remain > this._bufferSize) {\r\n                                this._expandBuffer(_remain);\r\n                                _stashArray3 = new Uint8Array(this._stashBuffer, 0, this._bufferSize);\r\n                            }\r\n                            _stashArray3.set(new Uint8Array(chunk, _consumed3), 0);\r\n                            this._stashUsed += _remain;\r\n                            this._stashByteStart = byteStart + _consumed3;\r\n                        }\r\n                    }\r\n                }\r\n            }\r\n        }\r\n    }, {\r\n        key: '_flushStashBuffer',\r\n        value: function _flushStashBuffer(dropUnconsumed) {\r\n            if (this._stashUsed > 0) {\r\n                var buffer = this._stashBuffer.slice(0, this._stashUsed);\r\n                var consumed = this._dispatchChunks(buffer, this._stashByteStart);\r\n                var remain = buffer.byteLength - consumed;\r\n\r\n                if (consumed < buffer.byteLength) {\r\n                    if (dropUnconsumed) {\r\n                        _logger2.default.w(this.TAG, remain + ' bytes unconsumed data remain when flush buffer, dropped');\r\n                    } else {\r\n                        if (consumed > 0) {\r\n                            var stashArray = new Uint8Array(this._stashBuffer, 0, this._bufferSize);\r\n                            var remainArray = new Uint8Array(buffer, consumed);\r\n                            stashArray.set(remainArray, 0);\r\n                            this._stashUsed = remainArray.byteLength;\r\n                            this._stashByteStart += consumed;\r\n                        }\r\n                        return 0;\r\n                    }\r\n                }\r\n                this._stashUsed = 0;\r\n                this._stashByteStart = 0;\r\n                return remain;\r\n            }\r\n            return 0;\r\n        }\r\n    }, {\r\n        key: '_onLoaderComplete',\r\n        value: function _onLoaderComplete(from, to) {\r\n            // Force-flush stash buffer, and drop unconsumed data\r\n            this._flushStashBuffer(true);\r\n\r\n            if (this._onComplete) {\r\n                this._onComplete(this._extraData);\r\n            }\r\n        }\r\n    }, {\r\n        key: '_onLoaderError',\r\n        value: function _onLoaderError(type, data) {\r\n            _logger2.default.e(this.TAG, 'Loader error, code = ' + data.code + ', msg = ' + data.msg);\r\n\r\n            this._flushStashBuffer(false);\r\n\r\n            if (this._isEarlyEofReconnecting) {\r\n                // Auto-reconnect for EarlyEof failed, throw UnrecoverableEarlyEof error to upper-layer\r\n                this._isEarlyEofReconnecting = false;\r\n                type = _loader.LoaderErrors.UNRECOVERABLE_EARLY_EOF;\r\n            }\r\n\r\n            switch (type) {\r\n                case _loader.LoaderErrors.EARLY_EOF:\r\n                    {\r\n                        if (!this._config.isLive) {\r\n                            // Do internal http reconnect if not live stream\r\n                            if (this._totalLength) {\r\n                                var nextFrom = this._currentRange.to + 1;\r\n                                if (nextFrom < this._totalLength) {\r\n                                    _logger2.default.w(this.TAG, 'Connection lost, trying reconnect...');\r\n                                    this._isEarlyEofReconnecting = true;\r\n                                    this._internalSeek(nextFrom, false);\r\n                                }\r\n                                return;\r\n                            }\r\n                            // else: We don't know totalLength, throw UnrecoverableEarlyEof\r\n                        }\r\n                        // live stream: throw UnrecoverableEarlyEof error to upper-layer\r\n                        type = _loader.LoaderErrors.UNRECOVERABLE_EARLY_EOF;\r\n                        break;\r\n                    }\r\n                case _loader.LoaderErrors.UNRECOVERABLE_EARLY_EOF:\r\n                case _loader.LoaderErrors.CONNECTING_TIMEOUT:\r\n                case _loader.LoaderErrors.HTTP_STATUS_CODE_INVALID:\r\n                case _loader.LoaderErrors.EXCEPTION:\r\n                    break;\r\n            }\r\n\r\n            if (this._onError) {\r\n                this._onError(type, data);\r\n            } else {\r\n                throw new _exception.RuntimeException('IOException: ' + data.msg);\r\n            }\r\n        }\r\n    }, {\r\n        key: 'status',\r\n        get: function get() {\r\n            return this._loader.status;\r\n        }\r\n    }, {\r\n        key: 'extraData',\r\n        get: function get() {\r\n            return this._extraData;\r\n        },\r\n        set: function set(data) {\r\n            this._extraData = data;\r\n        }\r\n\r\n        // prototype: function onDataArrival(chunks: ArrayBuffer, byteStart: number): number\r\n\r\n    }, {\r\n        key: 'onDataArrival',\r\n        get: function get() {\r\n            return this._onDataArrival;\r\n        },\r\n        set: function set(callback) {\r\n            this._onDataArrival = callback;\r\n        }\r\n    }, {\r\n        key: 'onSeeked',\r\n        get: function get() {\r\n            return this._onSeeked;\r\n        },\r\n        set: function set(callback) {\r\n            this._onSeeked = callback;\r\n        }\r\n\r\n        // prototype: function onError(type: number, info: {code: number, msg: string}): void\r\n\r\n    }, {\r\n        key: 'onError',\r\n        get: function get() {\r\n            return this._onError;\r\n        },\r\n        set: function set(callback) {\r\n            this._onError = callback;\r\n        }\r\n    }, {\r\n        key: 'onComplete',\r\n        get: function get() {\r\n            return this._onComplete;\r\n        },\r\n        set: function set(callback) {\r\n            this._onComplete = callback;\r\n        }\r\n    }, {\r\n        key: 'onRedirect',\r\n        get: function get() {\r\n            return this._onRedirect;\r\n        },\r\n        set: function set(callback) {\r\n            this._onRedirect = callback;\r\n        }\r\n    }, {\r\n        key: 'onRecoveredEarlyEof',\r\n        get: function get() {\r\n            return this._onRecoveredEarlyEof;\r\n        },\r\n        set: function set(callback) {\r\n            this._onRecoveredEarlyEof = callback;\r\n        }\r\n    }, {\r\n        key: 'currentURL',\r\n        get: function get() {\r\n            return this._dataSource.url;\r\n        }\r\n    }, {\r\n        key: 'hasRedirect',\r\n        get: function get() {\r\n            return this._redirectedURL != null || this._dataSource.redirectedURL != undefined;\r\n        }\r\n    }, {\r\n        key: 'currentRedirectedURL',\r\n        get: function get() {\r\n            return this._redirectedURL || this._dataSource.redirectedURL;\r\n        }\r\n\r\n        // in KB/s\r\n\r\n    }, {\r\n        key: 'currentSpeed',\r\n        get: function get() {\r\n            if (this._loaderClass === _xhrRangeLoader2.default) {\r\n                // SpeedSampler is inaccuracy if loader is RangeLoader\r\n                return this._loader.currentSpeed;\r\n            }\r\n            return this._speedSampler.lastSecondKBps;\r\n        }\r\n    }, {\r\n        key: 'loaderType',\r\n        get: function get() {\r\n            return this._loader.type;\r\n        }\r\n    }]);\r\n\r\n    return IOController;\r\n}();\r\n\r\nexports.default = IOController;\r\n\r\n},{\"../utils/exception.js\":40,\"../utils/logger.js\":41,\"./fetch-stream-loader.js\":22,\"./loader.js\":24,\"./param-seek-handler.js\":25,\"./range-seek-handler.js\":26,\"./speed-sampler.js\":27,\"./websocket-loader.js\":28,\"./xhr-moz-chunked-loader.js\":29,\"./xhr-msstream-loader.js\":30,\"./xhr-range-loader.js\":31}],24:[function(_dereq_,module,exports){\r\n'use strict';\r\n\r\nObject.defineProperty(exports, \"__esModule\", {\r\n    value: true\r\n});\r\nexports.BaseLoader = exports.LoaderErrors = exports.LoaderStatus = undefined;\r\n\r\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /*\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * @author zheng qian <xqq@xqq.im>\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * you may not use this file except in compliance with the License.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * You may obtain a copy of the License at\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *     http://www.apache.org/licenses/LICENSE-2.0\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * Unless required by applicable law or agreed to in writing, software\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * See the License for the specific language governing permissions and\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * limitations under the License.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      */\r\n\r\nvar _exception = _dereq_('../utils/exception.js');\r\n\r\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\r\n\r\nvar LoaderStatus = exports.LoaderStatus = {\r\n    kIdle: 0,\r\n    kConnecting: 1,\r\n    kBuffering: 2,\r\n    kError: 3,\r\n    kComplete: 4\r\n};\r\n\r\nvar LoaderErrors = exports.LoaderErrors = {\r\n    OK: 'OK',\r\n    EXCEPTION: 'Exception',\r\n    HTTP_STATUS_CODE_INVALID: 'HttpStatusCodeInvalid',\r\n    CONNECTING_TIMEOUT: 'ConnectingTimeout',\r\n    EARLY_EOF: 'EarlyEof',\r\n    UNRECOVERABLE_EARLY_EOF: 'UnrecoverableEarlyEof'\r\n};\r\n\r\n/* Loader has callbacks which have following prototypes:\r\n *     function onContentLengthKnown(contentLength: number): void\r\n *     function onURLRedirect(url: string): void\r\n *     function onDataArrival(chunk: ArrayBuffer, byteStart: number, receivedLength: number): void\r\n *     function onError(errorType: number, errorInfo: {code: number, msg: string}): void\r\n *     function onComplete(rangeFrom: number, rangeTo: number): void\r\n */\r\n\r\nvar BaseLoader = exports.BaseLoader = function () {\r\n    function BaseLoader(typeName) {\r\n        _classCallCheck(this, BaseLoader);\r\n\r\n        this._type = typeName || 'undefined';\r\n        this._status = LoaderStatus.kIdle;\r\n        this._needStash = false;\r\n        // callbacks\r\n        this._onContentLengthKnown = null;\r\n        this._onURLRedirect = null;\r\n        this._onDataArrival = null;\r\n        this._onError = null;\r\n        this._onComplete = null;\r\n    }\r\n\r\n    _createClass(BaseLoader, [{\r\n        key: 'destroy',\r\n        value: function destroy() {\r\n            this._status = LoaderStatus.kIdle;\r\n            this._onContentLengthKnown = null;\r\n            this._onURLRedirect = null;\r\n            this._onDataArrival = null;\r\n            this._onError = null;\r\n            this._onComplete = null;\r\n        }\r\n    }, {\r\n        key: 'isWorking',\r\n        value: function isWorking() {\r\n            return this._status === LoaderStatus.kConnecting || this._status === LoaderStatus.kBuffering;\r\n        }\r\n    }, {\r\n        key: 'open',\r\n\r\n\r\n        // pure virtual\r\n        value: function open(dataSource, range) {\r\n            throw new _exception.NotImplementedException('Unimplemented abstract function!');\r\n        }\r\n    }, {\r\n        key: 'abort',\r\n        value: function abort() {\r\n            throw new _exception.NotImplementedException('Unimplemented abstract function!');\r\n        }\r\n    }, {\r\n        key: 'type',\r\n        get: function get() {\r\n            return this._type;\r\n        }\r\n    }, {\r\n        key: 'status',\r\n        get: function get() {\r\n            return this._status;\r\n        }\r\n    }, {\r\n        key: 'needStashBuffer',\r\n        get: function get() {\r\n            return this._needStash;\r\n        }\r\n    }, {\r\n        key: 'onContentLengthKnown',\r\n        get: function get() {\r\n            return this._onContentLengthKnown;\r\n        },\r\n        set: function set(callback) {\r\n            this._onContentLengthKnown = callback;\r\n        }\r\n    }, {\r\n        key: 'onURLRedirect',\r\n        get: function get() {\r\n            return this._onURLRedirect;\r\n        },\r\n        set: function set(callback) {\r\n            this._onURLRedirect = callback;\r\n        }\r\n    }, {\r\n        key: 'onDataArrival',\r\n        get: function get() {\r\n            return this._onDataArrival;\r\n        },\r\n        set: function set(callback) {\r\n            this._onDataArrival = callback;\r\n        }\r\n    }, {\r\n        key: 'onError',\r\n        get: function get() {\r\n            return this._onError;\r\n        },\r\n        set: function set(callback) {\r\n            this._onError = callback;\r\n        }\r\n    }, {\r\n        key: 'onComplete',\r\n        get: function get() {\r\n            return this._onComplete;\r\n        },\r\n        set: function set(callback) {\r\n            this._onComplete = callback;\r\n        }\r\n    }]);\r\n\r\n    return BaseLoader;\r\n}();\r\n\r\n},{\"../utils/exception.js\":40}],25:[function(_dereq_,module,exports){\r\n'use strict';\r\n\r\nObject.defineProperty(exports, \"__esModule\", {\r\n    value: true\r\n});\r\n\r\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\r\n\r\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\r\n\r\n/*\r\n * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n *\r\n * @author zheng qian <xqq@xqq.im>\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\nvar ParamSeekHandler = function () {\r\n    function ParamSeekHandler(paramStart, paramEnd) {\r\n        _classCallCheck(this, ParamSeekHandler);\r\n\r\n        this._startName = paramStart;\r\n        this._endName = paramEnd;\r\n    }\r\n\r\n    _createClass(ParamSeekHandler, [{\r\n        key: 'getConfig',\r\n        value: function getConfig(baseUrl, range) {\r\n            var url = baseUrl;\r\n\r\n            if (range.from !== 0 || range.to !== -1) {\r\n                var needAnd = true;\r\n                if (url.indexOf('?') === -1) {\r\n                    url += '?';\r\n                    needAnd = false;\r\n                }\r\n\r\n                if (needAnd) {\r\n                    url += '&';\r\n                }\r\n\r\n                url += this._startName + '=' + range.from.toString();\r\n\r\n                if (range.to !== -1) {\r\n                    url += '&' + this._endName + '=' + range.to.toString();\r\n                }\r\n            }\r\n\r\n            return {\r\n                url: url,\r\n                headers: {}\r\n            };\r\n        }\r\n    }, {\r\n        key: 'removeURLParameters',\r\n        value: function removeURLParameters(seekedURL) {\r\n            var baseURL = seekedURL.split('?')[0];\r\n            var params = undefined;\r\n\r\n            var queryIndex = seekedURL.indexOf('?');\r\n            if (queryIndex !== -1) {\r\n                params = seekedURL.substring(queryIndex + 1);\r\n            }\r\n\r\n            var resultParams = '';\r\n\r\n            if (params != undefined && params.length > 0) {\r\n                var pairs = params.split('&');\r\n\r\n                for (var i = 0; i < pairs.length; i++) {\r\n                    var pair = pairs[i].split('=');\r\n                    var requireAnd = i > 0;\r\n\r\n                    if (pair[0] !== this._startName && pair[0] !== this._endName) {\r\n                        if (requireAnd) {\r\n                            resultParams += '&';\r\n                        }\r\n                        resultParams += pairs[i];\r\n                    }\r\n                }\r\n            }\r\n\r\n            return resultParams.length === 0 ? baseURL : baseURL + '?' + resultParams;\r\n        }\r\n    }]);\r\n\r\n    return ParamSeekHandler;\r\n}();\r\n\r\nexports.default = ParamSeekHandler;\r\n\r\n},{}],26:[function(_dereq_,module,exports){\r\n'use strict';\r\n\r\nObject.defineProperty(exports, \"__esModule\", {\r\n    value: true\r\n});\r\n\r\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\r\n\r\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\r\n\r\n/*\r\n * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n *\r\n * @author zheng qian <xqq@xqq.im>\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\nvar RangeSeekHandler = function () {\r\n    function RangeSeekHandler(zeroStart) {\r\n        _classCallCheck(this, RangeSeekHandler);\r\n\r\n        this._zeroStart = zeroStart || false;\r\n    }\r\n\r\n    _createClass(RangeSeekHandler, [{\r\n        key: 'getConfig',\r\n        value: function getConfig(url, range) {\r\n            var headers = {};\r\n\r\n            if (range.from !== 0 || range.to !== -1) {\r\n                var param = void 0;\r\n                if (range.to !== -1) {\r\n                    param = 'bytes=' + range.from.toString() + '-' + range.to.toString();\r\n                } else {\r\n                    param = 'bytes=' + range.from.toString() + '-';\r\n                }\r\n                headers['Range'] = param;\r\n            } else if (this._zeroStart) {\r\n                headers['Range'] = 'bytes=0-';\r\n            }\r\n\r\n            return {\r\n                url: url,\r\n                headers: headers\r\n            };\r\n        }\r\n    }, {\r\n        key: 'removeURLParameters',\r\n        value: function removeURLParameters(seekedURL) {\r\n            return seekedURL;\r\n        }\r\n    }]);\r\n\r\n    return RangeSeekHandler;\r\n}();\r\n\r\nexports.default = RangeSeekHandler;\r\n\r\n},{}],27:[function(_dereq_,module,exports){\r\n\"use strict\";\r\n\r\nObject.defineProperty(exports, \"__esModule\", {\r\n    value: true\r\n});\r\n\r\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\r\n\r\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\r\n\r\n/*\r\n * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n *\r\n * @author zheng qian <xqq@xqq.im>\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\n// Utility class to calculate realtime network I/O speed\r\nvar SpeedSampler = function () {\r\n    function SpeedSampler() {\r\n        _classCallCheck(this, SpeedSampler);\r\n\r\n        // milliseconds\r\n        this._firstCheckpoint = 0;\r\n        this._lastCheckpoint = 0;\r\n        this._intervalBytes = 0;\r\n        this._totalBytes = 0;\r\n        this._lastSecondBytes = 0;\r\n\r\n        // compatibility detection\r\n        if (self.performance && self.performance.now) {\r\n            this._now = self.performance.now.bind(self.performance);\r\n        } else {\r\n            this._now = Date.now;\r\n        }\r\n    }\r\n\r\n    _createClass(SpeedSampler, [{\r\n        key: \"reset\",\r\n        value: function reset() {\r\n            this._firstCheckpoint = this._lastCheckpoint = 0;\r\n            this._totalBytes = this._intervalBytes = 0;\r\n            this._lastSecondBytes = 0;\r\n        }\r\n    }, {\r\n        key: \"addBytes\",\r\n        value: function addBytes(bytes) {\r\n            if (this._firstCheckpoint === 0) {\r\n                this._firstCheckpoint = this._now();\r\n                this._lastCheckpoint = this._firstCheckpoint;\r\n                this._intervalBytes += bytes;\r\n                this._totalBytes += bytes;\r\n            } else if (this._now() - this._lastCheckpoint < 1000) {\r\n                this._intervalBytes += bytes;\r\n                this._totalBytes += bytes;\r\n            } else {\r\n                // duration >= 1000\r\n                this._lastSecondBytes = this._intervalBytes;\r\n                this._intervalBytes = bytes;\r\n                this._totalBytes += bytes;\r\n                this._lastCheckpoint = this._now();\r\n            }\r\n        }\r\n    }, {\r\n        key: \"currentKBps\",\r\n        get: function get() {\r\n            this.addBytes(0);\r\n\r\n            var durationSeconds = (this._now() - this._lastCheckpoint) / 1000;\r\n            if (durationSeconds == 0) durationSeconds = 1;\r\n            return this._intervalBytes / durationSeconds / 1024;\r\n        }\r\n    }, {\r\n        key: \"lastSecondKBps\",\r\n        get: function get() {\r\n            this.addBytes(0);\r\n\r\n            if (this._lastSecondBytes !== 0) {\r\n                return this._lastSecondBytes / 1024;\r\n            } else {\r\n                // lastSecondBytes === 0\r\n                if (this._now() - this._lastCheckpoint >= 500) {\r\n                    // if time interval since last checkpoint has exceeded 500ms\r\n                    // the speed is nearly accurate\r\n                    return this.currentKBps;\r\n                } else {\r\n                    // We don't know\r\n                    return 0;\r\n                }\r\n            }\r\n        }\r\n    }, {\r\n        key: \"averageKBps\",\r\n        get: function get() {\r\n            var durationSeconds = (this._now() - this._firstCheckpoint) / 1000;\r\n            return this._totalBytes / durationSeconds / 1024;\r\n        }\r\n    }]);\r\n\r\n    return SpeedSampler;\r\n}();\r\n\r\nexports.default = SpeedSampler;\r\n\r\n},{}],28:[function(_dereq_,module,exports){\r\n'use strict';\r\n\r\nObject.defineProperty(exports, \"__esModule\", {\r\n    value: true\r\n});\r\n\r\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\r\n\r\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\r\n\r\nvar _logger = _dereq_('../utils/logger.js');\r\n\r\nvar _logger2 = _interopRequireDefault(_logger);\r\n\r\nvar _loader = _dereq_('./loader.js');\r\n\r\nvar _exception = _dereq_('../utils/exception.js');\r\n\r\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\r\n\r\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\r\n\r\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\r\n\r\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /*\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                * @author zheng qian <xqq@xqq.im>\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                * you may not use this file except in compliance with the License.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                * You may obtain a copy of the License at\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                *     http://www.apache.org/licenses/LICENSE-2.0\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                * Unless required by applicable law or agreed to in writing, software\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                * See the License for the specific language governing permissions and\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                * limitations under the License.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                */\r\n\r\n// For FLV over WebSocket live stream\r\nvar WebSocketLoader = function (_BaseLoader) {\r\n    _inherits(WebSocketLoader, _BaseLoader);\r\n\r\n    _createClass(WebSocketLoader, null, [{\r\n        key: 'isSupported',\r\n        value: function isSupported() {\r\n            try {\r\n                return typeof self.WebSocket !== 'undefined';\r\n            } catch (e) {\r\n                return false;\r\n            }\r\n        }\r\n    }]);\r\n\r\n    function WebSocketLoader() {\r\n        _classCallCheck(this, WebSocketLoader);\r\n\r\n        var _this = _possibleConstructorReturn(this, (WebSocketLoader.__proto__ || Object.getPrototypeOf(WebSocketLoader)).call(this, 'websocket-loader'));\r\n\r\n        _this.TAG = 'WebSocketLoader';\r\n\r\n        _this._needStash = true;\r\n\r\n        _this._ws = null;\r\n        _this._requestAbort = false;\r\n        _this._receivedLength = 0;\r\n        return _this;\r\n    }\r\n\r\n    _createClass(WebSocketLoader, [{\r\n        key: 'destroy',\r\n        value: function destroy() {\r\n            if (this._ws) {\r\n                this.abort();\r\n            }\r\n            _get(WebSocketLoader.prototype.__proto__ || Object.getPrototypeOf(WebSocketLoader.prototype), 'destroy', this).call(this);\r\n        }\r\n    }, {\r\n        key: 'open',\r\n        value: function open(dataSource) {\r\n            try {\r\n                var ws = this._ws = new self.WebSocket(dataSource.url);\r\n                ws.binaryType = 'arraybuffer';\r\n                ws.onopen = this._onWebSocketOpen.bind(this);\r\n                ws.onclose = this._onWebSocketClose.bind(this);\r\n                ws.onmessage = this._onWebSocketMessage.bind(this);\r\n                ws.onerror = this._onWebSocketError.bind(this);\r\n\r\n                this._status = _loader.LoaderStatus.kConnecting;\r\n            } catch (e) {\r\n                this._status = _loader.LoaderStatus.kError;\r\n\r\n                var info = { code: e.code, msg: e.message };\r\n\r\n                if (this._onError) {\r\n                    this._onError(_loader.LoaderErrors.EXCEPTION, info);\r\n                } else {\r\n                    throw new _exception.RuntimeException(info.msg);\r\n                }\r\n            }\r\n        }\r\n    }, {\r\n        key: 'abort',\r\n        value: function abort() {\r\n            var ws = this._ws;\r\n            if (ws && (ws.readyState === 0 || ws.readyState === 1)) {\r\n                // CONNECTING || OPEN\r\n                this._requestAbort = true;\r\n                ws.close();\r\n            }\r\n\r\n            this._ws = null;\r\n            this._status = _loader.LoaderStatus.kComplete;\r\n        }\r\n    }, {\r\n        key: '_onWebSocketOpen',\r\n        value: function _onWebSocketOpen(e) {\r\n            this._status = _loader.LoaderStatus.kBuffering;\r\n        }\r\n    }, {\r\n        key: '_onWebSocketClose',\r\n        value: function _onWebSocketClose(e) {\r\n            if (this._requestAbort === true) {\r\n                this._requestAbort = false;\r\n                return;\r\n            }\r\n\r\n            this._status = _loader.LoaderStatus.kComplete;\r\n\r\n            if (this._onComplete) {\r\n                this._onComplete(0, this._receivedLength - 1);\r\n            }\r\n        }\r\n    }, {\r\n        key: '_onWebSocketMessage',\r\n        value: function _onWebSocketMessage(e) {\r\n            var _this2 = this;\r\n\r\n            if (e.data instanceof ArrayBuffer) {\r\n                this._dispatchArrayBuffer(e.data);\r\n            } else if (e.data instanceof Blob) {\r\n                var reader = new FileReader();\r\n                reader.onload = function () {\r\n                    _this2._dispatchArrayBuffer(reader.result);\r\n                };\r\n                reader.readAsArrayBuffer(e.data);\r\n            } else {\r\n                this._status = _loader.LoaderStatus.kError;\r\n                var info = { code: -1, msg: 'Unsupported WebSocket message type: ' + e.data.constructor.name };\r\n\r\n                if (this._onError) {\r\n                    this._onError(_loader.LoaderErrors.EXCEPTION, info);\r\n                } else {\r\n                    throw new _exception.RuntimeException(info.msg);\r\n                }\r\n            }\r\n        }\r\n    }, {\r\n        key: '_dispatchArrayBuffer',\r\n        value: function _dispatchArrayBuffer(arraybuffer) {\r\n            var chunk = arraybuffer;\r\n            var byteStart = this._receivedLength;\r\n            this._receivedLength += chunk.byteLength;\r\n\r\n            if (this._onDataArrival) {\r\n                this._onDataArrival(chunk, byteStart, this._receivedLength);\r\n            }\r\n        }\r\n    }, {\r\n        key: '_onWebSocketError',\r\n        value: function _onWebSocketError(e) {\r\n            this._status = _loader.LoaderStatus.kError;\r\n\r\n            var info = {\r\n                code: e.code,\r\n                msg: e.message\r\n            };\r\n\r\n            if (this._onError) {\r\n                this._onError(_loader.LoaderErrors.EXCEPTION, info);\r\n            } else {\r\n                throw new _exception.RuntimeException(info.msg);\r\n            }\r\n        }\r\n    }]);\r\n\r\n    return WebSocketLoader;\r\n}(_loader.BaseLoader);\r\n\r\nexports.default = WebSocketLoader;\r\n\r\n},{\"../utils/exception.js\":40,\"../utils/logger.js\":41,\"./loader.js\":24}],29:[function(_dereq_,module,exports){\r\n'use strict';\r\n\r\nObject.defineProperty(exports, \"__esModule\", {\r\n    value: true\r\n});\r\n\r\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\r\n\r\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\r\n\r\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\r\n\r\nvar _logger = _dereq_('../utils/logger.js');\r\n\r\nvar _logger2 = _interopRequireDefault(_logger);\r\n\r\nvar _loader = _dereq_('./loader.js');\r\n\r\nvar _exception = _dereq_('../utils/exception.js');\r\n\r\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\r\n\r\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\r\n\r\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\r\n\r\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /*\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                * @author zheng qian <xqq@xqq.im>\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                * you may not use this file except in compliance with the License.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                * You may obtain a copy of the License at\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                *     http://www.apache.org/licenses/LICENSE-2.0\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                * Unless required by applicable law or agreed to in writing, software\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                * See the License for the specific language governing permissions and\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                * limitations under the License.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                */\r\n\r\n// For FireFox browser which supports `xhr.responseType = 'moz-chunked-arraybuffer'`\r\nvar MozChunkedLoader = function (_BaseLoader) {\r\n    _inherits(MozChunkedLoader, _BaseLoader);\r\n\r\n    _createClass(MozChunkedLoader, null, [{\r\n        key: 'isSupported',\r\n        value: function isSupported() {\r\n            try {\r\n                var xhr = new XMLHttpRequest();\r\n                // Firefox 37- requires .open() to be called before setting responseType\r\n                xhr.open('GET', 'https://example.com', true);\r\n                xhr.responseType = 'moz-chunked-arraybuffer';\r\n                return xhr.responseType === 'moz-chunked-arraybuffer';\r\n            } catch (e) {\r\n                _logger2.default.w('MozChunkedLoader', e.message);\r\n                return false;\r\n            }\r\n        }\r\n    }]);\r\n\r\n    function MozChunkedLoader(seekHandler, config) {\r\n        _classCallCheck(this, MozChunkedLoader);\r\n\r\n        var _this = _possibleConstructorReturn(this, (MozChunkedLoader.__proto__ || Object.getPrototypeOf(MozChunkedLoader)).call(this, 'xhr-moz-chunked-loader'));\r\n\r\n        _this.TAG = 'MozChunkedLoader';\r\n\r\n        _this._seekHandler = seekHandler;\r\n        _this._config = config;\r\n        _this._needStash = true;\r\n\r\n        _this._xhr = null;\r\n        _this._requestAbort = false;\r\n        _this._contentLength = null;\r\n        _this._receivedLength = 0;\r\n        return _this;\r\n    }\r\n\r\n    _createClass(MozChunkedLoader, [{\r\n        key: 'destroy',\r\n        value: function destroy() {\r\n            if (this.isWorking()) {\r\n                this.abort();\r\n            }\r\n            if (this._xhr) {\r\n                this._xhr.onreadystatechange = null;\r\n                this._xhr.onprogress = null;\r\n                this._xhr.onloadend = null;\r\n                this._xhr.onerror = null;\r\n                this._xhr = null;\r\n            }\r\n            _get(MozChunkedLoader.prototype.__proto__ || Object.getPrototypeOf(MozChunkedLoader.prototype), 'destroy', this).call(this);\r\n        }\r\n    }, {\r\n        key: 'open',\r\n        value: function open(dataSource, range) {\r\n            this._dataSource = dataSource;\r\n            this._range = range;\r\n\r\n            var sourceURL = dataSource.url;\r\n            if (this._config.reuseRedirectedURL && dataSource.redirectedURL != undefined) {\r\n                sourceURL = dataSource.redirectedURL;\r\n            }\r\n\r\n            var seekConfig = this._seekHandler.getConfig(sourceURL, range);\r\n            this._requestURL = seekConfig.url;\r\n\r\n            var xhr = this._xhr = new XMLHttpRequest();\r\n            xhr.open('GET', seekConfig.url, true);\r\n            xhr.responseType = 'moz-chunked-arraybuffer';\r\n            xhr.onreadystatechange = this._onReadyStateChange.bind(this);\r\n            xhr.onprogress = this._onProgress.bind(this);\r\n            xhr.onloadend = this._onLoadEnd.bind(this);\r\n            xhr.onerror = this._onXhrError.bind(this);\r\n\r\n            // cors is auto detected and enabled by xhr\r\n\r\n            // withCredentials is disabled by default\r\n            if (dataSource.withCredentials) {\r\n                xhr.withCredentials = true;\r\n            }\r\n\r\n            if (_typeof(seekConfig.headers) === 'object') {\r\n                var headers = seekConfig.headers;\r\n\r\n                for (var key in headers) {\r\n                    if (headers.hasOwnProperty(key)) {\r\n                        xhr.setRequestHeader(key, headers[key]);\r\n                    }\r\n                }\r\n            }\r\n\r\n            // add additional headers\r\n            if (_typeof(this._config.headers) === 'object') {\r\n                var _headers = this._config.headers;\r\n\r\n                for (var _key in _headers) {\r\n                    if (_headers.hasOwnProperty(_key)) {\r\n                        xhr.setRequestHeader(_key, _headers[_key]);\r\n                    }\r\n                }\r\n            }\r\n\r\n            this._status = _loader.LoaderStatus.kConnecting;\r\n            xhr.send();\r\n        }\r\n    }, {\r\n        key: 'abort',\r\n        value: function abort() {\r\n            this._requestAbort = true;\r\n            if (this._xhr) {\r\n                this._xhr.abort();\r\n            }\r\n            this._status = _loader.LoaderStatus.kComplete;\r\n        }\r\n    }, {\r\n        key: '_onReadyStateChange',\r\n        value: function _onReadyStateChange(e) {\r\n            var xhr = e.target;\r\n\r\n            if (xhr.readyState === 2) {\r\n                // HEADERS_RECEIVED\r\n                if (xhr.responseURL != undefined && xhr.responseURL !== this._requestURL) {\r\n                    if (this._onURLRedirect) {\r\n                        var redirectedURL = this._seekHandler.removeURLParameters(xhr.responseURL);\r\n                        this._onURLRedirect(redirectedURL);\r\n                    }\r\n                }\r\n\r\n                if (xhr.status !== 0 && (xhr.status < 200 || xhr.status > 299)) {\r\n                    this._status = _loader.LoaderStatus.kError;\r\n                    if (this._onError) {\r\n                        this._onError(_loader.LoaderErrors.HTTP_STATUS_CODE_INVALID, { code: xhr.status, msg: xhr.statusText });\r\n                    } else {\r\n                        throw new _exception.RuntimeException('MozChunkedLoader: Http code invalid, ' + xhr.status + ' ' + xhr.statusText);\r\n                    }\r\n                } else {\r\n                    this._status = _loader.LoaderStatus.kBuffering;\r\n                }\r\n            }\r\n        }\r\n    }, {\r\n        key: '_onProgress',\r\n        value: function _onProgress(e) {\r\n            if (this._status === _loader.LoaderStatus.kError) {\r\n                // Ignore error response\r\n                return;\r\n            }\r\n\r\n            if (this._contentLength === null) {\r\n                if (e.total !== null && e.total !== 0) {\r\n                    this._contentLength = e.total;\r\n                    if (this._onContentLengthKnown) {\r\n                        this._onContentLengthKnown(this._contentLength);\r\n                    }\r\n                }\r\n            }\r\n\r\n            var chunk = e.target.response;\r\n            var byteStart = this._range.from + this._receivedLength;\r\n            this._receivedLength += chunk.byteLength;\r\n\r\n            if (this._onDataArrival) {\r\n                this._onDataArrival(chunk, byteStart, this._receivedLength);\r\n            }\r\n        }\r\n    }, {\r\n        key: '_onLoadEnd',\r\n        value: function _onLoadEnd(e) {\r\n            if (this._requestAbort === true) {\r\n                this._requestAbort = false;\r\n                return;\r\n            } else if (this._status === _loader.LoaderStatus.kError) {\r\n                return;\r\n            }\r\n\r\n            this._status = _loader.LoaderStatus.kComplete;\r\n            if (this._onComplete) {\r\n                this._onComplete(this._range.from, this._range.from + this._receivedLength - 1);\r\n            }\r\n        }\r\n    }, {\r\n        key: '_onXhrError',\r\n        value: function _onXhrError(e) {\r\n            this._status = _loader.LoaderStatus.kError;\r\n            var type = 0;\r\n            var info = null;\r\n\r\n            if (this._contentLength && e.loaded < this._contentLength) {\r\n                type = _loader.LoaderErrors.EARLY_EOF;\r\n                info = { code: -1, msg: 'Moz-Chunked stream meet Early-Eof' };\r\n            } else {\r\n                type = _loader.LoaderErrors.EXCEPTION;\r\n                info = { code: -1, msg: e.constructor.name + ' ' + e.type };\r\n            }\r\n\r\n            if (this._onError) {\r\n                this._onError(type, info);\r\n            } else {\r\n                throw new _exception.RuntimeException(info.msg);\r\n            }\r\n        }\r\n    }]);\r\n\r\n    return MozChunkedLoader;\r\n}(_loader.BaseLoader);\r\n\r\nexports.default = MozChunkedLoader;\r\n\r\n},{\"../utils/exception.js\":40,\"../utils/logger.js\":41,\"./loader.js\":24}],30:[function(_dereq_,module,exports){\r\n'use strict';\r\n\r\nObject.defineProperty(exports, \"__esModule\", {\r\n    value: true\r\n});\r\n\r\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\r\n\r\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\r\n\r\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\r\n\r\nvar _logger = _dereq_('../utils/logger.js');\r\n\r\nvar _logger2 = _interopRequireDefault(_logger);\r\n\r\nvar _loader = _dereq_('./loader.js');\r\n\r\nvar _exception = _dereq_('../utils/exception.js');\r\n\r\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\r\n\r\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\r\n\r\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\r\n\r\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /*\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                * @author zheng qian <xqq@xqq.im>\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                * you may not use this file except in compliance with the License.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                * You may obtain a copy of the License at\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                *     http://www.apache.org/licenses/LICENSE-2.0\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                * Unless required by applicable law or agreed to in writing, software\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                * See the License for the specific language governing permissions and\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                * limitations under the License.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                */\r\n\r\n/* Notice: ms-stream may cause IE/Edge browser crash if seek too frequently!!!\r\n * The browser may crash in wininet.dll. Disable for now.\r\n *\r\n * For IE11/Edge browser by microsoft which supports `xhr.responseType = 'ms-stream'`\r\n * Notice that ms-stream API sucks. The buffer is always expanding along with downloading.\r\n *\r\n * We need to abort the xhr if buffer size exceeded limit size (e.g. 16 MiB), then do reconnect.\r\n * in order to release previous ArrayBuffer to avoid memory leak\r\n *\r\n * Otherwise, the ArrayBuffer will increase to a terrible size that equals final file size.\r\n */\r\nvar MSStreamLoader = function (_BaseLoader) {\r\n    _inherits(MSStreamLoader, _BaseLoader);\r\n\r\n    _createClass(MSStreamLoader, null, [{\r\n        key: 'isSupported',\r\n        value: function isSupported() {\r\n            try {\r\n                if (typeof self.MSStream === 'undefined' || typeof self.MSStreamReader === 'undefined') {\r\n                    return false;\r\n                }\r\n\r\n                var xhr = new XMLHttpRequest();\r\n                xhr.open('GET', 'https://example.com', true);\r\n                xhr.responseType = 'ms-stream';\r\n                return xhr.responseType === 'ms-stream';\r\n            } catch (e) {\r\n                _logger2.default.w('MSStreamLoader', e.message);\r\n                return false;\r\n            }\r\n        }\r\n    }]);\r\n\r\n    function MSStreamLoader(seekHandler, config) {\r\n        _classCallCheck(this, MSStreamLoader);\r\n\r\n        var _this = _possibleConstructorReturn(this, (MSStreamLoader.__proto__ || Object.getPrototypeOf(MSStreamLoader)).call(this, 'xhr-msstream-loader'));\r\n\r\n        _this.TAG = 'MSStreamLoader';\r\n\r\n        _this._seekHandler = seekHandler;\r\n        _this._config = config;\r\n        _this._needStash = true;\r\n\r\n        _this._xhr = null;\r\n        _this._reader = null; // MSStreamReader\r\n\r\n        _this._totalRange = null;\r\n        _this._currentRange = null;\r\n\r\n        _this._currentRequestURL = null;\r\n        _this._currentRedirectedURL = null;\r\n\r\n        _this._contentLength = null;\r\n        _this._receivedLength = 0;\r\n\r\n        _this._bufferLimit = 16 * 1024 * 1024; // 16MB\r\n        _this._lastTimeBufferSize = 0;\r\n        _this._isReconnecting = false;\r\n        return _this;\r\n    }\r\n\r\n    _createClass(MSStreamLoader, [{\r\n        key: 'destroy',\r\n        value: function destroy() {\r\n            if (this.isWorking()) {\r\n                this.abort();\r\n            }\r\n            if (this._reader) {\r\n                this._reader.onprogress = null;\r\n                this._reader.onload = null;\r\n                this._reader.onerror = null;\r\n                this._reader = null;\r\n            }\r\n            if (this._xhr) {\r\n                this._xhr.onreadystatechange = null;\r\n                this._xhr = null;\r\n            }\r\n            _get(MSStreamLoader.prototype.__proto__ || Object.getPrototypeOf(MSStreamLoader.prototype), 'destroy', this).call(this);\r\n        }\r\n    }, {\r\n        key: 'open',\r\n        value: function open(dataSource, range) {\r\n            this._internalOpen(dataSource, range, false);\r\n        }\r\n    }, {\r\n        key: '_internalOpen',\r\n        value: function _internalOpen(dataSource, range, isSubrange) {\r\n            this._dataSource = dataSource;\r\n\r\n            if (!isSubrange) {\r\n                this._totalRange = range;\r\n            } else {\r\n                this._currentRange = range;\r\n            }\r\n\r\n            var sourceURL = dataSource.url;\r\n            if (this._config.reuseRedirectedURL) {\r\n                if (this._currentRedirectedURL != undefined) {\r\n                    sourceURL = this._currentRedirectedURL;\r\n                } else if (dataSource.redirectedURL != undefined) {\r\n                    sourceURL = dataSource.redirectedURL;\r\n                }\r\n            }\r\n\r\n            var seekConfig = this._seekHandler.getConfig(sourceURL, range);\r\n            this._currentRequestURL = seekConfig.url;\r\n\r\n            var reader = this._reader = new self.MSStreamReader();\r\n            reader.onprogress = this._msrOnProgress.bind(this);\r\n            reader.onload = this._msrOnLoad.bind(this);\r\n            reader.onerror = this._msrOnError.bind(this);\r\n\r\n            var xhr = this._xhr = new XMLHttpRequest();\r\n            xhr.open('GET', seekConfig.url, true);\r\n            xhr.responseType = 'ms-stream';\r\n            xhr.onreadystatechange = this._xhrOnReadyStateChange.bind(this);\r\n            xhr.onerror = this._xhrOnError.bind(this);\r\n\r\n            if (dataSource.withCredentials) {\r\n                xhr.withCredentials = true;\r\n            }\r\n\r\n            if (_typeof(seekConfig.headers) === 'object') {\r\n                var headers = seekConfig.headers;\r\n\r\n                for (var key in headers) {\r\n                    if (headers.hasOwnProperty(key)) {\r\n                        xhr.setRequestHeader(key, headers[key]);\r\n                    }\r\n                }\r\n            }\r\n\r\n            // add additional headers\r\n            if (_typeof(this._config.headers) === 'object') {\r\n                var _headers = this._config.headers;\r\n\r\n                for (var _key in _headers) {\r\n                    if (_headers.hasOwnProperty(_key)) {\r\n                        xhr.setRequestHeader(_key, _headers[_key]);\r\n                    }\r\n                }\r\n            }\r\n\r\n            if (this._isReconnecting) {\r\n                this._isReconnecting = false;\r\n            } else {\r\n                this._status = _loader.LoaderStatus.kConnecting;\r\n            }\r\n            xhr.send();\r\n        }\r\n    }, {\r\n        key: 'abort',\r\n        value: function abort() {\r\n            this._internalAbort();\r\n            this._status = _loader.LoaderStatus.kComplete;\r\n        }\r\n    }, {\r\n        key: '_internalAbort',\r\n        value: function _internalAbort() {\r\n            if (this._reader) {\r\n                if (this._reader.readyState === 1) {\r\n                    // LOADING\r\n                    this._reader.abort();\r\n                }\r\n                this._reader.onprogress = null;\r\n                this._reader.onload = null;\r\n                this._reader.onerror = null;\r\n                this._reader = null;\r\n            }\r\n            if (this._xhr) {\r\n                this._xhr.abort();\r\n                this._xhr.onreadystatechange = null;\r\n                this._xhr = null;\r\n            }\r\n        }\r\n    }, {\r\n        key: '_xhrOnReadyStateChange',\r\n        value: function _xhrOnReadyStateChange(e) {\r\n            var xhr = e.target;\r\n\r\n            if (xhr.readyState === 2) {\r\n                // HEADERS_RECEIVED\r\n                if (xhr.status >= 200 && xhr.status <= 299) {\r\n                    this._status = _loader.LoaderStatus.kBuffering;\r\n\r\n                    if (xhr.responseURL != undefined) {\r\n                        var redirectedURL = this._seekHandler.removeURLParameters(xhr.responseURL);\r\n                        if (xhr.responseURL !== this._currentRequestURL && redirectedURL !== this._currentRedirectedURL) {\r\n                            this._currentRedirectedURL = redirectedURL;\r\n                            if (this._onURLRedirect) {\r\n                                this._onURLRedirect(redirectedURL);\r\n                            }\r\n                        }\r\n                    }\r\n\r\n                    var lengthHeader = xhr.getResponseHeader('Content-Length');\r\n                    if (lengthHeader != null && this._contentLength == null) {\r\n                        var length = parseInt(lengthHeader);\r\n                        if (length > 0) {\r\n                            this._contentLength = length;\r\n                            if (this._onContentLengthKnown) {\r\n                                this._onContentLengthKnown(this._contentLength);\r\n                            }\r\n                        }\r\n                    }\r\n                } else {\r\n                    this._status = _loader.LoaderStatus.kError;\r\n                    if (this._onError) {\r\n                        this._onError(_loader.LoaderErrors.HTTP_STATUS_CODE_INVALID, { code: xhr.status, msg: xhr.statusText });\r\n                    } else {\r\n                        throw new _exception.RuntimeException('MSStreamLoader: Http code invalid, ' + xhr.status + ' ' + xhr.statusText);\r\n                    }\r\n                }\r\n            } else if (xhr.readyState === 3) {\r\n                // LOADING\r\n                if (xhr.status >= 200 && xhr.status <= 299) {\r\n                    this._status = _loader.LoaderStatus.kBuffering;\r\n\r\n                    var msstream = xhr.response;\r\n                    this._reader.readAsArrayBuffer(msstream);\r\n                }\r\n            }\r\n        }\r\n    }, {\r\n        key: '_xhrOnError',\r\n        value: function _xhrOnError(e) {\r\n            this._status = _loader.LoaderStatus.kError;\r\n            var type = _loader.LoaderErrors.EXCEPTION;\r\n            var info = { code: -1, msg: e.constructor.name + ' ' + e.type };\r\n\r\n            if (this._onError) {\r\n                this._onError(type, info);\r\n            } else {\r\n                throw new _exception.RuntimeException(info.msg);\r\n            }\r\n        }\r\n    }, {\r\n        key: '_msrOnProgress',\r\n        value: function _msrOnProgress(e) {\r\n            var reader = e.target;\r\n            var bigbuffer = reader.result;\r\n            if (bigbuffer == null) {\r\n                // result may be null, workaround for buggy M$\r\n                this._doReconnectIfNeeded();\r\n                return;\r\n            }\r\n\r\n            var slice = bigbuffer.slice(this._lastTimeBufferSize);\r\n            this._lastTimeBufferSize = bigbuffer.byteLength;\r\n            var byteStart = this._totalRange.from + this._receivedLength;\r\n            this._receivedLength += slice.byteLength;\r\n\r\n            if (this._onDataArrival) {\r\n                this._onDataArrival(slice, byteStart, this._receivedLength);\r\n            }\r\n\r\n            if (bigbuffer.byteLength >= this._bufferLimit) {\r\n                _logger2.default.v(this.TAG, 'MSStream buffer exceeded max size near ' + (byteStart + slice.byteLength) + ', reconnecting...');\r\n                this._doReconnectIfNeeded();\r\n            }\r\n        }\r\n    }, {\r\n        key: '_doReconnectIfNeeded',\r\n        value: function _doReconnectIfNeeded() {\r\n            if (this._contentLength == null || this._receivedLength < this._contentLength) {\r\n                this._isReconnecting = true;\r\n                this._lastTimeBufferSize = 0;\r\n                this._internalAbort();\r\n\r\n                var range = {\r\n                    from: this._totalRange.from + this._receivedLength,\r\n                    to: -1\r\n                };\r\n                this._internalOpen(this._dataSource, range, true);\r\n            }\r\n        }\r\n    }, {\r\n        key: '_msrOnLoad',\r\n        value: function _msrOnLoad(e) {\r\n            // actually it is onComplete event\r\n            this._status = _loader.LoaderStatus.kComplete;\r\n            if (this._onComplete) {\r\n                this._onComplete(this._totalRange.from, this._totalRange.from + this._receivedLength - 1);\r\n            }\r\n        }\r\n    }, {\r\n        key: '_msrOnError',\r\n        value: function _msrOnError(e) {\r\n            this._status = _loader.LoaderStatus.kError;\r\n            var type = 0;\r\n            var info = null;\r\n\r\n            if (this._contentLength && this._receivedLength < this._contentLength) {\r\n                type = _loader.LoaderErrors.EARLY_EOF;\r\n                info = { code: -1, msg: 'MSStream meet Early-Eof' };\r\n            } else {\r\n                type = _loader.LoaderErrors.EARLY_EOF;\r\n                info = { code: -1, msg: e.constructor.name + ' ' + e.type };\r\n            }\r\n\r\n            if (this._onError) {\r\n                this._onError(type, info);\r\n            } else {\r\n                throw new _exception.RuntimeException(info.msg);\r\n            }\r\n        }\r\n    }]);\r\n\r\n    return MSStreamLoader;\r\n}(_loader.BaseLoader);\r\n\r\nexports.default = MSStreamLoader;\r\n\r\n},{\"../utils/exception.js\":40,\"../utils/logger.js\":41,\"./loader.js\":24}],31:[function(_dereq_,module,exports){\r\n'use strict';\r\n\r\nObject.defineProperty(exports, \"__esModule\", {\r\n    value: true\r\n});\r\n\r\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\r\n\r\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\r\n\r\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\r\n\r\nvar _logger = _dereq_('../utils/logger.js');\r\n\r\nvar _logger2 = _interopRequireDefault(_logger);\r\n\r\nvar _speedSampler = _dereq_('./speed-sampler.js');\r\n\r\nvar _speedSampler2 = _interopRequireDefault(_speedSampler);\r\n\r\nvar _loader = _dereq_('./loader.js');\r\n\r\nvar _exception = _dereq_('../utils/exception.js');\r\n\r\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\r\n\r\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\r\n\r\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\r\n\r\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /*\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                * @author zheng qian <xqq@xqq.im>\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                * you may not use this file except in compliance with the License.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                * You may obtain a copy of the License at\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                *     http://www.apache.org/licenses/LICENSE-2.0\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                * Unless required by applicable law or agreed to in writing, software\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                * See the License for the specific language governing permissions and\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                * limitations under the License.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                */\r\n\r\n// Universal IO Loader, implemented by adding Range header in xhr's request header\r\nvar RangeLoader = function (_BaseLoader) {\r\n    _inherits(RangeLoader, _BaseLoader);\r\n\r\n    _createClass(RangeLoader, null, [{\r\n        key: 'isSupported',\r\n        value: function isSupported() {\r\n            try {\r\n                var xhr = new XMLHttpRequest();\r\n                xhr.open('GET', 'https://example.com', true);\r\n                xhr.responseType = 'arraybuffer';\r\n                return xhr.responseType === 'arraybuffer';\r\n            } catch (e) {\r\n                _logger2.default.w('RangeLoader', e.message);\r\n                return false;\r\n            }\r\n        }\r\n    }]);\r\n\r\n    function RangeLoader(seekHandler, config) {\r\n        _classCallCheck(this, RangeLoader);\r\n\r\n        var _this = _possibleConstructorReturn(this, (RangeLoader.__proto__ || Object.getPrototypeOf(RangeLoader)).call(this, 'xhr-range-loader'));\r\n\r\n        _this.TAG = 'RangeLoader';\r\n\r\n        _this._seekHandler = seekHandler;\r\n        _this._config = config;\r\n        _this._needStash = false;\r\n\r\n        _this._chunkSizeKBList = [128, 256, 384, 512, 768, 1024, 1536, 2048, 3072, 4096, 5120, 6144, 7168, 8192];\r\n        _this._currentChunkSizeKB = 384;\r\n        _this._currentSpeedNormalized = 0;\r\n        _this._zeroSpeedChunkCount = 0;\r\n\r\n        _this._xhr = null;\r\n        _this._speedSampler = new _speedSampler2.default();\r\n\r\n        _this._requestAbort = false;\r\n        _this._waitForTotalLength = false;\r\n        _this._totalLengthReceived = false;\r\n\r\n        _this._currentRequestURL = null;\r\n        _this._currentRedirectedURL = null;\r\n        _this._currentRequestRange = null;\r\n        _this._totalLength = null; // size of the entire file\r\n        _this._contentLength = null; // Content-Length of entire request range\r\n        _this._receivedLength = 0; // total received bytes\r\n        _this._lastTimeLoaded = 0; // received bytes of current request sub-range\r\n        return _this;\r\n    }\r\n\r\n    _createClass(RangeLoader, [{\r\n        key: 'destroy',\r\n        value: function destroy() {\r\n            if (this.isWorking()) {\r\n                this.abort();\r\n            }\r\n            if (this._xhr) {\r\n                this._xhr.onreadystatechange = null;\r\n                this._xhr.onprogress = null;\r\n                this._xhr.onload = null;\r\n                this._xhr.onerror = null;\r\n                this._xhr = null;\r\n            }\r\n            _get(RangeLoader.prototype.__proto__ || Object.getPrototypeOf(RangeLoader.prototype), 'destroy', this).call(this);\r\n        }\r\n    }, {\r\n        key: 'open',\r\n        value: function open(dataSource, range) {\r\n            this._dataSource = dataSource;\r\n            this._range = range;\r\n            this._status = _loader.LoaderStatus.kConnecting;\r\n\r\n            var useRefTotalLength = false;\r\n            if (this._dataSource.filesize != undefined && this._dataSource.filesize !== 0) {\r\n                useRefTotalLength = true;\r\n                this._totalLength = this._dataSource.filesize;\r\n            }\r\n\r\n            if (!this._totalLengthReceived && !useRefTotalLength) {\r\n                // We need total filesize\r\n                this._waitForTotalLength = true;\r\n                this._internalOpen(this._dataSource, { from: 0, to: -1 });\r\n            } else {\r\n                // We have filesize, start loading\r\n                this._openSubRange();\r\n            }\r\n        }\r\n    }, {\r\n        key: '_openSubRange',\r\n        value: function _openSubRange() {\r\n            var chunkSize = this._currentChunkSizeKB * 1024;\r\n\r\n            var from = this._range.from + this._receivedLength;\r\n            var to = from + chunkSize;\r\n\r\n            if (this._contentLength != null) {\r\n                if (to - this._range.from >= this._contentLength) {\r\n                    to = this._range.from + this._contentLength - 1;\r\n                }\r\n            }\r\n\r\n            this._currentRequestRange = { from: from, to: to };\r\n            this._internalOpen(this._dataSource, this._currentRequestRange);\r\n        }\r\n    }, {\r\n        key: '_internalOpen',\r\n        value: function _internalOpen(dataSource, range) {\r\n            this._lastTimeLoaded = 0;\r\n\r\n            var sourceURL = dataSource.url;\r\n            if (this._config.reuseRedirectedURL) {\r\n                if (this._currentRedirectedURL != undefined) {\r\n                    sourceURL = this._currentRedirectedURL;\r\n                } else if (dataSource.redirectedURL != undefined) {\r\n                    sourceURL = dataSource.redirectedURL;\r\n                }\r\n            }\r\n\r\n            var seekConfig = this._seekHandler.getConfig(sourceURL, range);\r\n            this._currentRequestURL = seekConfig.url;\r\n\r\n            var xhr = this._xhr = new XMLHttpRequest();\r\n            xhr.open('GET', seekConfig.url, true);\r\n            xhr.responseType = 'arraybuffer';\r\n            xhr.onreadystatechange = this._onReadyStateChange.bind(this);\r\n            xhr.onprogress = this._onProgress.bind(this);\r\n            xhr.onload = this._onLoad.bind(this);\r\n            xhr.onerror = this._onXhrError.bind(this);\r\n\r\n            if (dataSource.withCredentials) {\r\n                xhr.withCredentials = true;\r\n            }\r\n\r\n            if (_typeof(seekConfig.headers) === 'object') {\r\n                var headers = seekConfig.headers;\r\n\r\n                for (var key in headers) {\r\n                    if (headers.hasOwnProperty(key)) {\r\n                        xhr.setRequestHeader(key, headers[key]);\r\n                    }\r\n                }\r\n            }\r\n\r\n            // add additional headers\r\n            if (_typeof(this._config.headers) === 'object') {\r\n                var _headers = this._config.headers;\r\n\r\n                for (var _key in _headers) {\r\n                    if (_headers.hasOwnProperty(_key)) {\r\n                        xhr.setRequestHeader(_key, _headers[_key]);\r\n                    }\r\n                }\r\n            }\r\n\r\n            xhr.send();\r\n        }\r\n    }, {\r\n        key: 'abort',\r\n        value: function abort() {\r\n            this._requestAbort = true;\r\n            this._internalAbort();\r\n            this._status = _loader.LoaderStatus.kComplete;\r\n        }\r\n    }, {\r\n        key: '_internalAbort',\r\n        value: function _internalAbort() {\r\n            if (this._xhr) {\r\n                this._xhr.onreadystatechange = null;\r\n                this._xhr.onprogress = null;\r\n                this._xhr.onload = null;\r\n                this._xhr.onerror = null;\r\n                this._xhr.abort();\r\n                this._xhr = null;\r\n            }\r\n        }\r\n    }, {\r\n        key: '_onReadyStateChange',\r\n        value: function _onReadyStateChange(e) {\r\n            var xhr = e.target;\r\n\r\n            if (xhr.readyState === 2) {\r\n                // HEADERS_RECEIVED\r\n                if (xhr.responseURL != undefined) {\r\n                    // if the browser support this property\r\n                    var redirectedURL = this._seekHandler.removeURLParameters(xhr.responseURL);\r\n                    if (xhr.responseURL !== this._currentRequestURL && redirectedURL !== this._currentRedirectedURL) {\r\n                        this._currentRedirectedURL = redirectedURL;\r\n                        if (this._onURLRedirect) {\r\n                            this._onURLRedirect(redirectedURL);\r\n                        }\r\n                    }\r\n                }\r\n\r\n                if (xhr.status >= 200 && xhr.status <= 299) {\r\n                    if (this._waitForTotalLength) {\r\n                        return;\r\n                    }\r\n                    this._status = _loader.LoaderStatus.kBuffering;\r\n                } else {\r\n                    this._status = _loader.LoaderStatus.kError;\r\n                    if (this._onError) {\r\n                        this._onError(_loader.LoaderErrors.HTTP_STATUS_CODE_INVALID, { code: xhr.status, msg: xhr.statusText });\r\n                    } else {\r\n                        throw new _exception.RuntimeException('RangeLoader: Http code invalid, ' + xhr.status + ' ' + xhr.statusText);\r\n                    }\r\n                }\r\n            }\r\n        }\r\n    }, {\r\n        key: '_onProgress',\r\n        value: function _onProgress(e) {\r\n            if (this._status === _loader.LoaderStatus.kError) {\r\n                // Ignore error response\r\n                return;\r\n            }\r\n\r\n            if (this._contentLength === null) {\r\n                var openNextRange = false;\r\n\r\n                if (this._waitForTotalLength) {\r\n                    this._waitForTotalLength = false;\r\n                    this._totalLengthReceived = true;\r\n                    openNextRange = true;\r\n\r\n                    var total = e.total;\r\n                    this._internalAbort();\r\n                    if (total != null & total !== 0) {\r\n                        this._totalLength = total;\r\n                    }\r\n                }\r\n\r\n                // calculate currrent request range's contentLength\r\n                if (this._range.to === -1) {\r\n                    this._contentLength = this._totalLength - this._range.from;\r\n                } else {\r\n                    // to !== -1\r\n                    this._contentLength = this._range.to - this._range.from + 1;\r\n                }\r\n\r\n                if (openNextRange) {\r\n                    this._openSubRange();\r\n                    return;\r\n                }\r\n                if (this._onContentLengthKnown) {\r\n                    this._onContentLengthKnown(this._contentLength);\r\n                }\r\n            }\r\n\r\n            var delta = e.loaded - this._lastTimeLoaded;\r\n            this._lastTimeLoaded = e.loaded;\r\n            this._speedSampler.addBytes(delta);\r\n        }\r\n    }, {\r\n        key: '_normalizeSpeed',\r\n        value: function _normalizeSpeed(input) {\r\n            var list = this._chunkSizeKBList;\r\n            var last = list.length - 1;\r\n            var mid = 0;\r\n            var lbound = 0;\r\n            var ubound = last;\r\n\r\n            if (input < list[0]) {\r\n                return list[0];\r\n            }\r\n\r\n            while (lbound <= ubound) {\r\n                mid = lbound + Math.floor((ubound - lbound) / 2);\r\n                if (mid === last || input >= list[mid] && input < list[mid + 1]) {\r\n                    return list[mid];\r\n                } else if (list[mid] < input) {\r\n                    lbound = mid + 1;\r\n                } else {\r\n                    ubound = mid - 1;\r\n                }\r\n            }\r\n        }\r\n    }, {\r\n        key: '_onLoad',\r\n        value: function _onLoad(e) {\r\n            if (this._status === _loader.LoaderStatus.kError) {\r\n                // Ignore error response\r\n                return;\r\n            }\r\n\r\n            if (this._waitForTotalLength) {\r\n                this._waitForTotalLength = false;\r\n                return;\r\n            }\r\n\r\n            this._lastTimeLoaded = 0;\r\n            var KBps = this._speedSampler.lastSecondKBps;\r\n            if (KBps === 0) {\r\n                this._zeroSpeedChunkCount++;\r\n                if (this._zeroSpeedChunkCount >= 3) {\r\n                    // Try get currentKBps after 3 chunks\r\n                    KBps = this._speedSampler.currentKBps;\r\n                }\r\n            }\r\n\r\n            if (KBps !== 0) {\r\n                var normalized = this._normalizeSpeed(KBps);\r\n                if (this._currentSpeedNormalized !== normalized) {\r\n                    this._currentSpeedNormalized = normalized;\r\n                    this._currentChunkSizeKB = normalized;\r\n                }\r\n            }\r\n\r\n            var chunk = e.target.response;\r\n            var byteStart = this._range.from + this._receivedLength;\r\n            this._receivedLength += chunk.byteLength;\r\n\r\n            var reportComplete = false;\r\n\r\n            if (this._contentLength != null && this._receivedLength < this._contentLength) {\r\n                // continue load next chunk\r\n                this._openSubRange();\r\n            } else {\r\n                reportComplete = true;\r\n            }\r\n\r\n            // dispatch received chunk\r\n            if (this._onDataArrival) {\r\n                this._onDataArrival(chunk, byteStart, this._receivedLength);\r\n            }\r\n\r\n            if (reportComplete) {\r\n                this._status = _loader.LoaderStatus.kComplete;\r\n                if (this._onComplete) {\r\n                    this._onComplete(this._range.from, this._range.from + this._receivedLength - 1);\r\n                }\r\n            }\r\n        }\r\n    }, {\r\n        key: '_onXhrError',\r\n        value: function _onXhrError(e) {\r\n            this._status = _loader.LoaderStatus.kError;\r\n            var type = 0;\r\n            var info = null;\r\n\r\n            if (this._contentLength && this._receivedLength > 0 && this._receivedLength < this._contentLength) {\r\n                type = _loader.LoaderErrors.EARLY_EOF;\r\n                info = { code: -1, msg: 'RangeLoader meet Early-Eof' };\r\n            } else {\r\n                type = _loader.LoaderErrors.EXCEPTION;\r\n                info = { code: -1, msg: e.constructor.name + ' ' + e.type };\r\n            }\r\n\r\n            if (this._onError) {\r\n                this._onError(type, info);\r\n            } else {\r\n                throw new _exception.RuntimeException(info.msg);\r\n            }\r\n        }\r\n    }, {\r\n        key: 'currentSpeed',\r\n        get: function get() {\r\n            return this._speedSampler.lastSecondKBps;\r\n        }\r\n    }]);\r\n\r\n    return RangeLoader;\r\n}(_loader.BaseLoader);\r\n\r\nexports.default = RangeLoader;\r\n\r\n},{\"../utils/exception.js\":40,\"../utils/logger.js\":41,\"./loader.js\":24,\"./speed-sampler.js\":27}],32:[function(_dereq_,module,exports){\r\n'use strict';\r\n\r\nObject.defineProperty(exports, \"__esModule\", {\r\n    value: true\r\n});\r\n\r\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\r\n\r\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /*\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * @author zheng qian <xqq@xqq.im>\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * you may not use this file except in compliance with the License.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * You may obtain a copy of the License at\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *     http://www.apache.org/licenses/LICENSE-2.0\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * Unless required by applicable law or agreed to in writing, software\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * See the License for the specific language governing permissions and\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * limitations under the License.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      */\r\n\r\nvar _events = _dereq_('events');\r\n\r\nvar _events2 = _interopRequireDefault(_events);\r\n\r\nvar _logger = _dereq_('../utils/logger.js');\r\n\r\nvar _logger2 = _interopRequireDefault(_logger);\r\n\r\nvar _browser = _dereq_('../utils/browser.js');\r\n\r\nvar _browser2 = _interopRequireDefault(_browser);\r\n\r\nvar _playerEvents = _dereq_('./player-events.js');\r\n\r\nvar _playerEvents2 = _interopRequireDefault(_playerEvents);\r\n\r\nvar _transmuxer = _dereq_('../core/transmuxer.js');\r\n\r\nvar _transmuxer2 = _interopRequireDefault(_transmuxer);\r\n\r\nvar _transmuxingEvents = _dereq_('../core/transmuxing-events.js');\r\n\r\nvar _transmuxingEvents2 = _interopRequireDefault(_transmuxingEvents);\r\n\r\nvar _mseController = _dereq_('../core/mse-controller.js');\r\n\r\nvar _mseController2 = _interopRequireDefault(_mseController);\r\n\r\nvar _mseEvents = _dereq_('../core/mse-events.js');\r\n\r\nvar _mseEvents2 = _interopRequireDefault(_mseEvents);\r\n\r\nvar _playerErrors = _dereq_('./player-errors.js');\r\n\r\nvar _config = _dereq_('../config.js');\r\n\r\nvar _exception = _dereq_('../utils/exception.js');\r\n\r\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\r\n\r\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\r\n\r\nvar FlvPlayer = function () {\r\n    function FlvPlayer(mediaDataSource, config) {\r\n        _classCallCheck(this, FlvPlayer);\r\n\r\n        this.TAG = 'FlvPlayer';\r\n        this._type = 'FlvPlayer';\r\n        this._emitter = new _events2.default();\r\n\r\n        this._config = (0, _config.createDefaultConfig)();\r\n        if ((typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object') {\r\n            Object.assign(this._config, config);\r\n        }\r\n\r\n        if (mediaDataSource.type.toLowerCase() !== 'flv') {\r\n            throw new _exception.InvalidArgumentException('FlvPlayer requires an flv MediaDataSource input!');\r\n        }\r\n\r\n        if (mediaDataSource.isLive === true) {\r\n            this._config.isLive = true;\r\n        }\r\n\r\n        this.e = {\r\n            onvLoadedMetadata: this._onvLoadedMetadata.bind(this),\r\n            onvSeeking: this._onvSeeking.bind(this),\r\n            onvCanPlay: this._onvCanPlay.bind(this),\r\n            onvStalled: this._onvStalled.bind(this),\r\n            onvProgress: this._onvProgress.bind(this)\r\n        };\r\n\r\n        if (self.performance && self.performance.now) {\r\n            this._now = self.performance.now.bind(self.performance);\r\n        } else {\r\n            this._now = Date.now;\r\n        }\r\n\r\n        this._pendingSeekTime = null; // in seconds\r\n        this._requestSetTime = false;\r\n        this._seekpointRecord = null;\r\n        this._progressChecker = null;\r\n\r\n        this._mediaDataSource = mediaDataSource;\r\n        this._mediaElement = null;\r\n        this._msectl = null;\r\n        this._transmuxer = null;\r\n\r\n        this._mseSourceOpened = false;\r\n        this._hasPendingLoad = false;\r\n        this._receivedCanPlay = false;\r\n\r\n        this._mediaInfo = null;\r\n        this._statisticsInfo = null;\r\n\r\n        var chromeNeedIDRFix = _browser2.default.chrome && (_browser2.default.version.major < 50 || _browser2.default.version.major === 50 && _browser2.default.version.build < 2661);\r\n        this._alwaysSeekKeyframe = chromeNeedIDRFix || _browser2.default.msedge || _browser2.default.msie ? true : false;\r\n\r\n        if (this._alwaysSeekKeyframe) {\r\n            this._config.accurateSeek = false;\r\n        }\r\n    }\r\n\r\n    _createClass(FlvPlayer, [{\r\n        key: 'destroy',\r\n        value: function destroy() {\r\n            if (this._progressChecker != null) {\r\n                window.clearInterval(this._progressChecker);\r\n                this._progressChecker = null;\r\n            }\r\n            if (this._transmuxer) {\r\n                this.unload();\r\n            }\r\n            if (this._mediaElement) {\r\n                this.detachMediaElement();\r\n            }\r\n            this.e = null;\r\n            this._mediaDataSource = null;\r\n\r\n            this._emitter.removeAllListeners();\r\n            this._emitter = null;\r\n        }\r\n    }, {\r\n        key: 'on',\r\n        value: function on(event, listener) {\r\n            var _this = this;\r\n\r\n            if (event === _playerEvents2.default.MEDIA_INFO) {\r\n                if (this._mediaInfo != null) {\r\n                    Promise.resolve().then(function () {\r\n                        _this._emitter.emit(_playerEvents2.default.MEDIA_INFO, _this.mediaInfo);\r\n                    });\r\n                }\r\n            } else if (event === _playerEvents2.default.STATISTICS_INFO) {\r\n                if (this._statisticsInfo != null) {\r\n                    Promise.resolve().then(function () {\r\n                        _this._emitter.emit(_playerEvents2.default.STATISTICS_INFO, _this.statisticsInfo);\r\n                    });\r\n                }\r\n            }\r\n            this._emitter.addListener(event, listener);\r\n        }\r\n    }, {\r\n        key: 'off',\r\n        value: function off(event, listener) {\r\n            this._emitter.removeListener(event, listener);\r\n        }\r\n    }, {\r\n        key: 'attachMediaElement',\r\n        value: function attachMediaElement(mediaElement) {\r\n            var _this2 = this;\r\n\r\n            this._mediaElement = mediaElement;\r\n            mediaElement.addEventListener('loadedmetadata', this.e.onvLoadedMetadata);\r\n            mediaElement.addEventListener('seeking', this.e.onvSeeking);\r\n            mediaElement.addEventListener('canplay', this.e.onvCanPlay);\r\n            mediaElement.addEventListener('stalled', this.e.onvStalled);\r\n            mediaElement.addEventListener('progress', this.e.onvProgress);\r\n\r\n            this._msectl = new _mseController2.default(this._config);\r\n\r\n            this._msectl.on(_mseEvents2.default.UPDATE_END, this._onmseUpdateEnd.bind(this));\r\n            this._msectl.on(_mseEvents2.default.BUFFER_FULL, this._onmseBufferFull.bind(this));\r\n            this._msectl.on(_mseEvents2.default.SOURCE_OPEN, function () {\r\n                _this2._mseSourceOpened = true;\r\n                if (_this2._hasPendingLoad) {\r\n                    _this2._hasPendingLoad = false;\r\n                    _this2.load();\r\n                }\r\n            });\r\n            this._msectl.on(_mseEvents2.default.ERROR, function (info) {\r\n                _this2._emitter.emit(_playerEvents2.default.ERROR, _playerErrors.ErrorTypes.MEDIA_ERROR, _playerErrors.ErrorDetails.MEDIA_MSE_ERROR, info);\r\n            });\r\n\r\n            this._msectl.attachMediaElement(mediaElement);\r\n\r\n            if (this._pendingSeekTime != null) {\r\n                try {\r\n                    mediaElement.currentTime = this._pendingSeekTime;\r\n                    this._pendingSeekTime = null;\r\n                } catch (e) {\r\n                    // IE11 may throw InvalidStateError if readyState === 0\r\n                    // We can defer set currentTime operation after loadedmetadata\r\n                }\r\n            }\r\n        }\r\n    }, {\r\n        key: 'detachMediaElement',\r\n        value: function detachMediaElement() {\r\n            if (this._mediaElement) {\r\n                this._msectl.detachMediaElement();\r\n                this._mediaElement.removeEventListener('loadedmetadata', this.e.onvLoadedMetadata);\r\n                this._mediaElement.removeEventListener('seeking', this.e.onvSeeking);\r\n                this._mediaElement.removeEventListener('canplay', this.e.onvCanPlay);\r\n                this._mediaElement.removeEventListener('stalled', this.e.onvStalled);\r\n                this._mediaElement.removeEventListener('progress', this.e.onvProgress);\r\n                this._mediaElement = null;\r\n            }\r\n            if (this._msectl) {\r\n                this._msectl.destroy();\r\n                this._msectl = null;\r\n            }\r\n        }\r\n    }, {\r\n        key: 'load',\r\n        value: function load() {\r\n            var _this3 = this;\r\n\r\n            if (!this._mediaElement) {\r\n                throw new _exception.IllegalStateException('HTMLMediaElement must be attached before load()!');\r\n            }\r\n            if (this._transmuxer) {\r\n                throw new _exception.IllegalStateException('FlvPlayer.load() has been called, please call unload() first!');\r\n            }\r\n            if (this._hasPendingLoad) {\r\n                return;\r\n            }\r\n\r\n            if (this._config.deferLoadAfterSourceOpen && this._mseSourceOpened === false) {\r\n                this._hasPendingLoad = true;\r\n                return;\r\n            }\r\n\r\n            if (this._mediaElement.readyState > 0) {\r\n                this._requestSetTime = true;\r\n                // IE11 may throw InvalidStateError if readyState === 0\r\n                this._mediaElement.currentTime = 0;\r\n            }\r\n\r\n            this._transmuxer = new _transmuxer2.default(this._mediaDataSource, this._config);\r\n\r\n            this._transmuxer.on(_transmuxingEvents2.default.INIT_SEGMENT, function (type, is) {\r\n                _this3._msectl.appendInitSegment(is);\r\n            });\r\n            this._transmuxer.on(_transmuxingEvents2.default.MEDIA_SEGMENT, function (type, ms) {\r\n                _this3._msectl.appendMediaSegment(ms);\r\n\r\n                // lazyLoad check\r\n                if (_this3._config.lazyLoad && !_this3._config.isLive) {\r\n                    var currentTime = _this3._mediaElement.currentTime;\r\n                    if (ms.info.endDts >= (currentTime + _this3._config.lazyLoadMaxDuration) * 1000) {\r\n                        if (_this3._progressChecker == null) {\r\n                            _logger2.default.v(_this3.TAG, 'Maximum buffering duration exceeded, suspend transmuxing task');\r\n                            _this3._suspendTransmuxer();\r\n                        }\r\n                    }\r\n                }\r\n            });\r\n            this._transmuxer.on(_transmuxingEvents2.default.LOADING_COMPLETE, function () {\r\n                _this3._msectl.endOfStream();\r\n                _this3._emitter.emit(_playerEvents2.default.LOADING_COMPLETE);\r\n            });\r\n            this._transmuxer.on(_transmuxingEvents2.default.RECOVERED_EARLY_EOF, function () {\r\n                _this3._emitter.emit(_playerEvents2.default.RECOVERED_EARLY_EOF);\r\n            });\r\n            this._transmuxer.on(_transmuxingEvents2.default.IO_ERROR, function (detail, info) {\r\n                _this3._emitter.emit(_playerEvents2.default.ERROR, _playerErrors.ErrorTypes.NETWORK_ERROR, detail, info);\r\n            });\r\n            this._transmuxer.on(_transmuxingEvents2.default.DEMUX_ERROR, function (detail, info) {\r\n                _this3._emitter.emit(_playerEvents2.default.ERROR, _playerErrors.ErrorTypes.MEDIA_ERROR, detail, { code: -1, msg: info });\r\n            });\r\n            this._transmuxer.on(_transmuxingEvents2.default.MEDIA_INFO, function (mediaInfo) {\r\n                _this3._mediaInfo = mediaInfo;\r\n                _this3._emitter.emit(_playerEvents2.default.MEDIA_INFO, Object.assign({}, mediaInfo));\r\n            });\r\n            this._transmuxer.on(_transmuxingEvents2.default.METADATA_ARRIVED, function (metadata) {\r\n                _this3._emitter.emit(_playerEvents2.default.METADATA_ARRIVED, metadata);\r\n            });\r\n            this._transmuxer.on(_transmuxingEvents2.default.SCRIPTDATA_ARRIVED, function (data) {\r\n                _this3._emitter.emit(_playerEvents2.default.SCRIPTDATA_ARRIVED, data);\r\n            });\r\n            this._transmuxer.on(_transmuxingEvents2.default.STATISTICS_INFO, function (statInfo) {\r\n                _this3._statisticsInfo = _this3._fillStatisticsInfo(statInfo);\r\n                _this3._emitter.emit(_playerEvents2.default.STATISTICS_INFO, Object.assign({}, _this3._statisticsInfo));\r\n            });\r\n            this._transmuxer.on(_transmuxingEvents2.default.RECOMMEND_SEEKPOINT, function (milliseconds) {\r\n                if (_this3._mediaElement && !_this3._config.accurateSeek) {\r\n                    _this3._requestSetTime = true;\r\n                    _this3._mediaElement.currentTime = milliseconds / 1000;\r\n                }\r\n            });\r\n\r\n            this._transmuxer.open();\r\n        }\r\n    }, {\r\n        key: 'unload',\r\n        value: function unload() {\r\n            if (this._mediaElement) {\r\n                this._mediaElement.pause();\r\n            }\r\n            if (this._msectl) {\r\n                this._msectl.seek(0);\r\n            }\r\n            if (this._transmuxer) {\r\n                this._transmuxer.close();\r\n                this._transmuxer.destroy();\r\n                this._transmuxer = null;\r\n            }\r\n        }\r\n    }, {\r\n        key: 'play',\r\n        value: function play() {\r\n            return this._mediaElement.play();\r\n        }\r\n    }, {\r\n        key: 'pause',\r\n        value: function pause() {\r\n            this._mediaElement.pause();\r\n        }\r\n    }, {\r\n        key: '_fillStatisticsInfo',\r\n        value: function _fillStatisticsInfo(statInfo) {\r\n            statInfo.playerType = this._type;\r\n\r\n            if (!(this._mediaElement instanceof HTMLVideoElement)) {\r\n                return statInfo;\r\n            }\r\n\r\n            var hasQualityInfo = true;\r\n            var decoded = 0;\r\n            var dropped = 0;\r\n\r\n            if (this._mediaElement.getVideoPlaybackQuality) {\r\n                var quality = this._mediaElement.getVideoPlaybackQuality();\r\n                decoded = quality.totalVideoFrames;\r\n                dropped = quality.droppedVideoFrames;\r\n            } else if (this._mediaElement.webkitDecodedFrameCount != undefined) {\r\n                decoded = this._mediaElement.webkitDecodedFrameCount;\r\n                dropped = this._mediaElement.webkitDroppedFrameCount;\r\n            } else {\r\n                hasQualityInfo = false;\r\n            }\r\n\r\n            if (hasQualityInfo) {\r\n                statInfo.decodedFrames = decoded;\r\n                statInfo.droppedFrames = dropped;\r\n            }\r\n\r\n            return statInfo;\r\n        }\r\n    }, {\r\n        key: '_onmseUpdateEnd',\r\n        value: function _onmseUpdateEnd() {\r\n            if (!this._config.lazyLoad || this._config.isLive) {\r\n                return;\r\n            }\r\n\r\n            var buffered = this._mediaElement.buffered;\r\n            var currentTime = this._mediaElement.currentTime;\r\n            var currentRangeStart = 0;\r\n            var currentRangeEnd = 0;\r\n\r\n            for (var i = 0; i < buffered.length; i++) {\r\n                var start = buffered.start(i);\r\n                var end = buffered.end(i);\r\n                if (start <= currentTime && currentTime < end) {\r\n                    currentRangeStart = start;\r\n                    currentRangeEnd = end;\r\n                    break;\r\n                }\r\n            }\r\n\r\n            if (currentRangeEnd >= currentTime + this._config.lazyLoadMaxDuration && this._progressChecker == null) {\r\n                _logger2.default.v(this.TAG, 'Maximum buffering duration exceeded, suspend transmuxing task');\r\n                this._suspendTransmuxer();\r\n            }\r\n        }\r\n    }, {\r\n        key: '_onmseBufferFull',\r\n        value: function _onmseBufferFull() {\r\n            _logger2.default.v(this.TAG, 'MSE SourceBuffer is full, suspend transmuxing task');\r\n            if (this._progressChecker == null) {\r\n                this._suspendTransmuxer();\r\n            }\r\n        }\r\n    }, {\r\n        key: '_suspendTransmuxer',\r\n        value: function _suspendTransmuxer() {\r\n            if (this._transmuxer) {\r\n                this._transmuxer.pause();\r\n\r\n                if (this._progressChecker == null) {\r\n                    this._progressChecker = window.setInterval(this._checkProgressAndResume.bind(this), 1000);\r\n                }\r\n            }\r\n        }\r\n    }, {\r\n        key: '_checkProgressAndResume',\r\n        value: function _checkProgressAndResume() {\r\n            var currentTime = this._mediaElement.currentTime;\r\n            var buffered = this._mediaElement.buffered;\r\n\r\n            var needResume = false;\r\n\r\n            for (var i = 0; i < buffered.length; i++) {\r\n                var from = buffered.start(i);\r\n                var to = buffered.end(i);\r\n                if (currentTime >= from && currentTime < to) {\r\n                    if (currentTime >= to - this._config.lazyLoadRecoverDuration) {\r\n                        needResume = true;\r\n                    }\r\n                    break;\r\n                }\r\n            }\r\n\r\n            if (needResume) {\r\n                window.clearInterval(this._progressChecker);\r\n                this._progressChecker = null;\r\n                if (needResume) {\r\n                    _logger2.default.v(this.TAG, 'Continue loading from paused position');\r\n                    this._transmuxer.resume();\r\n                }\r\n            }\r\n        }\r\n    }, {\r\n        key: '_isTimepointBuffered',\r\n        value: function _isTimepointBuffered(seconds) {\r\n            var buffered = this._mediaElement.buffered;\r\n\r\n            for (var i = 0; i < buffered.length; i++) {\r\n                var from = buffered.start(i);\r\n                var to = buffered.end(i);\r\n                if (seconds >= from && seconds < to) {\r\n                    return true;\r\n                }\r\n            }\r\n            return false;\r\n        }\r\n    }, {\r\n        key: '_internalSeek',\r\n        value: function _internalSeek(seconds) {\r\n            var directSeek = this._isTimepointBuffered(seconds);\r\n\r\n            var directSeekBegin = false;\r\n            var directSeekBeginTime = 0;\r\n\r\n            if (seconds < 1.0 && this._mediaElement.buffered.length > 0) {\r\n                var videoBeginTime = this._mediaElement.buffered.start(0);\r\n                if (videoBeginTime < 1.0 && seconds < videoBeginTime || _browser2.default.safari) {\r\n                    directSeekBegin = true;\r\n                    // also workaround for Safari: Seek to 0 may cause video stuck, use 0.1 to avoid\r\n                    directSeekBeginTime = _browser2.default.safari ? 0.1 : videoBeginTime;\r\n                }\r\n            }\r\n\r\n            if (directSeekBegin) {\r\n                // seek to video begin, set currentTime directly if beginPTS buffered\r\n                this._requestSetTime = true;\r\n                this._mediaElement.currentTime = directSeekBeginTime;\r\n            } else if (directSeek) {\r\n                // buffered position\r\n                if (!this._alwaysSeekKeyframe) {\r\n                    this._requestSetTime = true;\r\n                    this._mediaElement.currentTime = seconds;\r\n                } else {\r\n                    var idr = this._msectl.getNearestKeyframe(Math.floor(seconds * 1000));\r\n                    this._requestSetTime = true;\r\n                    if (idr != null) {\r\n                        this._mediaElement.currentTime = idr.dts / 1000;\r\n                    } else {\r\n                        this._mediaElement.currentTime = seconds;\r\n                    }\r\n                }\r\n                if (this._progressChecker != null) {\r\n                    this._checkProgressAndResume();\r\n                }\r\n            } else {\r\n                if (this._progressChecker != null) {\r\n                    window.clearInterval(this._progressChecker);\r\n                    this._progressChecker = null;\r\n                }\r\n                this._msectl.seek(seconds);\r\n                this._transmuxer.seek(Math.floor(seconds * 1000)); // in milliseconds\r\n                // no need to set mediaElement.currentTime if non-accurateSeek,\r\n                // just wait for the recommend_seekpoint callback\r\n                if (this._config.accurateSeek) {\r\n                    this._requestSetTime = true;\r\n                    this._mediaElement.currentTime = seconds;\r\n                }\r\n            }\r\n        }\r\n    }, {\r\n        key: '_checkAndApplyUnbufferedSeekpoint',\r\n        value: function _checkAndApplyUnbufferedSeekpoint() {\r\n            if (this._seekpointRecord) {\r\n                if (this._seekpointRecord.recordTime <= this._now() - 100) {\r\n                    var target = this._mediaElement.currentTime;\r\n                    this._seekpointRecord = null;\r\n                    if (!this._isTimepointBuffered(target)) {\r\n                        if (this._progressChecker != null) {\r\n                            window.clearTimeout(this._progressChecker);\r\n                            this._progressChecker = null;\r\n                        }\r\n                        // .currentTime is consists with .buffered timestamp\r\n                        // Chrome/Edge use DTS, while FireFox/Safari use PTS\r\n                        this._msectl.seek(target);\r\n                        this._transmuxer.seek(Math.floor(target * 1000));\r\n                        // set currentTime if accurateSeek, or wait for recommend_seekpoint callback\r\n                        if (this._config.accurateSeek) {\r\n                            this._requestSetTime = true;\r\n                            this._mediaElement.currentTime = target;\r\n                        }\r\n                    }\r\n                } else {\r\n                    window.setTimeout(this._checkAndApplyUnbufferedSeekpoint.bind(this), 50);\r\n                }\r\n            }\r\n        }\r\n    }, {\r\n        key: '_checkAndResumeStuckPlayback',\r\n        value: function _checkAndResumeStuckPlayback(stalled) {\r\n            var media = this._mediaElement;\r\n            if (stalled || !this._receivedCanPlay || media.readyState < 2) {\r\n                // HAVE_CURRENT_DATA\r\n                var buffered = media.buffered;\r\n                if (buffered.length > 0 && media.currentTime < buffered.start(0)) {\r\n                    _logger2.default.w(this.TAG, 'Playback seems stuck at ' + media.currentTime + ', seek to ' + buffered.start(0));\r\n                    this._requestSetTime = true;\r\n                    this._mediaElement.currentTime = buffered.start(0);\r\n                    this._mediaElement.removeEventListener('progress', this.e.onvProgress);\r\n                }\r\n            } else {\r\n                // Playback didn't stuck, remove progress event listener\r\n                this._mediaElement.removeEventListener('progress', this.e.onvProgress);\r\n            }\r\n        }\r\n    }, {\r\n        key: '_onvLoadedMetadata',\r\n        value: function _onvLoadedMetadata(e) {\r\n            if (this._pendingSeekTime != null) {\r\n                this._mediaElement.currentTime = this._pendingSeekTime;\r\n                this._pendingSeekTime = null;\r\n            }\r\n        }\r\n    }, {\r\n        key: '_onvSeeking',\r\n        value: function _onvSeeking(e) {\r\n            // handle seeking request from browser's progress bar\r\n            var target = this._mediaElement.currentTime;\r\n            var buffered = this._mediaElement.buffered;\r\n\r\n            if (this._requestSetTime) {\r\n                this._requestSetTime = false;\r\n                return;\r\n            }\r\n\r\n            if (target < 1.0 && buffered.length > 0) {\r\n                // seek to video begin, set currentTime directly if beginPTS buffered\r\n                var videoBeginTime = buffered.start(0);\r\n                if (videoBeginTime < 1.0 && target < videoBeginTime || _browser2.default.safari) {\r\n                    this._requestSetTime = true;\r\n                    // also workaround for Safari: Seek to 0 may cause video stuck, use 0.1 to avoid\r\n                    this._mediaElement.currentTime = _browser2.default.safari ? 0.1 : videoBeginTime;\r\n                    return;\r\n                }\r\n            }\r\n\r\n            if (this._isTimepointBuffered(target)) {\r\n                if (this._alwaysSeekKeyframe) {\r\n                    var idr = this._msectl.getNearestKeyframe(Math.floor(target * 1000));\r\n                    if (idr != null) {\r\n                        this._requestSetTime = true;\r\n                        this._mediaElement.currentTime = idr.dts / 1000;\r\n                    }\r\n                }\r\n                if (this._progressChecker != null) {\r\n                    this._checkProgressAndResume();\r\n                }\r\n                return;\r\n            }\r\n\r\n            this._seekpointRecord = {\r\n                seekPoint: target,\r\n                recordTime: this._now()\r\n            };\r\n            window.setTimeout(this._checkAndApplyUnbufferedSeekpoint.bind(this), 50);\r\n        }\r\n    }, {\r\n        key: '_onvCanPlay',\r\n        value: function _onvCanPlay(e) {\r\n            this._receivedCanPlay = true;\r\n            this._mediaElement.removeEventListener('canplay', this.e.onvCanPlay);\r\n        }\r\n    }, {\r\n        key: '_onvStalled',\r\n        value: function _onvStalled(e) {\r\n            this._checkAndResumeStuckPlayback(true);\r\n        }\r\n    }, {\r\n        key: '_onvProgress',\r\n        value: function _onvProgress(e) {\r\n            this._checkAndResumeStuckPlayback();\r\n        }\r\n    }, {\r\n        key: 'type',\r\n        get: function get() {\r\n            return this._type;\r\n        }\r\n    }, {\r\n        key: 'buffered',\r\n        get: function get() {\r\n            return this._mediaElement.buffered;\r\n        }\r\n    }, {\r\n        key: 'duration',\r\n        get: function get() {\r\n            return this._mediaElement.duration;\r\n        }\r\n    }, {\r\n        key: 'volume',\r\n        get: function get() {\r\n            return this._mediaElement.volume;\r\n        },\r\n        set: function set(value) {\r\n            this._mediaElement.volume = value;\r\n        }\r\n    }, {\r\n        key: 'muted',\r\n        get: function get() {\r\n            return this._mediaElement.muted;\r\n        },\r\n        set: function set(muted) {\r\n            this._mediaElement.muted = muted;\r\n        }\r\n    }, {\r\n        key: 'currentTime',\r\n        get: function get() {\r\n            if (this._mediaElement) {\r\n                return this._mediaElement.currentTime;\r\n            }\r\n            return 0;\r\n        },\r\n        set: function set(seconds) {\r\n            if (this._mediaElement) {\r\n                this._internalSeek(seconds);\r\n            } else {\r\n                this._pendingSeekTime = seconds;\r\n            }\r\n        }\r\n    }, {\r\n        key: 'mediaInfo',\r\n        get: function get() {\r\n            return Object.assign({}, this._mediaInfo);\r\n        }\r\n    }, {\r\n        key: 'statisticsInfo',\r\n        get: function get() {\r\n            if (this._statisticsInfo == null) {\r\n                this._statisticsInfo = {};\r\n            }\r\n            this._statisticsInfo = this._fillStatisticsInfo(this._statisticsInfo);\r\n            return Object.assign({}, this._statisticsInfo);\r\n        }\r\n    }]);\r\n\r\n    return FlvPlayer;\r\n}();\r\n\r\nexports.default = FlvPlayer;\r\n\r\n},{\"../config.js\":5,\"../core/mse-controller.js\":9,\"../core/mse-events.js\":10,\"../core/transmuxer.js\":11,\"../core/transmuxing-events.js\":13,\"../utils/browser.js\":39,\"../utils/exception.js\":40,\"../utils/logger.js\":41,\"./player-errors.js\":34,\"./player-events.js\":35,\"events\":2}],33:[function(_dereq_,module,exports){\r\n'use strict';\r\n\r\nObject.defineProperty(exports, \"__esModule\", {\r\n    value: true\r\n});\r\n\r\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\r\n\r\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /*\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * @author zheng qian <xqq@xqq.im>\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * you may not use this file except in compliance with the License.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * You may obtain a copy of the License at\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *     http://www.apache.org/licenses/LICENSE-2.0\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * Unless required by applicable law or agreed to in writing, software\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * See the License for the specific language governing permissions and\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * limitations under the License.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      */\r\n\r\nvar _events = _dereq_('events');\r\n\r\nvar _events2 = _interopRequireDefault(_events);\r\n\r\nvar _playerEvents = _dereq_('./player-events.js');\r\n\r\nvar _playerEvents2 = _interopRequireDefault(_playerEvents);\r\n\r\nvar _config = _dereq_('../config.js');\r\n\r\nvar _exception = _dereq_('../utils/exception.js');\r\n\r\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\r\n\r\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\r\n\r\n// Player wrapper for browser's native player (HTMLVideoElement) without MediaSource src. \r\nvar NativePlayer = function () {\r\n    function NativePlayer(mediaDataSource, config) {\r\n        _classCallCheck(this, NativePlayer);\r\n\r\n        this.TAG = 'NativePlayer';\r\n        this._type = 'NativePlayer';\r\n        this._emitter = new _events2.default();\r\n\r\n        this._config = (0, _config.createDefaultConfig)();\r\n        if ((typeof config === 'undefined' ? 'undefined' : _typeof(config)) === 'object') {\r\n            Object.assign(this._config, config);\r\n        }\r\n\r\n        if (mediaDataSource.type.toLowerCase() === 'flv') {\r\n            throw new _exception.InvalidArgumentException('NativePlayer does\\'t support flv MediaDataSource input!');\r\n        }\r\n        if (mediaDataSource.hasOwnProperty('segments')) {\r\n            throw new _exception.InvalidArgumentException('NativePlayer(' + mediaDataSource.type + ') doesn\\'t support multipart playback!');\r\n        }\r\n\r\n        this.e = {\r\n            onvLoadedMetadata: this._onvLoadedMetadata.bind(this)\r\n        };\r\n\r\n        this._pendingSeekTime = null;\r\n        this._statisticsReporter = null;\r\n\r\n        this._mediaDataSource = mediaDataSource;\r\n        this._mediaElement = null;\r\n    }\r\n\r\n    _createClass(NativePlayer, [{\r\n        key: 'destroy',\r\n        value: function destroy() {\r\n            if (this._mediaElement) {\r\n                this.unload();\r\n                this.detachMediaElement();\r\n            }\r\n            this.e = null;\r\n            this._mediaDataSource = null;\r\n            this._emitter.removeAllListeners();\r\n            this._emitter = null;\r\n        }\r\n    }, {\r\n        key: 'on',\r\n        value: function on(event, listener) {\r\n            var _this = this;\r\n\r\n            if (event === _playerEvents2.default.MEDIA_INFO) {\r\n                if (this._mediaElement != null && this._mediaElement.readyState !== 0) {\r\n                    // HAVE_NOTHING\r\n                    Promise.resolve().then(function () {\r\n                        _this._emitter.emit(_playerEvents2.default.MEDIA_INFO, _this.mediaInfo);\r\n                    });\r\n                }\r\n            } else if (event === _playerEvents2.default.STATISTICS_INFO) {\r\n                if (this._mediaElement != null && this._mediaElement.readyState !== 0) {\r\n                    Promise.resolve().then(function () {\r\n                        _this._emitter.emit(_playerEvents2.default.STATISTICS_INFO, _this.statisticsInfo);\r\n                    });\r\n                }\r\n            }\r\n            this._emitter.addListener(event, listener);\r\n        }\r\n    }, {\r\n        key: 'off',\r\n        value: function off(event, listener) {\r\n            this._emitter.removeListener(event, listener);\r\n        }\r\n    }, {\r\n        key: 'attachMediaElement',\r\n        value: function attachMediaElement(mediaElement) {\r\n            this._mediaElement = mediaElement;\r\n            mediaElement.addEventListener('loadedmetadata', this.e.onvLoadedMetadata);\r\n\r\n            if (this._pendingSeekTime != null) {\r\n                try {\r\n                    mediaElement.currentTime = this._pendingSeekTime;\r\n                    this._pendingSeekTime = null;\r\n                } catch (e) {\r\n                    // IE11 may throw InvalidStateError if readyState === 0\r\n                    // Defer set currentTime operation after loadedmetadata\r\n                }\r\n            }\r\n        }\r\n    }, {\r\n        key: 'detachMediaElement',\r\n        value: function detachMediaElement() {\r\n            if (this._mediaElement) {\r\n                this._mediaElement.src = '';\r\n                this._mediaElement.removeAttribute('src');\r\n                this._mediaElement.removeEventListener('loadedmetadata', this.e.onvLoadedMetadata);\r\n                this._mediaElement = null;\r\n            }\r\n            if (this._statisticsReporter != null) {\r\n                window.clearInterval(this._statisticsReporter);\r\n                this._statisticsReporter = null;\r\n            }\r\n        }\r\n    }, {\r\n        key: 'load',\r\n        value: function load() {\r\n            if (!this._mediaElement) {\r\n                throw new _exception.IllegalStateException('HTMLMediaElement must be attached before load()!');\r\n            }\r\n            this._mediaElement.src = this._mediaDataSource.url;\r\n\r\n            if (this._mediaElement.readyState > 0) {\r\n                this._mediaElement.currentTime = 0;\r\n            }\r\n\r\n            this._mediaElement.preload = 'auto';\r\n            this._mediaElement.load();\r\n            this._statisticsReporter = window.setInterval(this._reportStatisticsInfo.bind(this), this._config.statisticsInfoReportInterval);\r\n        }\r\n    }, {\r\n        key: 'unload',\r\n        value: function unload() {\r\n            if (this._mediaElement) {\r\n                this._mediaElement.src = '';\r\n                this._mediaElement.removeAttribute('src');\r\n            }\r\n            if (this._statisticsReporter != null) {\r\n                window.clearInterval(this._statisticsReporter);\r\n                this._statisticsReporter = null;\r\n            }\r\n        }\r\n    }, {\r\n        key: 'play',\r\n        value: function play() {\r\n            return this._mediaElement.play();\r\n        }\r\n    }, {\r\n        key: 'pause',\r\n        value: function pause() {\r\n            this._mediaElement.pause();\r\n        }\r\n    }, {\r\n        key: '_onvLoadedMetadata',\r\n        value: function _onvLoadedMetadata(e) {\r\n            if (this._pendingSeekTime != null) {\r\n                this._mediaElement.currentTime = this._pendingSeekTime;\r\n                this._pendingSeekTime = null;\r\n            }\r\n            this._emitter.emit(_playerEvents2.default.MEDIA_INFO, this.mediaInfo);\r\n        }\r\n    }, {\r\n        key: '_reportStatisticsInfo',\r\n        value: function _reportStatisticsInfo() {\r\n            this._emitter.emit(_playerEvents2.default.STATISTICS_INFO, this.statisticsInfo);\r\n        }\r\n    }, {\r\n        key: 'type',\r\n        get: function get() {\r\n            return this._type;\r\n        }\r\n    }, {\r\n        key: 'buffered',\r\n        get: function get() {\r\n            return this._mediaElement.buffered;\r\n        }\r\n    }, {\r\n        key: 'duration',\r\n        get: function get() {\r\n            return this._mediaElement.duration;\r\n        }\r\n    }, {\r\n        key: 'volume',\r\n        get: function get() {\r\n            return this._mediaElement.volume;\r\n        },\r\n        set: function set(value) {\r\n            this._mediaElement.volume = value;\r\n        }\r\n    }, {\r\n        key: 'muted',\r\n        get: function get() {\r\n            return this._mediaElement.muted;\r\n        },\r\n        set: function set(muted) {\r\n            this._mediaElement.muted = muted;\r\n        }\r\n    }, {\r\n        key: 'currentTime',\r\n        get: function get() {\r\n            if (this._mediaElement) {\r\n                return this._mediaElement.currentTime;\r\n            }\r\n            return 0;\r\n        },\r\n        set: function set(seconds) {\r\n            if (this._mediaElement) {\r\n                this._mediaElement.currentTime = seconds;\r\n            } else {\r\n                this._pendingSeekTime = seconds;\r\n            }\r\n        }\r\n    }, {\r\n        key: 'mediaInfo',\r\n        get: function get() {\r\n            var mediaPrefix = this._mediaElement instanceof HTMLAudioElement ? 'audio/' : 'video/';\r\n            var info = {\r\n                mimeType: mediaPrefix + this._mediaDataSource.type\r\n            };\r\n            if (this._mediaElement) {\r\n                info.duration = Math.floor(this._mediaElement.duration * 1000);\r\n                if (this._mediaElement instanceof HTMLVideoElement) {\r\n                    info.width = this._mediaElement.videoWidth;\r\n                    info.height = this._mediaElement.videoHeight;\r\n                }\r\n            }\r\n            return info;\r\n        }\r\n    }, {\r\n        key: 'statisticsInfo',\r\n        get: function get() {\r\n            var info = {\r\n                playerType: this._type,\r\n                url: this._mediaDataSource.url\r\n            };\r\n\r\n            if (!(this._mediaElement instanceof HTMLVideoElement)) {\r\n                return info;\r\n            }\r\n\r\n            var hasQualityInfo = true;\r\n            var decoded = 0;\r\n            var dropped = 0;\r\n\r\n            if (this._mediaElement.getVideoPlaybackQuality) {\r\n                var quality = this._mediaElement.getVideoPlaybackQuality();\r\n                decoded = quality.totalVideoFrames;\r\n                dropped = quality.droppedVideoFrames;\r\n            } else if (this._mediaElement.webkitDecodedFrameCount != undefined) {\r\n                decoded = this._mediaElement.webkitDecodedFrameCount;\r\n                dropped = this._mediaElement.webkitDroppedFrameCount;\r\n            } else {\r\n                hasQualityInfo = false;\r\n            }\r\n\r\n            if (hasQualityInfo) {\r\n                info.decodedFrames = decoded;\r\n                info.droppedFrames = dropped;\r\n            }\r\n\r\n            return info;\r\n        }\r\n    }]);\r\n\r\n    return NativePlayer;\r\n}();\r\n\r\nexports.default = NativePlayer;\r\n\r\n},{\"../config.js\":5,\"../utils/exception.js\":40,\"./player-events.js\":35,\"events\":2}],34:[function(_dereq_,module,exports){\r\n'use strict';\r\n\r\nObject.defineProperty(exports, \"__esModule\", {\r\n    value: true\r\n});\r\nexports.ErrorDetails = exports.ErrorTypes = undefined;\r\n\r\nvar _loader = _dereq_('../io/loader.js');\r\n\r\nvar _demuxErrors = _dereq_('../demux/demux-errors.js');\r\n\r\nvar _demuxErrors2 = _interopRequireDefault(_demuxErrors);\r\n\r\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\r\n\r\n/*\r\n * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n *\r\n * @author zheng qian <xqq@xqq.im>\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\nvar ErrorTypes = exports.ErrorTypes = {\r\n    NETWORK_ERROR: 'NetworkError',\r\n    MEDIA_ERROR: 'MediaError',\r\n    OTHER_ERROR: 'OtherError'\r\n};\r\n\r\nvar ErrorDetails = exports.ErrorDetails = {\r\n    NETWORK_EXCEPTION: _loader.LoaderErrors.EXCEPTION,\r\n    NETWORK_STATUS_CODE_INVALID: _loader.LoaderErrors.HTTP_STATUS_CODE_INVALID,\r\n    NETWORK_TIMEOUT: _loader.LoaderErrors.CONNECTING_TIMEOUT,\r\n    NETWORK_UNRECOVERABLE_EARLY_EOF: _loader.LoaderErrors.UNRECOVERABLE_EARLY_EOF,\r\n\r\n    MEDIA_MSE_ERROR: 'MediaMSEError',\r\n\r\n    MEDIA_FORMAT_ERROR: _demuxErrors2.default.FORMAT_ERROR,\r\n    MEDIA_FORMAT_UNSUPPORTED: _demuxErrors2.default.FORMAT_UNSUPPORTED,\r\n    MEDIA_CODEC_UNSUPPORTED: _demuxErrors2.default.CODEC_UNSUPPORTED\r\n};\r\n\r\n},{\"../demux/demux-errors.js\":16,\"../io/loader.js\":24}],35:[function(_dereq_,module,exports){\r\n'use strict';\r\n\r\nObject.defineProperty(exports, \"__esModule\", {\r\n  value: true\r\n});\r\n/*\r\n * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n *\r\n * @author zheng qian <xqq@xqq.im>\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\nvar PlayerEvents = {\r\n  ERROR: 'error',\r\n  LOADING_COMPLETE: 'loading_complete',\r\n  RECOVERED_EARLY_EOF: 'recovered_early_eof',\r\n  MEDIA_INFO: 'media_info',\r\n  METADATA_ARRIVED: 'metadata_arrived',\r\n  SCRIPTDATA_ARRIVED: 'scriptdata_arrived',\r\n  STATISTICS_INFO: 'statistics_info'\r\n};\r\n\r\nexports.default = PlayerEvents;\r\n\r\n},{}],36:[function(_dereq_,module,exports){\r\n'use strict';\r\n\r\nObject.defineProperty(exports, \"__esModule\", {\r\n    value: true\r\n});\r\n\r\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\r\n\r\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\r\n\r\n/*\r\n * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n *\r\n * This file is modified from dailymotion's hls.js library (hls.js/src/helper/aac.js)\r\n * @author zheng qian <xqq@xqq.im>\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\nvar AAC = function () {\r\n    function AAC() {\r\n        _classCallCheck(this, AAC);\r\n    }\r\n\r\n    _createClass(AAC, null, [{\r\n        key: 'getSilentFrame',\r\n        value: function getSilentFrame(codec, channelCount) {\r\n            if (codec === 'mp4a.40.2') {\r\n                // handle LC-AAC\r\n                if (channelCount === 1) {\r\n                    return new Uint8Array([0x00, 0xc8, 0x00, 0x80, 0x23, 0x80]);\r\n                } else if (channelCount === 2) {\r\n                    return new Uint8Array([0x21, 0x00, 0x49, 0x90, 0x02, 0x19, 0x00, 0x23, 0x80]);\r\n                } else if (channelCount === 3) {\r\n                    return new Uint8Array([0x00, 0xc8, 0x00, 0x80, 0x20, 0x84, 0x01, 0x26, 0x40, 0x08, 0x64, 0x00, 0x8e]);\r\n                } else if (channelCount === 4) {\r\n                    return new Uint8Array([0x00, 0xc8, 0x00, 0x80, 0x20, 0x84, 0x01, 0x26, 0x40, 0x08, 0x64, 0x00, 0x80, 0x2c, 0x80, 0x08, 0x02, 0x38]);\r\n                } else if (channelCount === 5) {\r\n                    return new Uint8Array([0x00, 0xc8, 0x00, 0x80, 0x20, 0x84, 0x01, 0x26, 0x40, 0x08, 0x64, 0x00, 0x82, 0x30, 0x04, 0x99, 0x00, 0x21, 0x90, 0x02, 0x38]);\r\n                } else if (channelCount === 6) {\r\n                    return new Uint8Array([0x00, 0xc8, 0x00, 0x80, 0x20, 0x84, 0x01, 0x26, 0x40, 0x08, 0x64, 0x00, 0x82, 0x30, 0x04, 0x99, 0x00, 0x21, 0x90, 0x02, 0x00, 0xb2, 0x00, 0x20, 0x08, 0xe0]);\r\n                }\r\n            } else {\r\n                // handle HE-AAC (mp4a.40.5 / mp4a.40.29)\r\n                if (channelCount === 1) {\r\n                    // ffmpeg -y -f lavfi -i \"aevalsrc=0:d=0.05\" -c:a libfdk_aac -profile:a aac_he -b:a 4k output.aac && hexdump -v -e '16/1 \"0x%x,\" \"\\n\"' -v output.aac\r\n                    return new Uint8Array([0x1, 0x40, 0x22, 0x80, 0xa3, 0x4e, 0xe6, 0x80, 0xba, 0x8, 0x0, 0x0, 0x0, 0x1c, 0x6, 0xf1, 0xc1, 0xa, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5e]);\r\n                } else if (channelCount === 2) {\r\n                    // ffmpeg -y -f lavfi -i \"aevalsrc=0|0:d=0.05\" -c:a libfdk_aac -profile:a aac_he_v2 -b:a 4k output.aac && hexdump -v -e '16/1 \"0x%x,\" \"\\n\"' -v output.aac\r\n                    return new Uint8Array([0x1, 0x40, 0x22, 0x80, 0xa3, 0x5e, 0xe6, 0x80, 0xba, 0x8, 0x0, 0x0, 0x0, 0x0, 0x95, 0x0, 0x6, 0xf1, 0xa1, 0xa, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5e]);\r\n                } else if (channelCount === 3) {\r\n                    // ffmpeg -y -f lavfi -i \"aevalsrc=0|0|0:d=0.05\" -c:a libfdk_aac -profile:a aac_he_v2 -b:a 4k output.aac && hexdump -v -e '16/1 \"0x%x,\" \"\\n\"' -v output.aac\r\n                    return new Uint8Array([0x1, 0x40, 0x22, 0x80, 0xa3, 0x5e, 0xe6, 0x80, 0xba, 0x8, 0x0, 0x0, 0x0, 0x0, 0x95, 0x0, 0x6, 0xf1, 0xa1, 0xa, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5a, 0x5e]);\r\n                }\r\n            }\r\n            return null;\r\n        }\r\n    }]);\r\n\r\n    return AAC;\r\n}();\r\n\r\nexports.default = AAC;\r\n\r\n},{}],37:[function(_dereq_,module,exports){\r\n'use strict';\r\n\r\nObject.defineProperty(exports, \"__esModule\", {\r\n    value: true\r\n});\r\n\r\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\r\n\r\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\r\n\r\n/*\r\n * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n *\r\n * This file is derived from dailymotion's hls.js library (hls.js/src/remux/mp4-generator.js)\r\n * @author zheng qian <xqq@xqq.im>\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\n//  MP4 boxes generator for ISO BMFF (ISO Base Media File Format, defined in ISO/IEC 14496-12)\r\nvar MP4 = function () {\r\n    function MP4() {\r\n        _classCallCheck(this, MP4);\r\n    }\r\n\r\n    _createClass(MP4, null, [{\r\n        key: 'init',\r\n        value: function init() {\r\n            MP4.types = {\r\n                avc1: [], avcC: [], btrt: [], dinf: [],\r\n                dref: [], esds: [], ftyp: [], hdlr: [],\r\n                mdat: [], mdhd: [], mdia: [], mfhd: [],\r\n                minf: [], moof: [], moov: [], mp4a: [],\r\n                mvex: [], mvhd: [], sdtp: [], stbl: [],\r\n                stco: [], stsc: [], stsd: [], stsz: [],\r\n                stts: [], tfdt: [], tfhd: [], traf: [],\r\n                trak: [], trun: [], trex: [], tkhd: [],\r\n                vmhd: [], smhd: [], '.mp3': []\r\n            };\r\n\r\n            for (var name in MP4.types) {\r\n                if (MP4.types.hasOwnProperty(name)) {\r\n                    MP4.types[name] = [name.charCodeAt(0), name.charCodeAt(1), name.charCodeAt(2), name.charCodeAt(3)];\r\n                }\r\n            }\r\n\r\n            var constants = MP4.constants = {};\r\n\r\n            constants.FTYP = new Uint8Array([0x69, 0x73, 0x6F, 0x6D, // major_brand: isom\r\n            0x0, 0x0, 0x0, 0x1, // minor_version: 0x01\r\n            0x69, 0x73, 0x6F, 0x6D, // isom\r\n            0x61, 0x76, 0x63, 0x31 // avc1\r\n            ]);\r\n\r\n            constants.STSD_PREFIX = new Uint8Array([0x00, 0x00, 0x00, 0x00, // version(0) + flags\r\n            0x00, 0x00, 0x00, 0x01 // entry_count\r\n            ]);\r\n\r\n            constants.STTS = new Uint8Array([0x00, 0x00, 0x00, 0x00, // version(0) + flags\r\n            0x00, 0x00, 0x00, 0x00 // entry_count\r\n            ]);\r\n\r\n            constants.STSC = constants.STCO = constants.STTS;\r\n\r\n            constants.STSZ = new Uint8Array([0x00, 0x00, 0x00, 0x00, // version(0) + flags\r\n            0x00, 0x00, 0x00, 0x00, // sample_size\r\n            0x00, 0x00, 0x00, 0x00 // sample_count\r\n            ]);\r\n\r\n            constants.HDLR_VIDEO = new Uint8Array([0x00, 0x00, 0x00, 0x00, // version(0) + flags\r\n            0x00, 0x00, 0x00, 0x00, // pre_defined\r\n            0x76, 0x69, 0x64, 0x65, // handler_type: 'vide'\r\n            0x00, 0x00, 0x00, 0x00, // reserved: 3 * 4 bytes\r\n            0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x56, 0x69, 0x64, 0x65, 0x6F, 0x48, 0x61, 0x6E, 0x64, 0x6C, 0x65, 0x72, 0x00 // name: VideoHandler\r\n            ]);\r\n\r\n            constants.HDLR_AUDIO = new Uint8Array([0x00, 0x00, 0x00, 0x00, // version(0) + flags\r\n            0x00, 0x00, 0x00, 0x00, // pre_defined\r\n            0x73, 0x6F, 0x75, 0x6E, // handler_type: 'soun'\r\n            0x00, 0x00, 0x00, 0x00, // reserved: 3 * 4 bytes\r\n            0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x53, 0x6F, 0x75, 0x6E, 0x64, 0x48, 0x61, 0x6E, 0x64, 0x6C, 0x65, 0x72, 0x00 // name: SoundHandler\r\n            ]);\r\n\r\n            constants.DREF = new Uint8Array([0x00, 0x00, 0x00, 0x00, // version(0) + flags\r\n            0x00, 0x00, 0x00, 0x01, // entry_count\r\n            0x00, 0x00, 0x00, 0x0C, // entry_size\r\n            0x75, 0x72, 0x6C, 0x20, // type 'url '\r\n            0x00, 0x00, 0x00, 0x01 // version(0) + flags\r\n            ]);\r\n\r\n            // Sound media header\r\n            constants.SMHD = new Uint8Array([0x00, 0x00, 0x00, 0x00, // version(0) + flags\r\n            0x00, 0x00, 0x00, 0x00 // balance(2) + reserved(2)\r\n            ]);\r\n\r\n            // video media header\r\n            constants.VMHD = new Uint8Array([0x00, 0x00, 0x00, 0x01, // version(0) + flags\r\n            0x00, 0x00, // graphicsmode: 2 bytes\r\n            0x00, 0x00, 0x00, 0x00, // opcolor: 3 * 2 bytes\r\n            0x00, 0x00]);\r\n        }\r\n\r\n        // Generate a box\r\n\r\n    }, {\r\n        key: 'box',\r\n        value: function box(type) {\r\n            var size = 8;\r\n            var result = null;\r\n            var datas = Array.prototype.slice.call(arguments, 1);\r\n            var arrayCount = datas.length;\r\n\r\n            for (var i = 0; i < arrayCount; i++) {\r\n                size += datas[i].byteLength;\r\n            }\r\n\r\n            result = new Uint8Array(size);\r\n            result[0] = size >>> 24 & 0xFF; // size\r\n            result[1] = size >>> 16 & 0xFF;\r\n            result[2] = size >>> 8 & 0xFF;\r\n            result[3] = size & 0xFF;\r\n\r\n            result.set(type, 4); // type\r\n\r\n            var offset = 8;\r\n            for (var _i = 0; _i < arrayCount; _i++) {\r\n                // data body\r\n                result.set(datas[_i], offset);\r\n                offset += datas[_i].byteLength;\r\n            }\r\n\r\n            return result;\r\n        }\r\n\r\n        // emit ftyp & moov\r\n\r\n    }, {\r\n        key: 'generateInitSegment',\r\n        value: function generateInitSegment(meta) {\r\n            var ftyp = MP4.box(MP4.types.ftyp, MP4.constants.FTYP);\r\n            var moov = MP4.moov(meta);\r\n\r\n            var result = new Uint8Array(ftyp.byteLength + moov.byteLength);\r\n            result.set(ftyp, 0);\r\n            result.set(moov, ftyp.byteLength);\r\n            return result;\r\n        }\r\n\r\n        // Movie metadata box\r\n\r\n    }, {\r\n        key: 'moov',\r\n        value: function moov(meta) {\r\n            var mvhd = MP4.mvhd(meta.timescale, meta.duration);\r\n            var trak = MP4.trak(meta);\r\n            var mvex = MP4.mvex(meta);\r\n            return MP4.box(MP4.types.moov, mvhd, trak, mvex);\r\n        }\r\n\r\n        // Movie header box\r\n\r\n    }, {\r\n        key: 'mvhd',\r\n        value: function mvhd(timescale, duration) {\r\n            return MP4.box(MP4.types.mvhd, new Uint8Array([0x00, 0x00, 0x00, 0x00, // version(0) + flags\r\n            0x00, 0x00, 0x00, 0x00, // creation_time\r\n            0x00, 0x00, 0x00, 0x00, // modification_time\r\n            timescale >>> 24 & 0xFF, // timescale: 4 bytes\r\n            timescale >>> 16 & 0xFF, timescale >>> 8 & 0xFF, timescale & 0xFF, duration >>> 24 & 0xFF, // duration: 4 bytes\r\n            duration >>> 16 & 0xFF, duration >>> 8 & 0xFF, duration & 0xFF, 0x00, 0x01, 0x00, 0x00, // Preferred rate: 1.0\r\n            0x01, 0x00, 0x00, 0x00, // PreferredVolume(1.0, 2bytes) + reserved(2bytes)\r\n            0x00, 0x00, 0x00, 0x00, // reserved: 4 + 4 bytes\r\n            0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, // ----begin composition matrix----\r\n            0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, // ----end composition matrix----\r\n            0x00, 0x00, 0x00, 0x00, // ----begin pre_defined 6 * 4 bytes----\r\n            0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // ----end pre_defined 6 * 4 bytes----\r\n            0xFF, 0xFF, 0xFF, 0xFF // next_track_ID\r\n            ]));\r\n        }\r\n\r\n        // Track box\r\n\r\n    }, {\r\n        key: 'trak',\r\n        value: function trak(meta) {\r\n            return MP4.box(MP4.types.trak, MP4.tkhd(meta), MP4.mdia(meta));\r\n        }\r\n\r\n        // Track header box\r\n\r\n    }, {\r\n        key: 'tkhd',\r\n        value: function tkhd(meta) {\r\n            var trackId = meta.id,\r\n                duration = meta.duration;\r\n            var width = meta.presentWidth,\r\n                height = meta.presentHeight;\r\n\r\n            return MP4.box(MP4.types.tkhd, new Uint8Array([0x00, 0x00, 0x00, 0x07, // version(0) + flags\r\n            0x00, 0x00, 0x00, 0x00, // creation_time\r\n            0x00, 0x00, 0x00, 0x00, // modification_time\r\n            trackId >>> 24 & 0xFF, // track_ID: 4 bytes\r\n            trackId >>> 16 & 0xFF, trackId >>> 8 & 0xFF, trackId & 0xFF, 0x00, 0x00, 0x00, 0x00, // reserved: 4 bytes\r\n            duration >>> 24 & 0xFF, // duration: 4 bytes\r\n            duration >>> 16 & 0xFF, duration >>> 8 & 0xFF, duration & 0xFF, 0x00, 0x00, 0x00, 0x00, // reserved: 2 * 4 bytes\r\n            0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // layer(2bytes) + alternate_group(2bytes)\r\n            0x00, 0x00, 0x00, 0x00, // volume(2bytes) + reserved(2bytes)\r\n            0x00, 0x01, 0x00, 0x00, // ----begin composition matrix----\r\n            0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, // ----end composition matrix----\r\n            width >>> 8 & 0xFF, // width and height\r\n            width & 0xFF, 0x00, 0x00, height >>> 8 & 0xFF, height & 0xFF, 0x00, 0x00]));\r\n        }\r\n\r\n        // Media Box\r\n\r\n    }, {\r\n        key: 'mdia',\r\n        value: function mdia(meta) {\r\n            return MP4.box(MP4.types.mdia, MP4.mdhd(meta), MP4.hdlr(meta), MP4.minf(meta));\r\n        }\r\n\r\n        // Media header box\r\n\r\n    }, {\r\n        key: 'mdhd',\r\n        value: function mdhd(meta) {\r\n            var timescale = meta.timescale;\r\n            var duration = meta.duration;\r\n            return MP4.box(MP4.types.mdhd, new Uint8Array([0x00, 0x00, 0x00, 0x00, // version(0) + flags\r\n            0x00, 0x00, 0x00, 0x00, // creation_time\r\n            0x00, 0x00, 0x00, 0x00, // modification_time\r\n            timescale >>> 24 & 0xFF, // timescale: 4 bytes\r\n            timescale >>> 16 & 0xFF, timescale >>> 8 & 0xFF, timescale & 0xFF, duration >>> 24 & 0xFF, // duration: 4 bytes\r\n            duration >>> 16 & 0xFF, duration >>> 8 & 0xFF, duration & 0xFF, 0x55, 0xC4, // language: und (undetermined)\r\n            0x00, 0x00 // pre_defined = 0\r\n            ]));\r\n        }\r\n\r\n        // Media handler reference box\r\n\r\n    }, {\r\n        key: 'hdlr',\r\n        value: function hdlr(meta) {\r\n            var data = null;\r\n            if (meta.type === 'audio') {\r\n                data = MP4.constants.HDLR_AUDIO;\r\n            } else {\r\n                data = MP4.constants.HDLR_VIDEO;\r\n            }\r\n            return MP4.box(MP4.types.hdlr, data);\r\n        }\r\n\r\n        // Media infomation box\r\n\r\n    }, {\r\n        key: 'minf',\r\n        value: function minf(meta) {\r\n            var xmhd = null;\r\n            if (meta.type === 'audio') {\r\n                xmhd = MP4.box(MP4.types.smhd, MP4.constants.SMHD);\r\n            } else {\r\n                xmhd = MP4.box(MP4.types.vmhd, MP4.constants.VMHD);\r\n            }\r\n            return MP4.box(MP4.types.minf, xmhd, MP4.dinf(), MP4.stbl(meta));\r\n        }\r\n\r\n        // Data infomation box\r\n\r\n    }, {\r\n        key: 'dinf',\r\n        value: function dinf() {\r\n            var result = MP4.box(MP4.types.dinf, MP4.box(MP4.types.dref, MP4.constants.DREF));\r\n            return result;\r\n        }\r\n\r\n        // Sample table box\r\n\r\n    }, {\r\n        key: 'stbl',\r\n        value: function stbl(meta) {\r\n            var result = MP4.box(MP4.types.stbl, // type: stbl\r\n            MP4.stsd(meta), // Sample Description Table\r\n            MP4.box(MP4.types.stts, MP4.constants.STTS), // Time-To-Sample\r\n            MP4.box(MP4.types.stsc, MP4.constants.STSC), // Sample-To-Chunk\r\n            MP4.box(MP4.types.stsz, MP4.constants.STSZ), // Sample size\r\n            MP4.box(MP4.types.stco, MP4.constants.STCO // Chunk offset\r\n            ));\r\n            return result;\r\n        }\r\n\r\n        // Sample description box\r\n\r\n    }, {\r\n        key: 'stsd',\r\n        value: function stsd(meta) {\r\n            if (meta.type === 'audio') {\r\n                if (meta.codec === 'mp3') {\r\n                    return MP4.box(MP4.types.stsd, MP4.constants.STSD_PREFIX, MP4.mp3(meta));\r\n                }\r\n                // else: aac -> mp4a\r\n                return MP4.box(MP4.types.stsd, MP4.constants.STSD_PREFIX, MP4.mp4a(meta));\r\n            } else {\r\n                return MP4.box(MP4.types.stsd, MP4.constants.STSD_PREFIX, MP4.avc1(meta));\r\n            }\r\n        }\r\n    }, {\r\n        key: 'mp3',\r\n        value: function mp3(meta) {\r\n            var channelCount = meta.channelCount;\r\n            var sampleRate = meta.audioSampleRate;\r\n\r\n            var data = new Uint8Array([0x00, 0x00, 0x00, 0x00, // reserved(4)\r\n            0x00, 0x00, 0x00, 0x01, // reserved(2) + data_reference_index(2)\r\n            0x00, 0x00, 0x00, 0x00, // reserved: 2 * 4 bytes\r\n            0x00, 0x00, 0x00, 0x00, 0x00, channelCount, // channelCount(2)\r\n            0x00, 0x10, // sampleSize(2)\r\n            0x00, 0x00, 0x00, 0x00, // reserved(4)\r\n            sampleRate >>> 8 & 0xFF, // Audio sample rate\r\n            sampleRate & 0xFF, 0x00, 0x00]);\r\n\r\n            return MP4.box(MP4.types['.mp3'], data);\r\n        }\r\n    }, {\r\n        key: 'mp4a',\r\n        value: function mp4a(meta) {\r\n            var channelCount = meta.channelCount;\r\n            var sampleRate = meta.audioSampleRate;\r\n\r\n            var data = new Uint8Array([0x00, 0x00, 0x00, 0x00, // reserved(4)\r\n            0x00, 0x00, 0x00, 0x01, // reserved(2) + data_reference_index(2)\r\n            0x00, 0x00, 0x00, 0x00, // reserved: 2 * 4 bytes\r\n            0x00, 0x00, 0x00, 0x00, 0x00, channelCount, // channelCount(2)\r\n            0x00, 0x10, // sampleSize(2)\r\n            0x00, 0x00, 0x00, 0x00, // reserved(4)\r\n            sampleRate >>> 8 & 0xFF, // Audio sample rate\r\n            sampleRate & 0xFF, 0x00, 0x00]);\r\n\r\n            return MP4.box(MP4.types.mp4a, data, MP4.esds(meta));\r\n        }\r\n    }, {\r\n        key: 'esds',\r\n        value: function esds(meta) {\r\n            var config = meta.config || [];\r\n            var configSize = config.length;\r\n            var data = new Uint8Array([0x00, 0x00, 0x00, 0x00, // version 0 + flags\r\n\r\n            0x03, // descriptor_type\r\n            0x17 + configSize, // length3\r\n            0x00, 0x01, // es_id\r\n            0x00, // stream_priority\r\n\r\n            0x04, // descriptor_type\r\n            0x0F + configSize, // length\r\n            0x40, // codec: mpeg4_audio\r\n            0x15, // stream_type: Audio\r\n            0x00, 0x00, 0x00, // buffer_size\r\n            0x00, 0x00, 0x00, 0x00, // maxBitrate\r\n            0x00, 0x00, 0x00, 0x00, // avgBitrate\r\n\r\n            0x05 // descriptor_type\r\n            ].concat([configSize]).concat(config).concat([0x06, 0x01, 0x02 // GASpecificConfig\r\n            ]));\r\n            return MP4.box(MP4.types.esds, data);\r\n        }\r\n    }, {\r\n        key: 'avc1',\r\n        value: function avc1(meta) {\r\n            var avcc = meta.avcc;\r\n            var width = meta.codecWidth,\r\n                height = meta.codecHeight;\r\n\r\n            var data = new Uint8Array([0x00, 0x00, 0x00, 0x00, // reserved(4)\r\n            0x00, 0x00, 0x00, 0x01, // reserved(2) + data_reference_index(2)\r\n            0x00, 0x00, 0x00, 0x00, // pre_defined(2) + reserved(2)\r\n            0x00, 0x00, 0x00, 0x00, // pre_defined: 3 * 4 bytes\r\n            0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, width >>> 8 & 0xFF, // width: 2 bytes\r\n            width & 0xFF, height >>> 8 & 0xFF, // height: 2 bytes\r\n            height & 0xFF, 0x00, 0x48, 0x00, 0x00, // horizresolution: 4 bytes\r\n            0x00, 0x48, 0x00, 0x00, // vertresolution: 4 bytes\r\n            0x00, 0x00, 0x00, 0x00, // reserved: 4 bytes\r\n            0x00, 0x01, // frame_count\r\n            0x0A, // strlen\r\n            0x78, 0x71, 0x71, 0x2F, // compressorname: 32 bytes\r\n            0x66, 0x6C, 0x76, 0x2E, 0x6A, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, // depth\r\n            0xFF, 0xFF // pre_defined = -1\r\n            ]);\r\n            return MP4.box(MP4.types.avc1, data, MP4.box(MP4.types.avcC, avcc));\r\n        }\r\n\r\n        // Movie Extends box\r\n\r\n    }, {\r\n        key: 'mvex',\r\n        value: function mvex(meta) {\r\n            return MP4.box(MP4.types.mvex, MP4.trex(meta));\r\n        }\r\n\r\n        // Track Extends box\r\n\r\n    }, {\r\n        key: 'trex',\r\n        value: function trex(meta) {\r\n            var trackId = meta.id;\r\n            var data = new Uint8Array([0x00, 0x00, 0x00, 0x00, // version(0) + flags\r\n            trackId >>> 24 & 0xFF, // track_ID\r\n            trackId >>> 16 & 0xFF, trackId >>> 8 & 0xFF, trackId & 0xFF, 0x00, 0x00, 0x00, 0x01, // default_sample_description_index\r\n            0x00, 0x00, 0x00, 0x00, // default_sample_duration\r\n            0x00, 0x00, 0x00, 0x00, // default_sample_size\r\n            0x00, 0x01, 0x00, 0x01 // default_sample_flags\r\n            ]);\r\n            return MP4.box(MP4.types.trex, data);\r\n        }\r\n\r\n        // Movie fragment box\r\n\r\n    }, {\r\n        key: 'moof',\r\n        value: function moof(track, baseMediaDecodeTime) {\r\n            return MP4.box(MP4.types.moof, MP4.mfhd(track.sequenceNumber), MP4.traf(track, baseMediaDecodeTime));\r\n        }\r\n    }, {\r\n        key: 'mfhd',\r\n        value: function mfhd(sequenceNumber) {\r\n            var data = new Uint8Array([0x00, 0x00, 0x00, 0x00, sequenceNumber >>> 24 & 0xFF, // sequence_number: int32\r\n            sequenceNumber >>> 16 & 0xFF, sequenceNumber >>> 8 & 0xFF, sequenceNumber & 0xFF]);\r\n            return MP4.box(MP4.types.mfhd, data);\r\n        }\r\n\r\n        // Track fragment box\r\n\r\n    }, {\r\n        key: 'traf',\r\n        value: function traf(track, baseMediaDecodeTime) {\r\n            var trackId = track.id;\r\n\r\n            // Track fragment header box\r\n            var tfhd = MP4.box(MP4.types.tfhd, new Uint8Array([0x00, 0x00, 0x00, 0x00, // version(0) & flags\r\n            trackId >>> 24 & 0xFF, // track_ID\r\n            trackId >>> 16 & 0xFF, trackId >>> 8 & 0xFF, trackId & 0xFF]));\r\n            // Track Fragment Decode Time\r\n            var tfdt = MP4.box(MP4.types.tfdt, new Uint8Array([0x00, 0x00, 0x00, 0x00, // version(0) & flags\r\n            baseMediaDecodeTime >>> 24 & 0xFF, // baseMediaDecodeTime: int32\r\n            baseMediaDecodeTime >>> 16 & 0xFF, baseMediaDecodeTime >>> 8 & 0xFF, baseMediaDecodeTime & 0xFF]));\r\n            var sdtp = MP4.sdtp(track);\r\n            var trun = MP4.trun(track, sdtp.byteLength + 16 + 16 + 8 + 16 + 8 + 8);\r\n\r\n            return MP4.box(MP4.types.traf, tfhd, tfdt, trun, sdtp);\r\n        }\r\n\r\n        // Sample Dependency Type box\r\n\r\n    }, {\r\n        key: 'sdtp',\r\n        value: function sdtp(track) {\r\n            var samples = track.samples || [];\r\n            var sampleCount = samples.length;\r\n            var data = new Uint8Array(4 + sampleCount);\r\n            // 0~4 bytes: version(0) & flags\r\n            for (var i = 0; i < sampleCount; i++) {\r\n                var flags = samples[i].flags;\r\n                data[i + 4] = flags.isLeading << 6 | // is_leading: 2 (bit)\r\n                flags.dependsOn << 4 // sample_depends_on\r\n                | flags.isDependedOn << 2 // sample_is_depended_on\r\n                | flags.hasRedundancy; // sample_has_redundancy\r\n            }\r\n            return MP4.box(MP4.types.sdtp, data);\r\n        }\r\n\r\n        // Track fragment run box\r\n\r\n    }, {\r\n        key: 'trun',\r\n        value: function trun(track, offset) {\r\n            var samples = track.samples || [];\r\n            var sampleCount = samples.length;\r\n            var dataSize = 12 + 16 * sampleCount;\r\n            var data = new Uint8Array(dataSize);\r\n            offset += 8 + dataSize;\r\n\r\n            data.set([0x00, 0x00, 0x0F, 0x01, // version(0) & flags\r\n            sampleCount >>> 24 & 0xFF, // sample_count\r\n            sampleCount >>> 16 & 0xFF, sampleCount >>> 8 & 0xFF, sampleCount & 0xFF, offset >>> 24 & 0xFF, // data_offset\r\n            offset >>> 16 & 0xFF, offset >>> 8 & 0xFF, offset & 0xFF], 0);\r\n\r\n            for (var i = 0; i < sampleCount; i++) {\r\n                var duration = samples[i].duration;\r\n                var size = samples[i].size;\r\n                var flags = samples[i].flags;\r\n                var cts = samples[i].cts;\r\n                data.set([duration >>> 24 & 0xFF, // sample_duration\r\n                duration >>> 16 & 0xFF, duration >>> 8 & 0xFF, duration & 0xFF, size >>> 24 & 0xFF, // sample_size\r\n                size >>> 16 & 0xFF, size >>> 8 & 0xFF, size & 0xFF, flags.isLeading << 2 | flags.dependsOn, // sample_flags\r\n                flags.isDependedOn << 6 | flags.hasRedundancy << 4 | flags.isNonSync, 0x00, 0x00, // sample_degradation_priority\r\n                cts >>> 24 & 0xFF, // sample_composition_time_offset\r\n                cts >>> 16 & 0xFF, cts >>> 8 & 0xFF, cts & 0xFF], 12 + 16 * i);\r\n            }\r\n            return MP4.box(MP4.types.trun, data);\r\n        }\r\n    }, {\r\n        key: 'mdat',\r\n        value: function mdat(data) {\r\n            return MP4.box(MP4.types.mdat, data);\r\n        }\r\n    }]);\r\n\r\n    return MP4;\r\n}();\r\n\r\nMP4.init();\r\n\r\nexports.default = MP4;\r\n\r\n},{}],38:[function(_dereq_,module,exports){\r\n'use strict';\r\n\r\nObject.defineProperty(exports, \"__esModule\", {\r\n    value: true\r\n});\r\n\r\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /*\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * @author zheng qian <xqq@xqq.im>\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * you may not use this file except in compliance with the License.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * You may obtain a copy of the License at\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *     http://www.apache.org/licenses/LICENSE-2.0\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * Unless required by applicable law or agreed to in writing, software\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * See the License for the specific language governing permissions and\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * limitations under the License.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      */\r\n\r\nvar _logger = _dereq_('../utils/logger.js');\r\n\r\nvar _logger2 = _interopRequireDefault(_logger);\r\n\r\nvar _mp4Generator = _dereq_('./mp4-generator.js');\r\n\r\nvar _mp4Generator2 = _interopRequireDefault(_mp4Generator);\r\n\r\nvar _aacSilent = _dereq_('./aac-silent.js');\r\n\r\nvar _aacSilent2 = _interopRequireDefault(_aacSilent);\r\n\r\nvar _browser = _dereq_('../utils/browser.js');\r\n\r\nvar _browser2 = _interopRequireDefault(_browser);\r\n\r\nvar _mediaSegmentInfo = _dereq_('../core/media-segment-info.js');\r\n\r\nvar _exception = _dereq_('../utils/exception.js');\r\n\r\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\r\n\r\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\r\n\r\n// Fragmented mp4 remuxer\r\nvar MP4Remuxer = function () {\r\n    function MP4Remuxer(config) {\r\n        _classCallCheck(this, MP4Remuxer);\r\n\r\n        this.TAG = 'MP4Remuxer';\r\n\r\n        this._config = config;\r\n        this._isLive = config.isLive === true ? true : false;\r\n\r\n        this._dtsBase = -1;\r\n        this._dtsBaseInited = false;\r\n        this._audioDtsBase = Infinity;\r\n        this._videoDtsBase = Infinity;\r\n        this._audioNextDts = undefined;\r\n        this._videoNextDts = undefined;\r\n        this._audioStashedLastSample = null;\r\n        this._videoStashedLastSample = null;\r\n\r\n        this._audioMeta = null;\r\n        this._videoMeta = null;\r\n\r\n        this._audioSegmentInfoList = new _mediaSegmentInfo.MediaSegmentInfoList('audio');\r\n        this._videoSegmentInfoList = new _mediaSegmentInfo.MediaSegmentInfoList('video');\r\n\r\n        this._onInitSegment = null;\r\n        this._onMediaSegment = null;\r\n\r\n        // Workaround for chrome < 50: Always force first sample as a Random Access Point in media segment\r\n        // see https://bugs.chromium.org/p/chromium/issues/detail?id=229412\r\n        this._forceFirstIDR = _browser2.default.chrome && (_browser2.default.version.major < 50 || _browser2.default.version.major === 50 && _browser2.default.version.build < 2661) ? true : false;\r\n\r\n        // Workaround for IE11/Edge: Fill silent aac frame after keyframe-seeking\r\n        // Make audio beginDts equals with video beginDts, in order to fix seek freeze\r\n        this._fillSilentAfterSeek = _browser2.default.msedge || _browser2.default.msie;\r\n\r\n        // While only FireFox supports 'audio/mp4, codecs=\"mp3\"', use 'audio/mpeg' for chrome, safari, ...\r\n        this._mp3UseMpegAudio = !_browser2.default.firefox;\r\n\r\n        this._fillAudioTimestampGap = this._config.fixAudioTimestampGap;\r\n    }\r\n\r\n    _createClass(MP4Remuxer, [{\r\n        key: 'destroy',\r\n        value: function destroy() {\r\n            this._dtsBase = -1;\r\n            this._dtsBaseInited = false;\r\n            this._audioMeta = null;\r\n            this._videoMeta = null;\r\n            this._audioSegmentInfoList.clear();\r\n            this._audioSegmentInfoList = null;\r\n            this._videoSegmentInfoList.clear();\r\n            this._videoSegmentInfoList = null;\r\n            this._onInitSegment = null;\r\n            this._onMediaSegment = null;\r\n        }\r\n    }, {\r\n        key: 'bindDataSource',\r\n        value: function bindDataSource(producer) {\r\n            producer.onDataAvailable = this.remux.bind(this);\r\n            producer.onTrackMetadata = this._onTrackMetadataReceived.bind(this);\r\n            return this;\r\n        }\r\n\r\n        /* prototype: function onInitSegment(type: string, initSegment: ArrayBuffer): void\r\n           InitSegment: {\r\n               type: string,\r\n               data: ArrayBuffer,\r\n               codec: string,\r\n               container: string\r\n           }\r\n        */\r\n\r\n    }, {\r\n        key: 'insertDiscontinuity',\r\n        value: function insertDiscontinuity() {\r\n            this._audioNextDts = this._videoNextDts = undefined;\r\n        }\r\n    }, {\r\n        key: 'seek',\r\n        value: function seek(originalDts) {\r\n            this._audioStashedLastSample = null;\r\n            this._videoStashedLastSample = null;\r\n            this._videoSegmentInfoList.clear();\r\n            this._audioSegmentInfoList.clear();\r\n        }\r\n    }, {\r\n        key: 'remux',\r\n        value: function remux(audioTrack, videoTrack) {\r\n            if (!this._onMediaSegment) {\r\n                throw new _exception.IllegalStateException('MP4Remuxer: onMediaSegment callback must be specificed!');\r\n            }\r\n            if (!this._dtsBaseInited) {\r\n                this._calculateDtsBase(audioTrack, videoTrack);\r\n            }\r\n            this._remuxVideo(videoTrack);\r\n            this._remuxAudio(audioTrack);\r\n        }\r\n    }, {\r\n        key: '_onTrackMetadataReceived',\r\n        value: function _onTrackMetadataReceived(type, metadata) {\r\n            var metabox = null;\r\n\r\n            var container = 'mp4';\r\n            var codec = metadata.codec;\r\n\r\n            if (type === 'audio') {\r\n                this._audioMeta = metadata;\r\n                if (metadata.codec === 'mp3' && this._mp3UseMpegAudio) {\r\n                    // 'audio/mpeg' for MP3 audio track\r\n                    container = 'mpeg';\r\n                    codec = '';\r\n                    metabox = new Uint8Array();\r\n                } else {\r\n                    // 'audio/mp4, codecs=\"codec\"'\r\n                    metabox = _mp4Generator2.default.generateInitSegment(metadata);\r\n                }\r\n            } else if (type === 'video') {\r\n                this._videoMeta = metadata;\r\n                metabox = _mp4Generator2.default.generateInitSegment(metadata);\r\n            } else {\r\n                return;\r\n            }\r\n\r\n            // dispatch metabox (Initialization Segment)\r\n            if (!this._onInitSegment) {\r\n                throw new _exception.IllegalStateException('MP4Remuxer: onInitSegment callback must be specified!');\r\n            }\r\n            this._onInitSegment(type, {\r\n                type: type,\r\n                data: metabox.buffer,\r\n                codec: codec,\r\n                container: type + '/' + container,\r\n                mediaDuration: metadata.duration // in timescale 1000 (milliseconds)\r\n            });\r\n        }\r\n    }, {\r\n        key: '_calculateDtsBase',\r\n        value: function _calculateDtsBase(audioTrack, videoTrack) {\r\n            if (this._dtsBaseInited) {\r\n                return;\r\n            }\r\n\r\n            if (audioTrack.samples && audioTrack.samples.length) {\r\n                this._audioDtsBase = audioTrack.samples[0].dts;\r\n            }\r\n            if (videoTrack.samples && videoTrack.samples.length) {\r\n                this._videoDtsBase = videoTrack.samples[0].dts;\r\n            }\r\n\r\n            this._dtsBase = Math.min(this._audioDtsBase, this._videoDtsBase);\r\n            this._dtsBaseInited = true;\r\n        }\r\n    }, {\r\n        key: 'flushStashedSamples',\r\n        value: function flushStashedSamples() {\r\n            var videoSample = this._videoStashedLastSample;\r\n            var audioSample = this._audioStashedLastSample;\r\n\r\n            var videoTrack = {\r\n                type: 'video',\r\n                id: 1,\r\n                sequenceNumber: 0,\r\n                samples: [],\r\n                length: 0\r\n            };\r\n\r\n            if (videoSample != null) {\r\n                videoTrack.samples.push(videoSample);\r\n                videoTrack.length = videoSample.length;\r\n            }\r\n\r\n            var audioTrack = {\r\n                type: 'audio',\r\n                id: 2,\r\n                sequenceNumber: 0,\r\n                samples: [],\r\n                length: 0\r\n            };\r\n\r\n            if (audioSample != null) {\r\n                audioTrack.samples.push(audioSample);\r\n                audioTrack.length = audioSample.length;\r\n            }\r\n\r\n            this._videoStashedLastSample = null;\r\n            this._audioStashedLastSample = null;\r\n\r\n            this._remuxVideo(videoTrack, true);\r\n            this._remuxAudio(audioTrack, true);\r\n        }\r\n    }, {\r\n        key: '_remuxAudio',\r\n        value: function _remuxAudio(audioTrack, force) {\r\n            if (this._audioMeta == null) {\r\n                return;\r\n            }\r\n\r\n            var track = audioTrack;\r\n            var samples = track.samples;\r\n            var dtsCorrection = undefined;\r\n            var firstDts = -1,\r\n                lastDts = -1,\r\n                lastPts = -1;\r\n            var refSampleDuration = this._audioMeta.refSampleDuration;\r\n\r\n            var mpegRawTrack = this._audioMeta.codec === 'mp3' && this._mp3UseMpegAudio;\r\n            var firstSegmentAfterSeek = this._dtsBaseInited && this._audioNextDts === undefined;\r\n\r\n            var insertPrefixSilentFrame = false;\r\n\r\n            if (!samples || samples.length === 0) {\r\n                return;\r\n            }\r\n            if (samples.length === 1 && !force) {\r\n                // If [sample count in current batch] === 1 && (force != true)\r\n                // Ignore and keep in demuxer's queue\r\n                return;\r\n            } // else if (force === true) do remux\r\n\r\n            var offset = 0;\r\n            var mdatbox = null;\r\n            var mdatBytes = 0;\r\n\r\n            // calculate initial mdat size\r\n            if (mpegRawTrack) {\r\n                // for raw mpeg buffer\r\n                offset = 0;\r\n                mdatBytes = track.length;\r\n            } else {\r\n                // for fmp4 mdat box\r\n                offset = 8; // size + type\r\n                mdatBytes = 8 + track.length;\r\n            }\r\n\r\n            var lastSample = null;\r\n\r\n            // Pop the lastSample and waiting for stash\r\n            if (samples.length > 1) {\r\n                lastSample = samples.pop();\r\n                mdatBytes -= lastSample.length;\r\n            }\r\n\r\n            // Insert [stashed lastSample in the previous batch] to the front\r\n            if (this._audioStashedLastSample != null) {\r\n                var sample = this._audioStashedLastSample;\r\n                this._audioStashedLastSample = null;\r\n                samples.unshift(sample);\r\n                mdatBytes += sample.length;\r\n            }\r\n\r\n            // Stash the lastSample of current batch, waiting for next batch\r\n            if (lastSample != null) {\r\n                this._audioStashedLastSample = lastSample;\r\n            }\r\n\r\n            var firstSampleOriginalDts = samples[0].dts - this._dtsBase;\r\n\r\n            // calculate dtsCorrection\r\n            if (this._audioNextDts) {\r\n                dtsCorrection = firstSampleOriginalDts - this._audioNextDts;\r\n            } else {\r\n                // this._audioNextDts == undefined\r\n                if (this._audioSegmentInfoList.isEmpty()) {\r\n                    dtsCorrection = 0;\r\n                    if (this._fillSilentAfterSeek && !this._videoSegmentInfoList.isEmpty()) {\r\n                        if (this._audioMeta.originalCodec !== 'mp3') {\r\n                            insertPrefixSilentFrame = true;\r\n                        }\r\n                    }\r\n                } else {\r\n                    var _lastSample = this._audioSegmentInfoList.getLastSampleBefore(firstSampleOriginalDts);\r\n                    if (_lastSample != null) {\r\n                        var distance = firstSampleOriginalDts - (_lastSample.originalDts + _lastSample.duration);\r\n                        if (distance <= 3) {\r\n                            distance = 0;\r\n                        }\r\n                        var expectedDts = _lastSample.dts + _lastSample.duration + distance;\r\n                        dtsCorrection = firstSampleOriginalDts - expectedDts;\r\n                    } else {\r\n                        // lastSample == null, cannot found\r\n                        dtsCorrection = 0;\r\n                    }\r\n                }\r\n            }\r\n\r\n            if (insertPrefixSilentFrame) {\r\n                // align audio segment beginDts to match with current video segment's beginDts\r\n                var firstSampleDts = firstSampleOriginalDts - dtsCorrection;\r\n                var videoSegment = this._videoSegmentInfoList.getLastSegmentBefore(firstSampleOriginalDts);\r\n                if (videoSegment != null && videoSegment.beginDts < firstSampleDts) {\r\n                    var silentUnit = _aacSilent2.default.getSilentFrame(this._audioMeta.originalCodec, this._audioMeta.channelCount);\r\n                    if (silentUnit) {\r\n                        var dts = videoSegment.beginDts;\r\n                        var silentFrameDuration = firstSampleDts - videoSegment.beginDts;\r\n                        _logger2.default.v(this.TAG, 'InsertPrefixSilentAudio: dts: ' + dts + ', duration: ' + silentFrameDuration);\r\n                        samples.unshift({ unit: silentUnit, dts: dts, pts: dts });\r\n                        mdatBytes += silentUnit.byteLength;\r\n                    } // silentUnit == null: Cannot generate, skip\r\n                } else {\r\n                    insertPrefixSilentFrame = false;\r\n                }\r\n            }\r\n\r\n            var mp4Samples = [];\r\n\r\n            // Correct dts for each sample, and calculate sample duration. Then output to mp4Samples\r\n            for (var i = 0; i < samples.length; i++) {\r\n                var _sample = samples[i];\r\n                var unit = _sample.unit;\r\n                var originalDts = _sample.dts - this._dtsBase;\r\n                var _dts = originalDts - dtsCorrection;\r\n\r\n                if (firstDts === -1) {\r\n                    firstDts = _dts;\r\n                }\r\n\r\n                var sampleDuration = 0;\r\n\r\n                if (i !== samples.length - 1) {\r\n                    var nextDts = samples[i + 1].dts - this._dtsBase - dtsCorrection;\r\n                    sampleDuration = nextDts - _dts;\r\n                } else {\r\n                    // the last sample\r\n                    if (lastSample != null) {\r\n                        // use stashed sample's dts to calculate sample duration\r\n                        var _nextDts = lastSample.dts - this._dtsBase - dtsCorrection;\r\n                        sampleDuration = _nextDts - _dts;\r\n                    } else if (mp4Samples.length >= 1) {\r\n                        // use second last sample duration\r\n                        sampleDuration = mp4Samples[mp4Samples.length - 1].duration;\r\n                    } else {\r\n                        // the only one sample, use reference sample duration\r\n                        sampleDuration = Math.floor(refSampleDuration);\r\n                    }\r\n                }\r\n\r\n                var needFillSilentFrames = false;\r\n                var silentFrames = null;\r\n\r\n                // Silent frame generation, if large timestamp gap detected && config.fixAudioTimestampGap\r\n                if (sampleDuration > refSampleDuration * 1.5 && this._audioMeta.codec !== 'mp3' && this._fillAudioTimestampGap && !_browser2.default.safari) {\r\n                    // We need to insert silent frames to fill timestamp gap\r\n                    needFillSilentFrames = true;\r\n                    var delta = Math.abs(sampleDuration - refSampleDuration);\r\n                    var frameCount = Math.ceil(delta / refSampleDuration);\r\n                    var currentDts = _dts + refSampleDuration; // Notice: in float\r\n\r\n                    _logger2.default.w(this.TAG, 'Large audio timestamp gap detected, may cause AV sync to drift. ' + 'Silent frames will be generated to avoid unsync.\\n' + ('dts: ' + (_dts + sampleDuration) + ' ms, expected: ' + (_dts + Math.round(refSampleDuration)) + ' ms, ') + ('delta: ' + Math.round(delta) + ' ms, generate: ' + frameCount + ' frames'));\r\n\r\n                    var _silentUnit = _aacSilent2.default.getSilentFrame(this._audioMeta.originalCodec, this._audioMeta.channelCount);\r\n                    if (_silentUnit == null) {\r\n                        _logger2.default.w(this.TAG, 'Unable to generate silent frame for ' + (this._audioMeta.originalCodec + ' with ' + this._audioMeta.channelCount + ' channels, repeat last frame'));\r\n                        // Repeat last frame\r\n                        _silentUnit = unit;\r\n                    }\r\n                    silentFrames = [];\r\n\r\n                    for (var j = 0; j < frameCount; j++) {\r\n                        var intDts = Math.round(currentDts); // round to integer\r\n                        if (silentFrames.length > 0) {\r\n                            // Set previous frame sample duration\r\n                            var previousFrame = silentFrames[silentFrames.length - 1];\r\n                            previousFrame.duration = intDts - previousFrame.dts;\r\n                        }\r\n                        var frame = {\r\n                            dts: intDts,\r\n                            pts: intDts,\r\n                            cts: 0,\r\n                            unit: _silentUnit,\r\n                            size: _silentUnit.byteLength,\r\n                            duration: 0, // wait for next sample\r\n                            originalDts: originalDts,\r\n                            flags: {\r\n                                isLeading: 0,\r\n                                dependsOn: 1,\r\n                                isDependedOn: 0,\r\n                                hasRedundancy: 0\r\n                            }\r\n                        };\r\n                        silentFrames.push(frame);\r\n                        mdatBytes += frame.size;\r\n                        currentDts += refSampleDuration;\r\n                    }\r\n\r\n                    // last frame: align end time to next frame dts\r\n                    var lastFrame = silentFrames[silentFrames.length - 1];\r\n                    lastFrame.duration = _dts + sampleDuration - lastFrame.dts;\r\n\r\n                    // silentFrames.forEach((frame) => {\r\n                    //     Log.w(this.TAG, `SilentAudio: dts: ${frame.dts}, duration: ${frame.duration}`);\r\n                    // });\r\n\r\n                    // Set correct sample duration for current frame\r\n                    sampleDuration = Math.round(refSampleDuration);\r\n                }\r\n\r\n                mp4Samples.push({\r\n                    dts: _dts,\r\n                    pts: _dts,\r\n                    cts: 0,\r\n                    unit: _sample.unit,\r\n                    size: _sample.unit.byteLength,\r\n                    duration: sampleDuration,\r\n                    originalDts: originalDts,\r\n                    flags: {\r\n                        isLeading: 0,\r\n                        dependsOn: 1,\r\n                        isDependedOn: 0,\r\n                        hasRedundancy: 0\r\n                    }\r\n                });\r\n\r\n                if (needFillSilentFrames) {\r\n                    // Silent frames should be inserted after wrong-duration frame\r\n                    mp4Samples.push.apply(mp4Samples, silentFrames);\r\n                }\r\n            }\r\n\r\n            // allocate mdatbox\r\n            if (mpegRawTrack) {\r\n                // allocate for raw mpeg buffer\r\n                mdatbox = new Uint8Array(mdatBytes);\r\n            } else {\r\n                // allocate for fmp4 mdat box\r\n                mdatbox = new Uint8Array(mdatBytes);\r\n                // size field\r\n                mdatbox[0] = mdatBytes >>> 24 & 0xFF;\r\n                mdatbox[1] = mdatBytes >>> 16 & 0xFF;\r\n                mdatbox[2] = mdatBytes >>> 8 & 0xFF;\r\n                mdatbox[3] = mdatBytes & 0xFF;\r\n                // type field (fourCC)\r\n                mdatbox.set(_mp4Generator2.default.types.mdat, 4);\r\n            }\r\n\r\n            // Write samples into mdatbox\r\n            for (var _i = 0; _i < mp4Samples.length; _i++) {\r\n                var _unit = mp4Samples[_i].unit;\r\n                mdatbox.set(_unit, offset);\r\n                offset += _unit.byteLength;\r\n            }\r\n\r\n            var latest = mp4Samples[mp4Samples.length - 1];\r\n            lastDts = latest.dts + latest.duration;\r\n            this._audioNextDts = lastDts;\r\n\r\n            // fill media segment info & add to info list\r\n            var info = new _mediaSegmentInfo.MediaSegmentInfo();\r\n            info.beginDts = firstDts;\r\n            info.endDts = lastDts;\r\n            info.beginPts = firstDts;\r\n            info.endPts = lastDts;\r\n            info.originalBeginDts = mp4Samples[0].originalDts;\r\n            info.originalEndDts = latest.originalDts + latest.duration;\r\n            info.firstSample = new _mediaSegmentInfo.SampleInfo(mp4Samples[0].dts, mp4Samples[0].pts, mp4Samples[0].duration, mp4Samples[0].originalDts, false);\r\n            info.lastSample = new _mediaSegmentInfo.SampleInfo(latest.dts, latest.pts, latest.duration, latest.originalDts, false);\r\n            if (!this._isLive) {\r\n                this._audioSegmentInfoList.append(info);\r\n            }\r\n\r\n            track.samples = mp4Samples;\r\n            track.sequenceNumber++;\r\n\r\n            var moofbox = null;\r\n\r\n            if (mpegRawTrack) {\r\n                // Generate empty buffer, because useless for raw mpeg\r\n                moofbox = new Uint8Array();\r\n            } else {\r\n                // Generate moof for fmp4 segment\r\n                moofbox = _mp4Generator2.default.moof(track, firstDts);\r\n            }\r\n\r\n            track.samples = [];\r\n            track.length = 0;\r\n\r\n            var segment = {\r\n                type: 'audio',\r\n                data: this._mergeBoxes(moofbox, mdatbox).buffer,\r\n                sampleCount: mp4Samples.length,\r\n                info: info\r\n            };\r\n\r\n            if (mpegRawTrack && firstSegmentAfterSeek) {\r\n                // For MPEG audio stream in MSE, if seeking occurred, before appending new buffer\r\n                // We need explicitly set timestampOffset to the desired point in timeline for mpeg SourceBuffer.\r\n                segment.timestampOffset = firstDts;\r\n            }\r\n\r\n            this._onMediaSegment('audio', segment);\r\n        }\r\n    }, {\r\n        key: '_remuxVideo',\r\n        value: function _remuxVideo(videoTrack, force) {\r\n            if (this._videoMeta == null) {\r\n                return;\r\n            }\r\n\r\n            var track = videoTrack;\r\n            var samples = track.samples;\r\n            var dtsCorrection = undefined;\r\n            var firstDts = -1,\r\n                lastDts = -1;\r\n            var firstPts = -1,\r\n                lastPts = -1;\r\n\r\n            if (!samples || samples.length === 0) {\r\n                return;\r\n            }\r\n            if (samples.length === 1 && !force) {\r\n                // If [sample count in current batch] === 1 && (force != true)\r\n                // Ignore and keep in demuxer's queue\r\n                return;\r\n            } // else if (force === true) do remux\r\n\r\n            var offset = 8;\r\n            var mdatbox = null;\r\n            var mdatBytes = 8 + videoTrack.length;\r\n\r\n            var lastSample = null;\r\n\r\n            // Pop the lastSample and waiting for stash\r\n            if (samples.length > 1) {\r\n                lastSample = samples.pop();\r\n                mdatBytes -= lastSample.length;\r\n            }\r\n\r\n            // Insert [stashed lastSample in the previous batch] to the front\r\n            if (this._videoStashedLastSample != null) {\r\n                var sample = this._videoStashedLastSample;\r\n                this._videoStashedLastSample = null;\r\n                samples.unshift(sample);\r\n                mdatBytes += sample.length;\r\n            }\r\n\r\n            // Stash the lastSample of current batch, waiting for next batch\r\n            if (lastSample != null) {\r\n                this._videoStashedLastSample = lastSample;\r\n            }\r\n\r\n            var firstSampleOriginalDts = samples[0].dts - this._dtsBase;\r\n\r\n            // calculate dtsCorrection\r\n            if (this._videoNextDts) {\r\n                dtsCorrection = firstSampleOriginalDts - this._videoNextDts;\r\n            } else {\r\n                // this._videoNextDts == undefined\r\n                if (this._videoSegmentInfoList.isEmpty()) {\r\n                    dtsCorrection = 0;\r\n                } else {\r\n                    var _lastSample2 = this._videoSegmentInfoList.getLastSampleBefore(firstSampleOriginalDts);\r\n                    if (_lastSample2 != null) {\r\n                        var distance = firstSampleOriginalDts - (_lastSample2.originalDts + _lastSample2.duration);\r\n                        if (distance <= 3) {\r\n                            distance = 0;\r\n                        }\r\n                        var expectedDts = _lastSample2.dts + _lastSample2.duration + distance;\r\n                        dtsCorrection = firstSampleOriginalDts - expectedDts;\r\n                    } else {\r\n                        // lastSample == null, cannot found\r\n                        dtsCorrection = 0;\r\n                    }\r\n                }\r\n            }\r\n\r\n            var info = new _mediaSegmentInfo.MediaSegmentInfo();\r\n            var mp4Samples = [];\r\n\r\n            // Correct dts for each sample, and calculate sample duration. Then output to mp4Samples\r\n            for (var i = 0; i < samples.length; i++) {\r\n                var _sample2 = samples[i];\r\n                var originalDts = _sample2.dts - this._dtsBase;\r\n                var isKeyframe = _sample2.isKeyframe;\r\n                var dts = originalDts - dtsCorrection;\r\n                var cts = _sample2.cts;\r\n                var pts = dts + cts;\r\n\r\n                if (firstDts === -1) {\r\n                    firstDts = dts;\r\n                    firstPts = pts;\r\n                }\r\n\r\n                var sampleDuration = 0;\r\n\r\n                if (i !== samples.length - 1) {\r\n                    var nextDts = samples[i + 1].dts - this._dtsBase - dtsCorrection;\r\n                    sampleDuration = nextDts - dts;\r\n                } else {\r\n                    // the last sample\r\n                    if (lastSample != null) {\r\n                        // use stashed sample's dts to calculate sample duration\r\n                        var _nextDts2 = lastSample.dts - this._dtsBase - dtsCorrection;\r\n                        sampleDuration = _nextDts2 - dts;\r\n                    } else if (mp4Samples.length >= 1) {\r\n                        // use second last sample duration\r\n                        sampleDuration = mp4Samples[mp4Samples.length - 1].duration;\r\n                    } else {\r\n                        // the only one sample, use reference sample duration\r\n                        sampleDuration = Math.floor(this._videoMeta.refSampleDuration);\r\n                    }\r\n                }\r\n\r\n                if (isKeyframe) {\r\n                    var syncPoint = new _mediaSegmentInfo.SampleInfo(dts, pts, sampleDuration, _sample2.dts, true);\r\n                    syncPoint.fileposition = _sample2.fileposition;\r\n                    info.appendSyncPoint(syncPoint);\r\n                }\r\n\r\n                mp4Samples.push({\r\n                    dts: dts,\r\n                    pts: pts,\r\n                    cts: cts,\r\n                    units: _sample2.units,\r\n                    size: _sample2.length,\r\n                    isKeyframe: isKeyframe,\r\n                    duration: sampleDuration,\r\n                    originalDts: originalDts,\r\n                    flags: {\r\n                        isLeading: 0,\r\n                        dependsOn: isKeyframe ? 2 : 1,\r\n                        isDependedOn: isKeyframe ? 1 : 0,\r\n                        hasRedundancy: 0,\r\n                        isNonSync: isKeyframe ? 0 : 1\r\n                    }\r\n                });\r\n            }\r\n\r\n            // allocate mdatbox\r\n            mdatbox = new Uint8Array(mdatBytes);\r\n            mdatbox[0] = mdatBytes >>> 24 & 0xFF;\r\n            mdatbox[1] = mdatBytes >>> 16 & 0xFF;\r\n            mdatbox[2] = mdatBytes >>> 8 & 0xFF;\r\n            mdatbox[3] = mdatBytes & 0xFF;\r\n            mdatbox.set(_mp4Generator2.default.types.mdat, 4);\r\n\r\n            // Write samples into mdatbox\r\n            for (var _i2 = 0; _i2 < mp4Samples.length; _i2++) {\r\n                var units = mp4Samples[_i2].units;\r\n                while (units.length) {\r\n                    var unit = units.shift();\r\n                    var data = unit.data;\r\n                    mdatbox.set(data, offset);\r\n                    offset += data.byteLength;\r\n                }\r\n            }\r\n\r\n            var latest = mp4Samples[mp4Samples.length - 1];\r\n            lastDts = latest.dts + latest.duration;\r\n            lastPts = latest.pts + latest.duration;\r\n            this._videoNextDts = lastDts;\r\n\r\n            // fill media segment info & add to info list\r\n            info.beginDts = firstDts;\r\n            info.endDts = lastDts;\r\n            info.beginPts = firstPts;\r\n            info.endPts = lastPts;\r\n            info.originalBeginDts = mp4Samples[0].originalDts;\r\n            info.originalEndDts = latest.originalDts + latest.duration;\r\n            info.firstSample = new _mediaSegmentInfo.SampleInfo(mp4Samples[0].dts, mp4Samples[0].pts, mp4Samples[0].duration, mp4Samples[0].originalDts, mp4Samples[0].isKeyframe);\r\n            info.lastSample = new _mediaSegmentInfo.SampleInfo(latest.dts, latest.pts, latest.duration, latest.originalDts, latest.isKeyframe);\r\n            if (!this._isLive) {\r\n                this._videoSegmentInfoList.append(info);\r\n            }\r\n\r\n            track.samples = mp4Samples;\r\n            track.sequenceNumber++;\r\n\r\n            // workaround for chrome < 50: force first sample as a random access point\r\n            // see https://bugs.chromium.org/p/chromium/issues/detail?id=229412\r\n            if (this._forceFirstIDR) {\r\n                var flags = mp4Samples[0].flags;\r\n                flags.dependsOn = 2;\r\n                flags.isNonSync = 0;\r\n            }\r\n\r\n            var moofbox = _mp4Generator2.default.moof(track, firstDts);\r\n            track.samples = [];\r\n            track.length = 0;\r\n\r\n            this._onMediaSegment('video', {\r\n                type: 'video',\r\n                data: this._mergeBoxes(moofbox, mdatbox).buffer,\r\n                sampleCount: mp4Samples.length,\r\n                info: info\r\n            });\r\n        }\r\n    }, {\r\n        key: '_mergeBoxes',\r\n        value: function _mergeBoxes(moof, mdat) {\r\n            var result = new Uint8Array(moof.byteLength + mdat.byteLength);\r\n            result.set(moof, 0);\r\n            result.set(mdat, moof.byteLength);\r\n            return result;\r\n        }\r\n    }, {\r\n        key: 'onInitSegment',\r\n        get: function get() {\r\n            return this._onInitSegment;\r\n        },\r\n        set: function set(callback) {\r\n            this._onInitSegment = callback;\r\n        }\r\n\r\n        /* prototype: function onMediaSegment(type: string, mediaSegment: MediaSegment): void\r\n           MediaSegment: {\r\n               type: string,\r\n               data: ArrayBuffer,\r\n               sampleCount: int32\r\n               info: MediaSegmentInfo\r\n           }\r\n        */\r\n\r\n    }, {\r\n        key: 'onMediaSegment',\r\n        get: function get() {\r\n            return this._onMediaSegment;\r\n        },\r\n        set: function set(callback) {\r\n            this._onMediaSegment = callback;\r\n        }\r\n    }]);\r\n\r\n    return MP4Remuxer;\r\n}();\r\n\r\nexports.default = MP4Remuxer;\r\n\r\n},{\"../core/media-segment-info.js\":8,\"../utils/browser.js\":39,\"../utils/exception.js\":40,\"../utils/logger.js\":41,\"./aac-silent.js\":36,\"./mp4-generator.js\":37}],39:[function(_dereq_,module,exports){\r\n'use strict';\r\n\r\nObject.defineProperty(exports, \"__esModule\", {\r\n    value: true\r\n});\r\n/*\r\n * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n *\r\n * @author zheng qian <xqq@xqq.im>\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\nvar Browser = {};\r\n\r\nfunction detect() {\r\n    // modified from jquery-browser-plugin\r\n\r\n    var ua = self.navigator.userAgent.toLowerCase();\r\n\r\n    var match = /(edge)\\/([\\w.]+)/.exec(ua) || /(opr)[\\/]([\\w.]+)/.exec(ua) || /(chrome)[ \\/]([\\w.]+)/.exec(ua) || /(iemobile)[\\/]([\\w.]+)/.exec(ua) || /(version)(applewebkit)[ \\/]([\\w.]+).*(safari)[ \\/]([\\w.]+)/.exec(ua) || /(webkit)[ \\/]([\\w.]+).*(version)[ \\/]([\\w.]+).*(safari)[ \\/]([\\w.]+)/.exec(ua) || /(webkit)[ \\/]([\\w.]+)/.exec(ua) || /(opera)(?:.*version|)[ \\/]([\\w.]+)/.exec(ua) || /(msie) ([\\w.]+)/.exec(ua) || ua.indexOf('trident') >= 0 && /(rv)(?::| )([\\w.]+)/.exec(ua) || ua.indexOf('compatible') < 0 && /(firefox)[ \\/]([\\w.]+)/.exec(ua) || [];\r\n\r\n    var platform_match = /(ipad)/.exec(ua) || /(ipod)/.exec(ua) || /(windows phone)/.exec(ua) || /(iphone)/.exec(ua) || /(kindle)/.exec(ua) || /(android)/.exec(ua) || /(windows)/.exec(ua) || /(mac)/.exec(ua) || /(linux)/.exec(ua) || /(cros)/.exec(ua) || [];\r\n\r\n    var matched = {\r\n        browser: match[5] || match[3] || match[1] || '',\r\n        version: match[2] || match[4] || '0',\r\n        majorVersion: match[4] || match[2] || '0',\r\n        platform: platform_match[0] || ''\r\n    };\r\n\r\n    var browser = {};\r\n    if (matched.browser) {\r\n        browser[matched.browser] = true;\r\n\r\n        var versionArray = matched.majorVersion.split('.');\r\n        browser.version = {\r\n            major: parseInt(matched.majorVersion, 10),\r\n            string: matched.version\r\n        };\r\n        if (versionArray.length > 1) {\r\n            browser.version.minor = parseInt(versionArray[1], 10);\r\n        }\r\n        if (versionArray.length > 2) {\r\n            browser.version.build = parseInt(versionArray[2], 10);\r\n        }\r\n    }\r\n\r\n    if (matched.platform) {\r\n        browser[matched.platform] = true;\r\n    }\r\n\r\n    if (browser.chrome || browser.opr || browser.safari) {\r\n        browser.webkit = true;\r\n    }\r\n\r\n    // MSIE. IE11 has 'rv' identifer\r\n    if (browser.rv || browser.iemobile) {\r\n        if (browser.rv) {\r\n            delete browser.rv;\r\n        }\r\n        var msie = 'msie';\r\n        matched.browser = msie;\r\n        browser[msie] = true;\r\n    }\r\n\r\n    // Microsoft Edge\r\n    if (browser.edge) {\r\n        delete browser.edge;\r\n        var msedge = 'msedge';\r\n        matched.browser = msedge;\r\n        browser[msedge] = true;\r\n    }\r\n\r\n    // Opera 15+\r\n    if (browser.opr) {\r\n        var opera = 'opera';\r\n        matched.browser = opera;\r\n        browser[opera] = true;\r\n    }\r\n\r\n    // Stock android browsers are marked as Safari\r\n    if (browser.safari && browser.android) {\r\n        var android = 'android';\r\n        matched.browser = android;\r\n        browser[android] = true;\r\n    }\r\n\r\n    browser.name = matched.browser;\r\n    browser.platform = matched.platform;\r\n\r\n    for (var key in Browser) {\r\n        if (Browser.hasOwnProperty(key)) {\r\n            delete Browser[key];\r\n        }\r\n    }\r\n    Object.assign(Browser, browser);\r\n}\r\n\r\ndetect();\r\n\r\nexports.default = Browser;\r\n\r\n},{}],40:[function(_dereq_,module,exports){\r\n'use strict';\r\n\r\nObject.defineProperty(exports, \"__esModule\", {\r\n    value: true\r\n});\r\n\r\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\r\n\r\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\r\n\r\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\r\n\r\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\r\n\r\n/*\r\n * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n *\r\n * @author zheng qian <xqq@xqq.im>\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\nvar RuntimeException = exports.RuntimeException = function () {\r\n    function RuntimeException(message) {\r\n        _classCallCheck(this, RuntimeException);\r\n\r\n        this._message = message;\r\n    }\r\n\r\n    _createClass(RuntimeException, [{\r\n        key: 'toString',\r\n        value: function toString() {\r\n            return this.name + ': ' + this.message;\r\n        }\r\n    }, {\r\n        key: 'name',\r\n        get: function get() {\r\n            return 'RuntimeException';\r\n        }\r\n    }, {\r\n        key: 'message',\r\n        get: function get() {\r\n            return this._message;\r\n        }\r\n    }]);\r\n\r\n    return RuntimeException;\r\n}();\r\n\r\nvar IllegalStateException = exports.IllegalStateException = function (_RuntimeException) {\r\n    _inherits(IllegalStateException, _RuntimeException);\r\n\r\n    function IllegalStateException(message) {\r\n        _classCallCheck(this, IllegalStateException);\r\n\r\n        return _possibleConstructorReturn(this, (IllegalStateException.__proto__ || Object.getPrototypeOf(IllegalStateException)).call(this, message));\r\n    }\r\n\r\n    _createClass(IllegalStateException, [{\r\n        key: 'name',\r\n        get: function get() {\r\n            return 'IllegalStateException';\r\n        }\r\n    }]);\r\n\r\n    return IllegalStateException;\r\n}(RuntimeException);\r\n\r\nvar InvalidArgumentException = exports.InvalidArgumentException = function (_RuntimeException2) {\r\n    _inherits(InvalidArgumentException, _RuntimeException2);\r\n\r\n    function InvalidArgumentException(message) {\r\n        _classCallCheck(this, InvalidArgumentException);\r\n\r\n        return _possibleConstructorReturn(this, (InvalidArgumentException.__proto__ || Object.getPrototypeOf(InvalidArgumentException)).call(this, message));\r\n    }\r\n\r\n    _createClass(InvalidArgumentException, [{\r\n        key: 'name',\r\n        get: function get() {\r\n            return 'InvalidArgumentException';\r\n        }\r\n    }]);\r\n\r\n    return InvalidArgumentException;\r\n}(RuntimeException);\r\n\r\nvar NotImplementedException = exports.NotImplementedException = function (_RuntimeException3) {\r\n    _inherits(NotImplementedException, _RuntimeException3);\r\n\r\n    function NotImplementedException(message) {\r\n        _classCallCheck(this, NotImplementedException);\r\n\r\n        return _possibleConstructorReturn(this, (NotImplementedException.__proto__ || Object.getPrototypeOf(NotImplementedException)).call(this, message));\r\n    }\r\n\r\n    _createClass(NotImplementedException, [{\r\n        key: 'name',\r\n        get: function get() {\r\n            return 'NotImplementedException';\r\n        }\r\n    }]);\r\n\r\n    return NotImplementedException;\r\n}(RuntimeException);\r\n\r\n},{}],41:[function(_dereq_,module,exports){\r\n'use strict';\r\n\r\nObject.defineProperty(exports, \"__esModule\", {\r\n    value: true\r\n});\r\n\r\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /*\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * @author zheng qian <xqq@xqq.im>\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * you may not use this file except in compliance with the License.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * You may obtain a copy of the License at\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *     http://www.apache.org/licenses/LICENSE-2.0\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * Unless required by applicable law or agreed to in writing, software\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * See the License for the specific language governing permissions and\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * limitations under the License.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      */\r\n\r\nvar _events = _dereq_('events');\r\n\r\nvar _events2 = _interopRequireDefault(_events);\r\n\r\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\r\n\r\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\r\n\r\nvar Log = function () {\r\n    function Log() {\r\n        _classCallCheck(this, Log);\r\n    }\r\n\r\n    _createClass(Log, null, [{\r\n        key: 'e',\r\n        value: function e(tag, msg) {\r\n            if (!tag || Log.FORCE_GLOBAL_TAG) tag = Log.GLOBAL_TAG;\r\n\r\n            var str = '[' + tag + '] > ' + msg;\r\n\r\n            if (Log.ENABLE_CALLBACK) {\r\n                Log.emitter.emit('log', 'error', str);\r\n            }\r\n\r\n            if (!Log.ENABLE_ERROR) {\r\n                return;\r\n            }\r\n\r\n            if (console.error) {\r\n                console.error(str);\r\n            } else if (console.warn) {\r\n                console.warn(str);\r\n            } else {\r\n                console.log(str);\r\n            }\r\n        }\r\n    }, {\r\n        key: 'i',\r\n        value: function i(tag, msg) {\r\n            if (!tag || Log.FORCE_GLOBAL_TAG) tag = Log.GLOBAL_TAG;\r\n\r\n            var str = '[' + tag + '] > ' + msg;\r\n\r\n            if (Log.ENABLE_CALLBACK) {\r\n                Log.emitter.emit('log', 'info', str);\r\n            }\r\n\r\n            if (!Log.ENABLE_INFO) {\r\n                return;\r\n            }\r\n\r\n            if (console.info) {\r\n                console.info(str);\r\n            } else {\r\n                console.log(str);\r\n            }\r\n        }\r\n    }, {\r\n        key: 'w',\r\n        value: function w(tag, msg) {\r\n            if (!tag || Log.FORCE_GLOBAL_TAG) tag = Log.GLOBAL_TAG;\r\n\r\n            var str = '[' + tag + '] > ' + msg;\r\n\r\n            if (Log.ENABLE_CALLBACK) {\r\n                Log.emitter.emit('log', 'warn', str);\r\n            }\r\n\r\n            if (!Log.ENABLE_WARN) {\r\n                return;\r\n            }\r\n\r\n            if (console.warn) {\r\n                console.warn(str);\r\n            } else {\r\n                console.log(str);\r\n            }\r\n        }\r\n    }, {\r\n        key: 'd',\r\n        value: function d(tag, msg) {\r\n            if (!tag || Log.FORCE_GLOBAL_TAG) tag = Log.GLOBAL_TAG;\r\n\r\n            var str = '[' + tag + '] > ' + msg;\r\n\r\n            if (Log.ENABLE_CALLBACK) {\r\n                Log.emitter.emit('log', 'debug', str);\r\n            }\r\n\r\n            if (!Log.ENABLE_DEBUG) {\r\n                return;\r\n            }\r\n\r\n            if (console.debug) {\r\n                console.debug(str);\r\n            } else {\r\n                console.log(str);\r\n            }\r\n        }\r\n    }, {\r\n        key: 'v',\r\n        value: function v(tag, msg) {\r\n            if (!tag || Log.FORCE_GLOBAL_TAG) tag = Log.GLOBAL_TAG;\r\n\r\n            var str = '[' + tag + '] > ' + msg;\r\n\r\n            if (Log.ENABLE_CALLBACK) {\r\n                Log.emitter.emit('log', 'verbose', str);\r\n            }\r\n\r\n            if (!Log.ENABLE_VERBOSE) {\r\n                return;\r\n            }\r\n\r\n            console.log(str);\r\n        }\r\n    }]);\r\n\r\n    return Log;\r\n}();\r\n\r\nLog.GLOBAL_TAG = 'flv.js';\r\nLog.FORCE_GLOBAL_TAG = false;\r\nLog.ENABLE_ERROR = true;\r\nLog.ENABLE_INFO = true;\r\nLog.ENABLE_WARN = true;\r\nLog.ENABLE_DEBUG = true;\r\nLog.ENABLE_VERBOSE = true;\r\n\r\nLog.ENABLE_CALLBACK = false;\r\n\r\nLog.emitter = new _events2.default();\r\n\r\nexports.default = Log;\r\n\r\n},{\"events\":2}],42:[function(_dereq_,module,exports){\r\n'use strict';\r\n\r\nObject.defineProperty(exports, \"__esModule\", {\r\n    value: true\r\n});\r\n\r\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /*\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * @author zheng qian <xqq@xqq.im>\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * you may not use this file except in compliance with the License.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * You may obtain a copy of the License at\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *     http://www.apache.org/licenses/LICENSE-2.0\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      *\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * Unless required by applicable law or agreed to in writing, software\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * See the License for the specific language governing permissions and\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      * limitations under the License.\r\n                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      */\r\n\r\nvar _events = _dereq_('events');\r\n\r\nvar _events2 = _interopRequireDefault(_events);\r\n\r\nvar _logger = _dereq_('./logger.js');\r\n\r\nvar _logger2 = _interopRequireDefault(_logger);\r\n\r\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\r\n\r\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\r\n\r\nvar LoggingControl = function () {\r\n    function LoggingControl() {\r\n        _classCallCheck(this, LoggingControl);\r\n    }\r\n\r\n    _createClass(LoggingControl, null, [{\r\n        key: 'getConfig',\r\n        value: function getConfig() {\r\n            return {\r\n                globalTag: _logger2.default.GLOBAL_TAG,\r\n                forceGlobalTag: _logger2.default.FORCE_GLOBAL_TAG,\r\n                enableVerbose: _logger2.default.ENABLE_VERBOSE,\r\n                enableDebug: _logger2.default.ENABLE_DEBUG,\r\n                enableInfo: _logger2.default.ENABLE_INFO,\r\n                enableWarn: _logger2.default.ENABLE_WARN,\r\n                enableError: _logger2.default.ENABLE_ERROR,\r\n                enableCallback: _logger2.default.ENABLE_CALLBACK\r\n            };\r\n        }\r\n    }, {\r\n        key: 'applyConfig',\r\n        value: function applyConfig(config) {\r\n            _logger2.default.GLOBAL_TAG = config.globalTag;\r\n            _logger2.default.FORCE_GLOBAL_TAG = config.forceGlobalTag;\r\n            _logger2.default.ENABLE_VERBOSE = config.enableVerbose;\r\n            _logger2.default.ENABLE_DEBUG = config.enableDebug;\r\n            _logger2.default.ENABLE_INFO = config.enableInfo;\r\n            _logger2.default.ENABLE_WARN = config.enableWarn;\r\n            _logger2.default.ENABLE_ERROR = config.enableError;\r\n            _logger2.default.ENABLE_CALLBACK = config.enableCallback;\r\n        }\r\n    }, {\r\n        key: '_notifyChange',\r\n        value: function _notifyChange() {\r\n            var emitter = LoggingControl.emitter;\r\n\r\n            if (emitter.listenerCount('change') > 0) {\r\n                var config = LoggingControl.getConfig();\r\n                emitter.emit('change', config);\r\n            }\r\n        }\r\n    }, {\r\n        key: 'registerListener',\r\n        value: function registerListener(listener) {\r\n            LoggingControl.emitter.addListener('change', listener);\r\n        }\r\n    }, {\r\n        key: 'removeListener',\r\n        value: function removeListener(listener) {\r\n            LoggingControl.emitter.removeListener('change', listener);\r\n        }\r\n    }, {\r\n        key: 'addLogListener',\r\n        value: function addLogListener(listener) {\r\n            _logger2.default.emitter.addListener('log', listener);\r\n            if (_logger2.default.emitter.listenerCount('log') > 0) {\r\n                _logger2.default.ENABLE_CALLBACK = true;\r\n                LoggingControl._notifyChange();\r\n            }\r\n        }\r\n    }, {\r\n        key: 'removeLogListener',\r\n        value: function removeLogListener(listener) {\r\n            _logger2.default.emitter.removeListener('log', listener);\r\n            if (_logger2.default.emitter.listenerCount('log') === 0) {\r\n                _logger2.default.ENABLE_CALLBACK = false;\r\n                LoggingControl._notifyChange();\r\n            }\r\n        }\r\n    }, {\r\n        key: 'forceGlobalTag',\r\n        get: function get() {\r\n            return _logger2.default.FORCE_GLOBAL_TAG;\r\n        },\r\n        set: function set(enable) {\r\n            _logger2.default.FORCE_GLOBAL_TAG = enable;\r\n            LoggingControl._notifyChange();\r\n        }\r\n    }, {\r\n        key: 'globalTag',\r\n        get: function get() {\r\n            return _logger2.default.GLOBAL_TAG;\r\n        },\r\n        set: function set(tag) {\r\n            _logger2.default.GLOBAL_TAG = tag;\r\n            LoggingControl._notifyChange();\r\n        }\r\n    }, {\r\n        key: 'enableAll',\r\n        get: function get() {\r\n            return _logger2.default.ENABLE_VERBOSE && _logger2.default.ENABLE_DEBUG && _logger2.default.ENABLE_INFO && _logger2.default.ENABLE_WARN && _logger2.default.ENABLE_ERROR;\r\n        },\r\n        set: function set(enable) {\r\n            _logger2.default.ENABLE_VERBOSE = enable;\r\n            _logger2.default.ENABLE_DEBUG = enable;\r\n            _logger2.default.ENABLE_INFO = enable;\r\n            _logger2.default.ENABLE_WARN = enable;\r\n            _logger2.default.ENABLE_ERROR = enable;\r\n            LoggingControl._notifyChange();\r\n        }\r\n    }, {\r\n        key: 'enableDebug',\r\n        get: function get() {\r\n            return _logger2.default.ENABLE_DEBUG;\r\n        },\r\n        set: function set(enable) {\r\n            _logger2.default.ENABLE_DEBUG = enable;\r\n            LoggingControl._notifyChange();\r\n        }\r\n    }, {\r\n        key: 'enableVerbose',\r\n        get: function get() {\r\n            return _logger2.default.ENABLE_VERBOSE;\r\n        },\r\n        set: function set(enable) {\r\n            _logger2.default.ENABLE_VERBOSE = enable;\r\n            LoggingControl._notifyChange();\r\n        }\r\n    }, {\r\n        key: 'enableInfo',\r\n        get: function get() {\r\n            return _logger2.default.ENABLE_INFO;\r\n        },\r\n        set: function set(enable) {\r\n            _logger2.default.ENABLE_INFO = enable;\r\n            LoggingControl._notifyChange();\r\n        }\r\n    }, {\r\n        key: 'enableWarn',\r\n        get: function get() {\r\n            return _logger2.default.ENABLE_WARN;\r\n        },\r\n        set: function set(enable) {\r\n            _logger2.default.ENABLE_WARN = enable;\r\n            LoggingControl._notifyChange();\r\n        }\r\n    }, {\r\n        key: 'enableError',\r\n        get: function get() {\r\n            return _logger2.default.ENABLE_ERROR;\r\n        },\r\n        set: function set(enable) {\r\n            _logger2.default.ENABLE_ERROR = enable;\r\n            LoggingControl._notifyChange();\r\n        }\r\n    }]);\r\n\r\n    return LoggingControl;\r\n}();\r\n\r\nLoggingControl.emitter = new _events2.default();\r\n\r\nexports.default = LoggingControl;\r\n\r\n},{\"./logger.js\":41,\"events\":2}],43:[function(_dereq_,module,exports){\r\n'use strict';\r\n\r\nObject.defineProperty(exports, \"__esModule\", {\r\n    value: true\r\n});\r\n\r\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\r\n\r\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\r\n\r\n/*\r\n * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n *\r\n * @author zheng qian <xqq@xqq.im>\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\nvar Polyfill = function () {\r\n    function Polyfill() {\r\n        _classCallCheck(this, Polyfill);\r\n    }\r\n\r\n    _createClass(Polyfill, null, [{\r\n        key: 'install',\r\n        value: function install() {\r\n            // ES6 Object.setPrototypeOf\r\n            Object.setPrototypeOf = Object.setPrototypeOf || function (obj, proto) {\r\n                obj.__proto__ = proto;\r\n                return obj;\r\n            };\r\n\r\n            // ES6 Object.assign\r\n            Object.assign = Object.assign || function (target) {\r\n                if (target === undefined || target === null) {\r\n                    throw new TypeError('Cannot convert undefined or null to object');\r\n                }\r\n\r\n                var output = Object(target);\r\n                for (var i = 1; i < arguments.length; i++) {\r\n                    var source = arguments[i];\r\n                    if (source !== undefined && source !== null) {\r\n                        for (var key in source) {\r\n                            if (source.hasOwnProperty(key)) {\r\n                                output[key] = source[key];\r\n                            }\r\n                        }\r\n                    }\r\n                }\r\n                return output;\r\n            };\r\n\r\n            // ES6 Promise (missing support in IE11)\r\n            if (typeof self.Promise !== 'function') {\r\n                _dereq_('es6-promise').polyfill();\r\n            }\r\n        }\r\n    }]);\r\n\r\n    return Polyfill;\r\n}();\r\n\r\nPolyfill.install();\r\n\r\nexports.default = Polyfill;\r\n\r\n},{\"es6-promise\":1}],44:[function(_dereq_,module,exports){\r\n'use strict';\r\n\r\nObject.defineProperty(exports, \"__esModule\", {\r\n    value: true\r\n});\r\n/*\r\n * Copyright (C) 2016 Bilibili. All Rights Reserved.\r\n *\r\n * This file is derived from C++ project libWinTF8 (https://github.com/m13253/libWinTF8)\r\n * @author zheng qian <xqq@xqq.im>\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n *     http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\nfunction checkContinuation(uint8array, start, checkLength) {\r\n    var array = uint8array;\r\n    if (start + checkLength < array.length) {\r\n        while (checkLength--) {\r\n            if ((array[++start] & 0xC0) !== 0x80) return false;\r\n        }\r\n        return true;\r\n    } else {\r\n        return false;\r\n    }\r\n}\r\n\r\nfunction decodeUTF8(uint8array) {\r\n    var out = [];\r\n    var input = uint8array;\r\n    var i = 0;\r\n    var length = uint8array.length;\r\n\r\n    while (i < length) {\r\n        if (input[i] < 0x80) {\r\n            out.push(String.fromCharCode(input[i]));\r\n            ++i;\r\n            continue;\r\n        } else if (input[i] < 0xC0) {\r\n            // fallthrough\r\n        } else if (input[i] < 0xE0) {\r\n            if (checkContinuation(input, i, 1)) {\r\n                var ucs4 = (input[i] & 0x1F) << 6 | input[i + 1] & 0x3F;\r\n                if (ucs4 >= 0x80) {\r\n                    out.push(String.fromCharCode(ucs4 & 0xFFFF));\r\n                    i += 2;\r\n                    continue;\r\n                }\r\n            }\r\n        } else if (input[i] < 0xF0) {\r\n            if (checkContinuation(input, i, 2)) {\r\n                var _ucs = (input[i] & 0xF) << 12 | (input[i + 1] & 0x3F) << 6 | input[i + 2] & 0x3F;\r\n                if (_ucs >= 0x800 && (_ucs & 0xF800) !== 0xD800) {\r\n                    out.push(String.fromCharCode(_ucs & 0xFFFF));\r\n                    i += 3;\r\n                    continue;\r\n                }\r\n            }\r\n        } else if (input[i] < 0xF8) {\r\n            if (checkContinuation(input, i, 3)) {\r\n                var _ucs2 = (input[i] & 0x7) << 18 | (input[i + 1] & 0x3F) << 12 | (input[i + 2] & 0x3F) << 6 | input[i + 3] & 0x3F;\r\n                if (_ucs2 > 0x10000 && _ucs2 < 0x110000) {\r\n                    _ucs2 -= 0x10000;\r\n                    out.push(String.fromCharCode(_ucs2 >>> 10 | 0xD800));\r\n                    out.push(String.fromCharCode(_ucs2 & 0x3FF | 0xDC00));\r\n                    i += 4;\r\n                    continue;\r\n                }\r\n            }\r\n        }\r\n        out.push(String.fromCharCode(0xFFFD));\r\n        ++i;\r\n    }\r\n\r\n    return out.join('');\r\n}\r\n\r\nexports.default = decodeUTF8;\r\n\r\n},{}]},{},[21])(21)\r\n});\r\n\r\n//# sourceMappingURL=flv.js.map\r\n","!function(e){if(\"object\"==typeof exports&&\"undefined\"!=typeof module)module.exports=e();else if(\"function\"==typeof define&&define.amd)define([],e);else{var t;t=\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:this,t.flvjs=e()}}(function(){var e;return function e(t,n,i){function r(a,o){if(!n[a]){if(!t[a]){var u=\"function\"==typeof require&&require;if(!o&&u)return u(a,!0);if(s)return s(a,!0);var l=new Error(\"Cannot find module '\"+a+\"'\");throw l.code=\"MODULE_NOT_FOUND\",l}var d=n[a]={exports:{}};t[a][0].call(d.exports,function(e){var n=t[a][1][e];return r(n||e)},d,d.exports,e,t,n,i)}return n[a].exports}for(var s=\"function\"==typeof require&&require,a=0;a<i.length;a++)r(i[a]);return r}({1:[function(t,n,i){(function(r,s){!function(t,r){\"object\"==typeof i&&void 0!==n?n.exports=r():\"function\"==typeof e&&e.amd?e(r):t.ES6Promise=r()}(this,function(){\"use strict\";function e(e){var t=typeof e;return null!==e&&(\"object\"===t||\"function\"===t)}function n(e){return\"function\"==typeof e}function i(e){V=e}function a(e){z=e}function o(){return void 0!==G?function(){G(l)}:u()}function u(){var e=setTimeout;return function(){return e(l,1)}}function l(){for(var e=0;e<F;e+=2){(0,Y[e])(Y[e+1]),Y[e]=void 0,Y[e+1]=void 0}F=0}function d(e,t){var n=this,i=new this.constructor(f);void 0===i[Q]&&C(i);var r=n._state;if(r){var s=arguments[r-1];z(function(){return w(r,i,s,n._result)})}else L(n,i,e,t);return i}function h(e){var t=this;if(e&&\"object\"==typeof e&&e.constructor===t)return e;var n=new t(f);return E(n,e),n}function f(){}function c(){return new TypeError(\"You cannot resolve a promise with itself\")}function _(){return new TypeError(\"A promises callback cannot return that same promise.\")}function m(e){try{return e.then}catch(e){return te.error=e,te}}function p(e,t,n,i){try{e.call(t,n,i)}catch(e){return e}}function v(e,t,n){z(function(e){var i=!1,r=p(n,t,function(n){i||(i=!0,t!==n?E(e,n):S(e,n))},function(t){i||(i=!0,k(e,t))},\"Settle: \"+(e._label||\" unknown promise\"));!i&&r&&(i=!0,k(e,r))},e)}function g(e,t){t._state===$?S(e,t._result):t._state===ee?k(e,t._result):L(t,void 0,function(t){return E(e,t)},function(t){return k(e,t)})}function y(e,t,i){t.constructor===e.constructor&&i===d&&t.constructor.resolve===h?g(e,t):i===te?(k(e,te.error),te.error=null):void 0===i?S(e,t):n(i)?v(e,t,i):S(e,t)}function E(t,n){t===n?k(t,c()):e(n)?y(t,n,m(n)):S(t,n)}function b(e){e._onerror&&e._onerror(e._result),R(e)}function S(e,t){e._state===J&&(e._result=t,e._state=$,0!==e._subscribers.length&&z(R,e))}function k(e,t){e._state===J&&(e._state=ee,e._result=t,z(b,e))}function L(e,t,n,i){var r=e._subscribers,s=r.length;e._onerror=null,r[s]=t,r[s+$]=n,r[s+ee]=i,0===s&&e._state&&z(R,e)}function R(e){var t=e._subscribers,n=e._state;if(0!==t.length){for(var i=void 0,r=void 0,s=e._result,a=0;a<t.length;a+=3)i=t[a],r=t[a+n],i?w(n,i,r,s):r(s);e._subscribers.length=0}}function A(e,t){try{return e(t)}catch(e){return te.error=e,te}}function w(e,t,i,r){var s=n(i),a=void 0,o=void 0,u=void 0,l=void 0;if(s){if(a=A(i,r),a===te?(l=!0,o=a.error,a.error=null):u=!0,t===a)return void k(t,_())}else a=r,u=!0;t._state!==J||(s&&u?E(t,a):l?k(t,o):e===$?S(t,a):e===ee&&k(t,a))}function T(e,t){try{t(function(t){E(e,t)},function(t){k(e,t)})}catch(t){k(e,t)}}function O(){return ne++}function C(e){e[Q]=ne++,e._state=void 0,e._result=void 0,e._subscribers=[]}function I(){return new Error(\"Array Methods must be provided an Array\")}function D(e){return new ie(this,e).promise}function x(e){var t=this;return new t(N(e)?function(n,i){for(var r=e.length,s=0;s<r;s++)t.resolve(e[s]).then(n,i)}:function(e,t){return t(new TypeError(\"You must pass an array to race.\"))})}function M(e){var t=this,n=new t(f);return k(n,e),n}function B(){throw new TypeError(\"You must pass a resolver function as the first argument to the promise constructor\")}function j(){throw new TypeError(\"Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.\")}function P(){var e=void 0;if(void 0!==s)e=s;else if(\"undefined\"!=typeof self)e=self;else try{e=Function(\"return this\")()}catch(e){throw new Error(\"polyfill failed because global object is unavailable in this environment\")}var t=e.Promise;if(t){var n=null;try{n=Object.prototype.toString.call(t.resolve())}catch(e){}if(\"[object Promise]\"===n&&!t.cast)return}e.Promise=re}var U=void 0;U=Array.isArray?Array.isArray:function(e){return\"[object Array]\"===Object.prototype.toString.call(e)};var N=U,F=0,G=void 0,V=void 0,z=function(e,t){Y[F]=e,Y[F+1]=t,2===(F+=2)&&(V?V(l):Z())},H=\"undefined\"!=typeof window?window:void 0,K=H||{},q=K.MutationObserver||K.WebKitMutationObserver,W=\"undefined\"==typeof self&&void 0!==r&&\"[object process]\"==={}.toString.call(r),X=\"undefined\"!=typeof Uint8ClampedArray&&\"undefined\"!=typeof importScripts&&\"undefined\"!=typeof MessageChannel,Y=new Array(1e3),Z=void 0;Z=W?function(){return function(){return r.nextTick(l)}}():q?function(){var e=0,t=new q(l),n=document.createTextNode(\"\");return t.observe(n,{characterData:!0}),function(){n.data=e=++e%2}}():X?function(){var e=new MessageChannel;return e.port1.onmessage=l,function(){return e.port2.postMessage(0)}}():void 0===H&&\"function\"==typeof t?function(){try{var e=Function(\"return this\")().require(\"vertx\");return G=e.runOnLoop||e.runOnContext,o()}catch(e){return u()}}():u();var Q=Math.random().toString(36).substring(2),J=void 0,$=1,ee=2,te={error:null},ne=0,ie=function(){function e(e,t){this._instanceConstructor=e,this.promise=new e(f),this.promise[Q]||C(this.promise),N(t)?(this.length=t.length,this._remaining=t.length,this._result=new Array(this.length),0===this.length?S(this.promise,this._result):(this.length=this.length||0,this._enumerate(t),0===this._remaining&&S(this.promise,this._result))):k(this.promise,I())}return e.prototype._enumerate=function(e){for(var t=0;this._state===J&&t<e.length;t++)this._eachEntry(e[t],t)},e.prototype._eachEntry=function(e,t){var n=this._instanceConstructor,i=n.resolve;if(i===h){var r=m(e);if(r===d&&e._state!==J)this._settledAt(e._state,t,e._result);else if(\"function\"!=typeof r)this._remaining--,this._result[t]=e;else if(n===re){var s=new n(f);y(s,e,r),this._willSettleAt(s,t)}else this._willSettleAt(new n(function(t){return t(e)}),t)}else this._willSettleAt(i(e),t)},e.prototype._settledAt=function(e,t,n){var i=this.promise;i._state===J&&(this._remaining--,e===ee?k(i,n):this._result[t]=n),0===this._remaining&&S(i,this._result)},e.prototype._willSettleAt=function(e,t){var n=this;L(e,void 0,function(e){return n._settledAt($,t,e)},function(e){return n._settledAt(ee,t,e)})},e}(),re=function(){function e(t){this[Q]=O(),this._result=this._state=void 0,this._subscribers=[],f!==t&&(\"function\"!=typeof t&&B(),this instanceof e?T(this,t):j())}return e.prototype.catch=function(e){return this.then(null,e)},e.prototype.finally=function(e){var t=this,i=t.constructor;return n(e)?t.then(function(t){return i.resolve(e()).then(function(){return t})},function(t){return i.resolve(e()).then(function(){throw t})}):t.then(e,e)},e}();return re.prototype.then=d,re.all=D,re.race=x,re.resolve=h,re.reject=M,re._setScheduler=i,re._setAsap=a,re._asap=z,re.polyfill=P,re.Promise=re,re})}).call(this,t(\"_process\"),\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{_process:3}],2:[function(e,t,n){function i(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function r(e){return\"function\"==typeof e}function s(e){return\"number\"==typeof e}function a(e){return\"object\"==typeof e&&null!==e}function o(e){return void 0===e}t.exports=i,i.EventEmitter=i,i.prototype._events=void 0,i.prototype._maxListeners=void 0,i.defaultMaxListeners=10,i.prototype.setMaxListeners=function(e){if(!s(e)||e<0||isNaN(e))throw TypeError(\"n must be a positive number\");return this._maxListeners=e,this},i.prototype.emit=function(e){var t,n,i,s,u,l;if(this._events||(this._events={}),\"error\"===e&&(!this._events.error||a(this._events.error)&&!this._events.error.length)){if((t=arguments[1])instanceof Error)throw t;var d=new Error('Uncaught, unspecified \"error\" event. ('+t+\")\");throw d.context=t,d}if(n=this._events[e],o(n))return!1;if(r(n))switch(arguments.length){case 1:n.call(this);break;case 2:n.call(this,arguments[1]);break;case 3:n.call(this,arguments[1],arguments[2]);break;default:s=Array.prototype.slice.call(arguments,1),n.apply(this,s)}else if(a(n))for(s=Array.prototype.slice.call(arguments,1),l=n.slice(),i=l.length,u=0;u<i;u++)l[u].apply(this,s);return!0},i.prototype.addListener=function(e,t){var n;if(!r(t))throw TypeError(\"listener must be a function\");return this._events||(this._events={}),this._events.newListener&&this.emit(\"newListener\",e,r(t.listener)?t.listener:t),this._events[e]?a(this._events[e])?this._events[e].push(t):this._events[e]=[this._events[e],t]:this._events[e]=t,a(this._events[e])&&!this._events[e].warned&&(n=o(this._maxListeners)?i.defaultMaxListeners:this._maxListeners)&&n>0&&this._events[e].length>n&&(this._events[e].warned=!0,console.error(\"(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.\",this._events[e].length),\"function\"==typeof console.trace&&console.trace()),this},i.prototype.on=i.prototype.addListener,i.prototype.once=function(e,t){function n(){this.removeListener(e,n),i||(i=!0,t.apply(this,arguments))}if(!r(t))throw TypeError(\"listener must be a function\");var i=!1;return n.listener=t,this.on(e,n),this},i.prototype.removeListener=function(e,t){var n,i,s,o;if(!r(t))throw TypeError(\"listener must be a function\");if(!this._events||!this._events[e])return this;if(n=this._events[e],s=n.length,i=-1,n===t||r(n.listener)&&n.listener===t)delete this._events[e],this._events.removeListener&&this.emit(\"removeListener\",e,t);else if(a(n)){for(o=s;o-- >0;)if(n[o]===t||n[o].listener&&n[o].listener===t){i=o;break}if(i<0)return this;1===n.length?(n.length=0,delete this._events[e]):n.splice(i,1),this._events.removeListener&&this.emit(\"removeListener\",e,t)}return this},i.prototype.removeAllListeners=function(e){var t,n;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)\"removeListener\"!==t&&this.removeAllListeners(t);return this.removeAllListeners(\"removeListener\"),this._events={},this}if(n=this._events[e],r(n))this.removeListener(e,n);else if(n)for(;n.length;)this.removeListener(e,n[n.length-1]);return delete this._events[e],this},i.prototype.listeners=function(e){return this._events&&this._events[e]?r(this._events[e])?[this._events[e]]:this._events[e].slice():[]},i.prototype.listenerCount=function(e){if(this._events){var t=this._events[e];if(r(t))return 1;if(t)return t.length}return 0},i.listenerCount=function(e,t){return e.listenerCount(t)}},{}],3:[function(e,t,n){function i(){throw new Error(\"setTimeout has not been defined\")}function r(){throw new Error(\"clearTimeout has not been defined\")}function s(e){if(h===setTimeout)return setTimeout(e,0);if((h===i||!h)&&setTimeout)return h=setTimeout,setTimeout(e,0);try{return h(e,0)}catch(t){try{return h.call(null,e,0)}catch(t){return h.call(this,e,0)}}}function a(e){if(f===clearTimeout)return clearTimeout(e);if((f===r||!f)&&clearTimeout)return f=clearTimeout,clearTimeout(e);try{return f(e)}catch(t){try{return f.call(null,e)}catch(t){return f.call(this,e)}}}function o(){p&&_&&(p=!1,_.length?m=_.concat(m):v=-1,m.length&&u())}function u(){if(!p){var e=s(o);p=!0;for(var t=m.length;t;){for(_=m,m=[];++v<t;)_&&_[v].run();v=-1,t=m.length}_=null,p=!1,a(e)}}function l(e,t){this.fun=e,this.array=t}function d(){}var h,f,c=t.exports={};!function(){try{h=\"function\"==typeof setTimeout?setTimeout:i}catch(e){h=i}try{f=\"function\"==typeof clearTimeout?clearTimeout:r}catch(e){f=r}}();var _,m=[],p=!1,v=-1;c.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];m.push(new l(e,t)),1!==m.length||p||s(u)},l.prototype.run=function(){this.fun.apply(null,this.array)},c.title=\"browser\",c.browser=!0,c.env={},c.argv=[],c.version=\"\",c.versions={},c.on=d,c.addListener=d,c.once=d,c.off=d,c.removeListener=d,c.removeAllListeners=d,c.emit=d,c.prependListener=d,c.prependOnceListener=d,c.listeners=function(e){return[]},c.binding=function(e){throw new Error(\"process.binding is not supported\")},c.cwd=function(){return\"/\"},c.chdir=function(e){throw new Error(\"process.chdir is not supported\")},c.umask=function(){return 0}},{}],4:[function(e,t,n){var i=arguments[3],r=arguments[4],s=arguments[5],a=JSON.stringify;t.exports=function(e,t){function n(e){p[e]=!0;for(var t in r[e][1]){var i=r[e][1][t];p[i]||n(i)}}for(var o,u=Object.keys(s),l=0,d=u.length;l<d;l++){var h=u[l],f=s[h].exports;if(f===e||f&&f.default===e){o=h;break}}if(!o){o=Math.floor(Math.pow(16,8)*Math.random()).toString(16);for(var c={},l=0,d=u.length;l<d;l++){var h=u[l];c[h]=h}r[o]=[\"function(require,module,exports){\"+e+\"(self); }\",c]}var _=Math.floor(Math.pow(16,8)*Math.random()).toString(16),m={};m[o]=o,r[_]=[\"function(require,module,exports){var f = require(\"+a(o)+\");(f.default ? f.default : f)(self);}\",m];var p={};n(_);var v=\"(\"+i+\")({\"+Object.keys(p).map(function(e){return a(e)+\":[\"+r[e][0]+\",\"+a(r[e][1])+\"]\"}).join(\",\")+\"},{},[\"+a(_)+\"])\",g=window.URL||window.webkitURL||window.mozURL||window.msURL,y=new Blob([v],{type:\"text/javascript\"});if(t&&t.bare)return y;var E=g.createObjectURL(y),b=new Worker(E);return b.objectURL=E,b}},{}],5:[function(e,t,n){\"use strict\";function i(){return Object.assign({},r)}Object.defineProperty(n,\"__esModule\",{value:!0}),n.createDefaultConfig=i;var r=n.defaultConfig={enableWorker:!1,enableStashBuffer:!0,stashInitialSize:void 0,isLive:!1,lazyLoad:!0,lazyLoadMaxDuration:180,lazyLoadRecoverDuration:30,deferLoadAfterSourceOpen:!0,autoCleanupMaxBackwardDuration:180,autoCleanupMinBackwardDuration:120,statisticsInfoReportInterval:600,fixAudioTimestampGap:!0,accurateSeek:!1,seekType:\"range\",seekParamStart:\"bstart\",seekParamEnd:\"bend\",rangeLoadZeroStart:!1,customSeekHandler:void 0,reuseRedirectedURL:!1,headers:void 0,customLoader:void 0}},{}],6:[function(e,t,n){\"use strict\";function i(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}Object.defineProperty(n,\"__esModule\",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),s=e(\"../io/io-controller.js\"),a=function(e){return e&&e.__esModule?e:{default:e}}(s),o=e(\"../config.js\"),u=function(){function e(){i(this,e)}return r(e,null,[{key:\"supportMSEH264Playback\",value:function(){return window.MediaSource&&window.MediaSource.isTypeSupported('video/mp4; codecs=\"avc1.42E01E,mp4a.40.2\"')}},{key:\"supportNetworkStreamIO\",value:function(){var e=new a.default({},(0,o.createDefaultConfig)()),t=e.loaderType;return e.destroy(),\"fetch-stream-loader\"==t||\"xhr-moz-chunked-loader\"==t}},{key:\"getNetworkLoaderTypeName\",value:function(){var e=new a.default({},(0,o.createDefaultConfig)()),t=e.loaderType;return e.destroy(),t}},{key:\"supportNativeMediaPlayback\",value:function(t){void 0==e.videoElement&&(e.videoElement=window.document.createElement(\"video\"));var n=e.videoElement.canPlayType(t);return\"probably\"===n||\"maybe\"==n}},{key:\"getFeatureList\",value:function(){var t={mseFlvPlayback:!1,mseLiveFlvPlayback:!1,networkStreamIO:!1,networkLoaderName:\"\",nativeMP4H264Playback:!1,nativeWebmVP8Playback:!1,nativeWebmVP9Playback:!1};return t.mseFlvPlayback=e.supportMSEH264Playback(),t.networkStreamIO=e.supportNetworkStreamIO(),t.networkLoaderName=e.getNetworkLoaderTypeName(),t.mseLiveFlvPlayback=t.mseFlvPlayback&&t.networkStreamIO,t.nativeMP4H264Playback=e.supportNativeMediaPlayback('video/mp4; codecs=\"avc1.42001E, mp4a.40.2\"'),t.nativeWebmVP8Playback=e.supportNativeMediaPlayback('video/webm; codecs=\"vp8.0, vorbis\"'),t.nativeWebmVP9Playback=e.supportNativeMediaPlayback('video/webm; codecs=\"vp9\"'),t}}]),e}();n.default=u},{\"../config.js\":5,\"../io/io-controller.js\":23}],7:[function(e,t,n){\"use strict\";function i(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}Object.defineProperty(n,\"__esModule\",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),s=function(){function e(){i(this,e),this.mimeType=null,this.duration=null,this.hasAudio=null,this.hasVideo=null,this.audioCodec=null,this.videoCodec=null,this.audioDataRate=null,this.videoDataRate=null,this.audioSampleRate=null,this.audioChannelCount=null,this.width=null,this.height=null,this.fps=null,this.profile=null,this.level=null,this.refFrames=null,this.chromaFormat=null,this.sarNum=null,this.sarDen=null,this.metadata=null,this.segments=null,this.segmentCount=null,this.hasKeyframesIndex=null,this.keyframesIndex=null}return r(e,[{key:\"isComplete\",value:function(){var e=!1===this.hasAudio||!0===this.hasAudio&&null!=this.audioCodec&&null!=this.audioSampleRate&&null!=this.audioChannelCount,t=!1===this.hasVideo||!0===this.hasVideo&&null!=this.videoCodec&&null!=this.width&&null!=this.height&&null!=this.fps&&null!=this.profile&&null!=this.level&&null!=this.refFrames&&null!=this.chromaFormat&&null!=this.sarNum&&null!=this.sarDen;return null!=this.mimeType&&null!=this.duration&&null!=this.metadata&&null!=this.hasKeyframesIndex&&e&&t}},{key:\"isSeekable\",value:function(){return!0===this.hasKeyframesIndex}},{key:\"getNearestKeyframe\",value:function(e){if(null==this.keyframesIndex)return null;var t=this.keyframesIndex,n=this._search(t.times,e);return{index:n,milliseconds:t.times[n],fileposition:t.filepositions[n]}}},{key:\"_search\",value:function(e,t){var n=0,i=e.length-1,r=0,s=0,a=i;for(t<e[0]&&(n=0,s=a+1);s<=a;){if((r=s+Math.floor((a-s)/2))===i||t>=e[r]&&t<e[r+1]){n=r;break}e[r]<t?s=r+1:a=r-1}return n}}]),e}();n.default=s},{}],8:[function(e,t,n){\"use strict\";function i(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}Object.defineProperty(n,\"__esModule\",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}();n.SampleInfo=function e(t,n,r,s,a){i(this,e),this.dts=t,this.pts=n,this.duration=r,this.originalDts=s,this.isSyncPoint=a,this.fileposition=null},n.MediaSegmentInfo=function(){function e(){i(this,e),this.beginDts=0,this.endDts=0,this.beginPts=0,this.endPts=0,this.originalBeginDts=0,this.originalEndDts=0,this.syncPoints=[],this.firstSample=null,this.lastSample=null}return r(e,[{key:\"appendSyncPoint\",value:function(e){e.isSyncPoint=!0,this.syncPoints.push(e)}}]),e}(),n.IDRSampleList=function(){function e(){i(this,e),this._list=[]}return r(e,[{key:\"clear\",value:function(){this._list=[]}},{key:\"appendArray\",value:function(e){var t=this._list;0!==e.length&&(t.length>0&&e[0].originalDts<t[t.length-1].originalDts&&this.clear(),Array.prototype.push.apply(t,e))}},{key:\"getLastSyncPointBeforeDts\",value:function(e){if(0==this._list.length)return null;var t=this._list,n=0,i=t.length-1,r=0,s=0,a=i;for(e<t[0].dts&&(n=0,s=a+1);s<=a;){if((r=s+Math.floor((a-s)/2))===i||e>=t[r].dts&&e<t[r+1].dts){n=r;break}t[r].dts<e?s=r+1:a=r-1}return this._list[n]}}]),e}(),n.MediaSegmentInfoList=function(){function e(t){i(this,e),this._type=t,this._list=[],this._lastAppendLocation=-1}return r(e,[{key:\"isEmpty\",value:function(){return 0===this._list.length}},{key:\"clear\",value:function(){this._list=[],this._lastAppendLocation=-1}},{key:\"_searchNearestSegmentBefore\",value:function(e){var t=this._list;if(0===t.length)return-2;var n=t.length-1,i=0,r=0,s=n,a=0;if(e<t[0].originalBeginDts)return a=-1;for(;r<=s;){if((i=r+Math.floor((s-r)/2))===n||e>t[i].lastSample.originalDts&&e<t[i+1].originalBeginDts){a=i;break}t[i].originalBeginDts<e?r=i+1:s=i-1}return a}},{key:\"_searchNearestSegmentAfter\",value:function(e){return this._searchNearestSegmentBefore(e)+1}},{key:\"append\",value:function(e){var t=this._list,n=e,i=this._lastAppendLocation,r=0;-1!==i&&i<t.length&&n.originalBeginDts>=t[i].lastSample.originalDts&&(i===t.length-1||i<t.length-1&&n.originalBeginDts<t[i+1].originalBeginDts)?r=i+1:t.length>0&&(r=this._searchNearestSegmentBefore(n.originalBeginDts)+1),this._lastAppendLocation=r,this._list.splice(r,0,n)}},{key:\"getLastSegmentBefore\",value:function(e){var t=this._searchNearestSegmentBefore(e);return t>=0?this._list[t]:null}},{key:\"getLastSampleBefore\",value:function(e){var t=this.getLastSegmentBefore(e);return null!=t?t.lastSample:null}},{key:\"getLastSyncPointBefore\",value:function(e){for(var t=this._searchNearestSegmentBefore(e),n=this._list[t].syncPoints;0===n.length&&t>0;)t--,n=this._list[t].syncPoints;return n.length>0?n[n.length-1]:null}},{key:\"type\",get:function(){return this._type}},{key:\"length\",get:function(){return this._list.length}}]),e}()},{}],9:[function(e,t,n){\"use strict\";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}Object.defineProperty(n,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),a=e(\"events\"),o=i(a),u=e(\"../utils/logger.js\"),l=i(u),d=e(\"../utils/browser.js\"),h=i(d),f=e(\"./mse-events.js\"),c=i(f),_=e(\"./media-segment-info.js\"),m=e(\"../utils/exception.js\"),p=function(){function e(t){r(this,e),this.TAG=\"MSEController\",this._config=t,this._emitter=new o.default,this._config.isLive&&void 0==this._config.autoCleanupSourceBuffer&&(this._config.autoCleanupSourceBuffer=!0),this.e={onSourceOpen:this._onSourceOpen.bind(this),onSourceEnded:this._onSourceEnded.bind(this),onSourceClose:this._onSourceClose.bind(this),onSourceBufferError:this._onSourceBufferError.bind(this),onSourceBufferUpdateEnd:this._onSourceBufferUpdateEnd.bind(this)},this._mediaSource=null,this._mediaSourceObjectURL=null,this._mediaElement=null,this._isBufferFull=!1,this._hasPendingEos=!1,this._requireSetMediaDuration=!1,this._pendingMediaDuration=0,this._pendingSourceBufferInit=[],this._mimeTypes={video:null,audio:null},this._sourceBuffers={video:null,audio:null},this._lastInitSegments={video:null,audio:null},this._pendingSegments={video:[],audio:[]},this._pendingRemoveRanges={video:[],audio:[]},this._idrList=new _.IDRSampleList}return s(e,[{key:\"destroy\",value:function(){(this._mediaElement||this._mediaSource)&&this.detachMediaElement(),this.e=null,this._emitter.removeAllListeners(),this._emitter=null}},{key:\"on\",value:function(e,t){this._emitter.addListener(e,t)}},{key:\"off\",value:function(e,t){this._emitter.removeListener(e,t)}},{key:\"attachMediaElement\",value:function(e){if(this._mediaSource)throw new m.IllegalStateException(\"MediaSource has been attached to an HTMLMediaElement!\");var t=this._mediaSource=new window.MediaSource;t.addEventListener(\"sourceopen\",this.e.onSourceOpen),t.addEventListener(\"sourceended\",this.e.onSourceEnded),t.addEventListener(\"sourceclose\",this.e.onSourceClose),this._mediaElement=e,this._mediaSourceObjectURL=window.URL.createObjectURL(this._mediaSource),e.src=this._mediaSourceObjectURL}},{key:\"detachMediaElement\",value:function(){if(this._mediaSource){var e=this._mediaSource;for(var t in this._sourceBuffers){var n=this._pendingSegments[t];n.splice(0,n.length),this._pendingSegments[t]=null,this._pendingRemoveRanges[t]=null,this._lastInitSegments[t]=null;var i=this._sourceBuffers[t];if(i){if(\"closed\"!==e.readyState){try{e.removeSourceBuffer(i)}catch(e){l.default.e(this.TAG,e.message)}i.removeEventListener(\"error\",this.e.onSourceBufferError),i.removeEventListener(\"updateend\",this.e.onSourceBufferUpdateEnd)}this._mimeTypes[t]=null,this._sourceBuffers[t]=null}}if(\"open\"===e.readyState)try{e.endOfStream()}catch(e){l.default.e(this.TAG,e.message)}e.removeEventListener(\"sourceopen\",this.e.onSourceOpen),e.removeEventListener(\"sourceended\",this.e.onSourceEnded),e.removeEventListener(\"sourceclose\",this.e.onSourceClose),this._pendingSourceBufferInit=[],this._isBufferFull=!1,this._idrList.clear(),this._mediaSource=null}this._mediaElement&&(this._mediaElement.src=\"\",this._mediaElement.removeAttribute(\"src\"),this._mediaElement=null),this._mediaSourceObjectURL&&(window.URL.revokeObjectURL(this._mediaSourceObjectURL),this._mediaSourceObjectURL=null)}},{key:\"appendInitSegment\",value:function(e,t){if(!this._mediaSource||\"open\"!==this._mediaSource.readyState)return this._pendingSourceBufferInit.push(e),void this._pendingSegments[e.type].push(e);var n=e,i=\"\"+n.container;n.codec&&n.codec.length>0&&(i+=\";codecs=\"+n.codec);var r=!1;if(l.default.v(this.TAG,\"Received Initialization Segment, mimeType: \"+i),this._lastInitSegments[n.type]=n,i!==this._mimeTypes[n.type]){if(this._mimeTypes[n.type])l.default.v(this.TAG,\"Notice: \"+n.type+\" mimeType changed, origin: \"+this._mimeTypes[n.type]+\", target: \"+i);else{r=!0;try{var s=this._sourceBuffers[n.type]=this._mediaSource.addSourceBuffer(i);s.addEventListener(\"error\",this.e.onSourceBufferError),s.addEventListener(\"updateend\",this.e.onSourceBufferUpdateEnd)}catch(e){return l.default.e(this.TAG,e.message),void this._emitter.emit(c.default.ERROR,{code:e.code,msg:e.message})}}this._mimeTypes[n.type]=i}t||this._pendingSegments[n.type].push(n),r||this._sourceBuffers[n.type]&&!this._sourceBuffers[n.type].updating&&this._doAppendSegments(),h.default.safari&&\"audio/mpeg\"===n.container&&n.mediaDuration>0&&(this._requireSetMediaDuration=!0,this._pendingMediaDuration=n.mediaDuration/1e3,this._updateMediaSourceDuration())}},{key:\"appendMediaSegment\",value:function(e){var t=e;this._pendingSegments[t.type].push(t),this._config.autoCleanupSourceBuffer&&this._needCleanupSourceBuffer()&&this._doCleanupSourceBuffer();var n=this._sourceBuffers[t.type];!n||n.updating||this._hasPendingRemoveRanges()||this._doAppendSegments()}},{key:\"seek\",value:function(e){for(var t in this._sourceBuffers)if(this._sourceBuffers[t]){var n=this._sourceBuffers[t];if(\"open\"===this._mediaSource.readyState)try{n.abort()}catch(e){l.default.e(this.TAG,e.message)}this._idrList.clear();var i=this._pendingSegments[t];if(i.splice(0,i.length),\"closed\"!==this._mediaSource.readyState){for(var r=0;r<n.buffered.length;r++){var s=n.buffered.start(r),a=n.buffered.end(r);this._pendingRemoveRanges[t].push({start:s,end:a})}if(n.updating||this._doRemoveRanges(),h.default.safari){var o=this._lastInitSegments[t];o&&(this._pendingSegments[t].push(o),n.updating||this._doAppendSegments())}}}}},{key:\"endOfStream\",value:function(){var e=this._mediaSource,t=this._sourceBuffers;if(!e||\"open\"!==e.readyState)return void(e&&\"closed\"===e.readyState&&this._hasPendingSegments()&&(this._hasPendingEos=!0));t.video&&t.video.updating||t.audio&&t.audio.updating?this._hasPendingEos=!0:(this._hasPendingEos=!1,e.endOfStream())}},{key:\"getNearestKeyframe\",value:function(e){return this._idrList.getLastSyncPointBeforeDts(e)}},{key:\"_needCleanupSourceBuffer\",value:function(){if(!this._config.autoCleanupSourceBuffer)return!1;var e=this._mediaElement.currentTime;for(var t in this._sourceBuffers){var n=this._sourceBuffers[t];if(n){var i=n.buffered;if(i.length>=1&&e-i.start(0)>=this._config.autoCleanupMaxBackwardDuration)return!0}}return!1}},{key:\"_doCleanupSourceBuffer\",value:function(){var e=this._mediaElement.currentTime;for(var t in this._sourceBuffers){var n=this._sourceBuffers[t];if(n){for(var i=n.buffered,r=!1,s=0;s<i.length;s++){var a=i.start(s),o=i.end(s);if(a<=e&&e<o+3){if(e-a>=this._config.autoCleanupMaxBackwardDuration){r=!0;var u=e-this._config.autoCleanupMinBackwardDuration;this._pendingRemoveRanges[t].push({start:a,end:u})}}else o<e&&(r=!0,this._pendingRemoveRanges[t].push({start:a,end:o}))}r&&!n.updating&&this._doRemoveRanges()}}}},{key:\"_updateMediaSourceDuration\",value:function(){var e=this._sourceBuffers;if(0!==this._mediaElement.readyState&&\"open\"===this._mediaSource.readyState&&!(e.video&&e.video.updating||e.audio&&e.audio.updating)){var t=this._mediaSource.duration,n=this._pendingMediaDuration;n>0&&(isNaN(t)||n>t)&&(l.default.v(this.TAG,\"Update MediaSource duration from \"+t+\" to \"+n),this._mediaSource.duration=n),this._requireSetMediaDuration=!1,this._pendingMediaDuration=0}}},{key:\"_doRemoveRanges\",value:function(){for(var e in this._pendingRemoveRanges)if(this._sourceBuffers[e]&&!this._sourceBuffers[e].updating)for(var t=this._sourceBuffers[e],n=this._pendingRemoveRanges[e];n.length&&!t.updating;){var i=n.shift();t.remove(i.start,i.end)}}},{key:\"_doAppendSegments\",value:function(){var e=this._pendingSegments;for(var t in e)if(this._sourceBuffers[t]&&!this._sourceBuffers[t].updating&&e[t].length>0){var n=e[t].shift();if(n.timestampOffset){var i=this._sourceBuffers[t].timestampOffset,r=n.timestampOffset/1e3,s=Math.abs(i-r);s>.1&&(l.default.v(this.TAG,\"Update MPEG audio timestampOffset from \"+i+\" to \"+r),this._sourceBuffers[t].timestampOffset=r),delete n.timestampOffset}if(!n.data||0===n.data.byteLength)continue;try{this._sourceBuffers[t].appendBuffer(n.data),this._isBufferFull=!1,\"video\"===t&&n.hasOwnProperty(\"info\")&&this._idrList.appendArray(n.info.syncPoints)}catch(e){this._pendingSegments[t].unshift(n),22===e.code?(this._isBufferFull||this._emitter.emit(c.default.BUFFER_FULL),this._isBufferFull=!0):(l.default.e(this.TAG,e.message),this._emitter.emit(c.default.ERROR,{code:e.code,msg:e.message}))}}}},{key:\"_onSourceOpen\",value:function(){if(l.default.v(this.TAG,\"MediaSource onSourceOpen\"),this._mediaSource.removeEventListener(\"sourceopen\",this.e.onSourceOpen),this._pendingSourceBufferInit.length>0)for(var e=this._pendingSourceBufferInit;e.length;){var t=e.shift();this.appendInitSegment(t,!0)}this._hasPendingSegments()&&this._doAppendSegments(),this._emitter.emit(c.default.SOURCE_OPEN)}},{key:\"_onSourceEnded\",value:function(){l.default.v(this.TAG,\"MediaSource onSourceEnded\")}},{key:\"_onSourceClose\",value:function(){l.default.v(this.TAG,\"MediaSource onSourceClose\"),this._mediaSource&&null!=this.e&&(this._mediaSource.removeEventListener(\"sourceopen\",this.e.onSourceOpen),this._mediaSource.removeEventListener(\"sourceended\",this.e.onSourceEnded),this._mediaSource.removeEventListener(\"sourceclose\",this.e.onSourceClose))}},{key:\"_hasPendingSegments\",value:function(){var e=this._pendingSegments;return e.video.length>0||e.audio.length>0}},{key:\"_hasPendingRemoveRanges\",value:function(){var e=this._pendingRemoveRanges;return e.video.length>0||e.audio.length>0}},{key:\"_onSourceBufferUpdateEnd\",value:function(){this._requireSetMediaDuration?this._updateMediaSourceDuration():this._hasPendingRemoveRanges()?this._doRemoveRanges():this._hasPendingSegments()?this._doAppendSegments():this._hasPendingEos&&this.endOfStream(),this._emitter.emit(c.default.UPDATE_END)}},{key:\"_onSourceBufferError\",value:function(e){l.default.e(this.TAG,\"SourceBuffer Error: \"+e)}}]),e}();n.default=p},{\"../utils/browser.js\":39,\"../utils/exception.js\":40,\"../utils/logger.js\":41,\"./media-segment-info.js\":8,\"./mse-events.js\":10,events:2}],10:[function(e,t,n){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0});var i={ERROR:\"error\",SOURCE_OPEN:\"source_open\",UPDATE_END:\"update_end\",BUFFER_FULL:\"buffer_full\"};n.default=i},{}],11:[function(e,t,n){\"use strict\";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}Object.defineProperty(n,\"__esModule\",{value:!0});var s=function(){\r\nfunction e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),a=e(\"events\"),o=i(a),u=e(\"../utils/logger.js\"),l=i(u),d=e(\"../utils/logging-control.js\"),h=i(d),f=e(\"./transmuxing-controller.js\"),c=i(f),_=e(\"./transmuxing-events.js\"),m=i(_),p=e(\"./transmuxing-worker.js\"),v=i(p),g=e(\"./media-info.js\"),y=i(g),E=function(){function t(n,i){if(r(this,t),this.TAG=\"Transmuxer\",this._emitter=new o.default,i.enableWorker&&\"undefined\"!=typeof Worker)try{var s=e(\"webworkify\");this._worker=s(v.default),this._workerDestroying=!1,this._worker.addEventListener(\"message\",this._onWorkerMessage.bind(this)),this._worker.postMessage({cmd:\"init\",param:[n,i]}),this.e={onLoggingConfigChanged:this._onLoggingConfigChanged.bind(this)},h.default.registerListener(this.e.onLoggingConfigChanged),this._worker.postMessage({cmd:\"logging_config\",param:h.default.getConfig()})}catch(e){l.default.e(this.TAG,\"Error while initialize transmuxing worker, fallback to inline transmuxing\"),this._worker=null,this._controller=new c.default(n,i)}else this._controller=new c.default(n,i);if(this._controller){var a=this._controller;a.on(m.default.IO_ERROR,this._onIOError.bind(this)),a.on(m.default.DEMUX_ERROR,this._onDemuxError.bind(this)),a.on(m.default.INIT_SEGMENT,this._onInitSegment.bind(this)),a.on(m.default.MEDIA_SEGMENT,this._onMediaSegment.bind(this)),a.on(m.default.LOADING_COMPLETE,this._onLoadingComplete.bind(this)),a.on(m.default.RECOVERED_EARLY_EOF,this._onRecoveredEarlyEof.bind(this)),a.on(m.default.MEDIA_INFO,this._onMediaInfo.bind(this)),a.on(m.default.METADATA_ARRIVED,this._onMetaDataArrived.bind(this)),a.on(m.default.SCRIPTDATA_ARRIVED,this._onScriptDataArrived.bind(this)),a.on(m.default.STATISTICS_INFO,this._onStatisticsInfo.bind(this)),a.on(m.default.RECOMMEND_SEEKPOINT,this._onRecommendSeekpoint.bind(this))}}return s(t,[{key:\"destroy\",value:function(){this._worker?this._workerDestroying||(this._workerDestroying=!0,this._worker.postMessage({cmd:\"destroy\"}),h.default.removeListener(this.e.onLoggingConfigChanged),this.e=null):(this._controller.destroy(),this._controller=null),this._emitter.removeAllListeners(),this._emitter=null}},{key:\"on\",value:function(e,t){this._emitter.addListener(e,t)}},{key:\"off\",value:function(e,t){this._emitter.removeListener(e,t)}},{key:\"hasWorker\",value:function(){return null!=this._worker}},{key:\"open\",value:function(){this._worker?this._worker.postMessage({cmd:\"start\"}):this._controller.start()}},{key:\"close\",value:function(){this._worker?this._worker.postMessage({cmd:\"stop\"}):this._controller.stop()}},{key:\"seek\",value:function(e){this._worker?this._worker.postMessage({cmd:\"seek\",param:e}):this._controller.seek(e)}},{key:\"pause\",value:function(){this._worker?this._worker.postMessage({cmd:\"pause\"}):this._controller.pause()}},{key:\"resume\",value:function(){this._worker?this._worker.postMessage({cmd:\"resume\"}):this._controller.resume()}},{key:\"_onInitSegment\",value:function(e,t){var n=this;Promise.resolve().then(function(){n._emitter.emit(m.default.INIT_SEGMENT,e,t)})}},{key:\"_onMediaSegment\",value:function(e,t){var n=this;Promise.resolve().then(function(){n._emitter.emit(m.default.MEDIA_SEGMENT,e,t)})}},{key:\"_onLoadingComplete\",value:function(){var e=this;Promise.resolve().then(function(){e._emitter.emit(m.default.LOADING_COMPLETE)})}},{key:\"_onRecoveredEarlyEof\",value:function(){var e=this;Promise.resolve().then(function(){e._emitter.emit(m.default.RECOVERED_EARLY_EOF)})}},{key:\"_onMediaInfo\",value:function(e){var t=this;Promise.resolve().then(function(){t._emitter.emit(m.default.MEDIA_INFO,e)})}},{key:\"_onMetaDataArrived\",value:function(e){var t=this;Promise.resolve().then(function(){t._emitter.emit(m.default.METADATA_ARRIVED,e)})}},{key:\"_onScriptDataArrived\",value:function(e){var t=this;Promise.resolve().then(function(){t._emitter.emit(m.default.SCRIPTDATA_ARRIVED,e)})}},{key:\"_onStatisticsInfo\",value:function(e){var t=this;Promise.resolve().then(function(){t._emitter.emit(m.default.STATISTICS_INFO,e)})}},{key:\"_onIOError\",value:function(e,t){var n=this;Promise.resolve().then(function(){n._emitter.emit(m.default.IO_ERROR,e,t)})}},{key:\"_onDemuxError\",value:function(e,t){var n=this;Promise.resolve().then(function(){n._emitter.emit(m.default.DEMUX_ERROR,e,t)})}},{key:\"_onRecommendSeekpoint\",value:function(e){var t=this;Promise.resolve().then(function(){t._emitter.emit(m.default.RECOMMEND_SEEKPOINT,e)})}},{key:\"_onLoggingConfigChanged\",value:function(e){this._worker&&this._worker.postMessage({cmd:\"logging_config\",param:e})}},{key:\"_onWorkerMessage\",value:function(e){var t=e.data,n=t.data;if(\"destroyed\"===t.msg||this._workerDestroying)return this._workerDestroying=!1,this._worker.terminate(),void(this._worker=null);switch(t.msg){case m.default.INIT_SEGMENT:case m.default.MEDIA_SEGMENT:this._emitter.emit(t.msg,n.type,n.data);break;case m.default.LOADING_COMPLETE:case m.default.RECOVERED_EARLY_EOF:this._emitter.emit(t.msg);break;case m.default.MEDIA_INFO:Object.setPrototypeOf(n,y.default.prototype),this._emitter.emit(t.msg,n);break;case m.default.METADATA_ARRIVED:case m.default.SCRIPTDATA_ARRIVED:case m.default.STATISTICS_INFO:this._emitter.emit(t.msg,n);break;case m.default.IO_ERROR:case m.default.DEMUX_ERROR:this._emitter.emit(t.msg,n.type,n.info);break;case m.default.RECOMMEND_SEEKPOINT:this._emitter.emit(t.msg,n);break;case\"logcat_callback\":l.default.emitter.emit(\"log\",n.type,n.logcat)}}}]),t}();n.default=E},{\"../utils/logger.js\":41,\"../utils/logging-control.js\":42,\"./media-info.js\":7,\"./transmuxing-controller.js\":12,\"./transmuxing-events.js\":13,\"./transmuxing-worker.js\":14,events:2,webworkify:4}],12:[function(e,t,n){\"use strict\";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}Object.defineProperty(n,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),a=e(\"events\"),o=i(a),u=e(\"../utils/logger.js\"),l=i(u),d=e(\"../utils/browser.js\"),h=i(d),f=e(\"./media-info.js\"),c=i(f),_=e(\"../demux/flv-demuxer.js\"),m=i(_),p=e(\"../remux/mp4-remuxer.js\"),v=i(p),g=e(\"../demux/demux-errors.js\"),y=i(g),E=e(\"../io/io-controller.js\"),b=i(E),S=e(\"./transmuxing-events.js\"),k=i(S),L=(e(\"../io/loader.js\"),function(){function e(t,n){r(this,e),this.TAG=\"TransmuxingController\",this._emitter=new o.default,this._config=n,t.segments||(t.segments=[{duration:t.duration,filesize:t.filesize,url:t.url}]),\"boolean\"!=typeof t.cors&&(t.cors=!0),\"boolean\"!=typeof t.withCredentials&&(t.withCredentials=!1),this._mediaDataSource=t,this._currentSegmentIndex=0;var i=0;this._mediaDataSource.segments.forEach(function(e){e.timestampBase=i,i+=e.duration,e.cors=t.cors,e.withCredentials=t.withCredentials,n.referrerPolicy&&(e.referrerPolicy=n.referrerPolicy)}),isNaN(i)||this._mediaDataSource.duration===i||(this._mediaDataSource.duration=i),this._mediaInfo=null,this._demuxer=null,this._remuxer=null,this._ioctl=null,this._pendingSeekTime=null,this._pendingResolveSeekPoint=null,this._statisticsReporter=null}return s(e,[{key:\"destroy\",value:function(){this._mediaInfo=null,this._mediaDataSource=null,this._statisticsReporter&&this._disableStatisticsReporter(),this._ioctl&&(this._ioctl.destroy(),this._ioctl=null),this._demuxer&&(this._demuxer.destroy(),this._demuxer=null),this._remuxer&&(this._remuxer.destroy(),this._remuxer=null),this._emitter.removeAllListeners(),this._emitter=null}},{key:\"on\",value:function(e,t){this._emitter.addListener(e,t)}},{key:\"off\",value:function(e,t){this._emitter.removeListener(e,t)}},{key:\"start\",value:function(){this._loadSegment(0),this._enableStatisticsReporter()}},{key:\"_loadSegment\",value:function(e,t){this._currentSegmentIndex=e;var n=this._mediaDataSource.segments[e],i=this._ioctl=new b.default(n,this._config,e);i.onError=this._onIOException.bind(this),i.onSeeked=this._onIOSeeked.bind(this),i.onComplete=this._onIOComplete.bind(this),i.onRedirect=this._onIORedirect.bind(this),i.onRecoveredEarlyEof=this._onIORecoveredEarlyEof.bind(this),t?this._demuxer.bindDataSource(this._ioctl):i.onDataArrival=this._onInitChunkArrival.bind(this),i.open(t)}},{key:\"stop\",value:function(){this._internalAbort(),this._disableStatisticsReporter()}},{key:\"_internalAbort\",value:function(){this._ioctl&&(this._ioctl.destroy(),this._ioctl=null)}},{key:\"pause\",value:function(){this._ioctl&&this._ioctl.isWorking()&&(this._ioctl.pause(),this._disableStatisticsReporter())}},{key:\"resume\",value:function(){this._ioctl&&this._ioctl.isPaused()&&(this._ioctl.resume(),this._enableStatisticsReporter())}},{key:\"seek\",value:function(e){if(null!=this._mediaInfo&&this._mediaInfo.isSeekable()){var t=this._searchSegmentIndexContains(e);if(t===this._currentSegmentIndex){var n=this._mediaInfo.segments[t];if(void 0==n)this._pendingSeekTime=e;else{var i=n.getNearestKeyframe(e);this._remuxer.seek(i.milliseconds),this._ioctl.seek(i.fileposition),this._pendingResolveSeekPoint=i.milliseconds}}else{var r=this._mediaInfo.segments[t];if(void 0==r)this._pendingSeekTime=e,this._internalAbort(),this._remuxer.seek(),this._remuxer.insertDiscontinuity(),this._loadSegment(t);else{var s=r.getNearestKeyframe(e);this._internalAbort(),this._remuxer.seek(e),this._remuxer.insertDiscontinuity(),this._demuxer.resetMediaInfo(),this._demuxer.timestampBase=this._mediaDataSource.segments[t].timestampBase,this._loadSegment(t,s.fileposition),this._pendingResolveSeekPoint=s.milliseconds,this._reportSegmentMediaInfo(t)}}this._enableStatisticsReporter()}}},{key:\"_searchSegmentIndexContains\",value:function(e){for(var t=this._mediaDataSource.segments,n=t.length-1,i=0;i<t.length;i++)if(e<t[i].timestampBase){n=i-1;break}return n}},{key:\"_onInitChunkArrival\",value:function(e,t){var n=this,i=null,r=0;if(t>0)this._demuxer.bindDataSource(this._ioctl),this._demuxer.timestampBase=this._mediaDataSource.segments[this._currentSegmentIndex].timestampBase,r=this._demuxer.parseChunks(e,t);else if((i=m.default.probe(e)).match){this._demuxer=new m.default(i,this._config),this._remuxer||(this._remuxer=new v.default(this._config));var s=this._mediaDataSource;void 0==s.duration||isNaN(s.duration)||(this._demuxer.overridedDuration=s.duration),\"boolean\"==typeof s.hasAudio&&(this._demuxer.overridedHasAudio=s.hasAudio),\"boolean\"==typeof s.hasVideo&&(this._demuxer.overridedHasVideo=s.hasVideo),this._demuxer.timestampBase=s.segments[this._currentSegmentIndex].timestampBase,this._demuxer.onError=this._onDemuxException.bind(this),this._demuxer.onMediaInfo=this._onMediaInfo.bind(this),this._demuxer.onMetaDataArrived=this._onMetaDataArrived.bind(this),this._demuxer.onScriptDataArrived=this._onScriptDataArrived.bind(this),this._remuxer.bindDataSource(this._demuxer.bindDataSource(this._ioctl)),this._remuxer.onInitSegment=this._onRemuxerInitSegmentArrival.bind(this),this._remuxer.onMediaSegment=this._onRemuxerMediaSegmentArrival.bind(this),r=this._demuxer.parseChunks(e,t)}else i=null,l.default.e(this.TAG,\"Non-FLV, Unsupported media type!\"),Promise.resolve().then(function(){n._internalAbort()}),this._emitter.emit(k.default.DEMUX_ERROR,y.default.FORMAT_UNSUPPORTED,\"Non-FLV, Unsupported media type\"),r=0;return r}},{key:\"_onMediaInfo\",value:function(e){var t=this;null==this._mediaInfo&&(this._mediaInfo=Object.assign({},e),this._mediaInfo.keyframesIndex=null,this._mediaInfo.segments=[],this._mediaInfo.segmentCount=this._mediaDataSource.segments.length,Object.setPrototypeOf(this._mediaInfo,c.default.prototype));var n=Object.assign({},e);Object.setPrototypeOf(n,c.default.prototype),this._mediaInfo.segments[this._currentSegmentIndex]=n,this._reportSegmentMediaInfo(this._currentSegmentIndex),null!=this._pendingSeekTime&&Promise.resolve().then(function(){var e=t._pendingSeekTime;t._pendingSeekTime=null,t.seek(e)})}},{key:\"_onMetaDataArrived\",value:function(e){this._emitter.emit(k.default.METADATA_ARRIVED,e)}},{key:\"_onScriptDataArrived\",value:function(e){this._emitter.emit(k.default.SCRIPTDATA_ARRIVED,e)}},{key:\"_onIOSeeked\",value:function(){this._remuxer.insertDiscontinuity()}},{key:\"_onIOComplete\",value:function(e){var t=e,n=t+1;n<this._mediaDataSource.segments.length?(this._internalAbort(),this._remuxer.flushStashedSamples(),this._loadSegment(n)):(this._remuxer.flushStashedSamples(),this._emitter.emit(k.default.LOADING_COMPLETE),this._disableStatisticsReporter())}},{key:\"_onIORedirect\",value:function(e){var t=this._ioctl.extraData;this._mediaDataSource.segments[t].redirectedURL=e}},{key:\"_onIORecoveredEarlyEof\",value:function(){this._emitter.emit(k.default.RECOVERED_EARLY_EOF)}},{key:\"_onIOException\",value:function(e,t){l.default.e(this.TAG,\"IOException: type = \"+e+\", code = \"+t.code+\", msg = \"+t.msg),this._emitter.emit(k.default.IO_ERROR,e,t),this._disableStatisticsReporter()}},{key:\"_onDemuxException\",value:function(e,t){l.default.e(this.TAG,\"DemuxException: type = \"+e+\", info = \"+t),this._emitter.emit(k.default.DEMUX_ERROR,e,t)}},{key:\"_onRemuxerInitSegmentArrival\",value:function(e,t){this._emitter.emit(k.default.INIT_SEGMENT,e,t)}},{key:\"_onRemuxerMediaSegmentArrival\",value:function(e,t){if(null==this._pendingSeekTime&&(this._emitter.emit(k.default.MEDIA_SEGMENT,e,t),null!=this._pendingResolveSeekPoint&&\"video\"===e)){var n=t.info.syncPoints,i=this._pendingResolveSeekPoint;this._pendingResolveSeekPoint=null,h.default.safari&&n.length>0&&n[0].originalDts===i&&(i=n[0].pts),this._emitter.emit(k.default.RECOMMEND_SEEKPOINT,i)}}},{key:\"_enableStatisticsReporter\",value:function(){null==this._statisticsReporter&&(this._statisticsReporter=self.setInterval(this._reportStatisticsInfo.bind(this),this._config.statisticsInfoReportInterval))}},{key:\"_disableStatisticsReporter\",value:function(){this._statisticsReporter&&(self.clearInterval(this._statisticsReporter),this._statisticsReporter=null)}},{key:\"_reportSegmentMediaInfo\",value:function(e){var t=this._mediaInfo.segments[e],n=Object.assign({},t);n.duration=this._mediaInfo.duration,n.segmentCount=this._mediaInfo.segmentCount,delete n.segments,delete n.keyframesIndex,this._emitter.emit(k.default.MEDIA_INFO,n)}},{key:\"_reportStatisticsInfo\",value:function(){var e={};e.url=this._ioctl.currentURL,e.hasRedirect=this._ioctl.hasRedirect,e.hasRedirect&&(e.redirectedURL=this._ioctl.currentRedirectedURL),e.speed=this._ioctl.currentSpeed,e.loaderType=this._ioctl.loaderType,e.currentSegmentIndex=this._currentSegmentIndex,e.totalSegmentCount=this._mediaDataSource.segments.length,this._emitter.emit(k.default.STATISTICS_INFO,e)}}]),e}());n.default=L},{\"../demux/demux-errors.js\":16,\"../demux/flv-demuxer.js\":18,\"../io/io-controller.js\":23,\"../io/loader.js\":24,\"../remux/mp4-remuxer.js\":38,\"../utils/browser.js\":39,\"../utils/logger.js\":41,\"./media-info.js\":7,\"./transmuxing-events.js\":13,events:2}],13:[function(e,t,n){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0});var i={IO_ERROR:\"io_error\",DEMUX_ERROR:\"demux_error\",INIT_SEGMENT:\"init_segment\",MEDIA_SEGMENT:\"media_segment\",LOADING_COMPLETE:\"loading_complete\",RECOVERED_EARLY_EOF:\"recovered_early_eof\",MEDIA_INFO:\"media_info\",METADATA_ARRIVED:\"metadata_arrived\",SCRIPTDATA_ARRIVED:\"scriptdata_arrived\",STATISTICS_INFO:\"statistics_info\",RECOMMEND_SEEKPOINT:\"recommend_seekpoint\"};n.default=i},{}],14:[function(e,t,n){\"use strict\";function i(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(n,\"__esModule\",{value:!0});var r=e(\"../utils/logger.js\"),s=(i(r),e(\"../utils/logging-control.js\")),a=i(s),o=e(\"../utils/polyfill.js\"),u=i(o),l=e(\"./transmuxing-controller.js\"),d=i(l),h=e(\"./transmuxing-events.js\"),f=i(h),c=function(e){function t(t,n){var i={msg:f.default.INIT_SEGMENT,data:{type:t,data:n}};e.postMessage(i,[n.data])}function n(t,n){var i={msg:f.default.MEDIA_SEGMENT,data:{type:t,data:n}};e.postMessage(i,[n.data])}function i(){var t={msg:f.default.LOADING_COMPLETE};e.postMessage(t)}function r(){var t={msg:f.default.RECOVERED_EARLY_EOF};e.postMessage(t)}function s(t){var n={msg:f.default.MEDIA_INFO,data:t};e.postMessage(n)}function o(t){var n={msg:f.default.METADATA_ARRIVED,data:t};e.postMessage(n)}function l(t){var n={msg:f.default.SCRIPTDATA_ARRIVED,data:t};e.postMessage(n)}function h(t){var n={msg:f.default.STATISTICS_INFO,data:t};e.postMessage(n)}function c(t,n){e.postMessage({msg:f.default.IO_ERROR,data:{type:t,info:n}})}function _(t,n){e.postMessage({msg:f.default.DEMUX_ERROR,data:{type:t,info:n}})}function m(t){e.postMessage({msg:f.default.RECOMMEND_SEEKPOINT,data:t})}function p(t,n){e.postMessage({msg:\"logcat_callback\",data:{type:t,logcat:n}})}var v=null,g=p.bind(this);u.default.install(),e.addEventListener(\"message\",function(u){switch(u.data.cmd){case\"init\":v=new d.default(u.data.param[0],u.data.param[1]),v.on(f.default.IO_ERROR,c.bind(this)),v.on(f.default.DEMUX_ERROR,_.bind(this)),v.on(f.default.INIT_SEGMENT,t.bind(this)),v.on(f.default.MEDIA_SEGMENT,n.bind(this)),v.on(f.default.LOADING_COMPLETE,i.bind(this)),v.on(f.default.RECOVERED_EARLY_EOF,r.bind(this)),v.on(f.default.MEDIA_INFO,s.bind(this)),v.on(f.default.METADATA_ARRIVED,o.bind(this)),v.on(f.default.SCRIPTDATA_ARRIVED,l.bind(this)),v.on(f.default.STATISTICS_INFO,h.bind(this)),v.on(f.default.RECOMMEND_SEEKPOINT,m.bind(this));break;case\"destroy\":v&&(v.destroy(),v=null),e.postMessage({msg:\"destroyed\"});break;case\"start\":v.start();break;case\"stop\":v.stop();break;case\"seek\":v.seek(u.data.param);break;case\"pause\":v.pause();break;case\"resume\":v.resume();break;case\"logging_config\":var p=u.data.param;a.default.applyConfig(p),!0===p.enableCallback?a.default.addLogListener(g):a.default.removeLogListener(g)}})};n.default=c},{\"../utils/logger.js\":41,\"../utils/logging-control.js\":42,\"../utils/polyfill.js\":43,\"./transmuxing-controller.js\":12,\"./transmuxing-events.js\":13}],15:[function(e,t,n){\"use strict\";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}Object.defineProperty(n,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),a=e(\"../utils/logger.js\"),o=i(a),u=e(\"../utils/utf8-conv.js\"),l=i(u),d=e(\"../utils/exception.js\"),h=function(){var e=new ArrayBuffer(2);return new DataView(e).setInt16(0,256,!0),256===new Int16Array(e)[0]}(),f=function(){function e(){r(this,e)}return s(e,null,[{key:\"parseScriptData\",value:function(t,n,i){var r={};try{var s=e.parseValue(t,n,i),a=e.parseValue(t,n+s.size,i-s.size);r[s.data]=a.data}catch(e){o.default.e(\"AMF\",e.toString())}return r}},{key:\"parseObject\",value:function(t,n,i){if(i<3)throw new d.IllegalStateException(\"Data not enough when parse ScriptDataObject\");var r=e.parseString(t,n,i),s=e.parseValue(t,n+r.size,i-r.size),a=s.objectEnd;return{data:{name:r.data,value:s.data},size:r.size+s.size,objectEnd:a}}},{key:\"parseVariable\",value:function(t,n,i){return e.parseObject(t,n,i)}},{key:\"parseString\",value:function(e,t,n){if(n<2)throw new d.IllegalStateException(\"Data not enough when parse String\");var i=new DataView(e,t,n),r=i.getUint16(0,!h),s=void 0;return s=r>0?(0,l.default)(new Uint8Array(e,t+2,r)):\"\",{data:s,size:2+r}}},{key:\"parseLongString\",value:function(e,t,n){if(n<4)throw new d.IllegalStateException(\"Data not enough when parse LongString\");var i=new DataView(e,t,n),r=i.getUint32(0,!h),s=void 0;return s=r>0?(0,l.default)(new Uint8Array(e,t+4,r)):\"\",{data:s,size:4+r}}},{key:\"parseDate\",value:function(e,t,n){if(n<10)throw new d.IllegalStateException(\"Data size invalid when parse Date\");var i=new DataView(e,t,n),r=i.getFloat64(0,!h);return r+=60*i.getInt16(8,!h)*1e3,{data:new Date(r),size:10}}},{key:\"parseValue\",value:function(t,n,i){if(i<1)throw new d.IllegalStateException(\"Data not enough when parse Value\");var r=new DataView(t,n,i),s=1,a=r.getUint8(0),u=void 0,l=!1;try{switch(a){case 0:u=r.getFloat64(1,!h),s+=8;break;case 1:u=!!r.getUint8(1),s+=1;break;case 2:var f=e.parseString(t,n+1,i-1);u=f.data,s+=f.size;break;case 3:u={};var c=0;for(9==(16777215&r.getUint32(i-4,!h))&&(c=3);s<i-4;){var _=e.parseObject(t,n+s,i-s-c);if(_.objectEnd)break;u[_.data.name]=_.data.value,s+=_.size}if(s<=i-3){9===(16777215&r.getUint32(s-1,!h))&&(s+=3)}break;case 8:u={},s+=4;var m=0;for(9==(16777215&r.getUint32(i-4,!h))&&(m=3);s<i-8;){var p=e.parseVariable(t,n+s,i-s-m);if(p.objectEnd)break;u[p.data.name]=p.data.value,s+=p.size}if(s<=i-3){9===(16777215&r.getUint32(s-1,!h))&&(s+=3)}break;case 9:u=void 0,s=1,l=!0;break;case 10:u=[];var v=r.getUint32(1,!h);s+=4;for(var g=0;g<v;g++){var y=e.parseValue(t,n+s,i-s);u.push(y.data),s+=y.size}break;case 11:var E=e.parseDate(t,n+1,i-1);u=E.data,s+=E.size;break;case 12:var b=e.parseString(t,n+1,i-1);u=b.data,s+=b.size;break;default:s=i,o.default.w(\"AMF\",\"Unsupported AMF value type \"+a)}}catch(e){o.default.e(\"AMF\",e.toString())}return{data:u,size:s,objectEnd:l}}}]),e}();n.default=f},{\"../utils/exception.js\":40,\"../utils/logger.js\":41,\"../utils/utf8-conv.js\":44}],16:[function(e,t,n){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0});var i={OK:\"OK\",FORMAT_ERROR:\"FormatError\",FORMAT_UNSUPPORTED:\"FormatUnsupported\",CODEC_UNSUPPORTED:\"CodecUnsupported\"};n.default=i},{}],17:[function(e,t,n){\"use strict\";function i(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}Object.defineProperty(n,\"__esModule\",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),s=e(\"../utils/exception.js\"),a=function(){function e(t){i(this,e),this.TAG=\"ExpGolomb\",this._buffer=t,this._buffer_index=0,this._total_bytes=t.byteLength,this._total_bits=8*t.byteLength,this._current_word=0,this._current_word_bits_left=0}return r(e,[{key:\"destroy\",value:function(){this._buffer=null}},{key:\"_fillCurrentWord\",value:function(){var e=this._total_bytes-this._buffer_index;if(e<=0)throw new s.IllegalStateException(\"ExpGolomb: _fillCurrentWord() but no bytes available\");var t=Math.min(4,e),n=new Uint8Array(4);n.set(this._buffer.subarray(this._buffer_index,this._buffer_index+t)),this._current_word=new DataView(n.buffer).getUint32(0,!1),this._buffer_index+=t,this._current_word_bits_left=8*t}},{key:\"readBits\",value:function(e){if(e>32)throw new s.InvalidArgumentException(\"ExpGolomb: readBits() bits exceeded max 32bits!\");if(e<=this._current_word_bits_left){var t=this._current_word>>>32-e;return this._current_word<<=e,this._current_word_bits_left-=e,t}var n=this._current_word_bits_left?this._current_word:0;n>>>=32-this._current_word_bits_left;var i=e-this._current_word_bits_left;this._fillCurrentWord();var r=Math.min(i,this._current_word_bits_left),a=this._current_word>>>32-r;return this._current_word<<=r,this._current_word_bits_left-=r,n=n<<r|a}},{key:\"readBool\",value:function(){return 1===this.readBits(1)}},{key:\"readByte\",value:function(){return this.readBits(8)}},{key:\"_skipLeadingZero\",value:function(){var e=void 0;for(e=0;e<this._current_word_bits_left;e++)if(0!=(this._current_word&2147483648>>>e))return this._current_word<<=e,this._current_word_bits_left-=e,e;return this._fillCurrentWord(),e+this._skipLeadingZero()}},{key:\"readUEG\",value:function(){var e=this._skipLeadingZero();return this.readBits(e+1)-1}},{key:\"readSEG\",value:function(){var e=this.readUEG();return 1&e?e+1>>>1:-1*(e>>>1)}}]),e}();n.default=a},{\"../utils/exception.js\":40}],18:[function(e,t,n){\"use strict\";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function s(e,t){return e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3]}Object.defineProperty(n,\"__esModule\",{value:!0});var a=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},o=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),u=e(\"../utils/logger.js\"),l=i(u),d=e(\"./amf-parser.js\"),h=i(d),f=e(\"./sps-parser.js\"),c=i(f),_=e(\"./demux-errors.js\"),m=i(_),p=e(\"../core/media-info.js\"),v=i(p),g=e(\"../utils/exception.js\"),y=function(){function e(t,n){r(this,e),this.TAG=\"FLVDemuxer\",this._config=n,this._onError=null,this._onMediaInfo=null,this._onMetaDataArrived=null,this._onScriptDataArrived=null,this._onTrackMetadata=null,this._onDataAvailable=null,this._dataOffset=t.dataOffset,this._firstParse=!0,this._dispatch=!1,this._hasAudio=t.hasAudioTrack,this._hasVideo=t.hasVideoTrack,this._hasAudioFlagOverrided=!1,this._hasVideoFlagOverrided=!1,this._audioInitialMetadataDispatched=!1,this._videoInitialMetadataDispatched=!1,this._mediaInfo=new v.default,this._mediaInfo.hasAudio=this._hasAudio,this._mediaInfo.hasVideo=this._hasVideo,this._metadata=null,this._audioMetadata=null,this._videoMetadata=null,this._naluLengthSize=4,this._timestampBase=0,this._timescale=1e3,this._duration=0,this._durationOverrided=!1,this._referenceFrameRate={fixed:!0,fps:23.976,fps_num:23976,fps_den:1e3},this._flvSoundRateTable=[5500,11025,22050,44100,48e3],this._mpegSamplingRates=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350],this._mpegAudioV10SampleRateTable=[44100,48e3,32e3,0],this._mpegAudioV20SampleRateTable=[22050,24e3,16e3,0],this._mpegAudioV25SampleRateTable=[11025,12e3,8e3,0],this._mpegAudioL1BitRateTable=[0,32,64,96,128,160,192,224,256,288,320,352,384,416,448,-1],this._mpegAudioL2BitRateTable=[0,32,48,56,64,80,96,112,128,160,192,224,256,320,384,-1],this._mpegAudioL3BitRateTable=[0,32,40,48,56,64,80,96,112,128,160,192,224,256,320,-1],this._videoTrack={type:\"video\",id:1,sequenceNumber:0,samples:[],length:0},this._audioTrack={type:\"audio\",id:2,sequenceNumber:0,samples:[],length:0},this._littleEndian=function(){var e=new ArrayBuffer(2);return new DataView(e).setInt16(0,256,!0),256===new Int16Array(e)[0]}()}return o(e,[{key:\"destroy\",value:function(){this._mediaInfo=null,this._metadata=null,this._audioMetadata=null,this._videoMetadata=null,this._videoTrack=null,this._audioTrack=null,this._onError=null,this._onMediaInfo=null,this._onMetaDataArrived=null,this._onScriptDataArrived=null,this._onTrackMetadata=null,this._onDataAvailable=null}},{key:\"bindDataSource\",value:function(e){return e.onDataArrival=this.parseChunks.bind(this),this}},{key:\"resetMediaInfo\",value:function(){this._mediaInfo=new v.default}},{key:\"_isInitialMetadataDispatched\",value:function(){return this._hasAudio&&this._hasVideo?this._audioInitialMetadataDispatched&&this._videoInitialMetadataDispatched:this._hasAudio&&!this._hasVideo?this._audioInitialMetadataDispatched:!(this._hasAudio||!this._hasVideo)&&this._videoInitialMetadataDispatched}},{key:\"parseChunks\",value:function(t,n){if(!(this._onError&&this._onMediaInfo&&this._onTrackMetadata&&this._onDataAvailable))throw new g.IllegalStateException(\"Flv: onError & onMediaInfo & onTrackMetadata & onDataAvailable callback must be specified\");var i=0,r=this._littleEndian;if(0===n){if(!(t.byteLength>13))return 0;i=e.probe(t).dataOffset}if(this._firstParse){this._firstParse=!1,n+i!==this._dataOffset&&l.default.w(this.TAG,\"First time parsing but chunk byteStart invalid!\");0!==new DataView(t,i).getUint32(0,!r)&&l.default.w(this.TAG,\"PrevTagSize0 !== 0 !!!\"),i+=4}for(;i<t.byteLength;){this._dispatch=!0;var s=new DataView(t,i);if(i+11+4>t.byteLength)break;var a=s.getUint8(0),o=16777215&s.getUint32(0,!r);if(i+11+o+4>t.byteLength)break;if(8===a||9===a||18===a){var u=s.getUint8(4),d=s.getUint8(5),h=s.getUint8(6),f=s.getUint8(7),c=h|d<<8|u<<16|f<<24;0!==(16777215&s.getUint32(7,!r))&&l.default.w(this.TAG,\"Meet tag which has StreamID != 0!\");var _=i+11;switch(a){case 8:this._parseAudioData(t,_,o,c);break;case 9:this._parseVideoData(t,_,o,c,n+i);break;case 18:this._parseScriptData(t,_,o)}var m=s.getUint32(11+o,!r);m!==11+o&&l.default.w(this.TAG,\"Invalid PrevTagSize \"+m),i+=11+o+4}else l.default.w(this.TAG,\"Unsupported tag type \"+a+\", skipped\"),i+=11+o+4}return this._isInitialMetadataDispatched()&&this._dispatch&&(this._audioTrack.length||this._videoTrack.length)&&this._onDataAvailable(this._audioTrack,this._videoTrack),i}},{key:\"_parseScriptData\",value:function(e,t,n){var i=h.default.parseScriptData(e,t,n);if(i.hasOwnProperty(\"onMetaData\")){if(null==i.onMetaData||\"object\"!==a(i.onMetaData))return void l.default.w(this.TAG,\"Invalid onMetaData structure!\");this._metadata&&l.default.w(this.TAG,\"Found another onMetaData tag!\"),this._metadata=i;var r=this._metadata.onMetaData;if(this._onMetaDataArrived&&this._onMetaDataArrived(Object.assign({},r)),\"boolean\"==typeof r.hasAudio&&!1===this._hasAudioFlagOverrided&&(this._hasAudio=r.hasAudio,this._mediaInfo.hasAudio=this._hasAudio),\"boolean\"==typeof r.hasVideo&&!1===this._hasVideoFlagOverrided&&(this._hasVideo=r.hasVideo,this._mediaInfo.hasVideo=this._hasVideo),\"number\"==typeof r.audiodatarate&&(this._mediaInfo.audioDataRate=r.audiodatarate),\"number\"==typeof r.videodatarate&&(this._mediaInfo.videoDataRate=r.videodatarate),\"number\"==typeof r.width&&(this._mediaInfo.width=r.width),\"number\"==typeof r.height&&(this._mediaInfo.height=r.height),\"number\"==typeof r.duration){if(!this._durationOverrided){var s=Math.floor(r.duration*this._timescale);this._duration=s,this._mediaInfo.duration=s}}else this._mediaInfo.duration=0;if(\"number\"==typeof r.framerate){var o=Math.floor(1e3*r.framerate);if(o>0){var u=o/1e3;this._referenceFrameRate.fixed=!0,this._referenceFrameRate.fps=u,this._referenceFrameRate.fps_num=o,this._referenceFrameRate.fps_den=1e3,this._mediaInfo.fps=u}}if(\"object\"===a(r.keyframes)){this._mediaInfo.hasKeyframesIndex=!0;var d=r.keyframes;this._mediaInfo.keyframesIndex=this._parseKeyframesIndex(d),r.keyframes=null}else this._mediaInfo.hasKeyframesIndex=!1;this._dispatch=!1,this._mediaInfo.metadata=r,l.default.v(this.TAG,\"Parsed onMetaData\"),this._mediaInfo.isComplete()&&this._onMediaInfo(this._mediaInfo)}Object.keys(i).length>0&&this._onScriptDataArrived&&this._onScriptDataArrived(Object.assign({},i))}},{key:\"_parseKeyframesIndex\",value:function(e){for(var t=[],n=[],i=1;i<e.times.length;i++){var r=this._timestampBase+Math.floor(1e3*e.times[i]);t.push(r),n.push(e.filepositions[i])}return{times:t,filepositions:n}}},{key:\"_parseAudioData\",value:function(e,t,n,i){if(n<=1)return void l.default.w(this.TAG,\"Flv: Invalid audio packet, missing SoundData payload!\");if(!0!==this._hasAudioFlagOverrided||!1!==this._hasAudio){var r=(this._littleEndian,new DataView(e,t,n)),s=r.getUint8(0),a=s>>>4;if(2!==a&&10!==a)return void this._onError(m.default.CODEC_UNSUPPORTED,\"Flv: Unsupported audio codec idx: \"+a);var o=0,u=(12&s)>>>2;if(!(u>=0&&u<=4))return void this._onError(m.default.FORMAT_ERROR,\"Flv: Invalid audio sample rate idx: \"+u);o=this._flvSoundRateTable[u];var d=1&s,h=this._audioMetadata,f=this._audioTrack;if(h||(!1===this._hasAudio&&!1===this._hasAudioFlagOverrided&&(this._hasAudio=!0,this._mediaInfo.hasAudio=!0),h=this._audioMetadata={},h.type=\"audio\",h.id=f.id,h.timescale=this._timescale,h.duration=this._duration,h.audioSampleRate=o,h.channelCount=0===d?1:2),10===a){var c=this._parseAACAudioData(e,t+1,n-1);if(void 0==c)return;if(0===c.packetType){h.config&&l.default.w(this.TAG,\"Found another AudioSpecificConfig!\");var _=c.data;h.audioSampleRate=_.samplingRate,h.channelCount=_.channelCount,h.codec=_.codec,h.originalCodec=_.originalCodec,h.config=_.config,\r\nh.refSampleDuration=1024/h.audioSampleRate*h.timescale,l.default.v(this.TAG,\"Parsed AudioSpecificConfig\"),this._isInitialMetadataDispatched()?this._dispatch&&(this._audioTrack.length||this._videoTrack.length)&&this._onDataAvailable(this._audioTrack,this._videoTrack):this._audioInitialMetadataDispatched=!0,this._dispatch=!1,this._onTrackMetadata(\"audio\",h);var p=this._mediaInfo;p.audioCodec=h.originalCodec,p.audioSampleRate=h.audioSampleRate,p.audioChannelCount=h.channelCount,p.hasVideo?null!=p.videoCodec&&(p.mimeType='video/x-flv; codecs=\"'+p.videoCodec+\",\"+p.audioCodec+'\"'):p.mimeType='video/x-flv; codecs=\"'+p.audioCodec+'\"',p.isComplete()&&this._onMediaInfo(p)}else if(1===c.packetType){var v=this._timestampBase+i,g={unit:c.data,length:c.data.byteLength,dts:v,pts:v};f.samples.push(g),f.length+=c.data.length}else l.default.e(this.TAG,\"Flv: Unsupported AAC data type \"+c.packetType)}else if(2===a){if(!h.codec){var y=this._parseMP3AudioData(e,t+1,n-1,!0);if(void 0==y)return;h.audioSampleRate=y.samplingRate,h.channelCount=y.channelCount,h.codec=y.codec,h.originalCodec=y.originalCodec,h.refSampleDuration=1152/h.audioSampleRate*h.timescale,l.default.v(this.TAG,\"Parsed MPEG Audio Frame Header\"),this._audioInitialMetadataDispatched=!0,this._onTrackMetadata(\"audio\",h);var E=this._mediaInfo;E.audioCodec=h.codec,E.audioSampleRate=h.audioSampleRate,E.audioChannelCount=h.channelCount,E.audioDataRate=y.bitRate,E.hasVideo?null!=E.videoCodec&&(E.mimeType='video/x-flv; codecs=\"'+E.videoCodec+\",\"+E.audioCodec+'\"'):E.mimeType='video/x-flv; codecs=\"'+E.audioCodec+'\"',E.isComplete()&&this._onMediaInfo(E)}var b=this._parseMP3AudioData(e,t+1,n-1,!1);if(void 0==b)return;var S=this._timestampBase+i,k={unit:b,length:b.byteLength,dts:S,pts:S};f.samples.push(k),f.length+=b.length}}}},{key:\"_parseAACAudioData\",value:function(e,t,n){if(n<=1)return void l.default.w(this.TAG,\"Flv: Invalid AAC packet, missing AACPacketType or/and Data!\");var i={},r=new Uint8Array(e,t,n);return i.packetType=r[0],0===r[0]?i.data=this._parseAACAudioSpecificConfig(e,t+1,n-1):i.data=r.subarray(1),i}},{key:\"_parseAACAudioSpecificConfig\",value:function(e,t,n){var i=new Uint8Array(e,t,n),r=null,s=0,a=0,o=0,u=null;if(s=a=i[0]>>>3,(o=(7&i[0])<<1|i[1]>>>7)<0||o>=this._mpegSamplingRates.length)return void this._onError(m.default.FORMAT_ERROR,\"Flv: AAC invalid sampling frequency index!\");var l=this._mpegSamplingRates[o],d=(120&i[1])>>>3;if(d<0||d>=8)return void this._onError(m.default.FORMAT_ERROR,\"Flv: AAC invalid channel configuration\");5===s&&(u=(7&i[1])<<1|i[2]>>>7,i[2]);var h=self.navigator.userAgent.toLowerCase();return-1!==h.indexOf(\"firefox\")?o>=6?(s=5,r=new Array(4),u=o-3):(s=2,r=new Array(2),u=o):-1!==h.indexOf(\"android\")?(s=2,r=new Array(2),u=o):(s=5,u=o,r=new Array(4),o>=6?u=o-3:1===d&&(s=2,r=new Array(2),u=o)),r[0]=s<<3,r[0]|=(15&o)>>>1,r[1]=(15&o)<<7,r[1]|=(15&d)<<3,5===s&&(r[1]|=(15&u)>>>1,r[2]=(1&u)<<7,r[2]|=8,r[3]=0),{config:r,samplingRate:l,channelCount:d,codec:\"mp4a.40.\"+s,originalCodec:\"mp4a.40.\"+a}}},{key:\"_parseMP3AudioData\",value:function(e,t,n,i){if(n<4)return void l.default.w(this.TAG,\"Flv: Invalid MP3 packet, header missing!\");var r=(this._littleEndian,new Uint8Array(e,t,n)),s=null;if(i){if(255!==r[0])return;var a=r[1]>>>3&3,o=(6&r[1])>>1,u=(240&r[2])>>>4,d=(12&r[2])>>>2,h=r[3]>>>6&3,f=3!==h?2:1,c=0,_=0;switch(a){case 0:c=this._mpegAudioV25SampleRateTable[d];break;case 2:c=this._mpegAudioV20SampleRateTable[d];break;case 3:c=this._mpegAudioV10SampleRateTable[d]}switch(o){case 1:34,u<this._mpegAudioL3BitRateTable.length&&(_=this._mpegAudioL3BitRateTable[u]);break;case 2:33,u<this._mpegAudioL2BitRateTable.length&&(_=this._mpegAudioL2BitRateTable[u]);break;case 3:32,u<this._mpegAudioL1BitRateTable.length&&(_=this._mpegAudioL1BitRateTable[u])}s={bitRate:_,samplingRate:c,channelCount:f,codec:\"mp3\",originalCodec:\"mp3\"}}else s=r;return s}},{key:\"_parseVideoData\",value:function(e,t,n,i,r){if(n<=1)return void l.default.w(this.TAG,\"Flv: Invalid video packet, missing VideoData payload!\");if(!0!==this._hasVideoFlagOverrided||!1!==this._hasVideo){var s=new Uint8Array(e,t,n)[0],a=(240&s)>>>4,o=15&s;if(7!==o)return void this._onError(m.default.CODEC_UNSUPPORTED,\"Flv: Unsupported codec in video frame: \"+o);this._parseAVCVideoPacket(e,t+1,n-1,i,r,a)}}},{key:\"_parseAVCVideoPacket\",value:function(e,t,n,i,r,s){if(n<4)return void l.default.w(this.TAG,\"Flv: Invalid AVC packet, missing AVCPacketType or/and CompositionTime\");var a=this._littleEndian,o=new DataView(e,t,n),u=o.getUint8(0),d=16777215&o.getUint32(0,!a),h=d<<8>>8;if(0===u)this._parseAVCDecoderConfigurationRecord(e,t+4,n-4);else if(1===u)this._parseAVCVideoData(e,t+4,n-4,i,r,s,h);else if(2!==u)return void this._onError(m.default.FORMAT_ERROR,\"Flv: Invalid video packet type \"+u)}},{key:\"_parseAVCDecoderConfigurationRecord\",value:function(e,t,n){if(n<7)return void l.default.w(this.TAG,\"Flv: Invalid AVCDecoderConfigurationRecord, lack of data!\");var i=this._videoMetadata,r=this._videoTrack,s=this._littleEndian,a=new DataView(e,t,n);i?void 0!==i.avcc&&l.default.w(this.TAG,\"Found another AVCDecoderConfigurationRecord!\"):(!1===this._hasVideo&&!1===this._hasVideoFlagOverrided&&(this._hasVideo=!0,this._mediaInfo.hasVideo=!0),i=this._videoMetadata={},i.type=\"video\",i.id=r.id,i.timescale=this._timescale,i.duration=this._duration);var o=a.getUint8(0),u=a.getUint8(1);a.getUint8(2),a.getUint8(3);if(1!==o||0===u)return void this._onError(m.default.FORMAT_ERROR,\"Flv: Invalid AVCDecoderConfigurationRecord\");if(this._naluLengthSize=1+(3&a.getUint8(4)),3!==this._naluLengthSize&&4!==this._naluLengthSize)return void this._onError(m.default.FORMAT_ERROR,\"Flv: Strange NaluLengthSizeMinusOne: \"+(this._naluLengthSize-1));var d=31&a.getUint8(5);if(0===d)return void this._onError(m.default.FORMAT_ERROR,\"Flv: Invalid AVCDecoderConfigurationRecord: No SPS\");d>1&&l.default.w(this.TAG,\"Flv: Strange AVCDecoderConfigurationRecord: SPS Count = \"+d);for(var h=6,f=0;f<d;f++){var _=a.getUint16(h,!s);if(h+=2,0!==_){var p=new Uint8Array(e,t+h,_);h+=_;var v=c.default.parseSPS(p);if(0===f){i.codecWidth=v.codec_size.width,i.codecHeight=v.codec_size.height,i.presentWidth=v.present_size.width,i.presentHeight=v.present_size.height,i.profile=v.profile_string,i.level=v.level_string,i.bitDepth=v.bit_depth,i.chromaFormat=v.chroma_format,i.sarRatio=v.sar_ratio,i.frameRate=v.frame_rate,!1!==v.frame_rate.fixed&&0!==v.frame_rate.fps_num&&0!==v.frame_rate.fps_den||(i.frameRate=this._referenceFrameRate);var g=i.frameRate.fps_den,y=i.frameRate.fps_num;i.refSampleDuration=i.timescale*(g/y);for(var E=p.subarray(1,4),b=\"avc1.\",S=0;S<3;S++){var k=E[S].toString(16);k.length<2&&(k=\"0\"+k),b+=k}i.codec=b;var L=this._mediaInfo;L.width=i.codecWidth,L.height=i.codecHeight,L.fps=i.frameRate.fps,L.profile=i.profile,L.level=i.level,L.refFrames=v.ref_frames,L.chromaFormat=v.chroma_format_string,L.sarNum=i.sarRatio.width,L.sarDen=i.sarRatio.height,L.videoCodec=b,L.hasAudio?null!=L.audioCodec&&(L.mimeType='video/x-flv; codecs=\"'+L.videoCodec+\",\"+L.audioCodec+'\"'):L.mimeType='video/x-flv; codecs=\"'+L.videoCodec+'\"',L.isComplete()&&this._onMediaInfo(L)}}}var R=a.getUint8(h);if(0===R)return void this._onError(m.default.FORMAT_ERROR,\"Flv: Invalid AVCDecoderConfigurationRecord: No PPS\");R>1&&l.default.w(this.TAG,\"Flv: Strange AVCDecoderConfigurationRecord: PPS Count = \"+R),h++;for(var A=0;A<R;A++){var w=a.getUint16(h,!s);h+=2,0!==w&&(h+=w)}i.avcc=new Uint8Array(n),i.avcc.set(new Uint8Array(e,t,n),0),l.default.v(this.TAG,\"Parsed AVCDecoderConfigurationRecord\"),this._isInitialMetadataDispatched()?this._dispatch&&(this._audioTrack.length||this._videoTrack.length)&&this._onDataAvailable(this._audioTrack,this._videoTrack):this._videoInitialMetadataDispatched=!0,this._dispatch=!1,this._onTrackMetadata(\"video\",i)}},{key:\"_parseAVCVideoData\",value:function(e,t,n,i,r,s,a){for(var o=this._littleEndian,u=new DataView(e,t,n),d=[],h=0,f=0,c=this._naluLengthSize,_=this._timestampBase+i,m=1===s;f<n;){if(f+4>=n){l.default.w(this.TAG,\"Malformed Nalu near timestamp \"+_+\", offset = \"+f+\", dataSize = \"+n);break}var p=u.getUint32(f,!o);if(3===c&&(p>>>=8),p>n-c)return void l.default.w(this.TAG,\"Malformed Nalus near timestamp \"+_+\", NaluSize > DataSize!\");var v=31&u.getUint8(f+c);5===v&&(m=!0);var g=new Uint8Array(e,t+f,c+p),y={type:v,data:g};d.push(y),h+=g.byteLength,f+=c+p}if(d.length){var E=this._videoTrack,b={units:d,length:h,isKeyframe:m,dts:_,cts:a,pts:_+a};m&&(b.fileposition=r),E.samples.push(b),E.length+=h}}},{key:\"onTrackMetadata\",get:function(){return this._onTrackMetadata},set:function(e){this._onTrackMetadata=e}},{key:\"onMediaInfo\",get:function(){return this._onMediaInfo},set:function(e){this._onMediaInfo=e}},{key:\"onMetaDataArrived\",get:function(){return this._onMetaDataArrived},set:function(e){this._onMetaDataArrived=e}},{key:\"onScriptDataArrived\",get:function(){return this._onScriptDataArrived},set:function(e){this._onScriptDataArrived=e}},{key:\"onError\",get:function(){return this._onError},set:function(e){this._onError=e}},{key:\"onDataAvailable\",get:function(){return this._onDataAvailable},set:function(e){this._onDataAvailable=e}},{key:\"timestampBase\",get:function(){return this._timestampBase},set:function(e){this._timestampBase=e}},{key:\"overridedDuration\",get:function(){return this._duration},set:function(e){this._durationOverrided=!0,this._duration=e,this._mediaInfo.duration=e}},{key:\"overridedHasAudio\",set:function(e){this._hasAudioFlagOverrided=!0,this._hasAudio=e,this._mediaInfo.hasAudio=e}},{key:\"overridedHasVideo\",set:function(e){this._hasVideoFlagOverrided=!0,this._hasVideo=e,this._mediaInfo.hasVideo=e}}],[{key:\"probe\",value:function(e){var t=new Uint8Array(e),n={match:!1};if(70!==t[0]||76!==t[1]||86!==t[2]||1!==t[3])return n;var i=(4&t[4])>>>2!=0,r=0!=(1&t[4]),a=s(t,5);return a<9?n:{match:!0,consumed:a,dataOffset:a,hasAudioTrack:i,hasVideoTrack:r}}}]),e}();n.default=y},{\"../core/media-info.js\":7,\"../utils/exception.js\":40,\"../utils/logger.js\":41,\"./amf-parser.js\":15,\"./demux-errors.js\":16,\"./sps-parser.js\":19}],19:[function(e,t,n){\"use strict\";function i(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}Object.defineProperty(n,\"__esModule\",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),s=e(\"./exp-golomb.js\"),a=function(e){return e&&e.__esModule?e:{default:e}}(s),o=function(){function e(){i(this,e)}return r(e,null,[{key:\"_ebsp2rbsp\",value:function(e){for(var t=e,n=t.byteLength,i=new Uint8Array(n),r=0,s=0;s<n;s++)s>=2&&3===t[s]&&0===t[s-1]&&0===t[s-2]||(i[r]=t[s],r++);return new Uint8Array(i.buffer,0,r)}},{key:\"parseSPS\",value:function(t){var n=e._ebsp2rbsp(t),i=new a.default(n);i.readByte();var r=i.readByte();i.readByte();var s=i.readByte();i.readUEG();var o=e.getProfileString(r),u=e.getLevelString(s),l=1,d=420,h=[0,420,422,444],f=8;if((100===r||110===r||122===r||244===r||44===r||83===r||86===r||118===r||128===r||138===r||144===r)&&(l=i.readUEG(),3===l&&i.readBits(1),l<=3&&(d=h[l]),f=i.readUEG()+8,i.readUEG(),i.readBits(1),i.readBool()))for(var c=3!==l?8:12,_=0;_<c;_++)i.readBool()&&(_<6?e._skipScalingList(i,16):e._skipScalingList(i,64));i.readUEG();var m=i.readUEG();if(0===m)i.readUEG();else if(1===m){i.readBits(1),i.readSEG(),i.readSEG();for(var p=i.readUEG(),v=0;v<p;v++)i.readSEG()}var g=i.readUEG();i.readBits(1);var y=i.readUEG(),E=i.readUEG(),b=i.readBits(1);0===b&&i.readBits(1),i.readBits(1);var S=0,k=0,L=0,R=0;i.readBool()&&(S=i.readUEG(),k=i.readUEG(),L=i.readUEG(),R=i.readUEG());var A=1,w=1,T=0,O=!0,C=0,I=0;if(i.readBool()){if(i.readBool()){var D=i.readByte(),x=[1,12,10,16,40,24,20,32,80,18,15,64,160,4,3,2],M=[1,11,11,11,33,11,11,11,33,11,11,33,99,3,2,1];D>0&&D<16?(A=x[D-1],w=M[D-1]):255===D&&(A=i.readByte()<<8|i.readByte(),w=i.readByte()<<8|i.readByte())}if(i.readBool()&&i.readBool(),i.readBool()&&(i.readBits(4),i.readBool()&&i.readBits(24)),i.readBool()&&(i.readUEG(),i.readUEG()),i.readBool()){var B=i.readBits(32),j=i.readBits(32);O=i.readBool(),C=j,I=2*B,T=C/I}}var P=1;1===A&&1===w||(P=A/w);var U=0,N=0;if(0===l)U=1,N=2-b;else{var F=3===l?1:2,G=1===l?2:1;U=F,N=G*(2-b)}var V=16*(y+1),z=16*(E+1)*(2-b);V-=(S+k)*U,z-=(L+R)*N;var H=Math.ceil(V*P);return i.destroy(),i=null,{profile_string:o,level_string:u,bit_depth:f,ref_frames:g,chroma_format:d,chroma_format_string:e.getChromaFormatString(d),frame_rate:{fixed:O,fps:T,fps_den:I,fps_num:C},sar_ratio:{width:A,height:w},codec_size:{width:V,height:z},present_size:{width:H,height:z}}}},{key:\"_skipScalingList\",value:function(e,t){for(var n=8,i=8,r=0,s=0;s<t;s++)0!==i&&(r=e.readSEG(),i=(n+r+256)%256),n=0===i?n:i}},{key:\"getProfileString\",value:function(e){switch(e){case 66:return\"Baseline\";case 77:return\"Main\";case 88:return\"Extended\";case 100:return\"High\";case 110:return\"High10\";case 122:return\"High422\";case 244:return\"High444\";default:return\"Unknown\"}}},{key:\"getLevelString\",value:function(e){return(e/10).toFixed(1)}},{key:\"getChromaFormatString\",value:function(e){switch(e){case 420:return\"4:2:0\";case 422:return\"4:2:2\";case 444:return\"4:4:4\";default:return\"Unknown\"}}}]),e}();n.default=o},{\"./exp-golomb.js\":17}],20:[function(e,t,n){\"use strict\";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){var n=e;if(null==n||\"object\"!==(void 0===n?\"undefined\":o(n)))throw new S.InvalidArgumentException(\"MediaDataSource must be an javascript object!\");if(!n.hasOwnProperty(\"type\"))throw new S.InvalidArgumentException(\"MediaDataSource must has type field to indicate video file type!\");switch(n.type){case\"flv\":return new _.default(n,t);default:return new p.default(n,t)}}function s(){return h.default.supportMSEH264Playback()}function a(){return h.default.getFeatureList()}Object.defineProperty(n,\"__esModule\",{value:!0});var o=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},u=e(\"./utils/polyfill.js\"),l=i(u),d=e(\"./core/features.js\"),h=i(d),f=e(\"./io/loader.js\"),c=e(\"./player/flv-player.js\"),_=i(c),m=e(\"./player/native-player.js\"),p=i(m),v=e(\"./player/player-events.js\"),g=i(v),y=e(\"./player/player-errors.js\"),E=e(\"./utils/logging-control.js\"),b=i(E),S=e(\"./utils/exception.js\");l.default.install();var k={};k.createPlayer=r,k.isSupported=s,k.getFeatureList=a,k.BaseLoader=f.BaseLoader,k.LoaderStatus=f.LoaderStatus,k.LoaderErrors=f.LoaderErrors,k.Events=g.default,k.ErrorTypes=y.ErrorTypes,k.ErrorDetails=y.ErrorDetails,k.FlvPlayer=_.default,k.NativePlayer=p.default,k.LoggingControl=b.default,Object.defineProperty(k,\"version\",{enumerable:!0,get:function(){return\"1.5.0\"}}),n.default=k},{\"./core/features.js\":6,\"./io/loader.js\":24,\"./player/flv-player.js\":32,\"./player/native-player.js\":33,\"./player/player-errors.js\":34,\"./player/player-events.js\":35,\"./utils/exception.js\":40,\"./utils/logging-control.js\":42,\"./utils/polyfill.js\":43}],21:[function(e,t,n){\"use strict\";t.exports=e(\"./flv.js\").default},{\"./flv.js\":20}],22:[function(e,t,n){\"use strict\";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function s(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(n,\"__esModule\",{value:!0});var o=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},u=function e(t,n,i){null===t&&(t=Function.prototype);var r=Object.getOwnPropertyDescriptor(t,n);if(void 0===r){var s=Object.getPrototypeOf(t);return null===s?void 0:e(s,n,i)}if(\"value\"in r)return r.value;var a=r.get;if(void 0!==a)return a.call(i)},l=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),d=e(\"../utils/logger.js\"),h=(i(d),e(\"../utils/browser.js\")),f=i(h),c=e(\"./loader.js\"),_=e(\"../utils/exception.js\"),m=function(e){function t(e,n){r(this,t);var i=s(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,\"fetch-stream-loader\"));return i.TAG=\"FetchStreamLoader\",i._seekHandler=e,i._config=n,i._needStash=!0,i._requestAbort=!1,i._contentLength=null,i._receivedLength=0,i}return a(t,e),l(t,null,[{key:\"isSupported\",value:function(){try{var e=f.default.msedge&&f.default.version.minor>=15048,t=!f.default.msedge||e;return self.fetch&&self.ReadableStream&&t}catch(e){return!1}}}]),l(t,[{key:\"destroy\",value:function(){this.isWorking()&&this.abort(),u(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),\"destroy\",this).call(this)}},{key:\"open\",value:function(e,t){var n=this;this._dataSource=e,this._range=t;var i=e.url;this._config.reuseRedirectedURL&&void 0!=e.redirectedURL&&(i=e.redirectedURL);var r=this._seekHandler.getConfig(i,t),s=new self.Headers;if(\"object\"===o(r.headers)){var a=r.headers;for(var u in a)a.hasOwnProperty(u)&&s.append(u,a[u])}var l={method:\"GET\",headers:s,mode:\"cors\",cache:\"default\",referrerPolicy:\"no-referrer-when-downgrade\"};if(\"object\"===o(this._config.headers))for(var d in this._config.headers)s.append(d,this._config.headers[d]);!1===e.cors&&(l.mode=\"same-origin\"),e.withCredentials&&(l.credentials=\"include\"),e.referrerPolicy&&(l.referrerPolicy=e.referrerPolicy),this._status=c.LoaderStatus.kConnecting,self.fetch(r.url,l).then(function(e){if(n._requestAbort)return n._requestAbort=!1,void(n._status=c.LoaderStatus.kIdle);if(e.ok&&e.status>=200&&e.status<=299){if(e.url!==r.url&&n._onURLRedirect){var t=n._seekHandler.removeURLParameters(e.url);n._onURLRedirect(t)}var i=e.headers.get(\"Content-Length\");return null!=i&&(n._contentLength=parseInt(i),0!==n._contentLength&&n._onContentLengthKnown&&n._onContentLengthKnown(n._contentLength)),n._pump.call(n,e.body.getReader())}if(n._status=c.LoaderStatus.kError,!n._onError)throw new _.RuntimeException(\"FetchStreamLoader: Http code invalid, \"+e.status+\" \"+e.statusText);n._onError(c.LoaderErrors.HTTP_STATUS_CODE_INVALID,{code:e.status,msg:e.statusText})}).catch(function(e){if(n._status=c.LoaderStatus.kError,!n._onError)throw e;n._onError(c.LoaderErrors.EXCEPTION,{code:-1,msg:e.message})})}},{key:\"abort\",value:function(){this._requestAbort=!0}},{key:\"_pump\",value:function(e){var t=this;return e.read().then(function(n){if(n.done)if(null!==t._contentLength&&t._receivedLength<t._contentLength){t._status=c.LoaderStatus.kError;var i=c.LoaderErrors.EARLY_EOF,r={code:-1,msg:\"Fetch stream meet Early-EOF\"};if(!t._onError)throw new _.RuntimeException(r.msg);t._onError(i,r)}else t._status=c.LoaderStatus.kComplete,t._onComplete&&t._onComplete(t._range.from,t._range.from+t._receivedLength-1);else{if(!0===t._requestAbort)return t._requestAbort=!1,t._status=c.LoaderStatus.kComplete,e.cancel();t._status=c.LoaderStatus.kBuffering;var s=n.value.buffer,a=t._range.from+t._receivedLength;t._receivedLength+=s.byteLength,t._onDataArrival&&t._onDataArrival(s,a,t._receivedLength),t._pump(e)}}).catch(function(e){if(11!==e.code||!f.default.msedge){t._status=c.LoaderStatus.kError;var n=0,i=null;if(19!==e.code&&\"network error\"!==e.message||!(null===t._contentLength||null!==t._contentLength&&t._receivedLength<t._contentLength)?(n=c.LoaderErrors.EXCEPTION,i={code:e.code,msg:e.message}):(n=c.LoaderErrors.EARLY_EOF,i={code:e.code,msg:\"Fetch stream meet Early-EOF\"}),!t._onError)throw new _.RuntimeException(i.msg);t._onError(n,i)}})}}]),t}(c.BaseLoader);n.default=m},{\"../utils/browser.js\":39,\"../utils/exception.js\":40,\"../utils/logger.js\":41,\"./loader.js\":24}],23:[function(e,t,n){\"use strict\";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}Object.defineProperty(n,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),a=e(\"../utils/logger.js\"),o=i(a),u=e(\"./speed-sampler.js\"),l=i(u),d=e(\"./loader.js\"),h=e(\"./fetch-stream-loader.js\"),f=i(h),c=e(\"./xhr-moz-chunked-loader.js\"),_=i(c),m=e(\"./xhr-msstream-loader.js\"),p=(i(m),e(\"./xhr-range-loader.js\")),v=i(p),g=e(\"./websocket-loader.js\"),y=i(g),E=e(\"./range-seek-handler.js\"),b=i(E),S=e(\"./param-seek-handler.js\"),k=i(S),L=e(\"../utils/exception.js\"),R=function(){function e(t,n,i){r(this,e),this.TAG=\"IOController\",this._config=n,this._extraData=i,this._stashInitialSize=393216,void 0!=n.stashInitialSize&&n.stashInitialSize>0&&(this._stashInitialSize=n.stashInitialSize),this._stashUsed=0,this._stashSize=this._stashInitialSize,this._bufferSize=3145728,this._stashBuffer=new ArrayBuffer(this._bufferSize),this._stashByteStart=0,this._enableStash=!0,!1===n.enableStashBuffer&&(this._enableStash=!1),this._loader=null,this._loaderClass=null,this._seekHandler=null,this._dataSource=t,this._isWebSocketURL=/wss?:\\/\\/(.+?)/.test(t.url),this._refTotalLength=t.filesize?t.filesize:null,this._totalLength=this._refTotalLength,this._fullRequestFlag=!1,this._currentRange=null,this._redirectedURL=null,this._speedNormalized=0,this._speedSampler=new l.default,this._speedNormalizeList=[64,128,256,384,512,768,1024,1536,2048,3072,4096],this._isEarlyEofReconnecting=!1,this._paused=!1,this._resumeFrom=0,this._onDataArrival=null,this._onSeeked=null,this._onError=null,this._onComplete=null,this._onRedirect=null,this._onRecoveredEarlyEof=null,this._selectSeekHandler(),this._selectLoader(),this._createLoader()}return s(e,[{key:\"destroy\",value:function(){this._loader.isWorking()&&this._loader.abort(),this._loader.destroy(),this._loader=null,this._loaderClass=null,this._dataSource=null,this._stashBuffer=null,this._stashUsed=this._stashSize=this._bufferSize=this._stashByteStart=0,this._currentRange=null,this._speedSampler=null,this._isEarlyEofReconnecting=!1,this._onDataArrival=null,this._onSeeked=null,this._onError=null,this._onComplete=null,this._onRedirect=null,this._onRecoveredEarlyEof=null,this._extraData=null}},{key:\"isWorking\",value:function(){return this._loader&&this._loader.isWorking()&&!this._paused}},{key:\"isPaused\",value:function(){return this._paused}},{key:\"_selectSeekHandler\",value:function(){var e=this._config;if(\"range\"===e.seekType)this._seekHandler=new b.default(this._config.rangeLoadZeroStart);else if(\"param\"===e.seekType){var t=e.seekParamStart||\"bstart\",n=e.seekParamEnd||\"bend\";this._seekHandler=new k.default(t,n)}else{if(\"custom\"!==e.seekType)throw new L.InvalidArgumentException(\"Invalid seekType in config: \"+e.seekType);if(\"function\"!=typeof e.customSeekHandler)throw new L.InvalidArgumentException(\"Custom seekType specified in config but invalid customSeekHandler!\");this._seekHandler=new e.customSeekHandler}}},{key:\"_selectLoader\",value:function(){if(null!=this._config.customLoader)this._loaderClass=this._config.customLoader;else if(this._isWebSocketURL)this._loaderClass=y.default;else if(f.default.isSupported())this._loaderClass=f.default;else if(_.default.isSupported())this._loaderClass=_.default;else{if(!v.default.isSupported())throw new L.RuntimeException(\"Your browser doesn't support xhr with arraybuffer responseType!\");this._loaderClass=v.default}}},{key:\"_createLoader\",value:function(){this._loader=new this._loaderClass(this._seekHandler,this._config),!1===this._loader.needStashBuffer&&(this._enableStash=!1),this._loader.onContentLengthKnown=this._onContentLengthKnown.bind(this),this._loader.onURLRedirect=this._onURLRedirect.bind(this),this._loader.onDataArrival=this._onLoaderChunkArrival.bind(this),this._loader.onComplete=this._onLoaderComplete.bind(this),this._loader.onError=this._onLoaderError.bind(this)}},{key:\"open\",value:function(e){this._currentRange={from:0,to:-1},e&&(this._currentRange.from=e),this._speedSampler.reset(),e||(this._fullRequestFlag=!0),this._loader.open(this._dataSource,Object.assign({},this._currentRange))}},{key:\"abort\",value:function(){this._loader.abort(),this._paused&&(this._paused=!1,this._resumeFrom=0)}},{key:\"pause\",value:function(){this.isWorking()&&(this._loader.abort(),0!==this._stashUsed?(this._resumeFrom=this._stashByteStart,this._currentRange.to=this._stashByteStart-1):this._resumeFrom=this._currentRange.to+1,this._stashUsed=0,this._stashByteStart=0,this._paused=!0)}},{key:\"resume\",value:function(){if(this._paused){this._paused=!1;var e=this._resumeFrom;this._resumeFrom=0,this._internalSeek(e,!0)}}},{key:\"seek\",value:function(e){this._paused=!1,this._stashUsed=0,this._stashByteStart=0,this._internalSeek(e,!0)}},{key:\"_internalSeek\",value:function(e,t){this._loader.isWorking()&&this._loader.abort(),this._flushStashBuffer(t),this._loader.destroy(),this._loader=null;var n={from:e,to:-1};this._currentRange={from:n.from,to:-1},this._speedSampler.reset(),this._stashSize=this._stashInitialSize,this._createLoader(),this._loader.open(this._dataSource,n),this._onSeeked&&this._onSeeked()}},{key:\"updateUrl\",value:function(e){if(!e||\"string\"!=typeof e||0===e.length)throw new L.InvalidArgumentException(\"Url must be a non-empty string!\");this._dataSource.url=e}},{key:\"_expandBuffer\",value:function(e){for(var t=this._stashSize;t+1048576<e;)t*=2;if((t+=1048576)!==this._bufferSize){var n=new ArrayBuffer(t);if(this._stashUsed>0){var i=new Uint8Array(this._stashBuffer,0,this._stashUsed);new Uint8Array(n,0,t).set(i,0)}this._stashBuffer=n,this._bufferSize=t}}},{key:\"_normalizeSpeed\",value:function(e){var t=this._speedNormalizeList,n=t.length-1,i=0,r=0,s=n;if(e<t[0])return t[0];for(;r<=s;){if((i=r+Math.floor((s-r)/2))===n||e>=t[i]&&e<t[i+1])return t[i];t[i]<e?r=i+1:s=i-1}}},{key:\"_adjustStashSize\",value:function(e){var t=0;(t=this._config.isLive?e:e<512?e:e>=512&&e<=1024?Math.floor(1.5*e):2*e)>8192&&(t=8192);var n=1024*t+1048576;this._bufferSize<n&&this._expandBuffer(n),this._stashSize=1024*t}},{key:\"_dispatchChunks\",value:function(e,t){return this._currentRange.to=t+e.byteLength-1,this._onDataArrival(e,t)}},{key:\"_onURLRedirect\",value:function(e){this._redirectedURL=e,this._onRedirect&&this._onRedirect(e)}},{key:\"_onContentLengthKnown\",value:function(e){e&&this._fullRequestFlag&&(this._totalLength=e,this._fullRequestFlag=!1)}},{key:\"_onLoaderChunkArrival\",value:function(e,t,n){if(!this._onDataArrival)throw new L.IllegalStateException(\"IOController: No existing consumer (onDataArrival) callback!\");if(!this._paused){this._isEarlyEofReconnecting&&(this._isEarlyEofReconnecting=!1,this._onRecoveredEarlyEof&&this._onRecoveredEarlyEof()),this._speedSampler.addBytes(e.byteLength);var i=this._speedSampler.lastSecondKBps;if(0!==i){var r=this._normalizeSpeed(i);this._speedNormalized!==r&&(this._speedNormalized=r,this._adjustStashSize(r))}if(this._enableStash)if(0===this._stashUsed&&0===this._stashByteStart&&(this._stashByteStart=t),this._stashUsed+e.byteLength<=this._stashSize){var s=new Uint8Array(this._stashBuffer,0,this._stashSize);s.set(new Uint8Array(e),this._stashUsed),this._stashUsed+=e.byteLength}else{var a=new Uint8Array(this._stashBuffer,0,this._bufferSize);if(this._stashUsed>0){var o=this._stashBuffer.slice(0,this._stashUsed),u=this._dispatchChunks(o,this._stashByteStart);if(u<o.byteLength){if(u>0){var l=new Uint8Array(o,u);a.set(l,0),this._stashUsed=l.byteLength,this._stashByteStart+=u}}else this._stashUsed=0,this._stashByteStart+=u;this._stashUsed+e.byteLength>this._bufferSize&&(this._expandBuffer(this._stashUsed+e.byteLength),a=new Uint8Array(this._stashBuffer,0,this._bufferSize)),a.set(new Uint8Array(e),this._stashUsed),this._stashUsed+=e.byteLength}else{var d=this._dispatchChunks(e,t);if(d<e.byteLength){var h=e.byteLength-d;h>this._bufferSize&&(this._expandBuffer(h),a=new Uint8Array(this._stashBuffer,0,this._bufferSize)),a.set(new Uint8Array(e,d),0),this._stashUsed+=h,this._stashByteStart=t+d}}}else if(0===this._stashUsed){var f=this._dispatchChunks(e,t);if(f<e.byteLength){var c=e.byteLength-f;c>this._bufferSize&&this._expandBuffer(c);var _=new Uint8Array(this._stashBuffer,0,this._bufferSize);_.set(new Uint8Array(e,f),0),this._stashUsed+=c,this._stashByteStart=t+f}}else{this._stashUsed+e.byteLength>this._bufferSize&&this._expandBuffer(this._stashUsed+e.byteLength);var m=new Uint8Array(this._stashBuffer,0,this._bufferSize);m.set(new Uint8Array(e),this._stashUsed),this._stashUsed+=e.byteLength;var p=this._dispatchChunks(this._stashBuffer.slice(0,this._stashUsed),this._stashByteStart);if(p<this._stashUsed&&p>0){var v=new Uint8Array(this._stashBuffer,p);m.set(v,0)}this._stashUsed-=p,this._stashByteStart+=p}}}},{key:\"_flushStashBuffer\",value:function(e){if(this._stashUsed>0){var t=this._stashBuffer.slice(0,this._stashUsed),n=this._dispatchChunks(t,this._stashByteStart),i=t.byteLength-n;if(n<t.byteLength){if(!e){if(n>0){var r=new Uint8Array(this._stashBuffer,0,this._bufferSize),s=new Uint8Array(t,n);r.set(s,0),this._stashUsed=s.byteLength,this._stashByteStart+=n}return 0}o.default.w(this.TAG,i+\" bytes unconsumed data remain when flush buffer, dropped\")}return this._stashUsed=0,this._stashByteStart=0,i}return 0}},{key:\"_onLoaderComplete\",value:function(e,t){this._flushStashBuffer(!0),this._onComplete&&this._onComplete(this._extraData)}},{key:\"_onLoaderError\",value:function(e,t){switch(o.default.e(this.TAG,\"Loader error, code = \"+t.code+\", msg = \"+t.msg),this._flushStashBuffer(!1),this._isEarlyEofReconnecting&&(this._isEarlyEofReconnecting=!1,e=d.LoaderErrors.UNRECOVERABLE_EARLY_EOF),e){case d.LoaderErrors.EARLY_EOF:if(!this._config.isLive&&this._totalLength){var n=this._currentRange.to+1;return void(n<this._totalLength&&(o.default.w(this.TAG,\"Connection lost, trying reconnect...\"),this._isEarlyEofReconnecting=!0,this._internalSeek(n,!1)))}e=d.LoaderErrors.UNRECOVERABLE_EARLY_EOF;break;case d.LoaderErrors.UNRECOVERABLE_EARLY_EOF:case d.LoaderErrors.CONNECTING_TIMEOUT:case d.LoaderErrors.HTTP_STATUS_CODE_INVALID:case d.LoaderErrors.EXCEPTION:}if(!this._onError)throw new L.RuntimeException(\"IOException: \"+t.msg);this._onError(e,t)}},{key:\"status\",get:function(){return this._loader.status}},{key:\"extraData\",get:function(){return this._extraData},set:function(e){this._extraData=e}},{key:\"onDataArrival\",get:function(){return this._onDataArrival},set:function(e){this._onDataArrival=e}},{key:\"onSeeked\",get:function(){return this._onSeeked},set:function(e){this._onSeeked=e}},{key:\"onError\",get:function(){return this._onError},set:function(e){this._onError=e}},{key:\"onComplete\",get:function(){return this._onComplete},set:function(e){this._onComplete=e}},{key:\"onRedirect\",get:function(){return this._onRedirect},set:function(e){this._onRedirect=e}},{key:\"onRecoveredEarlyEof\",get:function(){return this._onRecoveredEarlyEof},set:function(e){this._onRecoveredEarlyEof=e}},{key:\"currentURL\",get:function(){return this._dataSource.url}},{key:\"hasRedirect\",get:function(){return null!=this._redirectedURL||void 0!=this._dataSource.redirectedURL}},{key:\"currentRedirectedURL\",get:function(){return this._redirectedURL||this._dataSource.redirectedURL}},{key:\"currentSpeed\",get:function(){return this._loaderClass===v.default?this._loader.currentSpeed:this._speedSampler.lastSecondKBps}},{key:\"loaderType\",get:function(){return this._loader.type}}]),e}();n.default=R},{\"../utils/exception.js\":40,\"../utils/logger.js\":41,\"./fetch-stream-loader.js\":22,\"./loader.js\":24,\r\n\"./param-seek-handler.js\":25,\"./range-seek-handler.js\":26,\"./speed-sampler.js\":27,\"./websocket-loader.js\":28,\"./xhr-moz-chunked-loader.js\":29,\"./xhr-msstream-loader.js\":30,\"./xhr-range-loader.js\":31}],24:[function(e,t,n){\"use strict\";function i(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}Object.defineProperty(n,\"__esModule\",{value:!0}),n.BaseLoader=n.LoaderErrors=n.LoaderStatus=void 0;var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),s=e(\"../utils/exception.js\"),a=n.LoaderStatus={kIdle:0,kConnecting:1,kBuffering:2,kError:3,kComplete:4};n.LoaderErrors={OK:\"OK\",EXCEPTION:\"Exception\",HTTP_STATUS_CODE_INVALID:\"HttpStatusCodeInvalid\",CONNECTING_TIMEOUT:\"ConnectingTimeout\",EARLY_EOF:\"EarlyEof\",UNRECOVERABLE_EARLY_EOF:\"UnrecoverableEarlyEof\"},n.BaseLoader=function(){function e(t){i(this,e),this._type=t||\"undefined\",this._status=a.kIdle,this._needStash=!1,this._onContentLengthKnown=null,this._onURLRedirect=null,this._onDataArrival=null,this._onError=null,this._onComplete=null}return r(e,[{key:\"destroy\",value:function(){this._status=a.kIdle,this._onContentLengthKnown=null,this._onURLRedirect=null,this._onDataArrival=null,this._onError=null,this._onComplete=null}},{key:\"isWorking\",value:function(){return this._status===a.kConnecting||this._status===a.kBuffering}},{key:\"open\",value:function(e,t){throw new s.NotImplementedException(\"Unimplemented abstract function!\")}},{key:\"abort\",value:function(){throw new s.NotImplementedException(\"Unimplemented abstract function!\")}},{key:\"type\",get:function(){return this._type}},{key:\"status\",get:function(){return this._status}},{key:\"needStashBuffer\",get:function(){return this._needStash}},{key:\"onContentLengthKnown\",get:function(){return this._onContentLengthKnown},set:function(e){this._onContentLengthKnown=e}},{key:\"onURLRedirect\",get:function(){return this._onURLRedirect},set:function(e){this._onURLRedirect=e}},{key:\"onDataArrival\",get:function(){return this._onDataArrival},set:function(e){this._onDataArrival=e}},{key:\"onError\",get:function(){return this._onError},set:function(e){this._onError=e}},{key:\"onComplete\",get:function(){return this._onComplete},set:function(e){this._onComplete=e}}]),e}()},{\"../utils/exception.js\":40}],25:[function(e,t,n){\"use strict\";function i(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}Object.defineProperty(n,\"__esModule\",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),s=function(){function e(t,n){i(this,e),this._startName=t,this._endName=n}return r(e,[{key:\"getConfig\",value:function(e,t){var n=e;if(0!==t.from||-1!==t.to){var i=!0;-1===n.indexOf(\"?\")&&(n+=\"?\",i=!1),i&&(n+=\"&\"),n+=this._startName+\"=\"+t.from.toString(),-1!==t.to&&(n+=\"&\"+this._endName+\"=\"+t.to.toString())}return{url:n,headers:{}}}},{key:\"removeURLParameters\",value:function(e){var t=e.split(\"?\")[0],n=void 0,i=e.indexOf(\"?\");-1!==i&&(n=e.substring(i+1));var r=\"\";if(void 0!=n&&n.length>0)for(var s=n.split(\"&\"),a=0;a<s.length;a++){var o=s[a].split(\"=\"),u=a>0;o[0]!==this._startName&&o[0]!==this._endName&&(u&&(r+=\"&\"),r+=s[a])}return 0===r.length?t:t+\"?\"+r}}]),e}();n.default=s},{}],26:[function(e,t,n){\"use strict\";function i(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}Object.defineProperty(n,\"__esModule\",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),s=function(){function e(t){i(this,e),this._zeroStart=t||!1}return r(e,[{key:\"getConfig\",value:function(e,t){var n={};if(0!==t.from||-1!==t.to){var i=void 0;i=-1!==t.to?\"bytes=\"+t.from.toString()+\"-\"+t.to.toString():\"bytes=\"+t.from.toString()+\"-\",n.Range=i}else this._zeroStart&&(n.Range=\"bytes=0-\");return{url:e,headers:n}}},{key:\"removeURLParameters\",value:function(e){return e}}]),e}();n.default=s},{}],27:[function(e,t,n){\"use strict\";function i(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}Object.defineProperty(n,\"__esModule\",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),s=function(){function e(){i(this,e),this._firstCheckpoint=0,this._lastCheckpoint=0,this._intervalBytes=0,this._totalBytes=0,this._lastSecondBytes=0,self.performance&&self.performance.now?this._now=self.performance.now.bind(self.performance):this._now=Date.now}return r(e,[{key:\"reset\",value:function(){this._firstCheckpoint=this._lastCheckpoint=0,this._totalBytes=this._intervalBytes=0,this._lastSecondBytes=0}},{key:\"addBytes\",value:function(e){0===this._firstCheckpoint?(this._firstCheckpoint=this._now(),this._lastCheckpoint=this._firstCheckpoint,this._intervalBytes+=e,this._totalBytes+=e):this._now()-this._lastCheckpoint<1e3?(this._intervalBytes+=e,this._totalBytes+=e):(this._lastSecondBytes=this._intervalBytes,this._intervalBytes=e,this._totalBytes+=e,this._lastCheckpoint=this._now())}},{key:\"currentKBps\",get:function(){this.addBytes(0);var e=(this._now()-this._lastCheckpoint)/1e3;return 0==e&&(e=1),this._intervalBytes/e/1024}},{key:\"lastSecondKBps\",get:function(){return this.addBytes(0),0!==this._lastSecondBytes?this._lastSecondBytes/1024:this._now()-this._lastCheckpoint>=500?this.currentKBps:0}},{key:\"averageKBps\",get:function(){var e=(this._now()-this._firstCheckpoint)/1e3;return this._totalBytes/e/1024}}]),e}();n.default=s},{}],28:[function(e,t,n){\"use strict\";function i(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function r(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function s(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(n,\"__esModule\",{value:!0});var a=function e(t,n,i){null===t&&(t=Function.prototype);var r=Object.getOwnPropertyDescriptor(t,n);if(void 0===r){var s=Object.getPrototypeOf(t);return null===s?void 0:e(s,n,i)}if(\"value\"in r)return r.value;var a=r.get;if(void 0!==a)return a.call(i)},o=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),u=e(\"../utils/logger.js\"),l=(function(e){e&&e.__esModule}(u),e(\"./loader.js\")),d=e(\"../utils/exception.js\"),h=function(e){function t(){i(this,t);var e=r(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,\"websocket-loader\"));return e.TAG=\"WebSocketLoader\",e._needStash=!0,e._ws=null,e._requestAbort=!1,e._receivedLength=0,e}return s(t,e),o(t,null,[{key:\"isSupported\",value:function(){try{return void 0!==self.WebSocket}catch(e){return!1}}}]),o(t,[{key:\"destroy\",value:function(){this._ws&&this.abort(),a(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),\"destroy\",this).call(this)}},{key:\"open\",value:function(e){try{var t=this._ws=new self.WebSocket(e.url);t.binaryType=\"arraybuffer\",t.onopen=this._onWebSocketOpen.bind(this),t.onclose=this._onWebSocketClose.bind(this),t.onmessage=this._onWebSocketMessage.bind(this),t.onerror=this._onWebSocketError.bind(this),this._status=l.LoaderStatus.kConnecting}catch(e){this._status=l.LoaderStatus.kError;var n={code:e.code,msg:e.message};if(!this._onError)throw new d.RuntimeException(n.msg);this._onError(l.LoaderErrors.EXCEPTION,n)}}},{key:\"abort\",value:function(){var e=this._ws;!e||0!==e.readyState&&1!==e.readyState||(this._requestAbort=!0,e.close()),this._ws=null,this._status=l.LoaderStatus.kComplete}},{key:\"_onWebSocketOpen\",value:function(e){this._status=l.LoaderStatus.kBuffering}},{key:\"_onWebSocketClose\",value:function(e){if(!0===this._requestAbort)return void(this._requestAbort=!1);this._status=l.LoaderStatus.kComplete,this._onComplete&&this._onComplete(0,this._receivedLength-1)}},{key:\"_onWebSocketMessage\",value:function(e){var t=this;if(e.data instanceof ArrayBuffer)this._dispatchArrayBuffer(e.data);else if(e.data instanceof Blob){var n=new FileReader;n.onload=function(){t._dispatchArrayBuffer(n.result)},n.readAsArrayBuffer(e.data)}else{this._status=l.LoaderStatus.kError;var i={code:-1,msg:\"Unsupported WebSocket message type: \"+e.data.constructor.name};if(!this._onError)throw new d.RuntimeException(i.msg);this._onError(l.LoaderErrors.EXCEPTION,i)}}},{key:\"_dispatchArrayBuffer\",value:function(e){var t=e,n=this._receivedLength;this._receivedLength+=t.byteLength,this._onDataArrival&&this._onDataArrival(t,n,this._receivedLength)}},{key:\"_onWebSocketError\",value:function(e){this._status=l.LoaderStatus.kError;var t={code:e.code,msg:e.message};if(!this._onError)throw new d.RuntimeException(t.msg);this._onError(l.LoaderErrors.EXCEPTION,t)}}]),t}(l.BaseLoader);n.default=h},{\"../utils/exception.js\":40,\"../utils/logger.js\":41,\"./loader.js\":24}],29:[function(e,t,n){\"use strict\";function i(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function r(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function s(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(n,\"__esModule\",{value:!0});var a=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},o=function e(t,n,i){null===t&&(t=Function.prototype);var r=Object.getOwnPropertyDescriptor(t,n);if(void 0===r){var s=Object.getPrototypeOf(t);return null===s?void 0:e(s,n,i)}if(\"value\"in r)return r.value;var a=r.get;if(void 0!==a)return a.call(i)},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),l=e(\"../utils/logger.js\"),d=function(e){return e&&e.__esModule?e:{default:e}}(l),h=e(\"./loader.js\"),f=e(\"../utils/exception.js\"),c=function(e){function t(e,n){i(this,t);var s=r(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,\"xhr-moz-chunked-loader\"));return s.TAG=\"MozChunkedLoader\",s._seekHandler=e,s._config=n,s._needStash=!0,s._xhr=null,s._requestAbort=!1,s._contentLength=null,s._receivedLength=0,s}return s(t,e),u(t,null,[{key:\"isSupported\",value:function(){try{var e=new XMLHttpRequest;return e.open(\"GET\",\"https://example.com\",!0),e.responseType=\"moz-chunked-arraybuffer\",\"moz-chunked-arraybuffer\"===e.responseType}catch(e){return d.default.w(\"MozChunkedLoader\",e.message),!1}}}]),u(t,[{key:\"destroy\",value:function(){this.isWorking()&&this.abort(),this._xhr&&(this._xhr.onreadystatechange=null,this._xhr.onprogress=null,this._xhr.onloadend=null,this._xhr.onerror=null,this._xhr=null),o(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),\"destroy\",this).call(this)}},{key:\"open\",value:function(e,t){this._dataSource=e,this._range=t;var n=e.url;this._config.reuseRedirectedURL&&void 0!=e.redirectedURL&&(n=e.redirectedURL);var i=this._seekHandler.getConfig(n,t);this._requestURL=i.url;var r=this._xhr=new XMLHttpRequest;if(r.open(\"GET\",i.url,!0),r.responseType=\"moz-chunked-arraybuffer\",r.onreadystatechange=this._onReadyStateChange.bind(this),r.onprogress=this._onProgress.bind(this),r.onloadend=this._onLoadEnd.bind(this),r.onerror=this._onXhrError.bind(this),e.withCredentials&&(r.withCredentials=!0),\"object\"===a(i.headers)){var s=i.headers;for(var o in s)s.hasOwnProperty(o)&&r.setRequestHeader(o,s[o])}if(\"object\"===a(this._config.headers)){var u=this._config.headers;for(var l in u)u.hasOwnProperty(l)&&r.setRequestHeader(l,u[l])}this._status=h.LoaderStatus.kConnecting,r.send()}},{key:\"abort\",value:function(){this._requestAbort=!0,this._xhr&&this._xhr.abort(),this._status=h.LoaderStatus.kComplete}},{key:\"_onReadyStateChange\",value:function(e){var t=e.target;if(2===t.readyState){if(void 0!=t.responseURL&&t.responseURL!==this._requestURL&&this._onURLRedirect){var n=this._seekHandler.removeURLParameters(t.responseURL);this._onURLRedirect(n)}if(0!==t.status&&(t.status<200||t.status>299)){if(this._status=h.LoaderStatus.kError,!this._onError)throw new f.RuntimeException(\"MozChunkedLoader: Http code invalid, \"+t.status+\" \"+t.statusText);this._onError(h.LoaderErrors.HTTP_STATUS_CODE_INVALID,{code:t.status,msg:t.statusText})}else this._status=h.LoaderStatus.kBuffering}}},{key:\"_onProgress\",value:function(e){if(this._status!==h.LoaderStatus.kError){null===this._contentLength&&null!==e.total&&0!==e.total&&(this._contentLength=e.total,this._onContentLengthKnown&&this._onContentLengthKnown(this._contentLength));var t=e.target.response,n=this._range.from+this._receivedLength;this._receivedLength+=t.byteLength,this._onDataArrival&&this._onDataArrival(t,n,this._receivedLength)}}},{key:\"_onLoadEnd\",value:function(e){if(!0===this._requestAbort)return void(this._requestAbort=!1);this._status!==h.LoaderStatus.kError&&(this._status=h.LoaderStatus.kComplete,this._onComplete&&this._onComplete(this._range.from,this._range.from+this._receivedLength-1))}},{key:\"_onXhrError\",value:function(e){this._status=h.LoaderStatus.kError;var t=0,n=null;if(this._contentLength&&e.loaded<this._contentLength?(t=h.LoaderErrors.EARLY_EOF,n={code:-1,msg:\"Moz-Chunked stream meet Early-Eof\"}):(t=h.LoaderErrors.EXCEPTION,n={code:-1,msg:e.constructor.name+\" \"+e.type}),!this._onError)throw new f.RuntimeException(n.msg);this._onError(t,n)}}]),t}(h.BaseLoader);n.default=c},{\"../utils/exception.js\":40,\"../utils/logger.js\":41,\"./loader.js\":24}],30:[function(e,t,n){\"use strict\";function i(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function r(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function s(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(n,\"__esModule\",{value:!0});var a=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},o=function e(t,n,i){null===t&&(t=Function.prototype);var r=Object.getOwnPropertyDescriptor(t,n);if(void 0===r){var s=Object.getPrototypeOf(t);return null===s?void 0:e(s,n,i)}if(\"value\"in r)return r.value;var a=r.get;if(void 0!==a)return a.call(i)},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),l=e(\"../utils/logger.js\"),d=function(e){return e&&e.__esModule?e:{default:e}}(l),h=e(\"./loader.js\"),f=e(\"../utils/exception.js\"),c=function(e){function t(e,n){i(this,t);var s=r(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,\"xhr-msstream-loader\"));return s.TAG=\"MSStreamLoader\",s._seekHandler=e,s._config=n,s._needStash=!0,s._xhr=null,s._reader=null,s._totalRange=null,s._currentRange=null,s._currentRequestURL=null,s._currentRedirectedURL=null,s._contentLength=null,s._receivedLength=0,s._bufferLimit=16777216,s._lastTimeBufferSize=0,s._isReconnecting=!1,s}return s(t,e),u(t,null,[{key:\"isSupported\",value:function(){try{if(void 0===self.MSStream||void 0===self.MSStreamReader)return!1;var e=new XMLHttpRequest;return e.open(\"GET\",\"https://example.com\",!0),e.responseType=\"ms-stream\",\"ms-stream\"===e.responseType}catch(e){return d.default.w(\"MSStreamLoader\",e.message),!1}}}]),u(t,[{key:\"destroy\",value:function(){this.isWorking()&&this.abort(),this._reader&&(this._reader.onprogress=null,this._reader.onload=null,this._reader.onerror=null,this._reader=null),this._xhr&&(this._xhr.onreadystatechange=null,this._xhr=null),o(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),\"destroy\",this).call(this)}},{key:\"open\",value:function(e,t){this._internalOpen(e,t,!1)}},{key:\"_internalOpen\",value:function(e,t,n){this._dataSource=e,n?this._currentRange=t:this._totalRange=t;var i=e.url;this._config.reuseRedirectedURL&&(void 0!=this._currentRedirectedURL?i=this._currentRedirectedURL:void 0!=e.redirectedURL&&(i=e.redirectedURL));var r=this._seekHandler.getConfig(i,t);this._currentRequestURL=r.url;var s=this._reader=new self.MSStreamReader;s.onprogress=this._msrOnProgress.bind(this),s.onload=this._msrOnLoad.bind(this),s.onerror=this._msrOnError.bind(this);var o=this._xhr=new XMLHttpRequest;if(o.open(\"GET\",r.url,!0),o.responseType=\"ms-stream\",o.onreadystatechange=this._xhrOnReadyStateChange.bind(this),o.onerror=this._xhrOnError.bind(this),e.withCredentials&&(o.withCredentials=!0),\"object\"===a(r.headers)){var u=r.headers;for(var l in u)u.hasOwnProperty(l)&&o.setRequestHeader(l,u[l])}if(\"object\"===a(this._config.headers)){var d=this._config.headers;for(var f in d)d.hasOwnProperty(f)&&o.setRequestHeader(f,d[f])}this._isReconnecting?this._isReconnecting=!1:this._status=h.LoaderStatus.kConnecting,o.send()}},{key:\"abort\",value:function(){this._internalAbort(),this._status=h.LoaderStatus.kComplete}},{key:\"_internalAbort\",value:function(){this._reader&&(1===this._reader.readyState&&this._reader.abort(),this._reader.onprogress=null,this._reader.onload=null,this._reader.onerror=null,this._reader=null),this._xhr&&(this._xhr.abort(),this._xhr.onreadystatechange=null,this._xhr=null)}},{key:\"_xhrOnReadyStateChange\",value:function(e){var t=e.target;if(2===t.readyState)if(t.status>=200&&t.status<=299){if(this._status=h.LoaderStatus.kBuffering,void 0!=t.responseURL){var n=this._seekHandler.removeURLParameters(t.responseURL);t.responseURL!==this._currentRequestURL&&n!==this._currentRedirectedURL&&(this._currentRedirectedURL=n,this._onURLRedirect&&this._onURLRedirect(n))}var i=t.getResponseHeader(\"Content-Length\");if(null!=i&&null==this._contentLength){var r=parseInt(i);r>0&&(this._contentLength=r,this._onContentLengthKnown&&this._onContentLengthKnown(this._contentLength))}}else{if(this._status=h.LoaderStatus.kError,!this._onError)throw new f.RuntimeException(\"MSStreamLoader: Http code invalid, \"+t.status+\" \"+t.statusText);this._onError(h.LoaderErrors.HTTP_STATUS_CODE_INVALID,{code:t.status,msg:t.statusText})}else if(3===t.readyState&&t.status>=200&&t.status<=299){this._status=h.LoaderStatus.kBuffering;var s=t.response;this._reader.readAsArrayBuffer(s)}}},{key:\"_xhrOnError\",value:function(e){this._status=h.LoaderStatus.kError;var t=h.LoaderErrors.EXCEPTION,n={code:-1,msg:e.constructor.name+\" \"+e.type};if(!this._onError)throw new f.RuntimeException(n.msg);this._onError(t,n)}},{key:\"_msrOnProgress\",value:function(e){var t=e.target,n=t.result;if(null==n)return void this._doReconnectIfNeeded();var i=n.slice(this._lastTimeBufferSize);this._lastTimeBufferSize=n.byteLength;var r=this._totalRange.from+this._receivedLength;this._receivedLength+=i.byteLength,this._onDataArrival&&this._onDataArrival(i,r,this._receivedLength),n.byteLength>=this._bufferLimit&&(d.default.v(this.TAG,\"MSStream buffer exceeded max size near \"+(r+i.byteLength)+\", reconnecting...\"),this._doReconnectIfNeeded())}},{key:\"_doReconnectIfNeeded\",value:function(){if(null==this._contentLength||this._receivedLength<this._contentLength){this._isReconnecting=!0,this._lastTimeBufferSize=0,this._internalAbort();var e={from:this._totalRange.from+this._receivedLength,to:-1};this._internalOpen(this._dataSource,e,!0)}}},{key:\"_msrOnLoad\",value:function(e){this._status=h.LoaderStatus.kComplete,this._onComplete&&this._onComplete(this._totalRange.from,this._totalRange.from+this._receivedLength-1)}},{key:\"_msrOnError\",value:function(e){this._status=h.LoaderStatus.kError;var t=0,n=null;if(this._contentLength&&this._receivedLength<this._contentLength?(t=h.LoaderErrors.EARLY_EOF,n={code:-1,msg:\"MSStream meet Early-Eof\"}):(t=h.LoaderErrors.EARLY_EOF,n={code:-1,msg:e.constructor.name+\" \"+e.type}),!this._onError)throw new f.RuntimeException(n.msg);this._onError(t,n)}}]),t}(h.BaseLoader);n.default=c},{\"../utils/exception.js\":40,\"../utils/logger.js\":41,\"./loader.js\":24}],31:[function(e,t,n){\"use strict\";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function s(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function a(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(n,\"__esModule\",{value:!0});var o=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},u=function e(t,n,i){null===t&&(t=Function.prototype);var r=Object.getOwnPropertyDescriptor(t,n);if(void 0===r){var s=Object.getPrototypeOf(t);return null===s?void 0:e(s,n,i)}if(\"value\"in r)return r.value;var a=r.get;if(void 0!==a)return a.call(i)},l=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),d=e(\"../utils/logger.js\"),h=i(d),f=e(\"./speed-sampler.js\"),c=i(f),_=e(\"./loader.js\"),m=e(\"../utils/exception.js\"),p=function(e){function t(e,n){r(this,t);var i=s(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,\"xhr-range-loader\"));return i.TAG=\"RangeLoader\",i._seekHandler=e,i._config=n,i._needStash=!1,i._chunkSizeKBList=[128,256,384,512,768,1024,1536,2048,3072,4096,5120,6144,7168,8192],i._currentChunkSizeKB=384,i._currentSpeedNormalized=0,i._zeroSpeedChunkCount=0,i._xhr=null,i._speedSampler=new c.default,i._requestAbort=!1,i._waitForTotalLength=!1,i._totalLengthReceived=!1,i._currentRequestURL=null,i._currentRedirectedURL=null,i._currentRequestRange=null,i._totalLength=null,i._contentLength=null,i._receivedLength=0,i._lastTimeLoaded=0,i}return a(t,e),l(t,null,[{key:\"isSupported\",value:function(){try{var e=new XMLHttpRequest;return e.open(\"GET\",\"https://example.com\",!0),e.responseType=\"arraybuffer\",\"arraybuffer\"===e.responseType}catch(e){return h.default.w(\"RangeLoader\",e.message),!1}}}]),l(t,[{key:\"destroy\",value:function(){this.isWorking()&&this.abort(),this._xhr&&(this._xhr.onreadystatechange=null,this._xhr.onprogress=null,this._xhr.onload=null,this._xhr.onerror=null,this._xhr=null),u(t.prototype.__proto__||Object.getPrototypeOf(t.prototype),\"destroy\",this).call(this)}},{key:\"open\",value:function(e,t){this._dataSource=e,this._range=t,this._status=_.LoaderStatus.kConnecting;var n=!1;void 0!=this._dataSource.filesize&&0!==this._dataSource.filesize&&(n=!0,this._totalLength=this._dataSource.filesize),this._totalLengthReceived||n?this._openSubRange():(this._waitForTotalLength=!0,this._internalOpen(this._dataSource,{from:0,to:-1}))}},{key:\"_openSubRange\",value:function(){var e=1024*this._currentChunkSizeKB,t=this._range.from+this._receivedLength,n=t+e;null!=this._contentLength&&n-this._range.from>=this._contentLength&&(n=this._range.from+this._contentLength-1),this._currentRequestRange={from:t,to:n},this._internalOpen(this._dataSource,this._currentRequestRange)}},{key:\"_internalOpen\",value:function(e,t){this._lastTimeLoaded=0;var n=e.url;this._config.reuseRedirectedURL&&(void 0!=this._currentRedirectedURL?n=this._currentRedirectedURL:void 0!=e.redirectedURL&&(n=e.redirectedURL));var i=this._seekHandler.getConfig(n,t);this._currentRequestURL=i.url;var r=this._xhr=new XMLHttpRequest;if(r.open(\"GET\",i.url,!0),r.responseType=\"arraybuffer\",r.onreadystatechange=this._onReadyStateChange.bind(this),r.onprogress=this._onProgress.bind(this),r.onload=this._onLoad.bind(this),r.onerror=this._onXhrError.bind(this),e.withCredentials&&(r.withCredentials=!0),\"object\"===o(i.headers)){var s=i.headers;for(var a in s)s.hasOwnProperty(a)&&r.setRequestHeader(a,s[a])}if(\"object\"===o(this._config.headers)){var u=this._config.headers;for(var l in u)u.hasOwnProperty(l)&&r.setRequestHeader(l,u[l])}r.send()}},{key:\"abort\",value:function(){this._requestAbort=!0,this._internalAbort(),this._status=_.LoaderStatus.kComplete}},{key:\"_internalAbort\",value:function(){this._xhr&&(this._xhr.onreadystatechange=null,this._xhr.onprogress=null,this._xhr.onload=null,this._xhr.onerror=null,this._xhr.abort(),this._xhr=null)}},{key:\"_onReadyStateChange\",value:function(e){var t=e.target;if(2===t.readyState){if(void 0!=t.responseURL){var n=this._seekHandler.removeURLParameters(t.responseURL);t.responseURL!==this._currentRequestURL&&n!==this._currentRedirectedURL&&(this._currentRedirectedURL=n,this._onURLRedirect&&this._onURLRedirect(n))}if(t.status>=200&&t.status<=299){if(this._waitForTotalLength)return;this._status=_.LoaderStatus.kBuffering}else{if(this._status=_.LoaderStatus.kError,!this._onError)throw new m.RuntimeException(\"RangeLoader: Http code invalid, \"+t.status+\" \"+t.statusText);this._onError(_.LoaderErrors.HTTP_STATUS_CODE_INVALID,{code:t.status,msg:t.statusText})}}}},{key:\"_onProgress\",value:function(e){if(this._status!==_.LoaderStatus.kError){if(null===this._contentLength){var t=!1;if(this._waitForTotalLength){this._waitForTotalLength=!1,this._totalLengthReceived=!0,t=!0;var n=e.total;this._internalAbort(),null!=n&0!==n&&(this._totalLength=n)}if(-1===this._range.to?this._contentLength=this._totalLength-this._range.from:this._contentLength=this._range.to-this._range.from+1,t)return void this._openSubRange();this._onContentLengthKnown&&this._onContentLengthKnown(this._contentLength)}var i=e.loaded-this._lastTimeLoaded;this._lastTimeLoaded=e.loaded,this._speedSampler.addBytes(i)}}},{key:\"_normalizeSpeed\",value:function(e){var t=this._chunkSizeKBList,n=t.length-1,i=0,r=0,s=n;if(e<t[0])return t[0];for(;r<=s;){if((i=r+Math.floor((s-r)/2))===n||e>=t[i]&&e<t[i+1])return t[i];t[i]<e?r=i+1:s=i-1}}},{key:\"_onLoad\",value:function(e){if(this._status!==_.LoaderStatus.kError){if(this._waitForTotalLength)return void(this._waitForTotalLength=!1);this._lastTimeLoaded=0;var t=this._speedSampler.lastSecondKBps;if(0===t&&++this._zeroSpeedChunkCount>=3&&(t=this._speedSampler.currentKBps),0!==t){var n=this._normalizeSpeed(t);this._currentSpeedNormalized!==n&&(this._currentSpeedNormalized=n,this._currentChunkSizeKB=n)}var i=e.target.response,r=this._range.from+this._receivedLength;this._receivedLength+=i.byteLength;var s=!1;null!=this._contentLength&&this._receivedLength<this._contentLength?this._openSubRange():s=!0,this._onDataArrival&&this._onDataArrival(i,r,this._receivedLength),s&&(this._status=_.LoaderStatus.kComplete,this._onComplete&&this._onComplete(this._range.from,this._range.from+this._receivedLength-1))}}},{key:\"_onXhrError\",value:function(e){this._status=_.LoaderStatus.kError;var t=0,n=null;if(this._contentLength&&this._receivedLength>0&&this._receivedLength<this._contentLength?(t=_.LoaderErrors.EARLY_EOF,n={code:-1,msg:\"RangeLoader meet Early-Eof\"}):(t=_.LoaderErrors.EXCEPTION,n={code:-1,msg:e.constructor.name+\" \"+e.type}),!this._onError)throw new m.RuntimeException(n.msg);this._onError(t,n)}},{key:\"currentSpeed\",get:function(){return this._speedSampler.lastSecondKBps}}]),t}(_.BaseLoader);n.default=p},{\"../utils/exception.js\":40,\"../utils/logger.js\":41,\"./loader.js\":24,\"./speed-sampler.js\":27}],32:[function(e,t,n){\"use strict\";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}Object.defineProperty(n,\"__esModule\",{value:!0});var s=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},a=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),o=e(\"events\"),u=i(o),l=e(\"../utils/logger.js\"),d=i(l),h=e(\"../utils/browser.js\"),f=i(h),c=e(\"./player-events.js\"),_=i(c),m=e(\"../core/transmuxer.js\"),p=i(m),v=e(\"../core/transmuxing-events.js\"),g=i(v),y=e(\"../core/mse-controller.js\"),E=i(y),b=e(\"../core/mse-events.js\"),S=i(b),k=e(\"./player-errors.js\"),L=e(\"../config.js\"),R=e(\"../utils/exception.js\"),A=function(){function e(t,n){if(r(this,e),this.TAG=\"FlvPlayer\",this._type=\"FlvPlayer\",this._emitter=new u.default,this._config=(0,L.createDefaultConfig)(),\"object\"===(void 0===n?\"undefined\":s(n))&&Object.assign(this._config,n),\"flv\"!==t.type.toLowerCase())throw new R.InvalidArgumentException(\"FlvPlayer requires an flv MediaDataSource input!\");!0===t.isLive&&(this._config.isLive=!0),this.e={onvLoadedMetadata:this._onvLoadedMetadata.bind(this),onvSeeking:this._onvSeeking.bind(this),onvCanPlay:this._onvCanPlay.bind(this),onvStalled:this._onvStalled.bind(this),onvProgress:this._onvProgress.bind(this)},self.performance&&self.performance.now?this._now=self.performance.now.bind(self.performance):this._now=Date.now,this._pendingSeekTime=null,this._requestSetTime=!1,this._seekpointRecord=null,this._progressChecker=null,this._mediaDataSource=t,this._mediaElement=null,this._msectl=null,this._transmuxer=null,this._mseSourceOpened=!1,this._hasPendingLoad=!1,this._receivedCanPlay=!1,this._mediaInfo=null,this._statisticsInfo=null;var i=f.default.chrome&&(f.default.version.major<50||50===f.default.version.major&&f.default.version.build<2661);this._alwaysSeekKeyframe=!!(i||f.default.msedge||f.default.msie),this._alwaysSeekKeyframe&&(this._config.accurateSeek=!1)}return a(e,[{key:\"destroy\",value:function(){null!=this._progressChecker&&(window.clearInterval(this._progressChecker),this._progressChecker=null),this._transmuxer&&this.unload(),this._mediaElement&&this.detachMediaElement(),this.e=null,this._mediaDataSource=null,this._emitter.removeAllListeners(),this._emitter=null}},{key:\"on\",value:function(e,t){var n=this;e===_.default.MEDIA_INFO?null!=this._mediaInfo&&Promise.resolve().then(function(){n._emitter.emit(_.default.MEDIA_INFO,n.mediaInfo)}):e===_.default.STATISTICS_INFO&&null!=this._statisticsInfo&&Promise.resolve().then(function(){n._emitter.emit(_.default.STATISTICS_INFO,n.statisticsInfo)}),this._emitter.addListener(e,t)}},{key:\"off\",value:function(e,t){this._emitter.removeListener(e,t)}},{\r\nkey:\"attachMediaElement\",value:function(e){var t=this;if(this._mediaElement=e,e.addEventListener(\"loadedmetadata\",this.e.onvLoadedMetadata),e.addEventListener(\"seeking\",this.e.onvSeeking),e.addEventListener(\"canplay\",this.e.onvCanPlay),e.addEventListener(\"stalled\",this.e.onvStalled),e.addEventListener(\"progress\",this.e.onvProgress),this._msectl=new E.default(this._config),this._msectl.on(S.default.UPDATE_END,this._onmseUpdateEnd.bind(this)),this._msectl.on(S.default.BUFFER_FULL,this._onmseBufferFull.bind(this)),this._msectl.on(S.default.SOURCE_OPEN,function(){t._mseSourceOpened=!0,t._hasPendingLoad&&(t._hasPendingLoad=!1,t.load())}),this._msectl.on(S.default.ERROR,function(e){t._emitter.emit(_.default.ERROR,k.ErrorTypes.MEDIA_ERROR,k.ErrorDetails.MEDIA_MSE_ERROR,e)}),this._msectl.attachMediaElement(e),null!=this._pendingSeekTime)try{e.currentTime=this._pendingSeekTime,this._pendingSeekTime=null}catch(e){}}},{key:\"detachMediaElement\",value:function(){this._mediaElement&&(this._msectl.detachMediaElement(),this._mediaElement.removeEventListener(\"loadedmetadata\",this.e.onvLoadedMetadata),this._mediaElement.removeEventListener(\"seeking\",this.e.onvSeeking),this._mediaElement.removeEventListener(\"canplay\",this.e.onvCanPlay),this._mediaElement.removeEventListener(\"stalled\",this.e.onvStalled),this._mediaElement.removeEventListener(\"progress\",this.e.onvProgress),this._mediaElement=null),this._msectl&&(this._msectl.destroy(),this._msectl=null)}},{key:\"load\",value:function(){var e=this;if(!this._mediaElement)throw new R.IllegalStateException(\"HTMLMediaElement must be attached before load()!\");if(this._transmuxer)throw new R.IllegalStateException(\"FlvPlayer.load() has been called, please call unload() first!\");if(!this._hasPendingLoad){if(this._config.deferLoadAfterSourceOpen&&!1===this._mseSourceOpened)return void(this._hasPendingLoad=!0);this._mediaElement.readyState>0&&(this._requestSetTime=!0,this._mediaElement.currentTime=0),this._transmuxer=new p.default(this._mediaDataSource,this._config),this._transmuxer.on(g.default.INIT_SEGMENT,function(t,n){e._msectl.appendInitSegment(n)}),this._transmuxer.on(g.default.MEDIA_SEGMENT,function(t,n){if(e._msectl.appendMediaSegment(n),e._config.lazyLoad&&!e._config.isLive){var i=e._mediaElement.currentTime;n.info.endDts>=1e3*(i+e._config.lazyLoadMaxDuration)&&null==e._progressChecker&&(d.default.v(e.TAG,\"Maximum buffering duration exceeded, suspend transmuxing task\"),e._suspendTransmuxer())}}),this._transmuxer.on(g.default.LOADING_COMPLETE,function(){e._msectl.endOfStream(),e._emitter.emit(_.default.LOADING_COMPLETE)}),this._transmuxer.on(g.default.RECOVERED_EARLY_EOF,function(){e._emitter.emit(_.default.RECOVERED_EARLY_EOF)}),this._transmuxer.on(g.default.IO_ERROR,function(t,n){e._emitter.emit(_.default.ERROR,k.ErrorTypes.NETWORK_ERROR,t,n)}),this._transmuxer.on(g.default.DEMUX_ERROR,function(t,n){e._emitter.emit(_.default.ERROR,k.ErrorTypes.MEDIA_ERROR,t,{code:-1,msg:n})}),this._transmuxer.on(g.default.MEDIA_INFO,function(t){e._mediaInfo=t,e._emitter.emit(_.default.MEDIA_INFO,Object.assign({},t))}),this._transmuxer.on(g.default.METADATA_ARRIVED,function(t){e._emitter.emit(_.default.METADATA_ARRIVED,t)}),this._transmuxer.on(g.default.SCRIPTDATA_ARRIVED,function(t){e._emitter.emit(_.default.SCRIPTDATA_ARRIVED,t)}),this._transmuxer.on(g.default.STATISTICS_INFO,function(t){e._statisticsInfo=e._fillStatisticsInfo(t),e._emitter.emit(_.default.STATISTICS_INFO,Object.assign({},e._statisticsInfo))}),this._transmuxer.on(g.default.RECOMMEND_SEEKPOINT,function(t){e._mediaElement&&!e._config.accurateSeek&&(e._requestSetTime=!0,e._mediaElement.currentTime=t/1e3)}),this._transmuxer.open()}}},{key:\"unload\",value:function(){this._mediaElement&&this._mediaElement.pause(),this._msectl&&this._msectl.seek(0),this._transmuxer&&(this._transmuxer.close(),this._transmuxer.destroy(),this._transmuxer=null)}},{key:\"play\",value:function(){return this._mediaElement.play()}},{key:\"pause\",value:function(){this._mediaElement.pause()}},{key:\"_fillStatisticsInfo\",value:function(e){if(e.playerType=this._type,!(this._mediaElement instanceof HTMLVideoElement))return e;var t=!0,n=0,i=0;if(this._mediaElement.getVideoPlaybackQuality){var r=this._mediaElement.getVideoPlaybackQuality();n=r.totalVideoFrames,i=r.droppedVideoFrames}else void 0!=this._mediaElement.webkitDecodedFrameCount?(n=this._mediaElement.webkitDecodedFrameCount,i=this._mediaElement.webkitDroppedFrameCount):t=!1;return t&&(e.decodedFrames=n,e.droppedFrames=i),e}},{key:\"_onmseUpdateEnd\",value:function(){if(this._config.lazyLoad&&!this._config.isLive){for(var e=this._mediaElement.buffered,t=this._mediaElement.currentTime,n=0,i=0;i<e.length;i++){var r=e.start(i),s=e.end(i);if(r<=t&&t<s){r,n=s;break}}n>=t+this._config.lazyLoadMaxDuration&&null==this._progressChecker&&(d.default.v(this.TAG,\"Maximum buffering duration exceeded, suspend transmuxing task\"),this._suspendTransmuxer())}}},{key:\"_onmseBufferFull\",value:function(){d.default.v(this.TAG,\"MSE SourceBuffer is full, suspend transmuxing task\"),null==this._progressChecker&&this._suspendTransmuxer()}},{key:\"_suspendTransmuxer\",value:function(){this._transmuxer&&(this._transmuxer.pause(),null==this._progressChecker&&(this._progressChecker=window.setInterval(this._checkProgressAndResume.bind(this),1e3)))}},{key:\"_checkProgressAndResume\",value:function(){for(var e=this._mediaElement.currentTime,t=this._mediaElement.buffered,n=!1,i=0;i<t.length;i++){var r=t.start(i),s=t.end(i);if(e>=r&&e<s){e>=s-this._config.lazyLoadRecoverDuration&&(n=!0);break}}n&&(window.clearInterval(this._progressChecker),this._progressChecker=null,n&&(d.default.v(this.TAG,\"Continue loading from paused position\"),this._transmuxer.resume()))}},{key:\"_isTimepointBuffered\",value:function(e){for(var t=this._mediaElement.buffered,n=0;n<t.length;n++){var i=t.start(n),r=t.end(n);if(e>=i&&e<r)return!0}return!1}},{key:\"_internalSeek\",value:function(e){var t=this._isTimepointBuffered(e),n=!1,i=0;if(e<1&&this._mediaElement.buffered.length>0){var r=this._mediaElement.buffered.start(0);(r<1&&e<r||f.default.safari)&&(n=!0,i=f.default.safari?.1:r)}if(n)this._requestSetTime=!0,this._mediaElement.currentTime=i;else if(t){if(this._alwaysSeekKeyframe){var s=this._msectl.getNearestKeyframe(Math.floor(1e3*e));this._requestSetTime=!0,this._mediaElement.currentTime=null!=s?s.dts/1e3:e}else this._requestSetTime=!0,this._mediaElement.currentTime=e;null!=this._progressChecker&&this._checkProgressAndResume()}else null!=this._progressChecker&&(window.clearInterval(this._progressChecker),this._progressChecker=null),this._msectl.seek(e),this._transmuxer.seek(Math.floor(1e3*e)),this._config.accurateSeek&&(this._requestSetTime=!0,this._mediaElement.currentTime=e)}},{key:\"_checkAndApplyUnbufferedSeekpoint\",value:function(){if(this._seekpointRecord)if(this._seekpointRecord.recordTime<=this._now()-100){var e=this._mediaElement.currentTime;this._seekpointRecord=null,this._isTimepointBuffered(e)||(null!=this._progressChecker&&(window.clearTimeout(this._progressChecker),this._progressChecker=null),this._msectl.seek(e),this._transmuxer.seek(Math.floor(1e3*e)),this._config.accurateSeek&&(this._requestSetTime=!0,this._mediaElement.currentTime=e))}else window.setTimeout(this._checkAndApplyUnbufferedSeekpoint.bind(this),50)}},{key:\"_checkAndResumeStuckPlayback\",value:function(e){var t=this._mediaElement;if(e||!this._receivedCanPlay||t.readyState<2){var n=t.buffered;n.length>0&&t.currentTime<n.start(0)&&(d.default.w(this.TAG,\"Playback seems stuck at \"+t.currentTime+\", seek to \"+n.start(0)),this._requestSetTime=!0,this._mediaElement.currentTime=n.start(0),this._mediaElement.removeEventListener(\"progress\",this.e.onvProgress))}else this._mediaElement.removeEventListener(\"progress\",this.e.onvProgress)}},{key:\"_onvLoadedMetadata\",value:function(e){null!=this._pendingSeekTime&&(this._mediaElement.currentTime=this._pendingSeekTime,this._pendingSeekTime=null)}},{key:\"_onvSeeking\",value:function(e){var t=this._mediaElement.currentTime,n=this._mediaElement.buffered;if(this._requestSetTime)return void(this._requestSetTime=!1);if(t<1&&n.length>0){var i=n.start(0);if(i<1&&t<i||f.default.safari)return this._requestSetTime=!0,void(this._mediaElement.currentTime=f.default.safari?.1:i)}if(this._isTimepointBuffered(t)){if(this._alwaysSeekKeyframe){var r=this._msectl.getNearestKeyframe(Math.floor(1e3*t));null!=r&&(this._requestSetTime=!0,this._mediaElement.currentTime=r.dts/1e3)}return void(null!=this._progressChecker&&this._checkProgressAndResume())}this._seekpointRecord={seekPoint:t,recordTime:this._now()},window.setTimeout(this._checkAndApplyUnbufferedSeekpoint.bind(this),50)}},{key:\"_onvCanPlay\",value:function(e){this._receivedCanPlay=!0,this._mediaElement.removeEventListener(\"canplay\",this.e.onvCanPlay)}},{key:\"_onvStalled\",value:function(e){this._checkAndResumeStuckPlayback(!0)}},{key:\"_onvProgress\",value:function(e){this._checkAndResumeStuckPlayback()}},{key:\"type\",get:function(){return this._type}},{key:\"buffered\",get:function(){return this._mediaElement.buffered}},{key:\"duration\",get:function(){return this._mediaElement.duration}},{key:\"volume\",get:function(){return this._mediaElement.volume},set:function(e){this._mediaElement.volume=e}},{key:\"muted\",get:function(){return this._mediaElement.muted},set:function(e){this._mediaElement.muted=e}},{key:\"currentTime\",get:function(){return this._mediaElement?this._mediaElement.currentTime:0},set:function(e){this._mediaElement?this._internalSeek(e):this._pendingSeekTime=e}},{key:\"mediaInfo\",get:function(){return Object.assign({},this._mediaInfo)}},{key:\"statisticsInfo\",get:function(){return null==this._statisticsInfo&&(this._statisticsInfo={}),this._statisticsInfo=this._fillStatisticsInfo(this._statisticsInfo),Object.assign({},this._statisticsInfo)}}]),e}();n.default=A},{\"../config.js\":5,\"../core/mse-controller.js\":9,\"../core/mse-events.js\":10,\"../core/transmuxer.js\":11,\"../core/transmuxing-events.js\":13,\"../utils/browser.js\":39,\"../utils/exception.js\":40,\"../utils/logger.js\":41,\"./player-errors.js\":34,\"./player-events.js\":35,events:2}],33:[function(e,t,n){\"use strict\";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}Object.defineProperty(n,\"__esModule\",{value:!0});var s=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},a=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),o=e(\"events\"),u=i(o),l=e(\"./player-events.js\"),d=i(l),h=e(\"../config.js\"),f=e(\"../utils/exception.js\"),c=function(){function e(t,n){if(r(this,e),this.TAG=\"NativePlayer\",this._type=\"NativePlayer\",this._emitter=new u.default,this._config=(0,h.createDefaultConfig)(),\"object\"===(void 0===n?\"undefined\":s(n))&&Object.assign(this._config,n),\"flv\"===t.type.toLowerCase())throw new f.InvalidArgumentException(\"NativePlayer does't support flv MediaDataSource input!\");if(t.hasOwnProperty(\"segments\"))throw new f.InvalidArgumentException(\"NativePlayer(\"+t.type+\") doesn't support multipart playback!\");this.e={onvLoadedMetadata:this._onvLoadedMetadata.bind(this)},this._pendingSeekTime=null,this._statisticsReporter=null,this._mediaDataSource=t,this._mediaElement=null}return a(e,[{key:\"destroy\",value:function(){this._mediaElement&&(this.unload(),this.detachMediaElement()),this.e=null,this._mediaDataSource=null,this._emitter.removeAllListeners(),this._emitter=null}},{key:\"on\",value:function(e,t){var n=this;e===d.default.MEDIA_INFO?null!=this._mediaElement&&0!==this._mediaElement.readyState&&Promise.resolve().then(function(){n._emitter.emit(d.default.MEDIA_INFO,n.mediaInfo)}):e===d.default.STATISTICS_INFO&&null!=this._mediaElement&&0!==this._mediaElement.readyState&&Promise.resolve().then(function(){n._emitter.emit(d.default.STATISTICS_INFO,n.statisticsInfo)}),this._emitter.addListener(e,t)}},{key:\"off\",value:function(e,t){this._emitter.removeListener(e,t)}},{key:\"attachMediaElement\",value:function(e){if(this._mediaElement=e,e.addEventListener(\"loadedmetadata\",this.e.onvLoadedMetadata),null!=this._pendingSeekTime)try{e.currentTime=this._pendingSeekTime,this._pendingSeekTime=null}catch(e){}}},{key:\"detachMediaElement\",value:function(){this._mediaElement&&(this._mediaElement.src=\"\",this._mediaElement.removeAttribute(\"src\"),this._mediaElement.removeEventListener(\"loadedmetadata\",this.e.onvLoadedMetadata),this._mediaElement=null),null!=this._statisticsReporter&&(window.clearInterval(this._statisticsReporter),this._statisticsReporter=null)}},{key:\"load\",value:function(){if(!this._mediaElement)throw new f.IllegalStateException(\"HTMLMediaElement must be attached before load()!\");this._mediaElement.src=this._mediaDataSource.url,this._mediaElement.readyState>0&&(this._mediaElement.currentTime=0),this._mediaElement.preload=\"auto\",this._mediaElement.load(),this._statisticsReporter=window.setInterval(this._reportStatisticsInfo.bind(this),this._config.statisticsInfoReportInterval)}},{key:\"unload\",value:function(){this._mediaElement&&(this._mediaElement.src=\"\",this._mediaElement.removeAttribute(\"src\")),null!=this._statisticsReporter&&(window.clearInterval(this._statisticsReporter),this._statisticsReporter=null)}},{key:\"play\",value:function(){return this._mediaElement.play()}},{key:\"pause\",value:function(){this._mediaElement.pause()}},{key:\"_onvLoadedMetadata\",value:function(e){null!=this._pendingSeekTime&&(this._mediaElement.currentTime=this._pendingSeekTime,this._pendingSeekTime=null),this._emitter.emit(d.default.MEDIA_INFO,this.mediaInfo)}},{key:\"_reportStatisticsInfo\",value:function(){this._emitter.emit(d.default.STATISTICS_INFO,this.statisticsInfo)}},{key:\"type\",get:function(){return this._type}},{key:\"buffered\",get:function(){return this._mediaElement.buffered}},{key:\"duration\",get:function(){return this._mediaElement.duration}},{key:\"volume\",get:function(){return this._mediaElement.volume},set:function(e){this._mediaElement.volume=e}},{key:\"muted\",get:function(){return this._mediaElement.muted},set:function(e){this._mediaElement.muted=e}},{key:\"currentTime\",get:function(){return this._mediaElement?this._mediaElement.currentTime:0},set:function(e){this._mediaElement?this._mediaElement.currentTime=e:this._pendingSeekTime=e}},{key:\"mediaInfo\",get:function(){var e=this._mediaElement instanceof HTMLAudioElement?\"audio/\":\"video/\",t={mimeType:e+this._mediaDataSource.type};return this._mediaElement&&(t.duration=Math.floor(1e3*this._mediaElement.duration),this._mediaElement instanceof HTMLVideoElement&&(t.width=this._mediaElement.videoWidth,t.height=this._mediaElement.videoHeight)),t}},{key:\"statisticsInfo\",get:function(){var e={playerType:this._type,url:this._mediaDataSource.url};if(!(this._mediaElement instanceof HTMLVideoElement))return e;var t=!0,n=0,i=0;if(this._mediaElement.getVideoPlaybackQuality){var r=this._mediaElement.getVideoPlaybackQuality();n=r.totalVideoFrames,i=r.droppedVideoFrames}else void 0!=this._mediaElement.webkitDecodedFrameCount?(n=this._mediaElement.webkitDecodedFrameCount,i=this._mediaElement.webkitDroppedFrameCount):t=!1;return t&&(e.decodedFrames=n,e.droppedFrames=i),e}}]),e}();n.default=c},{\"../config.js\":5,\"../utils/exception.js\":40,\"./player-events.js\":35,events:2}],34:[function(e,t,n){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0}),n.ErrorDetails=n.ErrorTypes=void 0;var i=e(\"../io/loader.js\"),r=e(\"../demux/demux-errors.js\"),s=function(e){return e&&e.__esModule?e:{default:e}}(r);n.ErrorTypes={NETWORK_ERROR:\"NetworkError\",MEDIA_ERROR:\"MediaError\",OTHER_ERROR:\"OtherError\"},n.ErrorDetails={NETWORK_EXCEPTION:i.LoaderErrors.EXCEPTION,NETWORK_STATUS_CODE_INVALID:i.LoaderErrors.HTTP_STATUS_CODE_INVALID,NETWORK_TIMEOUT:i.LoaderErrors.CONNECTING_TIMEOUT,NETWORK_UNRECOVERABLE_EARLY_EOF:i.LoaderErrors.UNRECOVERABLE_EARLY_EOF,MEDIA_MSE_ERROR:\"MediaMSEError\",MEDIA_FORMAT_ERROR:s.default.FORMAT_ERROR,MEDIA_FORMAT_UNSUPPORTED:s.default.FORMAT_UNSUPPORTED,MEDIA_CODEC_UNSUPPORTED:s.default.CODEC_UNSUPPORTED}},{\"../demux/demux-errors.js\":16,\"../io/loader.js\":24}],35:[function(e,t,n){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0});var i={ERROR:\"error\",LOADING_COMPLETE:\"loading_complete\",RECOVERED_EARLY_EOF:\"recovered_early_eof\",MEDIA_INFO:\"media_info\",METADATA_ARRIVED:\"metadata_arrived\",SCRIPTDATA_ARRIVED:\"scriptdata_arrived\",STATISTICS_INFO:\"statistics_info\"};n.default=i},{}],36:[function(e,t,n){\"use strict\";function i(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}Object.defineProperty(n,\"__esModule\",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),s=function(){function e(){i(this,e)}return r(e,null,[{key:\"getSilentFrame\",value:function(e,t){if(\"mp4a.40.2\"===e){if(1===t)return new Uint8Array([0,200,0,128,35,128]);if(2===t)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(3===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(4===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(5===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);if(6===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224])}else{if(1===t)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(2===t)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(3===t)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94])}return null}}]),e}();n.default=s},{}],37:[function(e,t,n){\"use strict\";function i(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}Object.defineProperty(n,\"__esModule\",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),s=function(){function e(){i(this,e)}return r(e,null,[{key:\"init\",value:function(){e.types={avc1:[],avcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],mvex:[],mvhd:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[],\".mp3\":[]};for(var t in e.types)e.types.hasOwnProperty(t)&&(e.types[t]=[t.charCodeAt(0),t.charCodeAt(1),t.charCodeAt(2),t.charCodeAt(3)]);var n=e.constants={};n.FTYP=new Uint8Array([105,115,111,109,0,0,0,1,105,115,111,109,97,118,99,49]),n.STSD_PREFIX=new Uint8Array([0,0,0,0,0,0,0,1]),n.STTS=new Uint8Array([0,0,0,0,0,0,0,0]),n.STSC=n.STCO=n.STTS,n.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),n.HDLR_VIDEO=new Uint8Array([0,0,0,0,0,0,0,0,118,105,100,101,0,0,0,0,0,0,0,0,0,0,0,0,86,105,100,101,111,72,97,110,100,108,101,114,0]),n.HDLR_AUDIO=new Uint8Array([0,0,0,0,0,0,0,0,115,111,117,110,0,0,0,0,0,0,0,0,0,0,0,0,83,111,117,110,100,72,97,110,100,108,101,114,0]),n.DREF=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),n.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),n.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0])}},{key:\"box\",value:function(e){for(var t=8,n=null,i=Array.prototype.slice.call(arguments,1),r=i.length,s=0;s<r;s++)t+=i[s].byteLength;n=new Uint8Array(t),n[0]=t>>>24&255,n[1]=t>>>16&255,n[2]=t>>>8&255,n[3]=255&t,n.set(e,4);for(var a=8,o=0;o<r;o++)n.set(i[o],a),a+=i[o].byteLength;return n}},{key:\"generateInitSegment\",value:function(t){var n=e.box(e.types.ftyp,e.constants.FTYP),i=e.moov(t),r=new Uint8Array(n.byteLength+i.byteLength);return r.set(n,0),r.set(i,n.byteLength),r}},{key:\"moov\",value:function(t){var n=e.mvhd(t.timescale,t.duration),i=e.trak(t),r=e.mvex(t);return e.box(e.types.moov,n,i,r)}},{key:\"mvhd\",value:function(t,n){return e.box(e.types.mvhd,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t,n>>>24&255,n>>>16&255,n>>>8&255,255&n,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]))}},{key:\"trak\",value:function(t){return e.box(e.types.trak,e.tkhd(t),e.mdia(t))}},{key:\"tkhd\",value:function(t){var n=t.id,i=t.duration,r=t.presentWidth,s=t.presentHeight;return e.box(e.types.tkhd,new Uint8Array([0,0,0,7,0,0,0,0,0,0,0,0,n>>>24&255,n>>>16&255,n>>>8&255,255&n,0,0,0,0,i>>>24&255,i>>>16&255,i>>>8&255,255&i,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,r>>>8&255,255&r,0,0,s>>>8&255,255&s,0,0]))}},{key:\"mdia\",value:function(t){return e.box(e.types.mdia,e.mdhd(t),e.hdlr(t),e.minf(t))}},{key:\"mdhd\",value:function(t){var n=t.timescale,i=t.duration;return e.box(e.types.mdhd,new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,n>>>24&255,n>>>16&255,n>>>8&255,255&n,i>>>24&255,i>>>16&255,i>>>8&255,255&i,85,196,0,0]))}},{key:\"hdlr\",value:function(t){var n=null;return n=\"audio\"===t.type?e.constants.HDLR_AUDIO:e.constants.HDLR_VIDEO,e.box(e.types.hdlr,n)}},{key:\"minf\",value:function(t){var n=null;return n=\"audio\"===t.type?e.box(e.types.smhd,e.constants.SMHD):e.box(e.types.vmhd,e.constants.VMHD),e.box(e.types.minf,n,e.dinf(),e.stbl(t))}},{key:\"dinf\",value:function(){return e.box(e.types.dinf,e.box(e.types.dref,e.constants.DREF))}},{key:\"stbl\",value:function(t){return e.box(e.types.stbl,e.stsd(t),e.box(e.types.stts,e.constants.STTS),e.box(e.types.stsc,e.constants.STSC),e.box(e.types.stsz,e.constants.STSZ),e.box(e.types.stco,e.constants.STCO))}},{key:\"stsd\",value:function(t){return\"audio\"===t.type?\"mp3\"===t.codec?e.box(e.types.stsd,e.constants.STSD_PREFIX,e.mp3(t)):e.box(e.types.stsd,e.constants.STSD_PREFIX,e.mp4a(t)):e.box(e.types.stsd,e.constants.STSD_PREFIX,e.avc1(t))}},{key:\"mp3\",value:function(t){var n=t.channelCount,i=t.audioSampleRate,r=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,n,0,16,0,0,0,0,i>>>8&255,255&i,0,0]);return e.box(e.types[\".mp3\"],r)}},{key:\"mp4a\",value:function(t){var n=t.channelCount,i=t.audioSampleRate,r=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,n,0,16,0,0,0,0,i>>>8&255,255&i,0,0]);return e.box(e.types.mp4a,r,e.esds(t))}},{key:\"esds\",value:function(t){var n=t.config||[],i=n.length,r=new Uint8Array([0,0,0,0,3,23+i,0,1,0,4,15+i,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([i]).concat(n).concat([6,1,2]));return e.box(e.types.esds,r)}},{key:\"avc1\",value:function(t){var n=t.avcc,i=t.codecWidth,r=t.codecHeight,s=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,i>>>8&255,255&i,r>>>8&255,255&r,0,72,0,0,0,72,0,0,0,0,0,0,0,1,10,120,113,113,47,102,108,118,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,255,255]);return e.box(e.types.avc1,s,e.box(e.types.avcC,n))}},{key:\"mvex\",value:function(t){return e.box(e.types.mvex,e.trex(t))}},{key:\"trex\",value:function(t){var n=t.id,i=new Uint8Array([0,0,0,0,n>>>24&255,n>>>16&255,n>>>8&255,255&n,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]);return e.box(e.types.trex,i)}},{key:\"moof\",value:function(t,n){return e.box(e.types.moof,e.mfhd(t.sequenceNumber),e.traf(t,n))}},{key:\"mfhd\",value:function(t){var n=new Uint8Array([0,0,0,0,t>>>24&255,t>>>16&255,t>>>8&255,255&t]);return e.box(e.types.mfhd,n)}},{key:\"traf\",value:function(t,n){var i=t.id,r=e.box(e.types.tfhd,new Uint8Array([0,0,0,0,i>>>24&255,i>>>16&255,i>>>8&255,255&i])),s=e.box(e.types.tfdt,new Uint8Array([0,0,0,0,n>>>24&255,n>>>16&255,n>>>8&255,255&n])),a=e.sdtp(t),o=e.trun(t,a.byteLength+16+16+8+16+8+8);return e.box(e.types.traf,r,s,o,a)}},{key:\"sdtp\",value:function(t){for(var n=t.samples||[],i=n.length,r=new Uint8Array(4+i),s=0;s<i;s++){var a=n[s].flags;r[s+4]=a.isLeading<<6|a.dependsOn<<4|a.isDependedOn<<2|a.hasRedundancy}return e.box(e.types.sdtp,r)}},{key:\"trun\",value:function(t,n){var i=t.samples||[],r=i.length,s=12+16*r,a=new Uint8Array(s);n+=8+s,a.set([0,0,15,1,r>>>24&255,r>>>16&255,r>>>8&255,255&r,n>>>24&255,n>>>16&255,n>>>8&255,255&n],0);for(var o=0;o<r;o++){var u=i[o].duration,l=i[o].size,d=i[o].flags,h=i[o].cts;a.set([u>>>24&255,u>>>16&255,u>>>8&255,255&u,l>>>24&255,l>>>16&255,l>>>8&255,255&l,d.isLeading<<2|d.dependsOn,d.isDependedOn<<6|d.hasRedundancy<<4|d.isNonSync,0,0,h>>>24&255,h>>>16&255,h>>>8&255,255&h],12+16*o)}return e.box(e.types.trun,a)}},{key:\"mdat\",value:function(t){return e.box(e.types.mdat,t)}}]),e}();s.init(),n.default=s},{}],38:[function(e,t,n){\"use strict\";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}Object.defineProperty(n,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),a=e(\"../utils/logger.js\"),o=i(a),u=e(\"./mp4-generator.js\"),l=i(u),d=e(\"./aac-silent.js\"),h=i(d),f=e(\"../utils/browser.js\"),c=i(f),_=e(\"../core/media-segment-info.js\"),m=e(\"../utils/exception.js\"),p=function(){function e(t){r(this,e),this.TAG=\"MP4Remuxer\",this._config=t,this._isLive=!0===t.isLive,this._dtsBase=-1,this._dtsBaseInited=!1,this._audioDtsBase=1/0,this._videoDtsBase=1/0,this._audioNextDts=void 0,this._videoNextDts=void 0,this._audioStashedLastSample=null,this._videoStashedLastSample=null,this._audioMeta=null,this._videoMeta=null,this._audioSegmentInfoList=new _.MediaSegmentInfoList(\"audio\"),this._videoSegmentInfoList=new _.MediaSegmentInfoList(\"video\"),this._onInitSegment=null,this._onMediaSegment=null,this._forceFirstIDR=!(!c.default.chrome||!(c.default.version.major<50||50===c.default.version.major&&c.default.version.build<2661)),this._fillSilentAfterSeek=c.default.msedge||c.default.msie,this._mp3UseMpegAudio=!c.default.firefox,this._fillAudioTimestampGap=this._config.fixAudioTimestampGap}return s(e,[{key:\"destroy\",value:function(){this._dtsBase=-1,this._dtsBaseInited=!1,this._audioMeta=null,this._videoMeta=null,this._audioSegmentInfoList.clear(),this._audioSegmentInfoList=null,this._videoSegmentInfoList.clear(),this._videoSegmentInfoList=null,this._onInitSegment=null,this._onMediaSegment=null}},{key:\"bindDataSource\",value:function(e){return e.onDataAvailable=this.remux.bind(this),e.onTrackMetadata=this._onTrackMetadataReceived.bind(this),this}},{key:\"insertDiscontinuity\",value:function(){this._audioNextDts=this._videoNextDts=void 0}},{key:\"seek\",value:function(e){this._audioStashedLastSample=null,this._videoStashedLastSample=null,this._videoSegmentInfoList.clear(),this._audioSegmentInfoList.clear()}},{key:\"remux\",value:function(e,t){if(!this._onMediaSegment)throw new m.IllegalStateException(\"MP4Remuxer: onMediaSegment callback must be specificed!\");this._dtsBaseInited||this._calculateDtsBase(e,t),this._remuxVideo(t),this._remuxAudio(e)}},{key:\"_onTrackMetadataReceived\",value:function(e,t){var n=null,i=\"mp4\",r=t.codec;if(\"audio\"===e)this._audioMeta=t,\"mp3\"===t.codec&&this._mp3UseMpegAudio?(i=\"mpeg\",r=\"\",n=new Uint8Array):n=l.default.generateInitSegment(t);else{if(\"video\"!==e)return;this._videoMeta=t,n=l.default.generateInitSegment(t)}if(!this._onInitSegment)throw new m.IllegalStateException(\"MP4Remuxer: onInitSegment callback must be specified!\");this._onInitSegment(e,{type:e,data:n.buffer,codec:r,container:e+\"/\"+i,mediaDuration:t.duration})}},{key:\"_calculateDtsBase\",value:function(e,t){this._dtsBaseInited||(e.samples&&e.samples.length&&(this._audioDtsBase=e.samples[0].dts),t.samples&&t.samples.length&&(this._videoDtsBase=t.samples[0].dts),this._dtsBase=Math.min(this._audioDtsBase,this._videoDtsBase),this._dtsBaseInited=!0)}},{key:\"flushStashedSamples\",value:function(){var e=this._videoStashedLastSample,t=this._audioStashedLastSample,n={type:\"video\",id:1,sequenceNumber:0,samples:[],length:0};null!=e&&(n.samples.push(e),n.length=e.length);var i={type:\"audio\",id:2,sequenceNumber:0,samples:[],length:0};null!=t&&(i.samples.push(t),i.length=t.length),this._videoStashedLastSample=null,this._audioStashedLastSample=null,this._remuxVideo(n,!0),this._remuxAudio(i,!0)}},{key:\"_remuxAudio\",value:function(e,t){if(null!=this._audioMeta){var n=e,i=n.samples,r=void 0,s=-1,a=-1,u=this._audioMeta.refSampleDuration,d=\"mp3\"===this._audioMeta.codec&&this._mp3UseMpegAudio,f=this._dtsBaseInited&&void 0===this._audioNextDts,m=!1;if(i&&0!==i.length&&(1!==i.length||t)){var p=0,v=null,g=0;d?(p=0,g=n.length):(p=8,g=8+n.length);var y=null;if(i.length>1&&(y=i.pop(),g-=y.length),null!=this._audioStashedLastSample){var E=this._audioStashedLastSample;this._audioStashedLastSample=null,i.unshift(E),g+=E.length}null!=y&&(this._audioStashedLastSample=y);var b=i[0].dts-this._dtsBase;if(this._audioNextDts)r=b-this._audioNextDts;else if(this._audioSegmentInfoList.isEmpty())r=0,this._fillSilentAfterSeek&&!this._videoSegmentInfoList.isEmpty()&&\"mp3\"!==this._audioMeta.originalCodec&&(m=!0);else{var S=this._audioSegmentInfoList.getLastSampleBefore(b);if(null!=S){var k=b-(S.originalDts+S.duration);k<=3&&(k=0);var L=S.dts+S.duration+k;r=b-L}else r=0}if(m){var R=b-r,A=this._videoSegmentInfoList.getLastSegmentBefore(b);if(null!=A&&A.beginDts<R){var w=h.default.getSilentFrame(this._audioMeta.originalCodec,this._audioMeta.channelCount);if(w){var T=A.beginDts,O=R-A.beginDts;o.default.v(this.TAG,\"InsertPrefixSilentAudio: dts: \"+T+\", duration: \"+O),i.unshift({unit:w,dts:T,pts:T}),g+=w.byteLength}}else m=!1}for(var C=[],I=0;I<i.length;I++){var D=i[I],x=D.unit,M=D.dts-this._dtsBase,B=M-r;-1===s&&(s=B);var j=0;if(I!==i.length-1){j=i[I+1].dts-this._dtsBase-r-B}else if(null!=y){var P=y.dts-this._dtsBase-r;j=P-B}else j=C.length>=1?C[C.length-1].duration:Math.floor(u);var U=!1,N=null;if(j>1.5*u&&\"mp3\"!==this._audioMeta.codec&&this._fillAudioTimestampGap&&!c.default.safari){U=!0;var F=Math.abs(j-u),G=Math.ceil(F/u),V=B+u;o.default.w(this.TAG,\"Large audio timestamp gap detected, may cause AV sync to drift. Silent frames will be generated to avoid unsync.\\ndts: \"+(B+j)+\" ms, expected: \"+(B+Math.round(u))+\" ms, delta: \"+Math.round(F)+\" ms, generate: \"+G+\" frames\");var z=h.default.getSilentFrame(this._audioMeta.originalCodec,this._audioMeta.channelCount);null==z&&(o.default.w(this.TAG,\"Unable to generate silent frame for \"+this._audioMeta.originalCodec+\" with \"+this._audioMeta.channelCount+\" channels, repeat last frame\"),z=x),N=[];for(var H=0;H<G;H++){var K=Math.round(V);if(N.length>0){var q=N[N.length-1];q.duration=K-q.dts}var W={dts:K,pts:K,cts:0,unit:z,size:z.byteLength,duration:0,originalDts:M,flags:{isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0}};N.push(W),g+=W.size,V+=u}var X=N[N.length-1];X.duration=B+j-X.dts,j=Math.round(u)}C.push({dts:B,pts:B,cts:0,unit:D.unit,size:D.unit.byteLength,duration:j,originalDts:M,flags:{isLeading:0,dependsOn:1,isDependedOn:0,hasRedundancy:0}}),U&&C.push.apply(C,N)}d?v=new Uint8Array(g):(v=new Uint8Array(g),v[0]=g>>>24&255,v[1]=g>>>16&255,v[2]=g>>>8&255,v[3]=255&g,v.set(l.default.types.mdat,4));for(var Y=0;Y<C.length;Y++){var Z=C[Y].unit;v.set(Z,p),p+=Z.byteLength}var Q=C[C.length-1];a=Q.dts+Q.duration,this._audioNextDts=a;var J=new _.MediaSegmentInfo;J.beginDts=s,J.endDts=a,J.beginPts=s,J.endPts=a,J.originalBeginDts=C[0].originalDts,J.originalEndDts=Q.originalDts+Q.duration,\r\nJ.firstSample=new _.SampleInfo(C[0].dts,C[0].pts,C[0].duration,C[0].originalDts,!1),J.lastSample=new _.SampleInfo(Q.dts,Q.pts,Q.duration,Q.originalDts,!1),this._isLive||this._audioSegmentInfoList.append(J),n.samples=C,n.sequenceNumber++;var $=null;$=d?new Uint8Array:l.default.moof(n,s),n.samples=[],n.length=0;var ee={type:\"audio\",data:this._mergeBoxes($,v).buffer,sampleCount:C.length,info:J};d&&f&&(ee.timestampOffset=s),this._onMediaSegment(\"audio\",ee)}}}},{key:\"_remuxVideo\",value:function(e,t){if(null!=this._videoMeta){var n=e,i=n.samples,r=void 0,s=-1,a=-1,o=-1,u=-1;if(i&&0!==i.length&&(1!==i.length||t)){var d=8,h=null,f=8+e.length,c=null;if(i.length>1&&(c=i.pop(),f-=c.length),null!=this._videoStashedLastSample){var m=this._videoStashedLastSample;this._videoStashedLastSample=null,i.unshift(m),f+=m.length}null!=c&&(this._videoStashedLastSample=c);var p=i[0].dts-this._dtsBase;if(this._videoNextDts)r=p-this._videoNextDts;else if(this._videoSegmentInfoList.isEmpty())r=0;else{var v=this._videoSegmentInfoList.getLastSampleBefore(p);if(null!=v){var g=p-(v.originalDts+v.duration);g<=3&&(g=0);var y=v.dts+v.duration+g;r=p-y}else r=0}for(var E=new _.MediaSegmentInfo,b=[],S=0;S<i.length;S++){var k=i[S],L=k.dts-this._dtsBase,R=k.isKeyframe,A=L-r,w=k.cts,T=A+w;-1===s&&(s=A,o=T);var O=0;if(S!==i.length-1){O=i[S+1].dts-this._dtsBase-r-A}else if(null!=c){var C=c.dts-this._dtsBase-r;O=C-A}else O=b.length>=1?b[b.length-1].duration:Math.floor(this._videoMeta.refSampleDuration);if(R){var I=new _.SampleInfo(A,T,O,k.dts,!0);I.fileposition=k.fileposition,E.appendSyncPoint(I)}b.push({dts:A,pts:T,cts:w,units:k.units,size:k.length,isKeyframe:R,duration:O,originalDts:L,flags:{isLeading:0,dependsOn:R?2:1,isDependedOn:R?1:0,hasRedundancy:0,isNonSync:R?0:1}})}h=new Uint8Array(f),h[0]=f>>>24&255,h[1]=f>>>16&255,h[2]=f>>>8&255,h[3]=255&f,h.set(l.default.types.mdat,4);for(var D=0;D<b.length;D++)for(var x=b[D].units;x.length;){var M=x.shift(),B=M.data;h.set(B,d),d+=B.byteLength}var j=b[b.length-1];if(a=j.dts+j.duration,u=j.pts+j.duration,this._videoNextDts=a,E.beginDts=s,E.endDts=a,E.beginPts=o,E.endPts=u,E.originalBeginDts=b[0].originalDts,E.originalEndDts=j.originalDts+j.duration,E.firstSample=new _.SampleInfo(b[0].dts,b[0].pts,b[0].duration,b[0].originalDts,b[0].isKeyframe),E.lastSample=new _.SampleInfo(j.dts,j.pts,j.duration,j.originalDts,j.isKeyframe),this._isLive||this._videoSegmentInfoList.append(E),n.samples=b,n.sequenceNumber++,this._forceFirstIDR){var P=b[0].flags;P.dependsOn=2,P.isNonSync=0}var U=l.default.moof(n,s);n.samples=[],n.length=0,this._onMediaSegment(\"video\",{type:\"video\",data:this._mergeBoxes(U,h).buffer,sampleCount:b.length,info:E})}}}},{key:\"_mergeBoxes\",value:function(e,t){var n=new Uint8Array(e.byteLength+t.byteLength);return n.set(e,0),n.set(t,e.byteLength),n}},{key:\"onInitSegment\",get:function(){return this._onInitSegment},set:function(e){this._onInitSegment=e}},{key:\"onMediaSegment\",get:function(){return this._onMediaSegment},set:function(e){this._onMediaSegment=e}}]),e}();n.default=p},{\"../core/media-segment-info.js\":8,\"../utils/browser.js\":39,\"../utils/exception.js\":40,\"../utils/logger.js\":41,\"./aac-silent.js\":36,\"./mp4-generator.js\":37}],39:[function(e,t,n){\"use strict\";Object.defineProperty(n,\"__esModule\",{value:!0});var i={};!function(){var e=self.navigator.userAgent.toLowerCase(),t=/(edge)\\/([\\w.]+)/.exec(e)||/(opr)[\\/]([\\w.]+)/.exec(e)||/(chrome)[ \\/]([\\w.]+)/.exec(e)||/(iemobile)[\\/]([\\w.]+)/.exec(e)||/(version)(applewebkit)[ \\/]([\\w.]+).*(safari)[ \\/]([\\w.]+)/.exec(e)||/(webkit)[ \\/]([\\w.]+).*(version)[ \\/]([\\w.]+).*(safari)[ \\/]([\\w.]+)/.exec(e)||/(webkit)[ \\/]([\\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \\/]([\\w.]+)/.exec(e)||/(msie) ([\\w.]+)/.exec(e)||e.indexOf(\"trident\")>=0&&/(rv)(?::| )([\\w.]+)/.exec(e)||e.indexOf(\"compatible\")<0&&/(firefox)[ \\/]([\\w.]+)/.exec(e)||[],n=/(ipad)/.exec(e)||/(ipod)/.exec(e)||/(windows phone)/.exec(e)||/(iphone)/.exec(e)||/(kindle)/.exec(e)||/(android)/.exec(e)||/(windows)/.exec(e)||/(mac)/.exec(e)||/(linux)/.exec(e)||/(cros)/.exec(e)||[],r={browser:t[5]||t[3]||t[1]||\"\",version:t[2]||t[4]||\"0\",majorVersion:t[4]||t[2]||\"0\",platform:n[0]||\"\"},s={};if(r.browser){s[r.browser]=!0;var a=r.majorVersion.split(\".\");s.version={major:parseInt(r.majorVersion,10),string:r.version},a.length>1&&(s.version.minor=parseInt(a[1],10)),a.length>2&&(s.version.build=parseInt(a[2],10))}r.platform&&(s[r.platform]=!0),(s.chrome||s.opr||s.safari)&&(s.webkit=!0),(s.rv||s.iemobile)&&(s.rv&&delete s.rv,r.browser=\"msie\",s.msie=!0),s.edge&&(delete s.edge,r.browser=\"msedge\",s.msedge=!0),s.opr&&(r.browser=\"opera\",s.opera=!0),s.safari&&s.android&&(r.browser=\"android\",s.android=!0),s.name=r.browser,s.platform=r.platform;for(var o in i)i.hasOwnProperty(o)&&delete i[o];Object.assign(i,s)}(),n.default=i},{}],40:[function(e,t,n){\"use strict\";function i(e,t){if(!e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return!t||\"object\"!=typeof t&&\"function\"!=typeof t?e:t}function r(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function, not \"+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}Object.defineProperty(n,\"__esModule\",{value:!0});var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),o=n.RuntimeException=function(){function e(t){s(this,e),this._message=t}return a(e,[{key:\"toString\",value:function(){return this.name+\": \"+this.message}},{key:\"name\",get:function(){return\"RuntimeException\"}},{key:\"message\",get:function(){return this._message}}]),e}();n.IllegalStateException=function(e){function t(e){return s(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e))}return r(t,e),a(t,[{key:\"name\",get:function(){return\"IllegalStateException\"}}]),t}(o),n.InvalidArgumentException=function(e){function t(e){return s(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e))}return r(t,e),a(t,[{key:\"name\",get:function(){return\"InvalidArgumentException\"}}]),t}(o),n.NotImplementedException=function(e){function t(e){return s(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e))}return r(t,e),a(t,[{key:\"name\",get:function(){return\"NotImplementedException\"}}]),t}(o)},{}],41:[function(e,t,n){\"use strict\";function i(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}Object.defineProperty(n,\"__esModule\",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),s=e(\"events\"),a=function(e){return e&&e.__esModule?e:{default:e}}(s),o=function(){function e(){i(this,e)}return r(e,null,[{key:\"e\",value:function(t,n){t&&!e.FORCE_GLOBAL_TAG||(t=e.GLOBAL_TAG);var i=\"[\"+t+\"] > \"+n;e.ENABLE_CALLBACK&&e.emitter.emit(\"log\",\"error\",i),e.ENABLE_ERROR&&(console.error?console.error(i):console.warn?console.warn(i):console.log(i))}},{key:\"i\",value:function(t,n){t&&!e.FORCE_GLOBAL_TAG||(t=e.GLOBAL_TAG);var i=\"[\"+t+\"] > \"+n;e.ENABLE_CALLBACK&&e.emitter.emit(\"log\",\"info\",i),e.ENABLE_INFO&&(console.info?console.info(i):console.log(i))}},{key:\"w\",value:function(t,n){t&&!e.FORCE_GLOBAL_TAG||(t=e.GLOBAL_TAG);var i=\"[\"+t+\"] > \"+n;e.ENABLE_CALLBACK&&e.emitter.emit(\"log\",\"warn\",i),e.ENABLE_WARN&&(console.warn?console.warn(i):console.log(i))}},{key:\"d\",value:function(t,n){t&&!e.FORCE_GLOBAL_TAG||(t=e.GLOBAL_TAG);var i=\"[\"+t+\"] > \"+n;e.ENABLE_CALLBACK&&e.emitter.emit(\"log\",\"debug\",i),e.ENABLE_DEBUG&&(console.debug?console.debug(i):console.log(i))}},{key:\"v\",value:function(t,n){t&&!e.FORCE_GLOBAL_TAG||(t=e.GLOBAL_TAG);var i=\"[\"+t+\"] > \"+n;e.ENABLE_CALLBACK&&e.emitter.emit(\"log\",\"verbose\",i),e.ENABLE_VERBOSE&&console.log(i)}}]),e}();o.GLOBAL_TAG=\"flv.js\",o.FORCE_GLOBAL_TAG=!1,o.ENABLE_ERROR=!0,o.ENABLE_INFO=!0,o.ENABLE_WARN=!0,o.ENABLE_DEBUG=!0,o.ENABLE_VERBOSE=!0,o.ENABLE_CALLBACK=!1,o.emitter=new a.default,n.default=o},{events:2}],42:[function(e,t,n){\"use strict\";function i(e){return e&&e.__esModule?e:{default:e}}function r(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}Object.defineProperty(n,\"__esModule\",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),a=e(\"events\"),o=i(a),u=e(\"./logger.js\"),l=i(u),d=function(){function e(){r(this,e)}return s(e,null,[{key:\"getConfig\",value:function(){return{globalTag:l.default.GLOBAL_TAG,forceGlobalTag:l.default.FORCE_GLOBAL_TAG,enableVerbose:l.default.ENABLE_VERBOSE,enableDebug:l.default.ENABLE_DEBUG,enableInfo:l.default.ENABLE_INFO,enableWarn:l.default.ENABLE_WARN,enableError:l.default.ENABLE_ERROR,enableCallback:l.default.ENABLE_CALLBACK}}},{key:\"applyConfig\",value:function(e){l.default.GLOBAL_TAG=e.globalTag,l.default.FORCE_GLOBAL_TAG=e.forceGlobalTag,l.default.ENABLE_VERBOSE=e.enableVerbose,l.default.ENABLE_DEBUG=e.enableDebug,l.default.ENABLE_INFO=e.enableInfo,l.default.ENABLE_WARN=e.enableWarn,l.default.ENABLE_ERROR=e.enableError,l.default.ENABLE_CALLBACK=e.enableCallback}},{key:\"_notifyChange\",value:function(){var t=e.emitter;if(t.listenerCount(\"change\")>0){var n=e.getConfig();t.emit(\"change\",n)}}},{key:\"registerListener\",value:function(t){e.emitter.addListener(\"change\",t)}},{key:\"removeListener\",value:function(t){e.emitter.removeListener(\"change\",t)}},{key:\"addLogListener\",value:function(t){l.default.emitter.addListener(\"log\",t),l.default.emitter.listenerCount(\"log\")>0&&(l.default.ENABLE_CALLBACK=!0,e._notifyChange())}},{key:\"removeLogListener\",value:function(t){l.default.emitter.removeListener(\"log\",t),0===l.default.emitter.listenerCount(\"log\")&&(l.default.ENABLE_CALLBACK=!1,e._notifyChange())}},{key:\"forceGlobalTag\",get:function(){return l.default.FORCE_GLOBAL_TAG},set:function(t){l.default.FORCE_GLOBAL_TAG=t,e._notifyChange()}},{key:\"globalTag\",get:function(){return l.default.GLOBAL_TAG},set:function(t){l.default.GLOBAL_TAG=t,e._notifyChange()}},{key:\"enableAll\",get:function(){return l.default.ENABLE_VERBOSE&&l.default.ENABLE_DEBUG&&l.default.ENABLE_INFO&&l.default.ENABLE_WARN&&l.default.ENABLE_ERROR},set:function(t){l.default.ENABLE_VERBOSE=t,l.default.ENABLE_DEBUG=t,l.default.ENABLE_INFO=t,l.default.ENABLE_WARN=t,l.default.ENABLE_ERROR=t,e._notifyChange()}},{key:\"enableDebug\",get:function(){return l.default.ENABLE_DEBUG},set:function(t){l.default.ENABLE_DEBUG=t,e._notifyChange()}},{key:\"enableVerbose\",get:function(){return l.default.ENABLE_VERBOSE},set:function(t){l.default.ENABLE_VERBOSE=t,e._notifyChange()}},{key:\"enableInfo\",get:function(){return l.default.ENABLE_INFO},set:function(t){l.default.ENABLE_INFO=t,e._notifyChange()}},{key:\"enableWarn\",get:function(){return l.default.ENABLE_WARN},set:function(t){l.default.ENABLE_WARN=t,e._notifyChange()}},{key:\"enableError\",get:function(){return l.default.ENABLE_ERROR},set:function(t){l.default.ENABLE_ERROR=t,e._notifyChange()}}]),e}();d.emitter=new o.default,n.default=d},{\"./logger.js\":41,events:2}],43:[function(e,t,n){\"use strict\";function i(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}Object.defineProperty(n,\"__esModule\",{value:!0});var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,\"value\"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}return function(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}}(),s=function(){function t(){i(this,t)}return r(t,null,[{key:\"install\",value:function(){Object.setPrototypeOf=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},Object.assign=Object.assign||function(e){if(void 0===e||null===e)throw new TypeError(\"Cannot convert undefined or null to object\");for(var t=Object(e),n=1;n<arguments.length;n++){var i=arguments[n];if(void 0!==i&&null!==i)for(var r in i)i.hasOwnProperty(r)&&(t[r]=i[r])}return t},\"function\"!=typeof self.Promise&&e(\"es6-promise\").polyfill()}}]),t}();s.install(),n.default=s},{\"es6-promise\":1}],44:[function(e,t,n){\"use strict\";function i(e,t,n){var i=e;if(t+n<i.length){for(;n--;)if(128!=(192&i[++t]))return!1;return!0}return!1}function r(e){for(var t=[],n=e,r=0,s=e.length;r<s;)if(n[r]<128)t.push(String.fromCharCode(n[r])),++r;else{if(n[r]<192);else if(n[r]<224){if(i(n,r,1)){var a=(31&n[r])<<6|63&n[r+1];if(a>=128){t.push(String.fromCharCode(65535&a)),r+=2;continue}}}else if(n[r]<240){if(i(n,r,2)){var o=(15&n[r])<<12|(63&n[r+1])<<6|63&n[r+2];if(o>=2048&&55296!=(63488&o)){t.push(String.fromCharCode(65535&o)),r+=3;continue}}}else if(n[r]<248&&i(n,r,3)){var u=(7&n[r])<<18|(63&n[r+1])<<12|(63&n[r+2])<<6|63&n[r+3];if(u>65536&&u<1114112){u-=65536,t.push(String.fromCharCode(u>>>10|55296)),t.push(String.fromCharCode(1023&u|56320)),r+=4;continue}}t.push(String.fromCharCode(65533)),++r}return t.join(\"\")}Object.defineProperty(n,\"__esModule\",{value:!0}),n.default=r},{}]},{},[21])(21)});\r\n//# sourceMappingURL=flv.min.js.map\r\n","function PCMPlayer(option) {\r\n    this.init(option);\r\n}\r\n\r\nPCMPlayer.prototype.init = function(option) {\r\n    var defaults = {\r\n        encoding: '16bitInt',\r\n        channels: 1,\r\n        sampleRate: 8000,\r\n        flushingTime: 1000\r\n    };\r\n    this.option = Object.assign({}, defaults, option);\r\n    this.samples = new Float32Array();\r\n    this.flush = this.flush.bind(this);\r\n    this.interval = setInterval(this.flush, this.option.flushingTime);\r\n    this.maxValue = this.getMaxValue();\r\n    this.typedArray = this.getTypedArray();\r\n    this.createContext();\r\n};\r\n\r\nPCMPlayer.prototype.getMaxValue = function () {\r\n    var encodings = {\r\n        '8bitInt': 128,\r\n        '16bitInt': 32768,\r\n        '32bitInt': 2147483648,\r\n        '32bitFloat': 1\r\n    }\r\n\r\n    return encodings[this.option.encoding] ? encodings[this.option.encoding] : encodings['16bitInt'];\r\n};\r\n\r\nPCMPlayer.prototype.getTypedArray = function () {\r\n    var typedArrays = {\r\n        '8bitInt': Int8Array,\r\n        '16bitInt': Int16Array,\r\n        '32bitInt': Int32Array,\r\n        '32bitFloat': Float32Array\r\n    }\r\n\r\n    return typedArrays[this.option.encoding] ? typedArrays[this.option.encoding] : typedArrays['16bitInt'];\r\n};\r\n\r\nPCMPlayer.prototype.createContext = function() {\r\n    this.audioCtx = new (window.AudioContext || window.webkitAudioContext)();\r\n    this.gainNode = this.audioCtx.createGain();\r\n    this.gainNode.gain.value = 1;\r\n    this.gainNode.connect(this.audioCtx.destination);\r\n    this.startTime = this.audioCtx.currentTime;\r\n};\r\n\r\nPCMPlayer.prototype.isTypedArray = function(data) {\r\n    return (data.byteLength && data.buffer && data.buffer.constructor == ArrayBuffer);\r\n};\r\n\r\nPCMPlayer.prototype.feed = function(data) {\r\n    if (!this.isTypedArray(data)) return;\r\n    data = this.getFormatedValue(data);\r\n    var tmp = new Float32Array(this.samples.length + data.length);\r\n    tmp.set(this.samples, 0);\r\n    tmp.set(data, this.samples.length);\r\n    this.samples = tmp;\r\n};\r\n\r\nPCMPlayer.prototype.getFormatedValue = function(data) {\r\n    var data = new this.typedArray(data.buffer),\r\n        float32 = new Float32Array(data.length),\r\n        i;\r\n\r\n    for (i = 0; i < data.length; i++) {\r\n        float32[i] = data[i] / this.maxValue;\r\n    }\r\n    return float32;\r\n};\r\n\r\nPCMPlayer.prototype.volume = function(volume) {\r\n    this.gainNode.gain.value = volume;\r\n};\r\n\r\nPCMPlayer.prototype.destroy = function() {\r\n    if (this.interval) {\r\n        clearInterval(this.interval);\r\n    }\r\n    this.samples = null;\r\n    this.audioCtx.close();\r\n    this.audioCtx = null;\r\n};\r\n\r\nPCMPlayer.prototype.flush = function() {\r\n    if (!this.samples.length) return;\r\n    var bufferSource = this.audioCtx.createBufferSource(),\r\n        length = this.samples.length / this.option.channels,\r\n        audioBuffer = this.audioCtx.createBuffer(this.option.channels, length, this.option.sampleRate),\r\n        audioData,\r\n        channel,\r\n        offset,\r\n        i,\r\n        decrement;\r\n\r\n    for (channel = 0; channel < this.option.channels; channel++) {\r\n        audioData = audioBuffer.getChannelData(channel);\r\n        offset = channel;\r\n        decrement = 50;\r\n        for (i = 0; i < length; i++) {\r\n            audioData[i] = this.samples[offset];\r\n            /* fadein */\r\n            if (i < 50) {\r\n                audioData[i] =  (audioData[i] * i) / 50;\r\n            }\r\n            /* fadeout*/\r\n            if (i >= (length - 51)) {\r\n                audioData[i] =  (audioData[i] * decrement--) / 50;\r\n            }\r\n            offset += this.option.channels;\r\n        }\r\n    }\r\n    \r\n    if (this.startTime < this.audioCtx.currentTime) {\r\n        this.startTime = this.audioCtx.currentTime;\r\n    }\r\n    console.log('start vs current '+this.startTime+' vs '+this.audioCtx.currentTime+' duration: '+audioBuffer.duration);\r\n    bufferSource.buffer = audioBuffer;\r\n    bufferSource.connect(this.gainNode);\r\n    bufferSource.start(this.startTime);\r\n    this.startTime += audioBuffer.duration;\r\n    this.samples = new Float32Array();\r\n};","function PCMPlayer(t){this.init(t)}PCMPlayer.prototype.init=function(t){this.option=Object.assign({},{encoding:\"16bitInt\",channels:1,sampleRate:8e3,flushingTime:1e3},t),this.samples=new Float32Array,this.flush=this.flush.bind(this),this.interval=setInterval(this.flush,this.option.flushingTime),this.maxValue=this.getMaxValue(),this.typedArray=this.getTypedArray(),this.createContext()},PCMPlayer.prototype.getMaxValue=function(){var t={\"8bitInt\":128,\"16bitInt\":32768,\"32bitInt\":2147483648,\"32bitFloat\":1};return t[this.option.encoding]?t[this.option.encoding]:t[\"16bitInt\"]},PCMPlayer.prototype.getTypedArray=function(){var t={\"8bitInt\":Int8Array,\"16bitInt\":Int16Array,\"32bitInt\":Int32Array,\"32bitFloat\":Float32Array};return t[this.option.encoding]?t[this.option.encoding]:t[\"16bitInt\"]},PCMPlayer.prototype.createContext=function(){this.audioCtx=new(window.AudioContext||window.webkitAudioContext),this.gainNode=this.audioCtx.createGain(),this.gainNode.gain.value=1,this.gainNode.connect(this.audioCtx.destination),this.startTime=this.audioCtx.currentTime},PCMPlayer.prototype.isTypedArray=function(t){return t.byteLength&&t.buffer&&t.buffer.constructor==ArrayBuffer},PCMPlayer.prototype.feed=function(t){if(this.isTypedArray(t)){t=this.getFormatedValue(t);var e=new Float32Array(this.samples.length+t.length);e.set(this.samples,0),e.set(t,this.samples.length),this.samples=e}},PCMPlayer.prototype.getFormatedValue=function(t){t=new this.typedArray(t.buffer);var e,i=new Float32Array(t.length);for(e=0;e<t.length;e++)i[e]=t[e]/this.maxValue;return i},PCMPlayer.prototype.volume=function(t){this.gainNode.gain.value=t},PCMPlayer.prototype.destroy=function(){this.interval&&clearInterval(this.interval),this.samples=null,this.audioCtx.close(),this.audioCtx=null},PCMPlayer.prototype.flush=function(){if(this.samples.length){var t,e,i,n,a,s=this.audioCtx.createBufferSource(),r=this.samples.length/this.option.channels,o=this.audioCtx.createBuffer(this.option.channels,r,this.option.sampleRate);for(e=0;e<this.option.channels;e++)for(t=o.getChannelData(e),i=e,a=50,n=0;n<r;n++)t[n]=this.samples[i],n<50&&(t[n]=t[n]*n/50),r-51<=n&&(t[n]=t[n]*a--/50),i+=this.option.channels;this.startTime<this.audioCtx.currentTime&&(this.startTime=this.audioCtx.currentTime),console.log(\"start vs current \"+this.startTime+\" vs \"+this.audioCtx.currentTime+\" duration: \"+o.duration),s.buffer=o,s.connect(this.gainNode),s.start(this.startTime),this.startTime+=o.duration,this.samples=new Float32Array}};","\r\nfunction thunderEncode(url) {\r\n    var b = new Base64();\r\n    var str = \"thunder://\" + b.encode('AA' + url + 'ZZ');\r\n\r\n    return str;\r\n}\r\n\r\nfunction thunderDecode(urlThunder) {\r\n    var b = new Base64();\r\n\r\n    var str = urlThunder.substr(\"thunder://\".length);\r\n    str = b.decode(str);\r\n    str = str.substr(2, str.length - 4);\r\n\r\n    return str;\r\n}\r\n\r\nfunction qqEncode(url) {\r\n    var b = new Base64();\r\n\r\n    var str = 'qqdl://' + b.encode(url);\r\n    return str;\r\n}\r\n\r\nfunction xiaomiEncode(url) {\r\n    var b = new Base64();\r\n\r\n    var thunder = thunderEncode(url);\r\n    var str = 'https://d.miwifi.com/d2r/?url=' + b.encode(thunder);\r\n    return str;\r\n}\r\n\r\nfunction Base64Decode(src){\r\n\tvar b = new Base64();\r\n\tvar ret = b.toUint8Array(src);\r\n\treturn ret;\r\n}\r\n\r\nfunction Uint8ToBase64(src) {\r\n    var b = new Base64();\r\n    var ret = b.uint8ToBase64(src);\r\n    return ret;\r\n}\r\n\r\n\r\nfunction Base64() {\r\n    // private property\r\n    _keyStr = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\r\n\r\n    // public method for encoding\r\n    this.encode = function (input) {\r\n        var output = \"\";\r\n        var chr1, chr2, chr3, enc1, enc2, enc3, enc4;\r\n        var i = 0;\r\n        input = _utf8_encode(input);\r\n        while (i < input.length) {\r\n            chr1 = input.charCodeAt(i++);\r\n            chr2 = input.charCodeAt(i++);\r\n            chr3 = input.charCodeAt(i++);\r\n            enc1 = chr1 >> 2;\r\n            enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);\r\n            enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);\r\n            enc4 = chr3 & 63;\r\n            if (isNaN(chr2)) {\r\n                enc3 = enc4 = 64;\r\n            } else if (isNaN(chr3)) {\r\n                enc4 = 64;\r\n            }\r\n            output = output +\r\n            _keyStr.charAt(enc1) + _keyStr.charAt(enc2) +\r\n            _keyStr.charAt(enc3) + _keyStr.charAt(enc4);\r\n        }\r\n        return output;\r\n    }\r\n\r\n    // public method for decoding\r\n    this.decode = function (input) {\r\n        var output = \"\";\r\n        var chr1, chr2, chr3;\r\n        var enc1, enc2, enc3, enc4;\r\n        var i = 0;\r\n        input = input.replace(/[^A-Za-z0-9\\+\\/\\=]/g, \"\");\r\n        while (i < input.length) {\r\n            enc1 = _keyStr.indexOf(input.charAt(i++));\r\n            enc2 = _keyStr.indexOf(input.charAt(i++));\r\n            enc3 = _keyStr.indexOf(input.charAt(i++));\r\n            enc4 = _keyStr.indexOf(input.charAt(i++));\r\n            chr1 = (enc1 << 2) | (enc2 >> 4);\r\n            chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);\r\n            chr3 = ((enc3 & 3) << 6) | enc4;\r\n            output = output + String.fromCharCode(chr1);\r\n            if (enc3 != 64) {\r\n                output = output + String.fromCharCode(chr2);\r\n            }\r\n            if (enc4 != 64) {\r\n                output = output + String.fromCharCode(chr3);\r\n            }\r\n        }\r\n        output = _utf8_decode(output);\r\n        return output;\r\n    }\r\n\r\n    this.uint8ToBase64 = function (szUint8) {\r\n        var output = \"\";\r\n        for (var iIndex = 0; iIndex < szUint8.byteLength; ) {\r\n            chr1 = szUint8[iIndex++];\r\n            chr2 = szUint8[iIndex++];\r\n            chr3 = szUint8[iIndex++];\r\n            enc1 = chr1 >> 2;\r\n            enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);\r\n            enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);\r\n            enc4 = chr3 & 63;\r\n            if (isNaN(chr2)) {\r\n                enc3 = enc4 = 64;\r\n            } else if (isNaN(chr3)) {\r\n                enc4 = 64;\r\n            }\r\n            output = output +\r\n            _keyStr.charAt(enc1) + _keyStr.charAt(enc2) +\r\n            _keyStr.charAt(enc3) + _keyStr.charAt(enc4);\r\n        }\r\n        return output;\r\n    }\r\n\r\n\tthis.toUint8Array = function(input){\r\n\t\tvar szUint8Array = new Array();\r\n\t\tvar output = \"\";\r\n        var chr1, chr2, chr3;\r\n        var enc1, enc2, enc3, enc4;\r\n        var i = 0;\r\n\t\tvar iIndex = 0;\r\n        input = input.replace(/[^A-Za-z0-9\\+\\/\\=]/g, \"\");\r\n        while (i < input.length) {\r\n            enc1 = _keyStr.indexOf(input.charAt(i++));\r\n            enc2 = _keyStr.indexOf(input.charAt(i++));\r\n            enc3 = _keyStr.indexOf(input.charAt(i++));\r\n            enc4 = _keyStr.indexOf(input.charAt(i++));\r\n            chr1 = (enc1 << 2) | (enc2 >> 4);\r\n            chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);\r\n            chr3 = ((enc3 & 3) << 6) | enc4;\r\n\t\t\tszUint8Array[iIndex] = chr1;\r\n\t\t\tiIndex ++;\r\n            if (enc3 != 64) {\r\n\t\t\t\tszUint8Array[iIndex] = chr2;\r\n\t\t\t\tiIndex ++;\r\n            }\r\n            if (enc4 != 64) {\r\n\t\t\t\tszUint8Array[iIndex] = chr3;\r\n\t\t\t\tiIndex ++;\r\n            }\r\n        }\r\n\t\treturn new Uint8Array(szUint8Array);\r\n\t}\r\n\t\r\n    // private method for UTF-8 encoding\r\n    _utf8_encode = function (string) {\r\n        string = string.replace(/\\r\\n/g, \"\\n\");\r\n        var utftext = \"\";\r\n        for (var n = 0; n < string.length; n++) {\r\n            var c = string.charCodeAt(n);\r\n            if (c < 128) {\r\n                utftext += String.fromCharCode(c);\r\n            } else if ((c > 127) && (c < 2048)) {\r\n                utftext += String.fromCharCode((c >> 6) | 192);\r\n                utftext += String.fromCharCode((c & 63) | 128);\r\n            } else {\r\n                utftext += String.fromCharCode((c >> 12) | 224);\r\n                utftext += String.fromCharCode(((c >> 6) & 63) | 128);\r\n                utftext += String.fromCharCode((c & 63) | 128);\r\n            }\r\n        }\r\n        return utftext;\r\n    }\r\n\r\n    // private method for UTF-8 decoding\r\n    _utf8_decode = function (utftext) {\r\n        var string = \"\";\r\n        var i = 0;\r\n        var c = c1 = c2 = 0;\r\n        while (i < utftext.length) {\r\n            c = utftext.charCodeAt(i);\r\n            if (c < 128) {\r\n                string += String.fromCharCode(c);\r\n                i++;\r\n            } else if ((c > 191) && (c < 224)) {\r\n                c2 = utftext.charCodeAt(i + 1);\r\n                string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));\r\n                i += 2;\r\n            } else {\r\n                c2 = utftext.charCodeAt(i + 1);\r\n                c3 = utftext.charCodeAt(i + 2);\r\n                string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));\r\n                i += 3;\r\n            }\r\n        }\r\n        return string;\r\n    }\r\n}","// BigInt, a suite of routines for performing multiple-precision arithmetic in\r\n// JavaScript.\r\n//\r\n// Copyright 1998-2005 David Shapiro.\r\n//\r\n// You may use, re-use, abuse,\r\n// copy, and modify this code to your liking, but please keep this header.\r\n// Thanks!\r\n//\r\n// Dave Shapiro\r\n// dave@ohdave.com\r\n\r\n// IMPORTANT THING: Be sure to set maxDigits according to your precision\r\n// needs. Use the setMaxDigits() function to do this. See comments below.\r\n//\r\n// Tweaked by Ian Bunning\r\n// Alterations:\r\n// Fix bug in function biFromHex(s) to allow\r\n// parsing of strings of length != 0 (mod 4)\r\n\r\n// Changes made by Dave Shapiro as of 12/30/2004:\r\n//\r\n// The BigInt() constructor doesn't take a string anymore. If you want to\r\n// create a BigInt from a string, use biFromDecimal() for base-10\r\n// representations, biFromHex() for base-16 representations, or\r\n// biFromString() for base-2-to-36 representations.\r\n//\r\n// biFromArray() has been removed. Use biCopy() instead, passing a BigInt\r\n// instead of an array.\r\n//\r\n// The BigInt() constructor now only constructs a zeroed-out array.\r\n// Alternatively, if you pass <true>, it won't construct any array. See the\r\n// biCopy() method for an example of this.\r\n//\r\n// Be sure to set maxDigits depending on your precision needs. The default\r\n// zeroed-out array ZERO_ARRAY is constructed inside the setMaxDigits()\r\n// function. So use this function to set the variable. DON'T JUST SET THE\r\n// VALUE. USE THE FUNCTION.\r\n//\r\n// ZERO_ARRAY exists to hopefully speed up construction of BigInts(). By\r\n// precalculating the zero array, we can just use slice(0) to make copies of\r\n// it. Presumably this calls faster native code, as opposed to setting the\r\n// elements one at a time. I have not done any timing tests to verify this\r\n// claim.\r\n\r\n// Max number = 10^16 - 2 = 9999999999999998;\r\n//               2^53     = 9007199254740992;\r\nwindow.biFromNumber = null;\r\nwindow.biMultiply = null;\r\nwindow.biModulo = null;\r\nwindow.biToDecimal = null;\r\n\r\n(function () {\r\n    var biRadixBase = 2;\r\n    var biRadixBits = 16;\r\n    var bitsPerDigit = biRadixBits;\r\n    var biRadix = 1 << 16; // = 2^16 = 65536\r\n    var biHalfRadix = biRadix >>> 1;\r\n    var biRadixSquared = biRadix * biRadix;\r\n    var maxDigitVal = biRadix - 1;\r\n    var maxInteger = 9999999999999998;\r\n\r\n    // maxDigits:\r\n    // Change this to accommodate your largest number size. Use setMaxDigits()\r\n    // to change it!\r\n    //\r\n    // In general, if you're working with numbers of size N bits, you'll need 2*N\r\n    // bits of storage. Each digit holds 16 bits. So, a 1024-bit key will need\r\n    //\r\n    // 1024 * 2 / 16 = 128 digits of storage.\r\n    //\r\n\r\n    biFromNumber = function (i) {\r\n        var result = new BigInt();\r\n        result.isNeg = i < 0;\r\n        i = Math.abs(i);\r\n        var j = 0;\r\n        while (i > 0) {\r\n            result.digits[j++] = i & maxDigitVal;\r\n            i = Math.floor(i / biRadix);\r\n        }\r\n        return result;\r\n    }\r\n\r\n    var maxDigits;\r\n    var ZERO_ARRAY;\r\n    var bigZero, bigOne;\r\n\r\n    function setMaxDigits(value) {\r\n        maxDigits = value;\r\n        ZERO_ARRAY = new Array(maxDigits);\r\n        for (var iza = 0; iza < ZERO_ARRAY.length; iza++) ZERO_ARRAY[iza] = 0;\r\n        bigZero = new BigInt();\r\n        bigOne = new BigInt();\r\n        bigOne.digits[0] = 1;\r\n    }\r\n\r\n    setMaxDigits(20);\r\n\r\n    // The maximum number of digits in base 10 you can convert to an\r\n    // integer without JavaScript throwing up on you.\r\n    var dpl10 = 15;\r\n    // lr10 = 10 ^ dpl10\r\n    var lr10 = biFromNumber(1000000000000000);\r\n\r\n    function BigInt(flag) {\r\n        if (typeof flag == \"boolean\" && flag == true) {\r\n            this.digits = null;\r\n        }\r\n        else {\r\n            this.digits = ZERO_ARRAY.slice(0);\r\n        }\r\n        this.isNeg = false;\r\n    }\r\n\r\n    function biFromDecimal(s) {\r\n        var isNeg = s.charAt(0) == '-';\r\n        var i = isNeg ? 1 : 0;\r\n        var result;\r\n        // Skip leading zeros.\r\n        while (i < s.length && s.charAt(i) == '0')++i;\r\n        if (i == s.length) {\r\n            result = new BigInt();\r\n        }\r\n        else {\r\n            var digitCount = s.length - i;\r\n            var fgl = digitCount % dpl10;\r\n            if (fgl == 0) fgl = dpl10;\r\n            result = biFromNumber(Number(s.substr(i, fgl)));\r\n            i += fgl;\r\n            while (i < s.length) {\r\n                result = biAdd(biMultiply(result, lr10),\r\n                               biFromNumber(Number(s.substr(i, dpl10))));\r\n                i += dpl10;\r\n            }\r\n            result.isNeg = isNeg;\r\n        }\r\n        return result;\r\n    }\r\n\r\n    function biCopy(bi) {\r\n        var result = new BigInt(true);\r\n        result.digits = bi.digits.slice(0);\r\n        result.isNeg = bi.isNeg;\r\n        return result;\r\n    }\r\n\r\n    function reverseStr(s) {\r\n        var result = \"\";\r\n        for (var i = s.length - 1; i > -1; --i) {\r\n            result += s.charAt(i);\r\n        }\r\n        return result;\r\n    }\r\n\r\n    var hexatrigesimalToChar = new Array(\r\n     '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',\r\n     'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j',\r\n     'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't',\r\n     'u', 'v', 'w', 'x', 'y', 'z'\r\n    );\r\n\r\n    function biToString(x, radix)\r\n        // 2 <= radix <= 36\r\n    {\r\n        var b = new BigInt();\r\n        b.digits[0] = radix;\r\n        var qr = biDivideModulo(x, b);\r\n        var result = hexatrigesimalToChar[qr[1].digits[0]];\r\n        while (biCompare(qr[0], bigZero) == 1) {\r\n            qr = biDivideModulo(qr[0], b);\r\n            digit = qr[1].digits[0];\r\n            result += hexatrigesimalToChar[qr[1].digits[0]];\r\n        }\r\n        return (x.isNeg ? \"-\" : \"\") + reverseStr(result);\r\n    }\r\n\r\n    biToDecimal = function (x) {\r\n        var b = new BigInt();\r\n        b.digits[0] = 10;\r\n        var qr = biDivideModulo(x, b);\r\n        var result = String(qr[1].digits[0]);\r\n        while (biCompare(qr[0], bigZero) == 1) {\r\n            qr = biDivideModulo(qr[0], b);\r\n            result += String(qr[1].digits[0]);\r\n        }\r\n        return (x.isNeg ? \"-\" : \"\") + reverseStr(result);\r\n    }\r\n\r\n    var hexToChar = new Array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9',\r\n                              'a', 'b', 'c', 'd', 'e', 'f');\r\n\r\n    function digitToHex(n) {\r\n        var mask = 0xf;\r\n        var result = \"\";\r\n        for (i = 0; i < 4; ++i) {\r\n            result += hexToChar[n & mask];\r\n            n >>>= 4;\r\n        }\r\n        return reverseStr(result);\r\n    }\r\n\r\n    function biToHex(x) {\r\n        var result = \"\";\r\n        var n = biHighIndex(x);\r\n        for (var i = biHighIndex(x) ; i > -1; --i) {\r\n            result += digitToHex(x.digits[i]);\r\n        }\r\n        return result;\r\n    }\r\n\r\n    function charToHex(c) {\r\n        var ZERO = 48;\r\n        var NINE = ZERO + 9;\r\n        var littleA = 97;\r\n        var littleZ = littleA + 25;\r\n        var bigA = 65;\r\n        var bigZ = 65 + 25;\r\n        var result;\r\n\r\n        if (c >= ZERO && c <= NINE) {\r\n            result = c - ZERO;\r\n        } else if (c >= bigA && c <= bigZ) {\r\n            result = 10 + c - bigA;\r\n        } else if (c >= littleA && c <= littleZ) {\r\n            result = 10 + c - littleA;\r\n        } else {\r\n            result = 0;\r\n        }\r\n        return result;\r\n    }\r\n\r\n    function hexToDigit(s) {\r\n        var result = 0;\r\n        var sl = Math.min(s.length, 4);\r\n        for (var i = 0; i < sl; ++i) {\r\n            result <<= 4;\r\n            result |= charToHex(s.charCodeAt(i))\r\n        }\r\n        return result;\r\n    }\r\n\r\n    function biFromHex(s) {\r\n        var result = new BigInt();\r\n        var sl = s.length;\r\n        for (var i = sl, j = 0; i > 0; i -= 4, ++j) {\r\n            result.digits[j] = hexToDigit(s.substr(Math.max(i - 4, 0), Math.min(i, 4)));\r\n        }\r\n        return result;\r\n    }\r\n\r\n    function biFromString(s, radix) {\r\n        var isNeg = s.charAt(0) == '-';\r\n        var istop = isNeg ? 1 : 0;\r\n        var result = new BigInt();\r\n        var place = new BigInt();\r\n        place.digits[0] = 1; // radix^0\r\n        for (var i = s.length - 1; i >= istop; i--) {\r\n            var c = s.charCodeAt(i);\r\n            var digit = charToHex(c);\r\n            var biDigit = biMultiplyDigit(place, digit);\r\n            result = biAdd(result, biDigit);\r\n            place = biMultiplyDigit(place, radix);\r\n        }\r\n        result.isNeg = isNeg;\r\n        return result;\r\n    }\r\n\r\n    function biDump(b) {\r\n        return (b.isNeg ? \"-\" : \"\") + b.digits.join(\" \");\r\n    }\r\n\r\n    function biAdd(x, y) {\r\n        var result;\r\n\r\n        if (x.isNeg != y.isNeg) {\r\n            y.isNeg = !y.isNeg;\r\n            result = biSubtract(x, y);\r\n            y.isNeg = !y.isNeg;\r\n        }\r\n        else {\r\n            result = new BigInt();\r\n            var c = 0;\r\n            var n;\r\n            for (var i = 0; i < x.digits.length; ++i) {\r\n                n = x.digits[i] + y.digits[i] + c;\r\n                result.digits[i] = n % biRadix;\r\n                c = Number(n >= biRadix);\r\n            }\r\n            result.isNeg = x.isNeg;\r\n        }\r\n        return result;\r\n    }\r\n\r\n    function biSubtract(x, y) {\r\n        var result;\r\n        if (x.isNeg != y.isNeg) {\r\n            y.isNeg = !y.isNeg;\r\n            result = biAdd(x, y);\r\n            y.isNeg = !y.isNeg;\r\n        } else {\r\n            result = new BigInt();\r\n            var n, c;\r\n            c = 0;\r\n            for (var i = 0; i < x.digits.length; ++i) {\r\n                n = x.digits[i] - y.digits[i] + c;\r\n                result.digits[i] = n % biRadix;\r\n                // Stupid non-conforming modulus operation.\r\n                if (result.digits[i] < 0) result.digits[i] += biRadix;\r\n                c = 0 - Number(n < 0);\r\n            }\r\n            // Fix up the negative sign, if any.\r\n            if (c == -1) {\r\n                c = 0;\r\n                for (var i = 0; i < x.digits.length; ++i) {\r\n                    n = 0 - result.digits[i] + c;\r\n                    result.digits[i] = n % biRadix;\r\n                    // Stupid non-conforming modulus operation.\r\n                    if (result.digits[i] < 0) result.digits[i] += biRadix;\r\n                    c = 0 - Number(n < 0);\r\n                }\r\n                // Result is opposite sign of arguments.\r\n                result.isNeg = !x.isNeg;\r\n            } else {\r\n                // Result is same sign.\r\n                result.isNeg = x.isNeg;\r\n            }\r\n        }\r\n        return result;\r\n    }\r\n\r\n    function biHighIndex(x) {\r\n        var result = x.digits.length - 1;\r\n        while (result > 0 && x.digits[result] == 0)--result;\r\n        return result;\r\n    }\r\n\r\n    function biNumBits(x) {\r\n        var n = biHighIndex(x);\r\n        var d = x.digits[n];\r\n        var m = (n + 1) * bitsPerDigit;\r\n        var result;\r\n        for (result = m; result > m - bitsPerDigit; --result) {\r\n            if ((d & 0x8000) != 0) break;\r\n            d <<= 1;\r\n        }\r\n        return result;\r\n    }\r\n\r\n    biMultiply = function (x, y) {\r\n        var result = new BigInt();\r\n        var c;\r\n        var n = biHighIndex(x);\r\n        var t = biHighIndex(y);\r\n        var u, uv, k;\r\n\r\n        for (var i = 0; i <= t; ++i) {\r\n            c = 0;\r\n            k = i;\r\n            for (j = 0; j <= n; ++j, ++k) {\r\n                uv = result.digits[k] + x.digits[j] * y.digits[i] + c;\r\n                result.digits[k] = uv & maxDigitVal;\r\n                c = uv >>> biRadixBits;\r\n                //c = Math.floor(uv / biRadix);\r\n            }\r\n            result.digits[i + n + 1] = c;\r\n        }\r\n        // Someone give me a logical xor, please.\r\n        result.isNeg = x.isNeg != y.isNeg;\r\n        return result;\r\n    }\r\n\r\n    function biMultiplyDigit(x, y) {\r\n        var n, c, uv;\r\n\r\n        result = new BigInt();\r\n        n = biHighIndex(x);\r\n        c = 0;\r\n        for (var j = 0; j <= n; ++j) {\r\n            uv = result.digits[j] + x.digits[j] * y + c;\r\n            result.digits[j] = uv & maxDigitVal;\r\n            c = uv >>> biRadixBits;\r\n            //c = Math.floor(uv / biRadix);\r\n        }\r\n        result.digits[1 + n] = c;\r\n        return result;\r\n    }\r\n\r\n    function arrayCopy(src, srcStart, dest, destStart, n) {\r\n        var m = Math.min(srcStart + n, src.length);\r\n        for (var i = srcStart, j = destStart; i < m; ++i, ++j) {\r\n            dest[j] = src[i];\r\n        }\r\n    }\r\n\r\n    var highBitMasks = new Array(0x0000, 0x8000, 0xC000, 0xE000, 0xF000, 0xF800,\r\n                                 0xFC00, 0xFE00, 0xFF00, 0xFF80, 0xFFC0, 0xFFE0,\r\n                                 0xFFF0, 0xFFF8, 0xFFFC, 0xFFFE, 0xFFFF);\r\n\r\n    function biShiftLeft(x, n) {\r\n        var digitCount = Math.floor(n / bitsPerDigit);\r\n        var result = new BigInt();\r\n        arrayCopy(x.digits, 0, result.digits, digitCount,\r\n                  result.digits.length - digitCount);\r\n        var bits = n % bitsPerDigit;\r\n        var rightBits = bitsPerDigit - bits;\r\n        for (var i = result.digits.length - 1, i1 = i - 1; i > 0; --i, --i1) {\r\n            result.digits[i] = ((result.digits[i] << bits) & maxDigitVal) |\r\n                               ((result.digits[i1] & highBitMasks[bits]) >>>\r\n                                (rightBits));\r\n        }\r\n        result.digits[0] = ((result.digits[i] << bits) & maxDigitVal);\r\n        result.isNeg = x.isNeg;\r\n        return result;\r\n    }\r\n\r\n    var lowBitMasks = new Array(0x0000, 0x0001, 0x0003, 0x0007, 0x000F, 0x001F,\r\n                                0x003F, 0x007F, 0x00FF, 0x01FF, 0x03FF, 0x07FF,\r\n                                0x0FFF, 0x1FFF, 0x3FFF, 0x7FFF, 0xFFFF);\r\n\r\n    function biShiftRight(x, n) {\r\n        var digitCount = Math.floor(n / bitsPerDigit);\r\n        var result = new BigInt();\r\n        arrayCopy(x.digits, digitCount, result.digits, 0,\r\n                  x.digits.length - digitCount);\r\n        var bits = n % bitsPerDigit;\r\n        var leftBits = bitsPerDigit - bits;\r\n        for (var i = 0, i1 = i + 1; i < result.digits.length - 1; ++i, ++i1) {\r\n            result.digits[i] = (result.digits[i] >>> bits) |\r\n                               ((result.digits[i1] & lowBitMasks[bits]) << leftBits);\r\n        }\r\n        result.digits[result.digits.length - 1] >>>= bits;\r\n        result.isNeg = x.isNeg;\r\n        return result;\r\n    }\r\n\r\n    function biMultiplyByRadixPower(x, n) {\r\n        var result = new BigInt();\r\n        arrayCopy(x.digits, 0, result.digits, n, result.digits.length - n);\r\n        return result;\r\n    }\r\n\r\n    function biDivideByRadixPower(x, n) {\r\n        var result = new BigInt();\r\n        arrayCopy(x.digits, n, result.digits, 0, result.digits.length - n);\r\n        return result;\r\n    }\r\n\r\n    function biModuloByRadixPower(x, n) {\r\n        var result = new BigInt();\r\n        arrayCopy(x.digits, 0, result.digits, 0, n);\r\n        return result;\r\n    }\r\n\r\n    function biCompare(x, y) {\r\n        if (x.isNeg != y.isNeg) {\r\n            return 1 - 2 * Number(x.isNeg);\r\n        }\r\n        for (var i = x.digits.length - 1; i >= 0; --i) {\r\n            if (x.digits[i] != y.digits[i]) {\r\n                if (x.isNeg) {\r\n                    return 1 - 2 * Number(x.digits[i] > y.digits[i]);\r\n                } else {\r\n                    return 1 - 2 * Number(x.digits[i] < y.digits[i]);\r\n                }\r\n            }\r\n        }\r\n        return 0;\r\n    }\r\n\r\n    function biDivideModulo(x, y) {\r\n        var nb = biNumBits(x);\r\n        var tb = biNumBits(y);\r\n        var origYIsNeg = y.isNeg;\r\n        var q, r;\r\n        if (nb < tb) {\r\n            // |x| < |y|\r\n            if (x.isNeg) {\r\n                q = biCopy(bigOne);\r\n                q.isNeg = !y.isNeg;\r\n                x.isNeg = false;\r\n                y.isNeg = false;\r\n                r = biSubtract(y, x);\r\n                // Restore signs, 'cause they're references.\r\n                x.isNeg = true;\r\n                y.isNeg = origYIsNeg;\r\n            } else {\r\n                q = new BigInt();\r\n                r = biCopy(x);\r\n            }\r\n            return new Array(q, r);\r\n        }\r\n\r\n        q = new BigInt();\r\n        r = x;\r\n\r\n        // Normalize Y.\r\n        var t = Math.ceil(tb / bitsPerDigit) - 1;\r\n        var lambda = 0;\r\n        while (y.digits[t] < biHalfRadix) {\r\n            y = biShiftLeft(y, 1);\r\n            ++lambda;\r\n            ++tb;\r\n            t = Math.ceil(tb / bitsPerDigit) - 1;\r\n        }\r\n        // Shift r over to keep the quotient constant. We'll shift the\r\n        // remainder back at the end.\r\n        r = biShiftLeft(r, lambda);\r\n        nb += lambda; // Update the bit count for x.\r\n        var n = Math.ceil(nb / bitsPerDigit) - 1;\r\n\r\n        var b = biMultiplyByRadixPower(y, n - t);\r\n        while (biCompare(r, b) != -1) {\r\n            ++q.digits[n - t];\r\n            r = biSubtract(r, b);\r\n        }\r\n        for (var i = n; i > t; --i) {\r\n            var ri = (i >= r.digits.length) ? 0 : r.digits[i];\r\n            var ri1 = (i - 1 >= r.digits.length) ? 0 : r.digits[i - 1];\r\n            var ri2 = (i - 2 >= r.digits.length) ? 0 : r.digits[i - 2];\r\n            var yt = (t >= y.digits.length) ? 0 : y.digits[t];\r\n            var yt1 = (t - 1 >= y.digits.length) ? 0 : y.digits[t - 1];\r\n            if (ri == yt) {\r\n                q.digits[i - t - 1] = maxDigitVal;\r\n            } else {\r\n                q.digits[i - t - 1] = Math.floor((ri * biRadix + ri1) / yt);\r\n            }\r\n\r\n            var c1 = q.digits[i - t - 1] * ((yt * biRadix) + yt1);\r\n            var c2 = (ri * biRadixSquared) + ((ri1 * biRadix) + ri2);\r\n            while (c1 > c2) {\r\n                --q.digits[i - t - 1];\r\n                c1 = q.digits[i - t - 1] * ((yt * biRadix) | yt1);\r\n                c2 = (ri * biRadix * biRadix) + ((ri1 * biRadix) + ri2);\r\n            }\r\n\r\n            b = biMultiplyByRadixPower(y, i - t - 1);\r\n            r = biSubtract(r, biMultiplyDigit(b, q.digits[i - t - 1]));\r\n            if (r.isNeg) {\r\n                r = biAdd(r, b);\r\n                --q.digits[i - t - 1];\r\n            }\r\n        }\r\n        r = biShiftRight(r, lambda);\r\n        // Fiddle with the signs and stuff to make sure that 0 <= r < y.\r\n        q.isNeg = x.isNeg != origYIsNeg;\r\n        if (x.isNeg) {\r\n            if (origYIsNeg) {\r\n                q = biAdd(q, bigOne);\r\n            } else {\r\n                q = biSubtract(q, bigOne);\r\n            }\r\n            y = biShiftRight(y, lambda);\r\n            r = biSubtract(y, r);\r\n        }\r\n        // Check for the unbelievably stupid degenerate case of r == -0.\r\n        if (r.digits[0] == 0 && biHighIndex(r) == 0) r.isNeg = false;\r\n\r\n        return new Array(q, r);\r\n    }\r\n\r\n    function biDivide(x, y) {\r\n        return biDivideModulo(x, y)[0];\r\n    }\r\n\r\n    biModulo = function (x, y) {\r\n        return biDivideModulo(x, y)[1];\r\n    }\r\n\r\n    function biMultiplyMod(x, y, m) {\r\n        return biModulo(biMultiply(x, y), m);\r\n    }\r\n\r\n    function biPow(x, y) {\r\n        var result = bigOne;\r\n        var a = x;\r\n        while (true) {\r\n            if ((y & 1) != 0) result = biMultiply(result, a);\r\n            y >>= 1;\r\n            if (y == 0) break;\r\n            a = biMultiply(a, a);\r\n        }\r\n        return result;\r\n    }\r\n\r\n    function biPowMod(x, y, m) {\r\n        var result = bigOne;\r\n        var a = x;\r\n        var k = y;\r\n        while (true) {\r\n            if ((k.digits[0] & 1) != 0) result = biMultiplyMod(result, a, m);\r\n            k = biShiftRight(k, 1);\r\n            if (k.digits[0] == 0 && biHighIndex(k) == 0) break;\r\n            a = biMultiplyMod(a, a, m);\r\n        }\r\n        return result;\r\n    }\r\n})();","window.jnRSA = {};\r\n(function (jnRSA) {\r\n\r\n    //小素数表\r\n    jnRSA.g_PrimeTable = [3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97];\r\n    jnRSA.g_PrimeCount = jnRSA.g_PrimeTable.length;\r\n    jnRSA.g_Rnd;\r\n\r\n\r\n    jnRSA.RSA_PARAM = function () {\r\n    };\r\n\r\n    jnRSA.RSA_PARAM.prototype = {\r\n        p: null,   //(Number)两个素数,不参与加密解密运算\r\n        q: null,   //(Number)两个素数,不参与加密解密运算\r\n        f: null,   //(Number)f=(p-1)*(q-1),不参与加密解密运算\r\n        n: null,\r\n        e: null,   //(Number)公匙,n=p*q,gcd(e,f)=1\r\n        d: null,   //(Number)私匙,e*d=1 (mod f),gcd(n,d)=1\r\n        s: null    //(Number)块长,满足2^s<=n的最大的s,即log2(n)\r\n    };\r\n\r\n    jnRSA.RandNumber = function (s/*Number*/) {\r\n        if (!s || typeof (s) != \"Number\") {\r\n            this.randSeed = parseInt(Math.random() * 1000000);\r\n        } else {\r\n            this.randSeed = s;\r\n        }\r\n    };\r\n\r\n    jnRSA.RandNumber.prototype = {\r\n        randSeed: null,\r\n\r\n        Random: function (n/*Number*/) {\r\n            var multiplier = 12747293821;\r\n            var adder = 1343545677842234541;//随机数类\r\n\r\n            var mult = jnRSA.Multiply(multiplier, this.randSeed);\r\n            this.randSeed = (mult + adder) % adder;\r\n            return this.randSeed % n;\r\n        }\r\n    };\r\n\r\n    /*  Rabin-Miller素数测试,通过测试返回1,否则返回0。 n是待测素数。注意:通过测试并不一定就是素数,非素数通过测试的概率是1/4  */\r\n    jnRSA.RabinMillerKnl = function (n/*Number*/) {\r\n        var b, m, j, v, i, tmp = 2;\r\n        m = n - 1;\r\n        j = 0;    //0、先计算出m、j,使得n-1=m*2^j,其中m是正奇数,j是非负整数\r\n        while (!(m & 1)) {\r\n            ++j;\r\n            m = parseInt(m / 2);\r\n        }    //1、随机取一个b,2<=b<n-1\r\n        b = 2 + jnRSA.g_Rnd.Random(n - 3);    //2、计算v=b^m mod n\r\n        v = jnRSA.PowMod(b, m, n);    //3、如果v==1,通过测试\r\n        if (v == 1) {\r\n            return 1;\r\n        }    //4、令i=1\r\n        i = 1;    //5、如果v=n-1,通过测试\r\n        while (v != n - 1) {\r\n            //6、如果i==l,非素数,结束\r\n            if (i == j) {\r\n                return 0;            //7、v=v^2 mod n,i=i+1\r\n            }\r\n            v = jnRSA.PowMod(v, tmp, n);\r\n            ++i;        //8、循环到5\r\n        }\r\n        return 1;\r\n    };\r\n\r\n\r\n\r\n    /*   Rabin-Miller素数测试,循环调用核心loop次全部通过返回1,否则返回0    */\r\n    jnRSA.RabinMiller = function (n, loop) {\r\n        //先用小素数筛选一次,提高效率\r\n        for (i = 0; i < jnRSA.g_PrimeCount; i++) {\r\n            if (n % jnRSA.g_PrimeTable[i] == 0) {\r\n                return 0;\r\n            }\r\n        }    //循环调用Rabin-Miller测试loop次,使得非素数通过测试的概率降为(1/4)^loop\r\n        for (i = 0; i < loop; i++) {\r\n            if (!jnRSA.RabinMillerKnl(n)) {\r\n                return 0;\r\n            }\r\n        }\r\n        return 1;\r\n    };\r\n\r\n\r\n\r\n    /* 随机生成一个bits位(二进制位)的素数,最多32位 */\r\n    jnRSA.RandomPrime = function (bits) {\r\n        var base;\r\n        do {\r\n            base = 1 << (bits - 1);   //保证最高位是1\r\n            base = base + jnRSA.g_Rnd.Random(base);               //再加上一个随机数\r\n            base = base | 1;    //保证最低位是1,即保证是奇数\r\n        } while (!jnRSA.RabinMiller(base, 30));    //进行拉宾-米勒测试30次\r\n\r\n        return base;    //全部通过认为是素数\r\n    };\r\n\r\n    /*欧几里得法求最大公约数*/\r\n    jnRSA.EuclidGcd = function (p, q) {\r\n        var a = p > q ? p : q;\r\n        var b = p < q ? p : q;\r\n        var t;\r\n        if (p == q) {\r\n            return p;   //两数相等,最大公约数就是本身\r\n        }\r\n        else {\r\n            while (b)    //辗转相除法,gcd(a,b)=gcd(b,a-qb)\r\n            {\r\n                a = a % b;\r\n                t = a;\r\n                a = b;\r\n                b = t;\r\n            }\r\n            return a;\r\n        }\r\n    };\r\n\r\n    jnRSA.SteinGcd = function (a, b) {\r\n        if (a < b) {\r\n            return jnRSA.SteinGcd(b, a);\r\n        }\r\n        else if (b == 0) {\r\n            return a;\r\n        }\r\n        else {\r\n            return jnRSA.SteinGcd(b, a % b);\r\n        }\r\n    };\r\n\r\n    /*  Stein法求最大公约数  */\r\n    jnRSA.SteinGcd2 = function (p, q) {\r\n        var a = p > q ? p : q;\r\n        var b = p < q ? p : q;\r\n        var t, r = 1;\r\n        if (p == q)\r\n            return p;           //两数相等,最大公约数就是本身  }\r\n        else {\r\n            while ((!(a & 1)) && (!(b & 1))) {\r\n                r = r * 2;          //a、b均为偶数时,gcd(a,b)=2*gcd(a/2,b/2)\r\n                a = parseInt(a / 2);\r\n                b = parseInt(b / 2);\r\n            }\r\n            if (!(a & 1)) {\r\n                t = a;            //如果a为偶数,交换a,b\r\n                a = b;\r\n                b = t;\r\n            }\r\n            do {\r\n                while (!(b & 1))\r\n                    b = parseInt(b / 2); //b为偶数,a为奇数时,gcd(b,a)=gcd(b/2,a)   }  \r\n                if (b < a) {\r\n                    t = a;        //如果b小于a,交换a,b\r\n                    a = b;\r\n                    b = t;\r\n                }\r\n                b = parseInt((b - a) / 2); //b、a都是奇数,gcd(b,a)=gcd((b-a)/2,a)\r\n            } while (b);\r\n            return jnRSA.Multiply(r, a);\r\n        }\r\n    };\r\n\r\n\r\n\r\n    /*  已知a、b,求x,满足a*x =1 (mod b)相当于求解a*x-b*y=1的最小整数解   */\r\n    jnRSA.Euclid = function (a, b) {\r\n        var m, e, i, j, x, y;\r\n        var xx, yy;\r\n        m = b;\r\n        e = a;\r\n        x = 0;\r\n        y = 1;\r\n        xx = 1;\r\n        yy = 1;\r\n\r\n        var times = 1;\r\n        while (e) {\r\n            i = parseInt(m / e);\r\n            j = m % e;\r\n            m = e;\r\n            e = j;\r\n            j = y;\r\n            y = j * i;\r\n            if (xx == yy) {\r\n                if (x > y) {\r\n                    y = x - y;\r\n                } else {\r\n                    y = y - x;\r\n                    yy = 0;\r\n                }\r\n            } else {\r\n                y = y + x;\r\n                xx = 1 - xx;\r\n                yy = 1 - yy;\r\n            }\r\n            x = j;\r\n        }\r\n        if (xx == 0)\r\n            x = b - x;\r\n        return x;\r\n    };\r\n\r\n\r\n    /* 随机产生一个RSA加密参数 (e, d, n) */\r\n    jnRSA.RsaGetParam = function () {\r\n        var Rsa = new jnRSA.RSA_PARAM();\r\n        var t;\r\n        Rsa.p = jnRSA.RandomPrime(16);          //随机生成两个素数\r\n        Rsa.q = jnRSA.RandomPrime(16);\r\n        Rsa.n = jnRSA.Multiply(Rsa.p, Rsa.q);\r\n        Rsa.f = jnRSA.Multiply((Rsa.p - 1), (Rsa.q - 1));\r\n        do {\r\n            Rsa.e = jnRSA.g_Rnd.Random(65536);  //小于2^16,65536=2^16\r\n            Rsa.e = Rsa.e | 1;   //保证最低位是1,即保证是奇数,因f一定是偶数,要互素,只能是奇数\r\n        } while (jnRSA.SteinGcd(Rsa.e, Rsa.f) != 1);\r\n\r\n        Rsa.d = jnRSA.Euclid(Rsa.e, Rsa.f);\r\n\r\n        Rsa.s = 0;\r\n        t = parseInt(Rsa.n / 2);\r\n        while (t > 0) {\r\n            Rsa.s++;   //s=log2(n)\r\n            t = parseInt(t / 2);\r\n        }\r\n\r\n        return Rsa;\r\n    };\r\n\r\n\r\n    jnRSA.RSA_Init = function () {\r\n        if (!jnRSA.g_Rnd) {\r\n            jnRSA.g_Rnd = new jnRSA.RandNumber();\r\n        }\r\n\r\n        return jnRSA.RsaGetParam();\r\n    };\r\n\r\n    jnRSA.RSA_Encrypt_UInt8Array = function (rsa_d, rsa_n, src) {\r\n         var result = '', tmpStr;\r\n\r\n        var length = src.length;\r\n        for (i = 0; i < length; i++) {\r\n            tmpStr = jnRSA.PowMod(src[i], rsa_d, rsa_n);\r\n            result += ('00000000' + tmpStr.toString(16)).substr(-8); /** 32位int转16进制, 补零*/\r\n        }\r\n\r\n        return result;\r\n    };\r\n\r\n\tjnRSA.RSA_Encrypt_32UIntTo8Array = function (rsa_d, rsa_n, src) {\r\n        var tmpStr;\r\n\r\n        var length = src.length;\r\n\r\n        var uint8arr = new Uint8Array(length * 4);\r\n\r\n        for (i = 0; i < length; i++) {\r\n            tmpStr = jnRSA.PowMod(src[i], rsa_d, rsa_n);\r\n\r\n            uint8arr[i * 4 + 0] = (tmpStr & 0x000000ff);\r\n            uint8arr[i * 4 + 1] = (tmpStr & 0x0000ff00) >> 8;\r\n            uint8arr[i * 4 + 2] = (tmpStr & 0x00ff0000) >> 16;\r\n            uint8arr[i * 4 + 3] = (tmpStr & 0xff000000) >> 24;\r\n\r\n        }\r\n\r\n        return uint8arr;\r\n    };\r\n\r\n    jnRSA.RSA_Decrypt_UInt8Array = function (rsa_e, rsa_n, src) {\r\n        if (src.length % 8 != 0) {\r\n            return null;\r\n        }\r\n\r\n        var length = src.length / 8;\r\n        var uint8Arr = new Uint8Array(length);\r\n\r\n        var tmpCharCode;\r\n        for (i = 0; i < length; i++) {\r\n            var tmpHex = parseInt(src.substr(i * 8, 8), 16);\r\n            tmpCharCode = jnRSA.PowMod(tmpHex, rsa_e, rsa_n);\r\n\r\n            uint8Arr[i] = tmpCharCode;\r\n        }\r\n\r\n        return uint8Arr;\r\n    };\r\n    \r\n    jnRSA.RSA_Encrypt = function (rsa_d, rsa_n, src) {\r\n        var result = '', tmpStr;\r\n\r\n        var length = src.length;\r\n        for (i = 0; i < length; i++) {\r\n            tmpStr = jnRSA.PowMod(src.charCodeAt(i), rsa_d, rsa_n);\r\n            result += ('00000000' + tmpStr.toString(16)).substr(-8); /** 32位int转16进制, 补零*/\r\n        }\r\n\r\n        return result;\r\n    };\r\n\r\n    jnRSA.RSA_Decrypt = function (rsa_e, rsa_n, src) {\r\n        if (src.length % 8 != 0) {\r\n            return null;\r\n        }\r\n\r\n        var length = src.length / 8;\r\n\r\n        var result = '', tmpCharCode;\r\n        for (i = 0; i < length; i++) {\r\n            var tmpHex = parseInt(src.substr(i * 8, 8), 16);\r\n            tmpCharCode = jnRSA.PowMod(tmpHex, rsa_e, rsa_n);\r\n\r\n            result += String.fromCharCode(tmpCharCode);\r\n        }\r\n\r\n        return result;\r\n    };\r\n\r\n    jnRSA.Multiply = function (a, b) {\r\n        var bita = biFromNumber(a);\r\n        var bitb = biFromNumber(b);\r\n\r\n        var mult = biMultiply(bita, bitb);\r\n\r\n        return parseInt(biToDecimal(mult));\r\n    };\r\n\r\n    /* 模乘运算,返回值 x=a*b mod n  */\r\n    jnRSA.MulMod = function (a/*Number*/, b/*Number*/, n/*Number*/) {\r\n        var bita = biFromNumber(a);\r\n        var bitb = biFromNumber(b);\r\n        var bitn = biFromNumber(n);\r\n\r\n        var mult = biMultiply(bita, bitb);\r\n        var modu = biModulo(mult, bitn);\r\n\r\n        return parseInt(biToDecimal(modu));\r\n        //return a * b % n;\r\n    };\r\n\r\n    /* 模幂运算,返回值 x=base^pow mod n */\r\n    jnRSA.PowMod = function (base/*Number*/, pow/*Number*/, n/*Number*/) {\r\n        var a = base, b = pow, c = 1;\r\n        while (b) {\r\n            while (!(b & 1)) {\r\n                b = parseInt(b / 2);  //a=a * a % n;    //函数看起来可以处理64位的整数,但由于这里a*a在a>=2^32时已经造成了溢出,因此实际处理范围没有64位\r\n                a = jnRSA.MulMod(a, a, n);\r\n            }\r\n            b--;        //c=a * c % n;        //这里也会溢出,若把64位整数拆为两个32位整数不知是否可以解决这个问题。\r\n            c = jnRSA.MulMod(a, c, n);\r\n        }\r\n        return c;\r\n    };\r\n\r\n})(jnRSA);\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","!function(e){var t={};function o(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,o),i.l=!0,i.exports}o.m=e,o.c=t,o.d=function(e,t,r){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},o.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},o.t=function(e,t){if(1&t&&(e=o(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(o.r(r),Object.defineProperty(r,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var i in e)o.d(r,i,function(t){return e[t]}.bind(null,i));return r},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,\"a\",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p=\"\",o(o.s=13)}([function(module,exports,__webpack_require__){(function(global,Buffer){var $jscomp={scope:{},getGlobal:function(e){return\"undefined\"!=typeof window&&window===e?e:void 0!==global?global:e}};$jscomp.global=$jscomp.getGlobal(this),$jscomp.initSymbol=function(){$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol),$jscomp.initSymbol=function(){}},$jscomp.symbolCounter_=0,$jscomp.Symbol=function(e){return\"jscomp_symbol_\"+e+$jscomp.symbolCounter_++},$jscomp.initSymbolIterator=function(){$jscomp.initSymbol(),$jscomp.global.Symbol.iterator||($jscomp.global.Symbol.iterator=$jscomp.global.Symbol(\"iterator\")),$jscomp.initSymbolIterator=function(){}},$jscomp.makeIterator=function(e){$jscomp.initSymbolIterator(),$jscomp.initSymbol(),$jscomp.initSymbolIterator();var t=e[Symbol.iterator];if(t)return t.call(e);var o=0;return{next:function(){return o<e.length?{done:!1,value:e[o++]}:{done:!0}}}},$jscomp.arrayFromIterator=function(e){for(var t,o=[];!(t=e.next()).done;)o.push(t.value);return o},$jscomp.arrayFromIterable=function(e){return e instanceof Array?e:$jscomp.arrayFromIterator($jscomp.makeIterator(e))},$jscomp.inherits=function(e,t){function o(){}for(var r in o.prototype=t.prototype,e.prototype=new o,e.prototype.constructor=e,t)if(Object.defineProperties){var i=Object.getOwnPropertyDescriptor(t,r);i&&Object.defineProperty(e,r,i)}else e[r]=t[r]},$jscomp.array=$jscomp.array||{},$jscomp.iteratorFromArray=function(e,t){$jscomp.initSymbolIterator(),e instanceof String&&(e+=\"\");var o=0,r={next:function(){if(o<e.length){var i=o++;return{value:t(i,e[i]),done:!1}}return r.next=function(){return{done:!0,value:void 0}},r.next()}};return $jscomp.initSymbol(),$jscomp.initSymbolIterator(),r[Symbol.iterator]=function(){return r},r},$jscomp.findInternal=function(e,t,o){e instanceof String&&(e=String(e));for(var r=e.length,i=0;i<r;i++){var s=e[i];if(t.call(o,s,i,e))return{i:i,v:s}}return{i:-1,v:void 0}},$jscomp.array.from=function(e,t,o){$jscomp.initSymbolIterator(),t=null!=t?t:function(e){return e};var r=[];if($jscomp.initSymbol(),$jscomp.initSymbolIterator(),\"function\"==typeof(i=e[Symbol.iterator])&&(e=i.call(e)),\"function\"==typeof e.next)for(;!(i=e.next()).done;)r.push(t.call(o,i.value));else for(var i=e.length,s=0;s<i;s++)r.push(t.call(o,e[s]));return r},$jscomp.array.of=function(e){return $jscomp.array.from(arguments)},$jscomp.array.entries=function(){return $jscomp.iteratorFromArray(this,function(e,t){return[e,t]})},$jscomp.array.installHelper_=function(e,t){!Array.prototype[e]&&Object.defineProperties&&Object.defineProperty&&Object.defineProperty(Array.prototype,e,{configurable:!0,enumerable:!1,writable:!0,value:t})},$jscomp.array.entries$install=function(){$jscomp.array.installHelper_(\"entries\",$jscomp.array.entries)},$jscomp.array.keys=function(){return $jscomp.iteratorFromArray(this,function(e){return e})},$jscomp.array.keys$install=function(){$jscomp.array.installHelper_(\"keys\",$jscomp.array.keys)},$jscomp.array.values=function(){return $jscomp.iteratorFromArray(this,function(e,t){return t})},$jscomp.array.values$install=function(){$jscomp.array.installHelper_(\"values\",$jscomp.array.values)},$jscomp.array.copyWithin=function(e,t,o){var r=this.length;if(e=Number(e),t=Number(t),o=Number(null!=o?o:r),e<t)for(o=Math.min(o,r);t<o;)t in this?this[e++]=this[t++]:(delete this[e++],t++);else for(e+=(o=Math.min(o,r+t-e))-t;o>t;)--o in this?this[--e]=this[o]:delete this[e];return this},$jscomp.array.copyWithin$install=function(){$jscomp.array.installHelper_(\"copyWithin\",$jscomp.array.copyWithin)},$jscomp.array.fill=function(e,t,o){var r=this.length||0;for(0>t&&(t=Math.max(0,r+t)),(null==o||o>r)&&(o=r),0>(o=Number(o))&&(o=Math.max(0,r+o)),t=Number(t||0);t<o;t++)this[t]=e;return this},$jscomp.array.fill$install=function(){$jscomp.array.installHelper_(\"fill\",$jscomp.array.fill)},$jscomp.array.find=function(e,t){return $jscomp.findInternal(this,e,t).v},$jscomp.array.find$install=function(){$jscomp.array.installHelper_(\"find\",$jscomp.array.find)},$jscomp.array.findIndex=function(e,t){return $jscomp.findInternal(this,e,t).i},$jscomp.array.findIndex$install=function(){$jscomp.array.installHelper_(\"findIndex\",$jscomp.array.findIndex)},$jscomp.ASSUME_NO_NATIVE_MAP=!1,$jscomp.Map$isConformant=function(){if($jscomp.ASSUME_NO_NATIVE_MAP)return!1;var e=$jscomp.global.Map;if(!e||!e.prototype.entries||\"function\"!=typeof Object.seal)return!1;try{var t=Object.seal({x:4}),o=new e($jscomp.makeIterator([[t,\"s\"]]));if(\"s\"!=o.get(t)||1!=o.size||o.get({x:4})||o.set({x:4},\"t\")!=o||2!=o.size)return!1;var r=o.entries(),i=r.next();return!i.done&&i.value[0]==t&&\"s\"==i.value[1]&&!((i=r.next()).done||4!=i.value[0].x||\"t\"!=i.value[1]||!r.next().done)}catch(e){return!1}},$jscomp.Map=function(e){if(this.data_={},this.head_=$jscomp.Map.createHead(),this.size=0,e){e=$jscomp.makeIterator(e);for(var t;!(t=e.next()).done;)t=t.value,this.set(t[0],t[1])}},$jscomp.Map.prototype.set=function(e,t){var o=$jscomp.Map.maybeGetEntry(this,e);return o.list||(o.list=this.data_[o.id]=[]),o.entry?o.entry.value=t:(o.entry={next:this.head_,previous:this.head_.previous,head:this.head_,key:e,value:t},o.list.push(o.entry),this.head_.previous.next=o.entry,this.head_.previous=o.entry,this.size++),this},$jscomp.Map.prototype.delete=function(e){return!(!(e=$jscomp.Map.maybeGetEntry(this,e)).entry||!e.list)&&(e.list.splice(e.index,1),e.list.length||delete this.data_[e.id],e.entry.previous.next=e.entry.next,e.entry.next.previous=e.entry.previous,e.entry.head=null,this.size--,!0)},$jscomp.Map.prototype.clear=function(){this.data_={},this.head_=this.head_.previous=$jscomp.Map.createHead(),this.size=0},$jscomp.Map.prototype.has=function(e){return!!$jscomp.Map.maybeGetEntry(this,e).entry},$jscomp.Map.prototype.get=function(e){return(e=$jscomp.Map.maybeGetEntry(this,e).entry)&&e.value},$jscomp.Map.prototype.entries=function(){return $jscomp.Map.makeIterator_(this,function(e){return[e.key,e.value]})},$jscomp.Map.prototype.keys=function(){return $jscomp.Map.makeIterator_(this,function(e){return e.key})},$jscomp.Map.prototype.values=function(){return $jscomp.Map.makeIterator_(this,function(e){return e.value})},$jscomp.Map.prototype.forEach=function(e,t){for(var o,r=this.entries();!(o=r.next()).done;)o=o.value,e.call(t,o[1],o[0],this)},$jscomp.Map.maybeGetEntry=function(e,t){var o=$jscomp.Map.getId(t),r=e.data_[o];if(r&&Object.prototype.hasOwnProperty.call(e.data_,o))for(var i=0;i<r.length;i++){var s=r[i];if(t!=t&&s.key!=s.key||t===s.key)return{id:o,list:r,index:i,entry:s}}return{id:o,list:r,index:-1,entry:void 0}},$jscomp.Map.makeIterator_=function(e,t){var o=e.head_,r={next:function(){if(o){for(;o.head!=e.head_;)o=o.previous;for(;o.next!=o.head;)return o=o.next,{done:!1,value:t(o)};o=null}return{done:!0,value:void 0}}};return $jscomp.initSymbol(),$jscomp.initSymbolIterator(),r[Symbol.iterator]=function(){return r},r},$jscomp.Map.mapIndex_=0,$jscomp.Map.createHead=function(){var e={};return e.previous=e.next=e.head=e},$jscomp.Map.getId=function(e){if(!(e instanceof Object))return\"p_\"+e;if(!($jscomp.Map.idKey in e))try{$jscomp.Map.defineProperty(e,$jscomp.Map.idKey,{value:++$jscomp.Map.mapIndex_})}catch(e){}return $jscomp.Map.idKey in e?e[$jscomp.Map.idKey]:\"o_ \"+e},$jscomp.Map.defineProperty=Object.defineProperty?function(e,t,o){Object.defineProperty(e,t,{value:String(o)})}:function(e,t,o){e[t]=String(o)},$jscomp.Map.Entry=function(){},$jscomp.Map$install=function(){$jscomp.initSymbol(),$jscomp.initSymbolIterator(),$jscomp.Map$isConformant()?$jscomp.Map=$jscomp.global.Map:($jscomp.initSymbol(),$jscomp.initSymbolIterator(),$jscomp.Map.prototype[Symbol.iterator]=$jscomp.Map.prototype.entries,$jscomp.initSymbol(),$jscomp.Map.idKey=Symbol(\"map-id-key\"),$jscomp.Map$install=function(){})},$jscomp.math=$jscomp.math||{},$jscomp.math.clz32=function(e){if(0===(e=Number(e)>>>0))return 32;var t=0;return 0==(4294901760&e)&&(e<<=16,t+=16),0==(4278190080&e)&&(e<<=8,t+=8),0==(4026531840&e)&&(e<<=4,t+=4),0==(3221225472&e)&&(e<<=2,t+=2),0==(2147483648&e)&&t++,t},$jscomp.math.imul=function(e,t){var o=65535&(e=Number(e)),r=65535&(t=Number(t));return o*r+((e>>>16&65535)*r+o*(t>>>16&65535)<<16>>>0)|0},$jscomp.math.sign=function(e){return 0===(e=Number(e))||isNaN(e)?e:0<e?1:-1},$jscomp.math.log10=function(e){return Math.log(e)/Math.LN10},$jscomp.math.log2=function(e){return Math.log(e)/Math.LN2},$jscomp.math.log1p=function(e){if(.25>(e=Number(e))&&-.25<e){for(var t=e,o=1,r=e,i=0,s=1;i!=r;)r=(i=r)+(s*=-1)*(t*=e)/++o;return r}return Math.log(1+e)},$jscomp.math.expm1=function(e){if(.25>(e=Number(e))&&-.25<e){for(var t=e,o=1,r=e,i=0;i!=r;)r=(i=r)+(t*=e/++o);return r}return Math.exp(e)-1},$jscomp.math.cosh=function(e){return e=Number(e),(Math.exp(e)+Math.exp(-e))/2},$jscomp.math.sinh=function(e){return 0===(e=Number(e))?e:(Math.exp(e)-Math.exp(-e))/2},$jscomp.math.tanh=function(e){if(0===(e=Number(e)))return e;var t=(1-(t=Math.exp(-2*Math.abs(e))))/(1+t);return 0>e?-t:t},$jscomp.math.acosh=function(e){return e=Number(e),Math.log(e+Math.sqrt(e*e-1))},$jscomp.math.asinh=function(e){if(0===(e=Number(e)))return e;var t=Math.log(Math.abs(e)+Math.sqrt(e*e+1));return 0>e?-t:t},$jscomp.math.atanh=function(e){return e=Number(e),($jscomp.math.log1p(e)-$jscomp.math.log1p(-e))/2},$jscomp.math.hypot=function(e,t,o){e=Number(e),t=Number(t);var r,i,s,n=Math.max(Math.abs(e),Math.abs(t));for(r=2;r<arguments.length;r++)n=Math.max(n,Math.abs(arguments[r]));if(1e100<n||1e-100>n){for(s=(e/=n)*e+(t/=n)*t,r=2;r<arguments.length;r++)s+=(i=Number(arguments[r])/n)*i;return Math.sqrt(s)*n}for(s=e*e+t*t,r=2;r<arguments.length;r++)s+=(i=Number(arguments[r]))*i;return Math.sqrt(s)},$jscomp.math.trunc=function(e){if(e=Number(e),isNaN(e)||1/0===e||-1/0===e||0===e)return e;var t=Math.floor(Math.abs(e));return 0>e?-t:t},$jscomp.math.cbrt=function(e){if(0===e)return e;e=Number(e);var t=Math.pow(Math.abs(e),1/3);return 0>e?-t:t},$jscomp.number=$jscomp.number||{},$jscomp.number.isFinite=function(e){return\"number\"==typeof e&&(!isNaN(e)&&1/0!==e&&-1/0!==e)},$jscomp.number.isInteger=function(e){return!!$jscomp.number.isFinite(e)&&e===Math.floor(e)},$jscomp.number.isNaN=function(e){return\"number\"==typeof e&&isNaN(e)},$jscomp.number.isSafeInteger=function(e){return $jscomp.number.isInteger(e)&&Math.abs(e)<=$jscomp.number.MAX_SAFE_INTEGER},$jscomp.number.EPSILON=Math.pow(2,-52),$jscomp.number.MAX_SAFE_INTEGER=9007199254740991,$jscomp.number.MIN_SAFE_INTEGER=-9007199254740991,$jscomp.object=$jscomp.object||{},$jscomp.object.assign=function(e,t){for(var o=1;o<arguments.length;o++){var r=arguments[o];if(r)for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i])}return e},$jscomp.object.is=function(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t},$jscomp.ASSUME_NO_NATIVE_SET=!1,$jscomp.Set$isConformant=function(){if($jscomp.ASSUME_NO_NATIVE_SET)return!1;var e=$jscomp.global.Set;if(!e||!e.prototype.entries||\"function\"!=typeof Object.seal)return!1;try{var t=Object.seal({x:4}),o=new e($jscomp.makeIterator([t]));if(!o.has(t)||1!=o.size||o.add(t)!=o||1!=o.size||o.add({x:4})!=o||2!=o.size)return!1;var r=o.entries(),i=r.next();return!i.done&&i.value[0]==t&&i.value[1]==t&&(!(i=r.next()).done&&i.value[0]!=t&&4==i.value[0].x&&i.value[1]==i.value[0]&&r.next().done)}catch(e){return!1}},$jscomp.Set=function(e){if(this.map_=new $jscomp.Map,e){e=$jscomp.makeIterator(e);for(var t;!(t=e.next()).done;)this.add(t.value)}this.size=this.map_.size},$jscomp.Set.prototype.add=function(e){return this.map_.set(e,e),this.size=this.map_.size,this},$jscomp.Set.prototype.delete=function(e){return e=this.map_.delete(e),this.size=this.map_.size,e},$jscomp.Set.prototype.clear=function(){this.map_.clear(),this.size=0},$jscomp.Set.prototype.has=function(e){return this.map_.has(e)},$jscomp.Set.prototype.entries=function(){return this.map_.entries()},$jscomp.Set.prototype.values=function(){return this.map_.values()},$jscomp.Set.prototype.forEach=function(e,t){var o=this;this.map_.forEach(function(r){return e.call(t,r,r,o)})},$jscomp.Set$install=function(){$jscomp.Map$install(),$jscomp.Set$isConformant()?$jscomp.Set=$jscomp.global.Set:($jscomp.initSymbol(),$jscomp.initSymbolIterator(),$jscomp.Set.prototype[Symbol.iterator]=$jscomp.Set.prototype.values,$jscomp.Set$install=function(){})},$jscomp.string=$jscomp.string||{},$jscomp.checkStringArgs=function(e,t,o){if(null==e)throw new TypeError(\"The 'this' value for String.prototype.\"+o+\" must not be null or undefined\");if(t instanceof RegExp)throw new TypeError(\"First argument to String.prototype.\"+o+\" must not be a regular expression\");return e+\"\"},$jscomp.string.fromCodePoint=function(e){for(var t=\"\",o=0;o<arguments.length;o++){var r=Number(arguments[o]);if(0>r||1114111<r||r!==Math.floor(r))throw new RangeError(\"invalid_code_point \"+r);65535>=r?t+=String.fromCharCode(r):(r-=65536,t+=String.fromCharCode(r>>>10&1023|55296),t+=String.fromCharCode(1023&r|56320))}return t},$jscomp.string.repeat=function(e){var t=$jscomp.checkStringArgs(this,null,\"repeat\");if(0>e||1342177279<e)throw new RangeError(\"Invalid count value\");e|=0;for(var o=\"\";e;)1&e&&(o+=t),(e>>>=1)&&(t+=t);return o},$jscomp.string.repeat$install=function(){String.prototype.repeat||(String.prototype.repeat=$jscomp.string.repeat)},$jscomp.string.codePointAt=function(e){var t=$jscomp.checkStringArgs(this,null,\"codePointAt\"),o=t.length;if(0<=(e=Number(e)||0)&&e<o){e|=0;var r=t.charCodeAt(e);return 55296>r||56319<r||e+1===o?r:56320>(e=t.charCodeAt(e+1))||57343<e?r:1024*(r-55296)+e+9216}},$jscomp.string.codePointAt$install=function(){String.prototype.codePointAt||(String.prototype.codePointAt=$jscomp.string.codePointAt)},$jscomp.string.includes=function(e,t){return-1!==$jscomp.checkStringArgs(this,e,\"includes\").indexOf(e,t||0)},$jscomp.string.includes$install=function(){String.prototype.includes||(String.prototype.includes=$jscomp.string.includes)},$jscomp.string.startsWith=function(e,t){var o=$jscomp.checkStringArgs(this,e,\"startsWith\");e+=\"\";for(var r=o.length,i=e.length,s=Math.max(0,Math.min(0|t,o.length)),n=0;n<i&&s<r;)if(o[s++]!=e[n++])return!1;return n>=i},$jscomp.string.startsWith$install=function(){String.prototype.startsWith||(String.prototype.startsWith=$jscomp.string.startsWith)},$jscomp.string.endsWith=function(e,t){var o=$jscomp.checkStringArgs(this,e,\"endsWith\");e+=\"\",void 0===t&&(t=o.length);for(var r=Math.max(0,Math.min(0|t,o.length)),i=e.length;0<i&&0<r;)if(o[--r]!=e[--i])return!1;return 0>=i},$jscomp.string.endsWith$install=function(){String.prototype.endsWith||(String.prototype.endsWith=$jscomp.string.endsWith)};var COMPILED=!0,goog=goog||{};goog.global=this,goog.isDef=function(e){return void 0!==e},goog.exportPath_=function(e,t,o){e=e.split(\".\"),o=o||goog.global,e[0]in o||!o.execScript||o.execScript(\"var \"+e[0]);for(var r;e.length&&(r=e.shift());)!e.length&&goog.isDef(t)?o[r]=t:o=o[r]?o[r]:o[r]={}},goog.define=function(e,t){var o=t;COMPILED||(goog.global.CLOSURE_UNCOMPILED_DEFINES&&Object.prototype.hasOwnProperty.call(goog.global.CLOSURE_UNCOMPILED_DEFINES,e)?o=goog.global.CLOSURE_UNCOMPILED_DEFINES[e]:goog.global.CLOSURE_DEFINES&&Object.prototype.hasOwnProperty.call(goog.global.CLOSURE_DEFINES,e)&&(o=goog.global.CLOSURE_DEFINES[e])),goog.exportPath_(e,o)},goog.DEBUG=!0,goog.LOCALE=\"en\",goog.TRUSTED_SITE=!0,goog.STRICT_MODE_COMPATIBLE=!1,goog.DISALLOW_TEST_ONLY_CODE=COMPILED&&!goog.DEBUG,goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING=!1,goog.provide=function(e){if(!COMPILED&&goog.isProvided_(e))throw Error('Namespace \"'+e+'\" already declared.');goog.constructNamespace_(e)},goog.constructNamespace_=function(e,t){if(!COMPILED){delete goog.implicitNamespaces_[e];for(var o=e;(o=o.substring(0,o.lastIndexOf(\".\")))&&!goog.getObjectByName(o);)goog.implicitNamespaces_[o]=!0}goog.exportPath_(e,t)},goog.VALID_MODULE_RE_=/^[a-zA-Z_$][a-zA-Z0-9._$]*$/,goog.module=function(e){if(!goog.isString(e)||!e||-1==e.search(goog.VALID_MODULE_RE_))throw Error(\"Invalid module identifier\");if(!goog.isInModuleLoader_())throw Error(\"Module \"+e+\" has been loaded incorrectly.\");if(goog.moduleLoaderState_.moduleName)throw Error(\"goog.module may only be called once per module.\");if(goog.moduleLoaderState_.moduleName=e,!COMPILED){if(goog.isProvided_(e))throw Error('Namespace \"'+e+'\" already declared.');delete goog.implicitNamespaces_[e]}},goog.module.get=function(e){return goog.module.getInternal_(e)},goog.module.getInternal_=function(e){if(!COMPILED)return goog.isProvided_(e)?e in goog.loadedModules_?goog.loadedModules_[e]:goog.getObjectByName(e):null},goog.moduleLoaderState_=null,goog.isInModuleLoader_=function(){return null!=goog.moduleLoaderState_},goog.module.declareLegacyNamespace=function(){if(!COMPILED&&!goog.isInModuleLoader_())throw Error(\"goog.module.declareLegacyNamespace must be called from within a goog.module\");if(!COMPILED&&!goog.moduleLoaderState_.moduleName)throw Error(\"goog.module must be called prior to goog.module.declareLegacyNamespace.\");goog.moduleLoaderState_.declareLegacyNamespace=!0},goog.setTestOnly=function(e){if(goog.DISALLOW_TEST_ONLY_CODE)throw e=e||\"\",Error(\"Importing test-only code into non-debug environment\"+(e?\": \"+e:\".\"))},goog.forwardDeclare=function(e){},COMPILED||(goog.isProvided_=function(e){return e in goog.loadedModules_||!goog.implicitNamespaces_[e]&&goog.isDefAndNotNull(goog.getObjectByName(e))},goog.implicitNamespaces_={\"goog.module\":!0}),goog.getObjectByName=function(e,t){for(var o,r=e.split(\".\"),i=t||goog.global;o=r.shift();){if(!goog.isDefAndNotNull(i[o]))return null;i=i[o]}return i},goog.globalize=function(e,t){var o,r=t||goog.global;for(o in e)r[o]=e[o]},goog.addDependency=function(e,t,o,r){if(goog.DEPENDENCIES_ENABLED){var i;e=e.replace(/\\\\/g,\"/\");for(var s=goog.dependencies_,n=0;i=t[n];n++)s.nameToPath[i]=e,s.pathIsModule[e]=!!r;for(r=0;t=o[r];r++)e in s.requires||(s.requires[e]={}),s.requires[e][t]=!0}},goog.ENABLE_DEBUG_LOADER=!0,goog.logToConsole_=function(e){goog.global.console&&goog.global.console.error(e)},goog.require=function(e){if(!COMPILED){if(goog.ENABLE_DEBUG_LOADER&&goog.IS_OLD_IE_&&goog.maybeProcessDeferredDep_(e),goog.isProvided_(e))return goog.isInModuleLoader_()?goog.module.getInternal_(e):null;if(goog.ENABLE_DEBUG_LOADER){var t=goog.getPathFromDeps_(e);if(t)return goog.writeScripts_(t),null}throw e=\"goog.require could not find: \"+e,goog.logToConsole_(e),Error(e)}},goog.basePath=\"\",goog.nullFunction=function(){},goog.abstractMethod=function(){throw Error(\"unimplemented abstract method\")},goog.addSingletonGetter=function(e){e.getInstance=function(){return e.instance_?e.instance_:(goog.DEBUG&&(goog.instantiatedSingletons_[goog.instantiatedSingletons_.length]=e),e.instance_=new e)}},goog.instantiatedSingletons_=[],goog.LOAD_MODULE_USING_EVAL=!0,goog.SEAL_MODULE_EXPORTS=goog.DEBUG,goog.loadedModules_={},goog.DEPENDENCIES_ENABLED=!COMPILED&&goog.ENABLE_DEBUG_LOADER,goog.DEPENDENCIES_ENABLED&&(goog.dependencies_={pathIsModule:{},nameToPath:{},requires:{},visited:{},written:{},deferred:{}},goog.inHtmlDocument_=function(){var e=goog.global.document;return null!=e&&\"write\"in e},goog.findBasePath_=function(){if(goog.isDef(goog.global.CLOSURE_BASE_PATH))goog.basePath=goog.global.CLOSURE_BASE_PATH;else if(goog.inHtmlDocument_())for(var e=goog.global.document.getElementsByTagName(\"SCRIPT\"),t=e.length-1;0<=t;--t){var o=e[t].src,r=-1==(r=o.lastIndexOf(\"?\"))?o.length:r;if(\"base.js\"==o.substr(r-7,7)){goog.basePath=o.substr(0,r-7);break}}},goog.importScript_=function(e,t){(goog.global.CLOSURE_IMPORT_SCRIPT||goog.writeScriptTag_)(e,t)&&(goog.dependencies_.written[e]=!0)},goog.IS_OLD_IE_=!(goog.global.atob||!goog.global.document||!goog.global.document.all),goog.importModule_=function(e){goog.importScript_(\"\",'goog.retrieveAndExecModule_(\"'+e+'\");')&&(goog.dependencies_.written[e]=!0)},goog.queuedModules_=[],goog.wrapModule_=function(e,t){return goog.LOAD_MODULE_USING_EVAL&&goog.isDef(goog.global.JSON)?\"goog.loadModule(\"+goog.global.JSON.stringify(t+\"\\n//# sourceURL=\"+e+\"\\n\")+\");\":'goog.loadModule(function(exports) {\"use strict\";'+t+\"\\n;return exports});\\n//# sourceURL=\"+e+\"\\n\"},goog.loadQueuedModules_=function(){var e=goog.queuedModules_.length;if(0<e){var t=goog.queuedModules_;goog.queuedModules_=[];for(var o=0;o<e;o++)goog.maybeProcessDeferredPath_(t[o])}},goog.maybeProcessDeferredDep_=function(e){goog.isDeferredModule_(e)&&goog.allDepsAreAvailable_(e)&&(e=goog.getPathFromDeps_(e),goog.maybeProcessDeferredPath_(goog.basePath+e))},goog.isDeferredModule_=function(e){return!(!(e=goog.getPathFromDeps_(e))||!goog.dependencies_.pathIsModule[e])&&goog.basePath+e in goog.dependencies_.deferred},goog.allDepsAreAvailable_=function(e){if((e=goog.getPathFromDeps_(e))&&e in goog.dependencies_.requires)for(var t in goog.dependencies_.requires[e])if(!goog.isProvided_(t)&&!goog.isDeferredModule_(t))return!1;return!0},goog.maybeProcessDeferredPath_=function(e){if(e in goog.dependencies_.deferred){var t=goog.dependencies_.deferred[e];delete goog.dependencies_.deferred[e],goog.globalEval(t)}},goog.loadModuleFromUrl=function(e){goog.retrieveAndExecModule_(e)},goog.loadModule=function(e){var t=goog.moduleLoaderState_;try{var o;if(goog.moduleLoaderState_={moduleName:void 0,declareLegacyNamespace:!1},goog.isFunction(e))o=e.call(goog.global,{});else{if(!goog.isString(e))throw Error(\"Invalid module definition\");o=goog.loadModuleFromSource_.call(goog.global,e)}var r=goog.moduleLoaderState_.moduleName;if(!goog.isString(r)||!r)throw Error('Invalid module name \"'+r+'\"');goog.moduleLoaderState_.declareLegacyNamespace?goog.constructNamespace_(r,o):goog.SEAL_MODULE_EXPORTS&&Object.seal&&Object.seal(o),goog.loadedModules_[r]=o}finally{goog.moduleLoaderState_=t}},goog.loadModuleFromSource_=function(a){return eval(a),{}},goog.writeScriptSrcNode_=function(e){goog.global.document.write('<script type=\"text/javascript\" src=\"'+e+'\"><\\/script>')},goog.appendScriptSrcNode_=function(e){var t=goog.global.document,o=t.createElement(\"script\");o.type=\"text/javascript\",o.src=e,o.defer=!1,o.async=!1,t.head.appendChild(o)},goog.writeScriptTag_=function(e,t){if(goog.inHtmlDocument_()){var o=goog.global.document;if(!goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING&&\"complete\"==o.readyState){if(/\\bdeps.js$/.test(e))return!1;throw Error('Cannot write \"'+e+'\" after document load')}var r=goog.IS_OLD_IE_;return void 0===t?r?(r=\" onreadystatechange='goog.onScriptLoad_(this, \"+ ++goog.lastNonModuleScriptIndex_+\")' \",o.write('<script type=\"text/javascript\" src=\"'+e+'\"'+r+\"><\\/script>\")):goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING?goog.appendScriptSrcNode_(e):goog.writeScriptSrcNode_(e):o.write('<script type=\"text/javascript\">'+t+\"<\\/script>\"),!0}return!1},goog.lastNonModuleScriptIndex_=0,goog.onScriptLoad_=function(e,t){return\"complete\"==e.readyState&&goog.lastNonModuleScriptIndex_==t&&goog.loadQueuedModules_(),!0},goog.writeScripts_=function(e){var t=[],o={},r=goog.dependencies_;for(function e(i){if(!(i in r.written||i in r.visited)){if(r.visited[i]=!0,i in r.requires)for(var s in r.requires[i])if(!goog.isProvided_(s)){if(!(s in r.nameToPath))throw Error(\"Undefined nameToPath for \"+s);e(r.nameToPath[s])}i in o||(o[i]=!0,t.push(i))}}(e),e=0;e<t.length;e++){var i=t[e];goog.dependencies_.written[i]=!0}var s=goog.moduleLoaderState_;for(goog.moduleLoaderState_=null,e=0;e<t.length;e++){if(!(i=t[e]))throw goog.moduleLoaderState_=s,Error(\"Undefined script input\");r.pathIsModule[i]?goog.importModule_(goog.basePath+i):goog.importScript_(goog.basePath+i)}goog.moduleLoaderState_=s},goog.getPathFromDeps_=function(e){return e in goog.dependencies_.nameToPath?goog.dependencies_.nameToPath[e]:null},goog.findBasePath_(),goog.global.CLOSURE_NO_DEPS||goog.importScript_(goog.basePath+\"deps.js\")),goog.normalizePath_=function(e){e=e.split(\"/\");for(var t=0;t<e.length;)\".\"==e[t]?e.splice(t,1):t&&\"..\"==e[t]&&e[t-1]&&\"..\"!=e[t-1]?e.splice(--t,2):t++;return e.join(\"/\")},goog.loadFileSync_=function(e){if(goog.global.CLOSURE_LOAD_FILE_SYNC)return goog.global.CLOSURE_LOAD_FILE_SYNC(e);var t=new goog.global.XMLHttpRequest;return t.open(\"get\",e,!1),t.send(),t.responseText},goog.retrieveAndExecModule_=function(e){if(!COMPILED){var t=e;e=goog.normalizePath_(e);var o=goog.global.CLOSURE_IMPORT_SCRIPT||goog.writeScriptTag_,r=goog.loadFileSync_(e);if(null==r)throw Error(\"load of \"+e+\"failed\");r=goog.wrapModule_(e,r),goog.IS_OLD_IE_?(goog.dependencies_.deferred[t]=r,goog.queuedModules_.push(t)):o(e,r)}},goog.typeOf=function(e){var t=typeof e;if(\"object\"==t){if(!e)return\"null\";if(e instanceof Array)return\"array\";if(e instanceof Object)return t;var o=Object.prototype.toString.call(e);if(\"[object Window]\"==o)return\"object\";if(\"[object Array]\"==o||\"number\"==typeof e.length&&void 0!==e.splice&&void 0!==e.propertyIsEnumerable&&!e.propertyIsEnumerable(\"splice\"))return\"array\";if(\"[object Function]\"==o||void 0!==e.call&&void 0!==e.propertyIsEnumerable&&!e.propertyIsEnumerable(\"call\"))return\"function\"}else if(\"function\"==t&&void 0===e.call)return\"object\";return t},goog.isNull=function(e){return null===e},goog.isDefAndNotNull=function(e){return null!=e},goog.isArray=function(e){return\"array\"==goog.typeOf(e)},goog.isArrayLike=function(e){var t=goog.typeOf(e);return\"array\"==t||\"object\"==t&&\"number\"==typeof e.length},goog.isDateLike=function(e){return goog.isObject(e)&&\"function\"==typeof e.getFullYear},goog.isString=function(e){return\"string\"==typeof e},goog.isBoolean=function(e){return\"boolean\"==typeof e},goog.isNumber=function(e){return\"number\"==typeof e},goog.isFunction=function(e){return\"function\"==goog.typeOf(e)},goog.isObject=function(e){var t=typeof e;return\"object\"==t&&null!=e||\"function\"==t},goog.getUid=function(e){return e[goog.UID_PROPERTY_]||(e[goog.UID_PROPERTY_]=++goog.uidCounter_)},goog.hasUid=function(e){return!!e[goog.UID_PROPERTY_]},goog.removeUid=function(e){null!==e&&\"removeAttribute\"in e&&e.removeAttribute(goog.UID_PROPERTY_);try{delete e[goog.UID_PROPERTY_]}catch(e){}},goog.UID_PROPERTY_=\"closure_uid_\"+(1e9*Math.random()>>>0),goog.uidCounter_=0,goog.getHashCode=goog.getUid,goog.removeHashCode=goog.removeUid,goog.cloneObject=function(e){if(\"object\"==(o=goog.typeOf(e))||\"array\"==o){if(e.clone)return e.clone();var t,o=\"array\"==o?[]:{};for(t in e)o[t]=goog.cloneObject(e[t]);return o}return e},goog.bindNative_=function(e,t,o){return e.call.apply(e.bind,arguments)},goog.bindJs_=function(e,t,o){if(!e)throw Error();if(2<arguments.length){var r=Array.prototype.slice.call(arguments,2);return function(){var o=Array.prototype.slice.call(arguments);return Array.prototype.unshift.apply(o,r),e.apply(t,o)}}return function(){return e.apply(t,arguments)}},goog.bind=function(e,t,o){return Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf(\"native code\")?goog.bind=goog.bindNative_:goog.bind=goog.bindJs_,goog.bind.apply(null,arguments)},goog.partial=function(e,t){var o=Array.prototype.slice.call(arguments,1);return function(){var t=o.slice();return t.push.apply(t,arguments),e.apply(this,t)}},goog.mixin=function(e,t){for(var o in t)e[o]=t[o]},goog.now=goog.TRUSTED_SITE&&Date.now||function(){return+new Date},goog.globalEval=function(e){if(goog.global.execScript)goog.global.execScript(e,\"JavaScript\");else{if(!goog.global.eval)throw Error(\"goog.globalEval not available\");if(null==goog.evalWorksForGlobals_)if(goog.global.eval(\"var _evalTest_ = 1;\"),void 0!==goog.global._evalTest_){try{delete goog.global._evalTest_}catch(e){}goog.evalWorksForGlobals_=!0}else goog.evalWorksForGlobals_=!1;if(goog.evalWorksForGlobals_)goog.global.eval(e);else{var t=goog.global.document,o=t.createElement(\"SCRIPT\");o.type=\"text/javascript\",o.defer=!1,o.appendChild(t.createTextNode(e)),t.body.appendChild(o),t.body.removeChild(o)}}},goog.evalWorksForGlobals_=null,goog.getCssName=function(e,t){var o=function(e){return goog.cssNameMapping_[e]||e},r=function(e){e=e.split(\"-\");for(var t=[],r=0;r<e.length;r++)t.push(o(e[r]));return t.join(\"-\")};r=goog.cssNameMapping_?\"BY_WHOLE\"==goog.cssNameMappingStyle_?o:r:function(e){return e};return t?e+\"-\"+r(t):r(e)},goog.setCssNameMapping=function(e,t){goog.cssNameMapping_=e,goog.cssNameMappingStyle_=t},!COMPILED&&goog.global.CLOSURE_CSS_NAME_MAPPING&&(goog.cssNameMapping_=goog.global.CLOSURE_CSS_NAME_MAPPING),goog.getMsg=function(e,t){return t&&(e=e.replace(/\\{\\$([^}]+)}/g,function(e,o){return null!=t&&o in t?t[o]:e})),e},goog.getMsgWithFallback=function(e,t){return e},goog.exportSymbol=function(e,t,o){goog.exportPath_(e,t,o)},goog.exportProperty=function(e,t,o){e[t]=o},goog.inherits=function(e,t){function o(){}o.prototype=t.prototype,e.superClass_=t.prototype,e.prototype=new o,e.prototype.constructor=e,e.base=function(e,o,r){for(var i=Array(arguments.length-2),s=2;s<arguments.length;s++)i[s-2]=arguments[s];return t.prototype[o].apply(e,i)}},goog.base=function(e,t,o){var r=arguments.callee.caller;if(goog.STRICT_MODE_COMPATIBLE||goog.DEBUG&&!r)throw Error(\"arguments.caller not defined.  goog.base() cannot be used with strict mode code. See http://www.ecma-international.org/ecma-262/5.1/#sec-C\");if(r.superClass_){for(var i=Array(arguments.length-1),s=1;s<arguments.length;s++)i[s-1]=arguments[s];return r.superClass_.constructor.apply(e,i)}for(i=Array(arguments.length-2),s=2;s<arguments.length;s++)i[s-2]=arguments[s];s=!1;for(var n=e.constructor;n;n=n.superClass_&&n.superClass_.constructor)if(n.prototype[t]===r)s=!0;else if(s)return n.prototype[t].apply(e,i);if(e[t]===r)return e.constructor.prototype[t].apply(e,i);throw Error(\"goog.base called from a method of one name to a method of a different name\")},goog.scope=function(e){e.call(goog.global)},COMPILED||(goog.global.COMPILED=COMPILED),goog.defineClass=function(e,t){var o=t.constructor,r=t.statics;return o&&o!=Object.prototype.constructor||(o=function(){throw Error(\"cannot instantiate an interface (no constructor defined).\")}),o=goog.defineClass.createSealingConstructor_(o,e),e&&goog.inherits(o,e),delete t.constructor,delete t.statics,goog.defineClass.applyProperties_(o.prototype,t),null!=r&&(r instanceof Function?r(o):goog.defineClass.applyProperties_(o,r)),o},goog.defineClass.SEAL_CLASS_INSTANCES=goog.DEBUG,goog.defineClass.createSealingConstructor_=function(e,t){if(goog.defineClass.SEAL_CLASS_INSTANCES&&Object.seal instanceof Function){if(t&&t.prototype&&t.prototype[goog.UNSEALABLE_CONSTRUCTOR_PROPERTY_])return e;var o=function(){var t=e.apply(this,arguments)||this;return t[goog.UID_PROPERTY_]=t[goog.UID_PROPERTY_],this.constructor===o&&Object.seal(t),t};return o}return e},goog.defineClass.OBJECT_PROTOTYPE_FIELDS_=\"constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf\".split(\" \"),goog.defineClass.applyProperties_=function(e,t){for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);for(var r=0;r<goog.defineClass.OBJECT_PROTOTYPE_FIELDS_.length;r++)o=goog.defineClass.OBJECT_PROTOTYPE_FIELDS_[r],Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])},goog.tagUnsealableClass=function(e){!COMPILED&&goog.defineClass.SEAL_CLASS_INSTANCES&&(e.prototype[goog.UNSEALABLE_CONSTRUCTOR_PROPERTY_]=!0)},goog.UNSEALABLE_CONSTRUCTOR_PROPERTY_=\"goog_defineClass_legacy_unsealable\",goog.json={},goog.json.USE_NATIVE_JSON=!1,goog.json.isValid=function(e){return!/^\\s*$/.test(e)&&/^[\\],:{}\\s\\u2028\\u2029]*$/.test(e.replace(/\\\\[\"\\\\\\/bfnrtu]/g,\"@\").replace(/(?:\"[^\"\\\\\\n\\r\\u2028\\u2029\\x00-\\x08\\x0a-\\x1f]*\"|true|false|null|-?\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?)[\\s\\u2028\\u2029]*(?=:|,|]|}|$)/g,\"]\").replace(/(?:^|:|,)(?:[\\s\\u2028\\u2029]*\\[)+/g,\"\"))},goog.json.parse=goog.json.USE_NATIVE_JSON?goog.global.JSON.parse:function(a){if(a=String(a),goog.json.isValid(a))try{return eval(\"(\"+a+\")\")}catch(e){}throw Error(\"Invalid JSON string: \"+a)},goog.json.unsafeParse=goog.json.USE_NATIVE_JSON?goog.global.JSON.parse:function(a){return eval(\"(\"+a+\")\")},goog.json.serialize=goog.json.USE_NATIVE_JSON?goog.global.JSON.stringify:function(e,t){return new goog.json.Serializer(t).serialize(e)},goog.json.Serializer=function(e){this.replacer_=e},goog.json.Serializer.prototype.serialize=function(e){var t=[];return this.serializeInternal(e,t),t.join(\"\")},goog.json.Serializer.prototype.serializeInternal=function(e,t){if(null==e)t.push(\"null\");else{if(\"object\"==typeof e){if(goog.isArray(e))return void this.serializeArray(e,t);if(!(e instanceof String||e instanceof Number||e instanceof Boolean))return void this.serializeObject_(e,t);e=e.valueOf()}switch(typeof e){case\"string\":this.serializeString_(e,t);break;case\"number\":this.serializeNumber_(e,t);break;case\"boolean\":t.push(String(e));break;case\"function\":t.push(\"null\");break;default:throw Error(\"Unknown type: \"+typeof e)}}},goog.json.Serializer.charToJsonCharCache_={'\"':'\\\\\"',\"\\\\\":\"\\\\\\\\\",\"/\":\"\\\\/\",\"\\b\":\"\\\\b\",\"\\f\":\"\\\\f\",\"\\n\":\"\\\\n\",\"\\r\":\"\\\\r\",\"\\t\":\"\\\\t\",\"\\v\":\"\\\\u000b\"},goog.json.Serializer.charsToReplace_=/\\uffff/.test(\"￿\")?/[\\\\\\\"\\x00-\\x1f\\x7f-\\uffff]/g:/[\\\\\\\"\\x00-\\x1f\\x7f-\\xff]/g,goog.json.Serializer.prototype.serializeString_=function(e,t){t.push('\"',e.replace(goog.json.Serializer.charsToReplace_,function(e){var t=goog.json.Serializer.charToJsonCharCache_[e];return t||(t=\"\\\\u\"+(65536|e.charCodeAt(0)).toString(16).substr(1),goog.json.Serializer.charToJsonCharCache_[e]=t),t}),'\"')},goog.json.Serializer.prototype.serializeNumber_=function(e,t){t.push(isFinite(e)&&!isNaN(e)?String(e):\"null\")},goog.json.Serializer.prototype.serializeArray=function(e,t){var o=e.length;t.push(\"[\");for(var r=\"\",i=0;i<o;i++)t.push(r),r=e[i],this.serializeInternal(this.replacer_?this.replacer_.call(e,String(i),r):r,t),r=\",\";t.push(\"]\")},goog.json.Serializer.prototype.serializeObject_=function(e,t){t.push(\"{\");var o,r=\"\";for(o in e)if(Object.prototype.hasOwnProperty.call(e,o)){var i=e[o];\"function\"!=typeof i&&(t.push(r),this.serializeString_(o,t),t.push(\":\"),this.serializeInternal(this.replacer_?this.replacer_.call(e,o,i):i,t),r=\",\")}t.push(\"}\")},goog.dom={},goog.dom.NodeType={ELEMENT:1,ATTRIBUTE:2,TEXT:3,CDATA_SECTION:4,ENTITY_REFERENCE:5,ENTITY:6,PROCESSING_INSTRUCTION:7,COMMENT:8,DOCUMENT:9,DOCUMENT_TYPE:10,DOCUMENT_FRAGMENT:11,NOTATION:12},goog.debug={},goog.debug.Error=function(e){if(Error.captureStackTrace)Error.captureStackTrace(this,goog.debug.Error);else{var t=Error().stack;t&&(this.stack=t)}e&&(this.message=String(e)),this.reportErrorToServer=!0},goog.inherits(goog.debug.Error,Error),goog.debug.Error.prototype.name=\"CustomError\",goog.string={},goog.string.DETECT_DOUBLE_ESCAPING=!1,goog.string.FORCE_NON_DOM_HTML_UNESCAPING=!1,goog.string.Unicode={NBSP:\" \"},goog.string.startsWith=function(e,t){return 0==e.lastIndexOf(t,0)},goog.string.endsWith=function(e,t){var o=e.length-t.length;return 0<=o&&e.indexOf(t,o)==o},goog.string.caseInsensitiveStartsWith=function(e,t){return 0==goog.string.caseInsensitiveCompare(t,e.substr(0,t.length))},goog.string.caseInsensitiveEndsWith=function(e,t){return 0==goog.string.caseInsensitiveCompare(t,e.substr(e.length-t.length,t.length))},goog.string.caseInsensitiveEquals=function(e,t){return e.toLowerCase()==t.toLowerCase()},goog.string.subs=function(e,t){for(var o=e.split(\"%s\"),r=\"\",i=Array.prototype.slice.call(arguments,1);i.length&&1<o.length;)r+=o.shift()+i.shift();return r+o.join(\"%s\")},goog.string.collapseWhitespace=function(e){return e.replace(/[\\s\\xa0]+/g,\" \").replace(/^\\s+|\\s+$/g,\"\")},goog.string.isEmptyOrWhitespace=function(e){return/^[\\s\\xa0]*$/.test(e)},goog.string.isEmptyString=function(e){return 0==e.length},goog.string.isEmpty=goog.string.isEmptyOrWhitespace,goog.string.isEmptyOrWhitespaceSafe=function(e){return goog.string.isEmptyOrWhitespace(goog.string.makeSafe(e))},goog.string.isEmptySafe=goog.string.isEmptyOrWhitespaceSafe,goog.string.isBreakingWhitespace=function(e){return!/[^\\t\\n\\r ]/.test(e)},goog.string.isAlpha=function(e){return!/[^a-zA-Z]/.test(e)},goog.string.isNumeric=function(e){return!/[^0-9]/.test(e)},goog.string.isAlphaNumeric=function(e){return!/[^a-zA-Z0-9]/.test(e)},goog.string.isSpace=function(e){return\" \"==e},goog.string.isUnicodeChar=function(e){return 1==e.length&&\" \"<=e&&\"~\">=e||\"€\"<=e&&\"�\">=e},goog.string.stripNewlines=function(e){return e.replace(/(\\r\\n|\\r|\\n)+/g,\" \")},goog.string.canonicalizeNewlines=function(e){return e.replace(/(\\r\\n|\\r|\\n)/g,\"\\n\")},goog.string.normalizeWhitespace=function(e){return e.replace(/\\xa0|\\s/g,\" \")},goog.string.normalizeSpaces=function(e){return e.replace(/\\xa0|[ \\t]+/g,\" \")},goog.string.collapseBreakingSpaces=function(e){return e.replace(/[\\t\\r\\n ]+/g,\" \").replace(/^[\\t\\r\\n ]+|[\\t\\r\\n ]+$/g,\"\")},goog.string.trim=goog.TRUSTED_SITE&&String.prototype.trim?function(e){return e.trim()}:function(e){return e.replace(/^[\\s\\xa0]+|[\\s\\xa0]+$/g,\"\")},goog.string.trimLeft=function(e){return e.replace(/^[\\s\\xa0]+/,\"\")},goog.string.trimRight=function(e){return e.replace(/[\\s\\xa0]+$/,\"\")},goog.string.caseInsensitiveCompare=function(e,t){var o=String(e).toLowerCase(),r=String(t).toLowerCase();return o<r?-1:o==r?0:1},goog.string.numberAwareCompare_=function(e,t,o){if(e==t)return 0;if(!e)return-1;if(!t)return 1;for(var r=e.toLowerCase().match(o),i=t.toLowerCase().match(o),s=Math.min(r.length,i.length),n=0;n<s;n++){o=r[n];var a=i[n];if(o!=a)return e=parseInt(o,10),!isNaN(e)&&(t=parseInt(a,10),!isNaN(t)&&e-t)?e-t:o<a?-1:1}return r.length!=i.length?r.length-i.length:e<t?-1:1},goog.string.intAwareCompare=function(e,t){return goog.string.numberAwareCompare_(e,t,/\\d+|\\D+/g)},goog.string.floatAwareCompare=function(e,t){return goog.string.numberAwareCompare_(e,t,/\\d+|\\.\\d+|\\D+/g)},goog.string.numerateCompare=goog.string.floatAwareCompare,goog.string.urlEncode=function(e){return encodeURIComponent(String(e))},goog.string.urlDecode=function(e){return decodeURIComponent(e.replace(/\\+/g,\" \"))},goog.string.newLineToBr=function(e,t){return e.replace(/(\\r\\n|\\r|\\n)/g,t?\"<br />\":\"<br>\")},goog.string.htmlEscape=function(e,t){if(t)e=e.replace(goog.string.AMP_RE_,\"&amp;\").replace(goog.string.LT_RE_,\"&lt;\").replace(goog.string.GT_RE_,\"&gt;\").replace(goog.string.QUOT_RE_,\"&quot;\").replace(goog.string.SINGLE_QUOTE_RE_,\"&#39;\").replace(goog.string.NULL_RE_,\"&#0;\"),goog.string.DETECT_DOUBLE_ESCAPING&&(e=e.replace(goog.string.E_RE_,\"&#101;\"));else{if(!goog.string.ALL_RE_.test(e))return e;-1!=e.indexOf(\"&\")&&(e=e.replace(goog.string.AMP_RE_,\"&amp;\")),-1!=e.indexOf(\"<\")&&(e=e.replace(goog.string.LT_RE_,\"&lt;\")),-1!=e.indexOf(\">\")&&(e=e.replace(goog.string.GT_RE_,\"&gt;\")),-1!=e.indexOf('\"')&&(e=e.replace(goog.string.QUOT_RE_,\"&quot;\")),-1!=e.indexOf(\"'\")&&(e=e.replace(goog.string.SINGLE_QUOTE_RE_,\"&#39;\")),-1!=e.indexOf(\"\\0\")&&(e=e.replace(goog.string.NULL_RE_,\"&#0;\")),goog.string.DETECT_DOUBLE_ESCAPING&&-1!=e.indexOf(\"e\")&&(e=e.replace(goog.string.E_RE_,\"&#101;\"))}return e},goog.string.AMP_RE_=/&/g,goog.string.LT_RE_=/</g,goog.string.GT_RE_=/>/g,goog.string.QUOT_RE_=/\"/g,goog.string.SINGLE_QUOTE_RE_=/'/g,goog.string.NULL_RE_=/\\x00/g,goog.string.E_RE_=/e/g,goog.string.ALL_RE_=goog.string.DETECT_DOUBLE_ESCAPING?/[\\x00&<>\"'e]/:/[\\x00&<>\"']/,goog.string.unescapeEntities=function(e){return goog.string.contains(e,\"&\")?!goog.string.FORCE_NON_DOM_HTML_UNESCAPING&&\"document\"in goog.global?goog.string.unescapeEntitiesUsingDom_(e):goog.string.unescapePureXmlEntities_(e):e},goog.string.unescapeEntitiesWithDocument=function(e,t){return goog.string.contains(e,\"&\")?goog.string.unescapeEntitiesUsingDom_(e,t):e},goog.string.unescapeEntitiesUsingDom_=function(e,t){var o,r={\"&amp;\":\"&\",\"&lt;\":\"<\",\"&gt;\":\">\",\"&quot;\":'\"'};return o=t?t.createElement(\"div\"):goog.global.document.createElement(\"div\"),e.replace(goog.string.HTML_ENTITY_PATTERN_,function(e,t){var i=r[e];if(i)return i;if(\"#\"==t.charAt(0)){var s=Number(\"0\"+t.substr(1));isNaN(s)||(i=String.fromCharCode(s))}return i||(o.innerHTML=e+\" \",i=o.firstChild.nodeValue.slice(0,-1)),r[e]=i})},goog.string.unescapePureXmlEntities_=function(e){return e.replace(/&([^;]+);/g,function(e,t){switch(t){case\"amp\":return\"&\";case\"lt\":return\"<\";case\"gt\":return\">\";case\"quot\":return'\"';default:if(\"#\"==t.charAt(0)){var o=Number(\"0\"+t.substr(1));if(!isNaN(o))return String.fromCharCode(o)}return e}})},goog.string.HTML_ENTITY_PATTERN_=/&([^;\\s<&]+);?/g,goog.string.whitespaceEscape=function(e,t){return goog.string.newLineToBr(e.replace(/  /g,\" &#160;\"),t)},goog.string.preserveSpaces=function(e){return e.replace(/(^|[\\n ]) /g,\"$1\"+goog.string.Unicode.NBSP)},goog.string.stripQuotes=function(e,t){for(var o=t.length,r=0;r<o;r++){var i=1==o?t:t.charAt(r);if(e.charAt(0)==i&&e.charAt(e.length-1)==i)return e.substring(1,e.length-1)}return e},goog.string.truncate=function(e,t,o){return o&&(e=goog.string.unescapeEntities(e)),e.length>t&&(e=e.substring(0,t-3)+\"...\"),o&&(e=goog.string.htmlEscape(e)),e},goog.string.truncateMiddle=function(e,t,o,r){if(o&&(e=goog.string.unescapeEntities(e)),r&&e.length>t){r>t&&(r=t);var i=e.length-r;e=e.substring(0,t-r)+\"...\"+e.substring(i)}else e.length>t&&(r=Math.floor(t/2),i=e.length-r,e=e.substring(0,r+t%2)+\"...\"+e.substring(i));return o&&(e=goog.string.htmlEscape(e)),e},goog.string.specialEscapeChars_={\"\\0\":\"\\\\0\",\"\\b\":\"\\\\b\",\"\\f\":\"\\\\f\",\"\\n\":\"\\\\n\",\"\\r\":\"\\\\r\",\"\\t\":\"\\\\t\",\"\\v\":\"\\\\x0B\",'\"':'\\\\\"',\"\\\\\":\"\\\\\\\\\",\"<\":\"<\"},goog.string.jsEscapeCache_={\"'\":\"\\\\'\"},goog.string.quote=function(e){e=String(e);for(var t=['\"'],o=0;o<e.length;o++){var r=e.charAt(o),i=r.charCodeAt(0);t[o+1]=goog.string.specialEscapeChars_[r]||(31<i&&127>i?r:goog.string.escapeChar(r))}return t.push('\"'),t.join(\"\")},goog.string.escapeString=function(e){for(var t=[],o=0;o<e.length;o++)t[o]=goog.string.escapeChar(e.charAt(o));return t.join(\"\")},goog.string.escapeChar=function(e){if(e in goog.string.jsEscapeCache_)return goog.string.jsEscapeCache_[e];if(e in goog.string.specialEscapeChars_)return goog.string.jsEscapeCache_[e]=goog.string.specialEscapeChars_[e];var t,o=e.charCodeAt(0);return 31<o&&127>o?t=e:(256>o?(t=\"\\\\x\",(16>o||256<o)&&(t+=\"0\")):(t=\"\\\\u\",4096>o&&(t+=\"0\")),t+=o.toString(16).toUpperCase()),goog.string.jsEscapeCache_[e]=t},goog.string.contains=function(e,t){return-1!=e.indexOf(t)},goog.string.caseInsensitiveContains=function(e,t){return goog.string.contains(e.toLowerCase(),t.toLowerCase())},goog.string.countOf=function(e,t){return e&&t?e.split(t).length-1:0},goog.string.removeAt=function(e,t,o){var r=e;return 0<=t&&t<e.length&&0<o&&(r=e.substr(0,t)+e.substr(t+o,e.length-t-o)),r},goog.string.remove=function(e,t){var o=new RegExp(goog.string.regExpEscape(t),\"\");return e.replace(o,\"\")},goog.string.removeAll=function(e,t){var o=new RegExp(goog.string.regExpEscape(t),\"g\");return e.replace(o,\"\")},goog.string.regExpEscape=function(e){return String(e).replace(/([-()\\[\\]{}+?*.$\\^|,:#<!\\\\])/g,\"\\\\$1\").replace(/\\x08/g,\"\\\\x08\")},goog.string.repeat=String.prototype.repeat?function(e,t){return e.repeat(t)}:function(e,t){return Array(t+1).join(e)},goog.string.padNumber=function(e,t,o){return-1==(o=(e=goog.isDef(o)?e.toFixed(o):String(e)).indexOf(\".\"))&&(o=e.length),goog.string.repeat(\"0\",Math.max(0,t-o))+e},goog.string.makeSafe=function(e){return null==e?\"\":String(e)},goog.string.buildString=function(e){return Array.prototype.join.call(arguments,\"\")},goog.string.getRandomString=function(){return Math.floor(2147483648*Math.random()).toString(36)+Math.abs(Math.floor(2147483648*Math.random())^goog.now()).toString(36)},goog.string.compareVersions=function(e,t){for(var o=0,r=goog.string.trim(String(e)).split(\".\"),i=goog.string.trim(String(t)).split(\".\"),s=Math.max(r.length,i.length),n=0;0==o&&n<s;n++){var a=r[n]||\"\",p=i[n]||\"\",g=RegExp(\"(\\\\d*)(\\\\D*)\",\"g\"),l=RegExp(\"(\\\\d*)(\\\\D*)\",\"g\");do{var u=g.exec(a)||[\"\",\"\",\"\"],c=l.exec(p)||[\"\",\"\",\"\"];if(0==u[0].length&&0==c[0].length)break;o=0==u[1].length?0:parseInt(u[1],10);var d=0==c[1].length?0:parseInt(c[1],10);o=goog.string.compareElements_(o,d)||goog.string.compareElements_(0==u[2].length,0==c[2].length)||goog.string.compareElements_(u[2],c[2])}while(0==o)}return o},goog.string.compareElements_=function(e,t){return e<t?-1:e>t?1:0},goog.string.hashCode=function(e){for(var t=0,o=0;o<e.length;++o)t=31*t+e.charCodeAt(o)>>>0;return t},goog.string.uniqueStringCounter_=2147483648*Math.random()|0,goog.string.createUniqueString=function(){return\"goog_\"+goog.string.uniqueStringCounter_++},goog.string.toNumber=function(e){var t=Number(e);return 0==t&&goog.string.isEmptyOrWhitespace(e)?NaN:t},goog.string.isLowerCamelCase=function(e){return/^[a-z]+([A-Z][a-z]*)*$/.test(e)},goog.string.isUpperCamelCase=function(e){return/^([A-Z][a-z]*)+$/.test(e)},goog.string.toCamelCase=function(e){return String(e).replace(/\\-([a-z])/g,function(e,t){return t.toUpperCase()})},goog.string.toSelectorCase=function(e){return String(e).replace(/([A-Z])/g,\"-$1\").toLowerCase()},goog.string.toTitleCase=function(e,t){var o=goog.isString(t)?goog.string.regExpEscape(t):\"\\\\s\";return e.replace(new RegExp(\"(^\"+(o?\"|[\"+o+\"]+\":\"\")+\")([a-z])\",\"g\"),function(e,t,o){return t+o.toUpperCase()})},goog.string.capitalize=function(e){return String(e.charAt(0)).toUpperCase()+String(e.substr(1)).toLowerCase()},goog.string.parseInt=function(e){return isFinite(e)&&(e=String(e)),goog.isString(e)?/^\\s*-?0x/i.test(e)?parseInt(e,16):parseInt(e,10):NaN},goog.string.splitLimit=function(e,t,o){e=e.split(t);for(var r=[];0<o&&e.length;)r.push(e.shift()),o--;return e.length&&r.push(e.join(t)),r},goog.string.editDistance=function(e,t){var o=[],r=[];if(e==t)return 0;if(!e.length||!t.length)return Math.max(e.length,t.length);for(var i=0;i<t.length+1;i++)o[i]=i;for(i=0;i<e.length;i++){r[0]=i+1;for(var s=0;s<t.length;s++)r[s+1]=Math.min(r[s]+1,o[s+1]+1,o[s]+Number(e[i]!=t[s]));for(s=0;s<o.length;s++)o[s]=r[s]}return r[t.length]},goog.asserts={},goog.asserts.ENABLE_ASSERTS=goog.DEBUG,goog.asserts.AssertionError=function(e,t){t.unshift(e),goog.debug.Error.call(this,goog.string.subs.apply(null,t)),t.shift(),this.messagePattern=e},goog.inherits(goog.asserts.AssertionError,goog.debug.Error),goog.asserts.AssertionError.prototype.name=\"AssertionError\",goog.asserts.DEFAULT_ERROR_HANDLER=function(e){throw e},goog.asserts.errorHandler_=goog.asserts.DEFAULT_ERROR_HANDLER,goog.asserts.doAssertFailure_=function(e,t,o,r){var i=\"Assertion failed\";if(o){i=i+\": \"+o;var s=r}else e&&(i+=\": \"+e,s=t);e=new goog.asserts.AssertionError(\"\"+i,s||[]),goog.asserts.errorHandler_(e)},goog.asserts.setErrorHandler=function(e){goog.asserts.ENABLE_ASSERTS&&(goog.asserts.errorHandler_=e)},goog.asserts.assert=function(e,t,o){return goog.asserts.ENABLE_ASSERTS&&!e&&goog.asserts.doAssertFailure_(\"\",null,t,Array.prototype.slice.call(arguments,2)),e},goog.asserts.fail=function(e,t){goog.asserts.ENABLE_ASSERTS&&goog.asserts.errorHandler_(new goog.asserts.AssertionError(\"Failure\"+(e?\": \"+e:\"\"),Array.prototype.slice.call(arguments,1)))},goog.asserts.assertNumber=function(e,t,o){return goog.asserts.ENABLE_ASSERTS&&!goog.isNumber(e)&&goog.asserts.doAssertFailure_(\"Expected number but got %s: %s.\",[goog.typeOf(e),e],t,Array.prototype.slice.call(arguments,2)),e},goog.asserts.assertString=function(e,t,o){return goog.asserts.ENABLE_ASSERTS&&!goog.isString(e)&&goog.asserts.doAssertFailure_(\"Expected string but got %s: %s.\",[goog.typeOf(e),e],t,Array.prototype.slice.call(arguments,2)),e},goog.asserts.assertFunction=function(e,t,o){return goog.asserts.ENABLE_ASSERTS&&!goog.isFunction(e)&&goog.asserts.doAssertFailure_(\"Expected function but got %s: %s.\",[goog.typeOf(e),e],t,Array.prototype.slice.call(arguments,2)),e},goog.asserts.assertObject=function(e,t,o){return goog.asserts.ENABLE_ASSERTS&&!goog.isObject(e)&&goog.asserts.doAssertFailure_(\"Expected object but got %s: %s.\",[goog.typeOf(e),e],t,Array.prototype.slice.call(arguments,2)),e},goog.asserts.assertArray=function(e,t,o){return goog.asserts.ENABLE_ASSERTS&&!goog.isArray(e)&&goog.asserts.doAssertFailure_(\"Expected array but got %s: %s.\",[goog.typeOf(e),e],t,Array.prototype.slice.call(arguments,2)),e},goog.asserts.assertBoolean=function(e,t,o){return goog.asserts.ENABLE_ASSERTS&&!goog.isBoolean(e)&&goog.asserts.doAssertFailure_(\"Expected boolean but got %s: %s.\",[goog.typeOf(e),e],t,Array.prototype.slice.call(arguments,2)),e},goog.asserts.assertElement=function(e,t,o){return!goog.asserts.ENABLE_ASSERTS||goog.isObject(e)&&e.nodeType==goog.dom.NodeType.ELEMENT||goog.asserts.doAssertFailure_(\"Expected Element but got %s: %s.\",[goog.typeOf(e),e],t,Array.prototype.slice.call(arguments,2)),e},goog.asserts.assertInstanceof=function(e,t,o,r){return!goog.asserts.ENABLE_ASSERTS||e instanceof t||goog.asserts.doAssertFailure_(\"Expected instanceof %s but got %s.\",[goog.asserts.getType_(t),goog.asserts.getType_(e)],o,Array.prototype.slice.call(arguments,3)),e},goog.asserts.assertObjectPrototypeIsIntact=function(){for(var e in Object.prototype)goog.asserts.fail(e+\" should not be enumerable in Object.prototype.\")},goog.asserts.getType_=function(e){return e instanceof Function?e.displayName||e.name||\"unknown type name\":e instanceof Object?e.constructor.displayName||e.constructor.name||Object.prototype.toString.call(e):null===e?\"null\":typeof e},goog.array={},goog.NATIVE_ARRAY_PROTOTYPES=goog.TRUSTED_SITE,goog.array.ASSUME_NATIVE_FUNCTIONS=!1,goog.array.peek=function(e){return e[e.length-1]},goog.array.last=goog.array.peek,goog.array.indexOf=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.indexOf)?function(e,t,o){return goog.asserts.assert(null!=e.length),Array.prototype.indexOf.call(e,t,o)}:function(e,t,o){if(o=null==o?0:0>o?Math.max(0,e.length+o):o,goog.isString(e))return goog.isString(t)&&1==t.length?e.indexOf(t,o):-1;for(;o<e.length;o++)if(o in e&&e[o]===t)return o;return-1},goog.array.lastIndexOf=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.lastIndexOf)?function(e,t,o){return goog.asserts.assert(null!=e.length),Array.prototype.lastIndexOf.call(e,t,null==o?e.length-1:o)}:function(e,t,o){if(0>(o=null==o?e.length-1:o)&&(o=Math.max(0,e.length+o)),goog.isString(e))return goog.isString(t)&&1==t.length?e.lastIndexOf(t,o):-1;for(;0<=o;o--)if(o in e&&e[o]===t)return o;return-1},goog.array.forEach=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.forEach)?function(e,t,o){goog.asserts.assert(null!=e.length),Array.prototype.forEach.call(e,t,o)}:function(e,t,o){for(var r=e.length,i=goog.isString(e)?e.split(\"\"):e,s=0;s<r;s++)s in i&&t.call(o,i[s],s,e)},goog.array.forEachRight=function(e,t,o){var r=e.length,i=goog.isString(e)?e.split(\"\"):e;for(r=r-1;0<=r;--r)r in i&&t.call(o,i[r],r,e)},goog.array.filter=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.filter)?function(e,t,o){return goog.asserts.assert(null!=e.length),Array.prototype.filter.call(e,t,o)}:function(e,t,o){for(var r=e.length,i=[],s=0,n=goog.isString(e)?e.split(\"\"):e,a=0;a<r;a++)if(a in n){var p=n[a];t.call(o,p,a,e)&&(i[s++]=p)}return i},goog.array.map=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.map)?function(e,t,o){return goog.asserts.assert(null!=e.length),Array.prototype.map.call(e,t,o)}:function(e,t,o){for(var r=e.length,i=Array(r),s=goog.isString(e)?e.split(\"\"):e,n=0;n<r;n++)n in s&&(i[n]=t.call(o,s[n],n,e));return i},goog.array.reduce=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.reduce)?function(e,t,o,r){return goog.asserts.assert(null!=e.length),r&&(t=goog.bind(t,r)),Array.prototype.reduce.call(e,t,o)}:function(e,t,o,r){var i=o;return goog.array.forEach(e,function(o,s){i=t.call(r,i,o,s,e)}),i},goog.array.reduceRight=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.reduceRight)?function(e,t,o,r){return goog.asserts.assert(null!=e.length),goog.asserts.assert(null!=t),r&&(t=goog.bind(t,r)),Array.prototype.reduceRight.call(e,t,o)}:function(e,t,o,r){var i=o;return goog.array.forEachRight(e,function(o,s){i=t.call(r,i,o,s,e)}),i},goog.array.some=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.some)?function(e,t,o){return goog.asserts.assert(null!=e.length),Array.prototype.some.call(e,t,o)}:function(e,t,o){for(var r=e.length,i=goog.isString(e)?e.split(\"\"):e,s=0;s<r;s++)if(s in i&&t.call(o,i[s],s,e))return!0;return!1},goog.array.every=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.every)?function(e,t,o){return goog.asserts.assert(null!=e.length),Array.prototype.every.call(e,t,o)}:function(e,t,o){for(var r=e.length,i=goog.isString(e)?e.split(\"\"):e,s=0;s<r;s++)if(s in i&&!t.call(o,i[s],s,e))return!1;return!0},goog.array.count=function(e,t,o){var r=0;return goog.array.forEach(e,function(e,i,s){t.call(o,e,i,s)&&++r},o),r},goog.array.find=function(e,t,o){return 0>(t=goog.array.findIndex(e,t,o))?null:goog.isString(e)?e.charAt(t):e[t]},goog.array.findIndex=function(e,t,o){for(var r=e.length,i=goog.isString(e)?e.split(\"\"):e,s=0;s<r;s++)if(s in i&&t.call(o,i[s],s,e))return s;return-1},goog.array.findRight=function(e,t,o){return 0>(t=goog.array.findIndexRight(e,t,o))?null:goog.isString(e)?e.charAt(t):e[t]},goog.array.findIndexRight=function(e,t,o){var r=e.length,i=goog.isString(e)?e.split(\"\"):e;for(r=r-1;0<=r;r--)if(r in i&&t.call(o,i[r],r,e))return r;return-1},goog.array.contains=function(e,t){return 0<=goog.array.indexOf(e,t)},goog.array.isEmpty=function(e){return 0==e.length},goog.array.clear=function(e){if(!goog.isArray(e))for(var t=e.length-1;0<=t;t--)delete e[t];e.length=0},goog.array.insert=function(e,t){goog.array.contains(e,t)||e.push(t)},goog.array.insertAt=function(e,t,o){goog.array.splice(e,o,0,t)},goog.array.insertArrayAt=function(e,t,o){goog.partial(goog.array.splice,e,o,0).apply(null,t)},goog.array.insertBefore=function(e,t,o){var r;2==arguments.length||0>(r=goog.array.indexOf(e,o))?e.push(t):goog.array.insertAt(e,t,r)},goog.array.remove=function(e,t){var o,r=goog.array.indexOf(e,t);return(o=0<=r)&&goog.array.removeAt(e,r),o},goog.array.removeAt=function(e,t){return goog.asserts.assert(null!=e.length),1==Array.prototype.splice.call(e,t,1).length},goog.array.removeIf=function(e,t,o){return 0<=(t=goog.array.findIndex(e,t,o))&&(goog.array.removeAt(e,t),!0)},goog.array.removeAllIf=function(e,t,o){var r=0;return goog.array.forEachRight(e,function(i,s){t.call(o,i,s,e)&&goog.array.removeAt(e,s)&&r++}),r},goog.array.concat=function(e){return Array.prototype.concat.apply(Array.prototype,arguments)},goog.array.join=function(e){return Array.prototype.concat.apply(Array.prototype,arguments)},goog.array.toArray=function(e){var t=e.length;if(0<t){for(var o=Array(t),r=0;r<t;r++)o[r]=e[r];return o}return[]},goog.array.clone=goog.array.toArray,goog.array.extend=function(e,t){for(var o=1;o<arguments.length;o++){var r=arguments[o];if(goog.isArrayLike(r)){var i=e.length||0,s=r.length||0;e.length=i+s;for(var n=0;n<s;n++)e[i+n]=r[n]}else e.push(r)}},goog.array.splice=function(e,t,o,r){return goog.asserts.assert(null!=e.length),Array.prototype.splice.apply(e,goog.array.slice(arguments,1))},goog.array.slice=function(e,t,o){return goog.asserts.assert(null!=e.length),2>=arguments.length?Array.prototype.slice.call(e,t):Array.prototype.slice.call(e,t,o)},goog.array.removeDuplicates=function(e,t,o){t=t||e;var r=function(e){return goog.isObject(e)?\"o\"+goog.getUid(e):(typeof e).charAt(0)+e};o=o||r;r={};for(var i=0,s=0;s<e.length;){var n=e[s++],a=o(n);Object.prototype.hasOwnProperty.call(r,a)||(r[a]=!0,t[i++]=n)}t.length=i},goog.array.binarySearch=function(e,t,o){return goog.array.binarySearch_(e,o||goog.array.defaultCompare,!1,t)},goog.array.binarySelect=function(e,t,o){return goog.array.binarySearch_(e,t,!0,void 0,o)},goog.array.binarySearch_=function(e,t,o,r,i){for(var s,n=0,a=e.length;n<a;){var p,g=n+a>>1;0<(p=o?t.call(i,e[g],g,e):t(r,e[g]))?n=g+1:(a=g,s=!p)}return s?n:~n},goog.array.sort=function(e,t){e.sort(t||goog.array.defaultCompare)},goog.array.stableSort=function(e,t){for(var o=0;o<e.length;o++)e[o]={index:o,value:e[o]};var r=t||goog.array.defaultCompare;for(goog.array.sort(e,function(e,t){return r(e.value,t.value)||e.index-t.index}),o=0;o<e.length;o++)e[o]=e[o].value},goog.array.sortByKey=function(e,t,o){var r=o||goog.array.defaultCompare;goog.array.sort(e,function(e,o){return r(t(e),t(o))})},goog.array.sortObjectsByKey=function(e,t,o){goog.array.sortByKey(e,function(e){return e[t]},o)},goog.array.isSorted=function(e,t,o){t=t||goog.array.defaultCompare;for(var r=1;r<e.length;r++){var i=t(e[r-1],e[r]);if(0<i||0==i&&o)return!1}return!0},goog.array.equals=function(e,t,o){if(!goog.isArrayLike(e)||!goog.isArrayLike(t)||e.length!=t.length)return!1;var r=e.length;o=o||goog.array.defaultCompareEquality;for(var i=0;i<r;i++)if(!o(e[i],t[i]))return!1;return!0},goog.array.compare3=function(e,t,o){o=o||goog.array.defaultCompare;for(var r=Math.min(e.length,t.length),i=0;i<r;i++){var s=o(e[i],t[i]);if(0!=s)return s}return goog.array.defaultCompare(e.length,t.length)},goog.array.defaultCompare=function(e,t){return e>t?1:e<t?-1:0},goog.array.inverseDefaultCompare=function(e,t){return-goog.array.defaultCompare(e,t)},goog.array.defaultCompareEquality=function(e,t){return e===t},goog.array.binaryInsert=function(e,t,o){return 0>(o=goog.array.binarySearch(e,t,o))&&(goog.array.insertAt(e,t,-(o+1)),!0)},goog.array.binaryRemove=function(e,t,o){return 0<=(t=goog.array.binarySearch(e,t,o))&&goog.array.removeAt(e,t)},goog.array.bucket=function(e,t,o){for(var r={},i=0;i<e.length;i++){var s=e[i],n=t.call(o,s,i,e);goog.isDef(n)&&(r[n]||(r[n]=[])).push(s)}return r},goog.array.toObject=function(e,t,o){var r={};return goog.array.forEach(e,function(i,s){r[t.call(o,i,s,e)]=i}),r},goog.array.range=function(e,t,o){var r=[],i=0,s=e;if(o=o||1,void 0!==t&&(i=e,s=t),0>o*(s-i))return[];if(0<o)for(e=i;e<s;e+=o)r.push(e);else for(e=i;e>s;e+=o)r.push(e);return r},goog.array.repeat=function(e,t){for(var o=[],r=0;r<t;r++)o[r]=e;return o},goog.array.flatten=function(e){for(var t=[],o=0;o<arguments.length;o++){var r=arguments[o];if(goog.isArray(r))for(var i=0;i<r.length;i+=8192)for(var s=goog.array.slice(r,i,i+8192),n=(s=goog.array.flatten.apply(null,s),0);n<s.length;n++)t.push(s[n]);else t.push(r)}return t},goog.array.rotate=function(e,t){return goog.asserts.assert(null!=e.length),e.length&&(0<(t%=e.length)?Array.prototype.unshift.apply(e,e.splice(-t,t)):0>t&&Array.prototype.push.apply(e,e.splice(0,-t))),e},goog.array.moveItem=function(e,t,o){goog.asserts.assert(0<=t&&t<e.length),goog.asserts.assert(0<=o&&o<e.length),t=Array.prototype.splice.call(e,t,1),Array.prototype.splice.call(e,o,0,t[0])},goog.array.zip=function(e){if(!arguments.length)return[];for(var t=[],o=arguments[0].length,r=1;r<arguments.length;r++)arguments[r].length<o&&(o=arguments[r].length);for(r=0;r<o;r++){for(var i=[],s=0;s<arguments.length;s++)i.push(arguments[s][r]);t.push(i)}return t},goog.array.shuffle=function(e,t){for(var o=t||Math.random,r=e.length-1;0<r;r--){var i=Math.floor(o()*(r+1)),s=e[r];e[r]=e[i],e[i]=s}},goog.array.copyByIndex=function(e,t){var o=[];return goog.array.forEach(t,function(t){o.push(e[t])}),o},goog.crypt={},goog.crypt.stringToByteArray=function(e){for(var t=[],o=0,r=0;r<e.length;r++){for(var i=e.charCodeAt(r);255<i;)t[o++]=255&i,i>>=8;t[o++]=i}return t},goog.crypt.byteArrayToString=function(e){if(8192>=e.length)return String.fromCharCode.apply(null,e);for(var t=\"\",o=0;o<e.length;o+=8192){var r=goog.array.slice(e,o,o+8192);t=t+String.fromCharCode.apply(null,r)}return t},goog.crypt.byteArrayToHex=function(e){return goog.array.map(e,function(e){return 1<(e=e.toString(16)).length?e:\"0\"+e}).join(\"\")},goog.crypt.hexToByteArray=function(e){goog.asserts.assert(0==e.length%2,\"Key string length must be multiple of 2\");for(var t=[],o=0;o<e.length;o+=2)t.push(parseInt(e.substring(o,o+2),16));return t},goog.crypt.stringToUtf8ByteArray=function(e){for(var t=[],o=0,r=0;r<e.length;r++){var i=e.charCodeAt(r);128>i?t[o++]=i:(2048>i?t[o++]=i>>6|192:(55296==(64512&i)&&r+1<e.length&&56320==(64512&e.charCodeAt(r+1))?(i=65536+((1023&i)<<10)+(1023&e.charCodeAt(++r)),t[o++]=i>>18|240,t[o++]=i>>12&63|128):t[o++]=i>>12|224,t[o++]=i>>6&63|128),t[o++]=63&i|128)}return t},goog.crypt.utf8ByteArrayToString=function(e){for(var t=[],o=0,r=0;o<e.length;){if(128>(n=e[o++]))t[r++]=String.fromCharCode(n);else if(191<n&&224>n){var i=e[o++];t[r++]=String.fromCharCode((31&n)<<6|63&i)}else if(239<n&&365>n){i=e[o++];var s=e[o++],n=((7&n)<<18|(63&i)<<12|(63&s)<<6|63&e[o++])-65536;t[r++]=String.fromCharCode(55296+(n>>10)),t[r++]=String.fromCharCode(56320+(1023&n))}else i=e[o++],s=e[o++],t[r++]=String.fromCharCode((15&n)<<12|(63&i)<<6|63&s)}return t.join(\"\")},goog.crypt.xorByteArray=function(e,t){goog.asserts.assert(e.length==t.length,\"XOR array lengths must match\");for(var o=[],r=0;r<e.length;r++)o.push(e[r]^t[r]);return o},goog.labs={},goog.labs.userAgent={},goog.labs.userAgent.util={},goog.labs.userAgent.util.getNativeUserAgentString_=function(){var e=goog.labs.userAgent.util.getNavigator_();return e&&(e=e.userAgent)?e:\"\"},goog.labs.userAgent.util.getNavigator_=function(){return goog.global.navigator},goog.labs.userAgent.util.userAgent_=goog.labs.userAgent.util.getNativeUserAgentString_(),goog.labs.userAgent.util.setUserAgent=function(e){goog.labs.userAgent.util.userAgent_=e||goog.labs.userAgent.util.getNativeUserAgentString_()},goog.labs.userAgent.util.getUserAgent=function(){return goog.labs.userAgent.util.userAgent_},goog.labs.userAgent.util.matchUserAgent=function(e){var t=goog.labs.userAgent.util.getUserAgent();return goog.string.contains(t,e)},goog.labs.userAgent.util.matchUserAgentIgnoreCase=function(e){var t=goog.labs.userAgent.util.getUserAgent();return goog.string.caseInsensitiveContains(t,e)},goog.labs.userAgent.util.extractVersionTuples=function(e){for(var t,o=RegExp(\"(\\\\w[\\\\w ]+)/([^\\\\s]+)\\\\s*(?:\\\\((.*?)\\\\))?\",\"g\"),r=[];t=o.exec(e);)r.push([t[1],t[2],t[3]||void 0]);return r},goog.labs.userAgent.platform={},goog.labs.userAgent.platform.isAndroid=function(){return goog.labs.userAgent.util.matchUserAgent(\"Android\")},goog.labs.userAgent.platform.isIpod=function(){return goog.labs.userAgent.util.matchUserAgent(\"iPod\")},goog.labs.userAgent.platform.isIphone=function(){return goog.labs.userAgent.util.matchUserAgent(\"iPhone\")&&!goog.labs.userAgent.util.matchUserAgent(\"iPod\")&&!goog.labs.userAgent.util.matchUserAgent(\"iPad\")},goog.labs.userAgent.platform.isIpad=function(){return goog.labs.userAgent.util.matchUserAgent(\"iPad\")},goog.labs.userAgent.platform.isIos=function(){return goog.labs.userAgent.platform.isIphone()||goog.labs.userAgent.platform.isIpad()||goog.labs.userAgent.platform.isIpod()},goog.labs.userAgent.platform.isMacintosh=function(){return goog.labs.userAgent.util.matchUserAgent(\"Macintosh\")},goog.labs.userAgent.platform.isLinux=function(){return goog.labs.userAgent.util.matchUserAgent(\"Linux\")},goog.labs.userAgent.platform.isWindows=function(){return goog.labs.userAgent.util.matchUserAgent(\"Windows\")},goog.labs.userAgent.platform.isChromeOS=function(){return goog.labs.userAgent.util.matchUserAgent(\"CrOS\")},goog.labs.userAgent.platform.getVersion=function(){var e=goog.labs.userAgent.util.getUserAgent(),t=\"\";return goog.labs.userAgent.platform.isWindows()?t=(e=(t=/Windows (?:NT|Phone) ([0-9.]+)/).exec(e))?e[1]:\"0.0\":goog.labs.userAgent.platform.isIos()?t=(e=(t=/(?:iPhone|iPod|iPad|CPU)\\s+OS\\s+(\\S+)/).exec(e))&&e[1].replace(/_/g,\".\"):goog.labs.userAgent.platform.isMacintosh()?t=(e=(t=/Mac OS X ([0-9_.]+)/).exec(e))?e[1].replace(/_/g,\".\"):\"10\":goog.labs.userAgent.platform.isAndroid()?t=(e=(t=/Android\\s+([^\\);]+)(\\)|;)/).exec(e))&&e[1]:goog.labs.userAgent.platform.isChromeOS()&&(t=(e=(t=/(?:CrOS\\s+(?:i686|x86_64)\\s+([0-9.]+))/).exec(e))&&e[1]),t||\"\"},goog.labs.userAgent.platform.isVersionOrHigher=function(e){return 0<=goog.string.compareVersions(goog.labs.userAgent.platform.getVersion(),e)},goog.object={},goog.object.forEach=function(e,t,o){for(var r in e)t.call(o,e[r],r,e)},goog.object.filter=function(e,t,o){var r,i={};for(r in e)t.call(o,e[r],r,e)&&(i[r]=e[r]);return i},goog.object.map=function(e,t,o){var r,i={};for(r in e)i[r]=t.call(o,e[r],r,e);return i},goog.object.some=function(e,t,o){for(var r in e)if(t.call(o,e[r],r,e))return!0;return!1},goog.object.every=function(e,t,o){for(var r in e)if(!t.call(o,e[r],r,e))return!1;return!0},goog.object.getCount=function(e){var t,o=0;for(t in e)o++;return o},goog.object.getAnyKey=function(e){for(var t in e)return t},goog.object.getAnyValue=function(e){for(var t in e)return e[t]},goog.object.contains=function(e,t){return goog.object.containsValue(e,t)},goog.object.getValues=function(e){var t,o=[],r=0;for(t in e)o[r++]=e[t];return o},goog.object.getKeys=function(e){var t,o=[],r=0;for(t in e)o[r++]=t;return o},goog.object.getValueByKeys=function(e,t){for(var o=(r=goog.isArrayLike(t))?t:arguments,r=r?0:1;r<o.length&&(e=e[o[r]],goog.isDef(e));r++);return e},goog.object.containsKey=function(e,t){return null!==e&&t in e},goog.object.containsValue=function(e,t){for(var o in e)if(e[o]==t)return!0;return!1},goog.object.findKey=function(e,t,o){for(var r in e)if(t.call(o,e[r],r,e))return r},goog.object.findValue=function(e,t,o){return(t=goog.object.findKey(e,t,o))&&e[t]},goog.object.isEmpty=function(e){for(var t in e)return!1;return!0},goog.object.clear=function(e){for(var t in e)delete e[t]},goog.object.remove=function(e,t){var o;return(o=t in e)&&delete e[t],o},goog.object.add=function(e,t,o){if(null!==e&&t in e)throw Error('The object already contains the key \"'+t+'\"');goog.object.set(e,t,o)},goog.object.get=function(e,t,o){return null!==e&&t in e?e[t]:o},goog.object.set=function(e,t,o){e[t]=o},goog.object.setIfUndefined=function(e,t,o){return t in e?e[t]:e[t]=o},goog.object.setWithReturnValueIfNotSet=function(e,t,o){return t in e?e[t]:(o=o(),e[t]=o)},goog.object.equals=function(e,t){for(var o in e)if(!(o in t)||e[o]!==t[o])return!1;for(o in t)if(!(o in e))return!1;return!0},goog.object.clone=function(e){var t,o={};for(t in e)o[t]=e[t];return o},goog.object.unsafeClone=function(e){if(\"object\"==(o=goog.typeOf(e))||\"array\"==o){if(goog.isFunction(e.clone))return e.clone();var t,o=\"array\"==o?[]:{};for(t in e)o[t]=goog.object.unsafeClone(e[t]);return o}return e},goog.object.transpose=function(e){var t,o={};for(t in e)o[e[t]]=t;return o},goog.object.PROTOTYPE_FIELDS_=\"constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf\".split(\" \"),goog.object.extend=function(e,t){for(var o,r,i=1;i<arguments.length;i++){for(o in r=arguments[i])e[o]=r[o];for(var s=0;s<goog.object.PROTOTYPE_FIELDS_.length;s++)o=goog.object.PROTOTYPE_FIELDS_[s],Object.prototype.hasOwnProperty.call(r,o)&&(e[o]=r[o])}},goog.object.create=function(e){var t=arguments.length;if(1==t&&goog.isArray(arguments[0]))return goog.object.create.apply(null,arguments[0]);if(t%2)throw Error(\"Uneven number of arguments\");for(var o={},r=0;r<t;r+=2)o[arguments[r]]=arguments[r+1];return o},goog.object.createSet=function(e){var t=arguments.length;if(1==t&&goog.isArray(arguments[0]))return goog.object.createSet.apply(null,arguments[0]);for(var o={},r=0;r<t;r++)o[arguments[r]]=!0;return o},goog.object.createImmutableView=function(e){var t=e;return Object.isFrozen&&!Object.isFrozen(e)&&(t=Object.create(e),Object.freeze(t)),t},goog.object.isImmutableView=function(e){return!!Object.isFrozen&&Object.isFrozen(e)},goog.labs.userAgent.browser={},goog.labs.userAgent.browser.matchOpera_=function(){return goog.labs.userAgent.util.matchUserAgent(\"Opera\")||goog.labs.userAgent.util.matchUserAgent(\"OPR\")},goog.labs.userAgent.browser.matchIE_=function(){return goog.labs.userAgent.util.matchUserAgent(\"Trident\")||goog.labs.userAgent.util.matchUserAgent(\"MSIE\")},goog.labs.userAgent.browser.matchEdge_=function(){return goog.labs.userAgent.util.matchUserAgent(\"Edge\")},goog.labs.userAgent.browser.matchFirefox_=function(){return goog.labs.userAgent.util.matchUserAgent(\"Firefox\")},goog.labs.userAgent.browser.matchSafari_=function(){return goog.labs.userAgent.util.matchUserAgent(\"Safari\")&&!(goog.labs.userAgent.browser.matchChrome_()||goog.labs.userAgent.browser.matchCoast_()||goog.labs.userAgent.browser.matchOpera_()||goog.labs.userAgent.browser.matchEdge_()||goog.labs.userAgent.browser.isSilk()||goog.labs.userAgent.util.matchUserAgent(\"Android\"))},goog.labs.userAgent.browser.matchCoast_=function(){return goog.labs.userAgent.util.matchUserAgent(\"Coast\")},goog.labs.userAgent.browser.matchIosWebview_=function(){return(goog.labs.userAgent.util.matchUserAgent(\"iPad\")||goog.labs.userAgent.util.matchUserAgent(\"iPhone\"))&&!goog.labs.userAgent.browser.matchSafari_()&&!goog.labs.userAgent.browser.matchChrome_()&&!goog.labs.userAgent.browser.matchCoast_()&&goog.labs.userAgent.util.matchUserAgent(\"AppleWebKit\")},goog.labs.userAgent.browser.matchChrome_=function(){return(goog.labs.userAgent.util.matchUserAgent(\"Chrome\")||goog.labs.userAgent.util.matchUserAgent(\"CriOS\"))&&!goog.labs.userAgent.browser.matchOpera_()&&!goog.labs.userAgent.browser.matchEdge_()},goog.labs.userAgent.browser.matchAndroidBrowser_=function(){return goog.labs.userAgent.util.matchUserAgent(\"Android\")&&!(goog.labs.userAgent.browser.isChrome()||goog.labs.userAgent.browser.isFirefox()||goog.labs.userAgent.browser.isOpera()||goog.labs.userAgent.browser.isSilk())},goog.labs.userAgent.browser.isOpera=goog.labs.userAgent.browser.matchOpera_,goog.labs.userAgent.browser.isIE=goog.labs.userAgent.browser.matchIE_,goog.labs.userAgent.browser.isEdge=goog.labs.userAgent.browser.matchEdge_,goog.labs.userAgent.browser.isFirefox=goog.labs.userAgent.browser.matchFirefox_,goog.labs.userAgent.browser.isSafari=goog.labs.userAgent.browser.matchSafari_,goog.labs.userAgent.browser.isCoast=goog.labs.userAgent.browser.matchCoast_,goog.labs.userAgent.browser.isIosWebview=goog.labs.userAgent.browser.matchIosWebview_,goog.labs.userAgent.browser.isChrome=goog.labs.userAgent.browser.matchChrome_,goog.labs.userAgent.browser.isAndroidBrowser=goog.labs.userAgent.browser.matchAndroidBrowser_,goog.labs.userAgent.browser.isSilk=function(){return goog.labs.userAgent.util.matchUserAgent(\"Silk\")},goog.labs.userAgent.browser.getVersion=function(){function e(e){return e=goog.array.find(e,r),o[e]||\"\"}var t=goog.labs.userAgent.util.getUserAgent();if(goog.labs.userAgent.browser.isIE())return goog.labs.userAgent.browser.getIEVersion_(t);t=goog.labs.userAgent.util.extractVersionTuples(t);var o={};goog.array.forEach(t,function(e){o[e[0]]=e[1]});var r=goog.partial(goog.object.containsKey,o);return goog.labs.userAgent.browser.isOpera()?e([\"Version\",\"Opera\",\"OPR\"]):goog.labs.userAgent.browser.isEdge()?e([\"Edge\"]):goog.labs.userAgent.browser.isChrome()?e([\"Chrome\",\"CriOS\"]):(t=t[2])&&t[1]||\"\"},goog.labs.userAgent.browser.isVersionOrHigher=function(e){return 0<=goog.string.compareVersions(goog.labs.userAgent.browser.getVersion(),e)},goog.labs.userAgent.browser.getIEVersion_=function(e){if((t=/rv: *([\\d\\.]*)/.exec(e))&&t[1])return t[1];var t=\"\",o=/MSIE +([\\d\\.]+)/.exec(e);if(o&&o[1])if(e=/Trident\\/(\\d.\\d)/.exec(e),\"7.0\"==o[1])if(e&&e[1])switch(e[1]){case\"4.0\":t=\"8.0\";break;case\"5.0\":t=\"9.0\";break;case\"6.0\":t=\"10.0\";break;case\"7.0\":t=\"11.0\"}else t=\"7.0\";else t=o[1];return t},goog.labs.userAgent.engine={},goog.labs.userAgent.engine.isPresto=function(){return goog.labs.userAgent.util.matchUserAgent(\"Presto\")},goog.labs.userAgent.engine.isTrident=function(){return goog.labs.userAgent.util.matchUserAgent(\"Trident\")||goog.labs.userAgent.util.matchUserAgent(\"MSIE\")},goog.labs.userAgent.engine.isEdge=function(){return goog.labs.userAgent.util.matchUserAgent(\"Edge\")},goog.labs.userAgent.engine.isWebKit=function(){return goog.labs.userAgent.util.matchUserAgentIgnoreCase(\"WebKit\")&&!goog.labs.userAgent.engine.isEdge()},goog.labs.userAgent.engine.isGecko=function(){return goog.labs.userAgent.util.matchUserAgent(\"Gecko\")&&!goog.labs.userAgent.engine.isWebKit()&&!goog.labs.userAgent.engine.isTrident()&&!goog.labs.userAgent.engine.isEdge()},goog.labs.userAgent.engine.getVersion=function(){if(t=goog.labs.userAgent.util.getUserAgent()){var e,t=goog.labs.userAgent.util.extractVersionTuples(t),o=goog.labs.userAgent.engine.getEngineTuple_(t);if(o)return\"Gecko\"==o[0]?goog.labs.userAgent.engine.getVersionForKey_(t,\"Firefox\"):o[1];if((t=t[0])&&(e=t[2])&&(e=/Trident\\/([^\\s;]+)/.exec(e)))return e[1]}return\"\"},goog.labs.userAgent.engine.getEngineTuple_=function(e){if(!goog.labs.userAgent.engine.isEdge())return e[1];for(var t=0;t<e.length;t++){var o=e[t];if(\"Edge\"==o[0])return o}},goog.labs.userAgent.engine.isVersionOrHigher=function(e){return 0<=goog.string.compareVersions(goog.labs.userAgent.engine.getVersion(),e)},goog.labs.userAgent.engine.getVersionForKey_=function(e,t){var o=goog.array.find(e,function(e){return t==e[0]});return o&&o[1]||\"\"},goog.userAgent={},goog.userAgent.ASSUME_IE=!1,goog.userAgent.ASSUME_EDGE=!1,goog.userAgent.ASSUME_GECKO=!1,goog.userAgent.ASSUME_WEBKIT=!1,goog.userAgent.ASSUME_MOBILE_WEBKIT=!1,goog.userAgent.ASSUME_OPERA=!1,goog.userAgent.ASSUME_ANY_VERSION=!1,goog.userAgent.BROWSER_KNOWN_=goog.userAgent.ASSUME_IE||goog.userAgent.ASSUME_EDGE||goog.userAgent.ASSUME_GECKO||goog.userAgent.ASSUME_MOBILE_WEBKIT||goog.userAgent.ASSUME_WEBKIT||goog.userAgent.ASSUME_OPERA,goog.userAgent.getUserAgentString=function(){return goog.labs.userAgent.util.getUserAgent()},goog.userAgent.getNavigator=function(){return goog.global.navigator||null},goog.userAgent.OPERA=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_OPERA:goog.labs.userAgent.browser.isOpera(),goog.userAgent.IE=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_IE:goog.labs.userAgent.browser.isIE(),goog.userAgent.EDGE=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_EDGE:goog.labs.userAgent.engine.isEdge(),goog.userAgent.EDGE_OR_IE=goog.userAgent.EDGE||goog.userAgent.IE,goog.userAgent.GECKO=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_GECKO:goog.labs.userAgent.engine.isGecko(),goog.userAgent.WEBKIT=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_WEBKIT||goog.userAgent.ASSUME_MOBILE_WEBKIT:goog.labs.userAgent.engine.isWebKit(),goog.userAgent.isMobile_=function(){return goog.userAgent.WEBKIT&&goog.labs.userAgent.util.matchUserAgent(\"Mobile\")},goog.userAgent.MOBILE=goog.userAgent.ASSUME_MOBILE_WEBKIT||goog.userAgent.isMobile_(),goog.userAgent.SAFARI=goog.userAgent.WEBKIT,goog.userAgent.determinePlatform_=function(){var e=goog.userAgent.getNavigator();return e&&e.platform||\"\"},goog.userAgent.PLATFORM=goog.userAgent.determinePlatform_(),goog.userAgent.ASSUME_MAC=!1,goog.userAgent.ASSUME_WINDOWS=!1,goog.userAgent.ASSUME_LINUX=!1,goog.userAgent.ASSUME_X11=!1,goog.userAgent.ASSUME_ANDROID=!1,goog.userAgent.ASSUME_IPHONE=!1,goog.userAgent.ASSUME_IPAD=!1,goog.userAgent.PLATFORM_KNOWN_=goog.userAgent.ASSUME_MAC||goog.userAgent.ASSUME_WINDOWS||goog.userAgent.ASSUME_LINUX||goog.userAgent.ASSUME_X11||goog.userAgent.ASSUME_ANDROID||goog.userAgent.ASSUME_IPHONE||goog.userAgent.ASSUME_IPAD,goog.userAgent.MAC=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_MAC:goog.labs.userAgent.platform.isMacintosh(),goog.userAgent.WINDOWS=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_WINDOWS:goog.labs.userAgent.platform.isWindows(),goog.userAgent.isLegacyLinux_=function(){return goog.labs.userAgent.platform.isLinux()||goog.labs.userAgent.platform.isChromeOS()},goog.userAgent.LINUX=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_LINUX:goog.userAgent.isLegacyLinux_(),goog.userAgent.isX11_=function(){var e=goog.userAgent.getNavigator();return!!e&&goog.string.contains(e.appVersion||\"\",\"X11\")},goog.userAgent.X11=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_X11:goog.userAgent.isX11_(),goog.userAgent.ANDROID=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_ANDROID:goog.labs.userAgent.platform.isAndroid(),goog.userAgent.IPHONE=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_IPHONE:goog.labs.userAgent.platform.isIphone(),goog.userAgent.IPAD=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_IPAD:goog.labs.userAgent.platform.isIpad(),goog.userAgent.operaVersion_=function(){var e=goog.global.opera.version;try{return e()}catch(t){return e}},goog.userAgent.determineVersion_=function(){if(goog.userAgent.OPERA&&goog.global.opera)return goog.userAgent.operaVersion_();var e=\"\",t=goog.userAgent.getVersionRegexResult_();return t&&(e=t?t[1]:\"\"),goog.userAgent.IE&&(t=goog.userAgent.getDocumentMode_())>parseFloat(e)?String(t):e},goog.userAgent.getVersionRegexResult_=function(){var e=goog.userAgent.getUserAgentString();return goog.userAgent.GECKO?/rv\\:([^\\);]+)(\\)|;)/.exec(e):goog.userAgent.EDGE?/Edge\\/([\\d\\.]+)/.exec(e):goog.userAgent.IE?/\\b(?:MSIE|rv)[: ]([^\\);]+)(\\)|;)/.exec(e):goog.userAgent.WEBKIT?/WebKit\\/(\\S+)/.exec(e):void 0},goog.userAgent.getDocumentMode_=function(){var e=goog.global.document;return e?e.documentMode:void 0},goog.userAgent.VERSION=goog.userAgent.determineVersion_(),goog.userAgent.compare=function(e,t){return goog.string.compareVersions(e,t)},goog.userAgent.isVersionOrHigherCache_={},goog.userAgent.isVersionOrHigher=function(e){return goog.userAgent.ASSUME_ANY_VERSION||goog.userAgent.isVersionOrHigherCache_[e]||(goog.userAgent.isVersionOrHigherCache_[e]=0<=goog.string.compareVersions(goog.userAgent.VERSION,e))},goog.userAgent.isVersion=goog.userAgent.isVersionOrHigher,goog.userAgent.isDocumentModeOrHigher=function(e){return Number(goog.userAgent.DOCUMENT_MODE)>=e},goog.userAgent.isDocumentMode=goog.userAgent.isDocumentModeOrHigher,goog.userAgent.DOCUMENT_MODE=function(){var e=goog.global.document,t=goog.userAgent.getDocumentMode_();return e&&goog.userAgent.IE?t||(\"CSS1Compat\"==e.compatMode?parseInt(goog.userAgent.VERSION,10):5):void 0}(),goog.userAgent.product={},goog.userAgent.product.ASSUME_FIREFOX=!1,goog.userAgent.product.ASSUME_IPHONE=!1,goog.userAgent.product.ASSUME_IPAD=!1,goog.userAgent.product.ASSUME_ANDROID=!1,goog.userAgent.product.ASSUME_CHROME=!1,goog.userAgent.product.ASSUME_SAFARI=!1,goog.userAgent.product.PRODUCT_KNOWN_=goog.userAgent.ASSUME_IE||goog.userAgent.ASSUME_EDGE||goog.userAgent.ASSUME_OPERA||goog.userAgent.product.ASSUME_FIREFOX||goog.userAgent.product.ASSUME_IPHONE||goog.userAgent.product.ASSUME_IPAD||goog.userAgent.product.ASSUME_ANDROID||goog.userAgent.product.ASSUME_CHROME||goog.userAgent.product.ASSUME_SAFARI,goog.userAgent.product.OPERA=goog.userAgent.OPERA,goog.userAgent.product.IE=goog.userAgent.IE,goog.userAgent.product.EDGE=goog.userAgent.EDGE,goog.userAgent.product.FIREFOX=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_FIREFOX:goog.labs.userAgent.browser.isFirefox(),goog.userAgent.product.isIphoneOrIpod_=function(){return goog.labs.userAgent.platform.isIphone()||goog.labs.userAgent.platform.isIpod()},goog.userAgent.product.IPHONE=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_IPHONE:goog.userAgent.product.isIphoneOrIpod_(),goog.userAgent.product.IPAD=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_IPAD:goog.labs.userAgent.platform.isIpad(),goog.userAgent.product.ANDROID=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_ANDROID:goog.labs.userAgent.browser.isAndroidBrowser(),goog.userAgent.product.CHROME=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_CHROME:goog.labs.userAgent.browser.isChrome(),goog.userAgent.product.isSafariDesktop_=function(){return goog.labs.userAgent.browser.isSafari()&&!goog.labs.userAgent.platform.isIos()},goog.userAgent.product.SAFARI=goog.userAgent.product.PRODUCT_KNOWN_?goog.userAgent.product.ASSUME_SAFARI:goog.userAgent.product.isSafariDesktop_(),goog.crypt.base64={},goog.crypt.base64.byteToCharMap_=null,goog.crypt.base64.charToByteMap_=null,goog.crypt.base64.byteToCharMapWebSafe_=null,goog.crypt.base64.ENCODED_VALS_BASE=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\",goog.crypt.base64.ENCODED_VALS=goog.crypt.base64.ENCODED_VALS_BASE+\"+/=\",goog.crypt.base64.ENCODED_VALS_WEBSAFE=goog.crypt.base64.ENCODED_VALS_BASE+\"-_.\",goog.crypt.base64.ASSUME_NATIVE_SUPPORT_=goog.userAgent.GECKO||goog.userAgent.WEBKIT&&!goog.userAgent.product.SAFARI||goog.userAgent.OPERA,goog.crypt.base64.HAS_NATIVE_ENCODE_=goog.crypt.base64.ASSUME_NATIVE_SUPPORT_||\"function\"==typeof goog.global.btoa,goog.crypt.base64.HAS_NATIVE_DECODE_=goog.crypt.base64.ASSUME_NATIVE_SUPPORT_||!goog.userAgent.product.SAFARI&&!goog.userAgent.IE&&\"function\"==typeof goog.global.atob,goog.crypt.base64.encodeByteArray=function(e,t){goog.asserts.assert(goog.isArrayLike(e),\"encodeByteArray takes an array as a parameter\"),goog.crypt.base64.init_();for(var o=t?goog.crypt.base64.byteToCharMapWebSafe_:goog.crypt.base64.byteToCharMap_,r=[],i=0;i<e.length;i+=3){var s=e[i],n=i+1<e.length,a=n?e[i+1]:0,p=i+2<e.length,g=s>>2,l=(s=(3&s)<<4|a>>4,a=(15&a)<<2|(l=p?e[i+2]:0)>>6,63&l);p||(l=64,n||(a=64)),r.push(o[g],o[s],o[a],o[l])}return r.join(\"\")},goog.crypt.base64.encodeString=function(e,t){return goog.crypt.base64.HAS_NATIVE_ENCODE_&&!t?goog.global.btoa(e):goog.crypt.base64.encodeByteArray(goog.crypt.stringToByteArray(e),t)},goog.crypt.base64.decodeString=function(e,t){if(goog.crypt.base64.HAS_NATIVE_DECODE_&&!t)return goog.global.atob(e);var o=\"\";return goog.crypt.base64.decodeStringInternal_(e,function(e){o+=String.fromCharCode(e)}),o},goog.crypt.base64.decodeStringToByteArray=function(e,t){var o=[];return goog.crypt.base64.decodeStringInternal_(e,function(e){o.push(e)}),o},goog.crypt.base64.decodeStringToUint8Array=function(e){goog.asserts.assert(!goog.userAgent.IE||goog.userAgent.isVersionOrHigher(\"10\"),\"Browser does not support typed arrays\");var t=new Uint8Array(Math.ceil(3*e.length/4)),o=0;return goog.crypt.base64.decodeStringInternal_(e,function(e){t[o++]=e}),t.subarray(0,o)},goog.crypt.base64.decodeStringInternal_=function(e,t){function o(t){for(;r<e.length;){var o=e.charAt(r++),i=goog.crypt.base64.charToByteMap_[o];if(null!=i)return i;if(!goog.string.isEmptyOrWhitespace(o))throw Error(\"Unknown base64 encoding at char: \"+o)}return t}goog.crypt.base64.init_();for(var r=0;;){var i=o(-1),s=o(0),n=o(64),a=o(64);if(64===a&&-1===i)break;t(i<<2|s>>4),64!=n&&(t(s<<4&240|n>>2),64!=a&&t(n<<6&192|a))}},goog.crypt.base64.init_=function(){if(!goog.crypt.base64.byteToCharMap_){goog.crypt.base64.byteToCharMap_={},goog.crypt.base64.charToByteMap_={},goog.crypt.base64.byteToCharMapWebSafe_={};for(var e=0;e<goog.crypt.base64.ENCODED_VALS.length;e++)goog.crypt.base64.byteToCharMap_[e]=goog.crypt.base64.ENCODED_VALS.charAt(e),goog.crypt.base64.charToByteMap_[goog.crypt.base64.byteToCharMap_[e]]=e,goog.crypt.base64.byteToCharMapWebSafe_[e]=goog.crypt.base64.ENCODED_VALS_WEBSAFE.charAt(e),e>=goog.crypt.base64.ENCODED_VALS_BASE.length&&(goog.crypt.base64.charToByteMap_[goog.crypt.base64.ENCODED_VALS_WEBSAFE.charAt(e)]=e)}};var jspb={Map:function(e,t){this.arr_=e,this.valueCtor_=t,this.map_={},this.arrClean=!0,0<this.arr_.length&&this.loadFromArray_()}};jspb.Map.prototype.loadFromArray_=function(){for(var e=0;e<this.arr_.length;e++){var t=this.arr_[e],o=t[0];this.map_[o.toString()]=new jspb.Map.Entry_(o,t[1])}this.arrClean=!0},jspb.Map.prototype.toArray=function(){if(this.arrClean){if(this.valueCtor_){var e,t=this.map_;for(e in t)if(Object.prototype.hasOwnProperty.call(t,e)){var o=t[e].valueWrapper;o&&o.toArray()}}}else{for(this.arr_.length=0,(t=this.stringKeys_()).sort(),e=0;e<t.length;e++){var r=this.map_[t[e]];(o=r.valueWrapper)&&o.toArray(),this.arr_.push([r.key,r.value])}this.arrClean=!0}return this.arr_},jspb.Map.prototype.toObject=function(e,t){for(var o=this.toArray(),r=[],i=0;i<o.length;i++){var s=this.map_[o[i][0].toString()];this.wrapEntry_(s);var n=s.valueWrapper;n?(goog.asserts.assert(t),r.push([s.key,t(e,n)])):r.push([s.key,s.value])}return r},jspb.Map.fromObject=function(e,t,o){t=new jspb.Map([],t);for(var r=0;r<e.length;r++){var i=e[r][0],s=o(e[r][1]);t.set(i,s)}return t},jspb.Map.ArrayIteratorIterable_=function(e){this.idx_=0,this.arr_=e},jspb.Map.ArrayIteratorIterable_.prototype.next=function(){return this.idx_<this.arr_.length?{done:!1,value:this.arr_[this.idx_++]}:{done:!0,value:void 0}},$jscomp.initSymbol(),\"undefined\"!=typeof Symbol&&($jscomp.initSymbol(),$jscomp.initSymbolIterator(),jspb.Map.ArrayIteratorIterable_.prototype[Symbol.iterator]=function(){return this}),jspb.Map.prototype.getLength=function(){return this.stringKeys_().length},jspb.Map.prototype.clear=function(){this.map_={},this.arrClean=!1},jspb.Map.prototype.del=function(e){e=e.toString();var t=this.map_.hasOwnProperty(e);return delete this.map_[e],this.arrClean=!1,t},jspb.Map.prototype.getEntryList=function(){var e=[],t=this.stringKeys_();t.sort();for(var o=0;o<t.length;o++){var r=this.map_[t[o]];e.push([r.key,r.value])}return e},jspb.Map.prototype.entries=function(){var e=[],t=this.stringKeys_();t.sort();for(var o=0;o<t.length;o++){var r=this.map_[t[o]];e.push([r.key,this.wrapEntry_(r)])}return new jspb.Map.ArrayIteratorIterable_(e)},jspb.Map.prototype.keys=function(){var e=[],t=this.stringKeys_();t.sort();for(var o=0;o<t.length;o++)e.push(this.map_[t[o]].key);return new jspb.Map.ArrayIteratorIterable_(e)},jspb.Map.prototype.values=function(){var e=[],t=this.stringKeys_();t.sort();for(var o=0;o<t.length;o++)e.push(this.wrapEntry_(this.map_[t[o]]));return new jspb.Map.ArrayIteratorIterable_(e)},jspb.Map.prototype.forEach=function(e,t){var o=this.stringKeys_();o.sort();for(var r=0;r<o.length;r++){var i=this.map_[o[r]];e.call(t,this.wrapEntry_(i),i.key,this)}},jspb.Map.prototype.set=function(e,t){var o=new jspb.Map.Entry_(e);return this.valueCtor_?(o.valueWrapper=t,o.value=t.toArray()):o.value=t,this.map_[e.toString()]=o,this.arrClean=!1,this},jspb.Map.prototype.wrapEntry_=function(e){return this.valueCtor_?(e.valueWrapper||(e.valueWrapper=new this.valueCtor_(e.value)),e.valueWrapper):e.value},jspb.Map.prototype.get=function(e){if(e=this.map_[e.toString()])return this.wrapEntry_(e)},jspb.Map.prototype.has=function(e){return e.toString()in this.map_},jspb.Map.prototype.serializeBinary=function(e,t,o,r,i){var s=this.stringKeys_();s.sort();for(var n=0;n<s.length;n++){var a=this.map_[s[n]];t.beginSubMessage(e),o.call(t,1,a.key),this.valueCtor_?r.call(t,2,this.wrapEntry_(a),i):r.call(t,2,a.value),t.endSubMessage()}},jspb.Map.deserializeBinary=function(e,t,o,r,i){for(var s=void 0,n=void 0;t.nextField()&&!t.isEndGroup();){var a=t.getFieldNumber();1==a?s=o.call(t):2==a&&(e.valueCtor_?(n=new e.valueCtor_,r.call(t,n,i)):n=r.call(t))}goog.asserts.assert(void 0!=s),goog.asserts.assert(void 0!=n),e.set(s,n)},jspb.Map.prototype.stringKeys_=function(){var e,t=this.map_,o=[];for(e in t)Object.prototype.hasOwnProperty.call(t,e)&&o.push(e);return o},jspb.Map.Entry_=function(e,t){this.key=e,this.value=t,this.valueWrapper=void 0},jspb.ExtensionFieldInfo=function(e,t,o,r,i){this.fieldIndex=e,this.fieldName=t,this.ctor=o,this.toObjectFn=r,this.isRepeated=i},jspb.ExtensionFieldBinaryInfo=function(e,t,o,r,i,s){this.fieldInfo=e,this.binaryReaderFn=t,this.binaryWriterFn=o,this.binaryMessageSerializeFn=r,this.binaryMessageDeserializeFn=i,this.isPacked=s},jspb.ExtensionFieldInfo.prototype.isMessageType=function(){return!!this.ctor},jspb.Message=function(){},jspb.Message.GENERATE_TO_OBJECT=!0,jspb.Message.GENERATE_FROM_OBJECT=!goog.DISALLOW_TEST_ONLY_CODE,jspb.Message.GENERATE_TO_STRING=!0,jspb.Message.ASSUME_LOCAL_ARRAYS=!1,jspb.Message.MINIMIZE_MEMORY_ALLOCATIONS=COMPILED,jspb.Message.SUPPORTS_UINT8ARRAY_=\"function\"==typeof Uint8Array,jspb.Message.prototype.getJsPbMessageId=function(){return this.messageId_},jspb.Message.getIndex_=function(e,t){return t+e.arrayIndexOffset_},jspb.Message.initialize=function(e,t,o,r,i,s){if(e.wrappers_=jspb.Message.MINIMIZE_MEMORY_ALLOCATIONS?null:{},t||(t=o?[o]:[]),e.messageId_=o?String(o):void 0,e.arrayIndexOffset_=0===o?-1:0,e.array=t,jspb.Message.materializeExtensionObject_(e,r),e.convertedFloatingPointFields_={},i)for(t=0;t<i.length;t++)(o=i[t])<e.pivot_?(o=jspb.Message.getIndex_(e,o),e.array[o]=e.array[o]||(jspb.Message.MINIMIZE_MEMORY_ALLOCATIONS?jspb.Message.EMPTY_LIST_SENTINEL_:[])):e.extensionObject_[o]=e.extensionObject_[o]||(jspb.Message.MINIMIZE_MEMORY_ALLOCATIONS?jspb.Message.EMPTY_LIST_SENTINEL_:[]);s&&s.length&&goog.array.forEach(s,goog.partial(jspb.Message.computeOneofCase,e))},jspb.Message.EMPTY_LIST_SENTINEL_=goog.DEBUG&&Object.freeze?Object.freeze([]):[],jspb.Message.isArray_=function(e){return jspb.Message.ASSUME_LOCAL_ARRAYS?e instanceof Array:goog.isArray(e)},jspb.Message.materializeExtensionObject_=function(e,t){if(e.array.length){var o=e.array.length-1,r=e.array[o];if(r&&\"object\"==typeof r&&!jspb.Message.isArray_(r)&&!(jspb.Message.SUPPORTS_UINT8ARRAY_&&r instanceof Uint8Array))return e.pivot_=o-e.arrayIndexOffset_,void(e.extensionObject_=r)}-1<t?(e.pivot_=t,o=jspb.Message.getIndex_(e,t),e.extensionObject_=jspb.Message.MINIMIZE_MEMORY_ALLOCATIONS?null:e.array[o]={}):e.pivot_=Number.MAX_VALUE},jspb.Message.maybeInitEmptyExtensionObject_=function(e){var t=jspb.Message.getIndex_(e,e.pivot_);e.array[t]||(e.extensionObject_=e.array[t]={})},jspb.Message.toObjectList=function(e,t,o){for(var r=[],i=0;i<e.length;i++)r[i]=t.call(e[i],o,e[i]);return r},jspb.Message.toObjectExtension=function(e,t,o,r,i){for(var s in o){var n=o[s],a=r.call(e,n);if(goog.isDefAndNotNull(a)){for(var p in n.fieldName)if(n.fieldName.hasOwnProperty(p))break;t[p]=n.toObjectFn?n.isRepeated?jspb.Message.toObjectList(a,n.toObjectFn,i):n.toObjectFn(i,a):a}}},jspb.Message.serializeBinaryExtensions=function(e,t,o,r){for(var i in o){var s=o[i],n=s.fieldInfo;if(!s.binaryWriterFn)throw Error(\"Message extension present that was generated without binary serialization support\");var a=r.call(e,n);if(goog.isDefAndNotNull(a))if(n.isMessageType()){if(!s.binaryMessageSerializeFn)throw Error(\"Message extension present holding submessage without binary support enabled, and message is being serialized to binary format\");s.binaryWriterFn.call(t,n.fieldIndex,a,s.binaryMessageSerializeFn)}else s.binaryWriterFn.call(t,n.fieldIndex,a)}},jspb.Message.readBinaryExtension=function(e,t,o,r,i){var s=o[t.getFieldNumber()];if(s){if(o=s.fieldInfo,!s.binaryReaderFn)throw Error(\"Deserializing extension whose generated code does not support binary format\");var n;o.isMessageType()?(n=new o.ctor,s.binaryReaderFn.call(t,n,s.binaryMessageDeserializeFn)):n=s.binaryReaderFn.call(t),o.isRepeated&&!s.isPacked?(t=r.call(e,o))?t.push(n):i.call(e,o,[n]):i.call(e,o,n)}else t.skipField()},jspb.Message.getField=function(e,t){if(t<e.pivot_){var o=jspb.Message.getIndex_(e,t),r=e.array[o];return r===jspb.Message.EMPTY_LIST_SENTINEL_?e.array[o]=[]:r}return(r=e.extensionObject_[t])===jspb.Message.EMPTY_LIST_SENTINEL_?e.extensionObject_[t]=[]:r},jspb.Message.getOptionalFloatingPointField=function(e,t){var o=jspb.Message.getField(e,t);return null==o?o:+o},jspb.Message.getRepeatedFloatingPointField=function(e,t){var o=jspb.Message.getField(e,t);if(e.convertedFloatingPointFields_||(e.convertedFloatingPointFields_={}),!e.convertedFloatingPointFields_[t]){for(var r=0;r<o.length;r++)o[r]=+o[r];e.convertedFloatingPointFields_[t]=!0}return o},jspb.Message.bytesAsB64=function(e){return null==e||goog.isString(e)?e:jspb.Message.SUPPORTS_UINT8ARRAY_&&e instanceof Uint8Array?goog.crypt.base64.encodeByteArray(e):(goog.asserts.fail(\"Cannot coerce to b64 string: \"+goog.typeOf(e)),null)},jspb.Message.bytesAsU8=function(e){return null==e||e instanceof Uint8Array?e:goog.isString(e)?goog.crypt.base64.decodeStringToUint8Array(e):(goog.asserts.fail(\"Cannot coerce to Uint8Array: \"+goog.typeOf(e)),null)},jspb.Message.bytesListAsB64=function(e){return jspb.Message.assertConsistentTypes_(e),!e.length||goog.isString(e[0])?e:goog.array.map(e,jspb.Message.bytesAsB64)},jspb.Message.bytesListAsU8=function(e){return jspb.Message.assertConsistentTypes_(e),!e.length||e[0]instanceof Uint8Array?e:goog.array.map(e,jspb.Message.bytesAsU8)},jspb.Message.assertConsistentTypes_=function(e){if(goog.DEBUG&&e&&1<e.length){var t=goog.typeOf(e[0]);goog.array.forEach(e,function(e){goog.typeOf(e)!=t&&goog.asserts.fail(\"Inconsistent type in JSPB repeated field array. Got \"+goog.typeOf(e)+\" expected \"+t)})}},jspb.Message.getFieldWithDefault=function(e,t,o){return null==(e=jspb.Message.getField(e,t))?o:e},jspb.Message.getFieldProto3=jspb.Message.getFieldWithDefault,jspb.Message.getMapField=function(e,t,o,r){return e.wrappers_||(e.wrappers_={}),t in e.wrappers_?e.wrappers_[t]:o?void 0:((o=jspb.Message.getField(e,t))||(o=[],jspb.Message.setField(e,t,o)),e.wrappers_[t]=new jspb.Map(o,r))},jspb.Message.setField=function(e,t,o){t<e.pivot_?e.array[jspb.Message.getIndex_(e,t)]=o:e.extensionObject_[t]=o},jspb.Message.addToRepeatedField=function(e,t,o,r){e=jspb.Message.getField(e,t),void 0!=r?e.splice(r,0,o):e.push(o)},jspb.Message.setOneofField=function(e,t,o,r){(o=jspb.Message.computeOneofCase(e,o))&&o!==t&&void 0!==r&&(e.wrappers_&&o in e.wrappers_&&(e.wrappers_[o]=void 0),jspb.Message.setField(e,o,void 0)),jspb.Message.setField(e,t,r)},jspb.Message.computeOneofCase=function(e,t){var o,r;return goog.array.forEach(t,function(t){var i=jspb.Message.getField(e,t);goog.isDefAndNotNull(i)&&(o=t,r=i,jspb.Message.setField(e,t,void 0))}),o?(jspb.Message.setField(e,o,r),o):0},jspb.Message.getWrapperField=function(e,t,o,r){if(e.wrappers_||(e.wrappers_={}),!e.wrappers_[o]){var i=jspb.Message.getField(e,o);(r||i)&&(e.wrappers_[o]=new t(i))}return e.wrappers_[o]},jspb.Message.getRepeatedWrapperField=function(e,t,o){return jspb.Message.wrapRepeatedField_(e,t,o),(t=e.wrappers_[o])==jspb.Message.EMPTY_LIST_SENTINEL_&&(t=e.wrappers_[o]=[]),t},jspb.Message.wrapRepeatedField_=function(e,t,o){if(e.wrappers_||(e.wrappers_={}),!e.wrappers_[o]){for(var r=jspb.Message.getField(e,o),i=[],s=0;s<r.length;s++)i[s]=new t(r[s]);e.wrappers_[o]=i}},jspb.Message.setWrapperField=function(e,t,o){e.wrappers_||(e.wrappers_={});var r=o?o.toArray():o;e.wrappers_[t]=o,jspb.Message.setField(e,t,r)},jspb.Message.setOneofWrapperField=function(e,t,o,r){e.wrappers_||(e.wrappers_={});var i=r?r.toArray():r;e.wrappers_[t]=r,jspb.Message.setOneofField(e,t,o,i)},jspb.Message.setRepeatedWrapperField=function(e,t,o){e.wrappers_||(e.wrappers_={}),o=o||[];for(var r=[],i=0;i<o.length;i++)r[i]=o[i].toArray();e.wrappers_[t]=o,jspb.Message.setField(e,t,r)},jspb.Message.addToRepeatedWrapperField=function(e,t,o,r,i){jspb.Message.wrapRepeatedField_(e,r,t);var s=e.wrappers_[t];return s||(s=e.wrappers_[t]=[]),o=o||new r,e=jspb.Message.getField(e,t),void 0!=i?(s.splice(i,0,o),e.splice(i,0,o.toArray())):(s.push(o),e.push(o.toArray())),o},jspb.Message.toMap=function(e,t,o,r){for(var i={},s=0;s<e.length;s++)i[t.call(e[s])]=o?o.call(e[s],r,e[s]):e[s];return i},jspb.Message.prototype.syncMapFields_=function(){if(this.wrappers_)for(var e in this.wrappers_){var t=this.wrappers_[e];if(goog.isArray(t))for(var o=0;o<t.length;o++)t[o]&&t[o].toArray();else t&&t.toArray()}},jspb.Message.prototype.toArray=function(){return this.syncMapFields_(),this.array},jspb.Message.GENERATE_TO_STRING&&(jspb.Message.prototype.toString=function(){return this.syncMapFields_(),this.array.toString()}),jspb.Message.prototype.getExtension=function(e){if(this.extensionObject_){this.wrappers_||(this.wrappers_={});var t=e.fieldIndex;if(e.isRepeated){if(e.isMessageType())return this.wrappers_[t]||(this.wrappers_[t]=goog.array.map(this.extensionObject_[t]||[],function(t){return new e.ctor(t)})),this.wrappers_[t]}else if(e.isMessageType())return!this.wrappers_[t]&&this.extensionObject_[t]&&(this.wrappers_[t]=new e.ctor(this.extensionObject_[t])),this.wrappers_[t];return this.extensionObject_[t]}},jspb.Message.prototype.setExtension=function(e,t){this.wrappers_||(this.wrappers_={}),jspb.Message.maybeInitEmptyExtensionObject_(this);var o=e.fieldIndex;return e.isRepeated?(t=t||[],e.isMessageType()?(this.wrappers_[o]=t,this.extensionObject_[o]=goog.array.map(t,function(e){return e.toArray()})):this.extensionObject_[o]=t):e.isMessageType()?(this.wrappers_[o]=t,this.extensionObject_[o]=t?t.toArray():t):this.extensionObject_[o]=t,this},jspb.Message.difference=function(e,t){if(!(e instanceof t.constructor))throw Error(\"Messages have different types.\");var o=e.toArray(),r=t.toArray(),i=[],s=0,n=o.length>r.length?o.length:r.length;for(e.getJsPbMessageId()&&(i[0]=e.getJsPbMessageId(),s=1);s<n;s++)jspb.Message.compareFields(o[s],r[s])||(i[s]=r[s]);return new e.constructor(i)},jspb.Message.equals=function(e,t){return e==t||!(!e||!t)&&e instanceof t.constructor&&jspb.Message.compareFields(e.toArray(),t.toArray())},jspb.Message.compareExtensions=function(e,t){e=e||{},t=t||{};var o,r={};for(o in e)r[o]=0;for(o in t)r[o]=0;for(o in r)if(!jspb.Message.compareFields(e[o],t[o]))return!1;return!0},jspb.Message.compareFields=function(e,t){if(e==t)return!0;if(!goog.isObject(e)||!goog.isObject(t)||e.constructor!=t.constructor)return!1;if(jspb.Message.SUPPORTS_UINT8ARRAY_&&e.constructor===Uint8Array){if(e.length!=t.length)return!1;for(var o=0;o<e.length;o++)if(e[o]!=t[o])return!1;return!0}if(e.constructor===Array){var r=void 0,i=void 0,s=Math.max(e.length,t.length);for(o=0;o<s;o++){var n=e[o],a=t[o];if(n&&n.constructor==Object&&(goog.asserts.assert(void 0===r),goog.asserts.assert(o===e.length-1),r=n,n=void 0),a&&a.constructor==Object&&(goog.asserts.assert(void 0===i),goog.asserts.assert(o===t.length-1),i=a,a=void 0),!jspb.Message.compareFields(n,a))return!1}return!r&&!i||(r=r||{},i=i||{},jspb.Message.compareExtensions(r,i))}if(e.constructor===Object)return jspb.Message.compareExtensions(e,t);throw Error(\"Invalid type in JSPB array\")},jspb.Message.prototype.cloneMessage=function(){return jspb.Message.cloneMessage(this)},jspb.Message.prototype.clone=function(){return jspb.Message.cloneMessage(this)},jspb.Message.clone=function(e){return jspb.Message.cloneMessage(e)},jspb.Message.cloneMessage=function(e){return new e.constructor(jspb.Message.clone_(e.toArray()))},jspb.Message.copyInto=function(e,t){goog.asserts.assertInstanceof(e,jspb.Message),goog.asserts.assertInstanceof(t,jspb.Message),goog.asserts.assert(e.constructor==t.constructor,\"Copy source and target message should have the same type.\");for(var o=jspb.Message.clone(e),r=t.toArray(),i=o.toArray(),s=r.length=0;s<i.length;s++)r[s]=i[s];t.wrappers_=o.wrappers_,t.extensionObject_=o.extensionObject_},jspb.Message.clone_=function(e){var t;if(goog.isArray(e)){for(var o=Array(e.length),r=0;r<e.length;r++)null!=(t=e[r])&&(o[r]=\"object\"==typeof t?jspb.Message.clone_(t):t);return o}if(jspb.Message.SUPPORTS_UINT8ARRAY_&&e instanceof Uint8Array)return new Uint8Array(e);for(r in o={},e)null!=(t=e[r])&&(o[r]=\"object\"==typeof t?jspb.Message.clone_(t):t);return o},jspb.Message.registerMessageType=function(e,t){jspb.Message.registry_[e]=t,t.messageId=e},jspb.Message.registry_={},jspb.Message.messageSetExtensions={},jspb.Message.messageSetExtensionsBinary={},jspb.arith={},jspb.arith.UInt64=function(e,t){this.lo=e,this.hi=t},jspb.arith.UInt64.prototype.cmp=function(e){return this.hi<e.hi||this.hi==e.hi&&this.lo<e.lo?-1:this.hi==e.hi&&this.lo==e.lo?0:1},jspb.arith.UInt64.prototype.rightShift=function(){return new jspb.arith.UInt64((this.lo>>>1|(1&this.hi)<<31)>>>0,this.hi>>>1>>>0)},jspb.arith.UInt64.prototype.leftShift=function(){return new jspb.arith.UInt64(this.lo<<1>>>0,(this.hi<<1|this.lo>>>31)>>>0)},jspb.arith.UInt64.prototype.msb=function(){return!!(2147483648&this.hi)},jspb.arith.UInt64.prototype.lsb=function(){return!!(1&this.lo)},jspb.arith.UInt64.prototype.zero=function(){return 0==this.lo&&0==this.hi},jspb.arith.UInt64.prototype.add=function(e){return new jspb.arith.UInt64((this.lo+e.lo&4294967295)>>>0>>>0,((this.hi+e.hi&4294967295)>>>0)+(4294967296<=this.lo+e.lo?1:0)>>>0)},jspb.arith.UInt64.prototype.sub=function(e){return new jspb.arith.UInt64((this.lo-e.lo&4294967295)>>>0>>>0,((this.hi-e.hi&4294967295)>>>0)-(0>this.lo-e.lo?1:0)>>>0)},jspb.arith.UInt64.mul32x32=function(e,t){for(var o=e>>>16,r=65535&t,i=t>>>16,s=(n=65535&e)*r+65536*(n*i&65535)+65536*(o*r&65535),n=o*i+(n*i>>>16)+(o*r>>>16);4294967296<=s;)s-=4294967296,n+=1;return new jspb.arith.UInt64(s>>>0,n>>>0)},jspb.arith.UInt64.prototype.mul=function(e){var t=jspb.arith.UInt64.mul32x32(this.lo,e);return(e=jspb.arith.UInt64.mul32x32(this.hi,e)).hi=e.lo,e.lo=0,t.add(e)},jspb.arith.UInt64.prototype.div=function(e){if(0==e)return[];var t=new jspb.arith.UInt64(0,0),o=new jspb.arith.UInt64(this.lo,this.hi);e=new jspb.arith.UInt64(e,0);for(var r=new jspb.arith.UInt64(1,0);!e.msb();)e=e.leftShift(),r=r.leftShift();for(;!r.zero();)0>=e.cmp(o)&&(t=t.add(r),o=o.sub(e)),e=e.rightShift(),r=r.rightShift();return[t,o]},jspb.arith.UInt64.prototype.toString=function(){for(var e=\"\",t=this;!t.zero();){var o=(t=t.div(10))[0];e=t[1].lo+e,t=o}return\"\"==e&&(e=\"0\"),e},jspb.arith.UInt64.fromString=function(e){for(var t=new jspb.arith.UInt64(0,0),o=new jspb.arith.UInt64(0,0),r=0;r<e.length;r++){if(\"0\">e[r]||\"9\"<e[r])return null;var i=parseInt(e[r],10);o.lo=i,t=t.mul(10).add(o)}return t},jspb.arith.UInt64.prototype.clone=function(){return new jspb.arith.UInt64(this.lo,this.hi)},jspb.arith.Int64=function(e,t){this.lo=e,this.hi=t},jspb.arith.Int64.prototype.add=function(e){return new jspb.arith.Int64((this.lo+e.lo&4294967295)>>>0>>>0,((this.hi+e.hi&4294967295)>>>0)+(4294967296<=this.lo+e.lo?1:0)>>>0)},jspb.arith.Int64.prototype.sub=function(e){return new jspb.arith.Int64((this.lo-e.lo&4294967295)>>>0>>>0,((this.hi-e.hi&4294967295)>>>0)-(0>this.lo-e.lo?1:0)>>>0)},jspb.arith.Int64.prototype.clone=function(){return new jspb.arith.Int64(this.lo,this.hi)},jspb.arith.Int64.prototype.toString=function(){var e=0!=(2147483648&this.hi),t=new jspb.arith.UInt64(this.lo,this.hi);return e&&(t=new jspb.arith.UInt64(0,0).sub(t)),(e?\"-\":\"\")+t.toString()},jspb.arith.Int64.fromString=function(e){var t=0<e.length&&\"-\"==e[0];return t&&(e=e.substring(1)),null===(e=jspb.arith.UInt64.fromString(e))?null:(t&&(e=new jspb.arith.UInt64(0,0).sub(e)),new jspb.arith.Int64(e.lo,e.hi))},jspb.BinaryConstants={},jspb.ConstBinaryMessage=function(){},jspb.BinaryMessage=function(){},jspb.BinaryConstants.FieldType={INVALID:-1,DOUBLE:1,FLOAT:2,INT64:3,UINT64:4,INT32:5,FIXED64:6,FIXED32:7,BOOL:8,STRING:9,GROUP:10,MESSAGE:11,BYTES:12,UINT32:13,ENUM:14,SFIXED32:15,SFIXED64:16,SINT32:17,SINT64:18,FHASH64:30,VHASH64:31},jspb.BinaryConstants.WireType={INVALID:-1,VARINT:0,FIXED64:1,DELIMITED:2,START_GROUP:3,END_GROUP:4,FIXED32:5},jspb.BinaryConstants.FieldTypeToWireType=function(e){var t=jspb.BinaryConstants.FieldType,o=jspb.BinaryConstants.WireType;switch(e){case t.INT32:case t.INT64:case t.UINT32:case t.UINT64:case t.SINT32:case t.SINT64:case t.BOOL:case t.ENUM:case t.VHASH64:return o.VARINT;case t.DOUBLE:case t.FIXED64:case t.SFIXED64:case t.FHASH64:return o.FIXED64;case t.STRING:case t.MESSAGE:case t.BYTES:return o.DELIMITED;case t.FLOAT:case t.FIXED32:case t.SFIXED32:return o.FIXED32;default:return o.INVALID}},jspb.BinaryConstants.INVALID_FIELD_NUMBER=-1,jspb.BinaryConstants.FLOAT32_EPS=1.401298464324817e-45,jspb.BinaryConstants.FLOAT32_MIN=1.1754943508222875e-38,jspb.BinaryConstants.FLOAT32_MAX=3.4028234663852886e38,jspb.BinaryConstants.FLOAT64_EPS=5e-324,jspb.BinaryConstants.FLOAT64_MIN=2.2250738585072014e-308,jspb.BinaryConstants.FLOAT64_MAX=1.7976931348623157e308,jspb.BinaryConstants.TWO_TO_20=1048576,jspb.BinaryConstants.TWO_TO_23=8388608,jspb.BinaryConstants.TWO_TO_31=2147483648,jspb.BinaryConstants.TWO_TO_32=4294967296,jspb.BinaryConstants.TWO_TO_52=4503599627370496,jspb.BinaryConstants.TWO_TO_63=0x8000000000000000,jspb.BinaryConstants.TWO_TO_64=0x10000000000000000,jspb.BinaryConstants.ZERO_HASH=\"\\0\\0\\0\\0\\0\\0\\0\\0\",jspb.utils={},jspb.utils.split64Low=0,jspb.utils.split64High=0,jspb.utils.splitUint64=function(e){var t=e>>>0;e=Math.floor((e-t)/jspb.BinaryConstants.TWO_TO_32)>>>0,jspb.utils.split64Low=t,jspb.utils.split64High=e},jspb.utils.splitInt64=function(e){var t=0>e,o=(e=Math.abs(e))>>>0;e=Math.floor((e-o)/jspb.BinaryConstants.TWO_TO_32),e>>>=0,t&&(e=~e>>>0,4294967295<(o=1+(~o>>>0))&&(o=0,4294967295<++e&&(e=0))),jspb.utils.split64Low=o,jspb.utils.split64High=e},jspb.utils.splitZigzag64=function(e){var t=0>e;e=2*Math.abs(e),jspb.utils.splitUint64(e),e=jspb.utils.split64Low;var o=jspb.utils.split64High;t&&(0==e?0==o?o=e=4294967295:(o--,e=4294967295):e--),jspb.utils.split64Low=e,jspb.utils.split64High=o},jspb.utils.splitFloat32=function(e){var t,o=0>e?1:0;0===(e=o?-e:e)?0<1/e?(jspb.utils.split64High=0,jspb.utils.split64Low=0):(jspb.utils.split64High=0,jspb.utils.split64Low=2147483648):isNaN(e)?(jspb.utils.split64High=0,jspb.utils.split64Low=2147483647):e>jspb.BinaryConstants.FLOAT32_MAX?(jspb.utils.split64High=0,jspb.utils.split64Low=(o<<31|2139095040)>>>0):e<jspb.BinaryConstants.FLOAT32_MIN?(e=Math.round(e/Math.pow(2,-149)),jspb.utils.split64High=0,jspb.utils.split64Low=(o<<31|e)>>>0):(t=Math.floor(Math.log(e)/Math.LN2),e*=Math.pow(2,-t),e=8388607&Math.round(e*jspb.BinaryConstants.TWO_TO_23),jspb.utils.split64High=0,jspb.utils.split64Low=(o<<31|t+127<<23|e)>>>0)},jspb.utils.splitFloat64=function(e){var t=0>e?1:0;if(0===(e=t?-e:e))jspb.utils.split64High=0<1/e?0:2147483648,jspb.utils.split64Low=0;else if(isNaN(e))jspb.utils.split64High=2147483647,jspb.utils.split64Low=4294967295;else if(e>jspb.BinaryConstants.FLOAT64_MAX)jspb.utils.split64High=(t<<31|2146435072)>>>0,jspb.utils.split64Low=0;else if(e<jspb.BinaryConstants.FLOAT64_MIN){var o=e/Math.pow(2,-1074);e=o/jspb.BinaryConstants.TWO_TO_32,jspb.utils.split64High=(t<<31|e)>>>0,jspb.utils.split64Low=o>>>0}else{var r=Math.floor(Math.log(e)/Math.LN2);1024==r&&(r=1023),e=(o=e*Math.pow(2,-r))*jspb.BinaryConstants.TWO_TO_20&1048575,o=o*jspb.BinaryConstants.TWO_TO_52>>>0,jspb.utils.split64High=(t<<31|r+1023<<20|e)>>>0,jspb.utils.split64Low=o}},jspb.utils.splitHash64=function(e){var t=e.charCodeAt(0),o=e.charCodeAt(1),r=e.charCodeAt(2),i=e.charCodeAt(3),s=e.charCodeAt(4),n=e.charCodeAt(5),a=e.charCodeAt(6);e=e.charCodeAt(7),jspb.utils.split64Low=t+(o<<8)+(r<<16)+(i<<24)>>>0,jspb.utils.split64High=s+(n<<8)+(a<<16)+(e<<24)>>>0},jspb.utils.joinUint64=function(e,t){return t*jspb.BinaryConstants.TWO_TO_32+e},jspb.utils.joinInt64=function(e,t){var o=2147483648&t;o&&(t=~t>>>0,0==(e=1+~e>>>0)&&(t=t+1>>>0));var r=jspb.utils.joinUint64(e,t);return o?-r:r},jspb.utils.joinZigzag64=function(e,t){var o=1&e;e=(e>>>1|t<<31)>>>0,t>>>=1,o&&(0==(e=e+1>>>0)&&(t=t+1>>>0));var r=jspb.utils.joinUint64(e,t);return o?-r:r},jspb.utils.joinFloat32=function(e,t){var o=2*(e>>31)+1,r=e>>>23&255,i=8388607&e;return 255==r?i?NaN:1/0*o:0==r?o*Math.pow(2,-149)*i:o*Math.pow(2,r-150)*(i+Math.pow(2,23))},jspb.utils.joinFloat64=function(e,t){var o=2*(t>>31)+1,r=t>>>20&2047,i=jspb.BinaryConstants.TWO_TO_32*(1048575&t)+e;return 2047==r?i?NaN:1/0*o:0==r?o*Math.pow(2,-1074)*i:o*Math.pow(2,r-1075)*(i+jspb.BinaryConstants.TWO_TO_52)},jspb.utils.joinHash64=function(e,t){return String.fromCharCode(e>>>0&255,e>>>8&255,e>>>16&255,e>>>24&255,t>>>0&255,t>>>8&255,t>>>16&255,t>>>24&255)},jspb.utils.DIGITS=\"0123456789abcdef\".split(\"\"),jspb.utils.joinUnsignedDecimalString=function(e,t){function o(e){for(var t=1e7,o=0;7>o;o++){var r=e/(t=t/10)%10>>>0;(0!=r||a)&&(a=!0,p+=n[r])}}if(2097151>=t)return\"\"+(jspb.BinaryConstants.TWO_TO_32*t+e);var r=(16777215&e)+6777216*(i=(e>>>24|t<<8)>>>0&16777215)+6710656*(s=t>>16&65535),i=i+8147497*s,s=2*s;1e7<=r&&(i+=Math.floor(r/1e7),r%=1e7),1e7<=i&&(s+=Math.floor(i/1e7),i%=1e7);var n=jspb.utils.DIGITS,a=!1,p=\"\";return(s||a)&&o(s),(i||a)&&o(i),(r||a)&&o(r),p},jspb.utils.joinSignedDecimalString=function(e,t){var o=2147483648&t;o&&(t=~t+(0==(e=1+~e>>>0)?1:0)>>>0);var r=jspb.utils.joinUnsignedDecimalString(e,t);return o?\"-\"+r:r},jspb.utils.hash64ToDecimalString=function(e,t){jspb.utils.splitHash64(e);var o=jspb.utils.split64Low,r=jspb.utils.split64High;return t?jspb.utils.joinSignedDecimalString(o,r):jspb.utils.joinUnsignedDecimalString(o,r)},jspb.utils.hash64ArrayToDecimalStrings=function(e,t){for(var o=Array(e.length),r=0;r<e.length;r++)o[r]=jspb.utils.hash64ToDecimalString(e[r],t);return o},jspb.utils.decimalStringToHash64=function(e){function t(e,t){for(var o=0;8>o&&(1!==e||0<t);o++){var i=e*r[o]+t;r[o]=255&i,t=i>>>8}}goog.asserts.assert(0<e.length);var o=!1;\"-\"===e[0]&&(o=!0,e=e.slice(1));for(var r=[0,0,0,0,0,0,0,0],i=0;i<e.length;i++)t(10,jspb.utils.DIGITS.indexOf(e[i]));return o&&(function(){for(var e=0;8>e;e++)r[e]=255&~r[e]}(),t(1,1)),goog.crypt.byteArrayToString(r)},jspb.utils.splitDecimalString=function(e){jspb.utils.splitHash64(jspb.utils.decimalStringToHash64(e))},jspb.utils.hash64ToHexString=function(e){var t=Array(18);t[0]=\"0\",t[1]=\"x\";for(var o=0;8>o;o++){var r=e.charCodeAt(7-o);t[2*o+2]=jspb.utils.DIGITS[r>>4],t[2*o+3]=jspb.utils.DIGITS[15&r]}return t.join(\"\")},jspb.utils.hexStringToHash64=function(e){e=e.toLowerCase(),goog.asserts.assert(18==e.length),goog.asserts.assert(\"0\"==e[0]),goog.asserts.assert(\"x\"==e[1]);for(var t=\"\",o=0;8>o;o++){var r=jspb.utils.DIGITS.indexOf(e[2*o+2]),i=jspb.utils.DIGITS.indexOf(e[2*o+3]);t=String.fromCharCode(16*r+i)+t}return t},jspb.utils.hash64ToNumber=function(e,t){jspb.utils.splitHash64(e);var o=jspb.utils.split64Low,r=jspb.utils.split64High;return t?jspb.utils.joinInt64(o,r):jspb.utils.joinUint64(o,r)},jspb.utils.numberToHash64=function(e){return jspb.utils.splitInt64(e),jspb.utils.joinHash64(jspb.utils.split64Low,jspb.utils.split64High)},jspb.utils.countVarints=function(e,t,o){for(var r=0,i=t;i<o;i++)r+=e[i]>>7;return o-t-r},jspb.utils.countVarintFields=function(e,t,o,r){var i=0;if(128>(r=8*r+jspb.BinaryConstants.WireType.VARINT))for(;t<o&&e[t++]==r;)for(i++;;){var s=e[t++];if(0==(128&s))break}else for(;t<o;){for(s=r;128<s;){if(e[t]!=(127&s|128))return i;t++,s>>=7}if(e[t++]!=s)break;for(i++;0!=(128&(s=e[t++])););}return i},jspb.utils.countFixedFields_=function(e,t,o,r,i){var s=0;if(128>r)for(;t<o&&e[t++]==r;)s++,t+=i;else for(;t<o;){for(var n=r;128<n;){if(e[t++]!=(127&n|128))return s;n>>=7}if(e[t++]!=n)break;s++,t+=i}return s},jspb.utils.countFixed32Fields=function(e,t,o,r){return jspb.utils.countFixedFields_(e,t,o,8*r+jspb.BinaryConstants.WireType.FIXED32,4)},jspb.utils.countFixed64Fields=function(e,t,o,r){return jspb.utils.countFixedFields_(e,t,o,8*r+jspb.BinaryConstants.WireType.FIXED64,8)},jspb.utils.countDelimitedFields=function(e,t,o,r){var i=0;for(r=8*r+jspb.BinaryConstants.WireType.DELIMITED;t<o;){for(var s=r;128<s;){if(e[t++]!=(127&s|128))return i;s>>=7}if(e[t++]!=s)break;i++;for(var n=0,a=1;n+=(127&(s=e[t++]))*a,a*=128,0!=(128&s););t+=n}return i},jspb.utils.debugBytesToTextFormat=function(e){var t='\"';if(e){e=jspb.utils.byteSourceToUint8Array(e);for(var o=0;o<e.length;o++)t+=\"\\\\x\",16>e[o]&&(t+=\"0\"),t+=e[o].toString(16)}return t+'\"'},jspb.utils.debugScalarToTextFormat=function(e){return goog.isString(e)?goog.string.quote(e):e.toString()},jspb.utils.stringToByteArray=function(e){for(var t=new Uint8Array(e.length),o=0;o<e.length;o++){var r=e.charCodeAt(o);if(255<r)throw Error(\"Conversion error: string contains codepoint outside of byte range\");t[o]=r}return t},jspb.utils.byteSourceToUint8Array=function(e){return e.constructor===Uint8Array?e:e.constructor===ArrayBuffer||e.constructor===Buffer||e.constructor===Array?new Uint8Array(e):e.constructor===String?goog.crypt.base64.decodeStringToUint8Array(e):(goog.asserts.fail(\"Type not convertible to Uint8Array.\"),new Uint8Array(0))},jspb.BinaryEncoder=function(){this.buffer_=[]},jspb.BinaryEncoder.prototype.length=function(){return this.buffer_.length},jspb.BinaryEncoder.prototype.end=function(){var e=this.buffer_;return this.buffer_=[],e},jspb.BinaryEncoder.prototype.writeSplitVarint64=function(e,t){for(goog.asserts.assert(e==Math.floor(e)),goog.asserts.assert(t==Math.floor(t)),goog.asserts.assert(0<=e&&e<jspb.BinaryConstants.TWO_TO_32),goog.asserts.assert(0<=t&&t<jspb.BinaryConstants.TWO_TO_32);0<t||127<e;)this.buffer_.push(127&e|128),e=(e>>>7|t<<25)>>>0,t>>>=7;this.buffer_.push(e)},jspb.BinaryEncoder.prototype.writeSplitFixed64=function(e,t){goog.asserts.assert(e==Math.floor(e)),goog.asserts.assert(t==Math.floor(t)),goog.asserts.assert(0<=e&&e<jspb.BinaryConstants.TWO_TO_32),goog.asserts.assert(0<=t&&t<jspb.BinaryConstants.TWO_TO_32),this.writeUint32(e),this.writeUint32(t)},jspb.BinaryEncoder.prototype.writeUnsignedVarint32=function(e){for(goog.asserts.assert(e==Math.floor(e)),goog.asserts.assert(0<=e&&e<jspb.BinaryConstants.TWO_TO_32);127<e;)this.buffer_.push(127&e|128),e>>>=7;this.buffer_.push(e)},jspb.BinaryEncoder.prototype.writeSignedVarint32=function(e){if(goog.asserts.assert(e==Math.floor(e)),goog.asserts.assert(e>=-jspb.BinaryConstants.TWO_TO_31&&e<jspb.BinaryConstants.TWO_TO_31),0<=e)this.writeUnsignedVarint32(e);else{for(var t=0;9>t;t++)this.buffer_.push(127&e|128),e>>=7;this.buffer_.push(1)}},jspb.BinaryEncoder.prototype.writeUnsignedVarint64=function(e){goog.asserts.assert(e==Math.floor(e)),goog.asserts.assert(0<=e&&e<jspb.BinaryConstants.TWO_TO_64),jspb.utils.splitInt64(e),this.writeSplitVarint64(jspb.utils.split64Low,jspb.utils.split64High)},jspb.BinaryEncoder.prototype.writeSignedVarint64=function(e){goog.asserts.assert(e==Math.floor(e)),goog.asserts.assert(e>=-jspb.BinaryConstants.TWO_TO_63&&e<jspb.BinaryConstants.TWO_TO_63),jspb.utils.splitInt64(e),this.writeSplitVarint64(jspb.utils.split64Low,jspb.utils.split64High)},jspb.BinaryEncoder.prototype.writeZigzagVarint32=function(e){goog.asserts.assert(e==Math.floor(e)),goog.asserts.assert(e>=-jspb.BinaryConstants.TWO_TO_31&&e<jspb.BinaryConstants.TWO_TO_31),this.writeUnsignedVarint32((e<<1^e>>31)>>>0)},jspb.BinaryEncoder.prototype.writeZigzagVarint64=function(e){goog.asserts.assert(e==Math.floor(e)),goog.asserts.assert(e>=-jspb.BinaryConstants.TWO_TO_63&&e<jspb.BinaryConstants.TWO_TO_63),jspb.utils.splitZigzag64(e),this.writeSplitVarint64(jspb.utils.split64Low,jspb.utils.split64High)},jspb.BinaryEncoder.prototype.writeZigzagVarint64String=function(e){this.writeZigzagVarint64(parseInt(e,10))},jspb.BinaryEncoder.prototype.writeUint8=function(e){goog.asserts.assert(e==Math.floor(e)),goog.asserts.assert(0<=e&&256>e),this.buffer_.push(e>>>0&255)},jspb.BinaryEncoder.prototype.writeUint16=function(e){goog.asserts.assert(e==Math.floor(e)),goog.asserts.assert(0<=e&&65536>e),this.buffer_.push(e>>>0&255),this.buffer_.push(e>>>8&255)},jspb.BinaryEncoder.prototype.writeUint32=function(e){goog.asserts.assert(e==Math.floor(e)),goog.asserts.assert(0<=e&&e<jspb.BinaryConstants.TWO_TO_32),this.buffer_.push(e>>>0&255),this.buffer_.push(e>>>8&255),this.buffer_.push(e>>>16&255),this.buffer_.push(e>>>24&255)},jspb.BinaryEncoder.prototype.writeUint64=function(e){goog.asserts.assert(e==Math.floor(e)),goog.asserts.assert(0<=e&&e<jspb.BinaryConstants.TWO_TO_64),jspb.utils.splitUint64(e),this.writeUint32(jspb.utils.split64Low),this.writeUint32(jspb.utils.split64High)},jspb.BinaryEncoder.prototype.writeInt8=function(e){goog.asserts.assert(e==Math.floor(e)),goog.asserts.assert(-128<=e&&128>e),this.buffer_.push(e>>>0&255)},jspb.BinaryEncoder.prototype.writeInt16=function(e){goog.asserts.assert(e==Math.floor(e)),goog.asserts.assert(-32768<=e&&32768>e),this.buffer_.push(e>>>0&255),this.buffer_.push(e>>>8&255)},jspb.BinaryEncoder.prototype.writeInt32=function(e){goog.asserts.assert(e==Math.floor(e)),goog.asserts.assert(e>=-jspb.BinaryConstants.TWO_TO_31&&e<jspb.BinaryConstants.TWO_TO_31),this.buffer_.push(e>>>0&255),this.buffer_.push(e>>>8&255),this.buffer_.push(e>>>16&255),this.buffer_.push(e>>>24&255)},jspb.BinaryEncoder.prototype.writeInt64=function(e){goog.asserts.assert(e==Math.floor(e)),goog.asserts.assert(e>=-jspb.BinaryConstants.TWO_TO_63&&e<jspb.BinaryConstants.TWO_TO_63),jspb.utils.splitInt64(e),this.writeSplitFixed64(jspb.utils.split64Low,jspb.utils.split64High)},jspb.BinaryEncoder.prototype.writeInt64String=function(e){goog.asserts.assert(e==Math.floor(e)),goog.asserts.assert(+e>=-jspb.BinaryConstants.TWO_TO_63&&+e<jspb.BinaryConstants.TWO_TO_63),jspb.utils.splitHash64(jspb.utils.decimalStringToHash64(e)),this.writeSplitFixed64(jspb.utils.split64Low,jspb.utils.split64High)},jspb.BinaryEncoder.prototype.writeFloat=function(e){goog.asserts.assert(e>=-jspb.BinaryConstants.FLOAT32_MAX&&e<=jspb.BinaryConstants.FLOAT32_MAX),jspb.utils.splitFloat32(e),this.writeUint32(jspb.utils.split64Low)},jspb.BinaryEncoder.prototype.writeDouble=function(e){goog.asserts.assert(e>=-jspb.BinaryConstants.FLOAT64_MAX&&e<=jspb.BinaryConstants.FLOAT64_MAX),jspb.utils.splitFloat64(e),this.writeUint32(jspb.utils.split64Low),this.writeUint32(jspb.utils.split64High)},jspb.BinaryEncoder.prototype.writeBool=function(e){goog.asserts.assert(goog.isBoolean(e)),this.buffer_.push(e?1:0)},jspb.BinaryEncoder.prototype.writeEnum=function(e){goog.asserts.assert(e==Math.floor(e)),goog.asserts.assert(e>=-jspb.BinaryConstants.TWO_TO_31&&e<jspb.BinaryConstants.TWO_TO_31),this.writeSignedVarint32(e)},jspb.BinaryEncoder.prototype.writeBytes=function(e){this.buffer_.push.apply(this.buffer_,e)},jspb.BinaryEncoder.prototype.writeVarintHash64=function(e){jspb.utils.splitHash64(e),this.writeSplitVarint64(jspb.utils.split64Low,jspb.utils.split64High)},jspb.BinaryEncoder.prototype.writeFixedHash64=function(e){jspb.utils.splitHash64(e),this.writeUint32(jspb.utils.split64Low),this.writeUint32(jspb.utils.split64High)},jspb.BinaryEncoder.prototype.writeString=function(e){for(var t=this.buffer_.length,o=0;o<e.length;o++){var r=e.charCodeAt(o);if(128>r)this.buffer_.push(r);else if(2048>r)this.buffer_.push(r>>6|192),this.buffer_.push(63&r|128);else if(65536>r)if(55296<=r&&56319>=r&&o+1<e.length){var i=e.charCodeAt(o+1);56320<=i&&57343>=i&&(r=1024*(r-55296)+i-56320+65536,this.buffer_.push(r>>18|240),this.buffer_.push(r>>12&63|128),this.buffer_.push(r>>6&63|128),this.buffer_.push(63&r|128),o++)}else this.buffer_.push(r>>12|224),this.buffer_.push(r>>6&63|128),this.buffer_.push(63&r|128)}return this.buffer_.length-t},jspb.BinaryWriter=function(){this.blocks_=[],this.totalLength_=0,this.encoder_=new jspb.BinaryEncoder,this.bookmarks_=[]},jspb.BinaryWriter.prototype.appendUint8Array_=function(e){var t=this.encoder_.end();this.blocks_.push(t),this.blocks_.push(e),this.totalLength_+=t.length+e.length},jspb.BinaryWriter.prototype.beginDelimited_=function(e){return this.writeFieldHeader_(e,jspb.BinaryConstants.WireType.DELIMITED),e=this.encoder_.end(),this.blocks_.push(e),this.totalLength_+=e.length,e.push(this.totalLength_),e},jspb.BinaryWriter.prototype.endDelimited_=function(e){var t=e.pop();t=this.totalLength_+this.encoder_.length()-t;for(goog.asserts.assert(0<=t);127<t;)e.push(127&t|128),t>>>=7,this.totalLength_++;e.push(t),this.totalLength_++},jspb.BinaryWriter.prototype.writeSerializedMessage=function(e,t,o){this.appendUint8Array_(e.subarray(t,o))},jspb.BinaryWriter.prototype.maybeWriteSerializedMessage=function(e,t,o){null!=e&&null!=t&&null!=o&&this.writeSerializedMessage(e,t,o)},jspb.BinaryWriter.prototype.reset=function(){this.blocks_=[],this.encoder_.end(),this.totalLength_=0,this.bookmarks_=[]},jspb.BinaryWriter.prototype.getResultBuffer=function(){goog.asserts.assert(0==this.bookmarks_.length);for(var e=new Uint8Array(this.totalLength_+this.encoder_.length()),t=this.blocks_,o=t.length,r=0,i=0;i<o;i++){var s=t[i];e.set(s,r),r+=s.length}return t=this.encoder_.end(),e.set(t,r),r+=t.length,goog.asserts.assert(r==e.length),this.blocks_=[e],e},jspb.BinaryWriter.prototype.getResultBase64String=function(){return goog.crypt.base64.encodeByteArray(this.getResultBuffer())},jspb.BinaryWriter.prototype.beginSubMessage=function(e){this.bookmarks_.push(this.beginDelimited_(e))},jspb.BinaryWriter.prototype.endSubMessage=function(){goog.asserts.assert(0<=this.bookmarks_.length),this.endDelimited_(this.bookmarks_.pop())},jspb.BinaryWriter.prototype.writeFieldHeader_=function(e,t){goog.asserts.assert(1<=e&&e==Math.floor(e)),this.encoder_.writeUnsignedVarint32(8*e+t)},jspb.BinaryWriter.prototype.writeAny=function(e,t,o){var r=jspb.BinaryConstants.FieldType;switch(e){case r.DOUBLE:this.writeDouble(t,o);break;case r.FLOAT:this.writeFloat(t,o);break;case r.INT64:this.writeInt64(t,o);break;case r.UINT64:this.writeUint64(t,o);break;case r.INT32:this.writeInt32(t,o);break;case r.FIXED64:this.writeFixed64(t,o);break;case r.FIXED32:this.writeFixed32(t,o);break;case r.BOOL:this.writeBool(t,o);break;case r.STRING:this.writeString(t,o);break;case r.GROUP:goog.asserts.fail(\"Group field type not supported in writeAny()\");break;case r.MESSAGE:goog.asserts.fail(\"Message field type not supported in writeAny()\");break;case r.BYTES:this.writeBytes(t,o);break;case r.UINT32:this.writeUint32(t,o);break;case r.ENUM:this.writeEnum(t,o);break;case r.SFIXED32:this.writeSfixed32(t,o);break;case r.SFIXED64:this.writeSfixed64(t,o);break;case r.SINT32:this.writeSint32(t,o);break;case r.SINT64:this.writeSint64(t,o);break;case r.FHASH64:this.writeFixedHash64(t,o);break;case r.VHASH64:this.writeVarintHash64(t,o);break;default:goog.asserts.fail(\"Invalid field type in writeAny()\")}},jspb.BinaryWriter.prototype.writeUnsignedVarint32_=function(e,t){null!=t&&(this.writeFieldHeader_(e,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeUnsignedVarint32(t))},jspb.BinaryWriter.prototype.writeSignedVarint32_=function(e,t){null!=t&&(this.writeFieldHeader_(e,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeSignedVarint32(t))},jspb.BinaryWriter.prototype.writeUnsignedVarint64_=function(e,t){null!=t&&(this.writeFieldHeader_(e,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeUnsignedVarint64(t))},jspb.BinaryWriter.prototype.writeSignedVarint64_=function(e,t){null!=t&&(this.writeFieldHeader_(e,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeSignedVarint64(t))},jspb.BinaryWriter.prototype.writeZigzagVarint32_=function(e,t){null!=t&&(this.writeFieldHeader_(e,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeZigzagVarint32(t))},jspb.BinaryWriter.prototype.writeZigzagVarint64_=function(e,t){null!=t&&(this.writeFieldHeader_(e,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeZigzagVarint64(t))},jspb.BinaryWriter.prototype.writeZigzagVarint64String_=function(e,t){null!=t&&(this.writeFieldHeader_(e,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeZigzagVarint64String(t))},jspb.BinaryWriter.prototype.writeInt32=function(e,t){null!=t&&(goog.asserts.assert(t>=-jspb.BinaryConstants.TWO_TO_31&&t<jspb.BinaryConstants.TWO_TO_31),this.writeSignedVarint32_(e,t))},jspb.BinaryWriter.prototype.writeInt32String=function(e,t){if(null!=t){var o=parseInt(t,10);goog.asserts.assert(o>=-jspb.BinaryConstants.TWO_TO_31&&o<jspb.BinaryConstants.TWO_TO_31),this.writeSignedVarint32_(e,o)}},jspb.BinaryWriter.prototype.writeInt64=function(e,t){null!=t&&(goog.asserts.assert(t>=-jspb.BinaryConstants.TWO_TO_63&&t<jspb.BinaryConstants.TWO_TO_63),this.writeSignedVarint64_(e,t))},jspb.BinaryWriter.prototype.writeInt64String=function(e,t){if(null!=t){var o=jspb.arith.Int64.fromString(t);this.writeFieldHeader_(e,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeSplitVarint64(o.lo,o.hi)}},jspb.BinaryWriter.prototype.writeUint32=function(e,t){null!=t&&(goog.asserts.assert(0<=t&&t<jspb.BinaryConstants.TWO_TO_32),this.writeUnsignedVarint32_(e,t))},jspb.BinaryWriter.prototype.writeUint32String=function(e,t){if(null!=t){var o=parseInt(t,10);goog.asserts.assert(0<=o&&o<jspb.BinaryConstants.TWO_TO_32),this.writeUnsignedVarint32_(e,o)}},jspb.BinaryWriter.prototype.writeUint64=function(e,t){null!=t&&(goog.asserts.assert(0<=t&&t<jspb.BinaryConstants.TWO_TO_64),this.writeUnsignedVarint64_(e,t))},jspb.BinaryWriter.prototype.writeUint64String=function(e,t){if(null!=t){var o=jspb.arith.UInt64.fromString(t);this.writeFieldHeader_(e,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeSplitVarint64(o.lo,o.hi)}},jspb.BinaryWriter.prototype.writeSint32=function(e,t){null!=t&&(goog.asserts.assert(t>=-jspb.BinaryConstants.TWO_TO_31&&t<jspb.BinaryConstants.TWO_TO_31),this.writeZigzagVarint32_(e,t))},jspb.BinaryWriter.prototype.writeSint64=function(e,t){null!=t&&(goog.asserts.assert(t>=-jspb.BinaryConstants.TWO_TO_63&&t<jspb.BinaryConstants.TWO_TO_63),this.writeZigzagVarint64_(e,t))},jspb.BinaryWriter.prototype.writeSint64String=function(e,t){null!=t&&(goog.asserts.assert(+t>=-jspb.BinaryConstants.TWO_TO_63&&+t<jspb.BinaryConstants.TWO_TO_63),this.writeZigzagVarint64String_(e,t))},jspb.BinaryWriter.prototype.writeFixed32=function(e,t){null!=t&&(goog.asserts.assert(0<=t&&t<jspb.BinaryConstants.TWO_TO_32),this.writeFieldHeader_(e,jspb.BinaryConstants.WireType.FIXED32),this.encoder_.writeUint32(t))},jspb.BinaryWriter.prototype.writeFixed64=function(e,t){null!=t&&(goog.asserts.assert(0<=t&&t<jspb.BinaryConstants.TWO_TO_64),this.writeFieldHeader_(e,jspb.BinaryConstants.WireType.FIXED64),this.encoder_.writeUint64(t))},jspb.BinaryWriter.prototype.writeFixed64String=function(e,t){if(null!=t){var o=jspb.arith.UInt64.fromString(t);this.writeFieldHeader_(e,jspb.BinaryConstants.WireType.FIXED64),this.encoder_.writeSplitFixed64(o.lo,o.hi)}},jspb.BinaryWriter.prototype.writeSfixed32=function(e,t){null!=t&&(goog.asserts.assert(t>=-jspb.BinaryConstants.TWO_TO_31&&t<jspb.BinaryConstants.TWO_TO_31),this.writeFieldHeader_(e,jspb.BinaryConstants.WireType.FIXED32),this.encoder_.writeInt32(t))},jspb.BinaryWriter.prototype.writeSfixed64=function(e,t){null!=t&&(goog.asserts.assert(t>=-jspb.BinaryConstants.TWO_TO_63&&t<jspb.BinaryConstants.TWO_TO_63),this.writeFieldHeader_(e,jspb.BinaryConstants.WireType.FIXED64),this.encoder_.writeInt64(t))},jspb.BinaryWriter.prototype.writeSfixed64String=function(e,t){if(null!=t){var o=jspb.arith.Int64.fromString(t);this.writeFieldHeader_(e,jspb.BinaryConstants.WireType.FIXED64),this.encoder_.writeSplitFixed64(o.lo,o.hi)}},jspb.BinaryWriter.prototype.writeFloat=function(e,t){null!=t&&(this.writeFieldHeader_(e,jspb.BinaryConstants.WireType.FIXED32),this.encoder_.writeFloat(t))},jspb.BinaryWriter.prototype.writeDouble=function(e,t){null!=t&&(this.writeFieldHeader_(e,jspb.BinaryConstants.WireType.FIXED64),this.encoder_.writeDouble(t))},jspb.BinaryWriter.prototype.writeBool=function(e,t){null!=t&&(goog.asserts.assert(goog.isBoolean(t)),this.writeFieldHeader_(e,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeBool(t))},jspb.BinaryWriter.prototype.writeEnum=function(e,t){null!=t&&(goog.asserts.assert(t>=-jspb.BinaryConstants.TWO_TO_31&&t<jspb.BinaryConstants.TWO_TO_31),this.writeFieldHeader_(e,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeSignedVarint32(t))},jspb.BinaryWriter.prototype.writeString=function(e,t){if(null!=t){var o=this.beginDelimited_(e);this.encoder_.writeString(t),this.endDelimited_(o)}},jspb.BinaryWriter.prototype.writeBytes=function(e,t){if(null!=t){var o=jspb.utils.byteSourceToUint8Array(t);this.writeFieldHeader_(e,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(o.length),this.appendUint8Array_(o)}},jspb.BinaryWriter.prototype.writeMessage=function(e,t,o){null!=t&&(e=this.beginDelimited_(e),o(t,this),this.endDelimited_(e))},jspb.BinaryWriter.prototype.writeGroup=function(e,t,o){null!=t&&(this.writeFieldHeader_(e,jspb.BinaryConstants.WireType.START_GROUP),o(t,this),this.writeFieldHeader_(e,jspb.BinaryConstants.WireType.END_GROUP))},jspb.BinaryWriter.prototype.writeFixedHash64=function(e,t){null!=t&&(goog.asserts.assert(8==t.length),this.writeFieldHeader_(e,jspb.BinaryConstants.WireType.FIXED64),this.encoder_.writeFixedHash64(t))},jspb.BinaryWriter.prototype.writeVarintHash64=function(e,t){null!=t&&(goog.asserts.assert(8==t.length),this.writeFieldHeader_(e,jspb.BinaryConstants.WireType.VARINT),this.encoder_.writeVarintHash64(t))},jspb.BinaryWriter.prototype.writeRepeatedInt32=function(e,t){if(null!=t)for(var o=0;o<t.length;o++)this.writeSignedVarint32_(e,t[o])},jspb.BinaryWriter.prototype.writeRepeatedInt32String=function(e,t){if(null!=t)for(var o=0;o<t.length;o++)this.writeInt32String(e,t[o])},jspb.BinaryWriter.prototype.writeRepeatedInt64=function(e,t){if(null!=t)for(var o=0;o<t.length;o++)this.writeSignedVarint64_(e,t[o])},jspb.BinaryWriter.prototype.writeRepeatedInt64String=function(e,t){if(null!=t)for(var o=0;o<t.length;o++)this.writeInt64String(e,t[o])},jspb.BinaryWriter.prototype.writeRepeatedUint32=function(e,t){if(null!=t)for(var o=0;o<t.length;o++)this.writeUnsignedVarint32_(e,t[o])},jspb.BinaryWriter.prototype.writeRepeatedUint32String=function(e,t){if(null!=t)for(var o=0;o<t.length;o++)this.writeUint32String(e,t[o])},jspb.BinaryWriter.prototype.writeRepeatedUint64=function(e,t){if(null!=t)for(var o=0;o<t.length;o++)this.writeUnsignedVarint64_(e,t[o])},jspb.BinaryWriter.prototype.writeRepeatedUint64String=function(e,t){if(null!=t)for(var o=0;o<t.length;o++)this.writeUint64String(e,t[o])},jspb.BinaryWriter.prototype.writeRepeatedSint32=function(e,t){if(null!=t)for(var o=0;o<t.length;o++)this.writeZigzagVarint32_(e,t[o])},jspb.BinaryWriter.prototype.writeRepeatedSint64=function(e,t){if(null!=t)for(var o=0;o<t.length;o++)this.writeZigzagVarint64_(e,t[o])},jspb.BinaryWriter.prototype.writeRepeatedSint64String=function(e,t){if(null!=t)for(var o=0;o<t.length;o++)this.writeZigzagVarint64String_(e,t[o])},jspb.BinaryWriter.prototype.writeRepeatedFixed32=function(e,t){if(null!=t)for(var o=0;o<t.length;o++)this.writeFixed32(e,t[o])},jspb.BinaryWriter.prototype.writeRepeatedFixed64=function(e,t){if(null!=t)for(var o=0;o<t.length;o++)this.writeFixed64(e,t[o])},jspb.BinaryWriter.prototype.writeRepeatedFixed64String=function(e,t){if(null!=t)for(var o=0;o<t.length;o++)this.writeFixed64String(e,t[o])},jspb.BinaryWriter.prototype.writeRepeatedSfixed32=function(e,t){if(null!=t)for(var o=0;o<t.length;o++)this.writeSfixed32(e,t[o])},jspb.BinaryWriter.prototype.writeRepeatedSfixed64=function(e,t){if(null!=t)for(var o=0;o<t.length;o++)this.writeSfixed64(e,t[o])},jspb.BinaryWriter.prototype.writeRepeatedSfixed64String=function(e,t){if(null!=t)for(var o=0;o<t.length;o++)this.writeSfixed64String(e,t[o])},jspb.BinaryWriter.prototype.writeRepeatedFloat=function(e,t){if(null!=t)for(var o=0;o<t.length;o++)this.writeFloat(e,t[o])},jspb.BinaryWriter.prototype.writeRepeatedDouble=function(e,t){if(null!=t)for(var o=0;o<t.length;o++)this.writeDouble(e,t[o])},jspb.BinaryWriter.prototype.writeRepeatedBool=function(e,t){if(null!=t)for(var o=0;o<t.length;o++)this.writeBool(e,t[o])},jspb.BinaryWriter.prototype.writeRepeatedEnum=function(e,t){if(null!=t)for(var o=0;o<t.length;o++)this.writeEnum(e,t[o])},jspb.BinaryWriter.prototype.writeRepeatedString=function(e,t){if(null!=t)for(var o=0;o<t.length;o++)this.writeString(e,t[o])},jspb.BinaryWriter.prototype.writeRepeatedBytes=function(e,t){if(null!=t)for(var o=0;o<t.length;o++)this.writeBytes(e,t[o])},jspb.BinaryWriter.prototype.writeRepeatedMessage=function(e,t,o){if(null!=t)for(var r=0;r<t.length;r++){var i=this.beginDelimited_(e);o(t[r],this),this.endDelimited_(i)}},jspb.BinaryWriter.prototype.writeRepeatedGroup=function(e,t,o){if(null!=t)for(var r=0;r<t.length;r++)this.writeFieldHeader_(e,jspb.BinaryConstants.WireType.START_GROUP),o(t[r],this),this.writeFieldHeader_(e,jspb.BinaryConstants.WireType.END_GROUP)},jspb.BinaryWriter.prototype.writeRepeatedFixedHash64=function(e,t){if(null!=t)for(var o=0;o<t.length;o++)this.writeFixedHash64(e,t[o])},jspb.BinaryWriter.prototype.writeRepeatedVarintHash64=function(e,t){if(null!=t)for(var o=0;o<t.length;o++)this.writeVarintHash64(e,t[o])},jspb.BinaryWriter.prototype.writePackedInt32=function(e,t){if(null!=t&&t.length){for(var o=this.beginDelimited_(e),r=0;r<t.length;r++)this.encoder_.writeSignedVarint32(t[r]);this.endDelimited_(o)}},jspb.BinaryWriter.prototype.writePackedInt32String=function(e,t){if(null!=t&&t.length){for(var o=this.beginDelimited_(e),r=0;r<t.length;r++)this.encoder_.writeSignedVarint32(parseInt(t[r],10));this.endDelimited_(o)}},jspb.BinaryWriter.prototype.writePackedInt64=function(e,t){if(null!=t&&t.length){for(var o=this.beginDelimited_(e),r=0;r<t.length;r++)this.encoder_.writeSignedVarint64(t[r]);this.endDelimited_(o)}},jspb.BinaryWriter.prototype.writePackedInt64String=function(e,t){if(null!=t&&t.length){for(var o=this.beginDelimited_(e),r=0;r<t.length;r++){var i=jspb.arith.Int64.fromString(t[r]);this.encoder_.writeSplitVarint64(i.lo,i.hi)}this.endDelimited_(o)}},jspb.BinaryWriter.prototype.writePackedUint32=function(e,t){if(null!=t&&t.length){for(var o=this.beginDelimited_(e),r=0;r<t.length;r++)this.encoder_.writeUnsignedVarint32(t[r]);this.endDelimited_(o)}},jspb.BinaryWriter.prototype.writePackedUint32String=function(e,t){if(null!=t&&t.length){for(var o=this.beginDelimited_(e),r=0;r<t.length;r++)this.encoder_.writeUnsignedVarint32(parseInt(t[r],10));this.endDelimited_(o)}},jspb.BinaryWriter.prototype.writePackedUint64=function(e,t){if(null!=t&&t.length){for(var o=this.beginDelimited_(e),r=0;r<t.length;r++)this.encoder_.writeUnsignedVarint64(t[r]);this.endDelimited_(o)}},jspb.BinaryWriter.prototype.writePackedUint64String=function(e,t){if(null!=t&&t.length){for(var o=this.beginDelimited_(e),r=0;r<t.length;r++){var i=jspb.arith.UInt64.fromString(t[r]);this.encoder_.writeSplitVarint64(i.lo,i.hi)}this.endDelimited_(o)}},jspb.BinaryWriter.prototype.writePackedSint32=function(e,t){if(null!=t&&t.length){for(var o=this.beginDelimited_(e),r=0;r<t.length;r++)this.encoder_.writeZigzagVarint32(t[r]);this.endDelimited_(o)}},jspb.BinaryWriter.prototype.writePackedSint64=function(e,t){if(null!=t&&t.length){for(var o=this.beginDelimited_(e),r=0;r<t.length;r++)this.encoder_.writeZigzagVarint64(t[r]);this.endDelimited_(o)}},jspb.BinaryWriter.prototype.writePackedSint64String=function(e,t){if(null!=t&&t.length){for(var o=this.beginDelimited_(e),r=0;r<t.length;r++)this.encoder_.writeZigzagVarint64(parseInt(t[r],10));this.endDelimited_(o)}},jspb.BinaryWriter.prototype.writePackedFixed32=function(e,t){if(null!=t&&t.length){this.writeFieldHeader_(e,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(4*t.length);for(var o=0;o<t.length;o++)this.encoder_.writeUint32(t[o])}},jspb.BinaryWriter.prototype.writePackedFixed64=function(e,t){if(null!=t&&t.length){this.writeFieldHeader_(e,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(8*t.length);for(var o=0;o<t.length;o++)this.encoder_.writeUint64(t[o])}},jspb.BinaryWriter.prototype.writePackedFixed64String=function(e,t){if(null!=t&&t.length){this.writeFieldHeader_(e,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(8*t.length);for(var o=0;o<t.length;o++){var r=jspb.arith.UInt64.fromString(t[o]);this.encoder_.writeSplitFixed64(r.lo,r.hi)}}},jspb.BinaryWriter.prototype.writePackedSfixed32=function(e,t){if(null!=t&&t.length){this.writeFieldHeader_(e,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(4*t.length);for(var o=0;o<t.length;o++)this.encoder_.writeInt32(t[o])}},jspb.BinaryWriter.prototype.writePackedSfixed64=function(e,t){if(null!=t&&t.length){this.writeFieldHeader_(e,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(8*t.length);for(var o=0;o<t.length;o++)this.encoder_.writeInt64(t[o])}},jspb.BinaryWriter.prototype.writePackedSfixed64String=function(e,t){if(null!=t&&t.length){this.writeFieldHeader_(e,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(8*t.length);for(var o=0;o<t.length;o++)this.encoder_.writeInt64String(t[o])}},jspb.BinaryWriter.prototype.writePackedFloat=function(e,t){if(null!=t&&t.length){this.writeFieldHeader_(e,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(4*t.length);for(var o=0;o<t.length;o++)this.encoder_.writeFloat(t[o])}},jspb.BinaryWriter.prototype.writePackedDouble=function(e,t){if(null!=t&&t.length){this.writeFieldHeader_(e,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(8*t.length);for(var o=0;o<t.length;o++)this.encoder_.writeDouble(t[o])}},jspb.BinaryWriter.prototype.writePackedBool=function(e,t){if(null!=t&&t.length){this.writeFieldHeader_(e,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(t.length);for(var o=0;o<t.length;o++)this.encoder_.writeBool(t[o])}},jspb.BinaryWriter.prototype.writePackedEnum=function(e,t){if(null!=t&&t.length){for(var o=this.beginDelimited_(e),r=0;r<t.length;r++)this.encoder_.writeEnum(t[r]);this.endDelimited_(o)}},jspb.BinaryWriter.prototype.writePackedFixedHash64=function(e,t){if(null!=t&&t.length){this.writeFieldHeader_(e,jspb.BinaryConstants.WireType.DELIMITED),this.encoder_.writeUnsignedVarint32(8*t.length);for(var o=0;o<t.length;o++)this.encoder_.writeFixedHash64(t[o])}},jspb.BinaryWriter.prototype.writePackedVarintHash64=function(e,t){if(null!=t&&t.length){for(var o=this.beginDelimited_(e),r=0;r<t.length;r++)this.encoder_.writeVarintHash64(t[r]);this.endDelimited_(o)}},jspb.BinaryIterator=function(e,t,o){this.elements_=this.nextMethod_=this.decoder_=null,this.cursor_=0,this.nextValue_=null,this.atEnd_=!0,this.init_(e,t,o)},jspb.BinaryIterator.prototype.init_=function(e,t,o){e&&t&&(this.decoder_=e,this.nextMethod_=t),this.elements_=o||null,this.cursor_=0,this.nextValue_=null,this.atEnd_=!this.decoder_&&!this.elements_,this.next()},jspb.BinaryIterator.instanceCache_=[],jspb.BinaryIterator.alloc=function(e,t,o){if(jspb.BinaryIterator.instanceCache_.length){var r=jspb.BinaryIterator.instanceCache_.pop();return r.init_(e,t,o),r}return new jspb.BinaryIterator(e,t,o)},jspb.BinaryIterator.prototype.free=function(){this.clear(),100>jspb.BinaryIterator.instanceCache_.length&&jspb.BinaryIterator.instanceCache_.push(this)},jspb.BinaryIterator.prototype.clear=function(){this.decoder_&&this.decoder_.free(),this.elements_=this.nextMethod_=this.decoder_=null,this.cursor_=0,this.nextValue_=null,this.atEnd_=!0},jspb.BinaryIterator.prototype.get=function(){return this.nextValue_},jspb.BinaryIterator.prototype.atEnd=function(){return this.atEnd_},jspb.BinaryIterator.prototype.next=function(){var e=this.nextValue_;return this.decoder_?this.decoder_.atEnd()?(this.nextValue_=null,this.atEnd_=!0):this.nextValue_=this.nextMethod_.call(this.decoder_):this.elements_&&(this.cursor_==this.elements_.length?(this.nextValue_=null,this.atEnd_=!0):this.nextValue_=this.elements_[this.cursor_++]),e},jspb.BinaryDecoder=function(e,t,o){this.bytes_=null,this.tempHigh_=this.tempLow_=this.cursor_=this.end_=this.start_=0,this.error_=!1,e&&this.setBlock(e,t,o)},jspb.BinaryDecoder.instanceCache_=[],jspb.BinaryDecoder.alloc=function(e,t,o){if(jspb.BinaryDecoder.instanceCache_.length){var r=jspb.BinaryDecoder.instanceCache_.pop();return e&&r.setBlock(e,t,o),r}return new jspb.BinaryDecoder(e,t,o)},jspb.BinaryDecoder.prototype.free=function(){this.clear(),100>jspb.BinaryDecoder.instanceCache_.length&&jspb.BinaryDecoder.instanceCache_.push(this)},jspb.BinaryDecoder.prototype.clone=function(){return jspb.BinaryDecoder.alloc(this.bytes_,this.start_,this.end_-this.start_)},jspb.BinaryDecoder.prototype.clear=function(){this.bytes_=null,this.cursor_=this.end_=this.start_=0,this.error_=!1},jspb.BinaryDecoder.prototype.getBuffer=function(){return this.bytes_},jspb.BinaryDecoder.prototype.setBlock=function(e,t,o){this.bytes_=jspb.utils.byteSourceToUint8Array(e),this.start_=goog.isDef(t)?t:0,this.end_=goog.isDef(o)?this.start_+o:this.bytes_.length,this.cursor_=this.start_},jspb.BinaryDecoder.prototype.getEnd=function(){return this.end_},jspb.BinaryDecoder.prototype.setEnd=function(e){this.end_=e},jspb.BinaryDecoder.prototype.reset=function(){this.cursor_=this.start_},jspb.BinaryDecoder.prototype.getCursor=function(){return this.cursor_},jspb.BinaryDecoder.prototype.setCursor=function(e){this.cursor_=e},jspb.BinaryDecoder.prototype.advance=function(e){this.cursor_+=e,goog.asserts.assert(this.cursor_<=this.end_)},jspb.BinaryDecoder.prototype.atEnd=function(){return this.cursor_==this.end_},jspb.BinaryDecoder.prototype.pastEnd=function(){return this.cursor_>this.end_},jspb.BinaryDecoder.prototype.getError=function(){return this.error_||0>this.cursor_||this.cursor_>this.end_},jspb.BinaryDecoder.prototype.readSplitVarint64_=function(){for(var e,t,o=0,r=0;4>r;r++)if(o|=(127&(e=this.bytes_[this.cursor_++]))<<7*r,128>e)return this.tempLow_=o>>>0,void(this.tempHigh_=0);if(o|=(127&(e=this.bytes_[this.cursor_++]))<<28,t=0|(127&e)>>4,128>e)this.tempLow_=o>>>0,this.tempHigh_=t>>>0;else{for(r=0;5>r;r++)if(t|=(127&(e=this.bytes_[this.cursor_++]))<<7*r+3,128>e)return this.tempLow_=o>>>0,void(this.tempHigh_=t>>>0);goog.asserts.fail(\"Failed to read varint, encoding is invalid.\"),this.error_=!0}},jspb.BinaryDecoder.prototype.skipVarint=function(){for(;128&this.bytes_[this.cursor_];)this.cursor_++;this.cursor_++},jspb.BinaryDecoder.prototype.unskipVarint=function(e){for(;128<e;)this.cursor_--,e>>>=7;this.cursor_--},jspb.BinaryDecoder.prototype.readUnsignedVarint32=function(){var e,t=this.bytes_,o=127&(e=t[this.cursor_+0]);return 128>e?(this.cursor_+=1,goog.asserts.assert(this.cursor_<=this.end_),o):(o|=(127&(e=t[this.cursor_+1]))<<7,128>e?(this.cursor_+=2,goog.asserts.assert(this.cursor_<=this.end_),o):(o|=(127&(e=t[this.cursor_+2]))<<14,128>e?(this.cursor_+=3,goog.asserts.assert(this.cursor_<=this.end_),o):(o|=(127&(e=t[this.cursor_+3]))<<21,128>e?(this.cursor_+=4,goog.asserts.assert(this.cursor_<=this.end_),o):(o|=(15&(e=t[this.cursor_+4]))<<28,128>e?(goog.asserts.assert(0==(240&e)),this.cursor_+=5,goog.asserts.assert(this.cursor_<=this.end_),o>>>0):(goog.asserts.assert(240==(240&e)),goog.asserts.assert(255==t[this.cursor_+5]),goog.asserts.assert(255==t[this.cursor_+6]),goog.asserts.assert(255==t[this.cursor_+7]),goog.asserts.assert(255==t[this.cursor_+8]),goog.asserts.assert(1==t[this.cursor_+9]),this.cursor_+=10,goog.asserts.assert(this.cursor_<=this.end_),o)))))},jspb.BinaryDecoder.prototype.readSignedVarint32=jspb.BinaryDecoder.prototype.readUnsignedVarint32,jspb.BinaryDecoder.prototype.readUnsignedVarint32String=function(){return this.readUnsignedVarint32().toString()},jspb.BinaryDecoder.prototype.readSignedVarint32String=function(){return this.readSignedVarint32().toString()},jspb.BinaryDecoder.prototype.readZigzagVarint32=function(){var e=this.readUnsignedVarint32();return e>>>1^-(1&e)},jspb.BinaryDecoder.prototype.readUnsignedVarint64=function(){return this.readSplitVarint64_(),jspb.utils.joinUint64(this.tempLow_,this.tempHigh_)},jspb.BinaryDecoder.prototype.readUnsignedVarint64String=function(){return this.readSplitVarint64_(),jspb.utils.joinUnsignedDecimalString(this.tempLow_,this.tempHigh_)},jspb.BinaryDecoder.prototype.readSignedVarint64=function(){return this.readSplitVarint64_(),jspb.utils.joinInt64(this.tempLow_,this.tempHigh_)},jspb.BinaryDecoder.prototype.readSignedVarint64String=function(){return this.readSplitVarint64_(),jspb.utils.joinSignedDecimalString(this.tempLow_,this.tempHigh_)},jspb.BinaryDecoder.prototype.readZigzagVarint64=function(){return this.readSplitVarint64_(),jspb.utils.joinZigzag64(this.tempLow_,this.tempHigh_)},jspb.BinaryDecoder.prototype.readZigzagVarint64String=function(){return this.readZigzagVarint64().toString()},jspb.BinaryDecoder.prototype.readUint8=function(){var e=this.bytes_[this.cursor_+0];return this.cursor_+=1,goog.asserts.assert(this.cursor_<=this.end_),e},jspb.BinaryDecoder.prototype.readUint16=function(){var e=this.bytes_[this.cursor_+0],t=this.bytes_[this.cursor_+1];return this.cursor_+=2,goog.asserts.assert(this.cursor_<=this.end_),e<<0|t<<8},jspb.BinaryDecoder.prototype.readUint32=function(){var e=this.bytes_[this.cursor_+0],t=this.bytes_[this.cursor_+1],o=this.bytes_[this.cursor_+2],r=this.bytes_[this.cursor_+3];return this.cursor_+=4,goog.asserts.assert(this.cursor_<=this.end_),(e<<0|t<<8|o<<16|r<<24)>>>0},jspb.BinaryDecoder.prototype.readUint64=function(){var e=this.readUint32(),t=this.readUint32();return jspb.utils.joinUint64(e,t)},jspb.BinaryDecoder.prototype.readUint64String=function(){var e=this.readUint32(),t=this.readUint32();return jspb.utils.joinUnsignedDecimalString(e,t)},jspb.BinaryDecoder.prototype.readInt8=function(){var e=this.bytes_[this.cursor_+0];return this.cursor_+=1,goog.asserts.assert(this.cursor_<=this.end_),e<<24>>24},jspb.BinaryDecoder.prototype.readInt16=function(){var e=this.bytes_[this.cursor_+0],t=this.bytes_[this.cursor_+1];return this.cursor_+=2,goog.asserts.assert(this.cursor_<=this.end_),(e<<0|t<<8)<<16>>16},jspb.BinaryDecoder.prototype.readInt32=function(){var e=this.bytes_[this.cursor_+0],t=this.bytes_[this.cursor_+1],o=this.bytes_[this.cursor_+2],r=this.bytes_[this.cursor_+3];return this.cursor_+=4,goog.asserts.assert(this.cursor_<=this.end_),e<<0|t<<8|o<<16|r<<24},jspb.BinaryDecoder.prototype.readInt64=function(){var e=this.readUint32(),t=this.readUint32();return jspb.utils.joinInt64(e,t)},jspb.BinaryDecoder.prototype.readInt64String=function(){var e=this.readUint32(),t=this.readUint32();return jspb.utils.joinSignedDecimalString(e,t)},jspb.BinaryDecoder.prototype.readFloat=function(){var e=this.readUint32();return jspb.utils.joinFloat32(e,0)},jspb.BinaryDecoder.prototype.readDouble=function(){var e=this.readUint32(),t=this.readUint32();return jspb.utils.joinFloat64(e,t)},jspb.BinaryDecoder.prototype.readBool=function(){return!!this.bytes_[this.cursor_++]},jspb.BinaryDecoder.prototype.readEnum=function(){return this.readSignedVarint32()},jspb.BinaryDecoder.prototype.readString=function(e){var t=this.bytes_,o=this.cursor_;e=o+e;for(var r=[],i=\"\";o<e;){if(128>(a=t[o++]))r.push(a);else{if(192>a)continue;if(224>a){var s=t[o++];r.push((31&a)<<6|63&s)}else if(240>a){s=t[o++];var n=t[o++];r.push((15&a)<<12|(63&s)<<6|63&n)}else if(248>a){var a=(a=(7&a)<<18|(63&(s=t[o++]))<<12|(63&(n=t[o++]))<<6|63&t[o++])-65536;r.push(55296+(a>>10&1023),56320+(1023&a))}}8192<=r.length&&(i+=String.fromCharCode.apply(null,r),r.length=0)}return i+=goog.crypt.byteArrayToString(r),this.cursor_=o,i},jspb.BinaryDecoder.prototype.readStringWithLength=function(){var e=this.readUnsignedVarint32();return this.readString(e)},jspb.BinaryDecoder.prototype.readBytes=function(e){if(0>e||this.cursor_+e>this.bytes_.length)return this.error_=!0,goog.asserts.fail(\"Invalid byte length!\"),new Uint8Array(0);var t=this.bytes_.subarray(this.cursor_,this.cursor_+e);return this.cursor_+=e,goog.asserts.assert(this.cursor_<=this.end_),t},jspb.BinaryDecoder.prototype.readVarintHash64=function(){return this.readSplitVarint64_(),jspb.utils.joinHash64(this.tempLow_,this.tempHigh_)},jspb.BinaryDecoder.prototype.readFixedHash64=function(){var e=this.bytes_,t=this.cursor_,o=e[t+0],r=e[t+1],i=e[t+2],s=e[t+3],n=e[t+4],a=e[t+5],p=e[t+6];e=e[t+7];return this.cursor_+=8,String.fromCharCode(o,r,i,s,n,a,p,e)},jspb.BinaryReader=function(e,t,o){this.decoder_=jspb.BinaryDecoder.alloc(e,t,o),this.fieldCursor_=this.decoder_.getCursor(),this.nextField_=jspb.BinaryConstants.INVALID_FIELD_NUMBER,this.nextWireType_=jspb.BinaryConstants.WireType.INVALID,this.error_=!1,this.readCallbacks_=null},jspb.BinaryReader.instanceCache_=[],jspb.BinaryReader.alloc=function(e,t,o){if(jspb.BinaryReader.instanceCache_.length){var r=jspb.BinaryReader.instanceCache_.pop();return e&&r.decoder_.setBlock(e,t,o),r}return new jspb.BinaryReader(e,t,o)},jspb.BinaryReader.prototype.alloc=jspb.BinaryReader.alloc,jspb.BinaryReader.prototype.free=function(){this.decoder_.clear(),this.nextField_=jspb.BinaryConstants.INVALID_FIELD_NUMBER,this.nextWireType_=jspb.BinaryConstants.WireType.INVALID,this.error_=!1,this.readCallbacks_=null,100>jspb.BinaryReader.instanceCache_.length&&jspb.BinaryReader.instanceCache_.push(this)},jspb.BinaryReader.prototype.getFieldCursor=function(){return this.fieldCursor_},jspb.BinaryReader.prototype.getCursor=function(){return this.decoder_.getCursor()},jspb.BinaryReader.prototype.getBuffer=function(){return this.decoder_.getBuffer()},jspb.BinaryReader.prototype.getFieldNumber=function(){return this.nextField_},jspb.BinaryReader.prototype.getWireType=function(){return this.nextWireType_},jspb.BinaryReader.prototype.isEndGroup=function(){return this.nextWireType_==jspb.BinaryConstants.WireType.END_GROUP},jspb.BinaryReader.prototype.getError=function(){return this.error_||this.decoder_.getError()},jspb.BinaryReader.prototype.setBlock=function(e,t,o){this.decoder_.setBlock(e,t,o),this.nextField_=jspb.BinaryConstants.INVALID_FIELD_NUMBER,this.nextWireType_=jspb.BinaryConstants.WireType.INVALID},jspb.BinaryReader.prototype.reset=function(){this.decoder_.reset(),this.nextField_=jspb.BinaryConstants.INVALID_FIELD_NUMBER,this.nextWireType_=jspb.BinaryConstants.WireType.INVALID},jspb.BinaryReader.prototype.advance=function(e){this.decoder_.advance(e)},jspb.BinaryReader.prototype.nextField=function(){if(this.decoder_.atEnd())return!1;if(this.getError())return goog.asserts.fail(\"Decoder hit an error\"),!1;this.fieldCursor_=this.decoder_.getCursor();var e,t=(e=this.decoder_.readUnsignedVarint32())>>>3;return(e=7&e)!=jspb.BinaryConstants.WireType.VARINT&&e!=jspb.BinaryConstants.WireType.FIXED32&&e!=jspb.BinaryConstants.WireType.FIXED64&&e!=jspb.BinaryConstants.WireType.DELIMITED&&e!=jspb.BinaryConstants.WireType.START_GROUP&&e!=jspb.BinaryConstants.WireType.END_GROUP?(goog.asserts.fail(\"Invalid wire type\"),this.error_=!0,!1):(this.nextField_=t,this.nextWireType_=e,!0)},jspb.BinaryReader.prototype.unskipHeader=function(){this.decoder_.unskipVarint(this.nextField_<<3|this.nextWireType_)},jspb.BinaryReader.prototype.skipMatchingFields=function(){var e=this.nextField_;for(this.unskipHeader();this.nextField()&&this.getFieldNumber()==e;)this.skipField();this.decoder_.atEnd()||this.unskipHeader()},jspb.BinaryReader.prototype.skipVarintField=function(){this.nextWireType_!=jspb.BinaryConstants.WireType.VARINT?(goog.asserts.fail(\"Invalid wire type for skipVarintField\"),this.skipField()):this.decoder_.skipVarint()},jspb.BinaryReader.prototype.skipDelimitedField=function(){if(this.nextWireType_!=jspb.BinaryConstants.WireType.DELIMITED)goog.asserts.fail(\"Invalid wire type for skipDelimitedField\"),this.skipField();else{var e=this.decoder_.readUnsignedVarint32();this.decoder_.advance(e)}},jspb.BinaryReader.prototype.skipFixed32Field=function(){this.nextWireType_!=jspb.BinaryConstants.WireType.FIXED32?(goog.asserts.fail(\"Invalid wire type for skipFixed32Field\"),this.skipField()):this.decoder_.advance(4)},jspb.BinaryReader.prototype.skipFixed64Field=function(){this.nextWireType_!=jspb.BinaryConstants.WireType.FIXED64?(goog.asserts.fail(\"Invalid wire type for skipFixed64Field\"),this.skipField()):this.decoder_.advance(8)},jspb.BinaryReader.prototype.skipGroup=function(){var e=[this.nextField_];do{if(!this.nextField()){goog.asserts.fail(\"Unmatched start-group tag: stream EOF\"),this.error_=!0;break}if(this.nextWireType_==jspb.BinaryConstants.WireType.START_GROUP)e.push(this.nextField_);else if(this.nextWireType_==jspb.BinaryConstants.WireType.END_GROUP&&this.nextField_!=e.pop()){goog.asserts.fail(\"Unmatched end-group tag\"),this.error_=!0;break}}while(0<e.length)},jspb.BinaryReader.prototype.skipField=function(){switch(this.nextWireType_){case jspb.BinaryConstants.WireType.VARINT:this.skipVarintField();break;case jspb.BinaryConstants.WireType.FIXED64:this.skipFixed64Field();break;case jspb.BinaryConstants.WireType.DELIMITED:this.skipDelimitedField();break;case jspb.BinaryConstants.WireType.FIXED32:this.skipFixed32Field();break;case jspb.BinaryConstants.WireType.START_GROUP:this.skipGroup();break;default:goog.asserts.fail(\"Invalid wire encoding for field.\")}},jspb.BinaryReader.prototype.registerReadCallback=function(e,t){goog.isNull(this.readCallbacks_)&&(this.readCallbacks_={}),goog.asserts.assert(!this.readCallbacks_[e]),this.readCallbacks_[e]=t},jspb.BinaryReader.prototype.runReadCallback=function(e){return goog.asserts.assert(!goog.isNull(this.readCallbacks_)),e=this.readCallbacks_[e],goog.asserts.assert(e),e(this)},jspb.BinaryReader.prototype.readAny=function(e){this.nextWireType_=jspb.BinaryConstants.FieldTypeToWireType(e);var t=jspb.BinaryConstants.FieldType;switch(e){case t.DOUBLE:return this.readDouble();case t.FLOAT:return this.readFloat();case t.INT64:return this.readInt64();case t.UINT64:return this.readUint64();case t.INT32:return this.readInt32();case t.FIXED64:return this.readFixed64();case t.FIXED32:return this.readFixed32();case t.BOOL:return this.readBool();case t.STRING:return this.readString();case t.GROUP:goog.asserts.fail(\"Group field type not supported in readAny()\");case t.MESSAGE:goog.asserts.fail(\"Message field type not supported in readAny()\");case t.BYTES:return this.readBytes();case t.UINT32:return this.readUint32();case t.ENUM:return this.readEnum();case t.SFIXED32:return this.readSfixed32();case t.SFIXED64:return this.readSfixed64();case t.SINT32:return this.readSint32();case t.SINT64:return this.readSint64();case t.FHASH64:return this.readFixedHash64();case t.VHASH64:return this.readVarintHash64();default:goog.asserts.fail(\"Invalid field type in readAny()\")}return 0},jspb.BinaryReader.prototype.readMessage=function(e,t){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var o=this.decoder_.getEnd(),r=this.decoder_.readUnsignedVarint32();r=this.decoder_.getCursor()+r;this.decoder_.setEnd(r),t(e,this),this.decoder_.setCursor(r),this.decoder_.setEnd(o)},jspb.BinaryReader.prototype.readGroup=function(e,t,o){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.START_GROUP),goog.asserts.assert(this.nextField_==e),o(t,this),this.error_||this.nextWireType_==jspb.BinaryConstants.WireType.END_GROUP||(goog.asserts.fail(\"Group submessage did not end with an END_GROUP tag\"),this.error_=!0)},jspb.BinaryReader.prototype.getFieldDecoder=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var e=this.decoder_.readUnsignedVarint32(),t=this.decoder_.getCursor(),o=t+e;e=jspb.BinaryDecoder.alloc(this.decoder_.getBuffer(),t,e);return this.decoder_.setCursor(o),e},jspb.BinaryReader.prototype.readInt32=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSignedVarint32()},jspb.BinaryReader.prototype.readInt32String=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSignedVarint32String()},jspb.BinaryReader.prototype.readInt64=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSignedVarint64()},jspb.BinaryReader.prototype.readInt64String=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSignedVarint64String()},jspb.BinaryReader.prototype.readUint32=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readUnsignedVarint32()},jspb.BinaryReader.prototype.readUint32String=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readUnsignedVarint32String()},jspb.BinaryReader.prototype.readUint64=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readUnsignedVarint64()},jspb.BinaryReader.prototype.readUint64String=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readUnsignedVarint64String()},jspb.BinaryReader.prototype.readSint32=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readZigzagVarint32()},jspb.BinaryReader.prototype.readSint64=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readZigzagVarint64()},jspb.BinaryReader.prototype.readSint64String=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readZigzagVarint64String()},jspb.BinaryReader.prototype.readFixed32=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED32),this.decoder_.readUint32()},jspb.BinaryReader.prototype.readFixed64=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readUint64()},jspb.BinaryReader.prototype.readFixed64String=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readUint64String()},jspb.BinaryReader.prototype.readSfixed32=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED32),this.decoder_.readInt32()},jspb.BinaryReader.prototype.readSfixed32String=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED32),this.decoder_.readInt32().toString()},jspb.BinaryReader.prototype.readSfixed64=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readInt64()},jspb.BinaryReader.prototype.readSfixed64String=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readInt64String()},jspb.BinaryReader.prototype.readFloat=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED32),this.decoder_.readFloat()},jspb.BinaryReader.prototype.readDouble=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readDouble()},jspb.BinaryReader.prototype.readBool=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),!!this.decoder_.readUnsignedVarint32()},jspb.BinaryReader.prototype.readEnum=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readSignedVarint64()},jspb.BinaryReader.prototype.readString=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var e=this.decoder_.readUnsignedVarint32();return this.decoder_.readString(e)},jspb.BinaryReader.prototype.readBytes=function(){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);var e=this.decoder_.readUnsignedVarint32();return this.decoder_.readBytes(e)},jspb.BinaryReader.prototype.readVarintHash64=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.VARINT),this.decoder_.readVarintHash64()},jspb.BinaryReader.prototype.readFixedHash64=function(){return goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.FIXED64),this.decoder_.readFixedHash64()},jspb.BinaryReader.prototype.readPackedField_=function(e){goog.asserts.assert(this.nextWireType_==jspb.BinaryConstants.WireType.DELIMITED);for(var t=this.decoder_.readUnsignedVarint32(),o=(t=this.decoder_.getCursor()+t,[]);this.decoder_.getCursor()<t;)o.push(e.call(this.decoder_));return o},jspb.BinaryReader.prototype.readPackedInt32=function(){return this.readPackedField_(this.decoder_.readSignedVarint32)},jspb.BinaryReader.prototype.readPackedInt32String=function(){return this.readPackedField_(this.decoder_.readSignedVarint32String)},jspb.BinaryReader.prototype.readPackedInt64=function(){return this.readPackedField_(this.decoder_.readSignedVarint64)},jspb.BinaryReader.prototype.readPackedInt64String=function(){return this.readPackedField_(this.decoder_.readSignedVarint64String)},jspb.BinaryReader.prototype.readPackedUint32=function(){return this.readPackedField_(this.decoder_.readUnsignedVarint32)},jspb.BinaryReader.prototype.readPackedUint32String=function(){return this.readPackedField_(this.decoder_.readUnsignedVarint32String)},jspb.BinaryReader.prototype.readPackedUint64=function(){return this.readPackedField_(this.decoder_.readUnsignedVarint64)},jspb.BinaryReader.prototype.readPackedUint64String=function(){return this.readPackedField_(this.decoder_.readUnsignedVarint64String)},jspb.BinaryReader.prototype.readPackedSint32=function(){return this.readPackedField_(this.decoder_.readZigzagVarint32)},jspb.BinaryReader.prototype.readPackedSint64=function(){return this.readPackedField_(this.decoder_.readZigzagVarint64)},jspb.BinaryReader.prototype.readPackedSint64String=function(){return this.readPackedField_(this.decoder_.readZigzagVarint64String)},jspb.BinaryReader.prototype.readPackedFixed32=function(){return this.readPackedField_(this.decoder_.readUint32)},jspb.BinaryReader.prototype.readPackedFixed64=function(){return this.readPackedField_(this.decoder_.readUint64)},jspb.BinaryReader.prototype.readPackedFixed64String=function(){return this.readPackedField_(this.decoder_.readUint64String)},jspb.BinaryReader.prototype.readPackedSfixed32=function(){return this.readPackedField_(this.decoder_.readInt32)},jspb.BinaryReader.prototype.readPackedSfixed64=function(){return this.readPackedField_(this.decoder_.readInt64)},jspb.BinaryReader.prototype.readPackedSfixed64String=function(){return this.readPackedField_(this.decoder_.readInt64String)},jspb.BinaryReader.prototype.readPackedFloat=function(){return this.readPackedField_(this.decoder_.readFloat)},jspb.BinaryReader.prototype.readPackedDouble=function(){return this.readPackedField_(this.decoder_.readDouble)},jspb.BinaryReader.prototype.readPackedBool=function(){return this.readPackedField_(this.decoder_.readBool)},jspb.BinaryReader.prototype.readPackedEnum=function(){return this.readPackedField_(this.decoder_.readEnum)},jspb.BinaryReader.prototype.readPackedVarintHash64=function(){return this.readPackedField_(this.decoder_.readVarintHash64)},jspb.BinaryReader.prototype.readPackedFixedHash64=function(){return this.readPackedField_(this.decoder_.readFixedHash64)},jspb.Export={},exports.Map=jspb.Map,exports.Message=jspb.Message,exports.BinaryReader=jspb.BinaryReader,exports.BinaryWriter=jspb.BinaryWriter,exports.ExtensionFieldInfo=jspb.ExtensionFieldInfo,exports.ExtensionFieldBinaryInfo=jspb.ExtensionFieldBinaryInfo,exports.exportSymbol=goog.exportSymbol,exports.inherits=goog.inherits,exports.object={extend:goog.object.extend},exports.typeOf=goog.typeOf}).call(this,__webpack_require__(5),__webpack_require__(12).Buffer)},function(e,t,o){var r=o(0),i=r,s=Function(\"return this\")();i.exportSymbol(\"proto.BVCU.PUConfig.Bluetooth\",null,s),i.exportSymbol(\"proto.BVCU.PUConfig.BluetoothObj\",null,s),i.exportSymbol(\"proto.BVCU.PUConfig.CarInfo\",null,s),i.exportSymbol(\"proto.BVCU.PUConfig.Cruise\",null,s),i.exportSymbol(\"proto.BVCU.PUConfig.CruisePoint\",null,s),i.exportSymbol(\"proto.BVCU.PUConfig.DayTimeSlice\",null,s),i.exportSymbol(\"proto.BVCU.PUConfig.DeviceInfo\",null,s),i.exportSymbol(\"proto.BVCU.PUConfig.DriverInfo\",null,s),i.exportSymbol(\"proto.BVCU.PUConfig.ENCFG_Candidate\",null,s),i.exportSymbol(\"proto.BVCU.PUConfig.Ethernet\",null,s),i.exportSymbol(\"proto.BVCU.PUConfig.GPSData\",null,s),i.exportSymbol(\"proto.BVCU.PUConfig.GPSParam\",null,s),i.exportSymbol(\"proto.BVCU.PUConfig.LicencePlateInfo\",null,s),i.exportSymbol(\"proto.BVCU.PUConfig.ManualRecord\",null,s),i.exportSymbol(\"proto.BVCU.PUConfig.OpenDialog\",null,s),i.exportSymbol(\"proto.BVCU.PUConfig.PTZControl\",null,s),i.exportSymbol(\"proto.BVCU.PUConfig.PUChannelInfo\",null,s),i.exportSymbol(\"proto.BVCU.PUConfig.PUOneChannelInfo\",null,s),i.exportSymbol(\"proto.BVCU.PUConfig.PersonInfo\",null,s),i.exportSymbol(\"proto.BVCU.PUConfig.RS232\",null,s),i.exportSymbol(\"proto.BVCU.PUConfig.RadioNetwork\",null,s),i.exportSymbol(\"proto.BVCU.PUConfig.RadioNetworkAll\",null,s),i.exportSymbol(\"proto.BVCU.PUConfig.RecordStatus\",null,s),i.exportSymbol(\"proto.BVCU.PUConfig.SerialPort\",null,s),i.exportSymbol(\"proto.BVCU.PUConfig.Snapshot\",null,s),i.exportSymbol(\"proto.BVCU.PUConfig.UpdateStatus\",null,s),i.exportSymbol(\"proto.BVCU.PUConfig.Upgrade\",null,s),i.exportSymbol(\"proto.BVCU.PUConfig.UserGroupInfo\",null,s),i.exportSymbol(\"proto.BVCU.PUConfig.UserInfo\",null,s),i.exportSymbol(\"proto.BVCU.PUConfig.WallTime\",null,s),i.exportSymbol(\"proto.BVCU.PUConfig.WeekTimeSlice\",null,s),i.exportSymbol(\"proto.BVCU.PUConfig.WeekTimeSlice.DayTimeSlices\",null,s),i.exportSymbol(\"proto.BVCU.PUConfig.Wifi\",null,s),i.exportSymbol(\"proto.BVCU.PUConfig.WifiAP\",null,s),i.exportSymbol(\"proto.BVCU.PUConfig.WifiGeneral\",null,s),i.exportSymbol(\"proto.BVCU.PUConfig.WifiHotSpot\",null,s),i.exportSymbol(\"proto.BVCU.PUConfig.ZFYInfo\",null,s),proto.BVCU.PUConfig.DayTimeSlice=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.BVCU.PUConfig.DayTimeSlice,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.PUConfig.DayTimeSlice.displayName=\"proto.BVCU.PUConfig.DayTimeSlice\"),r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.PUConfig.DayTimeSlice.prototype.toObject=function(e){return proto.BVCU.PUConfig.DayTimeSlice.toObject(e,this)},proto.BVCU.PUConfig.DayTimeSlice.toObject=function(e,t){var o={chourbegin:r.Message.getField(t,1),cminutebegin:r.Message.getField(t,2),csecondbegin:r.Message.getField(t,3),chourend:r.Message.getField(t,4),cminuteend:r.Message.getField(t,5),csecondend:r.Message.getField(t,6)};return e&&(o.$jspbMessageInstance=t),o}),proto.BVCU.PUConfig.DayTimeSlice.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.PUConfig.DayTimeSlice;return proto.BVCU.PUConfig.DayTimeSlice.deserializeBinaryFromReader(o,t)},proto.BVCU.PUConfig.DayTimeSlice.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readUint32();e.setChourbegin(o);break;case 2:o=t.readUint32();e.setCminutebegin(o);break;case 3:o=t.readUint32();e.setCsecondbegin(o);break;case 4:o=t.readUint32();e.setChourend(o);break;case 5:o=t.readUint32();e.setCminuteend(o);break;case 6:o=t.readUint32();e.setCsecondend(o);break;default:t.skipField()}}return e},proto.BVCU.PUConfig.DayTimeSlice.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.PUConfig.DayTimeSlice.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.PUConfig.DayTimeSlice.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeUint32(1,o),null!=(o=r.Message.getField(e,2))&&t.writeUint32(2,o),null!=(o=r.Message.getField(e,3))&&t.writeUint32(3,o),null!=(o=r.Message.getField(e,4))&&t.writeUint32(4,o),null!=(o=r.Message.getField(e,5))&&t.writeUint32(5,o),null!=(o=r.Message.getField(e,6))&&t.writeUint32(6,o)},proto.BVCU.PUConfig.DayTimeSlice.prototype.getChourbegin=function(){return r.Message.getFieldWithDefault(this,1,0)},proto.BVCU.PUConfig.DayTimeSlice.prototype.setChourbegin=function(e){r.Message.setField(this,1,e)},proto.BVCU.PUConfig.DayTimeSlice.prototype.clearChourbegin=function(){r.Message.setField(this,1,void 0)},proto.BVCU.PUConfig.DayTimeSlice.prototype.hasChourbegin=function(){return null!=r.Message.getField(this,1)},proto.BVCU.PUConfig.DayTimeSlice.prototype.getCminutebegin=function(){return r.Message.getFieldWithDefault(this,2,0)},proto.BVCU.PUConfig.DayTimeSlice.prototype.setCminutebegin=function(e){r.Message.setField(this,2,e)},proto.BVCU.PUConfig.DayTimeSlice.prototype.clearCminutebegin=function(){r.Message.setField(this,2,void 0)},proto.BVCU.PUConfig.DayTimeSlice.prototype.hasCminutebegin=function(){return null!=r.Message.getField(this,2)},proto.BVCU.PUConfig.DayTimeSlice.prototype.getCsecondbegin=function(){return r.Message.getFieldWithDefault(this,3,0)},proto.BVCU.PUConfig.DayTimeSlice.prototype.setCsecondbegin=function(e){r.Message.setField(this,3,e)},proto.BVCU.PUConfig.DayTimeSlice.prototype.clearCsecondbegin=function(){r.Message.setField(this,3,void 0)},proto.BVCU.PUConfig.DayTimeSlice.prototype.hasCsecondbegin=function(){return null!=r.Message.getField(this,3)},proto.BVCU.PUConfig.DayTimeSlice.prototype.getChourend=function(){return r.Message.getFieldWithDefault(this,4,0)},proto.BVCU.PUConfig.DayTimeSlice.prototype.setChourend=function(e){r.Message.setField(this,4,e)},proto.BVCU.PUConfig.DayTimeSlice.prototype.clearChourend=function(){r.Message.setField(this,4,void 0)},proto.BVCU.PUConfig.DayTimeSlice.prototype.hasChourend=function(){return null!=r.Message.getField(this,4)},proto.BVCU.PUConfig.DayTimeSlice.prototype.getCminuteend=function(){return r.Message.getFieldWithDefault(this,5,0)},proto.BVCU.PUConfig.DayTimeSlice.prototype.setCminuteend=function(e){r.Message.setField(this,5,e)},proto.BVCU.PUConfig.DayTimeSlice.prototype.clearCminuteend=function(){r.Message.setField(this,5,void 0)},proto.BVCU.PUConfig.DayTimeSlice.prototype.hasCminuteend=function(){return null!=r.Message.getField(this,5)},proto.BVCU.PUConfig.DayTimeSlice.prototype.getCsecondend=function(){return r.Message.getFieldWithDefault(this,6,0)},proto.BVCU.PUConfig.DayTimeSlice.prototype.setCsecondend=function(e){r.Message.setField(this,6,e)},proto.BVCU.PUConfig.DayTimeSlice.prototype.clearCsecondend=function(){r.Message.setField(this,6,void 0)},proto.BVCU.PUConfig.DayTimeSlice.prototype.hasCsecondend=function(){return null!=r.Message.getField(this,6)},proto.BVCU.PUConfig.WeekTimeSlice=function(e){r.Message.initialize(this,e,0,-1,proto.BVCU.PUConfig.WeekTimeSlice.repeatedFields_,null)},i.inherits(proto.BVCU.PUConfig.WeekTimeSlice,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.PUConfig.WeekTimeSlice.displayName=\"proto.BVCU.PUConfig.WeekTimeSlice\"),proto.BVCU.PUConfig.WeekTimeSlice.repeatedFields_=[1],r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.PUConfig.WeekTimeSlice.prototype.toObject=function(e){return proto.BVCU.PUConfig.WeekTimeSlice.toObject(e,this)},proto.BVCU.PUConfig.WeekTimeSlice.toObject=function(e,t){var o={stweekList:r.Message.toObjectList(t.getStweekList(),proto.BVCU.PUConfig.WeekTimeSlice.DayTimeSlices.toObject,e)};return e&&(o.$jspbMessageInstance=t),o}),proto.BVCU.PUConfig.WeekTimeSlice.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.PUConfig.WeekTimeSlice;return proto.BVCU.PUConfig.WeekTimeSlice.deserializeBinaryFromReader(o,t)},proto.BVCU.PUConfig.WeekTimeSlice.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=new proto.BVCU.PUConfig.WeekTimeSlice.DayTimeSlices;t.readMessage(o,proto.BVCU.PUConfig.WeekTimeSlice.DayTimeSlices.deserializeBinaryFromReader),e.addStweek(o);break;default:t.skipField()}}return e},proto.BVCU.PUConfig.WeekTimeSlice.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.PUConfig.WeekTimeSlice.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.PUConfig.WeekTimeSlice.serializeBinaryToWriter=function(e,t){var o;(o=e.getStweekList()).length>0&&t.writeRepeatedMessage(1,o,proto.BVCU.PUConfig.WeekTimeSlice.DayTimeSlices.serializeBinaryToWriter)},proto.BVCU.PUConfig.WeekTimeSlice.DayTimeSlices=function(e){r.Message.initialize(this,e,0,-1,proto.BVCU.PUConfig.WeekTimeSlice.DayTimeSlices.repeatedFields_,null)},i.inherits(proto.BVCU.PUConfig.WeekTimeSlice.DayTimeSlices,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.PUConfig.WeekTimeSlice.DayTimeSlices.displayName=\"proto.BVCU.PUConfig.WeekTimeSlice.DayTimeSlices\"),proto.BVCU.PUConfig.WeekTimeSlice.DayTimeSlices.repeatedFields_=[1],r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.PUConfig.WeekTimeSlice.DayTimeSlices.prototype.toObject=function(e){return proto.BVCU.PUConfig.WeekTimeSlice.DayTimeSlices.toObject(e,this)},proto.BVCU.PUConfig.WeekTimeSlice.DayTimeSlices.toObject=function(e,t){var o={stdayList:r.Message.toObjectList(t.getStdayList(),proto.BVCU.PUConfig.DayTimeSlice.toObject,e)};return e&&(o.$jspbMessageInstance=t),o}),proto.BVCU.PUConfig.WeekTimeSlice.DayTimeSlices.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.PUConfig.WeekTimeSlice.DayTimeSlices;return proto.BVCU.PUConfig.WeekTimeSlice.DayTimeSlices.deserializeBinaryFromReader(o,t)},proto.BVCU.PUConfig.WeekTimeSlice.DayTimeSlices.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=new proto.BVCU.PUConfig.DayTimeSlice;t.readMessage(o,proto.BVCU.PUConfig.DayTimeSlice.deserializeBinaryFromReader),e.addStday(o);break;default:t.skipField()}}return e},proto.BVCU.PUConfig.WeekTimeSlice.DayTimeSlices.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.PUConfig.WeekTimeSlice.DayTimeSlices.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.PUConfig.WeekTimeSlice.DayTimeSlices.serializeBinaryToWriter=function(e,t){var o;(o=e.getStdayList()).length>0&&t.writeRepeatedMessage(1,o,proto.BVCU.PUConfig.DayTimeSlice.serializeBinaryToWriter)},proto.BVCU.PUConfig.WeekTimeSlice.DayTimeSlices.prototype.getStdayList=function(){return r.Message.getRepeatedWrapperField(this,proto.BVCU.PUConfig.DayTimeSlice,1)},proto.BVCU.PUConfig.WeekTimeSlice.DayTimeSlices.prototype.setStdayList=function(e){r.Message.setRepeatedWrapperField(this,1,e)},proto.BVCU.PUConfig.WeekTimeSlice.DayTimeSlices.prototype.addStday=function(e,t){return r.Message.addToRepeatedWrapperField(this,1,e,proto.BVCU.PUConfig.DayTimeSlice,t)},proto.BVCU.PUConfig.WeekTimeSlice.DayTimeSlices.prototype.clearStdayList=function(){this.setStdayList([])},proto.BVCU.PUConfig.WeekTimeSlice.prototype.getStweekList=function(){return r.Message.getRepeatedWrapperField(this,proto.BVCU.PUConfig.WeekTimeSlice.DayTimeSlices,1)},proto.BVCU.PUConfig.WeekTimeSlice.prototype.setStweekList=function(e){r.Message.setRepeatedWrapperField(this,1,e)},proto.BVCU.PUConfig.WeekTimeSlice.prototype.addStweek=function(e,t){return r.Message.addToRepeatedWrapperField(this,1,e,proto.BVCU.PUConfig.WeekTimeSlice.DayTimeSlices,t)},proto.BVCU.PUConfig.WeekTimeSlice.prototype.clearStweekList=function(){this.setStweekList([])},proto.BVCU.PUConfig.WallTime=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.BVCU.PUConfig.WallTime,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.PUConfig.WallTime.displayName=\"proto.BVCU.PUConfig.WallTime\"),r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.PUConfig.WallTime.prototype.toObject=function(e){return proto.BVCU.PUConfig.WallTime.toObject(e,this)},proto.BVCU.PUConfig.WallTime.toObject=function(e,t){var o={iyear:r.Message.getField(t,1),imonth:r.Message.getField(t,2),iday:r.Message.getField(t,3),ihour:r.Message.getField(t,4),iminute:r.Message.getField(t,5),isecond:r.Message.getField(t,6)};return e&&(o.$jspbMessageInstance=t),o}),proto.BVCU.PUConfig.WallTime.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.PUConfig.WallTime;return proto.BVCU.PUConfig.WallTime.deserializeBinaryFromReader(o,t)},proto.BVCU.PUConfig.WallTime.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readUint32();e.setIyear(o);break;case 2:o=t.readUint32();e.setImonth(o);break;case 3:o=t.readUint32();e.setIday(o);break;case 4:o=t.readUint32();e.setIhour(o);break;case 5:o=t.readUint32();e.setIminute(o);break;case 6:o=t.readUint32();e.setIsecond(o);break;default:t.skipField()}}return e},proto.BVCU.PUConfig.WallTime.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.PUConfig.WallTime.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.PUConfig.WallTime.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeUint32(1,o),null!=(o=r.Message.getField(e,2))&&t.writeUint32(2,o),null!=(o=r.Message.getField(e,3))&&t.writeUint32(3,o),null!=(o=r.Message.getField(e,4))&&t.writeUint32(4,o),null!=(o=r.Message.getField(e,5))&&t.writeUint32(5,o),null!=(o=r.Message.getField(e,6))&&t.writeUint32(6,o)},proto.BVCU.PUConfig.WallTime.prototype.getIyear=function(){return r.Message.getFieldWithDefault(this,1,0)},proto.BVCU.PUConfig.WallTime.prototype.setIyear=function(e){r.Message.setField(this,1,e)},proto.BVCU.PUConfig.WallTime.prototype.clearIyear=function(){r.Message.setField(this,1,void 0)},proto.BVCU.PUConfig.WallTime.prototype.hasIyear=function(){return null!=r.Message.getField(this,1)},proto.BVCU.PUConfig.WallTime.prototype.getImonth=function(){return r.Message.getFieldWithDefault(this,2,0)},proto.BVCU.PUConfig.WallTime.prototype.setImonth=function(e){r.Message.setField(this,2,e)},proto.BVCU.PUConfig.WallTime.prototype.clearImonth=function(){r.Message.setField(this,2,void 0)},proto.BVCU.PUConfig.WallTime.prototype.hasImonth=function(){return null!=r.Message.getField(this,2)},proto.BVCU.PUConfig.WallTime.prototype.getIday=function(){return r.Message.getFieldWithDefault(this,3,0)},proto.BVCU.PUConfig.WallTime.prototype.setIday=function(e){r.Message.setField(this,3,e)},proto.BVCU.PUConfig.WallTime.prototype.clearIday=function(){r.Message.setField(this,3,void 0)},proto.BVCU.PUConfig.WallTime.prototype.hasIday=function(){return null!=r.Message.getField(this,3)},proto.BVCU.PUConfig.WallTime.prototype.getIhour=function(){return r.Message.getFieldWithDefault(this,4,0)},proto.BVCU.PUConfig.WallTime.prototype.setIhour=function(e){r.Message.setField(this,4,e)},proto.BVCU.PUConfig.WallTime.prototype.clearIhour=function(){r.Message.setField(this,4,void 0)},proto.BVCU.PUConfig.WallTime.prototype.hasIhour=function(){return null!=r.Message.getField(this,4)},proto.BVCU.PUConfig.WallTime.prototype.getIminute=function(){return r.Message.getFieldWithDefault(this,5,0)},proto.BVCU.PUConfig.WallTime.prototype.setIminute=function(e){r.Message.setField(this,5,e)},proto.BVCU.PUConfig.WallTime.prototype.clearIminute=function(){r.Message.setField(this,5,void 0)},proto.BVCU.PUConfig.WallTime.prototype.hasIminute=function(){return null!=r.Message.getField(this,5)},proto.BVCU.PUConfig.WallTime.prototype.getIsecond=function(){return r.Message.getFieldWithDefault(this,6,0)},proto.BVCU.PUConfig.WallTime.prototype.setIsecond=function(e){r.Message.setField(this,6,e)},proto.BVCU.PUConfig.WallTime.prototype.clearIsecond=function(){r.Message.setField(this,6,void 0)},proto.BVCU.PUConfig.WallTime.prototype.hasIsecond=function(){return null!=r.Message.getField(this,6)},proto.BVCU.PUConfig.ENCFG_Candidate=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.BVCU.PUConfig.ENCFG_Candidate,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.PUConfig.ENCFG_Candidate.displayName=\"proto.BVCU.PUConfig.ENCFG_Candidate\"),r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.PUConfig.ENCFG_Candidate.prototype.toObject=function(e){return proto.BVCU.PUConfig.ENCFG_Candidate.toObject(e,this)},proto.BVCU.PUConfig.ENCFG_Candidate.toObject=function(e,t){var o={itype:r.Message.getField(t,1),iport:r.Message.getField(t,2),sIp:r.Message.getField(t,3)};return e&&(o.$jspbMessageInstance=t),o}),proto.BVCU.PUConfig.ENCFG_Candidate.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.PUConfig.ENCFG_Candidate;return proto.BVCU.PUConfig.ENCFG_Candidate.deserializeBinaryFromReader(o,t)},proto.BVCU.PUConfig.ENCFG_Candidate.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readUint32();e.setItype(o);break;case 2:o=t.readUint32();e.setIport(o);break;case 3:o=t.readUint32();e.setSIp(o);break;default:t.skipField()}}return e},proto.BVCU.PUConfig.ENCFG_Candidate.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.PUConfig.ENCFG_Candidate.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.PUConfig.ENCFG_Candidate.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeUint32(1,o),null!=(o=r.Message.getField(e,2))&&t.writeUint32(2,o),null!=(o=r.Message.getField(e,3))&&t.writeUint32(3,o)},proto.BVCU.PUConfig.ENCFG_Candidate.prototype.getItype=function(){return r.Message.getFieldWithDefault(this,1,0)},proto.BVCU.PUConfig.ENCFG_Candidate.prototype.setItype=function(e){r.Message.setField(this,1,e)},proto.BVCU.PUConfig.ENCFG_Candidate.prototype.clearItype=function(){r.Message.setField(this,1,void 0)},proto.BVCU.PUConfig.ENCFG_Candidate.prototype.hasItype=function(){return null!=r.Message.getField(this,1)},proto.BVCU.PUConfig.ENCFG_Candidate.prototype.getIport=function(){return r.Message.getFieldWithDefault(this,2,0)},proto.BVCU.PUConfig.ENCFG_Candidate.prototype.setIport=function(e){r.Message.setField(this,2,e)},proto.BVCU.PUConfig.ENCFG_Candidate.prototype.clearIport=function(){r.Message.setField(this,2,void 0)},proto.BVCU.PUConfig.ENCFG_Candidate.prototype.hasIport=function(){return null!=r.Message.getField(this,2)},proto.BVCU.PUConfig.ENCFG_Candidate.prototype.getSIp=function(){return r.Message.getFieldWithDefault(this,3,0)},proto.BVCU.PUConfig.ENCFG_Candidate.prototype.setSIp=function(e){r.Message.setField(this,3,e)},proto.BVCU.PUConfig.ENCFG_Candidate.prototype.clearSIp=function(){r.Message.setField(this,3,void 0)},proto.BVCU.PUConfig.ENCFG_Candidate.prototype.hasSIp=function(){return null!=r.Message.getField(this,3)},proto.BVCU.PUConfig.PUOneChannelInfo=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.BVCU.PUConfig.PUOneChannelInfo,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.PUConfig.PUOneChannelInfo.displayName=\"proto.BVCU.PUConfig.PUOneChannelInfo\"),r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.PUConfig.PUOneChannelInfo.prototype.toObject=function(e){return proto.BVCU.PUConfig.PUOneChannelInfo.toObject(e,this)},proto.BVCU.PUConfig.PUOneChannelInfo.toObject=function(e,t){var o={ichannelindex:r.Message.getField(t,4),imediadir:r.Message.getField(t,1),iptz:r.Message.getField(t,2),szname:r.Message.getField(t,3)};return e&&(o.$jspbMessageInstance=t),o}),proto.BVCU.PUConfig.PUOneChannelInfo.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.PUConfig.PUOneChannelInfo;return proto.BVCU.PUConfig.PUOneChannelInfo.deserializeBinaryFromReader(o,t)},proto.BVCU.PUConfig.PUOneChannelInfo.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 4:var o=t.readUint32();e.setIchannelindex(o);break;case 1:o=t.readUint32();e.setImediadir(o);break;case 2:o=t.readInt32();e.setIptz(o);break;case 3:o=t.readString();e.setSzname(o);break;default:t.skipField()}}return e},proto.BVCU.PUConfig.PUOneChannelInfo.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.PUConfig.PUOneChannelInfo.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.PUConfig.PUOneChannelInfo.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,4))&&t.writeUint32(4,o),null!=(o=r.Message.getField(e,1))&&t.writeUint32(1,o),null!=(o=r.Message.getField(e,2))&&t.writeInt32(2,o),null!=(o=r.Message.getField(e,3))&&t.writeString(3,o)},proto.BVCU.PUConfig.PUOneChannelInfo.prototype.getIchannelindex=function(){return r.Message.getFieldWithDefault(this,4,0)},proto.BVCU.PUConfig.PUOneChannelInfo.prototype.setIchannelindex=function(e){r.Message.setField(this,4,e)},proto.BVCU.PUConfig.PUOneChannelInfo.prototype.clearIchannelindex=function(){r.Message.setField(this,4,void 0)},proto.BVCU.PUConfig.PUOneChannelInfo.prototype.hasIchannelindex=function(){return null!=r.Message.getField(this,4)},proto.BVCU.PUConfig.PUOneChannelInfo.prototype.getImediadir=function(){return r.Message.getFieldWithDefault(this,1,0)},proto.BVCU.PUConfig.PUOneChannelInfo.prototype.setImediadir=function(e){r.Message.setField(this,1,e)},proto.BVCU.PUConfig.PUOneChannelInfo.prototype.clearImediadir=function(){r.Message.setField(this,1,void 0)},proto.BVCU.PUConfig.PUOneChannelInfo.prototype.hasImediadir=function(){return null!=r.Message.getField(this,1)},proto.BVCU.PUConfig.PUOneChannelInfo.prototype.getIptz=function(){return r.Message.getFieldWithDefault(this,2,0)},proto.BVCU.PUConfig.PUOneChannelInfo.prototype.setIptz=function(e){r.Message.setField(this,2,e)},proto.BVCU.PUConfig.PUOneChannelInfo.prototype.clearIptz=function(){r.Message.setField(this,2,void 0)},proto.BVCU.PUConfig.PUOneChannelInfo.prototype.hasIptz=function(){return null!=r.Message.getField(this,2)},proto.BVCU.PUConfig.PUOneChannelInfo.prototype.getSzname=function(){return r.Message.getFieldWithDefault(this,3,\"\")},proto.BVCU.PUConfig.PUOneChannelInfo.prototype.setSzname=function(e){r.Message.setField(this,3,e)},proto.BVCU.PUConfig.PUOneChannelInfo.prototype.clearSzname=function(){r.Message.setField(this,3,void 0)},proto.BVCU.PUConfig.PUOneChannelInfo.prototype.hasSzname=function(){return null!=r.Message.getField(this,3)},proto.BVCU.PUConfig.PUChannelInfo=function(e){r.Message.initialize(this,e,0,-1,proto.BVCU.PUConfig.PUChannelInfo.repeatedFields_,null)},i.inherits(proto.BVCU.PUConfig.PUChannelInfo,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.PUConfig.PUChannelInfo.displayName=\"proto.BVCU.PUConfig.PUChannelInfo\"),proto.BVCU.PUConfig.PUChannelInfo.repeatedFields_=[4],r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.PUConfig.PUChannelInfo.prototype.toObject=function(e){return proto.BVCU.PUConfig.PUChannelInfo.toObject(e,this)},proto.BVCU.PUConfig.PUChannelInfo.toObject=function(e,t){var o,i={szid:r.Message.getField(t,1),szpuname:r.Message.getField(t,2),pchannelList:r.Message.toObjectList(t.getPchannelList(),proto.BVCU.PUConfig.PUOneChannelInfo.toObject,e),ionlinestatus:r.Message.getField(t,5),ionlinethrough:r.Message.getField(t,12),istreampathway:r.Message.getFieldWithDefault(t,13,1),stonlinetime:(o=t.getStonlinetime())&&proto.BVCU.PUConfig.WallTime.toObject(e,o),stboottime:(o=t.getStboottime())&&proto.BVCU.PUConfig.WallTime.toObject(e,o),ibootduration:r.Message.getField(t,11),stipaddr:(o=t.getStipaddr())&&proto.BVCU.PUConfig.ENCFG_Candidate.toObject(e,o),iavcount:r.Message.getField(t,15),ivideoincount:r.Message.getField(t,16),iaudioincount:r.Message.getField(t,17),iaudiooutcount:r.Message.getField(t,18),iptzcount:r.Message.getField(t,19),iserialportcount:r.Message.getField(t,20),ialertincount:r.Message.getField(t,21),ialertoutcount:r.Message.getField(t,22),istoragecount:r.Message.getField(t,23),igpscount:r.Message.getField(t,6),ilongitude:r.Message.getFieldWithDefault(t,7,2e9),ilatitude:r.Message.getFieldWithDefault(t,8,2e9)};return e&&(i.$jspbMessageInstance=t),i}),proto.BVCU.PUConfig.PUChannelInfo.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.PUConfig.PUChannelInfo;return proto.BVCU.PUConfig.PUChannelInfo.deserializeBinaryFromReader(o,t)},proto.BVCU.PUConfig.PUChannelInfo.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readString();e.setSzid(o);break;case 2:o=t.readString();e.setSzpuname(o);break;case 4:o=new proto.BVCU.PUConfig.PUOneChannelInfo;t.readMessage(o,proto.BVCU.PUConfig.PUOneChannelInfo.deserializeBinaryFromReader),e.addPchannel(o);break;case 5:o=t.readUint32();e.setIonlinestatus(o);break;case 12:o=t.readUint32();e.setIonlinethrough(o);break;case 13:o=t.readUint32();e.setIstreampathway(o);break;case 9:o=new proto.BVCU.PUConfig.WallTime;t.readMessage(o,proto.BVCU.PUConfig.WallTime.deserializeBinaryFromReader),e.setStonlinetime(o);break;case 10:o=new proto.BVCU.PUConfig.WallTime;t.readMessage(o,proto.BVCU.PUConfig.WallTime.deserializeBinaryFromReader),e.setStboottime(o);break;case 11:o=t.readUint32();e.setIbootduration(o);break;case 14:o=new proto.BVCU.PUConfig.ENCFG_Candidate;t.readMessage(o,proto.BVCU.PUConfig.ENCFG_Candidate.deserializeBinaryFromReader),e.setStipaddr(o);break;case 15:o=t.readUint32();e.setIavcount(o);break;case 16:o=t.readUint32();e.setIvideoincount(o);break;case 17:o=t.readUint32();e.setIaudioincount(o);break;case 18:o=t.readUint32();e.setIaudiooutcount(o);break;case 19:o=t.readUint32();e.setIptzcount(o);break;case 20:o=t.readUint32();e.setIserialportcount(o);break;case 21:o=t.readUint32();e.setIalertincount(o);break;case 22:o=t.readUint32();e.setIalertoutcount(o);break;case 23:o=t.readUint32();e.setIstoragecount(o);break;case 6:o=t.readUint32();e.setIgpscount(o);break;case 7:o=t.readUint32();e.setIlongitude(o);break;case 8:o=t.readUint32();e.setIlatitude(o);break;default:t.skipField()}}return e},proto.BVCU.PUConfig.PUChannelInfo.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.PUConfig.PUChannelInfo.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.PUConfig.PUChannelInfo.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeString(1,o),null!=(o=r.Message.getField(e,2))&&t.writeString(2,o),(o=e.getPchannelList()).length>0&&t.writeRepeatedMessage(4,o,proto.BVCU.PUConfig.PUOneChannelInfo.serializeBinaryToWriter),null!=(o=r.Message.getField(e,5))&&t.writeUint32(5,o),null!=(o=r.Message.getField(e,12))&&t.writeUint32(12,o),null!=(o=r.Message.getField(e,13))&&t.writeUint32(13,o),null!=(o=e.getStonlinetime())&&t.writeMessage(9,o,proto.BVCU.PUConfig.WallTime.serializeBinaryToWriter),null!=(o=e.getStboottime())&&t.writeMessage(10,o,proto.BVCU.PUConfig.WallTime.serializeBinaryToWriter),null!=(o=r.Message.getField(e,11))&&t.writeUint32(11,o),null!=(o=e.getStipaddr())&&t.writeMessage(14,o,proto.BVCU.PUConfig.ENCFG_Candidate.serializeBinaryToWriter),null!=(o=r.Message.getField(e,15))&&t.writeUint32(15,o),null!=(o=r.Message.getField(e,16))&&t.writeUint32(16,o),null!=(o=r.Message.getField(e,17))&&t.writeUint32(17,o),null!=(o=r.Message.getField(e,18))&&t.writeUint32(18,o),null!=(o=r.Message.getField(e,19))&&t.writeUint32(19,o),null!=(o=r.Message.getField(e,20))&&t.writeUint32(20,o),null!=(o=r.Message.getField(e,21))&&t.writeUint32(21,o),null!=(o=r.Message.getField(e,22))&&t.writeUint32(22,o),null!=(o=r.Message.getField(e,23))&&t.writeUint32(23,o),null!=(o=r.Message.getField(e,6))&&t.writeUint32(6,o),null!=(o=r.Message.getField(e,7))&&t.writeUint32(7,o),null!=(o=r.Message.getField(e,8))&&t.writeUint32(8,o)},proto.BVCU.PUConfig.PUChannelInfo.prototype.getSzid=function(){return r.Message.getFieldWithDefault(this,1,\"\")},proto.BVCU.PUConfig.PUChannelInfo.prototype.setSzid=function(e){r.Message.setField(this,1,e)},proto.BVCU.PUConfig.PUChannelInfo.prototype.clearSzid=function(){r.Message.setField(this,1,void 0)},proto.BVCU.PUConfig.PUChannelInfo.prototype.hasSzid=function(){return null!=r.Message.getField(this,1)},proto.BVCU.PUConfig.PUChannelInfo.prototype.getSzpuname=function(){return r.Message.getFieldWithDefault(this,2,\"\")},proto.BVCU.PUConfig.PUChannelInfo.prototype.setSzpuname=function(e){r.Message.setField(this,2,e)},proto.BVCU.PUConfig.PUChannelInfo.prototype.clearSzpuname=function(){r.Message.setField(this,2,void 0)},proto.BVCU.PUConfig.PUChannelInfo.prototype.hasSzpuname=function(){return null!=r.Message.getField(this,2)},proto.BVCU.PUConfig.PUChannelInfo.prototype.getPchannelList=function(){return r.Message.getRepeatedWrapperField(this,proto.BVCU.PUConfig.PUOneChannelInfo,4)},proto.BVCU.PUConfig.PUChannelInfo.prototype.setPchannelList=function(e){r.Message.setRepeatedWrapperField(this,4,e)},proto.BVCU.PUConfig.PUChannelInfo.prototype.addPchannel=function(e,t){return r.Message.addToRepeatedWrapperField(this,4,e,proto.BVCU.PUConfig.PUOneChannelInfo,t)},proto.BVCU.PUConfig.PUChannelInfo.prototype.clearPchannelList=function(){this.setPchannelList([])},proto.BVCU.PUConfig.PUChannelInfo.prototype.getIonlinestatus=function(){return r.Message.getFieldWithDefault(this,5,0)},proto.BVCU.PUConfig.PUChannelInfo.prototype.setIonlinestatus=function(e){r.Message.setField(this,5,e)},proto.BVCU.PUConfig.PUChannelInfo.prototype.clearIonlinestatus=function(){r.Message.setField(this,5,void 0)},proto.BVCU.PUConfig.PUChannelInfo.prototype.hasIonlinestatus=function(){return null!=r.Message.getField(this,5)},proto.BVCU.PUConfig.PUChannelInfo.prototype.getIonlinethrough=function(){return r.Message.getFieldWithDefault(this,12,0)},proto.BVCU.PUConfig.PUChannelInfo.prototype.setIonlinethrough=function(e){r.Message.setField(this,12,e)},proto.BVCU.PUConfig.PUChannelInfo.prototype.clearIonlinethrough=function(){r.Message.setField(this,12,void 0)},proto.BVCU.PUConfig.PUChannelInfo.prototype.hasIonlinethrough=function(){return null!=r.Message.getField(this,12)},proto.BVCU.PUConfig.PUChannelInfo.prototype.getIstreampathway=function(){return r.Message.getFieldWithDefault(this,13,1)},proto.BVCU.PUConfig.PUChannelInfo.prototype.setIstreampathway=function(e){r.Message.setField(this,13,e)},proto.BVCU.PUConfig.PUChannelInfo.prototype.clearIstreampathway=function(){r.Message.setField(this,13,void 0)},proto.BVCU.PUConfig.PUChannelInfo.prototype.hasIstreampathway=function(){return null!=r.Message.getField(this,13)},proto.BVCU.PUConfig.PUChannelInfo.prototype.getStonlinetime=function(){return r.Message.getWrapperField(this,proto.BVCU.PUConfig.WallTime,9)},proto.BVCU.PUConfig.PUChannelInfo.prototype.setStonlinetime=function(e){r.Message.setWrapperField(this,9,e)},proto.BVCU.PUConfig.PUChannelInfo.prototype.clearStonlinetime=function(){this.setStonlinetime(void 0)},proto.BVCU.PUConfig.PUChannelInfo.prototype.hasStonlinetime=function(){return null!=r.Message.getField(this,9)},proto.BVCU.PUConfig.PUChannelInfo.prototype.getStboottime=function(){return r.Message.getWrapperField(this,proto.BVCU.PUConfig.WallTime,10)},proto.BVCU.PUConfig.PUChannelInfo.prototype.setStboottime=function(e){r.Message.setWrapperField(this,10,e)},proto.BVCU.PUConfig.PUChannelInfo.prototype.clearStboottime=function(){this.setStboottime(void 0)},proto.BVCU.PUConfig.PUChannelInfo.prototype.hasStboottime=function(){return null!=r.Message.getField(this,10)},proto.BVCU.PUConfig.PUChannelInfo.prototype.getIbootduration=function(){return r.Message.getFieldWithDefault(this,11,0)},proto.BVCU.PUConfig.PUChannelInfo.prototype.setIbootduration=function(e){r.Message.setField(this,11,e)},proto.BVCU.PUConfig.PUChannelInfo.prototype.clearIbootduration=function(){r.Message.setField(this,11,void 0)},proto.BVCU.PUConfig.PUChannelInfo.prototype.hasIbootduration=function(){return null!=r.Message.getField(this,11)},proto.BVCU.PUConfig.PUChannelInfo.prototype.getStipaddr=function(){return r.Message.getWrapperField(this,proto.BVCU.PUConfig.ENCFG_Candidate,14)},proto.BVCU.PUConfig.PUChannelInfo.prototype.setStipaddr=function(e){r.Message.setWrapperField(this,14,e)},proto.BVCU.PUConfig.PUChannelInfo.prototype.clearStipaddr=function(){this.setStipaddr(void 0)},proto.BVCU.PUConfig.PUChannelInfo.prototype.hasStipaddr=function(){return null!=r.Message.getField(this,14)},proto.BVCU.PUConfig.PUChannelInfo.prototype.getIavcount=function(){return r.Message.getFieldWithDefault(this,15,0)},proto.BVCU.PUConfig.PUChannelInfo.prototype.setIavcount=function(e){r.Message.setField(this,15,e)},proto.BVCU.PUConfig.PUChannelInfo.prototype.clearIavcount=function(){r.Message.setField(this,15,void 0)},proto.BVCU.PUConfig.PUChannelInfo.prototype.hasIavcount=function(){return null!=r.Message.getField(this,15)},proto.BVCU.PUConfig.PUChannelInfo.prototype.getIvideoincount=function(){return r.Message.getFieldWithDefault(this,16,0)},proto.BVCU.PUConfig.PUChannelInfo.prototype.setIvideoincount=function(e){r.Message.setField(this,16,e)},proto.BVCU.PUConfig.PUChannelInfo.prototype.clearIvideoincount=function(){r.Message.setField(this,16,void 0)},proto.BVCU.PUConfig.PUChannelInfo.prototype.hasIvideoincount=function(){return null!=r.Message.getField(this,16)},proto.BVCU.PUConfig.PUChannelInfo.prototype.getIaudioincount=function(){return r.Message.getFieldWithDefault(this,17,0)},proto.BVCU.PUConfig.PUChannelInfo.prototype.setIaudioincount=function(e){r.Message.setField(this,17,e)},proto.BVCU.PUConfig.PUChannelInfo.prototype.clearIaudioincount=function(){r.Message.setField(this,17,void 0)},proto.BVCU.PUConfig.PUChannelInfo.prototype.hasIaudioincount=function(){return null!=r.Message.getField(this,17)},proto.BVCU.PUConfig.PUChannelInfo.prototype.getIaudiooutcount=function(){return r.Message.getFieldWithDefault(this,18,0)},proto.BVCU.PUConfig.PUChannelInfo.prototype.setIaudiooutcount=function(e){r.Message.setField(this,18,e)},proto.BVCU.PUConfig.PUChannelInfo.prototype.clearIaudiooutcount=function(){r.Message.setField(this,18,void 0)},proto.BVCU.PUConfig.PUChannelInfo.prototype.hasIaudiooutcount=function(){return null!=r.Message.getField(this,18)},proto.BVCU.PUConfig.PUChannelInfo.prototype.getIptzcount=function(){return r.Message.getFieldWithDefault(this,19,0)},proto.BVCU.PUConfig.PUChannelInfo.prototype.setIptzcount=function(e){r.Message.setField(this,19,e)},proto.BVCU.PUConfig.PUChannelInfo.prototype.clearIptzcount=function(){r.Message.setField(this,19,void 0)},proto.BVCU.PUConfig.PUChannelInfo.prototype.hasIptzcount=function(){return null!=r.Message.getField(this,19)},proto.BVCU.PUConfig.PUChannelInfo.prototype.getIserialportcount=function(){return r.Message.getFieldWithDefault(this,20,0)},proto.BVCU.PUConfig.PUChannelInfo.prototype.setIserialportcount=function(e){r.Message.setField(this,20,e)},proto.BVCU.PUConfig.PUChannelInfo.prototype.clearIserialportcount=function(){r.Message.setField(this,20,void 0)},proto.BVCU.PUConfig.PUChannelInfo.prototype.hasIserialportcount=function(){return null!=r.Message.getField(this,20)},proto.BVCU.PUConfig.PUChannelInfo.prototype.getIalertincount=function(){return r.Message.getFieldWithDefault(this,21,0)},proto.BVCU.PUConfig.PUChannelInfo.prototype.setIalertincount=function(e){r.Message.setField(this,21,e)},proto.BVCU.PUConfig.PUChannelInfo.prototype.clearIalertincount=function(){r.Message.setField(this,21,void 0)},proto.BVCU.PUConfig.PUChannelInfo.prototype.hasIalertincount=function(){return null!=r.Message.getField(this,21)},proto.BVCU.PUConfig.PUChannelInfo.prototype.getIalertoutcount=function(){return r.Message.getFieldWithDefault(this,22,0)},proto.BVCU.PUConfig.PUChannelInfo.prototype.setIalertoutcount=function(e){r.Message.setField(this,22,e)},proto.BVCU.PUConfig.PUChannelInfo.prototype.clearIalertoutcount=function(){r.Message.setField(this,22,void 0)},proto.BVCU.PUConfig.PUChannelInfo.prototype.hasIalertoutcount=function(){return null!=r.Message.getField(this,22)},proto.BVCU.PUConfig.PUChannelInfo.prototype.getIstoragecount=function(){return r.Message.getFieldWithDefault(this,23,0)},proto.BVCU.PUConfig.PUChannelInfo.prototype.setIstoragecount=function(e){r.Message.setField(this,23,e)},proto.BVCU.PUConfig.PUChannelInfo.prototype.clearIstoragecount=function(){r.Message.setField(this,23,void 0)},proto.BVCU.PUConfig.PUChannelInfo.prototype.hasIstoragecount=function(){return null!=r.Message.getField(this,23)},proto.BVCU.PUConfig.PUChannelInfo.prototype.getIgpscount=function(){return r.Message.getFieldWithDefault(this,6,0)},proto.BVCU.PUConfig.PUChannelInfo.prototype.setIgpscount=function(e){r.Message.setField(this,6,e)},proto.BVCU.PUConfig.PUChannelInfo.prototype.clearIgpscount=function(){r.Message.setField(this,6,void 0)},proto.BVCU.PUConfig.PUChannelInfo.prototype.hasIgpscount=function(){return null!=r.Message.getField(this,6)},proto.BVCU.PUConfig.PUChannelInfo.prototype.getIlongitude=function(){return r.Message.getFieldWithDefault(this,7,2e9)},proto.BVCU.PUConfig.PUChannelInfo.prototype.setIlongitude=function(e){r.Message.setField(this,7,e)},proto.BVCU.PUConfig.PUChannelInfo.prototype.clearIlongitude=function(){r.Message.setField(this,7,void 0)},proto.BVCU.PUConfig.PUChannelInfo.prototype.hasIlongitude=function(){return null!=r.Message.getField(this,7)},proto.BVCU.PUConfig.PUChannelInfo.prototype.getIlatitude=function(){return r.Message.getFieldWithDefault(this,8,2e9)},proto.BVCU.PUConfig.PUChannelInfo.prototype.setIlatitude=function(e){r.Message.setField(this,8,e)},proto.BVCU.PUConfig.PUChannelInfo.prototype.clearIlatitude=function(){r.Message.setField(this,8,void 0)},proto.BVCU.PUConfig.PUChannelInfo.prototype.hasIlatitude=function(){return null!=r.Message.getField(this,8)},proto.BVCU.PUConfig.DeviceInfo=function(e){r.Message.initialize(this,e,0,-1,proto.BVCU.PUConfig.DeviceInfo.repeatedFields_,null)},i.inherits(proto.BVCU.PUConfig.DeviceInfo,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.PUConfig.DeviceInfo.displayName=\"proto.BVCU.PUConfig.DeviceInfo\"),proto.BVCU.PUConfig.DeviceInfo.repeatedFields_=[6],r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.PUConfig.DeviceInfo.prototype.toObject=function(e){return proto.BVCU.PUConfig.DeviceInfo.toObject(e,this)},proto.BVCU.PUConfig.DeviceInfo.toObject=function(e,t){var o={szid:r.Message.getField(t,1),szmanufacturer:r.Message.getField(t,25),szproductname:r.Message.getFieldWithDefault(t,2,\"NULL\"),szsoftwareversion:r.Message.getFieldWithDefault(t,3,\"NULL\"),szhardwareversion:r.Message.getFieldWithDefault(t,4,\"NULL\"),iputype:r.Message.getField(t,5),ilanguageList:r.Message.getField(t,6),ilanguageindex:r.Message.getField(t,7),szname:r.Message.getField(t,8),iwificount:r.Message.getField(t,9),iradiocount:r.Message.getField(t,10),ichannelcount:r.Message.getField(t,11),ivideoincount:r.Message.getField(t,12),iaudioincount:r.Message.getField(t,13),iaudiooutcount:r.Message.getField(t,14),iptzcount:r.Message.getField(t,15),iserialportcount:r.Message.getField(t,16),ialertincount:r.Message.getField(t,17),ialertoutcount:r.Message.getField(t,18),istoragecount:r.Message.getField(t,19),igpscount:r.Message.getField(t,20),bsupportsms:r.Message.getField(t,21),ipresetcount:r.Message.getField(t,22),icruisecount:r.Message.getField(t,23),ialarmlinkactioncount:r.Message.getField(t,24),ilongitude:r.Message.getField(t,26),ilatitude:r.Message.getField(t,27),szbluetoothaddr:r.Message.getField(t,28)};return e&&(o.$jspbMessageInstance=t),o}),proto.BVCU.PUConfig.DeviceInfo.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.PUConfig.DeviceInfo;return proto.BVCU.PUConfig.DeviceInfo.deserializeBinaryFromReader(o,t)},proto.BVCU.PUConfig.DeviceInfo.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readString();e.setSzid(o);break;case 25:o=t.readString();e.setSzmanufacturer(o);break;case 2:o=t.readString();e.setSzproductname(o);break;case 3:o=t.readString();e.setSzsoftwareversion(o);break;case 4:o=t.readString();e.setSzhardwareversion(o);break;case 5:o=t.readUint32();e.setIputype(o);break;case 6:o=t.readUint32();e.addIlanguage(o);break;case 7:o=t.readUint32();e.setIlanguageindex(o);break;case 8:o=t.readString();e.setSzname(o);break;case 9:o=t.readUint32();e.setIwificount(o);break;case 10:o=t.readUint32();e.setIradiocount(o);break;case 11:o=t.readUint32();e.setIchannelcount(o);break;case 12:o=t.readUint32();e.setIvideoincount(o);break;case 13:o=t.readUint32();e.setIaudioincount(o);break;case 14:o=t.readUint32();e.setIaudiooutcount(o);break;case 15:o=t.readUint32();e.setIptzcount(o);break;case 16:o=t.readUint32();e.setIserialportcount(o);break;case 17:o=t.readUint32();e.setIalertincount(o);break;case 18:o=t.readUint32();e.setIalertoutcount(o);break;case 19:o=t.readUint32();e.setIstoragecount(o);break;case 20:o=t.readUint32();e.setIgpscount(o);break;case 21:o=t.readUint32();e.setBsupportsms(o);break;case 22:o=t.readUint32();e.setIpresetcount(o);break;case 23:o=t.readUint32();e.setIcruisecount(o);break;case 24:o=t.readUint32();e.setIalarmlinkactioncount(o);break;case 26:o=t.readInt32();e.setIlongitude(o);break;case 27:o=t.readInt32();e.setIlatitude(o);break;case 28:o=t.readString();e.setSzbluetoothaddr(o);break;default:t.skipField()}}return e},proto.BVCU.PUConfig.DeviceInfo.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.PUConfig.DeviceInfo.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.PUConfig.DeviceInfo.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeString(1,o),null!=(o=r.Message.getField(e,25))&&t.writeString(25,o),null!=(o=r.Message.getField(e,2))&&t.writeString(2,o),null!=(o=r.Message.getField(e,3))&&t.writeString(3,o),null!=(o=r.Message.getField(e,4))&&t.writeString(4,o),null!=(o=r.Message.getField(e,5))&&t.writeUint32(5,o),(o=e.getIlanguageList()).length>0&&t.writeRepeatedUint32(6,o),null!=(o=r.Message.getField(e,7))&&t.writeUint32(7,o),null!=(o=r.Message.getField(e,8))&&t.writeString(8,o),null!=(o=r.Message.getField(e,9))&&t.writeUint32(9,o),null!=(o=r.Message.getField(e,10))&&t.writeUint32(10,o),null!=(o=r.Message.getField(e,11))&&t.writeUint32(11,o),null!=(o=r.Message.getField(e,12))&&t.writeUint32(12,o),null!=(o=r.Message.getField(e,13))&&t.writeUint32(13,o),null!=(o=r.Message.getField(e,14))&&t.writeUint32(14,o),null!=(o=r.Message.getField(e,15))&&t.writeUint32(15,o),null!=(o=r.Message.getField(e,16))&&t.writeUint32(16,o),null!=(o=r.Message.getField(e,17))&&t.writeUint32(17,o),null!=(o=r.Message.getField(e,18))&&t.writeUint32(18,o),null!=(o=r.Message.getField(e,19))&&t.writeUint32(19,o),null!=(o=r.Message.getField(e,20))&&t.writeUint32(20,o),null!=(o=r.Message.getField(e,21))&&t.writeUint32(21,o),null!=(o=r.Message.getField(e,22))&&t.writeUint32(22,o),null!=(o=r.Message.getField(e,23))&&t.writeUint32(23,o),null!=(o=r.Message.getField(e,24))&&t.writeUint32(24,o),null!=(o=r.Message.getField(e,26))&&t.writeInt32(26,o),null!=(o=r.Message.getField(e,27))&&t.writeInt32(27,o),null!=(o=r.Message.getField(e,28))&&t.writeString(28,o)},proto.BVCU.PUConfig.DeviceInfo.prototype.getSzid=function(){return r.Message.getFieldWithDefault(this,1,\"\")},proto.BVCU.PUConfig.DeviceInfo.prototype.setSzid=function(e){r.Message.setField(this,1,e)},proto.BVCU.PUConfig.DeviceInfo.prototype.clearSzid=function(){r.Message.setField(this,1,void 0)},proto.BVCU.PUConfig.DeviceInfo.prototype.hasSzid=function(){return null!=r.Message.getField(this,1)},proto.BVCU.PUConfig.DeviceInfo.prototype.getSzmanufacturer=function(){return r.Message.getFieldWithDefault(this,25,\"\")},proto.BVCU.PUConfig.DeviceInfo.prototype.setSzmanufacturer=function(e){r.Message.setField(this,25,e)},proto.BVCU.PUConfig.DeviceInfo.prototype.clearSzmanufacturer=function(){r.Message.setField(this,25,void 0)},proto.BVCU.PUConfig.DeviceInfo.prototype.hasSzmanufacturer=function(){return null!=r.Message.getField(this,25)},proto.BVCU.PUConfig.DeviceInfo.prototype.getSzproductname=function(){return r.Message.getFieldWithDefault(this,2,\"NULL\")},proto.BVCU.PUConfig.DeviceInfo.prototype.setSzproductname=function(e){r.Message.setField(this,2,e)},proto.BVCU.PUConfig.DeviceInfo.prototype.clearSzproductname=function(){r.Message.setField(this,2,void 0)},proto.BVCU.PUConfig.DeviceInfo.prototype.hasSzproductname=function(){return null!=r.Message.getField(this,2)},proto.BVCU.PUConfig.DeviceInfo.prototype.getSzsoftwareversion=function(){return r.Message.getFieldWithDefault(this,3,\"NULL\")},proto.BVCU.PUConfig.DeviceInfo.prototype.setSzsoftwareversion=function(e){r.Message.setField(this,3,e)},proto.BVCU.PUConfig.DeviceInfo.prototype.clearSzsoftwareversion=function(){r.Message.setField(this,3,void 0)},proto.BVCU.PUConfig.DeviceInfo.prototype.hasSzsoftwareversion=function(){return null!=r.Message.getField(this,3)},proto.BVCU.PUConfig.DeviceInfo.prototype.getSzhardwareversion=function(){return r.Message.getFieldWithDefault(this,4,\"NULL\")},proto.BVCU.PUConfig.DeviceInfo.prototype.setSzhardwareversion=function(e){r.Message.setField(this,4,e)},proto.BVCU.PUConfig.DeviceInfo.prototype.clearSzhardwareversion=function(){r.Message.setField(this,4,void 0)},proto.BVCU.PUConfig.DeviceInfo.prototype.hasSzhardwareversion=function(){return null!=r.Message.getField(this,4)},proto.BVCU.PUConfig.DeviceInfo.prototype.getIputype=function(){return r.Message.getFieldWithDefault(this,5,0)},proto.BVCU.PUConfig.DeviceInfo.prototype.setIputype=function(e){r.Message.setField(this,5,e)},proto.BVCU.PUConfig.DeviceInfo.prototype.clearIputype=function(){r.Message.setField(this,5,void 0)},proto.BVCU.PUConfig.DeviceInfo.prototype.hasIputype=function(){return null!=r.Message.getField(this,5)},proto.BVCU.PUConfig.DeviceInfo.prototype.getIlanguageList=function(){return r.Message.getField(this,6)},proto.BVCU.PUConfig.DeviceInfo.prototype.setIlanguageList=function(e){r.Message.setField(this,6,e||[])},proto.BVCU.PUConfig.DeviceInfo.prototype.addIlanguage=function(e,t){r.Message.addToRepeatedField(this,6,e,t)},proto.BVCU.PUConfig.DeviceInfo.prototype.clearIlanguageList=function(){this.setIlanguageList([])},proto.BVCU.PUConfig.DeviceInfo.prototype.getIlanguageindex=function(){return r.Message.getFieldWithDefault(this,7,0)},proto.BVCU.PUConfig.DeviceInfo.prototype.setIlanguageindex=function(e){r.Message.setField(this,7,e)},proto.BVCU.PUConfig.DeviceInfo.prototype.clearIlanguageindex=function(){r.Message.setField(this,7,void 0)},proto.BVCU.PUConfig.DeviceInfo.prototype.hasIlanguageindex=function(){return null!=r.Message.getField(this,7)},proto.BVCU.PUConfig.DeviceInfo.prototype.getSzname=function(){return r.Message.getFieldWithDefault(this,8,\"\")},proto.BVCU.PUConfig.DeviceInfo.prototype.setSzname=function(e){r.Message.setField(this,8,e)},proto.BVCU.PUConfig.DeviceInfo.prototype.clearSzname=function(){r.Message.setField(this,8,void 0)},proto.BVCU.PUConfig.DeviceInfo.prototype.hasSzname=function(){return null!=r.Message.getField(this,8)},proto.BVCU.PUConfig.DeviceInfo.prototype.getIwificount=function(){return r.Message.getFieldWithDefault(this,9,0)},proto.BVCU.PUConfig.DeviceInfo.prototype.setIwificount=function(e){r.Message.setField(this,9,e)},proto.BVCU.PUConfig.DeviceInfo.prototype.clearIwificount=function(){r.Message.setField(this,9,void 0)},proto.BVCU.PUConfig.DeviceInfo.prototype.hasIwificount=function(){return null!=r.Message.getField(this,9)},proto.BVCU.PUConfig.DeviceInfo.prototype.getIradiocount=function(){return r.Message.getFieldWithDefault(this,10,0)},proto.BVCU.PUConfig.DeviceInfo.prototype.setIradiocount=function(e){r.Message.setField(this,10,e)},proto.BVCU.PUConfig.DeviceInfo.prototype.clearIradiocount=function(){r.Message.setField(this,10,void 0)},proto.BVCU.PUConfig.DeviceInfo.prototype.hasIradiocount=function(){return null!=r.Message.getField(this,10)},proto.BVCU.PUConfig.DeviceInfo.prototype.getIchannelcount=function(){return r.Message.getFieldWithDefault(this,11,0)},proto.BVCU.PUConfig.DeviceInfo.prototype.setIchannelcount=function(e){r.Message.setField(this,11,e)},proto.BVCU.PUConfig.DeviceInfo.prototype.clearIchannelcount=function(){r.Message.setField(this,11,void 0)},proto.BVCU.PUConfig.DeviceInfo.prototype.hasIchannelcount=function(){return null!=r.Message.getField(this,11)},proto.BVCU.PUConfig.DeviceInfo.prototype.getIvideoincount=function(){return r.Message.getFieldWithDefault(this,12,0)},proto.BVCU.PUConfig.DeviceInfo.prototype.setIvideoincount=function(e){r.Message.setField(this,12,e)},proto.BVCU.PUConfig.DeviceInfo.prototype.clearIvideoincount=function(){r.Message.setField(this,12,void 0)},proto.BVCU.PUConfig.DeviceInfo.prototype.hasIvideoincount=function(){return null!=r.Message.getField(this,12)},proto.BVCU.PUConfig.DeviceInfo.prototype.getIaudioincount=function(){return r.Message.getFieldWithDefault(this,13,0)},proto.BVCU.PUConfig.DeviceInfo.prototype.setIaudioincount=function(e){r.Message.setField(this,13,e)},proto.BVCU.PUConfig.DeviceInfo.prototype.clearIaudioincount=function(){r.Message.setField(this,13,void 0)},proto.BVCU.PUConfig.DeviceInfo.prototype.hasIaudioincount=function(){return null!=r.Message.getField(this,13)},proto.BVCU.PUConfig.DeviceInfo.prototype.getIaudiooutcount=function(){return r.Message.getFieldWithDefault(this,14,0)},proto.BVCU.PUConfig.DeviceInfo.prototype.setIaudiooutcount=function(e){r.Message.setField(this,14,e)},proto.BVCU.PUConfig.DeviceInfo.prototype.clearIaudiooutcount=function(){r.Message.setField(this,14,void 0)},proto.BVCU.PUConfig.DeviceInfo.prototype.hasIaudiooutcount=function(){return null!=r.Message.getField(this,14)},proto.BVCU.PUConfig.DeviceInfo.prototype.getIptzcount=function(){return r.Message.getFieldWithDefault(this,15,0)},proto.BVCU.PUConfig.DeviceInfo.prototype.setIptzcount=function(e){r.Message.setField(this,15,e)},proto.BVCU.PUConfig.DeviceInfo.prototype.clearIptzcount=function(){r.Message.setField(this,15,void 0)},proto.BVCU.PUConfig.DeviceInfo.prototype.hasIptzcount=function(){return null!=r.Message.getField(this,15)},proto.BVCU.PUConfig.DeviceInfo.prototype.getIserialportcount=function(){return r.Message.getFieldWithDefault(this,16,0)},proto.BVCU.PUConfig.DeviceInfo.prototype.setIserialportcount=function(e){r.Message.setField(this,16,e)},proto.BVCU.PUConfig.DeviceInfo.prototype.clearIserialportcount=function(){r.Message.setField(this,16,void 0)},proto.BVCU.PUConfig.DeviceInfo.prototype.hasIserialportcount=function(){return null!=r.Message.getField(this,16)},proto.BVCU.PUConfig.DeviceInfo.prototype.getIalertincount=function(){return r.Message.getFieldWithDefault(this,17,0)},proto.BVCU.PUConfig.DeviceInfo.prototype.setIalertincount=function(e){r.Message.setField(this,17,e)},proto.BVCU.PUConfig.DeviceInfo.prototype.clearIalertincount=function(){r.Message.setField(this,17,void 0)},proto.BVCU.PUConfig.DeviceInfo.prototype.hasIalertincount=function(){return null!=r.Message.getField(this,17)},proto.BVCU.PUConfig.DeviceInfo.prototype.getIalertoutcount=function(){return r.Message.getFieldWithDefault(this,18,0)},proto.BVCU.PUConfig.DeviceInfo.prototype.setIalertoutcount=function(e){r.Message.setField(this,18,e)},proto.BVCU.PUConfig.DeviceInfo.prototype.clearIalertoutcount=function(){r.Message.setField(this,18,void 0)},proto.BVCU.PUConfig.DeviceInfo.prototype.hasIalertoutcount=function(){return null!=r.Message.getField(this,18)},proto.BVCU.PUConfig.DeviceInfo.prototype.getIstoragecount=function(){return r.Message.getFieldWithDefault(this,19,0)},proto.BVCU.PUConfig.DeviceInfo.prototype.setIstoragecount=function(e){r.Message.setField(this,19,e)},proto.BVCU.PUConfig.DeviceInfo.prototype.clearIstoragecount=function(){r.Message.setField(this,19,void 0)},proto.BVCU.PUConfig.DeviceInfo.prototype.hasIstoragecount=function(){return null!=r.Message.getField(this,19)},proto.BVCU.PUConfig.DeviceInfo.prototype.getIgpscount=function(){return r.Message.getFieldWithDefault(this,20,0)},proto.BVCU.PUConfig.DeviceInfo.prototype.setIgpscount=function(e){r.Message.setField(this,20,e)},proto.BVCU.PUConfig.DeviceInfo.prototype.clearIgpscount=function(){r.Message.setField(this,20,void 0)},proto.BVCU.PUConfig.DeviceInfo.prototype.hasIgpscount=function(){return null!=r.Message.getField(this,20)},proto.BVCU.PUConfig.DeviceInfo.prototype.getBsupportsms=function(){return r.Message.getFieldWithDefault(this,21,0)},proto.BVCU.PUConfig.DeviceInfo.prototype.setBsupportsms=function(e){r.Message.setField(this,21,e)},proto.BVCU.PUConfig.DeviceInfo.prototype.clearBsupportsms=function(){r.Message.setField(this,21,void 0)},proto.BVCU.PUConfig.DeviceInfo.prototype.hasBsupportsms=function(){return null!=r.Message.getField(this,21)},proto.BVCU.PUConfig.DeviceInfo.prototype.getIpresetcount=function(){return r.Message.getFieldWithDefault(this,22,0)},proto.BVCU.PUConfig.DeviceInfo.prototype.setIpresetcount=function(e){r.Message.setField(this,22,e)},proto.BVCU.PUConfig.DeviceInfo.prototype.clearIpresetcount=function(){r.Message.setField(this,22,void 0)},proto.BVCU.PUConfig.DeviceInfo.prototype.hasIpresetcount=function(){return null!=r.Message.getField(this,22)},proto.BVCU.PUConfig.DeviceInfo.prototype.getIcruisecount=function(){return r.Message.getFieldWithDefault(this,23,0)},proto.BVCU.PUConfig.DeviceInfo.prototype.setIcruisecount=function(e){r.Message.setField(this,23,e)},proto.BVCU.PUConfig.DeviceInfo.prototype.clearIcruisecount=function(){r.Message.setField(this,23,void 0)},proto.BVCU.PUConfig.DeviceInfo.prototype.hasIcruisecount=function(){return null!=r.Message.getField(this,23)},proto.BVCU.PUConfig.DeviceInfo.prototype.getIalarmlinkactioncount=function(){return r.Message.getFieldWithDefault(this,24,0)},proto.BVCU.PUConfig.DeviceInfo.prototype.setIalarmlinkactioncount=function(e){r.Message.setField(this,24,e)},proto.BVCU.PUConfig.DeviceInfo.prototype.clearIalarmlinkactioncount=function(){r.Message.setField(this,24,void 0)},proto.BVCU.PUConfig.DeviceInfo.prototype.hasIalarmlinkactioncount=function(){return null!=r.Message.getField(this,24)},proto.BVCU.PUConfig.DeviceInfo.prototype.getIlongitude=function(){return r.Message.getFieldWithDefault(this,26,0)},proto.BVCU.PUConfig.DeviceInfo.prototype.setIlongitude=function(e){r.Message.setField(this,26,e)},proto.BVCU.PUConfig.DeviceInfo.prototype.clearIlongitude=function(){r.Message.setField(this,26,void 0)},proto.BVCU.PUConfig.DeviceInfo.prototype.hasIlongitude=function(){return null!=r.Message.getField(this,26)},proto.BVCU.PUConfig.DeviceInfo.prototype.getIlatitude=function(){return r.Message.getFieldWithDefault(this,27,0)},proto.BVCU.PUConfig.DeviceInfo.prototype.setIlatitude=function(e){r.Message.setField(this,27,e)},proto.BVCU.PUConfig.DeviceInfo.prototype.clearIlatitude=function(){r.Message.setField(this,27,void 0)},proto.BVCU.PUConfig.DeviceInfo.prototype.hasIlatitude=function(){return null!=r.Message.getField(this,27)},proto.BVCU.PUConfig.DeviceInfo.prototype.getSzbluetoothaddr=function(){return r.Message.getFieldWithDefault(this,28,\"\")},proto.BVCU.PUConfig.DeviceInfo.prototype.setSzbluetoothaddr=function(e){r.Message.setField(this,28,e)},proto.BVCU.PUConfig.DeviceInfo.prototype.clearSzbluetoothaddr=function(){r.Message.setField(this,28,void 0)},proto.BVCU.PUConfig.DeviceInfo.prototype.hasSzbluetoothaddr=function(){return null!=r.Message.getField(this,28)},proto.BVCU.PUConfig.UpdateStatus=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.BVCU.PUConfig.UpdateStatus,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.PUConfig.UpdateStatus.displayName=\"proto.BVCU.PUConfig.UpdateStatus\"),r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.PUConfig.UpdateStatus.prototype.toObject=function(e){return proto.BVCU.PUConfig.UpdateStatus.toObject(e,this)},proto.BVCU.PUConfig.UpdateStatus.toObject=function(e,t){var o,i={idownloadpercent:r.Message.getField(t,1),ispeed:r.Message.getField(t,2),szsoftwareversion:r.Message.getField(t,3),stupdatefinishtime:(o=t.getStupdatefinishtime())&&proto.BVCU.PUConfig.WallTime.toObject(e,o)};return e&&(i.$jspbMessageInstance=t),i}),proto.BVCU.PUConfig.UpdateStatus.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.PUConfig.UpdateStatus;return proto.BVCU.PUConfig.UpdateStatus.deserializeBinaryFromReader(o,t)},proto.BVCU.PUConfig.UpdateStatus.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readUint32();e.setIdownloadpercent(o);break;case 2:o=t.readUint32();e.setIspeed(o);break;case 3:o=t.readString();e.setSzsoftwareversion(o);break;case 4:o=new proto.BVCU.PUConfig.WallTime;t.readMessage(o,proto.BVCU.PUConfig.WallTime.deserializeBinaryFromReader),e.setStupdatefinishtime(o);break;default:t.skipField()}}return e},proto.BVCU.PUConfig.UpdateStatus.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.PUConfig.UpdateStatus.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.PUConfig.UpdateStatus.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeUint32(1,o),null!=(o=r.Message.getField(e,2))&&t.writeUint32(2,o),null!=(o=r.Message.getField(e,3))&&t.writeString(3,o),null!=(o=e.getStupdatefinishtime())&&t.writeMessage(4,o,proto.BVCU.PUConfig.WallTime.serializeBinaryToWriter)},proto.BVCU.PUConfig.UpdateStatus.prototype.getIdownloadpercent=function(){return r.Message.getFieldWithDefault(this,1,0)},proto.BVCU.PUConfig.UpdateStatus.prototype.setIdownloadpercent=function(e){r.Message.setField(this,1,e)},proto.BVCU.PUConfig.UpdateStatus.prototype.clearIdownloadpercent=function(){r.Message.setField(this,1,void 0)},proto.BVCU.PUConfig.UpdateStatus.prototype.hasIdownloadpercent=function(){return null!=r.Message.getField(this,1)},proto.BVCU.PUConfig.UpdateStatus.prototype.getIspeed=function(){return r.Message.getFieldWithDefault(this,2,0)},proto.BVCU.PUConfig.UpdateStatus.prototype.setIspeed=function(e){r.Message.setField(this,2,e)},proto.BVCU.PUConfig.UpdateStatus.prototype.clearIspeed=function(){r.Message.setField(this,2,void 0)},proto.BVCU.PUConfig.UpdateStatus.prototype.hasIspeed=function(){return null!=r.Message.getField(this,2)},proto.BVCU.PUConfig.UpdateStatus.prototype.getSzsoftwareversion=function(){return r.Message.getFieldWithDefault(this,3,\"\")},proto.BVCU.PUConfig.UpdateStatus.prototype.setSzsoftwareversion=function(e){r.Message.setField(this,3,e)},proto.BVCU.PUConfig.UpdateStatus.prototype.clearSzsoftwareversion=function(){r.Message.setField(this,3,void 0)},proto.BVCU.PUConfig.UpdateStatus.prototype.hasSzsoftwareversion=function(){return null!=r.Message.getField(this,3)},proto.BVCU.PUConfig.UpdateStatus.prototype.getStupdatefinishtime=function(){return r.Message.getWrapperField(this,proto.BVCU.PUConfig.WallTime,4)},proto.BVCU.PUConfig.UpdateStatus.prototype.setStupdatefinishtime=function(e){r.Message.setWrapperField(this,4,e)},proto.BVCU.PUConfig.UpdateStatus.prototype.clearStupdatefinishtime=function(){this.setStupdatefinishtime(void 0)},proto.BVCU.PUConfig.UpdateStatus.prototype.hasStupdatefinishtime=function(){return null!=r.Message.getField(this,4)},proto.BVCU.PUConfig.Upgrade=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.BVCU.PUConfig.Upgrade,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.PUConfig.Upgrade.displayName=\"proto.BVCU.PUConfig.Upgrade\"),r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.PUConfig.Upgrade.prototype.toObject=function(e){return proto.BVCU.PUConfig.Upgrade.toObject(e,this)},proto.BVCU.PUConfig.Upgrade.toObject=function(e,t){var o={szftpid:r.Message.getField(t,1),szfilepath:r.Message.getField(t,2),szfilename:r.Message.getField(t,3),bpromptly:r.Message.getField(t,4)};return e&&(o.$jspbMessageInstance=t),o}),proto.BVCU.PUConfig.Upgrade.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.PUConfig.Upgrade;return proto.BVCU.PUConfig.Upgrade.deserializeBinaryFromReader(o,t)},proto.BVCU.PUConfig.Upgrade.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readString();e.setSzftpid(o);break;case 2:o=t.readString();e.setSzfilepath(o);break;case 3:o=t.readString();e.setSzfilename(o);break;case 4:o=t.readUint32();e.setBpromptly(o);break;default:t.skipField()}}return e},proto.BVCU.PUConfig.Upgrade.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.PUConfig.Upgrade.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.PUConfig.Upgrade.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeString(1,o),null!=(o=r.Message.getField(e,2))&&t.writeString(2,o),null!=(o=r.Message.getField(e,3))&&t.writeString(3,o),null!=(o=r.Message.getField(e,4))&&t.writeUint32(4,o)},proto.BVCU.PUConfig.Upgrade.prototype.getSzftpid=function(){return r.Message.getFieldWithDefault(this,1,\"\")},proto.BVCU.PUConfig.Upgrade.prototype.setSzftpid=function(e){r.Message.setField(this,1,e)},proto.BVCU.PUConfig.Upgrade.prototype.clearSzftpid=function(){r.Message.setField(this,1,void 0)},proto.BVCU.PUConfig.Upgrade.prototype.hasSzftpid=function(){return null!=r.Message.getField(this,1)},proto.BVCU.PUConfig.Upgrade.prototype.getSzfilepath=function(){return r.Message.getFieldWithDefault(this,2,\"\")},proto.BVCU.PUConfig.Upgrade.prototype.setSzfilepath=function(e){r.Message.setField(this,2,e)},proto.BVCU.PUConfig.Upgrade.prototype.clearSzfilepath=function(){r.Message.setField(this,2,void 0)},proto.BVCU.PUConfig.Upgrade.prototype.hasSzfilepath=function(){return null!=r.Message.getField(this,2)},proto.BVCU.PUConfig.Upgrade.prototype.getSzfilename=function(){return r.Message.getFieldWithDefault(this,3,\"\")},proto.BVCU.PUConfig.Upgrade.prototype.setSzfilename=function(e){r.Message.setField(this,3,e)},proto.BVCU.PUConfig.Upgrade.prototype.clearSzfilename=function(){r.Message.setField(this,3,void 0)},proto.BVCU.PUConfig.Upgrade.prototype.hasSzfilename=function(){return null!=r.Message.getField(this,3)},proto.BVCU.PUConfig.Upgrade.prototype.getBpromptly=function(){return r.Message.getFieldWithDefault(this,4,0)},proto.BVCU.PUConfig.Upgrade.prototype.setBpromptly=function(e){r.Message.setField(this,4,e)},proto.BVCU.PUConfig.Upgrade.prototype.clearBpromptly=function(){r.Message.setField(this,4,void 0)},proto.BVCU.PUConfig.Upgrade.prototype.hasBpromptly=function(){return null!=r.Message.getField(this,4)},proto.BVCU.PUConfig.GPSParam=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.BVCU.PUConfig.GPSParam,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.PUConfig.GPSParam.displayName=\"proto.BVCU.PUConfig.GPSParam\"),r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.PUConfig.GPSParam.prototype.toObject=function(e){return proto.BVCU.PUConfig.GPSParam.toObject(e,this)},proto.BVCU.PUConfig.GPSParam.toObject=function(e,t){var o={szname:r.Message.getField(t,3),isupportsatellitesignal:r.Message.getField(t,4),isetupsatellitesignal:r.Message.getField(t,5),benable:r.Message.getField(t,1),ireportinterval:r.Message.getField(t,2),ireportdistance:r.Message.getField(t,6)};return e&&(o.$jspbMessageInstance=t),o}),proto.BVCU.PUConfig.GPSParam.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.PUConfig.GPSParam;return proto.BVCU.PUConfig.GPSParam.deserializeBinaryFromReader(o,t)},proto.BVCU.PUConfig.GPSParam.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 3:var o=t.readString();e.setSzname(o);break;case 4:o=t.readUint32();e.setIsupportsatellitesignal(o);break;case 5:o=t.readUint32();e.setIsetupsatellitesignal(o);break;case 1:o=t.readUint32();e.setBenable(o);break;case 2:o=t.readUint32();e.setIreportinterval(o);break;case 6:o=t.readUint32();e.setIreportdistance(o);break;default:t.skipField()}}return e},proto.BVCU.PUConfig.GPSParam.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.PUConfig.GPSParam.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.PUConfig.GPSParam.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,3))&&t.writeString(3,o),null!=(o=r.Message.getField(e,4))&&t.writeUint32(4,o),null!=(o=r.Message.getField(e,5))&&t.writeUint32(5,o),null!=(o=r.Message.getField(e,1))&&t.writeUint32(1,o),null!=(o=r.Message.getField(e,2))&&t.writeUint32(2,o),null!=(o=r.Message.getField(e,6))&&t.writeUint32(6,o)},proto.BVCU.PUConfig.GPSParam.prototype.getSzname=function(){return r.Message.getFieldWithDefault(this,3,\"\")},proto.BVCU.PUConfig.GPSParam.prototype.setSzname=function(e){r.Message.setField(this,3,e)},proto.BVCU.PUConfig.GPSParam.prototype.clearSzname=function(){r.Message.setField(this,3,void 0)},proto.BVCU.PUConfig.GPSParam.prototype.hasSzname=function(){return null!=r.Message.getField(this,3)},proto.BVCU.PUConfig.GPSParam.prototype.getIsupportsatellitesignal=function(){return r.Message.getFieldWithDefault(this,4,0)},proto.BVCU.PUConfig.GPSParam.prototype.setIsupportsatellitesignal=function(e){r.Message.setField(this,4,e)},proto.BVCU.PUConfig.GPSParam.prototype.clearIsupportsatellitesignal=function(){r.Message.setField(this,4,void 0)},proto.BVCU.PUConfig.GPSParam.prototype.hasIsupportsatellitesignal=function(){return null!=r.Message.getField(this,4)},proto.BVCU.PUConfig.GPSParam.prototype.getIsetupsatellitesignal=function(){return r.Message.getFieldWithDefault(this,5,0)},proto.BVCU.PUConfig.GPSParam.prototype.setIsetupsatellitesignal=function(e){r.Message.setField(this,5,e)},proto.BVCU.PUConfig.GPSParam.prototype.clearIsetupsatellitesignal=function(){r.Message.setField(this,5,void 0)},proto.BVCU.PUConfig.GPSParam.prototype.hasIsetupsatellitesignal=function(){return null!=r.Message.getField(this,5)},proto.BVCU.PUConfig.GPSParam.prototype.getBenable=function(){return r.Message.getFieldWithDefault(this,1,0)},proto.BVCU.PUConfig.GPSParam.prototype.setBenable=function(e){r.Message.setField(this,1,e)},proto.BVCU.PUConfig.GPSParam.prototype.clearBenable=function(){r.Message.setField(this,1,void 0)},proto.BVCU.PUConfig.GPSParam.prototype.hasBenable=function(){return null!=r.Message.getField(this,1)},proto.BVCU.PUConfig.GPSParam.prototype.getIreportinterval=function(){return r.Message.getFieldWithDefault(this,2,0)},proto.BVCU.PUConfig.GPSParam.prototype.setIreportinterval=function(e){r.Message.setField(this,2,e)},proto.BVCU.PUConfig.GPSParam.prototype.clearIreportinterval=function(){r.Message.setField(this,2,void 0)},proto.BVCU.PUConfig.GPSParam.prototype.hasIreportinterval=function(){return null!=r.Message.getField(this,2)},proto.BVCU.PUConfig.GPSParam.prototype.getIreportdistance=function(){return r.Message.getFieldWithDefault(this,6,0)},proto.BVCU.PUConfig.GPSParam.prototype.setIreportdistance=function(e){r.Message.setField(this,6,e)},proto.BVCU.PUConfig.GPSParam.prototype.clearIreportdistance=function(){r.Message.setField(this,6,void 0)},proto.BVCU.PUConfig.GPSParam.prototype.hasIreportdistance=function(){return null!=r.Message.getField(this,6)},proto.BVCU.PUConfig.GPSData=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.BVCU.PUConfig.GPSData,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.PUConfig.GPSData.displayName=\"proto.BVCU.PUConfig.GPSData\"),r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.PUConfig.GPSData.prototype.toObject=function(e){return proto.BVCU.PUConfig.GPSData.toObject(e,this)},proto.BVCU.PUConfig.GPSData.toObject=function(e,t){var o,i={sttime:(o=t.getSttime())&&proto.BVCU.PUConfig.WallTime.toObject(e,o),ilongitude:r.Message.getField(t,2),ilatitude:r.Message.getField(t,3),iheight:r.Message.getField(t,4),iangle:r.Message.getField(t,5),ispeed:r.Message.getField(t,6),istarcount:r.Message.getField(t,7),bantennastate:r.Message.getField(t,8),borientationstate:r.Message.getField(t,9),isatellitesignal:r.Message.getField(t,10)};return e&&(i.$jspbMessageInstance=t),i}),proto.BVCU.PUConfig.GPSData.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.PUConfig.GPSData;return proto.BVCU.PUConfig.GPSData.deserializeBinaryFromReader(o,t)},proto.BVCU.PUConfig.GPSData.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=new proto.BVCU.PUConfig.WallTime;t.readMessage(o,proto.BVCU.PUConfig.WallTime.deserializeBinaryFromReader),e.setSttime(o);break;case 2:o=t.readUint32();e.setIlongitude(o);break;case 3:o=t.readUint32();e.setIlatitude(o);break;case 4:o=t.readUint32();e.setIheight(o);break;case 5:o=t.readUint32();e.setIangle(o);break;case 6:o=t.readUint32();e.setIspeed(o);break;case 7:o=t.readUint32();e.setIstarcount(o);break;case 8:o=t.readUint32();e.setBantennastate(o);break;case 9:o=t.readUint32();e.setBorientationstate(o);break;case 10:o=t.readUint32();e.setIsatellitesignal(o);break;default:t.skipField()}}return e},proto.BVCU.PUConfig.GPSData.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.PUConfig.GPSData.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.PUConfig.GPSData.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=e.getSttime())&&t.writeMessage(1,o,proto.BVCU.PUConfig.WallTime.serializeBinaryToWriter),null!=(o=r.Message.getField(e,2))&&t.writeUint32(2,o),null!=(o=r.Message.getField(e,3))&&t.writeUint32(3,o),null!=(o=r.Message.getField(e,4))&&t.writeUint32(4,o),null!=(o=r.Message.getField(e,5))&&t.writeUint32(5,o),null!=(o=r.Message.getField(e,6))&&t.writeUint32(6,o),null!=(o=r.Message.getField(e,7))&&t.writeUint32(7,o),null!=(o=r.Message.getField(e,8))&&t.writeUint32(8,o),null!=(o=r.Message.getField(e,9))&&t.writeUint32(9,o),null!=(o=r.Message.getField(e,10))&&t.writeUint32(10,o)},proto.BVCU.PUConfig.GPSData.prototype.getSttime=function(){return r.Message.getWrapperField(this,proto.BVCU.PUConfig.WallTime,1)},proto.BVCU.PUConfig.GPSData.prototype.setSttime=function(e){r.Message.setWrapperField(this,1,e)},proto.BVCU.PUConfig.GPSData.prototype.clearSttime=function(){this.setSttime(void 0)},proto.BVCU.PUConfig.GPSData.prototype.hasSttime=function(){return null!=r.Message.getField(this,1)},proto.BVCU.PUConfig.GPSData.prototype.getIlongitude=function(){return r.Message.getFieldWithDefault(this,2,0)},proto.BVCU.PUConfig.GPSData.prototype.setIlongitude=function(e){r.Message.setField(this,2,e)},proto.BVCU.PUConfig.GPSData.prototype.clearIlongitude=function(){r.Message.setField(this,2,void 0)},proto.BVCU.PUConfig.GPSData.prototype.hasIlongitude=function(){return null!=r.Message.getField(this,2)},proto.BVCU.PUConfig.GPSData.prototype.getIlatitude=function(){return r.Message.getFieldWithDefault(this,3,0)},proto.BVCU.PUConfig.GPSData.prototype.setIlatitude=function(e){r.Message.setField(this,3,e)},proto.BVCU.PUConfig.GPSData.prototype.clearIlatitude=function(){r.Message.setField(this,3,void 0)},proto.BVCU.PUConfig.GPSData.prototype.hasIlatitude=function(){return null!=r.Message.getField(this,3)},proto.BVCU.PUConfig.GPSData.prototype.getIheight=function(){return r.Message.getFieldWithDefault(this,4,0)},proto.BVCU.PUConfig.GPSData.prototype.setIheight=function(e){r.Message.setField(this,4,e)},proto.BVCU.PUConfig.GPSData.prototype.clearIheight=function(){r.Message.setField(this,4,void 0)},proto.BVCU.PUConfig.GPSData.prototype.hasIheight=function(){return null!=r.Message.getField(this,4)},proto.BVCU.PUConfig.GPSData.prototype.getIangle=function(){return r.Message.getFieldWithDefault(this,5,0)},proto.BVCU.PUConfig.GPSData.prototype.setIangle=function(e){r.Message.setField(this,5,e)},proto.BVCU.PUConfig.GPSData.prototype.clearIangle=function(){r.Message.setField(this,5,void 0)},proto.BVCU.PUConfig.GPSData.prototype.hasIangle=function(){return null!=r.Message.getField(this,5)},proto.BVCU.PUConfig.GPSData.prototype.getIspeed=function(){return r.Message.getFieldWithDefault(this,6,0)},proto.BVCU.PUConfig.GPSData.prototype.setIspeed=function(e){r.Message.setField(this,6,e)},proto.BVCU.PUConfig.GPSData.prototype.clearIspeed=function(){r.Message.setField(this,6,void 0)},proto.BVCU.PUConfig.GPSData.prototype.hasIspeed=function(){return null!=r.Message.getField(this,6)},proto.BVCU.PUConfig.GPSData.prototype.getIstarcount=function(){return r.Message.getFieldWithDefault(this,7,0)},proto.BVCU.PUConfig.GPSData.prototype.setIstarcount=function(e){r.Message.setField(this,7,e)},proto.BVCU.PUConfig.GPSData.prototype.clearIstarcount=function(){r.Message.setField(this,7,void 0)},proto.BVCU.PUConfig.GPSData.prototype.hasIstarcount=function(){return null!=r.Message.getField(this,7)},proto.BVCU.PUConfig.GPSData.prototype.getBantennastate=function(){return r.Message.getFieldWithDefault(this,8,0)},proto.BVCU.PUConfig.GPSData.prototype.setBantennastate=function(e){r.Message.setField(this,8,e)},proto.BVCU.PUConfig.GPSData.prototype.clearBantennastate=function(){r.Message.setField(this,8,void 0)},proto.BVCU.PUConfig.GPSData.prototype.hasBantennastate=function(){return null!=r.Message.getField(this,8)},proto.BVCU.PUConfig.GPSData.prototype.getBorientationstate=function(){return r.Message.getFieldWithDefault(this,9,0)},proto.BVCU.PUConfig.GPSData.prototype.setBorientationstate=function(e){r.Message.setField(this,9,e)},proto.BVCU.PUConfig.GPSData.prototype.clearBorientationstate=function(){r.Message.setField(this,9,void 0)},proto.BVCU.PUConfig.GPSData.prototype.hasBorientationstate=function(){return null!=r.Message.getField(this,9)},proto.BVCU.PUConfig.GPSData.prototype.getIsatellitesignal=function(){return r.Message.getFieldWithDefault(this,10,0)},proto.BVCU.PUConfig.GPSData.prototype.setIsatellitesignal=function(e){r.Message.setField(this,10,e)},proto.BVCU.PUConfig.GPSData.prototype.clearIsatellitesignal=function(){r.Message.setField(this,10,void 0)},proto.BVCU.PUConfig.GPSData.prototype.hasIsatellitesignal=function(){return null!=r.Message.getField(this,10)},proto.BVCU.PUConfig.RS232=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.BVCU.PUConfig.RS232,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.PUConfig.RS232.displayName=\"proto.BVCU.PUConfig.RS232\"),r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.PUConfig.RS232.prototype.toObject=function(e){return proto.BVCU.PUConfig.RS232.toObject(e,this)},proto.BVCU.PUConfig.RS232.toObject=function(e,t){var o={ibaudrate:r.Message.getField(t,1),idatabit:r.Message.getField(t,2),istopbit:r.Message.getField(t,3),iparity:r.Message.getField(t,4),iflowcontrol:r.Message.getField(t,5)};return e&&(o.$jspbMessageInstance=t),o}),proto.BVCU.PUConfig.RS232.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.PUConfig.RS232;return proto.BVCU.PUConfig.RS232.deserializeBinaryFromReader(o,t)},proto.BVCU.PUConfig.RS232.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readUint32();e.setIbaudrate(o);break;case 2:o=t.readUint32();e.setIdatabit(o);break;case 3:o=t.readUint32();e.setIstopbit(o);break;case 4:o=t.readUint32();e.setIparity(o);break;case 5:o=t.readUint32();e.setIflowcontrol(o);break;default:t.skipField()}}return e},proto.BVCU.PUConfig.RS232.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.PUConfig.RS232.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.PUConfig.RS232.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeUint32(1,o),null!=(o=r.Message.getField(e,2))&&t.writeUint32(2,o),null!=(o=r.Message.getField(e,3))&&t.writeUint32(3,o),null!=(o=r.Message.getField(e,4))&&t.writeUint32(4,o),null!=(o=r.Message.getField(e,5))&&t.writeUint32(5,o)},proto.BVCU.PUConfig.RS232.prototype.getIbaudrate=function(){return r.Message.getFieldWithDefault(this,1,0)},proto.BVCU.PUConfig.RS232.prototype.setIbaudrate=function(e){r.Message.setField(this,1,e)},proto.BVCU.PUConfig.RS232.prototype.clearIbaudrate=function(){r.Message.setField(this,1,void 0)},proto.BVCU.PUConfig.RS232.prototype.hasIbaudrate=function(){return null!=r.Message.getField(this,1)},proto.BVCU.PUConfig.RS232.prototype.getIdatabit=function(){return r.Message.getFieldWithDefault(this,2,0)},proto.BVCU.PUConfig.RS232.prototype.setIdatabit=function(e){r.Message.setField(this,2,e)},proto.BVCU.PUConfig.RS232.prototype.clearIdatabit=function(){r.Message.setField(this,2,void 0)},proto.BVCU.PUConfig.RS232.prototype.hasIdatabit=function(){return null!=r.Message.getField(this,2)},proto.BVCU.PUConfig.RS232.prototype.getIstopbit=function(){return r.Message.getFieldWithDefault(this,3,0)},proto.BVCU.PUConfig.RS232.prototype.setIstopbit=function(e){r.Message.setField(this,3,e)},proto.BVCU.PUConfig.RS232.prototype.clearIstopbit=function(){r.Message.setField(this,3,void 0)},proto.BVCU.PUConfig.RS232.prototype.hasIstopbit=function(){return null!=r.Message.getField(this,3)},proto.BVCU.PUConfig.RS232.prototype.getIparity=function(){return r.Message.getFieldWithDefault(this,4,0)},proto.BVCU.PUConfig.RS232.prototype.setIparity=function(e){r.Message.setField(this,4,e)},proto.BVCU.PUConfig.RS232.prototype.clearIparity=function(){r.Message.setField(this,4,void 0)},proto.BVCU.PUConfig.RS232.prototype.hasIparity=function(){return null!=r.Message.getField(this,4)},proto.BVCU.PUConfig.RS232.prototype.getIflowcontrol=function(){return r.Message.getFieldWithDefault(this,5,0)},proto.BVCU.PUConfig.RS232.prototype.setIflowcontrol=function(e){r.Message.setField(this,5,e)},proto.BVCU.PUConfig.RS232.prototype.clearIflowcontrol=function(){r.Message.setField(this,5,void 0)},proto.BVCU.PUConfig.RS232.prototype.hasIflowcontrol=function(){return null!=r.Message.getField(this,5)},proto.BVCU.PUConfig.SerialPort=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.BVCU.PUConfig.SerialPort,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.PUConfig.SerialPort.displayName=\"proto.BVCU.PUConfig.SerialPort\"),r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.PUConfig.SerialPort.prototype.toObject=function(e){return proto.BVCU.PUConfig.SerialPort.toObject(e,this)},proto.BVCU.PUConfig.SerialPort.toObject=function(e,t){var o,i={strs232:(o=t.getStrs232())&&proto.BVCU.PUConfig.RS232.toObject(e,o),iaddress:r.Message.getField(t,2),itype:r.Message.getField(t,3)};return e&&(i.$jspbMessageInstance=t),i}),proto.BVCU.PUConfig.SerialPort.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.PUConfig.SerialPort;return proto.BVCU.PUConfig.SerialPort.deserializeBinaryFromReader(o,t)},proto.BVCU.PUConfig.SerialPort.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=new proto.BVCU.PUConfig.RS232;t.readMessage(o,proto.BVCU.PUConfig.RS232.deserializeBinaryFromReader),e.setStrs232(o);break;case 2:o=t.readInt32();e.setIaddress(o);break;case 3:o=t.readInt32();e.setItype(o);break;default:t.skipField()}}return e},proto.BVCU.PUConfig.SerialPort.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.PUConfig.SerialPort.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.PUConfig.SerialPort.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=e.getStrs232())&&t.writeMessage(1,o,proto.BVCU.PUConfig.RS232.serializeBinaryToWriter),null!=(o=r.Message.getField(e,2))&&t.writeInt32(2,o),null!=(o=r.Message.getField(e,3))&&t.writeInt32(3,o)},proto.BVCU.PUConfig.SerialPort.prototype.getStrs232=function(){return r.Message.getWrapperField(this,proto.BVCU.PUConfig.RS232,1,1)},proto.BVCU.PUConfig.SerialPort.prototype.setStrs232=function(e){r.Message.setWrapperField(this,1,e)},proto.BVCU.PUConfig.SerialPort.prototype.clearStrs232=function(){r.Message.setField(this,1,void 0)},proto.BVCU.PUConfig.SerialPort.prototype.hasStrs232=function(){return null!=r.Message.getField(this,1)},proto.BVCU.PUConfig.SerialPort.prototype.getIaddress=function(){return r.Message.getFieldWithDefault(this,2,0)},proto.BVCU.PUConfig.SerialPort.prototype.setIaddress=function(e){r.Message.setField(this,2,e)},proto.BVCU.PUConfig.SerialPort.prototype.clearIaddress=function(){r.Message.setField(this,2,void 0)},proto.BVCU.PUConfig.SerialPort.prototype.hasIaddress=function(){return null!=r.Message.getField(this,2)},proto.BVCU.PUConfig.SerialPort.prototype.getItype=function(){return r.Message.getFieldWithDefault(this,3,0)},proto.BVCU.PUConfig.SerialPort.prototype.setItype=function(e){r.Message.setField(this,3,e)},proto.BVCU.PUConfig.SerialPort.prototype.clearItype=function(){r.Message.setField(this,3,void 0)},proto.BVCU.PUConfig.SerialPort.prototype.hasItype=function(){return null!=r.Message.getField(this,3)},proto.BVCU.PUConfig.CruisePoint=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.BVCU.PUConfig.CruisePoint,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.PUConfig.CruisePoint.displayName=\"proto.BVCU.PUConfig.CruisePoint\"),r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.PUConfig.CruisePoint.prototype.toObject=function(e){return proto.BVCU.PUConfig.CruisePoint.toObject(e,this)},proto.BVCU.PUConfig.CruisePoint.toObject=function(e,t){var o={ipreset:r.Message.getField(t,1),ispeed:r.Message.getFieldWithDefault(t,2,5),iduration:r.Message.getFieldWithDefault(t,3,5)};return e&&(o.$jspbMessageInstance=t),o}),proto.BVCU.PUConfig.CruisePoint.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.PUConfig.CruisePoint;return proto.BVCU.PUConfig.CruisePoint.deserializeBinaryFromReader(o,t)},proto.BVCU.PUConfig.CruisePoint.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readUint32();e.setIpreset(o);break;case 2:o=t.readUint32();e.setIspeed(o);break;case 3:o=t.readUint32();e.setIduration(o);break;default:t.skipField()}}return e},proto.BVCU.PUConfig.CruisePoint.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.PUConfig.CruisePoint.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.PUConfig.CruisePoint.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeUint32(1,o),null!=(o=r.Message.getField(e,2))&&t.writeUint32(2,o),null!=(o=r.Message.getField(e,3))&&t.writeUint32(3,o)},proto.BVCU.PUConfig.CruisePoint.prototype.getIpreset=function(){return r.Message.getFieldWithDefault(this,1,0)},proto.BVCU.PUConfig.CruisePoint.prototype.setIpreset=function(e){r.Message.setField(this,1,e)},proto.BVCU.PUConfig.CruisePoint.prototype.clearIpreset=function(){r.Message.setField(this,1,void 0)},proto.BVCU.PUConfig.CruisePoint.prototype.hasIpreset=function(){return null!=r.Message.getField(this,1)},proto.BVCU.PUConfig.CruisePoint.prototype.getIspeed=function(){return r.Message.getFieldWithDefault(this,2,5)},proto.BVCU.PUConfig.CruisePoint.prototype.setIspeed=function(e){r.Message.setField(this,2,e)},proto.BVCU.PUConfig.CruisePoint.prototype.clearIspeed=function(){r.Message.setField(this,2,void 0)},proto.BVCU.PUConfig.CruisePoint.prototype.hasIspeed=function(){return null!=r.Message.getField(this,2)},proto.BVCU.PUConfig.CruisePoint.prototype.getIduration=function(){return r.Message.getFieldWithDefault(this,3,5)},proto.BVCU.PUConfig.CruisePoint.prototype.setIduration=function(e){r.Message.setField(this,3,e)},proto.BVCU.PUConfig.CruisePoint.prototype.clearIduration=function(){r.Message.setField(this,3,void 0)},proto.BVCU.PUConfig.CruisePoint.prototype.hasIduration=function(){return null!=r.Message.getField(this,3)},proto.BVCU.PUConfig.Cruise=function(e){r.Message.initialize(this,e,0,-1,proto.BVCU.PUConfig.Cruise.repeatedFields_,null)},i.inherits(proto.BVCU.PUConfig.Cruise,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.PUConfig.Cruise.displayName=\"proto.BVCU.PUConfig.Cruise\"),proto.BVCU.PUConfig.Cruise.repeatedFields_=[3],r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.PUConfig.Cruise.prototype.toObject=function(e){return proto.BVCU.PUConfig.Cruise.toObject(e,this)},proto.BVCU.PUConfig.Cruise.toObject=function(e,t){var o={iid:r.Message.getField(t,1),szname:r.Message.getField(t,2),stpointsList:r.Message.toObjectList(t.getStpointsList(),proto.BVCU.PUConfig.CruisePoint.toObject,e)};return e&&(o.$jspbMessageInstance=t),o}),proto.BVCU.PUConfig.Cruise.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.PUConfig.Cruise;return proto.BVCU.PUConfig.Cruise.deserializeBinaryFromReader(o,t)},proto.BVCU.PUConfig.Cruise.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readInt32();e.setIid(o);break;case 2:o=t.readString();e.setSzname(o);break;case 3:o=new proto.BVCU.PUConfig.CruisePoint;t.readMessage(o,proto.BVCU.PUConfig.CruisePoint.deserializeBinaryFromReader),e.addStpoints(o);break;default:t.skipField()}}return e},proto.BVCU.PUConfig.Cruise.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.PUConfig.Cruise.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.PUConfig.Cruise.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeInt32(1,o),null!=(o=r.Message.getField(e,2))&&t.writeString(2,o),(o=e.getStpointsList()).length>0&&t.writeRepeatedMessage(3,o,proto.BVCU.PUConfig.CruisePoint.serializeBinaryToWriter)},proto.BVCU.PUConfig.Cruise.prototype.getIid=function(){return r.Message.getFieldWithDefault(this,1,0)},proto.BVCU.PUConfig.Cruise.prototype.setIid=function(e){r.Message.setField(this,1,e)},proto.BVCU.PUConfig.Cruise.prototype.clearIid=function(){r.Message.setField(this,1,void 0)},proto.BVCU.PUConfig.Cruise.prototype.hasIid=function(){return null!=r.Message.getField(this,1)},proto.BVCU.PUConfig.Cruise.prototype.getSzname=function(){return r.Message.getFieldWithDefault(this,2,\"\")},proto.BVCU.PUConfig.Cruise.prototype.setSzname=function(e){r.Message.setField(this,2,e)},proto.BVCU.PUConfig.Cruise.prototype.clearSzname=function(){r.Message.setField(this,2,void 0)},proto.BVCU.PUConfig.Cruise.prototype.hasSzname=function(){return null!=r.Message.getField(this,2)},proto.BVCU.PUConfig.Cruise.prototype.getStpointsList=function(){return r.Message.getRepeatedWrapperField(this,proto.BVCU.PUConfig.CruisePoint,3)},proto.BVCU.PUConfig.Cruise.prototype.setStpointsList=function(e){r.Message.setRepeatedWrapperField(this,3,e)},proto.BVCU.PUConfig.Cruise.prototype.addStpoints=function(e,t){return r.Message.addToRepeatedWrapperField(this,3,e,proto.BVCU.PUConfig.CruisePoint,t)},proto.BVCU.PUConfig.Cruise.prototype.clearStpointsList=function(){this.setStpointsList([])},proto.BVCU.PUConfig.PTZControl=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.BVCU.PUConfig.PTZControl,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.PUConfig.PTZControl.displayName=\"proto.BVCU.PUConfig.PTZControl\"),r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.PUConfig.PTZControl.prototype.toObject=function(e){return proto.BVCU.PUConfig.PTZControl.toObject(e,this)},proto.BVCU.PUConfig.PTZControl.toObject=function(e,t){var o,i={iptzcommand:r.Message.getField(t,1),bstop:r.Message.getField(t,2),iparam1:r.Message.getField(t,3),iparam2:r.Message.getField(t,4),iparam3:r.Message.getField(t,5),szpresetname:r.Message.getField(t,6),ggcruise:(o=t.getGgcruise())&&proto.BVCU.PUConfig.Cruise.toObject(e,o)};return e&&(i.$jspbMessageInstance=t),i}),proto.BVCU.PUConfig.PTZControl.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.PUConfig.PTZControl;return proto.BVCU.PUConfig.PTZControl.deserializeBinaryFromReader(o,t)},proto.BVCU.PUConfig.PTZControl.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readUint32();e.setIptzcommand(o);break;case 2:o=t.readUint32();e.setBstop(o);break;case 3:o=t.readUint32();e.setIparam1(o);break;case 4:o=t.readUint32();e.setIparam2(o);break;case 5:o=t.readUint32();e.setIparam3(o);break;case 6:o=t.readString();e.setSzpresetname(o);break;case 7:o=new proto.BVCU.PUConfig.Cruise;t.readMessage(o,proto.BVCU.PUConfig.Cruise.deserializeBinaryFromReader),e.setGgcruise(o);break;default:t.skipField()}}return e},proto.BVCU.PUConfig.PTZControl.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.PUConfig.PTZControl.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.PUConfig.PTZControl.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeUint32(1,o),null!=(o=r.Message.getField(e,2))&&t.writeUint32(2,o),null!=(o=r.Message.getField(e,3))&&t.writeUint32(3,o),null!=(o=r.Message.getField(e,4))&&t.writeUint32(4,o),null!=(o=r.Message.getField(e,5))&&t.writeUint32(5,o),null!=(o=r.Message.getField(e,6))&&t.writeString(6,o),null!=(o=e.getGgcruise())&&t.writeMessage(7,o,proto.BVCU.PUConfig.Cruise.serializeBinaryToWriter)},proto.BVCU.PUConfig.PTZControl.prototype.getIptzcommand=function(){return r.Message.getFieldWithDefault(this,1,0)},proto.BVCU.PUConfig.PTZControl.prototype.setIptzcommand=function(e){r.Message.setField(this,1,e)},proto.BVCU.PUConfig.PTZControl.prototype.clearIptzcommand=function(){r.Message.setField(this,1,void 0)},proto.BVCU.PUConfig.PTZControl.prototype.hasIptzcommand=function(){return null!=r.Message.getField(this,1)},proto.BVCU.PUConfig.PTZControl.prototype.getBstop=function(){return r.Message.getFieldWithDefault(this,2,0)},proto.BVCU.PUConfig.PTZControl.prototype.setBstop=function(e){r.Message.setField(this,2,e)},proto.BVCU.PUConfig.PTZControl.prototype.clearBstop=function(){r.Message.setField(this,2,void 0)},proto.BVCU.PUConfig.PTZControl.prototype.hasBstop=function(){return null!=r.Message.getField(this,2)},proto.BVCU.PUConfig.PTZControl.prototype.getIparam1=function(){return r.Message.getFieldWithDefault(this,3,0)},proto.BVCU.PUConfig.PTZControl.prototype.setIparam1=function(e){r.Message.setField(this,3,e)},proto.BVCU.PUConfig.PTZControl.prototype.clearIparam1=function(){r.Message.setField(this,3,void 0)},proto.BVCU.PUConfig.PTZControl.prototype.hasIparam1=function(){return null!=r.Message.getField(this,3)},proto.BVCU.PUConfig.PTZControl.prototype.getIparam2=function(){return r.Message.getFieldWithDefault(this,4,0)},proto.BVCU.PUConfig.PTZControl.prototype.setIparam2=function(e){r.Message.setField(this,4,e)},proto.BVCU.PUConfig.PTZControl.prototype.clearIparam2=function(){r.Message.setField(this,4,void 0)},proto.BVCU.PUConfig.PTZControl.prototype.hasIparam2=function(){return null!=r.Message.getField(this,4)},proto.BVCU.PUConfig.PTZControl.prototype.getIparam3=function(){return r.Message.getFieldWithDefault(this,5,0)},proto.BVCU.PUConfig.PTZControl.prototype.setIparam3=function(e){r.Message.setField(this,5,e)},proto.BVCU.PUConfig.PTZControl.prototype.clearIparam3=function(){r.Message.setField(this,5,void 0)},proto.BVCU.PUConfig.PTZControl.prototype.hasIparam3=function(){return null!=r.Message.getField(this,5)},proto.BVCU.PUConfig.PTZControl.prototype.getSzpresetname=function(){return r.Message.getFieldWithDefault(this,6,\"\")},proto.BVCU.PUConfig.PTZControl.prototype.setSzpresetname=function(e){r.Message.setField(this,6,e)},proto.BVCU.PUConfig.PTZControl.prototype.clearSzpresetname=function(){r.Message.setField(this,6,void 0)},proto.BVCU.PUConfig.PTZControl.prototype.hasSzpresetname=function(){return null!=r.Message.getField(this,6)},proto.BVCU.PUConfig.PTZControl.prototype.getGgcruise=function(){return r.Message.getWrapperField(this,proto.BVCU.PUConfig.Cruise,7)},proto.BVCU.PUConfig.PTZControl.prototype.setGgcruise=function(e){r.Message.setWrapperField(this,7,e)},proto.BVCU.PUConfig.PTZControl.prototype.clearGgcruise=function(){this.setGgcruise(void 0)},proto.BVCU.PUConfig.PTZControl.prototype.hasGgcruise=function(){return null!=r.Message.getField(this,7)},proto.BVCU.PUConfig.Ethernet=function(e){r.Message.initialize(this,e,0,-1,proto.BVCU.PUConfig.Ethernet.repeatedFields_,null)},i.inherits(proto.BVCU.PUConfig.Ethernet,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.PUConfig.Ethernet.displayName=\"proto.BVCU.PUConfig.Ethernet\"),proto.BVCU.PUConfig.Ethernet.repeatedFields_=[7],r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.PUConfig.Ethernet.prototype.toObject=function(e){return proto.BVCU.PUConfig.Ethernet.toObject(e,this)},proto.BVCU.PUConfig.Ethernet.toObject=function(e,t){var o={bdhcp:r.Message.getField(t,1),bpppoe:r.Message.getField(t,2),bautodns:r.Message.getField(t,3),szip:r.Message.getField(t,4),sznetmask:r.Message.getField(t,5),szgateway:r.Message.getField(t,6),szdnsList:r.Message.getField(t,7),szpppoeusername:r.Message.getField(t,8),szpppoepassword:r.Message.getField(t,9),istatus:r.Message.getField(t,10)};return e&&(o.$jspbMessageInstance=t),o}),proto.BVCU.PUConfig.Ethernet.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.PUConfig.Ethernet;return proto.BVCU.PUConfig.Ethernet.deserializeBinaryFromReader(o,t)},proto.BVCU.PUConfig.Ethernet.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readInt32();e.setBdhcp(o);break;case 2:o=t.readInt32();e.setBpppoe(o);break;case 3:o=t.readUint32();e.setBautodns(o);break;case 4:o=t.readString();e.setSzip(o);break;case 5:o=t.readString();e.setSznetmask(o);break;case 6:o=t.readString();e.setSzgateway(o);break;case 7:o=t.readString();e.addSzdns(o);break;case 8:o=t.readString();e.setSzpppoeusername(o);break;case 9:o=t.readString();e.setSzpppoepassword(o);break;case 10:o=t.readUint32();e.setIstatus(o);break;default:t.skipField()}}return e},proto.BVCU.PUConfig.Ethernet.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.PUConfig.Ethernet.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.PUConfig.Ethernet.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeInt32(1,o),null!=(o=r.Message.getField(e,2))&&t.writeInt32(2,o),null!=(o=r.Message.getField(e,3))&&t.writeUint32(3,o),null!=(o=r.Message.getField(e,4))&&t.writeString(4,o),null!=(o=r.Message.getField(e,5))&&t.writeString(5,o),null!=(o=r.Message.getField(e,6))&&t.writeString(6,o),(o=e.getSzdnsList()).length>0&&t.writeRepeatedString(7,o),null!=(o=r.Message.getField(e,8))&&t.writeString(8,o),null!=(o=r.Message.getField(e,9))&&t.writeString(9,o),null!=(o=r.Message.getField(e,10))&&t.writeUint32(10,o)},proto.BVCU.PUConfig.Ethernet.prototype.getBdhcp=function(){return r.Message.getFieldWithDefault(this,1,0)},proto.BVCU.PUConfig.Ethernet.prototype.setBdhcp=function(e){r.Message.setField(this,1,e)},proto.BVCU.PUConfig.Ethernet.prototype.clearBdhcp=function(){r.Message.setField(this,1,void 0)},proto.BVCU.PUConfig.Ethernet.prototype.hasBdhcp=function(){return null!=r.Message.getField(this,1)},proto.BVCU.PUConfig.Ethernet.prototype.getBpppoe=function(){return r.Message.getFieldWithDefault(this,2,0)},proto.BVCU.PUConfig.Ethernet.prototype.setBpppoe=function(e){r.Message.setField(this,2,e)},proto.BVCU.PUConfig.Ethernet.prototype.clearBpppoe=function(){r.Message.setField(this,2,void 0)},proto.BVCU.PUConfig.Ethernet.prototype.hasBpppoe=function(){return null!=r.Message.getField(this,2)},proto.BVCU.PUConfig.Ethernet.prototype.getBautodns=function(){return r.Message.getFieldWithDefault(this,3,0)},proto.BVCU.PUConfig.Ethernet.prototype.setBautodns=function(e){r.Message.setField(this,3,e)},proto.BVCU.PUConfig.Ethernet.prototype.clearBautodns=function(){r.Message.setField(this,3,void 0)},proto.BVCU.PUConfig.Ethernet.prototype.hasBautodns=function(){return null!=r.Message.getField(this,3)},proto.BVCU.PUConfig.Ethernet.prototype.getSzip=function(){return r.Message.getFieldWithDefault(this,4,\"\")},proto.BVCU.PUConfig.Ethernet.prototype.setSzip=function(e){r.Message.setField(this,4,e)},proto.BVCU.PUConfig.Ethernet.prototype.clearSzip=function(){r.Message.setField(this,4,void 0)},proto.BVCU.PUConfig.Ethernet.prototype.hasSzip=function(){return null!=r.Message.getField(this,4)},proto.BVCU.PUConfig.Ethernet.prototype.getSznetmask=function(){return r.Message.getFieldWithDefault(this,5,\"\")},proto.BVCU.PUConfig.Ethernet.prototype.setSznetmask=function(e){r.Message.setField(this,5,e)},proto.BVCU.PUConfig.Ethernet.prototype.clearSznetmask=function(){r.Message.setField(this,5,void 0)},proto.BVCU.PUConfig.Ethernet.prototype.hasSznetmask=function(){return null!=r.Message.getField(this,5)},proto.BVCU.PUConfig.Ethernet.prototype.getSzgateway=function(){return r.Message.getFieldWithDefault(this,6,\"\")},proto.BVCU.PUConfig.Ethernet.prototype.setSzgateway=function(e){r.Message.setField(this,6,e)},proto.BVCU.PUConfig.Ethernet.prototype.clearSzgateway=function(){r.Message.setField(this,6,void 0)},proto.BVCU.PUConfig.Ethernet.prototype.hasSzgateway=function(){return null!=r.Message.getField(this,6)},proto.BVCU.PUConfig.Ethernet.prototype.getSzdnsList=function(){return r.Message.getField(this,7)},proto.BVCU.PUConfig.Ethernet.prototype.setSzdnsList=function(e){r.Message.setField(this,7,e||[])},proto.BVCU.PUConfig.Ethernet.prototype.addSzdns=function(e,t){r.Message.addToRepeatedField(this,7,e,t)},proto.BVCU.PUConfig.Ethernet.prototype.clearSzdnsList=function(){this.setSzdnsList([])},proto.BVCU.PUConfig.Ethernet.prototype.getSzpppoeusername=function(){return r.Message.getFieldWithDefault(this,8,\"\")},proto.BVCU.PUConfig.Ethernet.prototype.setSzpppoeusername=function(e){r.Message.setField(this,8,e)},proto.BVCU.PUConfig.Ethernet.prototype.clearSzpppoeusername=function(){r.Message.setField(this,8,void 0)},proto.BVCU.PUConfig.Ethernet.prototype.hasSzpppoeusername=function(){return null!=r.Message.getField(this,8)},proto.BVCU.PUConfig.Ethernet.prototype.getSzpppoepassword=function(){return r.Message.getFieldWithDefault(this,9,\"\")},proto.BVCU.PUConfig.Ethernet.prototype.setSzpppoepassword=function(e){r.Message.setField(this,9,e)},proto.BVCU.PUConfig.Ethernet.prototype.clearSzpppoepassword=function(){r.Message.setField(this,9,void 0)},proto.BVCU.PUConfig.Ethernet.prototype.hasSzpppoepassword=function(){return null!=r.Message.getField(this,9)},proto.BVCU.PUConfig.Ethernet.prototype.getIstatus=function(){return r.Message.getFieldWithDefault(this,10,0)},proto.BVCU.PUConfig.Ethernet.prototype.setIstatus=function(e){r.Message.setField(this,10,e)},proto.BVCU.PUConfig.Ethernet.prototype.clearIstatus=function(){r.Message.setField(this,10,void 0)},proto.BVCU.PUConfig.Ethernet.prototype.hasIstatus=function(){return null!=r.Message.getField(this,10)},proto.BVCU.PUConfig.WifiHotSpot=function(e){r.Message.initialize(this,e,0,-1,proto.BVCU.PUConfig.WifiHotSpot.repeatedFields_,null)},i.inherits(proto.BVCU.PUConfig.WifiHotSpot,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.PUConfig.WifiHotSpot.displayName=\"proto.BVCU.PUConfig.WifiHotSpot\"),proto.BVCU.PUConfig.WifiHotSpot.repeatedFields_=[1,3],r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.PUConfig.WifiHotSpot.prototype.toObject=function(e){return proto.BVCU.PUConfig.WifiHotSpot.toObject(e,this)},proto.BVCU.PUConfig.WifiHotSpot.toObject=function(e,t){var o={szproviderallList:r.Message.getField(t,1),iproviderindex:r.Message.getField(t,2),szareaallList:r.Message.getField(t,3),iareaindex:r.Message.getField(t,4),szusername:r.Message.getField(t,5),szpassword:t.getSzpassword_asB64()};return e&&(o.$jspbMessageInstance=t),o}),proto.BVCU.PUConfig.WifiHotSpot.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.PUConfig.WifiHotSpot;return proto.BVCU.PUConfig.WifiHotSpot.deserializeBinaryFromReader(o,t)},proto.BVCU.PUConfig.WifiHotSpot.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readString();e.addSzproviderall(o);break;case 2:o=t.readUint32();e.setIproviderindex(o);break;case 3:o=t.readString();e.addSzareaall(o);break;case 4:o=t.readUint32();e.setIareaindex(o);break;case 5:o=t.readString();e.setSzusername(o);break;case 6:o=t.readBytes();e.setSzpassword(o);break;default:t.skipField()}}return e},proto.BVCU.PUConfig.WifiHotSpot.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.PUConfig.WifiHotSpot.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.PUConfig.WifiHotSpot.serializeBinaryToWriter=function(e,t){var o=void 0;(o=e.getSzproviderallList()).length>0&&t.writeRepeatedString(1,o),null!=(o=r.Message.getField(e,2))&&t.writeUint32(2,o),(o=e.getSzareaallList()).length>0&&t.writeRepeatedString(3,o),null!=(o=r.Message.getField(e,4))&&t.writeUint32(4,o),null!=(o=r.Message.getField(e,5))&&t.writeString(5,o),null!=(o=r.Message.getField(e,6))&&t.writeBytes(6,o)},proto.BVCU.PUConfig.WifiHotSpot.prototype.getSzproviderallList=function(){return r.Message.getField(this,1)},proto.BVCU.PUConfig.WifiHotSpot.prototype.setSzproviderallList=function(e){r.Message.setField(this,1,e||[])},proto.BVCU.PUConfig.WifiHotSpot.prototype.addSzproviderall=function(e,t){r.Message.addToRepeatedField(this,1,e,t)},proto.BVCU.PUConfig.WifiHotSpot.prototype.clearSzproviderallList=function(){this.setSzproviderallList([])},proto.BVCU.PUConfig.WifiHotSpot.prototype.getIproviderindex=function(){return r.Message.getFieldWithDefault(this,2,0)},proto.BVCU.PUConfig.WifiHotSpot.prototype.setIproviderindex=function(e){r.Message.setField(this,2,e)},proto.BVCU.PUConfig.WifiHotSpot.prototype.clearIproviderindex=function(){r.Message.setField(this,2,void 0)},proto.BVCU.PUConfig.WifiHotSpot.prototype.hasIproviderindex=function(){return null!=r.Message.getField(this,2)},proto.BVCU.PUConfig.WifiHotSpot.prototype.getSzareaallList=function(){return r.Message.getField(this,3)},proto.BVCU.PUConfig.WifiHotSpot.prototype.setSzareaallList=function(e){r.Message.setField(this,3,e||[])},proto.BVCU.PUConfig.WifiHotSpot.prototype.addSzareaall=function(e,t){r.Message.addToRepeatedField(this,3,e,t)},proto.BVCU.PUConfig.WifiHotSpot.prototype.clearSzareaallList=function(){this.setSzareaallList([])},proto.BVCU.PUConfig.WifiHotSpot.prototype.getIareaindex=function(){return r.Message.getFieldWithDefault(this,4,0)},proto.BVCU.PUConfig.WifiHotSpot.prototype.setIareaindex=function(e){r.Message.setField(this,4,e)},proto.BVCU.PUConfig.WifiHotSpot.prototype.clearIareaindex=function(){r.Message.setField(this,4,void 0)},proto.BVCU.PUConfig.WifiHotSpot.prototype.hasIareaindex=function(){return null!=r.Message.getField(this,4)},proto.BVCU.PUConfig.WifiHotSpot.prototype.getSzusername=function(){return r.Message.getFieldWithDefault(this,5,\"\")},proto.BVCU.PUConfig.WifiHotSpot.prototype.setSzusername=function(e){r.Message.setField(this,5,e)},proto.BVCU.PUConfig.WifiHotSpot.prototype.clearSzusername=function(){r.Message.setField(this,5,void 0)},proto.BVCU.PUConfig.WifiHotSpot.prototype.hasSzusername=function(){return null!=r.Message.getField(this,5)},proto.BVCU.PUConfig.WifiHotSpot.prototype.getSzpassword=function(){return r.Message.getFieldWithDefault(this,6,\"\")},proto.BVCU.PUConfig.WifiHotSpot.prototype.getSzpassword_asB64=function(){return r.Message.bytesAsB64(this.getSzpassword())},proto.BVCU.PUConfig.WifiHotSpot.prototype.getSzpassword_asU8=function(){return r.Message.bytesAsU8(this.getSzpassword())},proto.BVCU.PUConfig.WifiHotSpot.prototype.setSzpassword=function(e){r.Message.setField(this,6,e)},proto.BVCU.PUConfig.WifiHotSpot.prototype.clearSzpassword=function(){r.Message.setField(this,6,void 0)},proto.BVCU.PUConfig.WifiHotSpot.prototype.hasSzpassword=function(){return null!=r.Message.getField(this,6)},proto.BVCU.PUConfig.WifiGeneral=function(e){r.Message.initialize(this,e,0,-1,proto.BVCU.PUConfig.WifiGeneral.repeatedFields_,null)},i.inherits(proto.BVCU.PUConfig.WifiGeneral,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.PUConfig.WifiGeneral.displayName=\"proto.BVCU.PUConfig.WifiGeneral\"),proto.BVCU.PUConfig.WifiGeneral.repeatedFields_=[4,12],r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.PUConfig.WifiGeneral.prototype.toObject=function(e){return proto.BVCU.PUConfig.WifiGeneral.toObject(e,this)},proto.BVCU.PUConfig.WifiGeneral.toObject=function(e,t){var o={szssid:r.Message.getField(t,1),isecuritytype:r.Message.getField(t,2),icrypttype:r.Message.getField(t,3),szwepkeyList:t.getSzwepkeyList_asB64(),szwpakey:t.getSzwpakey_asB64(),bdhcp:r.Message.getField(t,6),bpppoe:r.Message.getField(t,7),bautodns:r.Message.getField(t,8),szip:r.Message.getField(t,9),sznetmask:r.Message.getField(t,10),szgateway:r.Message.getField(t,11),szdnsList:r.Message.getField(t,12),istatus:r.Message.getField(t,13)};return e&&(o.$jspbMessageInstance=t),o}),proto.BVCU.PUConfig.WifiGeneral.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.PUConfig.WifiGeneral;return proto.BVCU.PUConfig.WifiGeneral.deserializeBinaryFromReader(o,t)},proto.BVCU.PUConfig.WifiGeneral.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readString();e.setSzssid(o);break;case 2:o=t.readUint32();e.setIsecuritytype(o);break;case 3:o=t.readUint32();e.setIcrypttype(o);break;case 4:o=t.readBytes();e.addSzwepkey(o);break;case 5:o=t.readBytes();e.setSzwpakey(o);break;case 6:o=t.readInt32();e.setBdhcp(o);break;case 7:o=t.readInt32();e.setBpppoe(o);break;case 8:o=t.readUint32();e.setBautodns(o);break;case 9:o=t.readString();e.setSzip(o);break;case 10:o=t.readString();e.setSznetmask(o);break;case 11:o=t.readString();e.setSzgateway(o);break;case 12:o=t.readString();e.addSzdns(o);break;case 13:o=t.readUint32();e.setIstatus(o);break;default:t.skipField()}}return e},proto.BVCU.PUConfig.WifiGeneral.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.PUConfig.WifiGeneral.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.PUConfig.WifiGeneral.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeString(1,o),null!=(o=r.Message.getField(e,2))&&t.writeUint32(2,o),null!=(o=r.Message.getField(e,3))&&t.writeUint32(3,o),(o=e.getSzwepkeyList_asU8()).length>0&&t.writeRepeatedBytes(4,o),null!=(o=r.Message.getField(e,5))&&t.writeBytes(5,o),null!=(o=r.Message.getField(e,6))&&t.writeInt32(6,o),null!=(o=r.Message.getField(e,7))&&t.writeInt32(7,o),null!=(o=r.Message.getField(e,8))&&t.writeUint32(8,o),null!=(o=r.Message.getField(e,9))&&t.writeString(9,o),null!=(o=r.Message.getField(e,10))&&t.writeString(10,o),null!=(o=r.Message.getField(e,11))&&t.writeString(11,o),(o=e.getSzdnsList()).length>0&&t.writeRepeatedString(12,o),null!=(o=r.Message.getField(e,13))&&t.writeUint32(13,o)},proto.BVCU.PUConfig.WifiGeneral.prototype.getSzssid=function(){return r.Message.getFieldWithDefault(this,1,\"\")},proto.BVCU.PUConfig.WifiGeneral.prototype.setSzssid=function(e){r.Message.setField(this,1,e)},proto.BVCU.PUConfig.WifiGeneral.prototype.clearSzssid=function(){r.Message.setField(this,1,void 0)},proto.BVCU.PUConfig.WifiGeneral.prototype.hasSzssid=function(){return null!=r.Message.getField(this,1)},proto.BVCU.PUConfig.WifiGeneral.prototype.getIsecuritytype=function(){return r.Message.getFieldWithDefault(this,2,0)},proto.BVCU.PUConfig.WifiGeneral.prototype.setIsecuritytype=function(e){r.Message.setField(this,2,e)},proto.BVCU.PUConfig.WifiGeneral.prototype.clearIsecuritytype=function(){r.Message.setField(this,2,void 0)},proto.BVCU.PUConfig.WifiGeneral.prototype.hasIsecuritytype=function(){return null!=r.Message.getField(this,2)},proto.BVCU.PUConfig.WifiGeneral.prototype.getIcrypttype=function(){return r.Message.getFieldWithDefault(this,3,0)},proto.BVCU.PUConfig.WifiGeneral.prototype.setIcrypttype=function(e){r.Message.setField(this,3,e)},proto.BVCU.PUConfig.WifiGeneral.prototype.clearIcrypttype=function(){r.Message.setField(this,3,void 0)},proto.BVCU.PUConfig.WifiGeneral.prototype.hasIcrypttype=function(){return null!=r.Message.getField(this,3)},proto.BVCU.PUConfig.WifiGeneral.prototype.getSzwepkeyList=function(){return r.Message.getField(this,4)},proto.BVCU.PUConfig.WifiGeneral.prototype.getSzwepkeyList_asB64=function(){return r.Message.bytesListAsB64(this.getSzwepkeyList())},proto.BVCU.PUConfig.WifiGeneral.prototype.getSzwepkeyList_asU8=function(){return r.Message.bytesListAsU8(this.getSzwepkeyList())},proto.BVCU.PUConfig.WifiGeneral.prototype.setSzwepkeyList=function(e){r.Message.setField(this,4,e||[])},proto.BVCU.PUConfig.WifiGeneral.prototype.addSzwepkey=function(e,t){r.Message.addToRepeatedField(this,4,e,t)},proto.BVCU.PUConfig.WifiGeneral.prototype.clearSzwepkeyList=function(){this.setSzwepkeyList([])},proto.BVCU.PUConfig.WifiGeneral.prototype.getSzwpakey=function(){return r.Message.getFieldWithDefault(this,5,\"\")},proto.BVCU.PUConfig.WifiGeneral.prototype.getSzwpakey_asB64=function(){return r.Message.bytesAsB64(this.getSzwpakey())},proto.BVCU.PUConfig.WifiGeneral.prototype.getSzwpakey_asU8=function(){return r.Message.bytesAsU8(this.getSzwpakey())},proto.BVCU.PUConfig.WifiGeneral.prototype.setSzwpakey=function(e){r.Message.setField(this,5,e)},proto.BVCU.PUConfig.WifiGeneral.prototype.clearSzwpakey=function(){r.Message.setField(this,5,void 0)},proto.BVCU.PUConfig.WifiGeneral.prototype.hasSzwpakey=function(){return null!=r.Message.getField(this,5)},proto.BVCU.PUConfig.WifiGeneral.prototype.getBdhcp=function(){return r.Message.getFieldWithDefault(this,6,0)},proto.BVCU.PUConfig.WifiGeneral.prototype.setBdhcp=function(e){r.Message.setField(this,6,e)},proto.BVCU.PUConfig.WifiGeneral.prototype.clearBdhcp=function(){r.Message.setField(this,6,void 0)},proto.BVCU.PUConfig.WifiGeneral.prototype.hasBdhcp=function(){return null!=r.Message.getField(this,6)},proto.BVCU.PUConfig.WifiGeneral.prototype.getBpppoe=function(){return r.Message.getFieldWithDefault(this,7,0)},proto.BVCU.PUConfig.WifiGeneral.prototype.setBpppoe=function(e){r.Message.setField(this,7,e)},proto.BVCU.PUConfig.WifiGeneral.prototype.clearBpppoe=function(){r.Message.setField(this,7,void 0)},proto.BVCU.PUConfig.WifiGeneral.prototype.hasBpppoe=function(){return null!=r.Message.getField(this,7)},proto.BVCU.PUConfig.WifiGeneral.prototype.getBautodns=function(){return r.Message.getFieldWithDefault(this,8,0)},proto.BVCU.PUConfig.WifiGeneral.prototype.setBautodns=function(e){r.Message.setField(this,8,e)},proto.BVCU.PUConfig.WifiGeneral.prototype.clearBautodns=function(){r.Message.setField(this,8,void 0)},proto.BVCU.PUConfig.WifiGeneral.prototype.hasBautodns=function(){return null!=r.Message.getField(this,8)},proto.BVCU.PUConfig.WifiGeneral.prototype.getSzip=function(){return r.Message.getFieldWithDefault(this,9,\"\")},proto.BVCU.PUConfig.WifiGeneral.prototype.setSzip=function(e){r.Message.setField(this,9,e)},proto.BVCU.PUConfig.WifiGeneral.prototype.clearSzip=function(){r.Message.setField(this,9,void 0)},proto.BVCU.PUConfig.WifiGeneral.prototype.hasSzip=function(){return null!=r.Message.getField(this,9)},proto.BVCU.PUConfig.WifiGeneral.prototype.getSznetmask=function(){return r.Message.getFieldWithDefault(this,10,\"\")},proto.BVCU.PUConfig.WifiGeneral.prototype.setSznetmask=function(e){r.Message.setField(this,10,e)},proto.BVCU.PUConfig.WifiGeneral.prototype.clearSznetmask=function(){r.Message.setField(this,10,void 0)},proto.BVCU.PUConfig.WifiGeneral.prototype.hasSznetmask=function(){return null!=r.Message.getField(this,10)},proto.BVCU.PUConfig.WifiGeneral.prototype.getSzgateway=function(){return r.Message.getFieldWithDefault(this,11,\"\")},proto.BVCU.PUConfig.WifiGeneral.prototype.setSzgateway=function(e){r.Message.setField(this,11,e)},proto.BVCU.PUConfig.WifiGeneral.prototype.clearSzgateway=function(){r.Message.setField(this,11,void 0)},proto.BVCU.PUConfig.WifiGeneral.prototype.hasSzgateway=function(){return null!=r.Message.getField(this,11)},proto.BVCU.PUConfig.WifiGeneral.prototype.getSzdnsList=function(){return r.Message.getField(this,12)},proto.BVCU.PUConfig.WifiGeneral.prototype.setSzdnsList=function(e){r.Message.setField(this,12,e||[])},proto.BVCU.PUConfig.WifiGeneral.prototype.addSzdns=function(e,t){r.Message.addToRepeatedField(this,12,e,t)},proto.BVCU.PUConfig.WifiGeneral.prototype.clearSzdnsList=function(){this.setSzdnsList([])},proto.BVCU.PUConfig.WifiGeneral.prototype.getIstatus=function(){return r.Message.getFieldWithDefault(this,13,0)},proto.BVCU.PUConfig.WifiGeneral.prototype.setIstatus=function(e){r.Message.setField(this,13,e)},proto.BVCU.PUConfig.WifiGeneral.prototype.clearIstatus=function(){r.Message.setField(this,13,void 0)},proto.BVCU.PUConfig.WifiGeneral.prototype.hasIstatus=function(){return null!=r.Message.getField(this,13)},proto.BVCU.PUConfig.WifiAP=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.BVCU.PUConfig.WifiAP,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.PUConfig.WifiAP.displayName=\"proto.BVCU.PUConfig.WifiAP\"),r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.PUConfig.WifiAP.prototype.toObject=function(e){return proto.BVCU.PUConfig.WifiAP.toObject(e,this)},proto.BVCU.PUConfig.WifiAP.toObject=function(e,t){var o={benable:r.Message.getField(t,1),bhidessid:r.Message.getField(t,2),szssid:r.Message.getField(t,3),isafetype:r.Message.getField(t,4),szpassword:r.Message.getField(t,5),ichannel:r.Message.getField(t,6),bautochannelselect:r.Message.getField(t,7),szip:r.Message.getField(t,8),szsubmark:r.Message.getField(t,9),bdhcp:r.Message.getField(t,10),szdhcpstartaddr:r.Message.getField(t,11),szdhcpendaddr:r.Message.getField(t,12)};return e&&(o.$jspbMessageInstance=t),o}),proto.BVCU.PUConfig.WifiAP.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.PUConfig.WifiAP;return proto.BVCU.PUConfig.WifiAP.deserializeBinaryFromReader(o,t)},proto.BVCU.PUConfig.WifiAP.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readUint32();e.setBenable(o);break;case 2:o=t.readUint32();e.setBhidessid(o);break;case 3:o=t.readString();e.setSzssid(o);break;case 4:o=t.readUint32();e.setIsafetype(o);break;case 5:o=t.readString();e.setSzpassword(o);break;case 6:o=t.readUint32();e.setIchannel(o);break;case 7:o=t.readUint32();e.setBautochannelselect(o);break;case 8:o=t.readString();e.setSzip(o);break;case 9:o=t.readString();e.setSzsubmark(o);break;case 10:o=t.readUint32();e.setBdhcp(o);break;case 11:o=t.readString();e.setSzdhcpstartaddr(o);break;case 12:o=t.readString();e.setSzdhcpendaddr(o);break;default:t.skipField()}}return e},proto.BVCU.PUConfig.WifiAP.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.PUConfig.WifiAP.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.PUConfig.WifiAP.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeUint32(1,o),null!=(o=r.Message.getField(e,2))&&t.writeUint32(2,o),null!=(o=r.Message.getField(e,3))&&t.writeString(3,o),null!=(o=r.Message.getField(e,4))&&t.writeUint32(4,o),null!=(o=r.Message.getField(e,5))&&t.writeString(5,o),null!=(o=r.Message.getField(e,6))&&t.writeUint32(6,o),null!=(o=r.Message.getField(e,7))&&t.writeUint32(7,o),null!=(o=r.Message.getField(e,8))&&t.writeString(8,o),null!=(o=r.Message.getField(e,9))&&t.writeString(9,o),null!=(o=r.Message.getField(e,10))&&t.writeUint32(10,o),null!=(o=r.Message.getField(e,11))&&t.writeString(11,o),null!=(o=r.Message.getField(e,12))&&t.writeString(12,o)},proto.BVCU.PUConfig.WifiAP.prototype.getBenable=function(){return r.Message.getFieldWithDefault(this,1,0)};proto.BVCU.PUConfig.WifiAP.prototype.setBenable=function(e){r.Message.setField(this,1,e)},proto.BVCU.PUConfig.WifiAP.prototype.clearBenable=function(){r.Message.setField(this,1,void 0)},proto.BVCU.PUConfig.WifiAP.prototype.hasBenable=function(){return null!=r.Message.getField(this,1)},proto.BVCU.PUConfig.WifiAP.prototype.getBhidessid=function(){return r.Message.getFieldWithDefault(this,2,0)},proto.BVCU.PUConfig.WifiAP.prototype.setBhidessid=function(e){r.Message.setField(this,2,e)},proto.BVCU.PUConfig.WifiAP.prototype.clearBhidessid=function(){r.Message.setField(this,2,void 0)},proto.BVCU.PUConfig.WifiAP.prototype.hasBhidessid=function(){return null!=r.Message.getField(this,2)},proto.BVCU.PUConfig.WifiAP.prototype.getSzssid=function(){return r.Message.getFieldWithDefault(this,3,\"\")},proto.BVCU.PUConfig.WifiAP.prototype.setSzssid=function(e){r.Message.setField(this,3,e)},proto.BVCU.PUConfig.WifiAP.prototype.clearSzssid=function(){r.Message.setField(this,3,void 0)},proto.BVCU.PUConfig.WifiAP.prototype.hasSzssid=function(){return null!=r.Message.getField(this,3)},proto.BVCU.PUConfig.WifiAP.prototype.getIsafetype=function(){return r.Message.getFieldWithDefault(this,4,0)},proto.BVCU.PUConfig.WifiAP.prototype.setIsafetype=function(e){r.Message.setField(this,4,e)},proto.BVCU.PUConfig.WifiAP.prototype.clearIsafetype=function(){r.Message.setField(this,4,void 0)},proto.BVCU.PUConfig.WifiAP.prototype.hasIsafetype=function(){return null!=r.Message.getField(this,4)},proto.BVCU.PUConfig.WifiAP.prototype.getSzpassword=function(){return r.Message.getFieldWithDefault(this,5,\"\")},proto.BVCU.PUConfig.WifiAP.prototype.setSzpassword=function(e){r.Message.setField(this,5,e)},proto.BVCU.PUConfig.WifiAP.prototype.clearSzpassword=function(){r.Message.setField(this,5,void 0)},proto.BVCU.PUConfig.WifiAP.prototype.hasSzpassword=function(){return null!=r.Message.getField(this,5)},proto.BVCU.PUConfig.WifiAP.prototype.getIchannel=function(){return r.Message.getFieldWithDefault(this,6,0)},proto.BVCU.PUConfig.WifiAP.prototype.setIchannel=function(e){r.Message.setField(this,6,e)},proto.BVCU.PUConfig.WifiAP.prototype.clearIchannel=function(){r.Message.setField(this,6,void 0)},proto.BVCU.PUConfig.WifiAP.prototype.hasIchannel=function(){return null!=r.Message.getField(this,6)},proto.BVCU.PUConfig.WifiAP.prototype.getBautochannelselect=function(){return r.Message.getFieldWithDefault(this,7,0)},proto.BVCU.PUConfig.WifiAP.prototype.setBautochannelselect=function(e){r.Message.setField(this,7,e)},proto.BVCU.PUConfig.WifiAP.prototype.clearBautochannelselect=function(){r.Message.setField(this,7,void 0)},proto.BVCU.PUConfig.WifiAP.prototype.hasBautochannelselect=function(){return null!=r.Message.getField(this,7)},proto.BVCU.PUConfig.WifiAP.prototype.getSzip=function(){return r.Message.getFieldWithDefault(this,8,\"\")},proto.BVCU.PUConfig.WifiAP.prototype.setSzip=function(e){r.Message.setField(this,8,e)},proto.BVCU.PUConfig.WifiAP.prototype.clearSzip=function(){r.Message.setField(this,8,void 0)},proto.BVCU.PUConfig.WifiAP.prototype.hasSzip=function(){return null!=r.Message.getField(this,8)},proto.BVCU.PUConfig.WifiAP.prototype.getSzsubmark=function(){return r.Message.getFieldWithDefault(this,9,\"\")},proto.BVCU.PUConfig.WifiAP.prototype.setSzsubmark=function(e){r.Message.setField(this,9,e)},proto.BVCU.PUConfig.WifiAP.prototype.clearSzsubmark=function(){r.Message.setField(this,9,void 0)},proto.BVCU.PUConfig.WifiAP.prototype.hasSzsubmark=function(){return null!=r.Message.getField(this,9)},proto.BVCU.PUConfig.WifiAP.prototype.getBdhcp=function(){return r.Message.getFieldWithDefault(this,10,0)},proto.BVCU.PUConfig.WifiAP.prototype.setBdhcp=function(e){r.Message.setField(this,10,e)},proto.BVCU.PUConfig.WifiAP.prototype.clearBdhcp=function(){r.Message.setField(this,10,void 0)},proto.BVCU.PUConfig.WifiAP.prototype.hasBdhcp=function(){return null!=r.Message.getField(this,10)},proto.BVCU.PUConfig.WifiAP.prototype.getSzdhcpstartaddr=function(){return r.Message.getFieldWithDefault(this,11,\"\")},proto.BVCU.PUConfig.WifiAP.prototype.setSzdhcpstartaddr=function(e){r.Message.setField(this,11,e)},proto.BVCU.PUConfig.WifiAP.prototype.clearSzdhcpstartaddr=function(){r.Message.setField(this,11,void 0)},proto.BVCU.PUConfig.WifiAP.prototype.hasSzdhcpstartaddr=function(){return null!=r.Message.getField(this,11)},proto.BVCU.PUConfig.WifiAP.prototype.getSzdhcpendaddr=function(){return r.Message.getFieldWithDefault(this,12,\"\")},proto.BVCU.PUConfig.WifiAP.prototype.setSzdhcpendaddr=function(e){r.Message.setField(this,12,e)},proto.BVCU.PUConfig.WifiAP.prototype.clearSzdhcpendaddr=function(){r.Message.setField(this,12,void 0)},proto.BVCU.PUConfig.WifiAP.prototype.hasSzdhcpendaddr=function(){return null!=r.Message.getField(this,12)},proto.BVCU.PUConfig.Wifi=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.BVCU.PUConfig.Wifi,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.PUConfig.Wifi.displayName=\"proto.BVCU.PUConfig.Wifi\"),r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.PUConfig.Wifi.prototype.toObject=function(e){return proto.BVCU.PUConfig.Wifi.toObject(e,this)},proto.BVCU.PUConfig.Wifi.toObject=function(e,t){var o,i={benable:r.Message.getField(t,1),imode:r.Message.getField(t,2),isignallevel:r.Message.getField(t,3),stgeneral:(o=t.getStgeneral())&&proto.BVCU.PUConfig.WifiGeneral.toObject(e,o),sthostspot:(o=t.getSthostspot())&&proto.BVCU.PUConfig.WifiHotSpot.toObject(e,o),stwifiap:(o=t.getStwifiap())&&proto.BVCU.PUConfig.WifiAP.toObject(e,o),szmacaddr:r.Message.getField(t,6)};return e&&(i.$jspbMessageInstance=t),i}),proto.BVCU.PUConfig.Wifi.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.PUConfig.Wifi;return proto.BVCU.PUConfig.Wifi.deserializeBinaryFromReader(o,t)},proto.BVCU.PUConfig.Wifi.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readUint32();e.setBenable(o);break;case 2:o=t.readUint32();e.setImode(o);break;case 3:o=t.readUint32();e.setIsignallevel(o);break;case 4:o=new proto.BVCU.PUConfig.WifiGeneral;t.readMessage(o,proto.BVCU.PUConfig.WifiGeneral.deserializeBinaryFromReader),e.setStgeneral(o);break;case 5:o=new proto.BVCU.PUConfig.WifiHotSpot;t.readMessage(o,proto.BVCU.PUConfig.WifiHotSpot.deserializeBinaryFromReader),e.setSthostspot(o);break;case 7:o=new proto.BVCU.PUConfig.WifiAP;t.readMessage(o,proto.BVCU.PUConfig.WifiAP.deserializeBinaryFromReader),e.setStwifiap(o);break;case 6:o=t.readString();e.setSzmacaddr(o);break;default:t.skipField()}}return e},proto.BVCU.PUConfig.Wifi.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.PUConfig.Wifi.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.PUConfig.Wifi.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeUint32(1,o),null!=(o=r.Message.getField(e,2))&&t.writeUint32(2,o),null!=(o=r.Message.getField(e,3))&&t.writeUint32(3,o),null!=(o=e.getStgeneral())&&t.writeMessage(4,o,proto.BVCU.PUConfig.WifiGeneral.serializeBinaryToWriter),null!=(o=e.getSthostspot())&&t.writeMessage(5,o,proto.BVCU.PUConfig.WifiHotSpot.serializeBinaryToWriter),null!=(o=e.getStwifiap())&&t.writeMessage(7,o,proto.BVCU.PUConfig.WifiAP.serializeBinaryToWriter),null!=(o=r.Message.getField(e,6))&&t.writeString(6,o)},proto.BVCU.PUConfig.Wifi.prototype.getBenable=function(){return r.Message.getFieldWithDefault(this,1,0)},proto.BVCU.PUConfig.Wifi.prototype.setBenable=function(e){r.Message.setField(this,1,e)},proto.BVCU.PUConfig.Wifi.prototype.clearBenable=function(){r.Message.setField(this,1,void 0)},proto.BVCU.PUConfig.Wifi.prototype.hasBenable=function(){return null!=r.Message.getField(this,1)},proto.BVCU.PUConfig.Wifi.prototype.getImode=function(){return r.Message.getFieldWithDefault(this,2,0)},proto.BVCU.PUConfig.Wifi.prototype.setImode=function(e){r.Message.setField(this,2,e)},proto.BVCU.PUConfig.Wifi.prototype.clearImode=function(){r.Message.setField(this,2,void 0)},proto.BVCU.PUConfig.Wifi.prototype.hasImode=function(){return null!=r.Message.getField(this,2)},proto.BVCU.PUConfig.Wifi.prototype.getIsignallevel=function(){return r.Message.getFieldWithDefault(this,3,0)},proto.BVCU.PUConfig.Wifi.prototype.setIsignallevel=function(e){r.Message.setField(this,3,e)},proto.BVCU.PUConfig.Wifi.prototype.clearIsignallevel=function(){r.Message.setField(this,3,void 0)},proto.BVCU.PUConfig.Wifi.prototype.hasIsignallevel=function(){return null!=r.Message.getField(this,3)},proto.BVCU.PUConfig.Wifi.prototype.getStgeneral=function(){return r.Message.getWrapperField(this,proto.BVCU.PUConfig.WifiGeneral,4)},proto.BVCU.PUConfig.Wifi.prototype.setStgeneral=function(e){r.Message.setWrapperField(this,4,e)},proto.BVCU.PUConfig.Wifi.prototype.clearStgeneral=function(){this.setStgeneral(void 0)},proto.BVCU.PUConfig.Wifi.prototype.hasStgeneral=function(){return null!=r.Message.getField(this,4)},proto.BVCU.PUConfig.Wifi.prototype.getSthostspot=function(){return r.Message.getWrapperField(this,proto.BVCU.PUConfig.WifiHotSpot,5)},proto.BVCU.PUConfig.Wifi.prototype.setSthostspot=function(e){r.Message.setWrapperField(this,5,e)},proto.BVCU.PUConfig.Wifi.prototype.clearSthostspot=function(){this.setSthostspot(void 0)},proto.BVCU.PUConfig.Wifi.prototype.hasSthostspot=function(){return null!=r.Message.getField(this,5)},proto.BVCU.PUConfig.Wifi.prototype.getStwifiap=function(){return r.Message.getWrapperField(this,proto.BVCU.PUConfig.WifiAP,7)},proto.BVCU.PUConfig.Wifi.prototype.setStwifiap=function(e){r.Message.setWrapperField(this,7,e)},proto.BVCU.PUConfig.Wifi.prototype.clearStwifiap=function(){this.setStwifiap(void 0)},proto.BVCU.PUConfig.Wifi.prototype.hasStwifiap=function(){return null!=r.Message.getField(this,7)},proto.BVCU.PUConfig.Wifi.prototype.getSzmacaddr=function(){return r.Message.getFieldWithDefault(this,6,\"\")},proto.BVCU.PUConfig.Wifi.prototype.setSzmacaddr=function(e){r.Message.setField(this,6,e)},proto.BVCU.PUConfig.Wifi.prototype.clearSzmacaddr=function(){r.Message.setField(this,6,void 0)},proto.BVCU.PUConfig.Wifi.prototype.hasSzmacaddr=function(){return null!=r.Message.getField(this,6)},proto.BVCU.PUConfig.RadioNetwork=function(e){r.Message.initialize(this,e,0,-1,proto.BVCU.PUConfig.RadioNetwork.repeatedFields_,null)},i.inherits(proto.BVCU.PUConfig.RadioNetwork,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.PUConfig.RadioNetwork.displayName=\"proto.BVCU.PUConfig.RadioNetwork\"),proto.BVCU.PUConfig.RadioNetwork.repeatedFields_=[2,11],r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.PUConfig.RadioNetwork.prototype.toObject=function(e){return proto.BVCU.PUConfig.RadioNetwork.toObject(e,this)},proto.BVCU.PUConfig.RadioNetwork.toObject=function(e,t){var o,i={benable:r.Message.getField(t,1),itypeallList:r.Message.getField(t,2),itypeindex:r.Message.getField(t,3),szmodulename:r.Message.getField(t,4),szusername:r.Message.getField(t,5),szpassword:t.getSzpassword_asB64(),szapn:r.Message.getField(t,7),szaccessnum:r.Message.getField(t,8),szcardnum:r.Message.getField(t,9),bonline:r.Message.getField(t,10),isignallevelList:r.Message.getField(t,11),ionlinetime:r.Message.getField(t,12),itrafficdownload:r.Message.getField(t,13),itrafficupload:r.Message.getField(t,14),ispeeddownload:r.Message.getField(t,15),ispeedupload:r.Message.getField(t,16),itrafficyear:r.Message.getField(t,17),itrafficmonth:r.Message.getField(t,18),itrafficday:r.Message.getField(t,19),itrafficlasttime:r.Message.getField(t,20),stlasttime:(o=t.getStlasttime())&&proto.BVCU.PUConfig.WallTime.toObject(e,o),imonthday:r.Message.getField(t,22),brebootafterdialingfatalerr:r.Message.getField(t,23)};return e&&(i.$jspbMessageInstance=t),i}),proto.BVCU.PUConfig.RadioNetwork.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.PUConfig.RadioNetwork;return proto.BVCU.PUConfig.RadioNetwork.deserializeBinaryFromReader(o,t)},proto.BVCU.PUConfig.RadioNetwork.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readUint32();e.setBenable(o);break;case 2:o=t.readUint32();e.addItypeall(o);break;case 3:o=t.readUint32();e.setItypeindex(o);break;case 4:o=t.readString();e.setSzmodulename(o);break;case 5:o=t.readString();e.setSzusername(o);break;case 6:o=t.readBytes();e.setSzpassword(o);break;case 7:o=t.readString();e.setSzapn(o);break;case 8:o=t.readString();e.setSzaccessnum(o);break;case 9:o=t.readString();e.setSzcardnum(o);break;case 10:o=t.readUint32();e.setBonline(o);break;case 11:o=t.readUint32();e.addIsignallevel(o);break;case 12:o=t.readInt32();e.setIonlinetime(o);break;case 13:o=t.readInt32();e.setItrafficdownload(o);break;case 14:o=t.readInt32();e.setItrafficupload(o);break;case 15:o=t.readUint32();e.setIspeeddownload(o);break;case 16:o=t.readUint32();e.setIspeedupload(o);break;case 17:o=t.readUint32();e.setItrafficyear(o);break;case 18:o=t.readUint32();e.setItrafficmonth(o);break;case 19:o=t.readUint32();e.setItrafficday(o);break;case 20:o=t.readUint32();e.setItrafficlasttime(o);break;case 21:o=new proto.BVCU.PUConfig.WallTime;t.readMessage(o,proto.BVCU.PUConfig.WallTime.deserializeBinaryFromReader),e.setStlasttime(o);break;case 22:o=t.readUint32();e.setImonthday(o);break;case 23:o=t.readUint32();e.setBrebootafterdialingfatalerr(o);break;default:t.skipField()}}return e},proto.BVCU.PUConfig.RadioNetwork.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.PUConfig.RadioNetwork.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.PUConfig.RadioNetwork.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeUint32(1,o),(o=e.getItypeallList()).length>0&&t.writeRepeatedUint32(2,o),null!=(o=r.Message.getField(e,3))&&t.writeUint32(3,o),null!=(o=r.Message.getField(e,4))&&t.writeString(4,o),null!=(o=r.Message.getField(e,5))&&t.writeString(5,o),null!=(o=r.Message.getField(e,6))&&t.writeBytes(6,o),null!=(o=r.Message.getField(e,7))&&t.writeString(7,o),null!=(o=r.Message.getField(e,8))&&t.writeString(8,o),null!=(o=r.Message.getField(e,9))&&t.writeString(9,o),null!=(o=r.Message.getField(e,10))&&t.writeUint32(10,o),(o=e.getIsignallevelList()).length>0&&t.writeRepeatedUint32(11,o),null!=(o=r.Message.getField(e,12))&&t.writeInt32(12,o),null!=(o=r.Message.getField(e,13))&&t.writeInt32(13,o),null!=(o=r.Message.getField(e,14))&&t.writeInt32(14,o),null!=(o=r.Message.getField(e,15))&&t.writeUint32(15,o),null!=(o=r.Message.getField(e,16))&&t.writeUint32(16,o),null!=(o=r.Message.getField(e,17))&&t.writeUint32(17,o),null!=(o=r.Message.getField(e,18))&&t.writeUint32(18,o),null!=(o=r.Message.getField(e,19))&&t.writeUint32(19,o),null!=(o=r.Message.getField(e,20))&&t.writeUint32(20,o),null!=(o=e.getStlasttime())&&t.writeMessage(21,o,proto.BVCU.PUConfig.WallTime.serializeBinaryToWriter),null!=(o=r.Message.getField(e,22))&&t.writeUint32(22,o),null!=(o=r.Message.getField(e,23))&&t.writeUint32(23,o)},proto.BVCU.PUConfig.RadioNetwork.prototype.getBenable=function(){return r.Message.getFieldWithDefault(this,1,0)},proto.BVCU.PUConfig.RadioNetwork.prototype.setBenable=function(e){r.Message.setField(this,1,e)},proto.BVCU.PUConfig.RadioNetwork.prototype.clearBenable=function(){r.Message.setField(this,1,void 0)},proto.BVCU.PUConfig.RadioNetwork.prototype.hasBenable=function(){return null!=r.Message.getField(this,1)},proto.BVCU.PUConfig.RadioNetwork.prototype.getItypeallList=function(){return r.Message.getField(this,2)},proto.BVCU.PUConfig.RadioNetwork.prototype.setItypeallList=function(e){r.Message.setField(this,2,e||[])},proto.BVCU.PUConfig.RadioNetwork.prototype.addItypeall=function(e,t){r.Message.addToRepeatedField(this,2,e,t)},proto.BVCU.PUConfig.RadioNetwork.prototype.clearItypeallList=function(){this.setItypeallList([])},proto.BVCU.PUConfig.RadioNetwork.prototype.getItypeindex=function(){return r.Message.getFieldWithDefault(this,3,0)},proto.BVCU.PUConfig.RadioNetwork.prototype.setItypeindex=function(e){r.Message.setField(this,3,e)},proto.BVCU.PUConfig.RadioNetwork.prototype.clearItypeindex=function(){r.Message.setField(this,3,void 0)},proto.BVCU.PUConfig.RadioNetwork.prototype.hasItypeindex=function(){return null!=r.Message.getField(this,3)},proto.BVCU.PUConfig.RadioNetwork.prototype.getSzmodulename=function(){return r.Message.getFieldWithDefault(this,4,\"\")},proto.BVCU.PUConfig.RadioNetwork.prototype.setSzmodulename=function(e){r.Message.setField(this,4,e)},proto.BVCU.PUConfig.RadioNetwork.prototype.clearSzmodulename=function(){r.Message.setField(this,4,void 0)},proto.BVCU.PUConfig.RadioNetwork.prototype.hasSzmodulename=function(){return null!=r.Message.getField(this,4)},proto.BVCU.PUConfig.RadioNetwork.prototype.getSzusername=function(){return r.Message.getFieldWithDefault(this,5,\"\")},proto.BVCU.PUConfig.RadioNetwork.prototype.setSzusername=function(e){r.Message.setField(this,5,e)},proto.BVCU.PUConfig.RadioNetwork.prototype.clearSzusername=function(){r.Message.setField(this,5,void 0)},proto.BVCU.PUConfig.RadioNetwork.prototype.hasSzusername=function(){return null!=r.Message.getField(this,5)},proto.BVCU.PUConfig.RadioNetwork.prototype.getSzpassword=function(){return r.Message.getFieldWithDefault(this,6,\"\")},proto.BVCU.PUConfig.RadioNetwork.prototype.getSzpassword_asB64=function(){return r.Message.bytesAsB64(this.getSzpassword())},proto.BVCU.PUConfig.RadioNetwork.prototype.getSzpassword_asU8=function(){return r.Message.bytesAsU8(this.getSzpassword())},proto.BVCU.PUConfig.RadioNetwork.prototype.setSzpassword=function(e){r.Message.setField(this,6,e)},proto.BVCU.PUConfig.RadioNetwork.prototype.clearSzpassword=function(){r.Message.setField(this,6,void 0)},proto.BVCU.PUConfig.RadioNetwork.prototype.hasSzpassword=function(){return null!=r.Message.getField(this,6)},proto.BVCU.PUConfig.RadioNetwork.prototype.getSzapn=function(){return r.Message.getFieldWithDefault(this,7,\"\")},proto.BVCU.PUConfig.RadioNetwork.prototype.setSzapn=function(e){r.Message.setField(this,7,e)},proto.BVCU.PUConfig.RadioNetwork.prototype.clearSzapn=function(){r.Message.setField(this,7,void 0)},proto.BVCU.PUConfig.RadioNetwork.prototype.hasSzapn=function(){return null!=r.Message.getField(this,7)},proto.BVCU.PUConfig.RadioNetwork.prototype.getSzaccessnum=function(){return r.Message.getFieldWithDefault(this,8,\"\")},proto.BVCU.PUConfig.RadioNetwork.prototype.setSzaccessnum=function(e){r.Message.setField(this,8,e)},proto.BVCU.PUConfig.RadioNetwork.prototype.clearSzaccessnum=function(){r.Message.setField(this,8,void 0)},proto.BVCU.PUConfig.RadioNetwork.prototype.hasSzaccessnum=function(){return null!=r.Message.getField(this,8)},proto.BVCU.PUConfig.RadioNetwork.prototype.getSzcardnum=function(){return r.Message.getFieldWithDefault(this,9,\"\")},proto.BVCU.PUConfig.RadioNetwork.prototype.setSzcardnum=function(e){r.Message.setField(this,9,e)},proto.BVCU.PUConfig.RadioNetwork.prototype.clearSzcardnum=function(){r.Message.setField(this,9,void 0)},proto.BVCU.PUConfig.RadioNetwork.prototype.hasSzcardnum=function(){return null!=r.Message.getField(this,9)},proto.BVCU.PUConfig.RadioNetwork.prototype.getBonline=function(){return r.Message.getFieldWithDefault(this,10,0)},proto.BVCU.PUConfig.RadioNetwork.prototype.setBonline=function(e){r.Message.setField(this,10,e)},proto.BVCU.PUConfig.RadioNetwork.prototype.clearBonline=function(){r.Message.setField(this,10,void 0)},proto.BVCU.PUConfig.RadioNetwork.prototype.hasBonline=function(){return null!=r.Message.getField(this,10)},proto.BVCU.PUConfig.RadioNetwork.prototype.getIsignallevelList=function(){return r.Message.getField(this,11)},proto.BVCU.PUConfig.RadioNetwork.prototype.setIsignallevelList=function(e){r.Message.setField(this,11,e||[])},proto.BVCU.PUConfig.RadioNetwork.prototype.addIsignallevel=function(e,t){r.Message.addToRepeatedField(this,11,e,t)},proto.BVCU.PUConfig.RadioNetwork.prototype.clearIsignallevelList=function(){this.setIsignallevelList([])},proto.BVCU.PUConfig.RadioNetwork.prototype.getIonlinetime=function(){return r.Message.getFieldWithDefault(this,12,0)},proto.BVCU.PUConfig.RadioNetwork.prototype.setIonlinetime=function(e){r.Message.setField(this,12,e)},proto.BVCU.PUConfig.RadioNetwork.prototype.clearIonlinetime=function(){r.Message.setField(this,12,void 0)},proto.BVCU.PUConfig.RadioNetwork.prototype.hasIonlinetime=function(){return null!=r.Message.getField(this,12)},proto.BVCU.PUConfig.RadioNetwork.prototype.getItrafficdownload=function(){return r.Message.getFieldWithDefault(this,13,0)},proto.BVCU.PUConfig.RadioNetwork.prototype.setItrafficdownload=function(e){r.Message.setField(this,13,e)},proto.BVCU.PUConfig.RadioNetwork.prototype.clearItrafficdownload=function(){r.Message.setField(this,13,void 0)},proto.BVCU.PUConfig.RadioNetwork.prototype.hasItrafficdownload=function(){return null!=r.Message.getField(this,13)},proto.BVCU.PUConfig.RadioNetwork.prototype.getItrafficupload=function(){return r.Message.getFieldWithDefault(this,14,0)},proto.BVCU.PUConfig.RadioNetwork.prototype.setItrafficupload=function(e){r.Message.setField(this,14,e)},proto.BVCU.PUConfig.RadioNetwork.prototype.clearItrafficupload=function(){r.Message.setField(this,14,void 0)},proto.BVCU.PUConfig.RadioNetwork.prototype.hasItrafficupload=function(){return null!=r.Message.getField(this,14)},proto.BVCU.PUConfig.RadioNetwork.prototype.getIspeeddownload=function(){return r.Message.getFieldWithDefault(this,15,0)},proto.BVCU.PUConfig.RadioNetwork.prototype.setIspeeddownload=function(e){r.Message.setField(this,15,e)},proto.BVCU.PUConfig.RadioNetwork.prototype.clearIspeeddownload=function(){r.Message.setField(this,15,void 0)},proto.BVCU.PUConfig.RadioNetwork.prototype.hasIspeeddownload=function(){return null!=r.Message.getField(this,15)},proto.BVCU.PUConfig.RadioNetwork.prototype.getIspeedupload=function(){return r.Message.getFieldWithDefault(this,16,0)},proto.BVCU.PUConfig.RadioNetwork.prototype.setIspeedupload=function(e){r.Message.setField(this,16,e)},proto.BVCU.PUConfig.RadioNetwork.prototype.clearIspeedupload=function(){r.Message.setField(this,16,void 0)},proto.BVCU.PUConfig.RadioNetwork.prototype.hasIspeedupload=function(){return null!=r.Message.getField(this,16)},proto.BVCU.PUConfig.RadioNetwork.prototype.getItrafficyear=function(){return r.Message.getFieldWithDefault(this,17,0)},proto.BVCU.PUConfig.RadioNetwork.prototype.setItrafficyear=function(e){r.Message.setField(this,17,e)},proto.BVCU.PUConfig.RadioNetwork.prototype.clearItrafficyear=function(){r.Message.setField(this,17,void 0)},proto.BVCU.PUConfig.RadioNetwork.prototype.hasItrafficyear=function(){return null!=r.Message.getField(this,17)},proto.BVCU.PUConfig.RadioNetwork.prototype.getItrafficmonth=function(){return r.Message.getFieldWithDefault(this,18,0)},proto.BVCU.PUConfig.RadioNetwork.prototype.setItrafficmonth=function(e){r.Message.setField(this,18,e)},proto.BVCU.PUConfig.RadioNetwork.prototype.clearItrafficmonth=function(){r.Message.setField(this,18,void 0)},proto.BVCU.PUConfig.RadioNetwork.prototype.hasItrafficmonth=function(){return null!=r.Message.getField(this,18)},proto.BVCU.PUConfig.RadioNetwork.prototype.getItrafficday=function(){return r.Message.getFieldWithDefault(this,19,0)},proto.BVCU.PUConfig.RadioNetwork.prototype.setItrafficday=function(e){r.Message.setField(this,19,e)},proto.BVCU.PUConfig.RadioNetwork.prototype.clearItrafficday=function(){r.Message.setField(this,19,void 0)},proto.BVCU.PUConfig.RadioNetwork.prototype.hasItrafficday=function(){return null!=r.Message.getField(this,19)},proto.BVCU.PUConfig.RadioNetwork.prototype.getItrafficlasttime=function(){return r.Message.getFieldWithDefault(this,20,0)},proto.BVCU.PUConfig.RadioNetwork.prototype.setItrafficlasttime=function(e){r.Message.setField(this,20,e)},proto.BVCU.PUConfig.RadioNetwork.prototype.clearItrafficlasttime=function(){r.Message.setField(this,20,void 0)},proto.BVCU.PUConfig.RadioNetwork.prototype.hasItrafficlasttime=function(){return null!=r.Message.getField(this,20)},proto.BVCU.PUConfig.RadioNetwork.prototype.getStlasttime=function(){return r.Message.getWrapperField(this,proto.BVCU.PUConfig.WallTime,21)},proto.BVCU.PUConfig.RadioNetwork.prototype.setStlasttime=function(e){r.Message.setWrapperField(this,21,e)},proto.BVCU.PUConfig.RadioNetwork.prototype.clearStlasttime=function(){this.setStlasttime(void 0)},proto.BVCU.PUConfig.RadioNetwork.prototype.hasStlasttime=function(){return null!=r.Message.getField(this,21)},proto.BVCU.PUConfig.RadioNetwork.prototype.getImonthday=function(){return r.Message.getFieldWithDefault(this,22,0)},proto.BVCU.PUConfig.RadioNetwork.prototype.setImonthday=function(e){r.Message.setField(this,22,e)},proto.BVCU.PUConfig.RadioNetwork.prototype.clearImonthday=function(){r.Message.setField(this,22,void 0)},proto.BVCU.PUConfig.RadioNetwork.prototype.hasImonthday=function(){return null!=r.Message.getField(this,22)},proto.BVCU.PUConfig.RadioNetwork.prototype.getBrebootafterdialingfatalerr=function(){return r.Message.getFieldWithDefault(this,23,0)},proto.BVCU.PUConfig.RadioNetwork.prototype.setBrebootafterdialingfatalerr=function(e){r.Message.setField(this,23,e)},proto.BVCU.PUConfig.RadioNetwork.prototype.clearBrebootafterdialingfatalerr=function(){r.Message.setField(this,23,void 0)},proto.BVCU.PUConfig.RadioNetwork.prototype.hasBrebootafterdialingfatalerr=function(){return null!=r.Message.getField(this,23)},proto.BVCU.PUConfig.RadioNetworkAll=function(e){r.Message.initialize(this,e,0,-1,proto.BVCU.PUConfig.RadioNetworkAll.repeatedFields_,null)},i.inherits(proto.BVCU.PUConfig.RadioNetworkAll,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.PUConfig.RadioNetworkAll.displayName=\"proto.BVCU.PUConfig.RadioNetworkAll\"),proto.BVCU.PUConfig.RadioNetworkAll.repeatedFields_=[1],r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.PUConfig.RadioNetworkAll.prototype.toObject=function(e){return proto.BVCU.PUConfig.RadioNetworkAll.toObject(e,this)},proto.BVCU.PUConfig.RadioNetworkAll.toObject=function(e,t){var o={stradionetworkList:r.Message.toObjectList(t.getStradionetworkList(),proto.BVCU.PUConfig.RadioNetwork.toObject,e)};return e&&(o.$jspbMessageInstance=t),o}),proto.BVCU.PUConfig.RadioNetworkAll.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.PUConfig.RadioNetworkAll;return proto.BVCU.PUConfig.RadioNetworkAll.deserializeBinaryFromReader(o,t)},proto.BVCU.PUConfig.RadioNetworkAll.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=new proto.BVCU.PUConfig.RadioNetwork;t.readMessage(o,proto.BVCU.PUConfig.RadioNetwork.deserializeBinaryFromReader),e.addStradionetwork(o);break;default:t.skipField()}}return e},proto.BVCU.PUConfig.RadioNetworkAll.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.PUConfig.RadioNetworkAll.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.PUConfig.RadioNetworkAll.serializeBinaryToWriter=function(e,t){var o;(o=e.getStradionetworkList()).length>0&&t.writeRepeatedMessage(1,o,proto.BVCU.PUConfig.RadioNetwork.serializeBinaryToWriter)},proto.BVCU.PUConfig.RadioNetworkAll.prototype.getStradionetworkList=function(){return r.Message.getRepeatedWrapperField(this,proto.BVCU.PUConfig.RadioNetwork,1)},proto.BVCU.PUConfig.RadioNetworkAll.prototype.setStradionetworkList=function(e){r.Message.setRepeatedWrapperField(this,1,e)},proto.BVCU.PUConfig.RadioNetworkAll.prototype.addStradionetwork=function(e,t){return r.Message.addToRepeatedWrapperField(this,1,e,proto.BVCU.PUConfig.RadioNetwork,t)},proto.BVCU.PUConfig.RadioNetworkAll.prototype.clearStradionetworkList=function(){this.setStradionetworkList([])},proto.BVCU.PUConfig.BluetoothObj=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.BVCU.PUConfig.BluetoothObj,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.PUConfig.BluetoothObj.displayName=\"proto.BVCU.PUConfig.BluetoothObj\"),r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.PUConfig.BluetoothObj.prototype.toObject=function(e){return proto.BVCU.PUConfig.BluetoothObj.toObject(e,this)},proto.BVCU.PUConfig.BluetoothObj.toObject=function(e,t){var o={szname:r.Message.getField(t,1),szmacaddr:r.Message.getField(t,2)};return e&&(o.$jspbMessageInstance=t),o}),proto.BVCU.PUConfig.BluetoothObj.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.PUConfig.BluetoothObj;return proto.BVCU.PUConfig.BluetoothObj.deserializeBinaryFromReader(o,t)},proto.BVCU.PUConfig.BluetoothObj.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readString();e.setSzname(o);break;case 2:o=t.readString();e.setSzmacaddr(o);break;default:t.skipField()}}return e},proto.BVCU.PUConfig.BluetoothObj.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.PUConfig.BluetoothObj.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.PUConfig.BluetoothObj.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeString(1,o),null!=(o=r.Message.getField(e,2))&&t.writeString(2,o)},proto.BVCU.PUConfig.BluetoothObj.prototype.getSzname=function(){return r.Message.getFieldWithDefault(this,1,\"\")},proto.BVCU.PUConfig.BluetoothObj.prototype.setSzname=function(e){r.Message.setField(this,1,e)},proto.BVCU.PUConfig.BluetoothObj.prototype.clearSzname=function(){r.Message.setField(this,1,void 0)},proto.BVCU.PUConfig.BluetoothObj.prototype.hasSzname=function(){return null!=r.Message.getField(this,1)},proto.BVCU.PUConfig.BluetoothObj.prototype.getSzmacaddr=function(){return r.Message.getFieldWithDefault(this,2,\"\")},proto.BVCU.PUConfig.BluetoothObj.prototype.setSzmacaddr=function(e){r.Message.setField(this,2,e)},proto.BVCU.PUConfig.BluetoothObj.prototype.clearSzmacaddr=function(){r.Message.setField(this,2,void 0)},proto.BVCU.PUConfig.BluetoothObj.prototype.hasSzmacaddr=function(){return null!=r.Message.getField(this,2)},proto.BVCU.PUConfig.Bluetooth=function(e){r.Message.initialize(this,e,0,-1,proto.BVCU.PUConfig.Bluetooth.repeatedFields_,null)},i.inherits(proto.BVCU.PUConfig.Bluetooth,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.PUConfig.Bluetooth.displayName=\"proto.BVCU.PUConfig.Bluetooth\"),proto.BVCU.PUConfig.Bluetooth.repeatedFields_=[3,4],r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.PUConfig.Bluetooth.prototype.toObject=function(e){return proto.BVCU.PUConfig.Bluetooth.toObject(e,this)},proto.BVCU.PUConfig.Bluetooth.toObject=function(e,t){var o,i={szname:r.Message.getField(t,1),szmacaddr:r.Message.getField(t,2),stpairobjList:r.Message.toObjectList(t.getStpairobjList(),proto.BVCU.PUConfig.BluetoothObj.toObject,e),stscanobjList:r.Message.toObjectList(t.getStscanobjList(),proto.BVCU.PUConfig.BluetoothObj.toObject,e),stconnectedobj:(o=t.getStconnectedobj())&&proto.BVCU.PUConfig.BluetoothObj.toObject(e,o)};return e&&(i.$jspbMessageInstance=t),i}),proto.BVCU.PUConfig.Bluetooth.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.PUConfig.Bluetooth;return proto.BVCU.PUConfig.Bluetooth.deserializeBinaryFromReader(o,t)},proto.BVCU.PUConfig.Bluetooth.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readString();e.setSzname(o);break;case 2:o=t.readString();e.setSzmacaddr(o);break;case 3:o=new proto.BVCU.PUConfig.BluetoothObj;t.readMessage(o,proto.BVCU.PUConfig.BluetoothObj.deserializeBinaryFromReader),e.addStpairobj(o);break;case 4:o=new proto.BVCU.PUConfig.BluetoothObj;t.readMessage(o,proto.BVCU.PUConfig.BluetoothObj.deserializeBinaryFromReader),e.addStscanobj(o);break;case 5:o=new proto.BVCU.PUConfig.BluetoothObj;t.readMessage(o,proto.BVCU.PUConfig.BluetoothObj.deserializeBinaryFromReader),e.setStconnectedobj(o);break;default:t.skipField()}}return e},proto.BVCU.PUConfig.Bluetooth.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.PUConfig.Bluetooth.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.PUConfig.Bluetooth.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeString(1,o),null!=(o=r.Message.getField(e,2))&&t.writeString(2,o),(o=e.getStpairobjList()).length>0&&t.writeRepeatedMessage(3,o,proto.BVCU.PUConfig.BluetoothObj.serializeBinaryToWriter),(o=e.getStscanobjList()).length>0&&t.writeRepeatedMessage(4,o,proto.BVCU.PUConfig.BluetoothObj.serializeBinaryToWriter),null!=(o=e.getStconnectedobj())&&t.writeMessage(5,o,proto.BVCU.PUConfig.BluetoothObj.serializeBinaryToWriter)},proto.BVCU.PUConfig.Bluetooth.prototype.getSzname=function(){return r.Message.getFieldWithDefault(this,1,\"\")},proto.BVCU.PUConfig.Bluetooth.prototype.setSzname=function(e){r.Message.setField(this,1,e)},proto.BVCU.PUConfig.Bluetooth.prototype.clearSzname=function(){r.Message.setField(this,1,void 0)},proto.BVCU.PUConfig.Bluetooth.prototype.hasSzname=function(){return null!=r.Message.getField(this,1)},proto.BVCU.PUConfig.Bluetooth.prototype.getSzmacaddr=function(){return r.Message.getFieldWithDefault(this,2,\"\")},proto.BVCU.PUConfig.Bluetooth.prototype.setSzmacaddr=function(e){r.Message.setField(this,2,e)},proto.BVCU.PUConfig.Bluetooth.prototype.clearSzmacaddr=function(){r.Message.setField(this,2,void 0)},proto.BVCU.PUConfig.Bluetooth.prototype.hasSzmacaddr=function(){return null!=r.Message.getField(this,2)},proto.BVCU.PUConfig.Bluetooth.prototype.getStpairobjList=function(){return r.Message.getRepeatedWrapperField(this,proto.BVCU.PUConfig.BluetoothObj,3)},proto.BVCU.PUConfig.Bluetooth.prototype.setStpairobjList=function(e){r.Message.setRepeatedWrapperField(this,3,e)},proto.BVCU.PUConfig.Bluetooth.prototype.addStpairobj=function(e,t){return r.Message.addToRepeatedWrapperField(this,3,e,proto.BVCU.PUConfig.BluetoothObj,t)},proto.BVCU.PUConfig.Bluetooth.prototype.clearStpairobjList=function(){this.setStpairobjList([])},proto.BVCU.PUConfig.Bluetooth.prototype.getStscanobjList=function(){return r.Message.getRepeatedWrapperField(this,proto.BVCU.PUConfig.BluetoothObj,4)},proto.BVCU.PUConfig.Bluetooth.prototype.setStscanobjList=function(e){r.Message.setRepeatedWrapperField(this,4,e)},proto.BVCU.PUConfig.Bluetooth.prototype.addStscanobj=function(e,t){return r.Message.addToRepeatedWrapperField(this,4,e,proto.BVCU.PUConfig.BluetoothObj,t)},proto.BVCU.PUConfig.Bluetooth.prototype.clearStscanobjList=function(){this.setStscanobjList([])},proto.BVCU.PUConfig.Bluetooth.prototype.getStconnectedobj=function(){return r.Message.getWrapperField(this,proto.BVCU.PUConfig.BluetoothObj,5)},proto.BVCU.PUConfig.Bluetooth.prototype.setStconnectedobj=function(e){r.Message.setWrapperField(this,5,e)},proto.BVCU.PUConfig.Bluetooth.prototype.clearStconnectedobj=function(){this.setStconnectedobj(void 0)},proto.BVCU.PUConfig.Bluetooth.prototype.hasStconnectedobj=function(){return null!=r.Message.getField(this,5)},proto.BVCU.PUConfig.ManualRecord=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.BVCU.PUConfig.ManualRecord,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.PUConfig.ManualRecord.displayName=\"proto.BVCU.PUConfig.ManualRecord\"),r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.PUConfig.ManualRecord.prototype.toObject=function(e){return proto.BVCU.PUConfig.ManualRecord.toObject(e,this)},proto.BVCU.PUConfig.ManualRecord.toObject=function(e,t){var o={bstart:r.Message.getField(t,1),ilength:r.Message.getField(t,2),szfilename:r.Message.getField(t,3)};return e&&(o.$jspbMessageInstance=t),o}),proto.BVCU.PUConfig.ManualRecord.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.PUConfig.ManualRecord;return proto.BVCU.PUConfig.ManualRecord.deserializeBinaryFromReader(o,t)},proto.BVCU.PUConfig.ManualRecord.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readUint32();e.setBstart(o);break;case 2:o=t.readUint32();e.setIlength(o);break;case 3:o=t.readString();e.setSzfilename(o);break;default:t.skipField()}}return e},proto.BVCU.PUConfig.ManualRecord.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.PUConfig.ManualRecord.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.PUConfig.ManualRecord.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeUint32(1,o),null!=(o=r.Message.getField(e,2))&&t.writeUint32(2,o),null!=(o=r.Message.getField(e,3))&&t.writeString(3,o)},proto.BVCU.PUConfig.ManualRecord.prototype.getBstart=function(){return r.Message.getFieldWithDefault(this,1,0)},proto.BVCU.PUConfig.ManualRecord.prototype.setBstart=function(e){r.Message.setField(this,1,e)},proto.BVCU.PUConfig.ManualRecord.prototype.clearBstart=function(){r.Message.setField(this,1,void 0)},proto.BVCU.PUConfig.ManualRecord.prototype.hasBstart=function(){return null!=r.Message.getField(this,1)},proto.BVCU.PUConfig.ManualRecord.prototype.getIlength=function(){return r.Message.getFieldWithDefault(this,2,0)},proto.BVCU.PUConfig.ManualRecord.prototype.setIlength=function(e){r.Message.setField(this,2,e)},proto.BVCU.PUConfig.ManualRecord.prototype.clearIlength=function(){r.Message.setField(this,2,void 0)},proto.BVCU.PUConfig.ManualRecord.prototype.hasIlength=function(){return null!=r.Message.getField(this,2)},proto.BVCU.PUConfig.ManualRecord.prototype.getSzfilename=function(){return r.Message.getFieldWithDefault(this,3,\"\")},proto.BVCU.PUConfig.ManualRecord.prototype.setSzfilename=function(e){r.Message.setField(this,3,e)},proto.BVCU.PUConfig.ManualRecord.prototype.clearSzfilename=function(){r.Message.setField(this,3,void 0)},proto.BVCU.PUConfig.ManualRecord.prototype.hasSzfilename=function(){return null!=r.Message.getField(this,3)},proto.BVCU.PUConfig.Snapshot=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.BVCU.PUConfig.Snapshot,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.PUConfig.Snapshot.displayName=\"proto.BVCU.PUConfig.Snapshot\"),r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.PUConfig.Snapshot.prototype.toObject=function(e){return proto.BVCU.PUConfig.Snapshot.toObject(e,this)},proto.BVCU.PUConfig.Snapshot.toObject=function(e,t){var o={bstart:r.Message.getField(t,1),icyclecount:r.Message.getField(t,3),szftpid:r.Message.getField(t,2)};return e&&(o.$jspbMessageInstance=t),o}),proto.BVCU.PUConfig.Snapshot.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.PUConfig.Snapshot;return proto.BVCU.PUConfig.Snapshot.deserializeBinaryFromReader(o,t)},proto.BVCU.PUConfig.Snapshot.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readUint32();e.setBstart(o);break;case 3:o=t.readUint32();e.setIcyclecount(o);break;case 2:o=t.readString();e.setSzftpid(o);break;default:t.skipField()}}return e},proto.BVCU.PUConfig.Snapshot.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.PUConfig.Snapshot.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.PUConfig.Snapshot.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeUint32(1,o),null!=(o=r.Message.getField(e,3))&&t.writeUint32(3,o),null!=(o=r.Message.getField(e,2))&&t.writeString(2,o)},proto.BVCU.PUConfig.Snapshot.prototype.getBstart=function(){return r.Message.getFieldWithDefault(this,1,0)},proto.BVCU.PUConfig.Snapshot.prototype.setBstart=function(e){r.Message.setField(this,1,e)},proto.BVCU.PUConfig.Snapshot.prototype.clearBstart=function(){r.Message.setField(this,1,void 0)},proto.BVCU.PUConfig.Snapshot.prototype.hasBstart=function(){return null!=r.Message.getField(this,1)},proto.BVCU.PUConfig.Snapshot.prototype.getIcyclecount=function(){return r.Message.getFieldWithDefault(this,3,0)},proto.BVCU.PUConfig.Snapshot.prototype.setIcyclecount=function(e){r.Message.setField(this,3,e)},proto.BVCU.PUConfig.Snapshot.prototype.clearIcyclecount=function(){r.Message.setField(this,3,void 0)},proto.BVCU.PUConfig.Snapshot.prototype.hasIcyclecount=function(){return null!=r.Message.getField(this,3)},proto.BVCU.PUConfig.Snapshot.prototype.getSzftpid=function(){return r.Message.getFieldWithDefault(this,2,\"\")},proto.BVCU.PUConfig.Snapshot.prototype.setSzftpid=function(e){r.Message.setField(this,2,e)},proto.BVCU.PUConfig.Snapshot.prototype.clearSzftpid=function(){r.Message.setField(this,2,void 0)},proto.BVCU.PUConfig.Snapshot.prototype.hasSzftpid=function(){return null!=r.Message.getField(this,2)},proto.BVCU.PUConfig.RecordStatus=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.BVCU.PUConfig.RecordStatus,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.PUConfig.RecordStatus.displayName=\"proto.BVCU.PUConfig.RecordStatus\"),r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.PUConfig.RecordStatus.prototype.toObject=function(e){return proto.BVCU.PUConfig.RecordStatus.toObject(e,this)},proto.BVCU.PUConfig.RecordStatus.toObject=function(e,t){var o={brecordvideo:r.Message.getField(t,1),brecordaudio:r.Message.getField(t,2),brecordgps:r.Message.getField(t,3),brecordimage:r.Message.getField(t,4),pfilenames:r.Message.getField(t,5)};return e&&(o.$jspbMessageInstance=t),o}),proto.BVCU.PUConfig.RecordStatus.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.PUConfig.RecordStatus;return proto.BVCU.PUConfig.RecordStatus.deserializeBinaryFromReader(o,t)},proto.BVCU.PUConfig.RecordStatus.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readUint32();e.setBrecordvideo(o);break;case 2:o=t.readUint32();e.setBrecordaudio(o);break;case 3:o=t.readUint32();e.setBrecordgps(o);break;case 4:o=t.readUint32();e.setBrecordimage(o);break;case 5:o=t.readString();e.setPfilenames(o);break;default:t.skipField()}}return e},proto.BVCU.PUConfig.RecordStatus.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.PUConfig.RecordStatus.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.PUConfig.RecordStatus.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeUint32(1,o),null!=(o=r.Message.getField(e,2))&&t.writeUint32(2,o),null!=(o=r.Message.getField(e,3))&&t.writeUint32(3,o),null!=(o=r.Message.getField(e,4))&&t.writeUint32(4,o),null!=(o=r.Message.getField(e,5))&&t.writeString(5,o)},proto.BVCU.PUConfig.RecordStatus.prototype.getBrecordvideo=function(){return r.Message.getFieldWithDefault(this,1,0)},proto.BVCU.PUConfig.RecordStatus.prototype.setBrecordvideo=function(e){r.Message.setField(this,1,e)},proto.BVCU.PUConfig.RecordStatus.prototype.clearBrecordvideo=function(){r.Message.setField(this,1,void 0)},proto.BVCU.PUConfig.RecordStatus.prototype.hasBrecordvideo=function(){return null!=r.Message.getField(this,1)},proto.BVCU.PUConfig.RecordStatus.prototype.getBrecordaudio=function(){return r.Message.getFieldWithDefault(this,2,0)},proto.BVCU.PUConfig.RecordStatus.prototype.setBrecordaudio=function(e){r.Message.setField(this,2,e)},proto.BVCU.PUConfig.RecordStatus.prototype.clearBrecordaudio=function(){r.Message.setField(this,2,void 0)},proto.BVCU.PUConfig.RecordStatus.prototype.hasBrecordaudio=function(){return null!=r.Message.getField(this,2)},proto.BVCU.PUConfig.RecordStatus.prototype.getBrecordgps=function(){return r.Message.getFieldWithDefault(this,3,0)},proto.BVCU.PUConfig.RecordStatus.prototype.setBrecordgps=function(e){r.Message.setField(this,3,e)},proto.BVCU.PUConfig.RecordStatus.prototype.clearBrecordgps=function(){r.Message.setField(this,3,void 0)},proto.BVCU.PUConfig.RecordStatus.prototype.hasBrecordgps=function(){return null!=r.Message.getField(this,3)},proto.BVCU.PUConfig.RecordStatus.prototype.getBrecordimage=function(){return r.Message.getFieldWithDefault(this,4,0)},proto.BVCU.PUConfig.RecordStatus.prototype.setBrecordimage=function(e){r.Message.setField(this,4,e)},proto.BVCU.PUConfig.RecordStatus.prototype.clearBrecordimage=function(){r.Message.setField(this,4,void 0)},proto.BVCU.PUConfig.RecordStatus.prototype.hasBrecordimage=function(){return null!=r.Message.getField(this,4)},proto.BVCU.PUConfig.RecordStatus.prototype.getPfilenames=function(){return r.Message.getFieldWithDefault(this,5,\"\")},proto.BVCU.PUConfig.RecordStatus.prototype.setPfilenames=function(e){r.Message.setField(this,5,e)},proto.BVCU.PUConfig.RecordStatus.prototype.clearPfilenames=function(){r.Message.setField(this,5,void 0)},proto.BVCU.PUConfig.RecordStatus.prototype.hasPfilenames=function(){return null!=r.Message.getField(this,5)},proto.BVCU.PUConfig.OpenDialog=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.BVCU.PUConfig.OpenDialog,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.PUConfig.OpenDialog.displayName=\"proto.BVCU.PUConfig.OpenDialog\"),r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.PUConfig.OpenDialog.prototype.toObject=function(e){return proto.BVCU.PUConfig.OpenDialog.toObject(e,this)},proto.BVCU.PUConfig.OpenDialog.toObject=function(e,t){var o={szid:r.Message.getField(t,1),ichannelindex:r.Message.getField(t,2),istreamindex:r.Message.getField(t,3),iavstreamdir:r.Message.getField(t,4),brecord:r.Message.getField(t,5),iapplierid:r.Message.getField(t,6)};return e&&(o.$jspbMessageInstance=t),o}),proto.BVCU.PUConfig.OpenDialog.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.PUConfig.OpenDialog;return proto.BVCU.PUConfig.OpenDialog.deserializeBinaryFromReader(o,t)},proto.BVCU.PUConfig.OpenDialog.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readString();e.setSzid(o);break;case 2:o=t.readUint32();e.setIchannelindex(o);break;case 3:o=t.readInt32();e.setIstreamindex(o);break;case 4:o=t.readUint32();e.setIavstreamdir(o);break;case 5:o=t.readUint32();e.setBrecord(o);break;case 6:o=t.readUint32();e.setIapplierid(o);break;default:t.skipField()}}return e},proto.BVCU.PUConfig.OpenDialog.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.PUConfig.OpenDialog.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.PUConfig.OpenDialog.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeString(1,o),null!=(o=r.Message.getField(e,2))&&t.writeUint32(2,o),null!=(o=r.Message.getField(e,3))&&t.writeInt32(3,o),null!=(o=r.Message.getField(e,4))&&t.writeUint32(4,o),null!=(o=r.Message.getField(e,5))&&t.writeUint32(5,o),null!=(o=r.Message.getField(e,6))&&t.writeUint32(6,o)},proto.BVCU.PUConfig.OpenDialog.prototype.getSzid=function(){return r.Message.getFieldWithDefault(this,1,\"\")},proto.BVCU.PUConfig.OpenDialog.prototype.setSzid=function(e){r.Message.setField(this,1,e)},proto.BVCU.PUConfig.OpenDialog.prototype.clearSzid=function(){r.Message.setField(this,1,void 0)},proto.BVCU.PUConfig.OpenDialog.prototype.hasSzid=function(){return null!=r.Message.getField(this,1)},proto.BVCU.PUConfig.OpenDialog.prototype.getIchannelindex=function(){return r.Message.getFieldWithDefault(this,2,0)},proto.BVCU.PUConfig.OpenDialog.prototype.setIchannelindex=function(e){r.Message.setField(this,2,e)},proto.BVCU.PUConfig.OpenDialog.prototype.clearIchannelindex=function(){r.Message.setField(this,2,void 0)},proto.BVCU.PUConfig.OpenDialog.prototype.hasIchannelindex=function(){return null!=r.Message.getField(this,2)},proto.BVCU.PUConfig.OpenDialog.prototype.getIstreamindex=function(){return r.Message.getFieldWithDefault(this,3,0)},proto.BVCU.PUConfig.OpenDialog.prototype.setIstreamindex=function(e){r.Message.setField(this,3,e)},proto.BVCU.PUConfig.OpenDialog.prototype.clearIstreamindex=function(){r.Message.setField(this,3,void 0)},proto.BVCU.PUConfig.OpenDialog.prototype.hasIstreamindex=function(){return null!=r.Message.getField(this,3)},proto.BVCU.PUConfig.OpenDialog.prototype.getIavstreamdir=function(){return r.Message.getFieldWithDefault(this,4,0)},proto.BVCU.PUConfig.OpenDialog.prototype.setIavstreamdir=function(e){r.Message.setField(this,4,e)},proto.BVCU.PUConfig.OpenDialog.prototype.clearIavstreamdir=function(){r.Message.setField(this,4,void 0)},proto.BVCU.PUConfig.OpenDialog.prototype.hasIavstreamdir=function(){return null!=r.Message.getField(this,4)},proto.BVCU.PUConfig.OpenDialog.prototype.getBrecord=function(){return r.Message.getFieldWithDefault(this,5,0)},proto.BVCU.PUConfig.OpenDialog.prototype.setBrecord=function(e){r.Message.setField(this,5,e)},proto.BVCU.PUConfig.OpenDialog.prototype.clearBrecord=function(){r.Message.setField(this,5,void 0)},proto.BVCU.PUConfig.OpenDialog.prototype.hasBrecord=function(){return null!=r.Message.getField(this,5)},proto.BVCU.PUConfig.OpenDialog.prototype.getIapplierid=function(){return r.Message.getFieldWithDefault(this,6,0)},proto.BVCU.PUConfig.OpenDialog.prototype.setIapplierid=function(e){r.Message.setField(this,6,e)},proto.BVCU.PUConfig.OpenDialog.prototype.clearIapplierid=function(){r.Message.setField(this,6,void 0)},proto.BVCU.PUConfig.OpenDialog.prototype.hasIapplierid=function(){return null!=r.Message.getField(this,6)},proto.BVCU.PUConfig.LicencePlateInfo=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.BVCU.PUConfig.LicencePlateInfo,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.PUConfig.LicencePlateInfo.displayName=\"proto.BVCU.PUConfig.LicencePlateInfo\"),r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.PUConfig.LicencePlateInfo.prototype.toObject=function(e){return proto.BVCU.PUConfig.LicencePlateInfo.toObject(e,this)},proto.BVCU.PUConfig.LicencePlateInfo.toObject=function(e,t){var o={icityid:r.Message.getField(t,1),icolor:r.Message.getField(t,2),itype:r.Message.getField(t,3),sznumber:r.Message.getField(t,4),szvao:r.Message.getField(t,5)};return e&&(o.$jspbMessageInstance=t),o}),proto.BVCU.PUConfig.LicencePlateInfo.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.PUConfig.LicencePlateInfo;return proto.BVCU.PUConfig.LicencePlateInfo.deserializeBinaryFromReader(o,t)},proto.BVCU.PUConfig.LicencePlateInfo.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readUint32();e.setIcityid(o);break;case 2:o=t.readUint32();e.setIcolor(o);break;case 3:o=t.readUint32();e.setItype(o);break;case 4:o=t.readString();e.setSznumber(o);break;case 5:o=t.readString();e.setSzvao(o);break;default:t.skipField()}}return e},proto.BVCU.PUConfig.LicencePlateInfo.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.PUConfig.LicencePlateInfo.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.PUConfig.LicencePlateInfo.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeUint32(1,o),null!=(o=r.Message.getField(e,2))&&t.writeUint32(2,o),null!=(o=r.Message.getField(e,3))&&t.writeUint32(3,o),null!=(o=r.Message.getField(e,4))&&t.writeString(4,o),null!=(o=r.Message.getField(e,5))&&t.writeString(5,o)},proto.BVCU.PUConfig.LicencePlateInfo.prototype.getIcityid=function(){return r.Message.getFieldWithDefault(this,1,0)},proto.BVCU.PUConfig.LicencePlateInfo.prototype.setIcityid=function(e){r.Message.setField(this,1,e)},proto.BVCU.PUConfig.LicencePlateInfo.prototype.clearIcityid=function(){r.Message.setField(this,1,void 0)},proto.BVCU.PUConfig.LicencePlateInfo.prototype.hasIcityid=function(){return null!=r.Message.getField(this,1)},proto.BVCU.PUConfig.LicencePlateInfo.prototype.getIcolor=function(){return r.Message.getFieldWithDefault(this,2,0)},proto.BVCU.PUConfig.LicencePlateInfo.prototype.setIcolor=function(e){r.Message.setField(this,2,e)},proto.BVCU.PUConfig.LicencePlateInfo.prototype.clearIcolor=function(){r.Message.setField(this,2,void 0)},proto.BVCU.PUConfig.LicencePlateInfo.prototype.hasIcolor=function(){return null!=r.Message.getField(this,2)},proto.BVCU.PUConfig.LicencePlateInfo.prototype.getItype=function(){return r.Message.getFieldWithDefault(this,3,0)},proto.BVCU.PUConfig.LicencePlateInfo.prototype.setItype=function(e){r.Message.setField(this,3,e)},proto.BVCU.PUConfig.LicencePlateInfo.prototype.clearItype=function(){r.Message.setField(this,3,void 0)},proto.BVCU.PUConfig.LicencePlateInfo.prototype.hasItype=function(){return null!=r.Message.getField(this,3)},proto.BVCU.PUConfig.LicencePlateInfo.prototype.getSznumber=function(){return r.Message.getFieldWithDefault(this,4,\"\")},proto.BVCU.PUConfig.LicencePlateInfo.prototype.setSznumber=function(e){r.Message.setField(this,4,e)},proto.BVCU.PUConfig.LicencePlateInfo.prototype.clearSznumber=function(){r.Message.setField(this,4,void 0)},proto.BVCU.PUConfig.LicencePlateInfo.prototype.hasSznumber=function(){return null!=r.Message.getField(this,4)},proto.BVCU.PUConfig.LicencePlateInfo.prototype.getSzvao=function(){return r.Message.getFieldWithDefault(this,5,\"\")},proto.BVCU.PUConfig.LicencePlateInfo.prototype.setSzvao=function(e){r.Message.setField(this,5,e)},proto.BVCU.PUConfig.LicencePlateInfo.prototype.clearSzvao=function(){r.Message.setField(this,5,void 0)},proto.BVCU.PUConfig.LicencePlateInfo.prototype.hasSzvao=function(){return null!=r.Message.getField(this,5)},proto.BVCU.PUConfig.PersonInfo=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.BVCU.PUConfig.PersonInfo,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.PUConfig.PersonInfo.displayName=\"proto.BVCU.PUConfig.PersonInfo\"),r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.PUConfig.PersonInfo.prototype.toObject=function(e){return proto.BVCU.PUConfig.PersonInfo.toObject(e,this)},proto.BVCU.PUConfig.PersonInfo.toObject=function(e,t){var o={szname:r.Message.getField(t,1),cgender:r.Message.getField(t,2),sage:r.Message.getField(t,3)};return e&&(o.$jspbMessageInstance=t),o}),proto.BVCU.PUConfig.PersonInfo.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.PUConfig.PersonInfo;return proto.BVCU.PUConfig.PersonInfo.deserializeBinaryFromReader(o,t)},proto.BVCU.PUConfig.PersonInfo.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readString();e.setSzname(o);break;case 2:o=t.readUint32();e.setCgender(o);break;case 3:o=t.readUint32();e.setSage(o);break;default:t.skipField()}}return e},proto.BVCU.PUConfig.PersonInfo.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.PUConfig.PersonInfo.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.PUConfig.PersonInfo.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeString(1,o),null!=(o=r.Message.getField(e,2))&&t.writeUint32(2,o),null!=(o=r.Message.getField(e,3))&&t.writeUint32(3,o)},proto.BVCU.PUConfig.PersonInfo.prototype.getSzname=function(){return r.Message.getFieldWithDefault(this,1,\"\")},proto.BVCU.PUConfig.PersonInfo.prototype.setSzname=function(e){r.Message.setField(this,1,e)},proto.BVCU.PUConfig.PersonInfo.prototype.clearSzname=function(){r.Message.setField(this,1,void 0)},proto.BVCU.PUConfig.PersonInfo.prototype.hasSzname=function(){return null!=r.Message.getField(this,1)},proto.BVCU.PUConfig.PersonInfo.prototype.getCgender=function(){return r.Message.getFieldWithDefault(this,2,0)},proto.BVCU.PUConfig.PersonInfo.prototype.setCgender=function(e){r.Message.setField(this,2,e)},proto.BVCU.PUConfig.PersonInfo.prototype.clearCgender=function(){r.Message.setField(this,2,void 0)},proto.BVCU.PUConfig.PersonInfo.prototype.hasCgender=function(){return null!=r.Message.getField(this,2)},proto.BVCU.PUConfig.PersonInfo.prototype.getSage=function(){return r.Message.getFieldWithDefault(this,3,0)},proto.BVCU.PUConfig.PersonInfo.prototype.setSage=function(e){r.Message.setField(this,3,e)},proto.BVCU.PUConfig.PersonInfo.prototype.clearSage=function(){r.Message.setField(this,3,void 0)},proto.BVCU.PUConfig.PersonInfo.prototype.hasSage=function(){return null!=r.Message.getField(this,3)},proto.BVCU.PUConfig.DriverInfo=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.BVCU.PUConfig.DriverInfo,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.PUConfig.DriverInfo.displayName=\"proto.BVCU.PUConfig.DriverInfo\"),r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.PUConfig.DriverInfo.prototype.toObject=function(e){return proto.BVCU.PUConfig.DriverInfo.toObject(e,this)},proto.BVCU.PUConfig.DriverInfo.toObject=function(e,t){var o,i={stpersoninfo:(o=t.getStpersoninfo())&&proto.BVCU.PUConfig.PersonInfo.toObject(e,o),szcardid:r.Message.getField(t,2),szcertificateid:r.Message.getField(t,3),szissuingagency:r.Message.getField(t,4)};return e&&(i.$jspbMessageInstance=t),i}),proto.BVCU.PUConfig.DriverInfo.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.PUConfig.DriverInfo;return proto.BVCU.PUConfig.DriverInfo.deserializeBinaryFromReader(o,t)},proto.BVCU.PUConfig.DriverInfo.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=new proto.BVCU.PUConfig.PersonInfo;t.readMessage(o,proto.BVCU.PUConfig.PersonInfo.deserializeBinaryFromReader),e.setStpersoninfo(o);break;case 2:o=t.readString();e.setSzcardid(o);break;case 3:o=t.readString();e.setSzcertificateid(o);break;case 4:o=t.readString();e.setSzissuingagency(o);break;default:t.skipField()}}return e},proto.BVCU.PUConfig.DriverInfo.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.PUConfig.DriverInfo.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.PUConfig.DriverInfo.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=e.getStpersoninfo())&&t.writeMessage(1,o,proto.BVCU.PUConfig.PersonInfo.serializeBinaryToWriter),null!=(o=r.Message.getField(e,2))&&t.writeString(2,o),null!=(o=r.Message.getField(e,3))&&t.writeString(3,o),null!=(o=r.Message.getField(e,4))&&t.writeString(4,o)},proto.BVCU.PUConfig.DriverInfo.prototype.getStpersoninfo=function(){return r.Message.getWrapperField(this,proto.BVCU.PUConfig.PersonInfo,1)},proto.BVCU.PUConfig.DriverInfo.prototype.setStpersoninfo=function(e){r.Message.setWrapperField(this,1,e)},proto.BVCU.PUConfig.DriverInfo.prototype.clearStpersoninfo=function(){this.setStpersoninfo(void 0)},proto.BVCU.PUConfig.DriverInfo.prototype.hasStpersoninfo=function(){return null!=r.Message.getField(this,1)},proto.BVCU.PUConfig.DriverInfo.prototype.getSzcardid=function(){return r.Message.getFieldWithDefault(this,2,\"\")},proto.BVCU.PUConfig.DriverInfo.prototype.setSzcardid=function(e){r.Message.setField(this,2,e)},proto.BVCU.PUConfig.DriverInfo.prototype.clearSzcardid=function(){r.Message.setField(this,2,void 0)},proto.BVCU.PUConfig.DriverInfo.prototype.hasSzcardid=function(){return null!=r.Message.getField(this,2)},proto.BVCU.PUConfig.DriverInfo.prototype.getSzcertificateid=function(){return r.Message.getFieldWithDefault(this,3,\"\")},proto.BVCU.PUConfig.DriverInfo.prototype.setSzcertificateid=function(e){r.Message.setField(this,3,e)},proto.BVCU.PUConfig.DriverInfo.prototype.clearSzcertificateid=function(){r.Message.setField(this,3,void 0)},proto.BVCU.PUConfig.DriverInfo.prototype.hasSzcertificateid=function(){return null!=r.Message.getField(this,3)},proto.BVCU.PUConfig.DriverInfo.prototype.getSzissuingagency=function(){return r.Message.getFieldWithDefault(this,4,\"\")},proto.BVCU.PUConfig.DriverInfo.prototype.setSzissuingagency=function(e){r.Message.setField(this,4,e)},proto.BVCU.PUConfig.DriverInfo.prototype.clearSzissuingagency=function(){r.Message.setField(this,4,void 0)},proto.BVCU.PUConfig.DriverInfo.prototype.hasSzissuingagency=function(){return null!=r.Message.getField(this,4)},proto.BVCU.PUConfig.CarInfo=function(e){r.Message.initialize(this,e,0,-1,proto.BVCU.PUConfig.CarInfo.repeatedFields_,null)},i.inherits(proto.BVCU.PUConfig.CarInfo,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.PUConfig.CarInfo.displayName=\"proto.BVCU.PUConfig.CarInfo\"),proto.BVCU.PUConfig.CarInfo.repeatedFields_=[2],r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.PUConfig.CarInfo.prototype.toObject=function(e){return proto.BVCU.PUConfig.CarInfo.toObject(e,this)},proto.BVCU.PUConfig.CarInfo.toObject=function(e,t){var o,i={stlicenceplate:(o=t.getStlicenceplate())&&proto.BVCU.PUConfig.LicencePlateInfo.toObject(e,o),stdriverList:r.Message.toObjectList(t.getStdriverList(),proto.BVCU.PUConfig.DriverInfo.toObject,e),szvehicletype:r.Message.getField(t,3),szvinEngineno:r.Message.getField(t,4),szowner:r.Message.getField(t,5)};return e&&(i.$jspbMessageInstance=t),i}),proto.BVCU.PUConfig.CarInfo.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.PUConfig.CarInfo;return proto.BVCU.PUConfig.CarInfo.deserializeBinaryFromReader(o,t)},proto.BVCU.PUConfig.CarInfo.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=new proto.BVCU.PUConfig.LicencePlateInfo;t.readMessage(o,proto.BVCU.PUConfig.LicencePlateInfo.deserializeBinaryFromReader),e.setStlicenceplate(o);break;case 2:o=new proto.BVCU.PUConfig.DriverInfo;t.readMessage(o,proto.BVCU.PUConfig.DriverInfo.deserializeBinaryFromReader),e.addStdriver(o);break;case 3:o=t.readString();e.setSzvehicletype(o);break;case 4:o=t.readString();e.setSzvinEngineno(o);break;case 5:o=t.readString();e.setSzowner(o);break;default:t.skipField()}}return e},proto.BVCU.PUConfig.CarInfo.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.PUConfig.CarInfo.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.PUConfig.CarInfo.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=e.getStlicenceplate())&&t.writeMessage(1,o,proto.BVCU.PUConfig.LicencePlateInfo.serializeBinaryToWriter),(o=e.getStdriverList()).length>0&&t.writeRepeatedMessage(2,o,proto.BVCU.PUConfig.DriverInfo.serializeBinaryToWriter),null!=(o=r.Message.getField(e,3))&&t.writeString(3,o),null!=(o=r.Message.getField(e,4))&&t.writeString(4,o),null!=(o=r.Message.getField(e,5))&&t.writeString(5,o)},proto.BVCU.PUConfig.CarInfo.prototype.getStlicenceplate=function(){return r.Message.getWrapperField(this,proto.BVCU.PUConfig.LicencePlateInfo,1)},proto.BVCU.PUConfig.CarInfo.prototype.setStlicenceplate=function(e){r.Message.setWrapperField(this,1,e)},proto.BVCU.PUConfig.CarInfo.prototype.clearStlicenceplate=function(){this.setStlicenceplate(void 0)},proto.BVCU.PUConfig.CarInfo.prototype.hasStlicenceplate=function(){return null!=r.Message.getField(this,1)},proto.BVCU.PUConfig.CarInfo.prototype.getStdriverList=function(){return r.Message.getRepeatedWrapperField(this,proto.BVCU.PUConfig.DriverInfo,2)},proto.BVCU.PUConfig.CarInfo.prototype.setStdriverList=function(e){r.Message.setRepeatedWrapperField(this,2,e)},proto.BVCU.PUConfig.CarInfo.prototype.addStdriver=function(e,t){return r.Message.addToRepeatedWrapperField(this,2,e,proto.BVCU.PUConfig.DriverInfo,t)},proto.BVCU.PUConfig.CarInfo.prototype.clearStdriverList=function(){this.setStdriverList([])},proto.BVCU.PUConfig.CarInfo.prototype.getSzvehicletype=function(){return r.Message.getFieldWithDefault(this,3,\"\")},proto.BVCU.PUConfig.CarInfo.prototype.setSzvehicletype=function(e){r.Message.setField(this,3,e)},proto.BVCU.PUConfig.CarInfo.prototype.clearSzvehicletype=function(){r.Message.setField(this,3,void 0)},proto.BVCU.PUConfig.CarInfo.prototype.hasSzvehicletype=function(){return null!=r.Message.getField(this,3)},proto.BVCU.PUConfig.CarInfo.prototype.getSzvinEngineno=function(){return r.Message.getFieldWithDefault(this,4,\"\")},proto.BVCU.PUConfig.CarInfo.prototype.setSzvinEngineno=function(e){r.Message.setField(this,4,e)},proto.BVCU.PUConfig.CarInfo.prototype.clearSzvinEngineno=function(){r.Message.setField(this,4,void 0)},proto.BVCU.PUConfig.CarInfo.prototype.hasSzvinEngineno=function(){return null!=r.Message.getField(this,4)},proto.BVCU.PUConfig.CarInfo.prototype.getSzowner=function(){return r.Message.getFieldWithDefault(this,5,\"\")},proto.BVCU.PUConfig.CarInfo.prototype.setSzowner=function(e){r.Message.setField(this,5,e)},proto.BVCU.PUConfig.CarInfo.prototype.clearSzowner=function(){r.Message.setField(this,5,void 0)},proto.BVCU.PUConfig.CarInfo.prototype.hasSzowner=function(){return null!=r.Message.getField(this,5)},proto.BVCU.PUConfig.ZFYInfo=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.BVCU.PUConfig.ZFYInfo,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.PUConfig.ZFYInfo.displayName=\"proto.BVCU.PUConfig.ZFYInfo\"),r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.PUConfig.ZFYInfo.prototype.toObject=function(e){return proto.BVCU.PUConfig.ZFYInfo.toObject(e,this)},proto.BVCU.PUConfig.ZFYInfo.toObject=function(e,t){var o={szdevmodel:r.Message.getField(t,1),szimeiMeid:r.Message.getField(t,2),szserial:r.Message.getField(t,3),szuserno:r.Message.getField(t,4),szusername:r.Message.getField(t,5),szuserdescribe:r.Message.getField(t,6),szunitno:r.Message.getField(t,7),szunitname:r.Message.getField(t,8),szdefaultconference:r.Message.getField(t,9),szcurrentconference:r.Message.getField(t,10)};return e&&(o.$jspbMessageInstance=t),o}),proto.BVCU.PUConfig.ZFYInfo.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.PUConfig.ZFYInfo;return proto.BVCU.PUConfig.ZFYInfo.deserializeBinaryFromReader(o,t)},proto.BVCU.PUConfig.ZFYInfo.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readString();e.setSzdevmodel(o);break;case 2:o=t.readString();e.setSzimeiMeid(o);break;case 3:o=t.readString();e.setSzserial(o);break;case 4:o=t.readString();e.setSzuserno(o);break;case 5:o=t.readString();e.setSzusername(o);break;case 6:o=t.readString();e.setSzuserdescribe(o);break;case 7:o=t.readString();e.setSzunitno(o);break;case 8:o=t.readString();e.setSzunitname(o);break;case 9:o=t.readString();e.setSzdefaultconference(o);break;case 10:o=t.readString();e.setSzcurrentconference(o);break;default:t.skipField()}}return e},proto.BVCU.PUConfig.ZFYInfo.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.PUConfig.ZFYInfo.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.PUConfig.ZFYInfo.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeString(1,o),null!=(o=r.Message.getField(e,2))&&t.writeString(2,o),null!=(o=r.Message.getField(e,3))&&t.writeString(3,o),null!=(o=r.Message.getField(e,4))&&t.writeString(4,o),null!=(o=r.Message.getField(e,5))&&t.writeString(5,o),null!=(o=r.Message.getField(e,6))&&t.writeString(6,o),null!=(o=r.Message.getField(e,7))&&t.writeString(7,o),null!=(o=r.Message.getField(e,8))&&t.writeString(8,o),null!=(o=r.Message.getField(e,9))&&t.writeString(9,o),null!=(o=r.Message.getField(e,10))&&t.writeString(10,o)},proto.BVCU.PUConfig.ZFYInfo.prototype.getSzdevmodel=function(){return r.Message.getFieldWithDefault(this,1,\"\")},proto.BVCU.PUConfig.ZFYInfo.prototype.setSzdevmodel=function(e){r.Message.setField(this,1,e)},proto.BVCU.PUConfig.ZFYInfo.prototype.clearSzdevmodel=function(){r.Message.setField(this,1,void 0)},proto.BVCU.PUConfig.ZFYInfo.prototype.hasSzdevmodel=function(){return null!=r.Message.getField(this,1)},proto.BVCU.PUConfig.ZFYInfo.prototype.getSzimeiMeid=function(){return r.Message.getFieldWithDefault(this,2,\"\")},proto.BVCU.PUConfig.ZFYInfo.prototype.setSzimeiMeid=function(e){r.Message.setField(this,2,e)},proto.BVCU.PUConfig.ZFYInfo.prototype.clearSzimeiMeid=function(){r.Message.setField(this,2,void 0)},proto.BVCU.PUConfig.ZFYInfo.prototype.hasSzimeiMeid=function(){return null!=r.Message.getField(this,2)},proto.BVCU.PUConfig.ZFYInfo.prototype.getSzserial=function(){return r.Message.getFieldWithDefault(this,3,\"\")},proto.BVCU.PUConfig.ZFYInfo.prototype.setSzserial=function(e){r.Message.setField(this,3,e)},proto.BVCU.PUConfig.ZFYInfo.prototype.clearSzserial=function(){r.Message.setField(this,3,void 0)},proto.BVCU.PUConfig.ZFYInfo.prototype.hasSzserial=function(){return null!=r.Message.getField(this,3)},proto.BVCU.PUConfig.ZFYInfo.prototype.getSzuserno=function(){return r.Message.getFieldWithDefault(this,4,\"\")},proto.BVCU.PUConfig.ZFYInfo.prototype.setSzuserno=function(e){r.Message.setField(this,4,e)},proto.BVCU.PUConfig.ZFYInfo.prototype.clearSzuserno=function(){r.Message.setField(this,4,void 0)},proto.BVCU.PUConfig.ZFYInfo.prototype.hasSzuserno=function(){return null!=r.Message.getField(this,4)},proto.BVCU.PUConfig.ZFYInfo.prototype.getSzusername=function(){return r.Message.getFieldWithDefault(this,5,\"\")},proto.BVCU.PUConfig.ZFYInfo.prototype.setSzusername=function(e){r.Message.setField(this,5,e)},proto.BVCU.PUConfig.ZFYInfo.prototype.clearSzusername=function(){r.Message.setField(this,5,void 0)},proto.BVCU.PUConfig.ZFYInfo.prototype.hasSzusername=function(){return null!=r.Message.getField(this,5)},proto.BVCU.PUConfig.ZFYInfo.prototype.getSzuserdescribe=function(){return r.Message.getFieldWithDefault(this,6,\"\")},proto.BVCU.PUConfig.ZFYInfo.prototype.setSzuserdescribe=function(e){r.Message.setField(this,6,e)},proto.BVCU.PUConfig.ZFYInfo.prototype.clearSzuserdescribe=function(){r.Message.setField(this,6,void 0)},proto.BVCU.PUConfig.ZFYInfo.prototype.hasSzuserdescribe=function(){return null!=r.Message.getField(this,6)},proto.BVCU.PUConfig.ZFYInfo.prototype.getSzunitno=function(){return r.Message.getFieldWithDefault(this,7,\"\")},proto.BVCU.PUConfig.ZFYInfo.prototype.setSzunitno=function(e){r.Message.setField(this,7,e)},proto.BVCU.PUConfig.ZFYInfo.prototype.clearSzunitno=function(){r.Message.setField(this,7,void 0)},proto.BVCU.PUConfig.ZFYInfo.prototype.hasSzunitno=function(){return null!=r.Message.getField(this,7)},proto.BVCU.PUConfig.ZFYInfo.prototype.getSzunitname=function(){return r.Message.getFieldWithDefault(this,8,\"\")},proto.BVCU.PUConfig.ZFYInfo.prototype.setSzunitname=function(e){r.Message.setField(this,8,e)},proto.BVCU.PUConfig.ZFYInfo.prototype.clearSzunitname=function(){r.Message.setField(this,8,void 0)},proto.BVCU.PUConfig.ZFYInfo.prototype.hasSzunitname=function(){return null!=r.Message.getField(this,8)},proto.BVCU.PUConfig.ZFYInfo.prototype.getSzdefaultconference=function(){return r.Message.getFieldWithDefault(this,9,\"\")},proto.BVCU.PUConfig.ZFYInfo.prototype.setSzdefaultconference=function(e){r.Message.setField(this,9,e)},proto.BVCU.PUConfig.ZFYInfo.prototype.clearSzdefaultconference=function(){r.Message.setField(this,9,void 0)},proto.BVCU.PUConfig.ZFYInfo.prototype.hasSzdefaultconference=function(){return null!=r.Message.getField(this,9)},proto.BVCU.PUConfig.ZFYInfo.prototype.getSzcurrentconference=function(){return r.Message.getFieldWithDefault(this,10,\"\")},proto.BVCU.PUConfig.ZFYInfo.prototype.setSzcurrentconference=function(e){r.Message.setField(this,10,e)},proto.BVCU.PUConfig.ZFYInfo.prototype.clearSzcurrentconference=function(){r.Message.setField(this,10,void 0)},proto.BVCU.PUConfig.ZFYInfo.prototype.hasSzcurrentconference=function(){return null!=r.Message.getField(this,10)},proto.BVCU.PUConfig.UserGroupInfo=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.BVCU.PUConfig.UserGroupInfo,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.PUConfig.UserGroupInfo.displayName=\"proto.BVCU.PUConfig.UserGroupInfo\"),r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.PUConfig.UserGroupInfo.prototype.toObject=function(e){return proto.BVCU.PUConfig.UserGroupInfo.toObject(e,this)},proto.BVCU.PUConfig.UserGroupInfo.toObject=function(e,t){var o={szid:r.Message.getField(t,1),szparentid:r.Message.getField(t,2),szname:r.Message.getField(t,3),szdescription:r.Message.getField(t,4)};return e&&(o.$jspbMessageInstance=t),o}),proto.BVCU.PUConfig.UserGroupInfo.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.PUConfig.UserGroupInfo;return proto.BVCU.PUConfig.UserGroupInfo.deserializeBinaryFromReader(o,t)},proto.BVCU.PUConfig.UserGroupInfo.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readString();e.setSzid(o);break;case 2:o=t.readString();e.setSzparentid(o);break;case 3:o=t.readString();e.setSzname(o);break;case 4:o=t.readString();e.setSzdescription(o);break;default:t.skipField()}}return e},proto.BVCU.PUConfig.UserGroupInfo.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.PUConfig.UserGroupInfo.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.PUConfig.UserGroupInfo.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeString(1,o),null!=(o=r.Message.getField(e,2))&&t.writeString(2,o),null!=(o=r.Message.getField(e,3))&&t.writeString(3,o),null!=(o=r.Message.getField(e,4))&&t.writeString(4,o)},proto.BVCU.PUConfig.UserGroupInfo.prototype.getSzid=function(){return r.Message.getFieldWithDefault(this,1,\"\")},proto.BVCU.PUConfig.UserGroupInfo.prototype.setSzid=function(e){r.Message.setField(this,1,e)},proto.BVCU.PUConfig.UserGroupInfo.prototype.clearSzid=function(){r.Message.setField(this,1,void 0)},proto.BVCU.PUConfig.UserGroupInfo.prototype.hasSzid=function(){return null!=r.Message.getField(this,1)},proto.BVCU.PUConfig.UserGroupInfo.prototype.getSzparentid=function(){return r.Message.getFieldWithDefault(this,2,\"\")},proto.BVCU.PUConfig.UserGroupInfo.prototype.setSzparentid=function(e){r.Message.setField(this,2,e)},proto.BVCU.PUConfig.UserGroupInfo.prototype.clearSzparentid=function(){r.Message.setField(this,2,void 0)},proto.BVCU.PUConfig.UserGroupInfo.prototype.hasSzparentid=function(){return null!=r.Message.getField(this,2)},proto.BVCU.PUConfig.UserGroupInfo.prototype.getSzname=function(){return r.Message.getFieldWithDefault(this,3,\"\")},proto.BVCU.PUConfig.UserGroupInfo.prototype.setSzname=function(e){r.Message.setField(this,3,e)},proto.BVCU.PUConfig.UserGroupInfo.prototype.clearSzname=function(){r.Message.setField(this,3,void 0)},proto.BVCU.PUConfig.UserGroupInfo.prototype.hasSzname=function(){return null!=r.Message.getField(this,3)},proto.BVCU.PUConfig.UserGroupInfo.prototype.getSzdescription=function(){return r.Message.getFieldWithDefault(this,4,\"\")},proto.BVCU.PUConfig.UserGroupInfo.prototype.setSzdescription=function(e){r.Message.setField(this,4,e)},proto.BVCU.PUConfig.UserGroupInfo.prototype.clearSzdescription=function(){r.Message.setField(this,4,void 0)},proto.BVCU.PUConfig.UserGroupInfo.prototype.hasSzdescription=function(){return null!=r.Message.getField(this,4)},proto.BVCU.PUConfig.UserInfo=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.BVCU.PUConfig.UserInfo,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.PUConfig.UserInfo.displayName=\"proto.BVCU.PUConfig.UserInfo\"),r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.PUConfig.UserInfo.prototype.toObject=function(e){return proto.BVCU.PUConfig.UserInfo.toObject(e,this)},proto.BVCU.PUConfig.UserInfo.toObject=function(e,t){var o,i={szid:r.Message.getField(t,1),szgroupid:r.Message.getField(t,2),szname:r.Message.getField(t,3),szidcard:r.Message.getField(t,4),szposition:r.Message.getField(t,5),szphone:r.Message.getField(t,6),szemail:r.Message.getField(t,7),szdescription:r.Message.getField(t,8),szpuid:r.Message.getField(t,9),ionlinestatus:r.Message.getField(t,10),szcreateuserid:r.Message.getField(t,11),stcreatetime:(o=t.getStcreatetime())&&proto.BVCU.PUConfig.WallTime.toObject(e,o)};return e&&(i.$jspbMessageInstance=t),i}),proto.BVCU.PUConfig.UserInfo.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.PUConfig.UserInfo;return proto.BVCU.PUConfig.UserInfo.deserializeBinaryFromReader(o,t)},proto.BVCU.PUConfig.UserInfo.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readString();e.setSzid(o);break;case 2:o=t.readString();e.setSzgroupid(o);break;case 3:o=t.readString();e.setSzname(o);break;case 4:o=t.readString();e.setSzidcard(o);break;case 5:o=t.readString();e.setSzposition(o);break;case 6:o=t.readString();e.setSzphone(o);break;case 7:o=t.readString();e.setSzemail(o);break;case 8:o=t.readString();e.setSzdescription(o);break;case 9:o=t.readString();e.setSzpuid(o);break;case 10:o=t.readUint32();e.setIonlinestatus(o);break;case 11:o=t.readString();e.setSzcreateuserid(o);break;case 12:o=new proto.BVCU.PUConfig.WallTime;t.readMessage(o,proto.BVCU.PUConfig.WallTime.deserializeBinaryFromReader),e.setStcreatetime(o);break;default:t.skipField()}}return e},proto.BVCU.PUConfig.UserInfo.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.PUConfig.UserInfo.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.PUConfig.UserInfo.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeString(1,o),null!=(o=r.Message.getField(e,2))&&t.writeString(2,o),null!=(o=r.Message.getField(e,3))&&t.writeString(3,o),null!=(o=r.Message.getField(e,4))&&t.writeString(4,o),null!=(o=r.Message.getField(e,5))&&t.writeString(5,o),null!=(o=r.Message.getField(e,6))&&t.writeString(6,o),null!=(o=r.Message.getField(e,7))&&t.writeString(7,o),null!=(o=r.Message.getField(e,8))&&t.writeString(8,o),null!=(o=r.Message.getField(e,9))&&t.writeString(9,o),null!=(o=r.Message.getField(e,10))&&t.writeUint32(10,o),null!=(o=r.Message.getField(e,11))&&t.writeString(11,o),null!=(o=e.getStcreatetime())&&t.writeMessage(12,o,proto.BVCU.PUConfig.WallTime.serializeBinaryToWriter)},proto.BVCU.PUConfig.UserInfo.prototype.getSzid=function(){return r.Message.getFieldWithDefault(this,1,\"\")},proto.BVCU.PUConfig.UserInfo.prototype.setSzid=function(e){r.Message.setField(this,1,e)},proto.BVCU.PUConfig.UserInfo.prototype.clearSzid=function(){r.Message.setField(this,1,void 0)},proto.BVCU.PUConfig.UserInfo.prototype.hasSzid=function(){return null!=r.Message.getField(this,1)},proto.BVCU.PUConfig.UserInfo.prototype.getSzgroupid=function(){return r.Message.getFieldWithDefault(this,2,\"\")},proto.BVCU.PUConfig.UserInfo.prototype.setSzgroupid=function(e){r.Message.setField(this,2,e)},proto.BVCU.PUConfig.UserInfo.prototype.clearSzgroupid=function(){r.Message.setField(this,2,void 0)},proto.BVCU.PUConfig.UserInfo.prototype.hasSzgroupid=function(){return null!=r.Message.getField(this,2)},proto.BVCU.PUConfig.UserInfo.prototype.getSzname=function(){return r.Message.getFieldWithDefault(this,3,\"\")},proto.BVCU.PUConfig.UserInfo.prototype.setSzname=function(e){r.Message.setField(this,3,e)},proto.BVCU.PUConfig.UserInfo.prototype.clearSzname=function(){r.Message.setField(this,3,void 0)},proto.BVCU.PUConfig.UserInfo.prototype.hasSzname=function(){return null!=r.Message.getField(this,3)},proto.BVCU.PUConfig.UserInfo.prototype.getSzidcard=function(){return r.Message.getFieldWithDefault(this,4,\"\")},proto.BVCU.PUConfig.UserInfo.prototype.setSzidcard=function(e){r.Message.setField(this,4,e)},proto.BVCU.PUConfig.UserInfo.prototype.clearSzidcard=function(){r.Message.setField(this,4,void 0)},proto.BVCU.PUConfig.UserInfo.prototype.hasSzidcard=function(){return null!=r.Message.getField(this,4)},proto.BVCU.PUConfig.UserInfo.prototype.getSzposition=function(){return r.Message.getFieldWithDefault(this,5,\"\")},proto.BVCU.PUConfig.UserInfo.prototype.setSzposition=function(e){r.Message.setField(this,5,e)},proto.BVCU.PUConfig.UserInfo.prototype.clearSzposition=function(){r.Message.setField(this,5,void 0)},proto.BVCU.PUConfig.UserInfo.prototype.hasSzposition=function(){return null!=r.Message.getField(this,5)},proto.BVCU.PUConfig.UserInfo.prototype.getSzphone=function(){return r.Message.getFieldWithDefault(this,6,\"\")},proto.BVCU.PUConfig.UserInfo.prototype.setSzphone=function(e){r.Message.setField(this,6,e)},proto.BVCU.PUConfig.UserInfo.prototype.clearSzphone=function(){r.Message.setField(this,6,void 0)},proto.BVCU.PUConfig.UserInfo.prototype.hasSzphone=function(){return null!=r.Message.getField(this,6)},proto.BVCU.PUConfig.UserInfo.prototype.getSzemail=function(){return r.Message.getFieldWithDefault(this,7,\"\")},proto.BVCU.PUConfig.UserInfo.prototype.setSzemail=function(e){r.Message.setField(this,7,e)},proto.BVCU.PUConfig.UserInfo.prototype.clearSzemail=function(){r.Message.setField(this,7,void 0)},proto.BVCU.PUConfig.UserInfo.prototype.hasSzemail=function(){return null!=r.Message.getField(this,7)},proto.BVCU.PUConfig.UserInfo.prototype.getSzdescription=function(){return r.Message.getFieldWithDefault(this,8,\"\")},proto.BVCU.PUConfig.UserInfo.prototype.setSzdescription=function(e){r.Message.setField(this,8,e)},proto.BVCU.PUConfig.UserInfo.prototype.clearSzdescription=function(){r.Message.setField(this,8,void 0)},proto.BVCU.PUConfig.UserInfo.prototype.hasSzdescription=function(){return null!=r.Message.getField(this,8)},proto.BVCU.PUConfig.UserInfo.prototype.getSzpuid=function(){return r.Message.getFieldWithDefault(this,9,\"\")},proto.BVCU.PUConfig.UserInfo.prototype.setSzpuid=function(e){r.Message.setField(this,9,e)},proto.BVCU.PUConfig.UserInfo.prototype.clearSzpuid=function(){r.Message.setField(this,9,void 0)},proto.BVCU.PUConfig.UserInfo.prototype.hasSzpuid=function(){return null!=r.Message.getField(this,9)},proto.BVCU.PUConfig.UserInfo.prototype.getIonlinestatus=function(){return r.Message.getFieldWithDefault(this,10,0)},proto.BVCU.PUConfig.UserInfo.prototype.setIonlinestatus=function(e){r.Message.setField(this,10,e)},proto.BVCU.PUConfig.UserInfo.prototype.clearIonlinestatus=function(){r.Message.setField(this,10,void 0)},proto.BVCU.PUConfig.UserInfo.prototype.hasIonlinestatus=function(){return null!=r.Message.getField(this,10)},proto.BVCU.PUConfig.UserInfo.prototype.getSzcreateuserid=function(){return r.Message.getFieldWithDefault(this,11,\"\")},proto.BVCU.PUConfig.UserInfo.prototype.setSzcreateuserid=function(e){r.Message.setField(this,11,e)},proto.BVCU.PUConfig.UserInfo.prototype.clearSzcreateuserid=function(){r.Message.setField(this,11,void 0)},proto.BVCU.PUConfig.UserInfo.prototype.hasSzcreateuserid=function(){return null!=r.Message.getField(this,11)},proto.BVCU.PUConfig.UserInfo.prototype.getStcreatetime=function(){return r.Message.getWrapperField(this,proto.BVCU.PUConfig.WallTime,12)},proto.BVCU.PUConfig.UserInfo.prototype.setStcreatetime=function(e){r.Message.setWrapperField(this,12,e)},proto.BVCU.PUConfig.UserInfo.prototype.clearStcreatetime=function(){this.setStcreatetime(void 0)},proto.BVCU.PUConfig.UserInfo.prototype.hasStcreatetime=function(){return null!=r.Message.getField(this,12)},i.object.extend(t,proto.BVCU.PUConfig)},function(e,t,o){var r=o(0),i=r,s=Function(\"return this\")(),n=o(1);i.exportSymbol(\"proto.BVCU.UserConfig.DialogChannel\",null,s),i.exportSymbol(\"proto.BVCU.UserConfig.DialogPU\",null,s),i.exportSymbol(\"proto.BVCU.UserConfig.Kickout\",null,s),i.exportSymbol(\"proto.BVCU.UserConfig.ModPassword\",null,s),i.exportSymbol(\"proto.BVCU.UserConfig.PUPermissions\",null,s),i.exportSymbol(\"proto.BVCU.UserConfig.Resource\",null,s),i.exportSymbol(\"proto.BVCU.UserConfig.User\",null,s),i.exportSymbol(\"proto.BVCU.UserConfig.UserGroup\",null,s),i.exportSymbol(\"proto.BVCU.UserConfig.UserGroupInfo\",null,s),i.exportSymbol(\"proto.BVCU.UserConfig.UserInfo\",null,s),i.exportSymbol(\"proto.BVCU.UserConfig.UserOnline\",null,s),i.exportSymbol(\"proto.BVCU.UserConfig.UserOnlineInfo\",null,s),proto.BVCU.UserConfig.UserGroup=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.BVCU.UserConfig.UserGroup,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.UserConfig.UserGroup.displayName=\"proto.BVCU.UserConfig.UserGroup\"),r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.UserConfig.UserGroup.prototype.toObject=function(e){return proto.BVCU.UserConfig.UserGroup.toObject(e,this)},proto.BVCU.UserConfig.UserGroup.toObject=function(e,t){var o={sid:r.Message.getField(t,1),sname:r.Message.getField(t,2),sparentid:r.Message.getField(t,3)};return e&&(o.$jspbMessageInstance=t),o}),proto.BVCU.UserConfig.UserGroup.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.UserConfig.UserGroup;return proto.BVCU.UserConfig.UserGroup.deserializeBinaryFromReader(o,t)},proto.BVCU.UserConfig.UserGroup.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readString();e.setSid(o);break;case 2:o=t.readString();e.setSname(o);break;case 3:o=t.readString();e.setSparentid(o);break;default:t.skipField()}}return e},proto.BVCU.UserConfig.UserGroup.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.UserConfig.UserGroup.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.UserConfig.UserGroup.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeString(1,o),null!=(o=r.Message.getField(e,2))&&t.writeString(2,o),null!=(o=r.Message.getField(e,3))&&t.writeString(3,o)},proto.BVCU.UserConfig.UserGroup.prototype.getSid=function(){return r.Message.getFieldWithDefault(this,1,\"\")},proto.BVCU.UserConfig.UserGroup.prototype.setSid=function(e){r.Message.setField(this,1,e)},proto.BVCU.UserConfig.UserGroup.prototype.clearSid=function(){r.Message.setField(this,1,void 0)},proto.BVCU.UserConfig.UserGroup.prototype.hasSid=function(){return null!=r.Message.getField(this,1)},proto.BVCU.UserConfig.UserGroup.prototype.getSname=function(){return r.Message.getFieldWithDefault(this,2,\"\")},proto.BVCU.UserConfig.UserGroup.prototype.setSname=function(e){r.Message.setField(this,2,e)},proto.BVCU.UserConfig.UserGroup.prototype.clearSname=function(){r.Message.setField(this,2,void 0)},proto.BVCU.UserConfig.UserGroup.prototype.hasSname=function(){return null!=r.Message.getField(this,2)},proto.BVCU.UserConfig.UserGroup.prototype.getSparentid=function(){return r.Message.getFieldWithDefault(this,3,\"\")},proto.BVCU.UserConfig.UserGroup.prototype.setSparentid=function(e){r.Message.setField(this,3,e)},proto.BVCU.UserConfig.UserGroup.prototype.clearSparentid=function(){r.Message.setField(this,3,void 0)},proto.BVCU.UserConfig.UserGroup.prototype.hasSparentid=function(){return null!=r.Message.getField(this,3)},proto.BVCU.UserConfig.User=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.BVCU.UserConfig.User,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.UserConfig.User.displayName=\"proto.BVCU.UserConfig.User\"),r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.UserConfig.User.prototype.toObject=function(e){return proto.BVCU.UserConfig.User.toObject(e,this)},proto.BVCU.UserConfig.User.toObject=function(e,t){var o={sid:r.Message.getField(t,1),sgroupid:r.Message.getField(t,2),sname:r.Message.getField(t,3)};return e&&(o.$jspbMessageInstance=t),o}),proto.BVCU.UserConfig.User.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.UserConfig.User;return proto.BVCU.UserConfig.User.deserializeBinaryFromReader(o,t)},proto.BVCU.UserConfig.User.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readString();e.setSid(o);break;case 2:o=t.readString();e.setSgroupid(o);break;case 3:o=t.readString();e.setSname(o);break;default:t.skipField()}}return e},proto.BVCU.UserConfig.User.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.UserConfig.User.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.UserConfig.User.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeString(1,o),null!=(o=r.Message.getField(e,2))&&t.writeString(2,o),null!=(o=r.Message.getField(e,3))&&t.writeString(3,o)},proto.BVCU.UserConfig.User.prototype.getSid=function(){return r.Message.getFieldWithDefault(this,1,\"\")},proto.BVCU.UserConfig.User.prototype.setSid=function(e){r.Message.setField(this,1,e)},proto.BVCU.UserConfig.User.prototype.clearSid=function(){r.Message.setField(this,1,void 0)},proto.BVCU.UserConfig.User.prototype.hasSid=function(){return null!=r.Message.getField(this,1)},proto.BVCU.UserConfig.User.prototype.getSgroupid=function(){return r.Message.getFieldWithDefault(this,2,\"\")},proto.BVCU.UserConfig.User.prototype.setSgroupid=function(e){r.Message.setField(this,2,e)},proto.BVCU.UserConfig.User.prototype.clearSgroupid=function(){r.Message.setField(this,2,void 0)},proto.BVCU.UserConfig.User.prototype.hasSgroupid=function(){return null!=r.Message.getField(this,2)},proto.BVCU.UserConfig.User.prototype.getSname=function(){return r.Message.getFieldWithDefault(this,3,\"\")},proto.BVCU.UserConfig.User.prototype.setSname=function(e){r.Message.setField(this,3,e)},proto.BVCU.UserConfig.User.prototype.clearSname=function(){r.Message.setField(this,3,void 0)},proto.BVCU.UserConfig.User.prototype.hasSname=function(){return null!=r.Message.getField(this,3)},proto.BVCU.UserConfig.PUPermissions=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.BVCU.UserConfig.PUPermissions,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.UserConfig.PUPermissions.displayName=\"proto.BVCU.UserConfig.PUPermissions\"),r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.UserConfig.PUPermissions.prototype.toObject=function(e){return proto.BVCU.UserConfig.PUPermissions.toObject(e,this)},proto.BVCU.UserConfig.PUPermissions.toObject=function(e,t){var o={config:r.Message.getField(t,1),channel:t.getChannel_asB64()};return e&&(o.$jspbMessageInstance=t),o}),proto.BVCU.UserConfig.PUPermissions.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.UserConfig.PUPermissions;return proto.BVCU.UserConfig.PUPermissions.deserializeBinaryFromReader(o,t)},proto.BVCU.UserConfig.PUPermissions.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readUint32();e.setConfig(o);break;case 2:o=t.readBytes();e.setChannel(o);break;default:t.skipField()}}return e},proto.BVCU.UserConfig.PUPermissions.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.UserConfig.PUPermissions.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.UserConfig.PUPermissions.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeUint32(1,o),null!=(o=r.Message.getField(e,2))&&t.writeBytes(2,o)},proto.BVCU.UserConfig.PUPermissions.prototype.getConfig=function(){return r.Message.getFieldWithDefault(this,1,0)},proto.BVCU.UserConfig.PUPermissions.prototype.setConfig=function(e){r.Message.setField(this,1,e)},proto.BVCU.UserConfig.PUPermissions.prototype.clearConfig=function(){r.Message.setField(this,1,void 0)},proto.BVCU.UserConfig.PUPermissions.prototype.hasConfig=function(){return null!=r.Message.getField(this,1)},proto.BVCU.UserConfig.PUPermissions.prototype.getChannel=function(){return r.Message.getFieldWithDefault(this,2,\"\")},proto.BVCU.UserConfig.PUPermissions.prototype.getChannel_asB64=function(){return r.Message.bytesAsB64(this.getChannel())},proto.BVCU.UserConfig.PUPermissions.prototype.getChannel_asU8=function(){return r.Message.bytesAsU8(this.getChannel())},proto.BVCU.UserConfig.PUPermissions.prototype.setChannel=function(e){r.Message.setField(this,2,e)},proto.BVCU.UserConfig.PUPermissions.prototype.clearChannel=function(){r.Message.setField(this,2,void 0)},proto.BVCU.UserConfig.PUPermissions.prototype.hasChannel=function(){return null!=r.Message.getField(this,2)},proto.BVCU.UserConfig.Resource=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.BVCU.UserConfig.Resource,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.UserConfig.Resource.displayName=\"proto.BVCU.UserConfig.Resource\"),r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.UserConfig.Resource.prototype.toObject=function(e){return proto.BVCU.UserConfig.Resource.toObject(e,this)},proto.BVCU.UserConfig.Resource.toObject=function(e,t){var o,i={spuid:r.Message.getField(t,1),szpermissions:(o=t.getSzpermissions())&&proto.BVCU.UserConfig.PUPermissions.toObject(e,o)};return e&&(i.$jspbMessageInstance=t),i}),proto.BVCU.UserConfig.Resource.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.UserConfig.Resource;return proto.BVCU.UserConfig.Resource.deserializeBinaryFromReader(o,t)},proto.BVCU.UserConfig.Resource.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readString();e.setSpuid(o);break;case 2:o=new proto.BVCU.UserConfig.PUPermissions;t.readMessage(o,proto.BVCU.UserConfig.PUPermissions.deserializeBinaryFromReader),e.setSzpermissions(o);break;default:t.skipField()}}return e},proto.BVCU.UserConfig.Resource.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.UserConfig.Resource.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.UserConfig.Resource.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeString(1,o),null!=(o=e.getSzpermissions())&&t.writeMessage(2,o,proto.BVCU.UserConfig.PUPermissions.serializeBinaryToWriter)},proto.BVCU.UserConfig.Resource.prototype.getSpuid=function(){return r.Message.getFieldWithDefault(this,1,\"\")},proto.BVCU.UserConfig.Resource.prototype.setSpuid=function(e){r.Message.setField(this,1,e)},proto.BVCU.UserConfig.Resource.prototype.clearSpuid=function(){r.Message.setField(this,1,void 0)},proto.BVCU.UserConfig.Resource.prototype.hasSpuid=function(){return null!=r.Message.getField(this,1)},proto.BVCU.UserConfig.Resource.prototype.getSzpermissions=function(){return r.Message.getWrapperField(this,proto.BVCU.UserConfig.PUPermissions,2)},proto.BVCU.UserConfig.Resource.prototype.setSzpermissions=function(e){r.Message.setWrapperField(this,2,e)},proto.BVCU.UserConfig.Resource.prototype.clearSzpermissions=function(){this.setSzpermissions(void 0)},proto.BVCU.UserConfig.Resource.prototype.hasSzpermissions=function(){return null!=r.Message.getField(this,2)},proto.BVCU.UserConfig.UserGroupInfo=function(e){r.Message.initialize(this,e,0,-1,proto.BVCU.UserConfig.UserGroupInfo.repeatedFields_,null)},i.inherits(proto.BVCU.UserConfig.UserGroupInfo,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.UserConfig.UserGroupInfo.displayName=\"proto.BVCU.UserConfig.UserGroupInfo\"),proto.BVCU.UserConfig.UserGroupInfo.repeatedFields_=[5],r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.UserConfig.UserGroupInfo.prototype.toObject=function(e){return proto.BVCU.UserConfig.UserGroupInfo.toObject(e,this)},proto.BVCU.UserConfig.UserGroupInfo.toObject=function(e,t){var o={sid:r.Message.getField(t,1),sname:r.Message.getField(t,2),sparentid:r.Message.getField(t,3),sdescription:r.Message.getField(t,4),presourceList:r.Message.toObjectList(t.getPresourceList(),proto.BVCU.UserConfig.Resource.toObject,e)};return e&&(o.$jspbMessageInstance=t),o}),proto.BVCU.UserConfig.UserGroupInfo.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.UserConfig.UserGroupInfo;return proto.BVCU.UserConfig.UserGroupInfo.deserializeBinaryFromReader(o,t)},proto.BVCU.UserConfig.UserGroupInfo.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readString();e.setSid(o);break;case 2:o=t.readString();e.setSname(o);break;case 3:o=t.readString();e.setSparentid(o);break;case 4:o=t.readString();e.setSdescription(o);break;case 5:o=new proto.BVCU.UserConfig.Resource;t.readMessage(o,proto.BVCU.UserConfig.Resource.deserializeBinaryFromReader),e.addPresource(o);break;default:t.skipField()}}return e},proto.BVCU.UserConfig.UserGroupInfo.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.UserConfig.UserGroupInfo.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.UserConfig.UserGroupInfo.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeString(1,o),null!=(o=r.Message.getField(e,2))&&t.writeString(2,o),null!=(o=r.Message.getField(e,3))&&t.writeString(3,o),null!=(o=r.Message.getField(e,4))&&t.writeString(4,o),(o=e.getPresourceList()).length>0&&t.writeRepeatedMessage(5,o,proto.BVCU.UserConfig.Resource.serializeBinaryToWriter)},proto.BVCU.UserConfig.UserGroupInfo.prototype.getSid=function(){return r.Message.getFieldWithDefault(this,1,\"\")},proto.BVCU.UserConfig.UserGroupInfo.prototype.setSid=function(e){r.Message.setField(this,1,e)},proto.BVCU.UserConfig.UserGroupInfo.prototype.clearSid=function(){r.Message.setField(this,1,void 0)},proto.BVCU.UserConfig.UserGroupInfo.prototype.hasSid=function(){return null!=r.Message.getField(this,1)},proto.BVCU.UserConfig.UserGroupInfo.prototype.getSname=function(){return r.Message.getFieldWithDefault(this,2,\"\")},proto.BVCU.UserConfig.UserGroupInfo.prototype.setSname=function(e){r.Message.setField(this,2,e)},proto.BVCU.UserConfig.UserGroupInfo.prototype.clearSname=function(){r.Message.setField(this,2,void 0)},proto.BVCU.UserConfig.UserGroupInfo.prototype.hasSname=function(){return null!=r.Message.getField(this,2)},proto.BVCU.UserConfig.UserGroupInfo.prototype.getSparentid=function(){return r.Message.getFieldWithDefault(this,3,\"\")},proto.BVCU.UserConfig.UserGroupInfo.prototype.setSparentid=function(e){r.Message.setField(this,3,e)},proto.BVCU.UserConfig.UserGroupInfo.prototype.clearSparentid=function(){r.Message.setField(this,3,void 0)},proto.BVCU.UserConfig.UserGroupInfo.prototype.hasSparentid=function(){return null!=r.Message.getField(this,3)},proto.BVCU.UserConfig.UserGroupInfo.prototype.getSdescription=function(){return r.Message.getFieldWithDefault(this,4,\"\")},proto.BVCU.UserConfig.UserGroupInfo.prototype.setSdescription=function(e){r.Message.setField(this,4,e)},proto.BVCU.UserConfig.UserGroupInfo.prototype.clearSdescription=function(){r.Message.setField(this,4,void 0)},proto.BVCU.UserConfig.UserGroupInfo.prototype.hasSdescription=function(){return null!=r.Message.getField(this,4)},proto.BVCU.UserConfig.UserGroupInfo.prototype.getPresourceList=function(){return r.Message.getRepeatedWrapperField(this,proto.BVCU.UserConfig.Resource,5)},proto.BVCU.UserConfig.UserGroupInfo.prototype.setPresourceList=function(e){r.Message.setRepeatedWrapperField(this,5,e)},proto.BVCU.UserConfig.UserGroupInfo.prototype.addPresource=function(e,t){return r.Message.addToRepeatedWrapperField(this,5,e,proto.BVCU.UserConfig.Resource,t)},proto.BVCU.UserConfig.UserGroupInfo.prototype.clearPresourceList=function(){this.setPresourceList([])},proto.BVCU.UserConfig.UserInfo=function(e){r.Message.initialize(this,e,0,-1,proto.BVCU.UserConfig.UserInfo.repeatedFields_,null)},i.inherits(proto.BVCU.UserConfig.UserInfo,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.UserConfig.UserInfo.displayName=\"proto.BVCU.UserConfig.UserInfo\"),proto.BVCU.UserConfig.UserInfo.repeatedFields_=[11],r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.UserConfig.UserInfo.prototype.toObject=function(e){return proto.BVCU.UserConfig.UserInfo.toObject(e,this)},proto.BVCU.UserConfig.UserInfo.toObject=function(e,t){var o={sid:r.Message.getField(t,1),spasswd:t.getSpasswd_asB64(),isysadmin:r.Message.getField(t,3),iptz:r.Message.getField(t,12),sserverid:r.Message.getField(t,4),sgroupid:r.Message.getField(t,5),imaxsession:r.Message.getField(t,6),sallocateid:r.Message.getField(t,7),sname:r.Message.getField(t,8),sphone:r.Message.getField(t,9),semail:r.Message.getField(t,13),sdescription:r.Message.getField(t,10),presourceList:r.Message.toObjectList(t.getPresourceList(),proto.BVCU.UserConfig.Resource.toObject,e)};return e&&(o.$jspbMessageInstance=t),o}),proto.BVCU.UserConfig.UserInfo.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.UserConfig.UserInfo;return proto.BVCU.UserConfig.UserInfo.deserializeBinaryFromReader(o,t)},proto.BVCU.UserConfig.UserInfo.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readString();e.setSid(o);break;case 2:o=t.readBytes();e.setSpasswd(o);break;case 3:o=t.readUint32();e.setIsysadmin(o);break;case 12:o=t.readUint32();e.setIptz(o);break;case 4:o=t.readString();e.setSserverid(o);break;case 5:o=t.readString();e.setSgroupid(o);break;case 6:o=t.readUint32();e.setImaxsession(o);break;case 7:o=t.readString();e.setSallocateid(o);break;case 8:o=t.readString();e.setSname(o);break;case 9:o=t.readString();e.setSphone(o);break;case 13:o=t.readString();e.setSemail(o);break;case 10:o=t.readString();e.setSdescription(o);break;case 11:o=new proto.BVCU.UserConfig.Resource;t.readMessage(o,proto.BVCU.UserConfig.Resource.deserializeBinaryFromReader),e.addPresource(o);break;default:t.skipField()}}return e},proto.BVCU.UserConfig.UserInfo.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.UserConfig.UserInfo.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.UserConfig.UserInfo.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeString(1,o),null!=(o=r.Message.getField(e,2))&&t.writeBytes(2,o),null!=(o=r.Message.getField(e,3))&&t.writeUint32(3,o),null!=(o=r.Message.getField(e,12))&&t.writeUint32(12,o),null!=(o=r.Message.getField(e,4))&&t.writeString(4,o),null!=(o=r.Message.getField(e,5))&&t.writeString(5,o),null!=(o=r.Message.getField(e,6))&&t.writeUint32(6,o),null!=(o=r.Message.getField(e,7))&&t.writeString(7,o),null!=(o=r.Message.getField(e,8))&&t.writeString(8,o),null!=(o=r.Message.getField(e,9))&&t.writeString(9,o),null!=(o=r.Message.getField(e,13))&&t.writeString(13,o),null!=(o=r.Message.getField(e,10))&&t.writeString(10,o),(o=e.getPresourceList()).length>0&&t.writeRepeatedMessage(11,o,proto.BVCU.UserConfig.Resource.serializeBinaryToWriter)},proto.BVCU.UserConfig.UserInfo.prototype.getSid=function(){return r.Message.getFieldWithDefault(this,1,\"\")},proto.BVCU.UserConfig.UserInfo.prototype.setSid=function(e){r.Message.setField(this,1,e)},proto.BVCU.UserConfig.UserInfo.prototype.clearSid=function(){r.Message.setField(this,1,void 0)},proto.BVCU.UserConfig.UserInfo.prototype.hasSid=function(){return null!=r.Message.getField(this,1)},proto.BVCU.UserConfig.UserInfo.prototype.getSpasswd=function(){return r.Message.getFieldWithDefault(this,2,\"\")},proto.BVCU.UserConfig.UserInfo.prototype.getSpasswd_asB64=function(){return r.Message.bytesAsB64(this.getSpasswd())},proto.BVCU.UserConfig.UserInfo.prototype.getSpasswd_asU8=function(){return r.Message.bytesAsU8(this.getSpasswd())},proto.BVCU.UserConfig.UserInfo.prototype.setSpasswd=function(e){r.Message.setField(this,2,e)},proto.BVCU.UserConfig.UserInfo.prototype.clearSpasswd=function(){r.Message.setField(this,2,void 0)},proto.BVCU.UserConfig.UserInfo.prototype.hasSpasswd=function(){return null!=r.Message.getField(this,2)},proto.BVCU.UserConfig.UserInfo.prototype.getIsysadmin=function(){return r.Message.getFieldWithDefault(this,3,0)},proto.BVCU.UserConfig.UserInfo.prototype.setIsysadmin=function(e){r.Message.setField(this,3,e)},proto.BVCU.UserConfig.UserInfo.prototype.clearIsysadmin=function(){r.Message.setField(this,3,void 0)},proto.BVCU.UserConfig.UserInfo.prototype.hasIsysadmin=function(){return null!=r.Message.getField(this,3)},proto.BVCU.UserConfig.UserInfo.prototype.getIptz=function(){return r.Message.getFieldWithDefault(this,12,0)},proto.BVCU.UserConfig.UserInfo.prototype.setIptz=function(e){r.Message.setField(this,12,e)},proto.BVCU.UserConfig.UserInfo.prototype.clearIptz=function(){r.Message.setField(this,12,void 0)},proto.BVCU.UserConfig.UserInfo.prototype.hasIptz=function(){return null!=r.Message.getField(this,12)},proto.BVCU.UserConfig.UserInfo.prototype.getSserverid=function(){return r.Message.getFieldWithDefault(this,4,\"\")},proto.BVCU.UserConfig.UserInfo.prototype.setSserverid=function(e){r.Message.setField(this,4,e)},proto.BVCU.UserConfig.UserInfo.prototype.clearSserverid=function(){r.Message.setField(this,4,void 0)},proto.BVCU.UserConfig.UserInfo.prototype.hasSserverid=function(){return null!=r.Message.getField(this,4)},proto.BVCU.UserConfig.UserInfo.prototype.getSgroupid=function(){return r.Message.getFieldWithDefault(this,5,\"\")},proto.BVCU.UserConfig.UserInfo.prototype.setSgroupid=function(e){r.Message.setField(this,5,e)},proto.BVCU.UserConfig.UserInfo.prototype.clearSgroupid=function(){r.Message.setField(this,5,void 0)},proto.BVCU.UserConfig.UserInfo.prototype.hasSgroupid=function(){return null!=r.Message.getField(this,5)},proto.BVCU.UserConfig.UserInfo.prototype.getImaxsession=function(){return r.Message.getFieldWithDefault(this,6,0)},proto.BVCU.UserConfig.UserInfo.prototype.setImaxsession=function(e){r.Message.setField(this,6,e)},proto.BVCU.UserConfig.UserInfo.prototype.clearImaxsession=function(){r.Message.setField(this,6,void 0)},proto.BVCU.UserConfig.UserInfo.prototype.hasImaxsession=function(){return null!=r.Message.getField(this,6)},proto.BVCU.UserConfig.UserInfo.prototype.getSallocateid=function(){return r.Message.getFieldWithDefault(this,7,\"\")},proto.BVCU.UserConfig.UserInfo.prototype.setSallocateid=function(e){r.Message.setField(this,7,e)},proto.BVCU.UserConfig.UserInfo.prototype.clearSallocateid=function(){r.Message.setField(this,7,void 0)},proto.BVCU.UserConfig.UserInfo.prototype.hasSallocateid=function(){return null!=r.Message.getField(this,7)},proto.BVCU.UserConfig.UserInfo.prototype.getSname=function(){return r.Message.getFieldWithDefault(this,8,\"\")},proto.BVCU.UserConfig.UserInfo.prototype.setSname=function(e){r.Message.setField(this,8,e)},proto.BVCU.UserConfig.UserInfo.prototype.clearSname=function(){r.Message.setField(this,8,void 0)},proto.BVCU.UserConfig.UserInfo.prototype.hasSname=function(){return null!=r.Message.getField(this,8)},proto.BVCU.UserConfig.UserInfo.prototype.getSphone=function(){return r.Message.getFieldWithDefault(this,9,\"\")},proto.BVCU.UserConfig.UserInfo.prototype.setSphone=function(e){r.Message.setField(this,9,e)},proto.BVCU.UserConfig.UserInfo.prototype.clearSphone=function(){r.Message.setField(this,9,void 0)},proto.BVCU.UserConfig.UserInfo.prototype.hasSphone=function(){return null!=r.Message.getField(this,9)},proto.BVCU.UserConfig.UserInfo.prototype.getSemail=function(){return r.Message.getFieldWithDefault(this,13,\"\")},proto.BVCU.UserConfig.UserInfo.prototype.setSemail=function(e){r.Message.setField(this,13,e)},proto.BVCU.UserConfig.UserInfo.prototype.clearSemail=function(){r.Message.setField(this,13,void 0)},proto.BVCU.UserConfig.UserInfo.prototype.hasSemail=function(){return null!=r.Message.getField(this,13)},proto.BVCU.UserConfig.UserInfo.prototype.getSdescription=function(){return r.Message.getFieldWithDefault(this,10,\"\")},proto.BVCU.UserConfig.UserInfo.prototype.setSdescription=function(e){r.Message.setField(this,10,e)},proto.BVCU.UserConfig.UserInfo.prototype.clearSdescription=function(){r.Message.setField(this,10,void 0)},proto.BVCU.UserConfig.UserInfo.prototype.hasSdescription=function(){return null!=r.Message.getField(this,10)},proto.BVCU.UserConfig.UserInfo.prototype.getPresourceList=function(){return r.Message.getRepeatedWrapperField(this,proto.BVCU.UserConfig.Resource,11)},proto.BVCU.UserConfig.UserInfo.prototype.setPresourceList=function(e){r.Message.setRepeatedWrapperField(this,11,e)},proto.BVCU.UserConfig.UserInfo.prototype.addPresource=function(e,t){return r.Message.addToRepeatedWrapperField(this,11,e,proto.BVCU.UserConfig.Resource,t)},proto.BVCU.UserConfig.UserInfo.prototype.clearPresourceList=function(){this.setPresourceList([])},proto.BVCU.UserConfig.ModPassword=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.BVCU.UserConfig.ModPassword,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.UserConfig.ModPassword.displayName=\"proto.BVCU.UserConfig.ModPassword\"),r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.UserConfig.ModPassword.prototype.toObject=function(e){return proto.BVCU.UserConfig.ModPassword.toObject(e,this)},proto.BVCU.UserConfig.ModPassword.toObject=function(e,t){var o={sid:r.Message.getField(t,1),spassword:t.getSpassword_asB64(),snewpassword:t.getSnewpassword_asB64()};return e&&(o.$jspbMessageInstance=t),o}),proto.BVCU.UserConfig.ModPassword.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.UserConfig.ModPassword;return proto.BVCU.UserConfig.ModPassword.deserializeBinaryFromReader(o,t)},proto.BVCU.UserConfig.ModPassword.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readString();e.setSid(o);break;case 2:o=t.readBytes();e.setSpassword(o);break;case 3:o=t.readBytes();e.setSnewpassword(o);break;default:t.skipField()}}return e},proto.BVCU.UserConfig.ModPassword.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.UserConfig.ModPassword.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.UserConfig.ModPassword.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeString(1,o),null!=(o=r.Message.getField(e,2))&&t.writeBytes(2,o),null!=(o=r.Message.getField(e,3))&&t.writeBytes(3,o)},proto.BVCU.UserConfig.ModPassword.prototype.getSid=function(){return r.Message.getFieldWithDefault(this,1,\"\")},proto.BVCU.UserConfig.ModPassword.prototype.setSid=function(e){r.Message.setField(this,1,e)},proto.BVCU.UserConfig.ModPassword.prototype.clearSid=function(){r.Message.setField(this,1,void 0)},proto.BVCU.UserConfig.ModPassword.prototype.hasSid=function(){return null!=r.Message.getField(this,1)},proto.BVCU.UserConfig.ModPassword.prototype.getSpassword=function(){return r.Message.getFieldWithDefault(this,2,\"\")},proto.BVCU.UserConfig.ModPassword.prototype.getSpassword_asB64=function(){return r.Message.bytesAsB64(this.getSpassword())},proto.BVCU.UserConfig.ModPassword.prototype.getSpassword_asU8=function(){return r.Message.bytesAsU8(this.getSpassword())},proto.BVCU.UserConfig.ModPassword.prototype.setSpassword=function(e){r.Message.setField(this,2,e)},proto.BVCU.UserConfig.ModPassword.prototype.clearSpassword=function(){r.Message.setField(this,2,void 0)},proto.BVCU.UserConfig.ModPassword.prototype.hasSpassword=function(){return null!=r.Message.getField(this,2)},proto.BVCU.UserConfig.ModPassword.prototype.getSnewpassword=function(){return r.Message.getFieldWithDefault(this,3,\"\")},proto.BVCU.UserConfig.ModPassword.prototype.getSnewpassword_asB64=function(){return r.Message.bytesAsB64(this.getSnewpassword())},proto.BVCU.UserConfig.ModPassword.prototype.getSnewpassword_asU8=function(){return r.Message.bytesAsU8(this.getSnewpassword())},proto.BVCU.UserConfig.ModPassword.prototype.setSnewpassword=function(e){r.Message.setField(this,3,e)},proto.BVCU.UserConfig.ModPassword.prototype.clearSnewpassword=function(){r.Message.setField(this,3,void 0)},proto.BVCU.UserConfig.ModPassword.prototype.hasSnewpassword=function(){return null!=r.Message.getField(this,3)},proto.BVCU.UserConfig.UserOnline=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.BVCU.UserConfig.UserOnline,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.UserConfig.UserOnline.displayName=\"proto.BVCU.UserConfig.UserOnline\"),r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.UserConfig.UserOnline.prototype.toObject=function(e){return proto.BVCU.UserConfig.UserOnline.toObject(e,this)},proto.BVCU.UserConfig.UserOnline.toObject=function(e,t){var o,i={suserid:r.Message.getField(t,1),szdevid:r.Message.getField(t,2),szaddr:r.Message.getField(t,3),istatus:r.Message.getField(t,4),iapplierid:r.Message.getField(t,5),stlogintime:(o=t.getStlogintime())&&n.WallTime.toObject(e,o)};return e&&(i.$jspbMessageInstance=t),i}),proto.BVCU.UserConfig.UserOnline.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.UserConfig.UserOnline;return proto.BVCU.UserConfig.UserOnline.deserializeBinaryFromReader(o,t)},proto.BVCU.UserConfig.UserOnline.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readString();e.setSuserid(o);break;case 2:o=t.readString();e.setSzdevid(o);break;case 3:o=t.readString();e.setSzaddr(o);break;case 4:o=t.readUint32();e.setIstatus(o);break;case 5:o=t.readUint32();e.setIapplierid(o);break;case 6:o=new n.WallTime;t.readMessage(o,n.WallTime.deserializeBinaryFromReader),e.setStlogintime(o);break;default:t.skipField()}}return e},proto.BVCU.UserConfig.UserOnline.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.UserConfig.UserOnline.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.UserConfig.UserOnline.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeString(1,o),null!=(o=r.Message.getField(e,2))&&t.writeString(2,o),null!=(o=r.Message.getField(e,3))&&t.writeString(3,o),null!=(o=r.Message.getField(e,4))&&t.writeUint32(4,o),null!=(o=r.Message.getField(e,5))&&t.writeUint32(5,o),null!=(o=e.getStlogintime())&&t.writeMessage(6,o,n.WallTime.serializeBinaryToWriter)},proto.BVCU.UserConfig.UserOnline.prototype.getSuserid=function(){return r.Message.getFieldWithDefault(this,1,\"\")},proto.BVCU.UserConfig.UserOnline.prototype.setSuserid=function(e){r.Message.setField(this,1,e)},proto.BVCU.UserConfig.UserOnline.prototype.clearSuserid=function(){r.Message.setField(this,1,void 0)},proto.BVCU.UserConfig.UserOnline.prototype.hasSuserid=function(){return null!=r.Message.getField(this,1)},proto.BVCU.UserConfig.UserOnline.prototype.getSzdevid=function(){return r.Message.getFieldWithDefault(this,2,\"\")},proto.BVCU.UserConfig.UserOnline.prototype.setSzdevid=function(e){r.Message.setField(this,2,e)},proto.BVCU.UserConfig.UserOnline.prototype.clearSzdevid=function(){r.Message.setField(this,2,void 0)},proto.BVCU.UserConfig.UserOnline.prototype.hasSzdevid=function(){return null!=r.Message.getField(this,2)},proto.BVCU.UserConfig.UserOnline.prototype.getSzaddr=function(){return r.Message.getFieldWithDefault(this,3,\"\")},proto.BVCU.UserConfig.UserOnline.prototype.setSzaddr=function(e){r.Message.setField(this,3,e)},proto.BVCU.UserConfig.UserOnline.prototype.clearSzaddr=function(){r.Message.setField(this,3,void 0)},proto.BVCU.UserConfig.UserOnline.prototype.hasSzaddr=function(){return null!=r.Message.getField(this,3)},proto.BVCU.UserConfig.UserOnline.prototype.getIstatus=function(){return r.Message.getFieldWithDefault(this,4,0)},proto.BVCU.UserConfig.UserOnline.prototype.setIstatus=function(e){r.Message.setField(this,4,e)},proto.BVCU.UserConfig.UserOnline.prototype.clearIstatus=function(){r.Message.setField(this,4,void 0)},proto.BVCU.UserConfig.UserOnline.prototype.hasIstatus=function(){return null!=r.Message.getField(this,4)},proto.BVCU.UserConfig.UserOnline.prototype.getIapplierid=function(){return r.Message.getFieldWithDefault(this,5,0)},proto.BVCU.UserConfig.UserOnline.prototype.setIapplierid=function(e){r.Message.setField(this,5,e)},proto.BVCU.UserConfig.UserOnline.prototype.clearIapplierid=function(){r.Message.setField(this,5,void 0)},proto.BVCU.UserConfig.UserOnline.prototype.hasIapplierid=function(){return null!=r.Message.getField(this,5)},proto.BVCU.UserConfig.UserOnline.prototype.getStlogintime=function(){return r.Message.getWrapperField(this,n.WallTime,6)},proto.BVCU.UserConfig.UserOnline.prototype.setStlogintime=function(e){r.Message.setWrapperField(this,6,e)},proto.BVCU.UserConfig.UserOnline.prototype.clearStlogintime=function(){this.setStlogintime(void 0)},proto.BVCU.UserConfig.UserOnline.prototype.hasStlogintime=function(){return null!=r.Message.getField(this,6)},proto.BVCU.UserConfig.DialogChannel=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.BVCU.UserConfig.DialogChannel,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.UserConfig.DialogChannel.displayName=\"proto.BVCU.UserConfig.DialogChannel\"),r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.UserConfig.DialogChannel.prototype.toObject=function(e){return proto.BVCU.UserConfig.DialogChannel.toObject(e,this)},proto.BVCU.UserConfig.DialogChannel.toObject=function(e,t){var o={ichannelindex:r.Message.getField(t,1),istreamindex:r.Message.getField(t,2),iavstreamdir:r.Message.getField(t,3)};return e&&(o.$jspbMessageInstance=t),o}),proto.BVCU.UserConfig.DialogChannel.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.UserConfig.DialogChannel;return proto.BVCU.UserConfig.DialogChannel.deserializeBinaryFromReader(o,t)},proto.BVCU.UserConfig.DialogChannel.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readUint32();e.setIchannelindex(o);break;case 2:o=t.readInt32();e.setIstreamindex(o);break;case 3:o=t.readUint32();e.setIavstreamdir(o);break;default:t.skipField()}}return e},proto.BVCU.UserConfig.DialogChannel.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.UserConfig.DialogChannel.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.UserConfig.DialogChannel.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeUint32(1,o),null!=(o=r.Message.getField(e,2))&&t.writeInt32(2,o),null!=(o=r.Message.getField(e,3))&&t.writeUint32(3,o)},proto.BVCU.UserConfig.DialogChannel.prototype.getIchannelindex=function(){return r.Message.getFieldWithDefault(this,1,0)},proto.BVCU.UserConfig.DialogChannel.prototype.setIchannelindex=function(e){r.Message.setField(this,1,e)},proto.BVCU.UserConfig.DialogChannel.prototype.clearIchannelindex=function(){r.Message.setField(this,1,void 0)},proto.BVCU.UserConfig.DialogChannel.prototype.hasIchannelindex=function(){return null!=r.Message.getField(this,1)},proto.BVCU.UserConfig.DialogChannel.prototype.getIstreamindex=function(){return r.Message.getFieldWithDefault(this,2,0)},proto.BVCU.UserConfig.DialogChannel.prototype.setIstreamindex=function(e){r.Message.setField(this,2,e)},proto.BVCU.UserConfig.DialogChannel.prototype.clearIstreamindex=function(){r.Message.setField(this,2,void 0)},proto.BVCU.UserConfig.DialogChannel.prototype.hasIstreamindex=function(){return null!=r.Message.getField(this,2)},proto.BVCU.UserConfig.DialogChannel.prototype.getIavstreamdir=function(){return r.Message.getFieldWithDefault(this,3,0)},proto.BVCU.UserConfig.DialogChannel.prototype.setIavstreamdir=function(e){r.Message.setField(this,3,e)},proto.BVCU.UserConfig.DialogChannel.prototype.clearIavstreamdir=function(){r.Message.setField(this,3,void 0)},proto.BVCU.UserConfig.DialogChannel.prototype.hasIavstreamdir=function(){return null!=r.Message.getField(this,3)},proto.BVCU.UserConfig.DialogPU=function(e){r.Message.initialize(this,e,0,-1,proto.BVCU.UserConfig.DialogPU.repeatedFields_,null)},i.inherits(proto.BVCU.UserConfig.DialogPU,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.UserConfig.DialogPU.displayName=\"proto.BVCU.UserConfig.DialogPU\"),proto.BVCU.UserConfig.DialogPU.repeatedFields_=[2],r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.UserConfig.DialogPU.prototype.toObject=function(e){return proto.BVCU.UserConfig.DialogPU.toObject(e,this)},proto.BVCU.UserConfig.DialogPU.toObject=function(e,t){var o={szid:r.Message.getField(t,1),pdialogList:r.Message.toObjectList(t.getPdialogList(),proto.BVCU.UserConfig.DialogChannel.toObject,e)};return e&&(o.$jspbMessageInstance=t),o}),proto.BVCU.UserConfig.DialogPU.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.UserConfig.DialogPU;return proto.BVCU.UserConfig.DialogPU.deserializeBinaryFromReader(o,t)},proto.BVCU.UserConfig.DialogPU.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readString();e.setSzid(o);break;case 2:o=new proto.BVCU.UserConfig.DialogChannel;t.readMessage(o,proto.BVCU.UserConfig.DialogChannel.deserializeBinaryFromReader),e.addPdialog(o);break;default:t.skipField()}}return e},proto.BVCU.UserConfig.DialogPU.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.UserConfig.DialogPU.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.UserConfig.DialogPU.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeString(1,o),(o=e.getPdialogList()).length>0&&t.writeRepeatedMessage(2,o,proto.BVCU.UserConfig.DialogChannel.serializeBinaryToWriter)},proto.BVCU.UserConfig.DialogPU.prototype.getSzid=function(){return r.Message.getFieldWithDefault(this,1,\"\")},proto.BVCU.UserConfig.DialogPU.prototype.setSzid=function(e){r.Message.setField(this,1,e)},proto.BVCU.UserConfig.DialogPU.prototype.clearSzid=function(){r.Message.setField(this,1,void 0)},proto.BVCU.UserConfig.DialogPU.prototype.hasSzid=function(){return null!=r.Message.getField(this,1)},proto.BVCU.UserConfig.DialogPU.prototype.getPdialogList=function(){return r.Message.getRepeatedWrapperField(this,proto.BVCU.UserConfig.DialogChannel,2)},proto.BVCU.UserConfig.DialogPU.prototype.setPdialogList=function(e){r.Message.setRepeatedWrapperField(this,2,e)},proto.BVCU.UserConfig.DialogPU.prototype.addPdialog=function(e,t){return r.Message.addToRepeatedWrapperField(this,2,e,proto.BVCU.UserConfig.DialogChannel,t)},proto.BVCU.UserConfig.DialogPU.prototype.clearPdialogList=function(){this.setPdialogList([])},proto.BVCU.UserConfig.UserOnlineInfo=function(e){r.Message.initialize(this,e,0,-1,proto.BVCU.UserConfig.UserOnlineInfo.repeatedFields_,null)},i.inherits(proto.BVCU.UserConfig.UserOnlineInfo,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.UserConfig.UserOnlineInfo.displayName=\"proto.BVCU.UserConfig.UserOnlineInfo\"),proto.BVCU.UserConfig.UserOnlineInfo.repeatedFields_=[2],r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.UserConfig.UserOnlineInfo.prototype.toObject=function(e){return proto.BVCU.UserConfig.UserOnlineInfo.toObject(e,this)},proto.BVCU.UserConfig.UserOnlineInfo.toObject=function(e,t){var o,i={stbase:(o=t.getStbase())&&proto.BVCU.UserConfig.UserOnline.toObject(e,o),ppudialogList:r.Message.toObjectList(t.getPpudialogList(),proto.BVCU.UserConfig.DialogPU.toObject,e)};return e&&(i.$jspbMessageInstance=t),i}),proto.BVCU.UserConfig.UserOnlineInfo.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.UserConfig.UserOnlineInfo;return proto.BVCU.UserConfig.UserOnlineInfo.deserializeBinaryFromReader(o,t)},proto.BVCU.UserConfig.UserOnlineInfo.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=new proto.BVCU.UserConfig.UserOnline;t.readMessage(o,proto.BVCU.UserConfig.UserOnline.deserializeBinaryFromReader),e.setStbase(o);break;case 2:o=new proto.BVCU.UserConfig.DialogPU;t.readMessage(o,proto.BVCU.UserConfig.DialogPU.deserializeBinaryFromReader),e.addPpudialog(o);break;default:t.skipField()}}return e},proto.BVCU.UserConfig.UserOnlineInfo.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.UserConfig.UserOnlineInfo.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.UserConfig.UserOnlineInfo.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=e.getStbase())&&t.writeMessage(1,o,proto.BVCU.UserConfig.UserOnline.serializeBinaryToWriter),(o=e.getPpudialogList()).length>0&&t.writeRepeatedMessage(2,o,proto.BVCU.UserConfig.DialogPU.serializeBinaryToWriter)},proto.BVCU.UserConfig.UserOnlineInfo.prototype.getStbase=function(){return r.Message.getWrapperField(this,proto.BVCU.UserConfig.UserOnline,1)},proto.BVCU.UserConfig.UserOnlineInfo.prototype.setStbase=function(e){r.Message.setWrapperField(this,1,e)},proto.BVCU.UserConfig.UserOnlineInfo.prototype.clearStbase=function(){this.setStbase(void 0)},proto.BVCU.UserConfig.UserOnlineInfo.prototype.hasStbase=function(){return null!=r.Message.getField(this,1)},proto.BVCU.UserConfig.UserOnlineInfo.prototype.getPpudialogList=function(){return r.Message.getRepeatedWrapperField(this,proto.BVCU.UserConfig.DialogPU,2)},proto.BVCU.UserConfig.UserOnlineInfo.prototype.setPpudialogList=function(e){r.Message.setRepeatedWrapperField(this,2,e)},proto.BVCU.UserConfig.UserOnlineInfo.prototype.addPpudialog=function(e,t){return r.Message.addToRepeatedWrapperField(this,2,e,proto.BVCU.UserConfig.DialogPU,t)},proto.BVCU.UserConfig.UserOnlineInfo.prototype.clearPpudialogList=function(){this.setPpudialogList([])},proto.BVCU.UserConfig.Kickout=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.BVCU.UserConfig.Kickout,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.UserConfig.Kickout.displayName=\"proto.BVCU.UserConfig.Kickout\"),r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.UserConfig.Kickout.prototype.toObject=function(e){return proto.BVCU.UserConfig.Kickout.toObject(e,this)},proto.BVCU.UserConfig.Kickout.toObject=function(e,t){var o={ireason:r.Message.getField(t,1),sztargetid:r.Message.getField(t,2),szdevid:r.Message.getField(t,3),itargetapplierid:r.Message.getField(t,4),szsourceid:r.Message.getField(t,5),szaddr:r.Message.getField(t,6)};return e&&(o.$jspbMessageInstance=t),o}),proto.BVCU.UserConfig.Kickout.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.UserConfig.Kickout;return proto.BVCU.UserConfig.Kickout.deserializeBinaryFromReader(o,t)},proto.BVCU.UserConfig.Kickout.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readUint32();e.setIreason(o);break;case 2:o=t.readString();e.setSztargetid(o);break;case 3:o=t.readString();e.setSzdevid(o);break;case 4:o=t.readUint32();e.setItargetapplierid(o);break;case 5:o=t.readString();e.setSzsourceid(o);break;case 6:o=t.readString();e.setSzaddr(o);break;default:t.skipField()}}return e},proto.BVCU.UserConfig.Kickout.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.UserConfig.Kickout.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.UserConfig.Kickout.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeUint32(1,o),null!=(o=r.Message.getField(e,2))&&t.writeString(2,o),null!=(o=r.Message.getField(e,3))&&t.writeString(3,o),null!=(o=r.Message.getField(e,4))&&t.writeUint32(4,o),null!=(o=r.Message.getField(e,5))&&t.writeString(5,o),null!=(o=r.Message.getField(e,6))&&t.writeString(6,o)},proto.BVCU.UserConfig.Kickout.prototype.getIreason=function(){return r.Message.getFieldWithDefault(this,1,0)},proto.BVCU.UserConfig.Kickout.prototype.setIreason=function(e){r.Message.setField(this,1,e)},proto.BVCU.UserConfig.Kickout.prototype.clearIreason=function(){r.Message.setField(this,1,void 0)},proto.BVCU.UserConfig.Kickout.prototype.hasIreason=function(){return null!=r.Message.getField(this,1)},proto.BVCU.UserConfig.Kickout.prototype.getSztargetid=function(){return r.Message.getFieldWithDefault(this,2,\"\")},proto.BVCU.UserConfig.Kickout.prototype.setSztargetid=function(e){r.Message.setField(this,2,e)},proto.BVCU.UserConfig.Kickout.prototype.clearSztargetid=function(){r.Message.setField(this,2,void 0)},proto.BVCU.UserConfig.Kickout.prototype.hasSztargetid=function(){return null!=r.Message.getField(this,2)},proto.BVCU.UserConfig.Kickout.prototype.getSzdevid=function(){return r.Message.getFieldWithDefault(this,3,\"\")},proto.BVCU.UserConfig.Kickout.prototype.setSzdevid=function(e){r.Message.setField(this,3,e)},proto.BVCU.UserConfig.Kickout.prototype.clearSzdevid=function(){r.Message.setField(this,3,void 0)},proto.BVCU.UserConfig.Kickout.prototype.hasSzdevid=function(){return null!=r.Message.getField(this,3)},proto.BVCU.UserConfig.Kickout.prototype.getItargetapplierid=function(){return r.Message.getFieldWithDefault(this,4,0)},proto.BVCU.UserConfig.Kickout.prototype.setItargetapplierid=function(e){r.Message.setField(this,4,e)},proto.BVCU.UserConfig.Kickout.prototype.clearItargetapplierid=function(){r.Message.setField(this,4,void 0)},proto.BVCU.UserConfig.Kickout.prototype.hasItargetapplierid=function(){return null!=r.Message.getField(this,4)},proto.BVCU.UserConfig.Kickout.prototype.getSzsourceid=function(){return r.Message.getFieldWithDefault(this,5,\"\")},proto.BVCU.UserConfig.Kickout.prototype.setSzsourceid=function(e){r.Message.setField(this,5,e)},proto.BVCU.UserConfig.Kickout.prototype.clearSzsourceid=function(){r.Message.setField(this,5,void 0)},proto.BVCU.UserConfig.Kickout.prototype.hasSzsourceid=function(){return null!=r.Message.getField(this,5)},proto.BVCU.UserConfig.Kickout.prototype.getSzaddr=function(){return r.Message.getFieldWithDefault(this,6,\"\")},proto.BVCU.UserConfig.Kickout.prototype.setSzaddr=function(e){r.Message.setField(this,6,e)},proto.BVCU.UserConfig.Kickout.prototype.clearSzaddr=function(){r.Message.setField(this,6,void 0)},proto.BVCU.UserConfig.Kickout.prototype.hasSzaddr=function(){return null!=r.Message.getField(this,6)},i.object.extend(t,proto.BVCU.UserConfig)},function(e,t,o){var r=o(0),i=r,s=Function(\"return this\")(),n=o(1),a=o(4),p=o(7),g=o(2);i.exportSymbol(\"proto.BVCU.Search.SearchInfo\",null,s),i.exportSymbol(\"proto.BVCU.Search.Search_CULoginLog\",null,s),i.exportSymbol(\"proto.BVCU.Search.Search_DialogLog\",null,s),i.exportSymbol(\"proto.BVCU.Search.Search_EventFilter\",null,s),i.exportSymbol(\"proto.BVCU.Search.Search_FileFilter\",null,s),i.exportSymbol(\"proto.BVCU.Search.Search_FileInfo\",null,s),i.exportSymbol(\"proto.BVCU.Search.Search_IMMsg\",null,s),i.exportSymbol(\"proto.BVCU.Search.Search_IMMsgFilter\",null,s),i.exportSymbol(\"proto.BVCU.Search.Search_OperateLog\",null,s),i.exportSymbol(\"proto.BVCU.Search.Search_PUList\",null,s),i.exportSymbol(\"proto.BVCU.Search.Search_PUListFilter\",null,s),i.exportSymbol(\"proto.BVCU.Search.Search_PULoginLog\",null,s),i.exportSymbol(\"proto.BVCU.Search.Search_Request\",null,s),i.exportSymbol(\"proto.BVCU.Search.Search_Response\",null,s),i.exportSymbol(\"proto.BVCU.Search.Search_UAInfo\",null,s),i.exportSymbol(\"proto.BVCU.Search.Search_UAListFilter\",null,s),i.exportSymbol(\"proto.BVCU.Search.Search_UserFilter\",null,s),proto.BVCU.Search.SearchInfo=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.BVCU.Search.SearchInfo,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.Search.SearchInfo.displayName=\"proto.BVCU.Search.SearchInfo\"),r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.Search.SearchInfo.prototype.toObject=function(e){return proto.BVCU.Search.SearchInfo.toObject(e,this)},proto.BVCU.Search.SearchInfo.toObject=function(e,t){var o={itype:r.Message.getField(t,1),ipostition:r.Message.getField(t,2),icount:r.Message.getField(t,3),itotalcount:r.Message.getField(t,4)};return e&&(o.$jspbMessageInstance=t),o}),proto.BVCU.Search.SearchInfo.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.Search.SearchInfo;return proto.BVCU.Search.SearchInfo.deserializeBinaryFromReader(o,t)},proto.BVCU.Search.SearchInfo.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readUint32();e.setItype(o);break;case 2:o=t.readUint32();e.setIpostition(o);break;case 3:o=t.readUint32();e.setIcount(o);break;case 4:o=t.readUint32();e.setItotalcount(o);break;default:t.skipField()}}return e},proto.BVCU.Search.SearchInfo.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.Search.SearchInfo.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.Search.SearchInfo.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeUint32(1,o),null!=(o=r.Message.getField(e,2))&&t.writeUint32(2,o),null!=(o=r.Message.getField(e,3))&&t.writeUint32(3,o),null!=(o=r.Message.getField(e,4))&&t.writeUint32(4,o)},proto.BVCU.Search.SearchInfo.prototype.getItype=function(){return r.Message.getFieldWithDefault(this,1,0)},proto.BVCU.Search.SearchInfo.prototype.setItype=function(e){r.Message.setField(this,1,e)},proto.BVCU.Search.SearchInfo.prototype.clearItype=function(){r.Message.setField(this,1,void 0)},proto.BVCU.Search.SearchInfo.prototype.hasItype=function(){return null!=r.Message.getField(this,1)},proto.BVCU.Search.SearchInfo.prototype.getIpostition=function(){return r.Message.getFieldWithDefault(this,2,0)},proto.BVCU.Search.SearchInfo.prototype.setIpostition=function(e){r.Message.setField(this,2,e)},proto.BVCU.Search.SearchInfo.prototype.clearIpostition=function(){r.Message.setField(this,2,void 0)},proto.BVCU.Search.SearchInfo.prototype.hasIpostition=function(){return null!=r.Message.getField(this,2)},proto.BVCU.Search.SearchInfo.prototype.getIcount=function(){return r.Message.getFieldWithDefault(this,3,0)},proto.BVCU.Search.SearchInfo.prototype.setIcount=function(e){r.Message.setField(this,3,e)},proto.BVCU.Search.SearchInfo.prototype.clearIcount=function(){r.Message.setField(this,3,void 0)},proto.BVCU.Search.SearchInfo.prototype.hasIcount=function(){return null!=r.Message.getField(this,3)},proto.BVCU.Search.SearchInfo.prototype.getItotalcount=function(){return r.Message.getFieldWithDefault(this,4,0)},proto.BVCU.Search.SearchInfo.prototype.setItotalcount=function(e){r.Message.setField(this,4,e)},proto.BVCU.Search.SearchInfo.prototype.clearItotalcount=function(){r.Message.setField(this,4,void 0)},proto.BVCU.Search.SearchInfo.prototype.hasItotalcount=function(){return null!=r.Message.getField(this,4)},proto.BVCU.Search.Search_FileFilter=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.BVCU.Search.Search_FileFilter,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.Search.Search_FileFilter.displayName=\"proto.BVCU.Search.Search_FileFilter\"),r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.Search.Search_FileFilter.prototype.toObject=function(e){return proto.BVCU.Search.Search_FileFilter.toObject(e,this)},proto.BVCU.Search.Search_FileFilter.toObject=function(e,t){var o={szpuid:r.Message.getField(t,1),ichannelindex:r.Message.getField(t,2),ifilesizemin:r.Message.getField(t,3),ifilesizemax:r.Message.getField(t,4),irecordtype:r.Message.getField(t,5),ifiletype:r.Message.getField(t,6),itimecondition:r.Message.getField(t,12),itimebegin:r.Message.getField(t,7),itimeend:r.Message.getField(t,8),szfilename:r.Message.getField(t,9),szdesc1:r.Message.getField(t,10),szdesc2:r.Message.getField(t,11),szuserid:r.Message.getField(t,13)};return e&&(o.$jspbMessageInstance=t),o}),proto.BVCU.Search.Search_FileFilter.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.Search.Search_FileFilter;return proto.BVCU.Search.Search_FileFilter.deserializeBinaryFromReader(o,t)},proto.BVCU.Search.Search_FileFilter.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readString();e.setSzpuid(o);break;case 2:o=t.readUint32();e.setIchannelindex(o);break;case 3:o=t.readUint32();e.setIfilesizemin(o);break;case 4:o=t.readUint32();e.setIfilesizemax(o);break;case 5:o=t.readUint32();e.setIrecordtype(o);break;case 6:o=t.readUint32();e.setIfiletype(o);break;case 12:o=t.readUint32();e.setItimecondition(o);break;case 7:o=t.readUint64();e.setItimebegin(o);break;case 8:o=t.readUint64();e.setItimeend(o);break;case 9:o=t.readString();e.setSzfilename(o);break;case 10:o=t.readString();e.setSzdesc1(o);break;case 11:o=t.readString();e.setSzdesc2(o);break;case 13:o=t.readString();e.setSzuserid(o);break;default:t.skipField()}}return e},proto.BVCU.Search.Search_FileFilter.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.Search.Search_FileFilter.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.Search.Search_FileFilter.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeString(1,o),null!=(o=r.Message.getField(e,2))&&t.writeUint32(2,o),null!=(o=r.Message.getField(e,3))&&t.writeUint32(3,o),null!=(o=r.Message.getField(e,4))&&t.writeUint32(4,o),null!=(o=r.Message.getField(e,5))&&t.writeUint32(5,o),null!=(o=r.Message.getField(e,6))&&t.writeUint32(6,o),null!=(o=r.Message.getField(e,12))&&t.writeUint32(12,o),null!=(o=r.Message.getField(e,7))&&t.writeUint64(7,o),null!=(o=r.Message.getField(e,8))&&t.writeUint64(8,o),null!=(o=r.Message.getField(e,9))&&t.writeString(9,o),null!=(o=r.Message.getField(e,10))&&t.writeString(10,o),null!=(o=r.Message.getField(e,11))&&t.writeString(11,o),null!=(o=r.Message.getField(e,13))&&t.writeString(13,o)},proto.BVCU.Search.Search_FileFilter.prototype.getSzpuid=function(){return r.Message.getFieldWithDefault(this,1,\"\")},proto.BVCU.Search.Search_FileFilter.prototype.setSzpuid=function(e){r.Message.setField(this,1,e)},proto.BVCU.Search.Search_FileFilter.prototype.clearSzpuid=function(){r.Message.setField(this,1,void 0)},proto.BVCU.Search.Search_FileFilter.prototype.hasSzpuid=function(){return null!=r.Message.getField(this,1)},proto.BVCU.Search.Search_FileFilter.prototype.getIchannelindex=function(){return r.Message.getFieldWithDefault(this,2,0)},proto.BVCU.Search.Search_FileFilter.prototype.setIchannelindex=function(e){r.Message.setField(this,2,e)},proto.BVCU.Search.Search_FileFilter.prototype.clearIchannelindex=function(){r.Message.setField(this,2,void 0)},proto.BVCU.Search.Search_FileFilter.prototype.hasIchannelindex=function(){return null!=r.Message.getField(this,2)},proto.BVCU.Search.Search_FileFilter.prototype.getIfilesizemin=function(){return r.Message.getFieldWithDefault(this,3,0)},proto.BVCU.Search.Search_FileFilter.prototype.setIfilesizemin=function(e){r.Message.setField(this,3,e)},proto.BVCU.Search.Search_FileFilter.prototype.clearIfilesizemin=function(){r.Message.setField(this,3,void 0)},proto.BVCU.Search.Search_FileFilter.prototype.hasIfilesizemin=function(){return null!=r.Message.getField(this,3)},proto.BVCU.Search.Search_FileFilter.prototype.getIfilesizemax=function(){return r.Message.getFieldWithDefault(this,4,0)},proto.BVCU.Search.Search_FileFilter.prototype.setIfilesizemax=function(e){r.Message.setField(this,4,e)},proto.BVCU.Search.Search_FileFilter.prototype.clearIfilesizemax=function(){r.Message.setField(this,4,void 0)},proto.BVCU.Search.Search_FileFilter.prototype.hasIfilesizemax=function(){return null!=r.Message.getField(this,4)},proto.BVCU.Search.Search_FileFilter.prototype.getIrecordtype=function(){return r.Message.getFieldWithDefault(this,5,0)},proto.BVCU.Search.Search_FileFilter.prototype.setIrecordtype=function(e){r.Message.setField(this,5,e)},proto.BVCU.Search.Search_FileFilter.prototype.clearIrecordtype=function(){r.Message.setField(this,5,void 0)},proto.BVCU.Search.Search_FileFilter.prototype.hasIrecordtype=function(){return null!=r.Message.getField(this,5)},proto.BVCU.Search.Search_FileFilter.prototype.getIfiletype=function(){return r.Message.getFieldWithDefault(this,6,0)},proto.BVCU.Search.Search_FileFilter.prototype.setIfiletype=function(e){r.Message.setField(this,6,e)},proto.BVCU.Search.Search_FileFilter.prototype.clearIfiletype=function(){r.Message.setField(this,6,void 0)},proto.BVCU.Search.Search_FileFilter.prototype.hasIfiletype=function(){return null!=r.Message.getField(this,6)},proto.BVCU.Search.Search_FileFilter.prototype.getItimecondition=function(){return r.Message.getFieldWithDefault(this,12,0)},proto.BVCU.Search.Search_FileFilter.prototype.setItimecondition=function(e){r.Message.setField(this,12,e)},proto.BVCU.Search.Search_FileFilter.prototype.clearItimecondition=function(){r.Message.setField(this,12,void 0)},proto.BVCU.Search.Search_FileFilter.prototype.hasItimecondition=function(){return null!=r.Message.getField(this,12)},proto.BVCU.Search.Search_FileFilter.prototype.getItimebegin=function(){return r.Message.getFieldWithDefault(this,7,0)},proto.BVCU.Search.Search_FileFilter.prototype.setItimebegin=function(e){r.Message.setField(this,7,e)},proto.BVCU.Search.Search_FileFilter.prototype.clearItimebegin=function(){r.Message.setField(this,7,void 0)},proto.BVCU.Search.Search_FileFilter.prototype.hasItimebegin=function(){return null!=r.Message.getField(this,7)},proto.BVCU.Search.Search_FileFilter.prototype.getItimeend=function(){return r.Message.getFieldWithDefault(this,8,0)},proto.BVCU.Search.Search_FileFilter.prototype.setItimeend=function(e){r.Message.setField(this,8,e)},proto.BVCU.Search.Search_FileFilter.prototype.clearItimeend=function(){r.Message.setField(this,8,void 0)},proto.BVCU.Search.Search_FileFilter.prototype.hasItimeend=function(){return null!=r.Message.getField(this,8)},proto.BVCU.Search.Search_FileFilter.prototype.getSzfilename=function(){return r.Message.getFieldWithDefault(this,9,\"\")},proto.BVCU.Search.Search_FileFilter.prototype.setSzfilename=function(e){r.Message.setField(this,9,e)},proto.BVCU.Search.Search_FileFilter.prototype.clearSzfilename=function(){r.Message.setField(this,9,void 0)},proto.BVCU.Search.Search_FileFilter.prototype.hasSzfilename=function(){return null!=r.Message.getField(this,9)},proto.BVCU.Search.Search_FileFilter.prototype.getSzdesc1=function(){return r.Message.getFieldWithDefault(this,10,\"\")},proto.BVCU.Search.Search_FileFilter.prototype.setSzdesc1=function(e){r.Message.setField(this,10,e)},proto.BVCU.Search.Search_FileFilter.prototype.clearSzdesc1=function(){r.Message.setField(this,10,void 0)},proto.BVCU.Search.Search_FileFilter.prototype.hasSzdesc1=function(){return null!=r.Message.getField(this,10)},proto.BVCU.Search.Search_FileFilter.prototype.getSzdesc2=function(){return r.Message.getFieldWithDefault(this,11,\"\")},proto.BVCU.Search.Search_FileFilter.prototype.setSzdesc2=function(e){r.Message.setField(this,11,e)},proto.BVCU.Search.Search_FileFilter.prototype.clearSzdesc2=function(){r.Message.setField(this,11,void 0)},proto.BVCU.Search.Search_FileFilter.prototype.hasSzdesc2=function(){return null!=r.Message.getField(this,11)},proto.BVCU.Search.Search_FileFilter.prototype.getSzuserid=function(){return r.Message.getFieldWithDefault(this,13,\"\")},proto.BVCU.Search.Search_FileFilter.prototype.setSzuserid=function(e){r.Message.setField(this,13,e)},proto.BVCU.Search.Search_FileFilter.prototype.clearSzuserid=function(){r.Message.setField(this,13,void 0)},proto.BVCU.Search.Search_FileFilter.prototype.hasSzuserid=function(){return null!=r.Message.getField(this,13)},proto.BVCU.Search.Search_FileInfo=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.BVCU.Search.Search_FileInfo,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.Search.Search_FileInfo.displayName=\"proto.BVCU.Search.Search_FileInfo\"),r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.Search.Search_FileInfo.prototype.toObject=function(e){return proto.BVCU.Search.Search_FileInfo.toObject(e,this)},proto.BVCU.Search.Search_FileInfo.toObject=function(e,t){var o={szfilepath:r.Message.getField(t,1),irecordtype:r.Message.getField(t,2),ifiletype:r.Message.getField(t,3),ifilesize:r.Message.getField(t,4),irecordid:r.Message.getField(t,9),itimebegin:r.Message.getField(t,5),itimeend:r.Message.getField(t,6),itimerecord:r.Message.getField(t,10),szdesc1:r.Message.getField(t,7),szdesc2:r.Message.getField(t,8),szsourceid:r.Message.getField(t,11)};return e&&(o.$jspbMessageInstance=t),o}),proto.BVCU.Search.Search_FileInfo.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.Search.Search_FileInfo;return proto.BVCU.Search.Search_FileInfo.deserializeBinaryFromReader(o,t)},proto.BVCU.Search.Search_FileInfo.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readString();e.setSzfilepath(o);break;case 2:o=t.readUint32();e.setIrecordtype(o);break;case 3:o=t.readUint32();e.setIfiletype(o);break;case 4:o=t.readUint32();e.setIfilesize(o);break;case 9:o=t.readUint32();e.setIrecordid(o);break;case 5:o=t.readUint64();e.setItimebegin(o);break;case 6:o=t.readUint64();e.setItimeend(o);break;case 10:o=t.readUint64();e.setItimerecord(o);break;case 7:o=t.readString();e.setSzdesc1(o);break;case 8:o=t.readString();e.setSzdesc2(o);break;case 11:o=t.readString();e.setSzsourceid(o);break;default:t.skipField()}}return e},proto.BVCU.Search.Search_FileInfo.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.Search.Search_FileInfo.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.Search.Search_FileInfo.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeString(1,o),null!=(o=r.Message.getField(e,2))&&t.writeUint32(2,o),null!=(o=r.Message.getField(e,3))&&t.writeUint32(3,o),null!=(o=r.Message.getField(e,4))&&t.writeUint32(4,o),null!=(o=r.Message.getField(e,9))&&t.writeUint32(9,o),null!=(o=r.Message.getField(e,5))&&t.writeUint64(5,o),null!=(o=r.Message.getField(e,6))&&t.writeUint64(6,o),null!=(o=r.Message.getField(e,10))&&t.writeUint64(10,o),null!=(o=r.Message.getField(e,7))&&t.writeString(7,o),null!=(o=r.Message.getField(e,8))&&t.writeString(8,o),null!=(o=r.Message.getField(e,11))&&t.writeString(11,o)},proto.BVCU.Search.Search_FileInfo.prototype.getSzfilepath=function(){return r.Message.getFieldWithDefault(this,1,\"\")},proto.BVCU.Search.Search_FileInfo.prototype.setSzfilepath=function(e){r.Message.setField(this,1,e)},proto.BVCU.Search.Search_FileInfo.prototype.clearSzfilepath=function(){r.Message.setField(this,1,void 0)},proto.BVCU.Search.Search_FileInfo.prototype.hasSzfilepath=function(){return null!=r.Message.getField(this,1)},proto.BVCU.Search.Search_FileInfo.prototype.getIrecordtype=function(){return r.Message.getFieldWithDefault(this,2,0)},proto.BVCU.Search.Search_FileInfo.prototype.setIrecordtype=function(e){r.Message.setField(this,2,e)},proto.BVCU.Search.Search_FileInfo.prototype.clearIrecordtype=function(){r.Message.setField(this,2,void 0)},proto.BVCU.Search.Search_FileInfo.prototype.hasIrecordtype=function(){return null!=r.Message.getField(this,2)},proto.BVCU.Search.Search_FileInfo.prototype.getIfiletype=function(){return r.Message.getFieldWithDefault(this,3,0)},proto.BVCU.Search.Search_FileInfo.prototype.setIfiletype=function(e){r.Message.setField(this,3,e)},proto.BVCU.Search.Search_FileInfo.prototype.clearIfiletype=function(){r.Message.setField(this,3,void 0)},proto.BVCU.Search.Search_FileInfo.prototype.hasIfiletype=function(){return null!=r.Message.getField(this,3)},proto.BVCU.Search.Search_FileInfo.prototype.getIfilesize=function(){return r.Message.getFieldWithDefault(this,4,0)},proto.BVCU.Search.Search_FileInfo.prototype.setIfilesize=function(e){r.Message.setField(this,4,e)},proto.BVCU.Search.Search_FileInfo.prototype.clearIfilesize=function(){r.Message.setField(this,4,void 0)},proto.BVCU.Search.Search_FileInfo.prototype.hasIfilesize=function(){return null!=r.Message.getField(this,4)},proto.BVCU.Search.Search_FileInfo.prototype.getIrecordid=function(){return r.Message.getFieldWithDefault(this,9,0)},proto.BVCU.Search.Search_FileInfo.prototype.setIrecordid=function(e){r.Message.setField(this,9,e)},proto.BVCU.Search.Search_FileInfo.prototype.clearIrecordid=function(){r.Message.setField(this,9,void 0)},proto.BVCU.Search.Search_FileInfo.prototype.hasIrecordid=function(){return null!=r.Message.getField(this,9)},proto.BVCU.Search.Search_FileInfo.prototype.getItimebegin=function(){return r.Message.getFieldWithDefault(this,5,0)},proto.BVCU.Search.Search_FileInfo.prototype.setItimebegin=function(e){r.Message.setField(this,5,e)},proto.BVCU.Search.Search_FileInfo.prototype.clearItimebegin=function(){r.Message.setField(this,5,void 0)},proto.BVCU.Search.Search_FileInfo.prototype.hasItimebegin=function(){return null!=r.Message.getField(this,5)},proto.BVCU.Search.Search_FileInfo.prototype.getItimeend=function(){return r.Message.getFieldWithDefault(this,6,0)},proto.BVCU.Search.Search_FileInfo.prototype.setItimeend=function(e){r.Message.setField(this,6,e)},proto.BVCU.Search.Search_FileInfo.prototype.clearItimeend=function(){r.Message.setField(this,6,void 0)},proto.BVCU.Search.Search_FileInfo.prototype.hasItimeend=function(){return null!=r.Message.getField(this,6)},proto.BVCU.Search.Search_FileInfo.prototype.getItimerecord=function(){return r.Message.getFieldWithDefault(this,10,0)},proto.BVCU.Search.Search_FileInfo.prototype.setItimerecord=function(e){r.Message.setField(this,10,e)},proto.BVCU.Search.Search_FileInfo.prototype.clearItimerecord=function(){r.Message.setField(this,10,void 0)},proto.BVCU.Search.Search_FileInfo.prototype.hasItimerecord=function(){return null!=r.Message.getField(this,10)},proto.BVCU.Search.Search_FileInfo.prototype.getSzdesc1=function(){return r.Message.getFieldWithDefault(this,7,\"\")},proto.BVCU.Search.Search_FileInfo.prototype.setSzdesc1=function(e){r.Message.setField(this,7,e)},proto.BVCU.Search.Search_FileInfo.prototype.clearSzdesc1=function(){r.Message.setField(this,7,void 0)},proto.BVCU.Search.Search_FileInfo.prototype.hasSzdesc1=function(){return null!=r.Message.getField(this,7)},proto.BVCU.Search.Search_FileInfo.prototype.getSzdesc2=function(){return r.Message.getFieldWithDefault(this,8,\"\")},proto.BVCU.Search.Search_FileInfo.prototype.setSzdesc2=function(e){r.Message.setField(this,8,e)},proto.BVCU.Search.Search_FileInfo.prototype.clearSzdesc2=function(){r.Message.setField(this,8,void 0)},proto.BVCU.Search.Search_FileInfo.prototype.hasSzdesc2=function(){return null!=r.Message.getField(this,8)},proto.BVCU.Search.Search_FileInfo.prototype.getSzsourceid=function(){return r.Message.getFieldWithDefault(this,11,\"\")},proto.BVCU.Search.Search_FileInfo.prototype.setSzsourceid=function(e){r.Message.setField(this,11,e)},proto.BVCU.Search.Search_FileInfo.prototype.clearSzsourceid=function(){r.Message.setField(this,11,void 0)},proto.BVCU.Search.Search_FileInfo.prototype.hasSzsourceid=function(){return null!=r.Message.getField(this,11)},proto.BVCU.Search.Search_CULoginLog=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.BVCU.Search.Search_CULoginLog,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.Search.Search_CULoginLog.displayName=\"proto.BVCU.Search.Search_CULoginLog\"),r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.Search.Search_CULoginLog.prototype.toObject=function(e){return proto.BVCU.Search.Search_CULoginLog.toObject(e,this)},proto.BVCU.Search.Search_CULoginLog.toObject=function(e,t){var o={szcuid:r.Message.getField(t,1),szusername:r.Message.getField(t,2),szip:r.Message.getField(t,3),iport:r.Message.getField(t,4),iapplierid:r.Message.getField(t,5),ionlinetime:r.Message.getField(t,6),iofflinetime:r.Message.getField(t,7),iduration:r.Message.getField(t,8),itotalduration:r.Message.getField(t,9)};return e&&(o.$jspbMessageInstance=t),o}),proto.BVCU.Search.Search_CULoginLog.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.Search.Search_CULoginLog;return proto.BVCU.Search.Search_CULoginLog.deserializeBinaryFromReader(o,t)},proto.BVCU.Search.Search_CULoginLog.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readString();e.setSzcuid(o);break;case 2:o=t.readString();e.setSzusername(o);break;case 3:o=t.readString();e.setSzip(o);break;case 4:o=t.readUint32();e.setIport(o);break;case 5:o=t.readUint32();e.setIapplierid(o);break;case 6:o=t.readUint64();e.setIonlinetime(o);break;case 7:o=t.readUint64();e.setIofflinetime(o);break;case 8:o=t.readUint32();e.setIduration(o);break;case 9:o=t.readUint32();e.setItotalduration(o);break;default:t.skipField()}}return e},proto.BVCU.Search.Search_CULoginLog.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.Search.Search_CULoginLog.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.Search.Search_CULoginLog.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeString(1,o),null!=(o=r.Message.getField(e,2))&&t.writeString(2,o),null!=(o=r.Message.getField(e,3))&&t.writeString(3,o),null!=(o=r.Message.getField(e,4))&&t.writeUint32(4,o),null!=(o=r.Message.getField(e,5))&&t.writeUint32(5,o),null!=(o=r.Message.getField(e,6))&&t.writeUint64(6,o),null!=(o=r.Message.getField(e,7))&&t.writeUint64(7,o),null!=(o=r.Message.getField(e,8))&&t.writeUint32(8,o),null!=(o=r.Message.getField(e,9))&&t.writeUint32(9,o)},proto.BVCU.Search.Search_CULoginLog.prototype.getSzcuid=function(){return r.Message.getFieldWithDefault(this,1,\"\")},proto.BVCU.Search.Search_CULoginLog.prototype.setSzcuid=function(e){r.Message.setField(this,1,e)},proto.BVCU.Search.Search_CULoginLog.prototype.clearSzcuid=function(){r.Message.setField(this,1,void 0)},proto.BVCU.Search.Search_CULoginLog.prototype.hasSzcuid=function(){return null!=r.Message.getField(this,1)},proto.BVCU.Search.Search_CULoginLog.prototype.getSzusername=function(){return r.Message.getFieldWithDefault(this,2,\"\")},proto.BVCU.Search.Search_CULoginLog.prototype.setSzusername=function(e){r.Message.setField(this,2,e)},proto.BVCU.Search.Search_CULoginLog.prototype.clearSzusername=function(){r.Message.setField(this,2,void 0)},proto.BVCU.Search.Search_CULoginLog.prototype.hasSzusername=function(){return null!=r.Message.getField(this,2)},proto.BVCU.Search.Search_CULoginLog.prototype.getSzip=function(){return r.Message.getFieldWithDefault(this,3,\"\")},proto.BVCU.Search.Search_CULoginLog.prototype.setSzip=function(e){r.Message.setField(this,3,e)},proto.BVCU.Search.Search_CULoginLog.prototype.clearSzip=function(){r.Message.setField(this,3,void 0)},proto.BVCU.Search.Search_CULoginLog.prototype.hasSzip=function(){return null!=r.Message.getField(this,3)},proto.BVCU.Search.Search_CULoginLog.prototype.getIport=function(){return r.Message.getFieldWithDefault(this,4,0)},proto.BVCU.Search.Search_CULoginLog.prototype.setIport=function(e){r.Message.setField(this,4,e)},proto.BVCU.Search.Search_CULoginLog.prototype.clearIport=function(){r.Message.setField(this,4,void 0)},proto.BVCU.Search.Search_CULoginLog.prototype.hasIport=function(){return null!=r.Message.getField(this,4)},proto.BVCU.Search.Search_CULoginLog.prototype.getIapplierid=function(){return r.Message.getFieldWithDefault(this,5,0)},proto.BVCU.Search.Search_CULoginLog.prototype.setIapplierid=function(e){r.Message.setField(this,5,e)},proto.BVCU.Search.Search_CULoginLog.prototype.clearIapplierid=function(){r.Message.setField(this,5,void 0)},proto.BVCU.Search.Search_CULoginLog.prototype.hasIapplierid=function(){return null!=r.Message.getField(this,5)},proto.BVCU.Search.Search_CULoginLog.prototype.getIonlinetime=function(){return r.Message.getFieldWithDefault(this,6,0)},proto.BVCU.Search.Search_CULoginLog.prototype.setIonlinetime=function(e){r.Message.setField(this,6,e)},proto.BVCU.Search.Search_CULoginLog.prototype.clearIonlinetime=function(){r.Message.setField(this,6,void 0)},proto.BVCU.Search.Search_CULoginLog.prototype.hasIonlinetime=function(){return null!=r.Message.getField(this,6)},proto.BVCU.Search.Search_CULoginLog.prototype.getIofflinetime=function(){return r.Message.getFieldWithDefault(this,7,0)},proto.BVCU.Search.Search_CULoginLog.prototype.setIofflinetime=function(e){r.Message.setField(this,7,e)},proto.BVCU.Search.Search_CULoginLog.prototype.clearIofflinetime=function(){r.Message.setField(this,7,void 0)},proto.BVCU.Search.Search_CULoginLog.prototype.hasIofflinetime=function(){return null!=r.Message.getField(this,7)},proto.BVCU.Search.Search_CULoginLog.prototype.getIduration=function(){return r.Message.getFieldWithDefault(this,8,0)},proto.BVCU.Search.Search_CULoginLog.prototype.setIduration=function(e){r.Message.setField(this,8,e)},proto.BVCU.Search.Search_CULoginLog.prototype.clearIduration=function(){r.Message.setField(this,8,void 0)},proto.BVCU.Search.Search_CULoginLog.prototype.hasIduration=function(){return null!=r.Message.getField(this,8)},proto.BVCU.Search.Search_CULoginLog.prototype.getItotalduration=function(){return r.Message.getFieldWithDefault(this,9,0)},proto.BVCU.Search.Search_CULoginLog.prototype.setItotalduration=function(e){r.Message.setField(this,9,e)},proto.BVCU.Search.Search_CULoginLog.prototype.clearItotalduration=function(){r.Message.setField(this,9,void 0)},proto.BVCU.Search.Search_CULoginLog.prototype.hasItotalduration=function(){return null!=r.Message.getField(this,9)},proto.BVCU.Search.Search_PULoginLog=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.BVCU.Search.Search_PULoginLog,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.Search.Search_PULoginLog.displayName=\"proto.BVCU.Search.Search_PULoginLog\"),r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.Search.Search_PULoginLog.prototype.toObject=function(e){return proto.BVCU.Search.Search_PULoginLog.toObject(e,this)},proto.BVCU.Search.Search_PULoginLog.toObject=function(e,t){var o={szpuid:r.Message.getField(t,1),szip:r.Message.getField(t,2),iport:r.Message.getField(t,3),iapplierid:r.Message.getField(t,4),ionlinetime:r.Message.getField(t,5),iofflinetime:r.Message.getField(t,6),iduration:r.Message.getField(t,7),itotalduration:r.Message.getField(t,8)};return e&&(o.$jspbMessageInstance=t),o}),proto.BVCU.Search.Search_PULoginLog.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.Search.Search_PULoginLog;return proto.BVCU.Search.Search_PULoginLog.deserializeBinaryFromReader(o,t)},proto.BVCU.Search.Search_PULoginLog.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readString();e.setSzpuid(o);break;case 2:o=t.readString();e.setSzip(o);break;case 3:o=t.readUint32();e.setIport(o);break;case 4:o=t.readUint32();e.setIapplierid(o);break;case 5:o=t.readUint64();e.setIonlinetime(o);break;case 6:o=t.readUint64();e.setIofflinetime(o);break;case 7:o=t.readUint32();e.setIduration(o);break;case 8:o=t.readUint32();e.setItotalduration(o);break;default:t.skipField()}}return e},proto.BVCU.Search.Search_PULoginLog.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.Search.Search_PULoginLog.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.Search.Search_PULoginLog.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeString(1,o),null!=(o=r.Message.getField(e,2))&&t.writeString(2,o),null!=(o=r.Message.getField(e,3))&&t.writeUint32(3,o),null!=(o=r.Message.getField(e,4))&&t.writeUint32(4,o),null!=(o=r.Message.getField(e,5))&&t.writeUint64(5,o),null!=(o=r.Message.getField(e,6))&&t.writeUint64(6,o),null!=(o=r.Message.getField(e,7))&&t.writeUint32(7,o),null!=(o=r.Message.getField(e,8))&&t.writeUint32(8,o)},proto.BVCU.Search.Search_PULoginLog.prototype.getSzpuid=function(){return r.Message.getFieldWithDefault(this,1,\"\")},proto.BVCU.Search.Search_PULoginLog.prototype.setSzpuid=function(e){r.Message.setField(this,1,e)},proto.BVCU.Search.Search_PULoginLog.prototype.clearSzpuid=function(){r.Message.setField(this,1,void 0)},proto.BVCU.Search.Search_PULoginLog.prototype.hasSzpuid=function(){return null!=r.Message.getField(this,1)},proto.BVCU.Search.Search_PULoginLog.prototype.getSzip=function(){return r.Message.getFieldWithDefault(this,2,\"\")},proto.BVCU.Search.Search_PULoginLog.prototype.setSzip=function(e){r.Message.setField(this,2,e)},proto.BVCU.Search.Search_PULoginLog.prototype.clearSzip=function(){r.Message.setField(this,2,void 0)},proto.BVCU.Search.Search_PULoginLog.prototype.hasSzip=function(){return null!=r.Message.getField(this,2)},proto.BVCU.Search.Search_PULoginLog.prototype.getIport=function(){return r.Message.getFieldWithDefault(this,3,0)},proto.BVCU.Search.Search_PULoginLog.prototype.setIport=function(e){r.Message.setField(this,3,e)},proto.BVCU.Search.Search_PULoginLog.prototype.clearIport=function(){r.Message.setField(this,3,void 0)},proto.BVCU.Search.Search_PULoginLog.prototype.hasIport=function(){return null!=r.Message.getField(this,3)},proto.BVCU.Search.Search_PULoginLog.prototype.getIapplierid=function(){return r.Message.getFieldWithDefault(this,4,0)},proto.BVCU.Search.Search_PULoginLog.prototype.setIapplierid=function(e){r.Message.setField(this,4,e)},proto.BVCU.Search.Search_PULoginLog.prototype.clearIapplierid=function(){r.Message.setField(this,4,void 0)},proto.BVCU.Search.Search_PULoginLog.prototype.hasIapplierid=function(){return null!=r.Message.getField(this,4)},proto.BVCU.Search.Search_PULoginLog.prototype.getIonlinetime=function(){return r.Message.getFieldWithDefault(this,5,0)},proto.BVCU.Search.Search_PULoginLog.prototype.setIonlinetime=function(e){r.Message.setField(this,5,e)},proto.BVCU.Search.Search_PULoginLog.prototype.clearIonlinetime=function(){r.Message.setField(this,5,void 0)},proto.BVCU.Search.Search_PULoginLog.prototype.hasIonlinetime=function(){return null!=r.Message.getField(this,5)},proto.BVCU.Search.Search_PULoginLog.prototype.getIofflinetime=function(){return r.Message.getFieldWithDefault(this,6,0)},proto.BVCU.Search.Search_PULoginLog.prototype.setIofflinetime=function(e){r.Message.setField(this,6,e)},proto.BVCU.Search.Search_PULoginLog.prototype.clearIofflinetime=function(){r.Message.setField(this,6,void 0)},proto.BVCU.Search.Search_PULoginLog.prototype.hasIofflinetime=function(){return null!=r.Message.getField(this,6)},proto.BVCU.Search.Search_PULoginLog.prototype.getIduration=function(){return r.Message.getFieldWithDefault(this,7,0)},proto.BVCU.Search.Search_PULoginLog.prototype.setIduration=function(e){r.Message.setField(this,7,e)},proto.BVCU.Search.Search_PULoginLog.prototype.clearIduration=function(){r.Message.setField(this,7,void 0)},proto.BVCU.Search.Search_PULoginLog.prototype.hasIduration=function(){return null!=r.Message.getField(this,7)},proto.BVCU.Search.Search_PULoginLog.prototype.getItotalduration=function(){return r.Message.getFieldWithDefault(this,8,0)},proto.BVCU.Search.Search_PULoginLog.prototype.setItotalduration=function(e){r.Message.setField(this,8,e)},proto.BVCU.Search.Search_PULoginLog.prototype.clearItotalduration=function(){r.Message.setField(this,8,void 0)},proto.BVCU.Search.Search_PULoginLog.prototype.hasItotalduration=function(){return null!=r.Message.getField(this,8)},proto.BVCU.Search.Search_OperateLog=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.BVCU.Search.Search_OperateLog,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.Search.Search_OperateLog.displayName=\"proto.BVCU.Search.Search_OperateLog\"),r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.Search.Search_OperateLog.prototype.toObject=function(e){return proto.BVCU.Search.Search_OperateLog.toObject(e,this)},proto.BVCU.Search.Search_OperateLog.toObject=function(e,t){var o={imethod:r.Message.getField(t,1),isubmethod:r.Message.getField(t,2),szsourceid:r.Message.getField(t,3),szusername:r.Message.getField(t,4),iapplierid:r.Message.getField(t,5),sztargetid:r.Message.getField(t,6),itargetindex:r.Message.getField(t,7),ioperatetime:r.Message.getField(t,8),itimeend:r.Message.getField(t,9),iresult:r.Message.getField(t,10),szdescription:r.Message.getField(t,11)};return e&&(o.$jspbMessageInstance=t),o}),proto.BVCU.Search.Search_OperateLog.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.Search.Search_OperateLog;return proto.BVCU.Search.Search_OperateLog.deserializeBinaryFromReader(o,t)},proto.BVCU.Search.Search_OperateLog.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readUint32();e.setImethod(o);break;case 2:o=t.readUint32();e.setIsubmethod(o);break;case 3:o=t.readString();e.setSzsourceid(o);break;case 4:o=t.readString();e.setSzusername(o);break;case 5:o=t.readUint32();e.setIapplierid(o);break;case 6:o=t.readString();e.setSztargetid(o);break;case 7:o=t.readUint32();e.setItargetindex(o);break;case 8:o=t.readUint64();e.setIoperatetime(o);break;case 9:o=t.readUint64();e.setItimeend(o);break;case 10:o=t.readUint32();e.setIresult(o);break;case 11:o=t.readString();e.setSzdescription(o);break;default:t.skipField()}}return e},proto.BVCU.Search.Search_OperateLog.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.Search.Search_OperateLog.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.Search.Search_OperateLog.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeUint32(1,o),null!=(o=r.Message.getField(e,2))&&t.writeUint32(2,o),null!=(o=r.Message.getField(e,3))&&t.writeString(3,o),null!=(o=r.Message.getField(e,4))&&t.writeString(4,o),null!=(o=r.Message.getField(e,5))&&t.writeUint32(5,o),null!=(o=r.Message.getField(e,6))&&t.writeString(6,o),null!=(o=r.Message.getField(e,7))&&t.writeUint32(7,o),null!=(o=r.Message.getField(e,8))&&t.writeUint64(8,o),null!=(o=r.Message.getField(e,9))&&t.writeUint64(9,o),null!=(o=r.Message.getField(e,10))&&t.writeUint32(10,o),null!=(o=r.Message.getField(e,11))&&t.writeString(11,o)},proto.BVCU.Search.Search_OperateLog.prototype.getImethod=function(){return r.Message.getFieldWithDefault(this,1,0)},proto.BVCU.Search.Search_OperateLog.prototype.setImethod=function(e){r.Message.setField(this,1,e)},proto.BVCU.Search.Search_OperateLog.prototype.clearImethod=function(){r.Message.setField(this,1,void 0)},proto.BVCU.Search.Search_OperateLog.prototype.hasImethod=function(){return null!=r.Message.getField(this,1)},proto.BVCU.Search.Search_OperateLog.prototype.getIsubmethod=function(){return r.Message.getFieldWithDefault(this,2,0)},proto.BVCU.Search.Search_OperateLog.prototype.setIsubmethod=function(e){r.Message.setField(this,2,e)},proto.BVCU.Search.Search_OperateLog.prototype.clearIsubmethod=function(){r.Message.setField(this,2,void 0)},proto.BVCU.Search.Search_OperateLog.prototype.hasIsubmethod=function(){return null!=r.Message.getField(this,2)},proto.BVCU.Search.Search_OperateLog.prototype.getSzsourceid=function(){return r.Message.getFieldWithDefault(this,3,\"\")},proto.BVCU.Search.Search_OperateLog.prototype.setSzsourceid=function(e){r.Message.setField(this,3,e)},proto.BVCU.Search.Search_OperateLog.prototype.clearSzsourceid=function(){r.Message.setField(this,3,void 0)},proto.BVCU.Search.Search_OperateLog.prototype.hasSzsourceid=function(){return null!=r.Message.getField(this,3)},proto.BVCU.Search.Search_OperateLog.prototype.getSzusername=function(){return r.Message.getFieldWithDefault(this,4,\"\")},proto.BVCU.Search.Search_OperateLog.prototype.setSzusername=function(e){r.Message.setField(this,4,e)},proto.BVCU.Search.Search_OperateLog.prototype.clearSzusername=function(){r.Message.setField(this,4,void 0)},proto.BVCU.Search.Search_OperateLog.prototype.hasSzusername=function(){return null!=r.Message.getField(this,4)},proto.BVCU.Search.Search_OperateLog.prototype.getIapplierid=function(){return r.Message.getFieldWithDefault(this,5,0)},proto.BVCU.Search.Search_OperateLog.prototype.setIapplierid=function(e){r.Message.setField(this,5,e)},proto.BVCU.Search.Search_OperateLog.prototype.clearIapplierid=function(){r.Message.setField(this,5,void 0)},proto.BVCU.Search.Search_OperateLog.prototype.hasIapplierid=function(){return null!=r.Message.getField(this,5)},proto.BVCU.Search.Search_OperateLog.prototype.getSztargetid=function(){return r.Message.getFieldWithDefault(this,6,\"\")},proto.BVCU.Search.Search_OperateLog.prototype.setSztargetid=function(e){r.Message.setField(this,6,e)},proto.BVCU.Search.Search_OperateLog.prototype.clearSztargetid=function(){r.Message.setField(this,6,void 0)},proto.BVCU.Search.Search_OperateLog.prototype.hasSztargetid=function(){return null!=r.Message.getField(this,6)},proto.BVCU.Search.Search_OperateLog.prototype.getItargetindex=function(){return r.Message.getFieldWithDefault(this,7,0)},proto.BVCU.Search.Search_OperateLog.prototype.setItargetindex=function(e){r.Message.setField(this,7,e)},proto.BVCU.Search.Search_OperateLog.prototype.clearItargetindex=function(){r.Message.setField(this,7,void 0)},proto.BVCU.Search.Search_OperateLog.prototype.hasItargetindex=function(){return null!=r.Message.getField(this,7)},proto.BVCU.Search.Search_OperateLog.prototype.getIoperatetime=function(){return r.Message.getFieldWithDefault(this,8,0)},proto.BVCU.Search.Search_OperateLog.prototype.setIoperatetime=function(e){r.Message.setField(this,8,e)},proto.BVCU.Search.Search_OperateLog.prototype.clearIoperatetime=function(){r.Message.setField(this,8,void 0)},proto.BVCU.Search.Search_OperateLog.prototype.hasIoperatetime=function(){return null!=r.Message.getField(this,8)},proto.BVCU.Search.Search_OperateLog.prototype.getItimeend=function(){return r.Message.getFieldWithDefault(this,9,0)},proto.BVCU.Search.Search_OperateLog.prototype.setItimeend=function(e){r.Message.setField(this,9,e)},proto.BVCU.Search.Search_OperateLog.prototype.clearItimeend=function(){r.Message.setField(this,9,void 0)},proto.BVCU.Search.Search_OperateLog.prototype.hasItimeend=function(){return null!=r.Message.getField(this,9)},proto.BVCU.Search.Search_OperateLog.prototype.getIresult=function(){return r.Message.getFieldWithDefault(this,10,0)},proto.BVCU.Search.Search_OperateLog.prototype.setIresult=function(e){r.Message.setField(this,10,e)},proto.BVCU.Search.Search_OperateLog.prototype.clearIresult=function(){r.Message.setField(this,10,void 0)},proto.BVCU.Search.Search_OperateLog.prototype.hasIresult=function(){return null!=r.Message.getField(this,10)},proto.BVCU.Search.Search_OperateLog.prototype.getSzdescription=function(){return r.Message.getFieldWithDefault(this,11,\"\")},proto.BVCU.Search.Search_OperateLog.prototype.setSzdescription=function(e){r.Message.setField(this,11,e)},proto.BVCU.Search.Search_OperateLog.prototype.clearSzdescription=function(){r.Message.setField(this,11,void 0)},proto.BVCU.Search.Search_OperateLog.prototype.hasSzdescription=function(){return null!=r.Message.getField(this,11)},proto.BVCU.Search.Search_DialogLog=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.BVCU.Search.Search_DialogLog,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.Search.Search_DialogLog.displayName=\"proto.BVCU.Search.Search_DialogLog\"),r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.Search.Search_DialogLog.prototype.toObject=function(e){return proto.BVCU.Search.Search_DialogLog.toObject(e,this)},proto.BVCU.Search.Search_DialogLog.toObject=function(e,t){var o={szpuid:r.Message.getField(t,1),ichannelindex:r.Message.getField(t,2),imediadir:r.Message.getField(t,3),szsourceid:r.Message.getField(t,4),szusername:r.Message.getField(t,5),iapplierid:r.Message.getField(t,6),iopentime:r.Message.getField(t,7),iclosetime:r.Message.getField(t,8),iduration:r.Message.getField(t,9),icupuduration:r.Message.getField(t,10)};return e&&(o.$jspbMessageInstance=t),o}),proto.BVCU.Search.Search_DialogLog.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.Search.Search_DialogLog;return proto.BVCU.Search.Search_DialogLog.deserializeBinaryFromReader(o,t)},proto.BVCU.Search.Search_DialogLog.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readString();e.setSzpuid(o);break;case 2:o=t.readUint32();e.setIchannelindex(o);break;case 3:o=t.readUint32();e.setImediadir(o);break;case 4:o=t.readString();e.setSzsourceid(o);break;case 5:o=t.readString();e.setSzusername(o);break;case 6:o=t.readUint32();e.setIapplierid(o);break;case 7:o=t.readUint64();e.setIopentime(o);break;case 8:o=t.readUint64();e.setIclosetime(o);break;case 9:o=t.readUint32();e.setIduration(o);break;case 10:o=t.readUint32();e.setIcupuduration(o);break;default:t.skipField()}}return e},proto.BVCU.Search.Search_DialogLog.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.Search.Search_DialogLog.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.Search.Search_DialogLog.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeString(1,o),null!=(o=r.Message.getField(e,2))&&t.writeUint32(2,o),null!=(o=r.Message.getField(e,3))&&t.writeUint32(3,o),null!=(o=r.Message.getField(e,4))&&t.writeString(4,o),null!=(o=r.Message.getField(e,5))&&t.writeString(5,o),null!=(o=r.Message.getField(e,6))&&t.writeUint32(6,o),null!=(o=r.Message.getField(e,7))&&t.writeUint64(7,o),null!=(o=r.Message.getField(e,8))&&t.writeUint64(8,o),null!=(o=r.Message.getField(e,9))&&t.writeUint32(9,o),null!=(o=r.Message.getField(e,10))&&t.writeUint32(10,o)},proto.BVCU.Search.Search_DialogLog.prototype.getSzpuid=function(){return r.Message.getFieldWithDefault(this,1,\"\")},proto.BVCU.Search.Search_DialogLog.prototype.setSzpuid=function(e){r.Message.setField(this,1,e)},proto.BVCU.Search.Search_DialogLog.prototype.clearSzpuid=function(){r.Message.setField(this,1,void 0)},proto.BVCU.Search.Search_DialogLog.prototype.hasSzpuid=function(){return null!=r.Message.getField(this,1)},proto.BVCU.Search.Search_DialogLog.prototype.getIchannelindex=function(){return r.Message.getFieldWithDefault(this,2,0)},proto.BVCU.Search.Search_DialogLog.prototype.setIchannelindex=function(e){r.Message.setField(this,2,e)},proto.BVCU.Search.Search_DialogLog.prototype.clearIchannelindex=function(){r.Message.setField(this,2,void 0)},proto.BVCU.Search.Search_DialogLog.prototype.hasIchannelindex=function(){return null!=r.Message.getField(this,2)},proto.BVCU.Search.Search_DialogLog.prototype.getImediadir=function(){return r.Message.getFieldWithDefault(this,3,0)},proto.BVCU.Search.Search_DialogLog.prototype.setImediadir=function(e){r.Message.setField(this,3,e)},proto.BVCU.Search.Search_DialogLog.prototype.clearImediadir=function(){r.Message.setField(this,3,void 0)},proto.BVCU.Search.Search_DialogLog.prototype.hasImediadir=function(){return null!=r.Message.getField(this,3)},proto.BVCU.Search.Search_DialogLog.prototype.getSzsourceid=function(){return r.Message.getFieldWithDefault(this,4,\"\")},proto.BVCU.Search.Search_DialogLog.prototype.setSzsourceid=function(e){r.Message.setField(this,4,e)},proto.BVCU.Search.Search_DialogLog.prototype.clearSzsourceid=function(){r.Message.setField(this,4,void 0)},proto.BVCU.Search.Search_DialogLog.prototype.hasSzsourceid=function(){return null!=r.Message.getField(this,4)},proto.BVCU.Search.Search_DialogLog.prototype.getSzusername=function(){return r.Message.getFieldWithDefault(this,5,\"\")},proto.BVCU.Search.Search_DialogLog.prototype.setSzusername=function(e){r.Message.setField(this,5,e)},proto.BVCU.Search.Search_DialogLog.prototype.clearSzusername=function(){r.Message.setField(this,5,void 0)},proto.BVCU.Search.Search_DialogLog.prototype.hasSzusername=function(){return null!=r.Message.getField(this,5)},proto.BVCU.Search.Search_DialogLog.prototype.getIapplierid=function(){return r.Message.getFieldWithDefault(this,6,0)},proto.BVCU.Search.Search_DialogLog.prototype.setIapplierid=function(e){r.Message.setField(this,6,e)},proto.BVCU.Search.Search_DialogLog.prototype.clearIapplierid=function(){r.Message.setField(this,6,void 0)},proto.BVCU.Search.Search_DialogLog.prototype.hasIapplierid=function(){return null!=r.Message.getField(this,6)},proto.BVCU.Search.Search_DialogLog.prototype.getIopentime=function(){return r.Message.getFieldWithDefault(this,7,0)},proto.BVCU.Search.Search_DialogLog.prototype.setIopentime=function(e){r.Message.setField(this,7,e)},proto.BVCU.Search.Search_DialogLog.prototype.clearIopentime=function(){r.Message.setField(this,7,void 0)},proto.BVCU.Search.Search_DialogLog.prototype.hasIopentime=function(){return null!=r.Message.getField(this,7)},proto.BVCU.Search.Search_DialogLog.prototype.getIclosetime=function(){return r.Message.getFieldWithDefault(this,8,0)},proto.BVCU.Search.Search_DialogLog.prototype.setIclosetime=function(e){r.Message.setField(this,8,e)},proto.BVCU.Search.Search_DialogLog.prototype.clearIclosetime=function(){r.Message.setField(this,8,void 0)},proto.BVCU.Search.Search_DialogLog.prototype.hasIclosetime=function(){return null!=r.Message.getField(this,8)},proto.BVCU.Search.Search_DialogLog.prototype.getIduration=function(){return r.Message.getFieldWithDefault(this,9,0)},proto.BVCU.Search.Search_DialogLog.prototype.setIduration=function(e){r.Message.setField(this,9,e)},proto.BVCU.Search.Search_DialogLog.prototype.clearIduration=function(){r.Message.setField(this,9,void 0)},proto.BVCU.Search.Search_DialogLog.prototype.hasIduration=function(){return null!=r.Message.getField(this,9)},proto.BVCU.Search.Search_DialogLog.prototype.getIcupuduration=function(){return r.Message.getFieldWithDefault(this,10,0)},proto.BVCU.Search.Search_DialogLog.prototype.setIcupuduration=function(e){r.Message.setField(this,10,e)},proto.BVCU.Search.Search_DialogLog.prototype.clearIcupuduration=function(){r.Message.setField(this,10,void 0)},proto.BVCU.Search.Search_DialogLog.prototype.hasIcupuduration=function(){return null!=r.Message.getField(this,10)},proto.BVCU.Search.Search_IMMsg=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.BVCU.Search.Search_IMMsg,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.Search.Search_IMMsg.displayName=\"proto.BVCU.Search.Search_IMMsg\"),r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.Search.Search_IMMsg.prototype.toObject=function(e){return proto.BVCU.Search.Search_IMMsg.toObject(e,this)},proto.BVCU.Search.Search_IMMsg.toObject=function(e,t){var o,i={szsenddevid:r.Message.getField(t,1),szsenduserid:r.Message.getField(t,2),szconfid:r.Message.getField(t,3),szrecvdevid:r.Message.getField(t,4),szrecvuserid:r.Message.getField(t,5),imsgid:r.Message.getField(t,6),ihasbeenrecv:r.Message.getField(t,7),icombmsgorder:r.Message.getField(t,9),stmsg:(o=t.getStmsg())&&a.IM_Msg.toObject(e,o)};return e&&(i.$jspbMessageInstance=t),i}),proto.BVCU.Search.Search_IMMsg.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.Search.Search_IMMsg;return proto.BVCU.Search.Search_IMMsg.deserializeBinaryFromReader(o,t)},proto.BVCU.Search.Search_IMMsg.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readString();e.setSzsenddevid(o);break;case 2:o=t.readString();e.setSzsenduserid(o);break;case 3:o=t.readString();e.setSzconfid(o);break;case 4:o=t.readString();e.setSzrecvdevid(o);break;case 5:o=t.readString();e.setSzrecvuserid(o);break;case 6:o=t.readUint32();e.setImsgid(o);break;case 7:o=t.readUint32();e.setIhasbeenrecv(o);break;case 9:o=t.readUint32();e.setIcombmsgorder(o);break;case 8:o=new a.IM_Msg;t.readMessage(o,a.IM_Msg.deserializeBinaryFromReader),e.setStmsg(o);break;default:t.skipField()}}return e},proto.BVCU.Search.Search_IMMsg.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.Search.Search_IMMsg.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.Search.Search_IMMsg.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeString(1,o),null!=(o=r.Message.getField(e,2))&&t.writeString(2,o),null!=(o=r.Message.getField(e,3))&&t.writeString(3,o),null!=(o=r.Message.getField(e,4))&&t.writeString(4,o),null!=(o=r.Message.getField(e,5))&&t.writeString(5,o),null!=(o=r.Message.getField(e,6))&&t.writeUint32(6,o),null!=(o=r.Message.getField(e,7))&&t.writeUint32(7,o),null!=(o=r.Message.getField(e,9))&&t.writeUint32(9,o),null!=(o=e.getStmsg())&&t.writeMessage(8,o,a.IM_Msg.serializeBinaryToWriter)},proto.BVCU.Search.Search_IMMsg.prototype.getSzsenddevid=function(){return r.Message.getFieldWithDefault(this,1,\"\")},proto.BVCU.Search.Search_IMMsg.prototype.setSzsenddevid=function(e){r.Message.setField(this,1,e)},proto.BVCU.Search.Search_IMMsg.prototype.clearSzsenddevid=function(){r.Message.setField(this,1,void 0)},proto.BVCU.Search.Search_IMMsg.prototype.hasSzsenddevid=function(){return null!=r.Message.getField(this,1)},proto.BVCU.Search.Search_IMMsg.prototype.getSzsenduserid=function(){return r.Message.getFieldWithDefault(this,2,\"\")},proto.BVCU.Search.Search_IMMsg.prototype.setSzsenduserid=function(e){r.Message.setField(this,2,e)},proto.BVCU.Search.Search_IMMsg.prototype.clearSzsenduserid=function(){r.Message.setField(this,2,void 0)},proto.BVCU.Search.Search_IMMsg.prototype.hasSzsenduserid=function(){return null!=r.Message.getField(this,2)},proto.BVCU.Search.Search_IMMsg.prototype.getSzconfid=function(){return r.Message.getFieldWithDefault(this,3,\"\")},proto.BVCU.Search.Search_IMMsg.prototype.setSzconfid=function(e){r.Message.setField(this,3,e)},proto.BVCU.Search.Search_IMMsg.prototype.clearSzconfid=function(){r.Message.setField(this,3,void 0)},proto.BVCU.Search.Search_IMMsg.prototype.hasSzconfid=function(){return null!=r.Message.getField(this,3)},proto.BVCU.Search.Search_IMMsg.prototype.getSzrecvdevid=function(){return r.Message.getFieldWithDefault(this,4,\"\")},proto.BVCU.Search.Search_IMMsg.prototype.setSzrecvdevid=function(e){r.Message.setField(this,4,e)},proto.BVCU.Search.Search_IMMsg.prototype.clearSzrecvdevid=function(){r.Message.setField(this,4,void 0)},proto.BVCU.Search.Search_IMMsg.prototype.hasSzrecvdevid=function(){return null!=r.Message.getField(this,4)},proto.BVCU.Search.Search_IMMsg.prototype.getSzrecvuserid=function(){return r.Message.getFieldWithDefault(this,5,\"\")},proto.BVCU.Search.Search_IMMsg.prototype.setSzrecvuserid=function(e){r.Message.setField(this,5,e)},proto.BVCU.Search.Search_IMMsg.prototype.clearSzrecvuserid=function(){r.Message.setField(this,5,void 0)},proto.BVCU.Search.Search_IMMsg.prototype.hasSzrecvuserid=function(){return null!=r.Message.getField(this,5)},proto.BVCU.Search.Search_IMMsg.prototype.getImsgid=function(){return r.Message.getFieldWithDefault(this,6,0)},proto.BVCU.Search.Search_IMMsg.prototype.setImsgid=function(e){r.Message.setField(this,6,e)},proto.BVCU.Search.Search_IMMsg.prototype.clearImsgid=function(){r.Message.setField(this,6,void 0)},proto.BVCU.Search.Search_IMMsg.prototype.hasImsgid=function(){return null!=r.Message.getField(this,6)},proto.BVCU.Search.Search_IMMsg.prototype.getIhasbeenrecv=function(){return r.Message.getFieldWithDefault(this,7,0)},proto.BVCU.Search.Search_IMMsg.prototype.setIhasbeenrecv=function(e){r.Message.setField(this,7,e)},proto.BVCU.Search.Search_IMMsg.prototype.clearIhasbeenrecv=function(){r.Message.setField(this,7,void 0)},proto.BVCU.Search.Search_IMMsg.prototype.hasIhasbeenrecv=function(){return null!=r.Message.getField(this,7)},proto.BVCU.Search.Search_IMMsg.prototype.getIcombmsgorder=function(){return r.Message.getFieldWithDefault(this,9,0)},proto.BVCU.Search.Search_IMMsg.prototype.setIcombmsgorder=function(e){r.Message.setField(this,9,e)},proto.BVCU.Search.Search_IMMsg.prototype.clearIcombmsgorder=function(){r.Message.setField(this,9,void 0)},proto.BVCU.Search.Search_IMMsg.prototype.hasIcombmsgorder=function(){return null!=r.Message.getField(this,9)},proto.BVCU.Search.Search_IMMsg.prototype.getStmsg=function(){return r.Message.getWrapperField(this,a.IM_Msg,8)},proto.BVCU.Search.Search_IMMsg.prototype.setStmsg=function(e){r.Message.setWrapperField(this,8,e)},proto.BVCU.Search.Search_IMMsg.prototype.clearStmsg=function(){this.setStmsg(void 0)},proto.BVCU.Search.Search_IMMsg.prototype.hasStmsg=function(){return null!=r.Message.getField(this,8)},proto.BVCU.Search.Search_UAInfo=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.BVCU.Search.Search_UAInfo,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.Search.Search_UAInfo.displayName=\"proto.BVCU.Search.Search_UAInfo\"),r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.Search.Search_UAInfo.prototype.toObject=function(e){return proto.BVCU.Search.Search_UAInfo.toObject(e,this)},proto.BVCU.Search.Search_UAInfo.toObject=function(e,t){var o={szdevid:r.Message.getField(t,1),szdevname:r.Message.getField(t,2),szuserid:r.Message.getField(t,3),szusername:r.Message.getField(t,4),iapplierid:r.Message.getField(t,5)};return e&&(o.$jspbMessageInstance=t),o}),proto.BVCU.Search.Search_UAInfo.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.Search.Search_UAInfo;return proto.BVCU.Search.Search_UAInfo.deserializeBinaryFromReader(o,t)},proto.BVCU.Search.Search_UAInfo.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readString();e.setSzdevid(o);break;case 2:o=t.readString();e.setSzdevname(o);break;case 3:o=t.readString();e.setSzuserid(o);break;case 4:o=t.readString();e.setSzusername(o);break;case 5:o=t.readUint32();e.setIapplierid(o);break;default:t.skipField()}}return e},proto.BVCU.Search.Search_UAInfo.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.Search.Search_UAInfo.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.Search.Search_UAInfo.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeString(1,o),null!=(o=r.Message.getField(e,2))&&t.writeString(2,o),null!=(o=r.Message.getField(e,3))&&t.writeString(3,o),null!=(o=r.Message.getField(e,4))&&t.writeString(4,o),null!=(o=r.Message.getField(e,5))&&t.writeUint32(5,o)},proto.BVCU.Search.Search_UAInfo.prototype.getSzdevid=function(){return r.Message.getFieldWithDefault(this,1,\"\")},proto.BVCU.Search.Search_UAInfo.prototype.setSzdevid=function(e){r.Message.setField(this,1,e)},proto.BVCU.Search.Search_UAInfo.prototype.clearSzdevid=function(){r.Message.setField(this,1,void 0)},proto.BVCU.Search.Search_UAInfo.prototype.hasSzdevid=function(){return null!=r.Message.getField(this,1)},proto.BVCU.Search.Search_UAInfo.prototype.getSzdevname=function(){return r.Message.getFieldWithDefault(this,2,\"\")},proto.BVCU.Search.Search_UAInfo.prototype.setSzdevname=function(e){r.Message.setField(this,2,e)},proto.BVCU.Search.Search_UAInfo.prototype.clearSzdevname=function(){r.Message.setField(this,2,void 0)},proto.BVCU.Search.Search_UAInfo.prototype.hasSzdevname=function(){return null!=r.Message.getField(this,2)},proto.BVCU.Search.Search_UAInfo.prototype.getSzuserid=function(){return r.Message.getFieldWithDefault(this,3,\"\")},proto.BVCU.Search.Search_UAInfo.prototype.setSzuserid=function(e){r.Message.setField(this,3,e)},proto.BVCU.Search.Search_UAInfo.prototype.clearSzuserid=function(){r.Message.setField(this,3,void 0)},proto.BVCU.Search.Search_UAInfo.prototype.hasSzuserid=function(){return null!=r.Message.getField(this,3)},proto.BVCU.Search.Search_UAInfo.prototype.getSzusername=function(){return r.Message.getFieldWithDefault(this,4,\"\")},proto.BVCU.Search.Search_UAInfo.prototype.setSzusername=function(e){r.Message.setField(this,4,e)},proto.BVCU.Search.Search_UAInfo.prototype.clearSzusername=function(){r.Message.setField(this,4,void 0)},proto.BVCU.Search.Search_UAInfo.prototype.hasSzusername=function(){return null!=r.Message.getField(this,4)},proto.BVCU.Search.Search_UAInfo.prototype.getIapplierid=function(){return r.Message.getFieldWithDefault(this,5,0)},proto.BVCU.Search.Search_UAInfo.prototype.setIapplierid=function(e){r.Message.setField(this,5,e)},proto.BVCU.Search.Search_UAInfo.prototype.clearIapplierid=function(){r.Message.setField(this,5,void 0)},proto.BVCU.Search.Search_UAInfo.prototype.hasIapplierid=function(){return null!=r.Message.getField(this,5)},proto.BVCU.Search.Search_PUListFilter=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.BVCU.Search.Search_PUListFilter,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.Search.Search_PUListFilter.displayName=\"proto.BVCU.Search.Search_PUListFilter\"),r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.Search.Search_PUListFilter.prototype.toObject=function(e){return proto.BVCU.Search.Search_PUListFilter.toObject(e,this)},proto.BVCU.Search.Search_PUListFilter.toObject=function(e,t){var o={ionlinestatus:r.Message.getField(t,1),itimebegin:r.Message.getField(t,2),itimeend:r.Message.getField(t,3),szidorname:r.Message.getField(t,4),szgroupid:r.Message.getField(t,5)};return e&&(o.$jspbMessageInstance=t),o}),proto.BVCU.Search.Search_PUListFilter.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.Search.Search_PUListFilter;return proto.BVCU.Search.Search_PUListFilter.deserializeBinaryFromReader(o,t)},proto.BVCU.Search.Search_PUListFilter.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readUint32();e.setIonlinestatus(o);break;case 2:o=t.readUint64();e.setItimebegin(o);break;case 3:o=t.readUint64();e.setItimeend(o);break;case 4:o=t.readString();e.setSzidorname(o);break;case 5:o=t.readString();e.setSzgroupid(o);break;default:t.skipField()}}return e},proto.BVCU.Search.Search_PUListFilter.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.Search.Search_PUListFilter.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.Search.Search_PUListFilter.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeUint32(1,o),null!=(o=r.Message.getField(e,2))&&t.writeUint64(2,o),null!=(o=r.Message.getField(e,3))&&t.writeUint64(3,o),null!=(o=r.Message.getField(e,4))&&t.writeString(4,o),null!=(o=r.Message.getField(e,5))&&t.writeString(5,o)},proto.BVCU.Search.Search_PUListFilter.prototype.getIonlinestatus=function(){return r.Message.getFieldWithDefault(this,1,0)},proto.BVCU.Search.Search_PUListFilter.prototype.setIonlinestatus=function(e){r.Message.setField(this,1,e)},proto.BVCU.Search.Search_PUListFilter.prototype.clearIonlinestatus=function(){r.Message.setField(this,1,void 0)},proto.BVCU.Search.Search_PUListFilter.prototype.hasIonlinestatus=function(){return null!=r.Message.getField(this,1)},proto.BVCU.Search.Search_PUListFilter.prototype.getItimebegin=function(){return r.Message.getFieldWithDefault(this,2,0)},proto.BVCU.Search.Search_PUListFilter.prototype.setItimebegin=function(e){r.Message.setField(this,2,e)},proto.BVCU.Search.Search_PUListFilter.prototype.clearItimebegin=function(){r.Message.setField(this,2,void 0)},proto.BVCU.Search.Search_PUListFilter.prototype.hasItimebegin=function(){return null!=r.Message.getField(this,2)},proto.BVCU.Search.Search_PUListFilter.prototype.getItimeend=function(){return r.Message.getFieldWithDefault(this,3,0)},proto.BVCU.Search.Search_PUListFilter.prototype.setItimeend=function(e){r.Message.setField(this,3,e)},proto.BVCU.Search.Search_PUListFilter.prototype.clearItimeend=function(){r.Message.setField(this,3,void 0)},proto.BVCU.Search.Search_PUListFilter.prototype.hasItimeend=function(){return null!=r.Message.getField(this,3)},proto.BVCU.Search.Search_PUListFilter.prototype.getSzidorname=function(){return r.Message.getFieldWithDefault(this,4,\"\")},proto.BVCU.Search.Search_PUListFilter.prototype.setSzidorname=function(e){r.Message.setField(this,4,e)},proto.BVCU.Search.Search_PUListFilter.prototype.clearSzidorname=function(){r.Message.setField(this,4,void 0)},proto.BVCU.Search.Search_PUListFilter.prototype.hasSzidorname=function(){return null!=r.Message.getField(this,4)},proto.BVCU.Search.Search_PUListFilter.prototype.getSzgroupid=function(){return r.Message.getFieldWithDefault(this,5,\"\")},proto.BVCU.Search.Search_PUListFilter.prototype.setSzgroupid=function(e){r.Message.setField(this,5,e)},proto.BVCU.Search.Search_PUListFilter.prototype.clearSzgroupid=function(){r.Message.setField(this,5,void 0)},proto.BVCU.Search.Search_PUListFilter.prototype.hasSzgroupid=function(){return null!=r.Message.getField(this,5)},proto.BVCU.Search.Search_PUList=function(e){r.Message.initialize(this,e,0,-1,proto.BVCU.Search.Search_PUList.repeatedFields_,null)},i.inherits(proto.BVCU.Search.Search_PUList,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.Search.Search_PUList.displayName=\"proto.BVCU.Search.Search_PUList\"),proto.BVCU.Search.Search_PUList.repeatedFields_=[3],r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.Search.Search_PUList.prototype.toObject=function(e){return proto.BVCU.Search.Search_PUList.toObject(e,this)},proto.BVCU.Search.Search_PUList.toObject=function(e,t){var o,i={szid:r.Message.getField(t,1),szpuname:r.Message.getField(t,2),pchannelList:r.Message.toObjectList(t.getPchannelList(),n.PUOneChannelInfo.toObject,e),ionlinestatus:r.Message.getField(t,4),ionlinethrough:r.Message.getField(t,5),istreampathway:r.Message.getField(t,6),stonlinetime:(o=t.getStonlinetime())&&n.WallTime.toObject(e,o),stboottime:(o=t.getStboottime())&&n.WallTime.toObject(e,o),ibootduration:r.Message.getField(t,22),stipaddr:(o=t.getStipaddr())&&n.ENCFG_Candidate.toObject(e,o),iavcount:r.Message.getField(t,10),ivideoincount:r.Message.getField(t,11),iaudioincount:r.Message.getField(t,12),iaudiooutcount:r.Message.getField(t,13),iptzcount:r.Message.getField(t,14),iserialportcount:r.Message.getField(t,15),ialertincount:r.Message.getField(t,16),ialertoutcount:r.Message.getField(t,17),istoragecount:r.Message.getField(t,18),igpscount:r.Message.getField(t,19),ilongitude:r.Message.getField(t,20),ilatitude:r.Message.getField(t,21)};return e&&(i.$jspbMessageInstance=t),i}),proto.BVCU.Search.Search_PUList.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.Search.Search_PUList;return proto.BVCU.Search.Search_PUList.deserializeBinaryFromReader(o,t)},proto.BVCU.Search.Search_PUList.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readString();e.setSzid(o);break;case 2:o=t.readString();e.setSzpuname(o);break;case 3:o=new n.PUOneChannelInfo;t.readMessage(o,n.PUOneChannelInfo.deserializeBinaryFromReader),e.addPchannel(o);break;case 4:o=t.readUint32();e.setIonlinestatus(o);break;case 5:o=t.readUint32();e.setIonlinethrough(o);break;case 6:o=t.readUint32();e.setIstreampathway(o);break;case 7:o=new n.WallTime;t.readMessage(o,n.WallTime.deserializeBinaryFromReader),e.setStonlinetime(o);break;case 8:o=new n.WallTime;t.readMessage(o,n.WallTime.deserializeBinaryFromReader),e.setStboottime(o);break;case 22:o=t.readUint32();e.setIbootduration(o);break;case 9:o=new n.ENCFG_Candidate;t.readMessage(o,n.ENCFG_Candidate.deserializeBinaryFromReader),e.setStipaddr(o);break;case 10:o=t.readUint32();e.setIavcount(o);break;case 11:o=t.readUint32();e.setIvideoincount(o);break;case 12:o=t.readUint32();e.setIaudioincount(o);break;case 13:o=t.readUint32();e.setIaudiooutcount(o);break;case 14:o=t.readUint32();e.setIptzcount(o);break;case 15:o=t.readUint32();e.setIserialportcount(o);break;case 16:o=t.readUint32();e.setIalertincount(o);break;case 17:o=t.readUint32();e.setIalertoutcount(o);break;case 18:o=t.readUint32();e.setIstoragecount(o);break;case 19:o=t.readUint32();e.setIgpscount(o);break;case 20:o=t.readUint32();e.setIlongitude(o);break;case 21:o=t.readUint32();e.setIlatitude(o);break;default:t.skipField()}}return e},proto.BVCU.Search.Search_PUList.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.Search.Search_PUList.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.Search.Search_PUList.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeString(1,o),null!=(o=r.Message.getField(e,2))&&t.writeString(2,o),(o=e.getPchannelList()).length>0&&t.writeRepeatedMessage(3,o,n.PUOneChannelInfo.serializeBinaryToWriter),null!=(o=r.Message.getField(e,4))&&t.writeUint32(4,o),null!=(o=r.Message.getField(e,5))&&t.writeUint32(5,o),null!=(o=r.Message.getField(e,6))&&t.writeUint32(6,o),null!=(o=e.getStonlinetime())&&t.writeMessage(7,o,n.WallTime.serializeBinaryToWriter),null!=(o=e.getStboottime())&&t.writeMessage(8,o,n.WallTime.serializeBinaryToWriter),null!=(o=r.Message.getField(e,22))&&t.writeUint32(22,o),null!=(o=e.getStipaddr())&&t.writeMessage(9,o,n.ENCFG_Candidate.serializeBinaryToWriter),null!=(o=r.Message.getField(e,10))&&t.writeUint32(10,o),null!=(o=r.Message.getField(e,11))&&t.writeUint32(11,o),null!=(o=r.Message.getField(e,12))&&t.writeUint32(12,o),null!=(o=r.Message.getField(e,13))&&t.writeUint32(13,o),null!=(o=r.Message.getField(e,14))&&t.writeUint32(14,o),null!=(o=r.Message.getField(e,15))&&t.writeUint32(15,o),null!=(o=r.Message.getField(e,16))&&t.writeUint32(16,o),null!=(o=r.Message.getField(e,17))&&t.writeUint32(17,o),null!=(o=r.Message.getField(e,18))&&t.writeUint32(18,o),null!=(o=r.Message.getField(e,19))&&t.writeUint32(19,o),null!=(o=r.Message.getField(e,20))&&t.writeUint32(20,o),null!=(o=r.Message.getField(e,21))&&t.writeUint32(21,o)},proto.BVCU.Search.Search_PUList.prototype.getSzid=function(){return r.Message.getFieldWithDefault(this,1,\"\")},proto.BVCU.Search.Search_PUList.prototype.setSzid=function(e){r.Message.setField(this,1,e)},proto.BVCU.Search.Search_PUList.prototype.clearSzid=function(){r.Message.setField(this,1,void 0)},proto.BVCU.Search.Search_PUList.prototype.hasSzid=function(){return null!=r.Message.getField(this,1)},proto.BVCU.Search.Search_PUList.prototype.getSzpuname=function(){return r.Message.getFieldWithDefault(this,2,\"\")},proto.BVCU.Search.Search_PUList.prototype.setSzpuname=function(e){r.Message.setField(this,2,e)},proto.BVCU.Search.Search_PUList.prototype.clearSzpuname=function(){r.Message.setField(this,2,void 0)},proto.BVCU.Search.Search_PUList.prototype.hasSzpuname=function(){return null!=r.Message.getField(this,2)},proto.BVCU.Search.Search_PUList.prototype.getPchannelList=function(){return r.Message.getRepeatedWrapperField(this,n.PUOneChannelInfo,3)},proto.BVCU.Search.Search_PUList.prototype.setPchannelList=function(e){r.Message.setRepeatedWrapperField(this,3,e)},proto.BVCU.Search.Search_PUList.prototype.addPchannel=function(e,t){return r.Message.addToRepeatedWrapperField(this,3,e,proto.BVCU.PUConfig.PUOneChannelInfo,t)},proto.BVCU.Search.Search_PUList.prototype.clearPchannelList=function(){this.setPchannelList([])},proto.BVCU.Search.Search_PUList.prototype.getIonlinestatus=function(){return r.Message.getFieldWithDefault(this,4,0)},proto.BVCU.Search.Search_PUList.prototype.setIonlinestatus=function(e){r.Message.setField(this,4,e)},proto.BVCU.Search.Search_PUList.prototype.clearIonlinestatus=function(){r.Message.setField(this,4,void 0)},proto.BVCU.Search.Search_PUList.prototype.hasIonlinestatus=function(){return null!=r.Message.getField(this,4)},proto.BVCU.Search.Search_PUList.prototype.getIonlinethrough=function(){return r.Message.getFieldWithDefault(this,5,0)},proto.BVCU.Search.Search_PUList.prototype.setIonlinethrough=function(e){r.Message.setField(this,5,e)},proto.BVCU.Search.Search_PUList.prototype.clearIonlinethrough=function(){r.Message.setField(this,5,void 0)},proto.BVCU.Search.Search_PUList.prototype.hasIonlinethrough=function(){return null!=r.Message.getField(this,5)},proto.BVCU.Search.Search_PUList.prototype.getIstreampathway=function(){return r.Message.getFieldWithDefault(this,6,0)},proto.BVCU.Search.Search_PUList.prototype.setIstreampathway=function(e){r.Message.setField(this,6,e)},proto.BVCU.Search.Search_PUList.prototype.clearIstreampathway=function(){r.Message.setField(this,6,void 0)},proto.BVCU.Search.Search_PUList.prototype.hasIstreampathway=function(){return null!=r.Message.getField(this,6)},proto.BVCU.Search.Search_PUList.prototype.getStonlinetime=function(){return r.Message.getWrapperField(this,n.WallTime,7)},proto.BVCU.Search.Search_PUList.prototype.setStonlinetime=function(e){r.Message.setWrapperField(this,7,e)},proto.BVCU.Search.Search_PUList.prototype.clearStonlinetime=function(){this.setStonlinetime(void 0)},proto.BVCU.Search.Search_PUList.prototype.hasStonlinetime=function(){return null!=r.Message.getField(this,7)},proto.BVCU.Search.Search_PUList.prototype.getStboottime=function(){return r.Message.getWrapperField(this,n.WallTime,8)},proto.BVCU.Search.Search_PUList.prototype.setStboottime=function(e){r.Message.setWrapperField(this,8,e)},proto.BVCU.Search.Search_PUList.prototype.clearStboottime=function(){this.setStboottime(void 0)},proto.BVCU.Search.Search_PUList.prototype.hasStboottime=function(){return null!=r.Message.getField(this,8)},proto.BVCU.Search.Search_PUList.prototype.getIbootduration=function(){return r.Message.getFieldWithDefault(this,22,0)},proto.BVCU.Search.Search_PUList.prototype.setIbootduration=function(e){r.Message.setField(this,22,e)},proto.BVCU.Search.Search_PUList.prototype.clearIbootduration=function(){r.Message.setField(this,22,void 0)},proto.BVCU.Search.Search_PUList.prototype.hasIbootduration=function(){return null!=r.Message.getField(this,22)},proto.BVCU.Search.Search_PUList.prototype.getStipaddr=function(){return r.Message.getWrapperField(this,n.ENCFG_Candidate,9)},proto.BVCU.Search.Search_PUList.prototype.setStipaddr=function(e){r.Message.setWrapperField(this,9,e)},proto.BVCU.Search.Search_PUList.prototype.clearStipaddr=function(){this.setStipaddr(void 0)},proto.BVCU.Search.Search_PUList.prototype.hasStipaddr=function(){return null!=r.Message.getField(this,9)},proto.BVCU.Search.Search_PUList.prototype.getIavcount=function(){return r.Message.getFieldWithDefault(this,10,0)},proto.BVCU.Search.Search_PUList.prototype.setIavcount=function(e){r.Message.setField(this,10,e)},proto.BVCU.Search.Search_PUList.prototype.clearIavcount=function(){r.Message.setField(this,10,void 0)},proto.BVCU.Search.Search_PUList.prototype.hasIavcount=function(){return null!=r.Message.getField(this,10)},proto.BVCU.Search.Search_PUList.prototype.getIvideoincount=function(){return r.Message.getFieldWithDefault(this,11,0)},proto.BVCU.Search.Search_PUList.prototype.setIvideoincount=function(e){r.Message.setField(this,11,e)},proto.BVCU.Search.Search_PUList.prototype.clearIvideoincount=function(){r.Message.setField(this,11,void 0)},proto.BVCU.Search.Search_PUList.prototype.hasIvideoincount=function(){return null!=r.Message.getField(this,11)},proto.BVCU.Search.Search_PUList.prototype.getIaudioincount=function(){return r.Message.getFieldWithDefault(this,12,0)},proto.BVCU.Search.Search_PUList.prototype.setIaudioincount=function(e){r.Message.setField(this,12,e)},proto.BVCU.Search.Search_PUList.prototype.clearIaudioincount=function(){r.Message.setField(this,12,void 0)},proto.BVCU.Search.Search_PUList.prototype.hasIaudioincount=function(){return null!=r.Message.getField(this,12)},proto.BVCU.Search.Search_PUList.prototype.getIaudiooutcount=function(){return r.Message.getFieldWithDefault(this,13,0)},proto.BVCU.Search.Search_PUList.prototype.setIaudiooutcount=function(e){r.Message.setField(this,13,e)},proto.BVCU.Search.Search_PUList.prototype.clearIaudiooutcount=function(){r.Message.setField(this,13,void 0)},proto.BVCU.Search.Search_PUList.prototype.hasIaudiooutcount=function(){return null!=r.Message.getField(this,13)},proto.BVCU.Search.Search_PUList.prototype.getIptzcount=function(){return r.Message.getFieldWithDefault(this,14,0)},proto.BVCU.Search.Search_PUList.prototype.setIptzcount=function(e){r.Message.setField(this,14,e)},proto.BVCU.Search.Search_PUList.prototype.clearIptzcount=function(){r.Message.setField(this,14,void 0)},proto.BVCU.Search.Search_PUList.prototype.hasIptzcount=function(){return null!=r.Message.getField(this,14)},proto.BVCU.Search.Search_PUList.prototype.getIserialportcount=function(){return r.Message.getFieldWithDefault(this,15,0)},proto.BVCU.Search.Search_PUList.prototype.setIserialportcount=function(e){r.Message.setField(this,15,e)},proto.BVCU.Search.Search_PUList.prototype.clearIserialportcount=function(){r.Message.setField(this,15,void 0)},proto.BVCU.Search.Search_PUList.prototype.hasIserialportcount=function(){return null!=r.Message.getField(this,15)},proto.BVCU.Search.Search_PUList.prototype.getIalertincount=function(){return r.Message.getFieldWithDefault(this,16,0)},proto.BVCU.Search.Search_PUList.prototype.setIalertincount=function(e){r.Message.setField(this,16,e)},proto.BVCU.Search.Search_PUList.prototype.clearIalertincount=function(){r.Message.setField(this,16,void 0)},proto.BVCU.Search.Search_PUList.prototype.hasIalertincount=function(){return null!=r.Message.getField(this,16)},proto.BVCU.Search.Search_PUList.prototype.getIalertoutcount=function(){return r.Message.getFieldWithDefault(this,17,0)},proto.BVCU.Search.Search_PUList.prototype.setIalertoutcount=function(e){r.Message.setField(this,17,e)},proto.BVCU.Search.Search_PUList.prototype.clearIalertoutcount=function(){r.Message.setField(this,17,void 0)},proto.BVCU.Search.Search_PUList.prototype.hasIalertoutcount=function(){return null!=r.Message.getField(this,17)},proto.BVCU.Search.Search_PUList.prototype.getIstoragecount=function(){return r.Message.getFieldWithDefault(this,18,0)},proto.BVCU.Search.Search_PUList.prototype.setIstoragecount=function(e){r.Message.setField(this,18,e)},proto.BVCU.Search.Search_PUList.prototype.clearIstoragecount=function(){r.Message.setField(this,18,void 0)},proto.BVCU.Search.Search_PUList.prototype.hasIstoragecount=function(){return null!=r.Message.getField(this,18)},proto.BVCU.Search.Search_PUList.prototype.getIgpscount=function(){return r.Message.getFieldWithDefault(this,19,0)},proto.BVCU.Search.Search_PUList.prototype.setIgpscount=function(e){r.Message.setField(this,19,e)},proto.BVCU.Search.Search_PUList.prototype.clearIgpscount=function(){r.Message.setField(this,19,void 0)},proto.BVCU.Search.Search_PUList.prototype.hasIgpscount=function(){return null!=r.Message.getField(this,19)},proto.BVCU.Search.Search_PUList.prototype.getIlongitude=function(){return r.Message.getFieldWithDefault(this,20,0)},proto.BVCU.Search.Search_PUList.prototype.setIlongitude=function(e){r.Message.setField(this,20,e)},proto.BVCU.Search.Search_PUList.prototype.clearIlongitude=function(){r.Message.setField(this,20,void 0)},proto.BVCU.Search.Search_PUList.prototype.hasIlongitude=function(){return null!=r.Message.getField(this,20)},proto.BVCU.Search.Search_PUList.prototype.getIlatitude=function(){return r.Message.getFieldWithDefault(this,21,0)},proto.BVCU.Search.Search_PUList.prototype.setIlatitude=function(e){r.Message.setField(this,21,e)},proto.BVCU.Search.Search_PUList.prototype.clearIlatitude=function(){r.Message.setField(this,21,void 0)},proto.BVCU.Search.Search_PUList.prototype.hasIlatitude=function(){return null!=r.Message.getField(this,21)},proto.BVCU.Search.Search_EventFilter=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.BVCU.Search.Search_EventFilter,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.Search.Search_EventFilter.displayName=\"proto.BVCU.Search.Search_EventFilter\"),r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.Search.Search_EventFilter.prototype.toObject=function(e){return proto.BVCU.Search.Search_EventFilter.toObject(e,this)},proto.BVCU.Search.Search_EventFilter.toObject=function(e,t){var o={ieventtype:r.Message.getField(t,1),isubdevidx:r.Message.getField(t,2),bprocessed:r.Message.getField(t,3),itimebegin:r.Message.getField(t,4),itimeend:r.Message.getField(t,5),szid:r.Message.getField(t,6)};return e&&(o.$jspbMessageInstance=t),o}),proto.BVCU.Search.Search_EventFilter.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.Search.Search_EventFilter;return proto.BVCU.Search.Search_EventFilter.deserializeBinaryFromReader(o,t)},proto.BVCU.Search.Search_EventFilter.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readUint32();e.setIeventtype(o);break;case 2:o=t.readInt32();e.setIsubdevidx(o);break;case 3:o=t.readInt32();e.setBprocessed(o);break;case 4:o=t.readUint64();e.setItimebegin(o);break;case 5:o=t.readUint64();e.setItimeend(o);break;case 6:o=t.readString();e.setSzid(o);break;default:t.skipField()}}return e},proto.BVCU.Search.Search_EventFilter.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.Search.Search_EventFilter.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.Search.Search_EventFilter.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeUint32(1,o),null!=(o=r.Message.getField(e,2))&&t.writeInt32(2,o),null!=(o=r.Message.getField(e,3))&&t.writeInt32(3,o),null!=(o=r.Message.getField(e,4))&&t.writeUint64(4,o),null!=(o=r.Message.getField(e,5))&&t.writeUint64(5,o),null!=(o=r.Message.getField(e,6))&&t.writeString(6,o)},proto.BVCU.Search.Search_EventFilter.prototype.getIeventtype=function(){return r.Message.getFieldWithDefault(this,1,0)},proto.BVCU.Search.Search_EventFilter.prototype.setIeventtype=function(e){r.Message.setField(this,1,e)},proto.BVCU.Search.Search_EventFilter.prototype.clearIeventtype=function(){r.Message.setField(this,1,void 0)},proto.BVCU.Search.Search_EventFilter.prototype.hasIeventtype=function(){return null!=r.Message.getField(this,1)},proto.BVCU.Search.Search_EventFilter.prototype.getIsubdevidx=function(){return r.Message.getFieldWithDefault(this,2,0)},proto.BVCU.Search.Search_EventFilter.prototype.setIsubdevidx=function(e){r.Message.setField(this,2,e)},proto.BVCU.Search.Search_EventFilter.prototype.clearIsubdevidx=function(){r.Message.setField(this,2,void 0)},proto.BVCU.Search.Search_EventFilter.prototype.hasIsubdevidx=function(){return null!=r.Message.getField(this,2)},proto.BVCU.Search.Search_EventFilter.prototype.getBprocessed=function(){return r.Message.getFieldWithDefault(this,3,0)},proto.BVCU.Search.Search_EventFilter.prototype.setBprocessed=function(e){r.Message.setField(this,3,e)},proto.BVCU.Search.Search_EventFilter.prototype.clearBprocessed=function(){r.Message.setField(this,3,void 0)},proto.BVCU.Search.Search_EventFilter.prototype.hasBprocessed=function(){return null!=r.Message.getField(this,3)},proto.BVCU.Search.Search_EventFilter.prototype.getItimebegin=function(){return r.Message.getFieldWithDefault(this,4,0)},proto.BVCU.Search.Search_EventFilter.prototype.setItimebegin=function(e){r.Message.setField(this,4,e)},proto.BVCU.Search.Search_EventFilter.prototype.clearItimebegin=function(){r.Message.setField(this,4,void 0)},proto.BVCU.Search.Search_EventFilter.prototype.hasItimebegin=function(){return null!=r.Message.getField(this,4)},proto.BVCU.Search.Search_EventFilter.prototype.getItimeend=function(){return r.Message.getFieldWithDefault(this,5,0)},proto.BVCU.Search.Search_EventFilter.prototype.setItimeend=function(e){r.Message.setField(this,5,e)},proto.BVCU.Search.Search_EventFilter.prototype.clearItimeend=function(){r.Message.setField(this,5,void 0)},proto.BVCU.Search.Search_EventFilter.prototype.hasItimeend=function(){return null!=r.Message.getField(this,5)},proto.BVCU.Search.Search_EventFilter.prototype.getSzid=function(){return r.Message.getFieldWithDefault(this,6,\"\")},proto.BVCU.Search.Search_EventFilter.prototype.setSzid=function(e){r.Message.setField(this,6,e)},proto.BVCU.Search.Search_EventFilter.prototype.clearSzid=function(){r.Message.setField(this,6,void 0)},proto.BVCU.Search.Search_EventFilter.prototype.hasSzid=function(){return null!=r.Message.getField(this,6)},proto.BVCU.Search.Search_UserFilter=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.BVCU.Search.Search_UserFilter,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.Search.Search_UserFilter.displayName=\"proto.BVCU.Search.Search_UserFilter\"),r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.Search.Search_UserFilter.prototype.toObject=function(e){return proto.BVCU.Search.Search_UserFilter.toObject(e,this)},proto.BVCU.Search.Search_UserFilter.toObject=function(e,t){var o={szgroupid:r.Message.getField(t,1)};return e&&(o.$jspbMessageInstance=t),o}),proto.BVCU.Search.Search_UserFilter.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.Search.Search_UserFilter;return proto.BVCU.Search.Search_UserFilter.deserializeBinaryFromReader(o,t)},proto.BVCU.Search.Search_UserFilter.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readString();e.setSzgroupid(o);break;default:t.skipField()}}return e},proto.BVCU.Search.Search_UserFilter.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.Search.Search_UserFilter.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.Search.Search_UserFilter.serializeBinaryToWriter=function(e,t){var o;null!=(o=r.Message.getField(e,1))&&t.writeString(1,o)},proto.BVCU.Search.Search_UserFilter.prototype.getSzgroupid=function(){return r.Message.getFieldWithDefault(this,1,\"\")},proto.BVCU.Search.Search_UserFilter.prototype.setSzgroupid=function(e){r.Message.setField(this,1,e)},proto.BVCU.Search.Search_UserFilter.prototype.clearSzgroupid=function(){r.Message.setField(this,1,void 0)},proto.BVCU.Search.Search_UserFilter.prototype.hasSzgroupid=function(){return null!=r.Message.getField(this,1)},proto.BVCU.Search.Search_IMMsgFilter=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.BVCU.Search.Search_IMMsgFilter,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.Search.Search_IMMsgFilter.displayName=\"proto.BVCU.Search.Search_IMMsgFilter\"),r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.Search.Search_IMMsgFilter.prototype.toObject=function(e){return proto.BVCU.Search.Search_IMMsgFilter.toObject(e,this)},proto.BVCU.Search.Search_IMMsgFilter.toObject=function(e,t){var o={szsenddevid:r.Message.getField(t,1),szsenduserid:r.Message.getField(t,2),szconfid:r.Message.getField(t,3),szrecvdevid:r.Message.getField(t,4),szrecvuserid:r.Message.getField(t,5),szcallid:r.Message.getField(t,12),ioption:r.Message.getField(t,11),istarttime:r.Message.getField(t,6),iendtime:r.Message.getField(t,7),ihasbeenrecv:r.Message.getField(t,8),imsgtype:r.Message.getField(t,9),stmsgcontent:r.Message.getField(t,10)};return e&&(o.$jspbMessageInstance=t),o}),proto.BVCU.Search.Search_IMMsgFilter.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.Search.Search_IMMsgFilter;return proto.BVCU.Search.Search_IMMsgFilter.deserializeBinaryFromReader(o,t)},proto.BVCU.Search.Search_IMMsgFilter.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readString();e.setSzsenddevid(o);break;case 2:o=t.readString();e.setSzsenduserid(o);break;case 3:o=t.readString();e.setSzconfid(o);break;case 4:o=t.readString();e.setSzrecvdevid(o);break;case 5:o=t.readString();e.setSzrecvuserid(o);break;case 12:o=t.readString();e.setSzcallid(o);break;case 11:o=t.readUint32();e.setIoption(o);break;case 6:o=t.readUint64();e.setIstarttime(o);break;case 7:o=t.readUint64();e.setIendtime(o);break;case 8:o=t.readUint32();e.setIhasbeenrecv(o);break;case 9:o=t.readUint32();e.setImsgtype(o);break;case 10:o=t.readString();e.setStmsgcontent(o);break;default:t.skipField()}}return e},proto.BVCU.Search.Search_IMMsgFilter.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.Search.Search_IMMsgFilter.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.Search.Search_IMMsgFilter.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeString(1,o),null!=(o=r.Message.getField(e,2))&&t.writeString(2,o),null!=(o=r.Message.getField(e,3))&&t.writeString(3,o),null!=(o=r.Message.getField(e,4))&&t.writeString(4,o),null!=(o=r.Message.getField(e,5))&&t.writeString(5,o),null!=(o=r.Message.getField(e,12))&&t.writeString(12,o),null!=(o=r.Message.getField(e,11))&&t.writeUint32(11,o),null!=(o=r.Message.getField(e,6))&&t.writeUint64(6,o),null!=(o=r.Message.getField(e,7))&&t.writeUint64(7,o),null!=(o=r.Message.getField(e,8))&&t.writeUint32(8,o),null!=(o=r.Message.getField(e,9))&&t.writeUint32(9,o),null!=(o=r.Message.getField(e,10))&&t.writeString(10,o)},proto.BVCU.Search.Search_IMMsgFilter.prototype.getSzsenddevid=function(){return r.Message.getFieldWithDefault(this,1,\"\")},proto.BVCU.Search.Search_IMMsgFilter.prototype.setSzsenddevid=function(e){r.Message.setField(this,1,e)},proto.BVCU.Search.Search_IMMsgFilter.prototype.clearSzsenddevid=function(){r.Message.setField(this,1,void 0)},proto.BVCU.Search.Search_IMMsgFilter.prototype.hasSzsenddevid=function(){return null!=r.Message.getField(this,1)},proto.BVCU.Search.Search_IMMsgFilter.prototype.getSzsenduserid=function(){return r.Message.getFieldWithDefault(this,2,\"\")},proto.BVCU.Search.Search_IMMsgFilter.prototype.setSzsenduserid=function(e){r.Message.setField(this,2,e)},proto.BVCU.Search.Search_IMMsgFilter.prototype.clearSzsenduserid=function(){r.Message.setField(this,2,void 0)},proto.BVCU.Search.Search_IMMsgFilter.prototype.hasSzsenduserid=function(){return null!=r.Message.getField(this,2)},proto.BVCU.Search.Search_IMMsgFilter.prototype.getSzconfid=function(){return r.Message.getFieldWithDefault(this,3,\"\")},proto.BVCU.Search.Search_IMMsgFilter.prototype.setSzconfid=function(e){r.Message.setField(this,3,e)},proto.BVCU.Search.Search_IMMsgFilter.prototype.clearSzconfid=function(){r.Message.setField(this,3,void 0)},proto.BVCU.Search.Search_IMMsgFilter.prototype.hasSzconfid=function(){return null!=r.Message.getField(this,3)},proto.BVCU.Search.Search_IMMsgFilter.prototype.getSzrecvdevid=function(){return r.Message.getFieldWithDefault(this,4,\"\")},proto.BVCU.Search.Search_IMMsgFilter.prototype.setSzrecvdevid=function(e){r.Message.setField(this,4,e)},proto.BVCU.Search.Search_IMMsgFilter.prototype.clearSzrecvdevid=function(){r.Message.setField(this,4,void 0)},proto.BVCU.Search.Search_IMMsgFilter.prototype.hasSzrecvdevid=function(){return null!=r.Message.getField(this,4)},proto.BVCU.Search.Search_IMMsgFilter.prototype.getSzrecvuserid=function(){return r.Message.getFieldWithDefault(this,5,\"\")},proto.BVCU.Search.Search_IMMsgFilter.prototype.setSzrecvuserid=function(e){r.Message.setField(this,5,e)},proto.BVCU.Search.Search_IMMsgFilter.prototype.clearSzrecvuserid=function(){r.Message.setField(this,5,void 0)},proto.BVCU.Search.Search_IMMsgFilter.prototype.hasSzrecvuserid=function(){return null!=r.Message.getField(this,5)},proto.BVCU.Search.Search_IMMsgFilter.prototype.getSzcallid=function(){return r.Message.getFieldWithDefault(this,12,\"\")},proto.BVCU.Search.Search_IMMsgFilter.prototype.setSzcallid=function(e){r.Message.setField(this,12,e)},proto.BVCU.Search.Search_IMMsgFilter.prototype.clearSzcallid=function(){r.Message.setField(this,12,void 0)},proto.BVCU.Search.Search_IMMsgFilter.prototype.hasSzcallid=function(){return null!=r.Message.getField(this,12)},proto.BVCU.Search.Search_IMMsgFilter.prototype.getIoption=function(){return r.Message.getFieldWithDefault(this,11,0)},proto.BVCU.Search.Search_IMMsgFilter.prototype.setIoption=function(e){r.Message.setField(this,11,e)},proto.BVCU.Search.Search_IMMsgFilter.prototype.clearIoption=function(){r.Message.setField(this,11,void 0)},proto.BVCU.Search.Search_IMMsgFilter.prototype.hasIoption=function(){return null!=r.Message.getField(this,11)},proto.BVCU.Search.Search_IMMsgFilter.prototype.getIstarttime=function(){return r.Message.getFieldWithDefault(this,6,0)},proto.BVCU.Search.Search_IMMsgFilter.prototype.setIstarttime=function(e){r.Message.setField(this,6,e)},proto.BVCU.Search.Search_IMMsgFilter.prototype.clearIstarttime=function(){r.Message.setField(this,6,void 0)},proto.BVCU.Search.Search_IMMsgFilter.prototype.hasIstarttime=function(){return null!=r.Message.getField(this,6)},proto.BVCU.Search.Search_IMMsgFilter.prototype.getIendtime=function(){return r.Message.getFieldWithDefault(this,7,0)},proto.BVCU.Search.Search_IMMsgFilter.prototype.setIendtime=function(e){r.Message.setField(this,7,e)},proto.BVCU.Search.Search_IMMsgFilter.prototype.clearIendtime=function(){r.Message.setField(this,7,void 0)},proto.BVCU.Search.Search_IMMsgFilter.prototype.hasIendtime=function(){return null!=r.Message.getField(this,7)},proto.BVCU.Search.Search_IMMsgFilter.prototype.getIhasbeenrecv=function(){return r.Message.getFieldWithDefault(this,8,0)},proto.BVCU.Search.Search_IMMsgFilter.prototype.setIhasbeenrecv=function(e){r.Message.setField(this,8,e)},proto.BVCU.Search.Search_IMMsgFilter.prototype.clearIhasbeenrecv=function(){r.Message.setField(this,8,void 0)},proto.BVCU.Search.Search_IMMsgFilter.prototype.hasIhasbeenrecv=function(){return null!=r.Message.getField(this,8)},proto.BVCU.Search.Search_IMMsgFilter.prototype.getImsgtype=function(){return r.Message.getFieldWithDefault(this,9,0)},proto.BVCU.Search.Search_IMMsgFilter.prototype.setImsgtype=function(e){r.Message.setField(this,9,e)},proto.BVCU.Search.Search_IMMsgFilter.prototype.clearImsgtype=function(){r.Message.setField(this,9,void 0)},proto.BVCU.Search.Search_IMMsgFilter.prototype.hasImsgtype=function(){return null!=r.Message.getField(this,9)},proto.BVCU.Search.Search_IMMsgFilter.prototype.getStmsgcontent=function(){return r.Message.getFieldWithDefault(this,10,\"\")},proto.BVCU.Search.Search_IMMsgFilter.prototype.setStmsgcontent=function(e){r.Message.setField(this,10,e)},proto.BVCU.Search.Search_IMMsgFilter.prototype.clearStmsgcontent=function(){r.Message.setField(this,10,void 0)},proto.BVCU.Search.Search_IMMsgFilter.prototype.hasStmsgcontent=function(){return null!=r.Message.getField(this,10)},proto.BVCU.Search.Search_UAListFilter=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.BVCU.Search.Search_UAListFilter,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.Search.Search_UAListFilter.displayName=\"proto.BVCU.Search.Search_UAListFilter\"),r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.Search.Search_UAListFilter.prototype.toObject=function(e){return proto.BVCU.Search.Search_UAListFilter.toObject(e,this)},proto.BVCU.Search.Search_UAListFilter.toObject=function(e,t){var o={szdevidorname:r.Message.getField(t,1),szuseridorname:r.Message.getField(t,2)};return e&&(o.$jspbMessageInstance=t),o}),proto.BVCU.Search.Search_UAListFilter.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.Search.Search_UAListFilter;return proto.BVCU.Search.Search_UAListFilter.deserializeBinaryFromReader(o,t)},proto.BVCU.Search.Search_UAListFilter.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readString();e.setSzdevidorname(o);break;case 2:o=t.readString();e.setSzuseridorname(o);break;default:t.skipField()}}return e},proto.BVCU.Search.Search_UAListFilter.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.Search.Search_UAListFilter.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.Search.Search_UAListFilter.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeString(1,o),null!=(o=r.Message.getField(e,2))&&t.writeString(2,o)},proto.BVCU.Search.Search_UAListFilter.prototype.getSzdevidorname=function(){return r.Message.getFieldWithDefault(this,1,\"\")},proto.BVCU.Search.Search_UAListFilter.prototype.setSzdevidorname=function(e){r.Message.setField(this,1,e)},proto.BVCU.Search.Search_UAListFilter.prototype.clearSzdevidorname=function(){r.Message.setField(this,1,void 0)},proto.BVCU.Search.Search_UAListFilter.prototype.hasSzdevidorname=function(){return null!=r.Message.getField(this,1)},proto.BVCU.Search.Search_UAListFilter.prototype.getSzuseridorname=function(){return r.Message.getFieldWithDefault(this,2,\"\")},proto.BVCU.Search.Search_UAListFilter.prototype.setSzuseridorname=function(e){r.Message.setField(this,2,e)},proto.BVCU.Search.Search_UAListFilter.prototype.clearSzuseridorname=function(){r.Message.setField(this,2,void 0)},proto.BVCU.Search.Search_UAListFilter.prototype.hasSzuseridorname=function(){return null!=r.Message.getField(this,2)},proto.BVCU.Search.Search_Request=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.BVCU.Search.Search_Request,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.Search.Search_Request.displayName=\"proto.BVCU.Search.Search_Request\"),r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.Search.Search_Request.prototype.toObject=function(e){return proto.BVCU.Search.Search_Request.toObject(e,this)},proto.BVCU.Search.Search_Request.toObject=function(e,t){var o,r={stsearchinfo:(o=t.getStsearchinfo())&&proto.BVCU.Search.SearchInfo.toObject(e,o),stfilefilter:(o=t.getStfilefilter())&&proto.BVCU.Search.Search_FileFilter.toObject(e,o),stculoginlogfilter:(o=t.getStculoginlogfilter())&&proto.BVCU.Search.Search_CULoginLog.toObject(e,o),stpuloginlogfilter:(o=t.getStpuloginlogfilter())&&proto.BVCU.Search.Search_PULoginLog.toObject(e,o),stoperatefilter:(o=t.getStoperatefilter())&&proto.BVCU.Search.Search_OperateLog.toObject(e,o),stdialoglogfilter:(o=t.getStdialoglogfilter())&&proto.BVCU.Search.Search_DialogLog.toObject(e,o),stpulistfilter:(o=t.getStpulistfilter())&&proto.BVCU.Search.Search_PUListFilter.toObject(e,o),steventfilter:(o=t.getSteventfilter())&&proto.BVCU.Search.Search_EventFilter.toObject(e,o),stuserfilter:(o=t.getStuserfilter())&&proto.BVCU.Search.Search_UserFilter.toObject(e,o),stimmsgfilter:(o=t.getStimmsgfilter())&&proto.BVCU.Search.Search_IMMsgFilter.toObject(e,o),stualistfilter:(o=t.getStualistfilter())&&proto.BVCU.Search.Search_UAListFilter.toObject(e,o)};return e&&(r.$jspbMessageInstance=t),r}),proto.BVCU.Search.Search_Request.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.Search.Search_Request;return proto.BVCU.Search.Search_Request.deserializeBinaryFromReader(o,t)},proto.BVCU.Search.Search_Request.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=new proto.BVCU.Search.SearchInfo;t.readMessage(o,proto.BVCU.Search.SearchInfo.deserializeBinaryFromReader),e.setStsearchinfo(o);break;case 2:o=new proto.BVCU.Search.Search_FileFilter;t.readMessage(o,proto.BVCU.Search.Search_FileFilter.deserializeBinaryFromReader),e.setStfilefilter(o);break;case 3:o=new proto.BVCU.Search.Search_CULoginLog;t.readMessage(o,proto.BVCU.Search.Search_CULoginLog.deserializeBinaryFromReader),e.setStculoginlogfilter(o);break;case 4:o=new proto.BVCU.Search.Search_PULoginLog;t.readMessage(o,proto.BVCU.Search.Search_PULoginLog.deserializeBinaryFromReader),e.setStpuloginlogfilter(o);break;case 5:o=new proto.BVCU.Search.Search_OperateLog;t.readMessage(o,proto.BVCU.Search.Search_OperateLog.deserializeBinaryFromReader),e.setStoperatefilter(o);break;case 6:o=new proto.BVCU.Search.Search_DialogLog;t.readMessage(o,proto.BVCU.Search.Search_DialogLog.deserializeBinaryFromReader),e.setStdialoglogfilter(o);break;case 7:o=new proto.BVCU.Search.Search_PUListFilter;t.readMessage(o,proto.BVCU.Search.Search_PUListFilter.deserializeBinaryFromReader),e.setStpulistfilter(o);break;case 8:o=new proto.BVCU.Search.Search_EventFilter;t.readMessage(o,proto.BVCU.Search.Search_EventFilter.deserializeBinaryFromReader),e.setSteventfilter(o);break;case 9:o=new proto.BVCU.Search.Search_UserFilter;t.readMessage(o,proto.BVCU.Search.Search_UserFilter.deserializeBinaryFromReader),e.setStuserfilter(o);break;case 10:o=new proto.BVCU.Search.Search_IMMsgFilter;t.readMessage(o,proto.BVCU.Search.Search_IMMsgFilter.deserializeBinaryFromReader),e.setStimmsgfilter(o);break;case 11:o=new proto.BVCU.Search.Search_UAListFilter;t.readMessage(o,proto.BVCU.Search.Search_UAListFilter.deserializeBinaryFromReader),e.setStualistfilter(o);break;default:t.skipField()}}return e},proto.BVCU.Search.Search_Request.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.Search.Search_Request.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.Search.Search_Request.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=e.getStsearchinfo())&&t.writeMessage(1,o,proto.BVCU.Search.SearchInfo.serializeBinaryToWriter),null!=(o=e.getStfilefilter())&&t.writeMessage(2,o,proto.BVCU.Search.Search_FileFilter.serializeBinaryToWriter),null!=(o=e.getStculoginlogfilter())&&t.writeMessage(3,o,proto.BVCU.Search.Search_CULoginLog.serializeBinaryToWriter),null!=(o=e.getStpuloginlogfilter())&&t.writeMessage(4,o,proto.BVCU.Search.Search_PULoginLog.serializeBinaryToWriter),null!=(o=e.getStoperatefilter())&&t.writeMessage(5,o,proto.BVCU.Search.Search_OperateLog.serializeBinaryToWriter),null!=(o=e.getStdialoglogfilter())&&t.writeMessage(6,o,proto.BVCU.Search.Search_DialogLog.serializeBinaryToWriter),null!=(o=e.getStpulistfilter())&&t.writeMessage(7,o,proto.BVCU.Search.Search_PUListFilter.serializeBinaryToWriter),null!=(o=e.getSteventfilter())&&t.writeMessage(8,o,proto.BVCU.Search.Search_EventFilter.serializeBinaryToWriter),null!=(o=e.getStuserfilter())&&t.writeMessage(9,o,proto.BVCU.Search.Search_UserFilter.serializeBinaryToWriter),null!=(o=e.getStimmsgfilter())&&t.writeMessage(10,o,proto.BVCU.Search.Search_IMMsgFilter.serializeBinaryToWriter),null!=(o=e.getStualistfilter())&&t.writeMessage(11,o,proto.BVCU.Search.Search_UAListFilter.serializeBinaryToWriter)},proto.BVCU.Search.Search_Request.prototype.getStsearchinfo=function(){return r.Message.getWrapperField(this,proto.BVCU.Search.SearchInfo,1)},proto.BVCU.Search.Search_Request.prototype.setStsearchinfo=function(e){r.Message.setWrapperField(this,1,e)},proto.BVCU.Search.Search_Request.prototype.clearStsearchinfo=function(){this.setStsearchinfo(void 0)},proto.BVCU.Search.Search_Request.prototype.hasStsearchinfo=function(){return null!=r.Message.getField(this,1)},proto.BVCU.Search.Search_Request.prototype.getStfilefilter=function(){return r.Message.getWrapperField(this,proto.BVCU.Search.Search_FileFilter,2)},proto.BVCU.Search.Search_Request.prototype.setStfilefilter=function(e){r.Message.setWrapperField(this,2,e)},proto.BVCU.Search.Search_Request.prototype.clearStfilefilter=function(){this.setStfilefilter(void 0)},proto.BVCU.Search.Search_Request.prototype.hasStfilefilter=function(){return null!=r.Message.getField(this,2)},proto.BVCU.Search.Search_Request.prototype.getStculoginlogfilter=function(){return r.Message.getWrapperField(this,proto.BVCU.Search.Search_CULoginLog,3)},proto.BVCU.Search.Search_Request.prototype.setStculoginlogfilter=function(e){r.Message.setWrapperField(this,3,e)},proto.BVCU.Search.Search_Request.prototype.clearStculoginlogfilter=function(){this.setStculoginlogfilter(void 0)},proto.BVCU.Search.Search_Request.prototype.hasStculoginlogfilter=function(){return null!=r.Message.getField(this,3)},proto.BVCU.Search.Search_Request.prototype.getStpuloginlogfilter=function(){return r.Message.getWrapperField(this,proto.BVCU.Search.Search_PULoginLog,4)},proto.BVCU.Search.Search_Request.prototype.setStpuloginlogfilter=function(e){r.Message.setWrapperField(this,4,e)},proto.BVCU.Search.Search_Request.prototype.clearStpuloginlogfilter=function(){this.setStpuloginlogfilter(void 0)},proto.BVCU.Search.Search_Request.prototype.hasStpuloginlogfilter=function(){return null!=r.Message.getField(this,4)},proto.BVCU.Search.Search_Request.prototype.getStoperatefilter=function(){return r.Message.getWrapperField(this,proto.BVCU.Search.Search_OperateLog,5)},proto.BVCU.Search.Search_Request.prototype.setStoperatefilter=function(e){r.Message.setWrapperField(this,5,e)},proto.BVCU.Search.Search_Request.prototype.clearStoperatefilter=function(){this.setStoperatefilter(void 0)},proto.BVCU.Search.Search_Request.prototype.hasStoperatefilter=function(){return null!=r.Message.getField(this,5)},proto.BVCU.Search.Search_Request.prototype.getStdialoglogfilter=function(){return r.Message.getWrapperField(this,proto.BVCU.Search.Search_DialogLog,6)},proto.BVCU.Search.Search_Request.prototype.setStdialoglogfilter=function(e){r.Message.setWrapperField(this,6,e)},proto.BVCU.Search.Search_Request.prototype.clearStdialoglogfilter=function(){this.setStdialoglogfilter(void 0)},proto.BVCU.Search.Search_Request.prototype.hasStdialoglogfilter=function(){return null!=r.Message.getField(this,6)},proto.BVCU.Search.Search_Request.prototype.getStpulistfilter=function(){return r.Message.getWrapperField(this,proto.BVCU.Search.Search_PUListFilter,7)},proto.BVCU.Search.Search_Request.prototype.setStpulistfilter=function(e){r.Message.setWrapperField(this,7,e)},proto.BVCU.Search.Search_Request.prototype.clearStpulistfilter=function(){this.setStpulistfilter(void 0)},proto.BVCU.Search.Search_Request.prototype.hasStpulistfilter=function(){return null!=r.Message.getField(this,7)},proto.BVCU.Search.Search_Request.prototype.getSteventfilter=function(){return r.Message.getWrapperField(this,proto.BVCU.Search.Search_EventFilter,8)},proto.BVCU.Search.Search_Request.prototype.setSteventfilter=function(e){r.Message.setWrapperField(this,8,e)},proto.BVCU.Search.Search_Request.prototype.clearSteventfilter=function(){this.setSteventfilter(void 0)},proto.BVCU.Search.Search_Request.prototype.hasSteventfilter=function(){return null!=r.Message.getField(this,8)},proto.BVCU.Search.Search_Request.prototype.getStuserfilter=function(){return r.Message.getWrapperField(this,proto.BVCU.Search.Search_UserFilter,9)},proto.BVCU.Search.Search_Request.prototype.setStuserfilter=function(e){r.Message.setWrapperField(this,9,e)},proto.BVCU.Search.Search_Request.prototype.clearStuserfilter=function(){this.setStuserfilter(void 0)},proto.BVCU.Search.Search_Request.prototype.hasStuserfilter=function(){return null!=r.Message.getField(this,9)},proto.BVCU.Search.Search_Request.prototype.getStimmsgfilter=function(){return r.Message.getWrapperField(this,proto.BVCU.Search.Search_IMMsgFilter,10)},proto.BVCU.Search.Search_Request.prototype.setStimmsgfilter=function(e){r.Message.setWrapperField(this,10,e)},proto.BVCU.Search.Search_Request.prototype.clearStimmsgfilter=function(){this.setStimmsgfilter(void 0)},proto.BVCU.Search.Search_Request.prototype.hasStimmsgfilter=function(){return null!=r.Message.getField(this,10)},proto.BVCU.Search.Search_Request.prototype.getStualistfilter=function(){return r.Message.getWrapperField(this,proto.BVCU.Search.Search_UAListFilter,11)},proto.BVCU.Search.Search_Request.prototype.setStualistfilter=function(e){r.Message.setWrapperField(this,11,e)},proto.BVCU.Search.Search_Request.prototype.clearStualistfilter=function(){this.setStualistfilter(void 0)},proto.BVCU.Search.Search_Request.prototype.hasStualistfilter=function(){return null!=r.Message.getField(this,11)},proto.BVCU.Search.Search_Response=function(e){r.Message.initialize(this,e,0,-1,proto.BVCU.Search.Search_Response.repeatedFields_,null)},i.inherits(proto.BVCU.Search.Search_Response,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.Search.Search_Response.displayName=\"proto.BVCU.Search.Search_Response\"),proto.BVCU.Search.Search_Response.repeatedFields_=[2,3,4,5,6,7,8,9,10,11],r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.Search.Search_Response.prototype.toObject=function(e){return proto.BVCU.Search.Search_Response.toObject(e,this)},proto.BVCU.Search.Search_Response.toObject=function(e,t){var o,i={stsearchinfo:(o=t.getStsearchinfo())&&proto.BVCU.Search.SearchInfo.toObject(e,o),pfileinfoList:r.Message.toObjectList(t.getPfileinfoList(),proto.BVCU.Search.Search_FileInfo.toObject,e),pculoginlogList:r.Message.toObjectList(t.getPculoginlogList(),proto.BVCU.Search.Search_CULoginLog.toObject,e),ppuloginlogList:r.Message.toObjectList(t.getPpuloginlogList(),proto.BVCU.Search.Search_PULoginLog.toObject,e),poperatelogList:r.Message.toObjectList(t.getPoperatelogList(),proto.BVCU.Search.Search_OperateLog.toObject,e),pdialoglogList:r.Message.toObjectList(t.getPdialoglogList(),proto.BVCU.Search.Search_DialogLog.toObject,e),ppulistList:r.Message.toObjectList(t.getPpulistList(),proto.BVCU.Search.Search_PUList.toObject,e),peventlogList:r.Message.toObjectList(t.getPeventlogList(),p.Event_SourceSaved.toObject,e),puserlistList:r.Message.toObjectList(t.getPuserlistList(),g.User.toObject,e),pimmsglistList:r.Message.toObjectList(t.getPimmsglistList(),proto.BVCU.Search.Search_IMMsg.toObject,e),pualistList:r.Message.toObjectList(t.getPualistList(),proto.BVCU.Search.Search_UAInfo.toObject,e)};return e&&(i.$jspbMessageInstance=t),i}),proto.BVCU.Search.Search_Response.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.Search.Search_Response;return proto.BVCU.Search.Search_Response.deserializeBinaryFromReader(o,t)},proto.BVCU.Search.Search_Response.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=new proto.BVCU.Search.SearchInfo;t.readMessage(o,proto.BVCU.Search.SearchInfo.deserializeBinaryFromReader),e.setStsearchinfo(o);break;case 2:o=new proto.BVCU.Search.Search_FileInfo;t.readMessage(o,proto.BVCU.Search.Search_FileInfo.deserializeBinaryFromReader),e.addPfileinfo(o);break;case 3:o=new proto.BVCU.Search.Search_CULoginLog;t.readMessage(o,proto.BVCU.Search.Search_CULoginLog.deserializeBinaryFromReader),e.addPculoginlog(o);break;case 4:o=new proto.BVCU.Search.Search_PULoginLog;t.readMessage(o,proto.BVCU.Search.Search_PULoginLog.deserializeBinaryFromReader),e.addPpuloginlog(o);break;case 5:o=new proto.BVCU.Search.Search_OperateLog;t.readMessage(o,proto.BVCU.Search.Search_OperateLog.deserializeBinaryFromReader),e.addPoperatelog(o);break;case 6:o=new proto.BVCU.Search.Search_DialogLog;t.readMessage(o,proto.BVCU.Search.Search_DialogLog.deserializeBinaryFromReader),e.addPdialoglog(o);break;case 7:o=new proto.BVCU.Search.Search_PUList;t.readMessage(o,proto.BVCU.Search.Search_PUList.deserializeBinaryFromReader),e.addPpulist(o);break;case 8:o=new p.Event_SourceSaved;t.readMessage(o,p.Event_SourceSaved.deserializeBinaryFromReader),e.addPeventlog(o);break;case 9:o=new g.User;t.readMessage(o,g.User.deserializeBinaryFromReader),e.addPuserlist(o);break;case 10:o=new proto.BVCU.Search.Search_IMMsg;t.readMessage(o,proto.BVCU.Search.Search_IMMsg.deserializeBinaryFromReader),e.addPimmsglist(o);break;case 11:o=new proto.BVCU.Search.Search_UAInfo;t.readMessage(o,proto.BVCU.Search.Search_UAInfo.deserializeBinaryFromReader),e.addPualist(o);break;default:t.skipField()}}return e},proto.BVCU.Search.Search_Response.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.Search.Search_Response.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.Search.Search_Response.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=e.getStsearchinfo())&&t.writeMessage(1,o,proto.BVCU.Search.SearchInfo.serializeBinaryToWriter),(o=e.getPfileinfoList()).length>0&&t.writeRepeatedMessage(2,o,proto.BVCU.Search.Search_FileInfo.serializeBinaryToWriter),(o=e.getPculoginlogList()).length>0&&t.writeRepeatedMessage(3,o,proto.BVCU.Search.Search_CULoginLog.serializeBinaryToWriter),(o=e.getPpuloginlogList()).length>0&&t.writeRepeatedMessage(4,o,proto.BVCU.Search.Search_PULoginLog.serializeBinaryToWriter),(o=e.getPoperatelogList()).length>0&&t.writeRepeatedMessage(5,o,proto.BVCU.Search.Search_OperateLog.serializeBinaryToWriter),(o=e.getPdialoglogList()).length>0&&t.writeRepeatedMessage(6,o,proto.BVCU.Search.Search_DialogLog.serializeBinaryToWriter),(o=e.getPpulistList()).length>0&&t.writeRepeatedMessage(7,o,proto.BVCU.Search.Search_PUList.serializeBinaryToWriter),(o=e.getPeventlogList()).length>0&&t.writeRepeatedMessage(8,o,p.Event_SourceSaved.serializeBinaryToWriter),(o=e.getPuserlistList()).length>0&&t.writeRepeatedMessage(9,o,g.User.serializeBinaryToWriter),(o=e.getPimmsglistList()).length>0&&t.writeRepeatedMessage(10,o,proto.BVCU.Search.Search_IMMsg.serializeBinaryToWriter),(o=e.getPualistList()).length>0&&t.writeRepeatedMessage(11,o,proto.BVCU.Search.Search_UAInfo.serializeBinaryToWriter)},proto.BVCU.Search.Search_Response.prototype.getStsearchinfo=function(){return r.Message.getWrapperField(this,proto.BVCU.Search.SearchInfo,1)},proto.BVCU.Search.Search_Response.prototype.setStsearchinfo=function(e){r.Message.setWrapperField(this,1,e)},proto.BVCU.Search.Search_Response.prototype.clearStsearchinfo=function(){this.setStsearchinfo(void 0)},proto.BVCU.Search.Search_Response.prototype.hasStsearchinfo=function(){return null!=r.Message.getField(this,1)},proto.BVCU.Search.Search_Response.prototype.getPfileinfoList=function(){return r.Message.getRepeatedWrapperField(this,proto.BVCU.Search.Search_FileInfo,2)},proto.BVCU.Search.Search_Response.prototype.setPfileinfoList=function(e){r.Message.setRepeatedWrapperField(this,2,e)},proto.BVCU.Search.Search_Response.prototype.addPfileinfo=function(e,t){return r.Message.addToRepeatedWrapperField(this,2,e,proto.BVCU.Search.Search_FileInfo,t)},proto.BVCU.Search.Search_Response.prototype.clearPfileinfoList=function(){this.setPfileinfoList([])},proto.BVCU.Search.Search_Response.prototype.getPculoginlogList=function(){return r.Message.getRepeatedWrapperField(this,proto.BVCU.Search.Search_CULoginLog,3)},proto.BVCU.Search.Search_Response.prototype.setPculoginlogList=function(e){r.Message.setRepeatedWrapperField(this,3,e)},proto.BVCU.Search.Search_Response.prototype.addPculoginlog=function(e,t){return r.Message.addToRepeatedWrapperField(this,3,e,proto.BVCU.Search.Search_CULoginLog,t)},proto.BVCU.Search.Search_Response.prototype.clearPculoginlogList=function(){this.setPculoginlogList([])},proto.BVCU.Search.Search_Response.prototype.getPpuloginlogList=function(){return r.Message.getRepeatedWrapperField(this,proto.BVCU.Search.Search_PULoginLog,4)},proto.BVCU.Search.Search_Response.prototype.setPpuloginlogList=function(e){r.Message.setRepeatedWrapperField(this,4,e)},proto.BVCU.Search.Search_Response.prototype.addPpuloginlog=function(e,t){return r.Message.addToRepeatedWrapperField(this,4,e,proto.BVCU.Search.Search_PULoginLog,t)},proto.BVCU.Search.Search_Response.prototype.clearPpuloginlogList=function(){this.setPpuloginlogList([])},proto.BVCU.Search.Search_Response.prototype.getPoperatelogList=function(){return r.Message.getRepeatedWrapperField(this,proto.BVCU.Search.Search_OperateLog,5)},proto.BVCU.Search.Search_Response.prototype.setPoperatelogList=function(e){r.Message.setRepeatedWrapperField(this,5,e)},proto.BVCU.Search.Search_Response.prototype.addPoperatelog=function(e,t){return r.Message.addToRepeatedWrapperField(this,5,e,proto.BVCU.Search.Search_OperateLog,t)},proto.BVCU.Search.Search_Response.prototype.clearPoperatelogList=function(){this.setPoperatelogList([])},proto.BVCU.Search.Search_Response.prototype.getPdialoglogList=function(){return r.Message.getRepeatedWrapperField(this,proto.BVCU.Search.Search_DialogLog,6)},proto.BVCU.Search.Search_Response.prototype.setPdialoglogList=function(e){r.Message.setRepeatedWrapperField(this,6,e)},proto.BVCU.Search.Search_Response.prototype.addPdialoglog=function(e,t){return r.Message.addToRepeatedWrapperField(this,6,e,proto.BVCU.Search.Search_DialogLog,t)},proto.BVCU.Search.Search_Response.prototype.clearPdialoglogList=function(){this.setPdialoglogList([])},proto.BVCU.Search.Search_Response.prototype.getPpulistList=function(){return r.Message.getRepeatedWrapperField(this,proto.BVCU.Search.Search_PUList,7)},proto.BVCU.Search.Search_Response.prototype.setPpulistList=function(e){r.Message.setRepeatedWrapperField(this,7,e)},proto.BVCU.Search.Search_Response.prototype.addPpulist=function(e,t){return r.Message.addToRepeatedWrapperField(this,7,e,proto.BVCU.Search.Search_PUList,t)},proto.BVCU.Search.Search_Response.prototype.clearPpulistList=function(){this.setPpulistList([])},proto.BVCU.Search.Search_Response.prototype.getPeventlogList=function(){return r.Message.getRepeatedWrapperField(this,p.Event_SourceSaved,8)},proto.BVCU.Search.Search_Response.prototype.setPeventlogList=function(e){r.Message.setRepeatedWrapperField(this,8,e)},proto.BVCU.Search.Search_Response.prototype.addPeventlog=function(e,t){return r.Message.addToRepeatedWrapperField(this,8,e,proto.BVCU.Event_SourceSaved,t)},proto.BVCU.Search.Search_Response.prototype.clearPeventlogList=function(){this.setPeventlogList([])},proto.BVCU.Search.Search_Response.prototype.getPuserlistList=function(){return r.Message.getRepeatedWrapperField(this,g.User,9)},proto.BVCU.Search.Search_Response.prototype.setPuserlistList=function(e){r.Message.setRepeatedWrapperField(this,9,e)},proto.BVCU.Search.Search_Response.prototype.addPuserlist=function(e,t){return r.Message.addToRepeatedWrapperField(this,9,e,proto.BVCU.UserConfig.User,t)},proto.BVCU.Search.Search_Response.prototype.clearPuserlistList=function(){this.setPuserlistList([])},proto.BVCU.Search.Search_Response.prototype.getPimmsglistList=function(){return r.Message.getRepeatedWrapperField(this,proto.BVCU.Search.Search_IMMsg,10)},proto.BVCU.Search.Search_Response.prototype.setPimmsglistList=function(e){r.Message.setRepeatedWrapperField(this,10,e)},proto.BVCU.Search.Search_Response.prototype.addPimmsglist=function(e,t){return r.Message.addToRepeatedWrapperField(this,10,e,proto.BVCU.Search.Search_IMMsg,t)},proto.BVCU.Search.Search_Response.prototype.clearPimmsglistList=function(){this.setPimmsglistList([])},proto.BVCU.Search.Search_Response.prototype.getPualistList=function(){return r.Message.getRepeatedWrapperField(this,proto.BVCU.Search.Search_UAInfo,11)},proto.BVCU.Search.Search_Response.prototype.setPualistList=function(e){r.Message.setRepeatedWrapperField(this,11,e)},proto.BVCU.Search.Search_Response.prototype.addPualist=function(e,t){return r.Message.addToRepeatedWrapperField(this,11,e,proto.BVCU.Search.Search_UAInfo,t)},proto.BVCU.Search.Search_Response.prototype.clearPualistList=function(){this.setPualistList([])},i.object.extend(t,proto.BVCU.Search)},function(e,t,o){var r=o(0),i=r,s=Function(\"return this\")(),n=o(1);i.exportSymbol(\"proto.BVCU.ConfBaseInfo\",null,s),i.exportSymbol(\"proto.BVCU.ConfInfo\",null,s),i.exportSymbol(\"proto.BVCU.ConfParticipatorAddResult\",null,s),i.exportSymbol(\"proto.BVCU.ConfParticipatorInfo\",null,s),i.exportSymbol(\"proto.BVCU.ConfParticipatorInvite\",null,s),i.exportSymbol(\"proto.BVCU.ConfParticipatorJoin\",null,s),i.exportSymbol(\"proto.BVCU.ConfParticipators\",null,s),i.exportSymbol(\"proto.BVCU.IM_File\",null,s),i.exportSymbol(\"proto.BVCU.IM_Msg\",null,s),i.exportSymbol(\"proto.BVCU.IM_Msgs\",null,s),proto.BVCU.ConfBaseInfo=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.BVCU.ConfBaseInfo,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.ConfBaseInfo.displayName=\"proto.BVCU.ConfBaseInfo\"),r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.ConfBaseInfo.prototype.toObject=function(e){return proto.BVCU.ConfBaseInfo.toObject(e,this)},proto.BVCU.ConfBaseInfo.toObject=function(e,t){var o={szname:r.Message.getField(t,1),szid:r.Message.getField(t,2),imode:r.Message.getField(t,3),iconfstatus:r.Message.getField(t,4),szpassword:t.getSzpassword_asB64(),itimeout:r.Message.getFieldWithDefault(t,6,-1),irecordstatus:r.Message.getField(t,7),szrecordnruid:r.Message.getField(t,8)};return e&&(o.$jspbMessageInstance=t),o}),proto.BVCU.ConfBaseInfo.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.ConfBaseInfo;return proto.BVCU.ConfBaseInfo.deserializeBinaryFromReader(o,t)},proto.BVCU.ConfBaseInfo.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readString();e.setSzname(o);break;case 2:o=t.readString();e.setSzid(o);break;case 3:o=t.readUint32();e.setImode(o);break;case 4:o=t.readUint32();e.setIconfstatus(o);break;case 5:o=t.readBytes();e.setSzpassword(o);break;case 6:o=t.readInt32();e.setItimeout(o);break;case 7:o=t.readInt32();e.setIrecordstatus(o);break;case 8:o=t.readString();e.setSzrecordnruid(o);break;default:t.skipField()}}return e},proto.BVCU.ConfBaseInfo.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.ConfBaseInfo.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.ConfBaseInfo.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeString(1,o),null!=(o=r.Message.getField(e,2))&&t.writeString(2,o),null!=(o=r.Message.getField(e,3))&&t.writeUint32(3,o),null!=(o=r.Message.getField(e,4))&&t.writeUint32(4,o),null!=(o=r.Message.getField(e,5))&&t.writeBytes(5,o),null!=(o=r.Message.getField(e,6))&&t.writeInt32(6,o),null!=(o=r.Message.getField(e,7))&&t.writeInt32(7,o),null!=(o=r.Message.getField(e,8))&&t.writeString(8,o)},proto.BVCU.ConfBaseInfo.prototype.getSzname=function(){return r.Message.getFieldWithDefault(this,1,\"\")},proto.BVCU.ConfBaseInfo.prototype.setSzname=function(e){r.Message.setField(this,1,e)},proto.BVCU.ConfBaseInfo.prototype.clearSzname=function(){r.Message.setField(this,1,void 0)},proto.BVCU.ConfBaseInfo.prototype.hasSzname=function(){return null!=r.Message.getField(this,1)},proto.BVCU.ConfBaseInfo.prototype.getSzid=function(){return r.Message.getFieldWithDefault(this,2,\"\")},proto.BVCU.ConfBaseInfo.prototype.setSzid=function(e){r.Message.setField(this,2,e)},proto.BVCU.ConfBaseInfo.prototype.clearSzid=function(){r.Message.setField(this,2,void 0)},proto.BVCU.ConfBaseInfo.prototype.hasSzid=function(){return null!=r.Message.getField(this,2)},proto.BVCU.ConfBaseInfo.prototype.getImode=function(){return r.Message.getFieldWithDefault(this,3,0)},proto.BVCU.ConfBaseInfo.prototype.setImode=function(e){r.Message.setField(this,3,e)},proto.BVCU.ConfBaseInfo.prototype.clearImode=function(){r.Message.setField(this,3,void 0)},proto.BVCU.ConfBaseInfo.prototype.hasImode=function(){return null!=r.Message.getField(this,3)},proto.BVCU.ConfBaseInfo.prototype.getIconfstatus=function(){return r.Message.getFieldWithDefault(this,4,0)},proto.BVCU.ConfBaseInfo.prototype.setIconfstatus=function(e){r.Message.setField(this,4,e)},proto.BVCU.ConfBaseInfo.prototype.clearIconfstatus=function(){r.Message.setField(this,4,void 0)},proto.BVCU.ConfBaseInfo.prototype.hasIconfstatus=function(){return null!=r.Message.getField(this,4)},proto.BVCU.ConfBaseInfo.prototype.getSzpassword=function(){return r.Message.getFieldWithDefault(this,5,\"\")},proto.BVCU.ConfBaseInfo.prototype.getSzpassword_asB64=function(){return r.Message.bytesAsB64(this.getSzpassword())},proto.BVCU.ConfBaseInfo.prototype.getSzpassword_asU8=function(){return r.Message.bytesAsU8(this.getSzpassword())},proto.BVCU.ConfBaseInfo.prototype.setSzpassword=function(e){r.Message.setField(this,5,e)},proto.BVCU.ConfBaseInfo.prototype.clearSzpassword=function(){r.Message.setField(this,5,void 0)},proto.BVCU.ConfBaseInfo.prototype.hasSzpassword=function(){return null!=r.Message.getField(this,5)},proto.BVCU.ConfBaseInfo.prototype.getItimeout=function(){return r.Message.getFieldWithDefault(this,6,-1)},proto.BVCU.ConfBaseInfo.prototype.setItimeout=function(e){r.Message.setField(this,6,e)},proto.BVCU.ConfBaseInfo.prototype.clearItimeout=function(){r.Message.setField(this,6,void 0)},proto.BVCU.ConfBaseInfo.prototype.hasItimeout=function(){return null!=r.Message.getField(this,6)},proto.BVCU.ConfBaseInfo.prototype.getIrecordstatus=function(){return r.Message.getFieldWithDefault(this,7,0)},proto.BVCU.ConfBaseInfo.prototype.setIrecordstatus=function(e){r.Message.setField(this,7,e)},proto.BVCU.ConfBaseInfo.prototype.clearIrecordstatus=function(){r.Message.setField(this,7,void 0)},proto.BVCU.ConfBaseInfo.prototype.hasIrecordstatus=function(){return null!=r.Message.getField(this,7)},proto.BVCU.ConfBaseInfo.prototype.getSzrecordnruid=function(){return r.Message.getFieldWithDefault(this,8,\"\")},proto.BVCU.ConfBaseInfo.prototype.setSzrecordnruid=function(e){r.Message.setField(this,8,e)},proto.BVCU.ConfBaseInfo.prototype.clearSzrecordnruid=function(){r.Message.setField(this,8,void 0)},proto.BVCU.ConfBaseInfo.prototype.hasSzrecordnruid=function(){return null!=r.Message.getField(this,8)},proto.BVCU.ConfParticipatorInfo=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.BVCU.ConfParticipatorInfo,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.ConfParticipatorInfo.displayName=\"proto.BVCU.ConfParticipatorInfo\"),r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.ConfParticipatorInfo.prototype.toObject=function(e){return proto.BVCU.ConfParticipatorInfo.toObject(e,this)},proto.BVCU.ConfParticipatorInfo.toObject=function(e,t){var o={szid:r.Message.getField(t,1),szusername:r.Message.getField(t,2),szaddr:r.Message.getField(t,3),szaliasname:r.Message.getField(t,4),iapplierid:r.Message.getField(t,10),ipid:r.Message.getField(t,9),iallowedmediadir:r.Message.getField(t,5),istatus:r.Message.getField(t,6),ipower:r.Message.getField(t,7),ivolume:r.Message.getFieldWithDefault(t,8,128)};return e&&(o.$jspbMessageInstance=t),o}),proto.BVCU.ConfParticipatorInfo.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.ConfParticipatorInfo;return proto.BVCU.ConfParticipatorInfo.deserializeBinaryFromReader(o,t)},proto.BVCU.ConfParticipatorInfo.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readString();e.setSzid(o);break;case 2:o=t.readString();e.setSzusername(o);break;case 3:o=t.readString();e.setSzaddr(o);break;case 4:o=t.readString();e.setSzaliasname(o);break;case 10:o=t.readUint32();e.setIapplierid(o);break;case 9:o=t.readUint32();e.setIpid(o);break;case 5:o=t.readUint32();e.setIallowedmediadir(o);break;case 6:o=t.readUint32();e.setIstatus(o);break;case 7:o=t.readUint32();e.setIpower(o);break;case 8:o=t.readUint32();e.setIvolume(o);break;default:t.skipField()}}return e},proto.BVCU.ConfParticipatorInfo.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.ConfParticipatorInfo.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.ConfParticipatorInfo.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeString(1,o),null!=(o=r.Message.getField(e,2))&&t.writeString(2,o),null!=(o=r.Message.getField(e,3))&&t.writeString(3,o),null!=(o=r.Message.getField(e,4))&&t.writeString(4,o),null!=(o=r.Message.getField(e,10))&&t.writeUint32(10,o),null!=(o=r.Message.getField(e,9))&&t.writeUint32(9,o),null!=(o=r.Message.getField(e,5))&&t.writeUint32(5,o),null!=(o=r.Message.getField(e,6))&&t.writeUint32(6,o),null!=(o=r.Message.getField(e,7))&&t.writeUint32(7,o),null!=(o=r.Message.getField(e,8))&&t.writeUint32(8,o)},proto.BVCU.ConfParticipatorInfo.prototype.getSzid=function(){return r.Message.getFieldWithDefault(this,1,\"\")},proto.BVCU.ConfParticipatorInfo.prototype.setSzid=function(e){r.Message.setField(this,1,e)},proto.BVCU.ConfParticipatorInfo.prototype.clearSzid=function(){r.Message.setField(this,1,void 0)},proto.BVCU.ConfParticipatorInfo.prototype.hasSzid=function(){return null!=r.Message.getField(this,1)},proto.BVCU.ConfParticipatorInfo.prototype.getSzusername=function(){return r.Message.getFieldWithDefault(this,2,\"\")},proto.BVCU.ConfParticipatorInfo.prototype.setSzusername=function(e){r.Message.setField(this,2,e)},proto.BVCU.ConfParticipatorInfo.prototype.clearSzusername=function(){r.Message.setField(this,2,void 0)},proto.BVCU.ConfParticipatorInfo.prototype.hasSzusername=function(){return null!=r.Message.getField(this,2)},proto.BVCU.ConfParticipatorInfo.prototype.getSzaddr=function(){return r.Message.getFieldWithDefault(this,3,\"\")},proto.BVCU.ConfParticipatorInfo.prototype.setSzaddr=function(e){r.Message.setField(this,3,e)},proto.BVCU.ConfParticipatorInfo.prototype.clearSzaddr=function(){r.Message.setField(this,3,void 0)},proto.BVCU.ConfParticipatorInfo.prototype.hasSzaddr=function(){return null!=r.Message.getField(this,3)},proto.BVCU.ConfParticipatorInfo.prototype.getSzaliasname=function(){return r.Message.getFieldWithDefault(this,4,\"\")},proto.BVCU.ConfParticipatorInfo.prototype.setSzaliasname=function(e){r.Message.setField(this,4,e)},proto.BVCU.ConfParticipatorInfo.prototype.clearSzaliasname=function(){r.Message.setField(this,4,void 0)},proto.BVCU.ConfParticipatorInfo.prototype.hasSzaliasname=function(){return null!=r.Message.getField(this,4)},proto.BVCU.ConfParticipatorInfo.prototype.getIapplierid=function(){return r.Message.getFieldWithDefault(this,10,0)},proto.BVCU.ConfParticipatorInfo.prototype.setIapplierid=function(e){r.Message.setField(this,10,e)},proto.BVCU.ConfParticipatorInfo.prototype.clearIapplierid=function(){r.Message.setField(this,10,void 0)},proto.BVCU.ConfParticipatorInfo.prototype.hasIapplierid=function(){return null!=r.Message.getField(this,10)},proto.BVCU.ConfParticipatorInfo.prototype.getIpid=function(){return r.Message.getFieldWithDefault(this,9,0)},proto.BVCU.ConfParticipatorInfo.prototype.setIpid=function(e){r.Message.setField(this,9,e)},proto.BVCU.ConfParticipatorInfo.prototype.clearIpid=function(){r.Message.setField(this,9,void 0)},proto.BVCU.ConfParticipatorInfo.prototype.hasIpid=function(){return null!=r.Message.getField(this,9)},proto.BVCU.ConfParticipatorInfo.prototype.getIallowedmediadir=function(){return r.Message.getFieldWithDefault(this,5,0)},proto.BVCU.ConfParticipatorInfo.prototype.setIallowedmediadir=function(e){r.Message.setField(this,5,e)},proto.BVCU.ConfParticipatorInfo.prototype.clearIallowedmediadir=function(){r.Message.setField(this,5,void 0)},proto.BVCU.ConfParticipatorInfo.prototype.hasIallowedmediadir=function(){return null!=r.Message.getField(this,5)},proto.BVCU.ConfParticipatorInfo.prototype.getIstatus=function(){return r.Message.getFieldWithDefault(this,6,0)},proto.BVCU.ConfParticipatorInfo.prototype.setIstatus=function(e){r.Message.setField(this,6,e)},proto.BVCU.ConfParticipatorInfo.prototype.clearIstatus=function(){r.Message.setField(this,6,void 0)},proto.BVCU.ConfParticipatorInfo.prototype.hasIstatus=function(){return null!=r.Message.getField(this,6)},proto.BVCU.ConfParticipatorInfo.prototype.getIpower=function(){return r.Message.getFieldWithDefault(this,7,0)},proto.BVCU.ConfParticipatorInfo.prototype.setIpower=function(e){r.Message.setField(this,7,e)},proto.BVCU.ConfParticipatorInfo.prototype.clearIpower=function(){r.Message.setField(this,7,void 0)},proto.BVCU.ConfParticipatorInfo.prototype.hasIpower=function(){return null!=r.Message.getField(this,7)},proto.BVCU.ConfParticipatorInfo.prototype.getIvolume=function(){return r.Message.getFieldWithDefault(this,8,128)},proto.BVCU.ConfParticipatorInfo.prototype.setIvolume=function(e){r.Message.setField(this,8,e)},proto.BVCU.ConfParticipatorInfo.prototype.clearIvolume=function(){r.Message.setField(this,8,void 0)},proto.BVCU.ConfParticipatorInfo.prototype.hasIvolume=function(){return null!=r.Message.getField(this,8)},proto.BVCU.ConfParticipators=function(e){r.Message.initialize(this,e,0,-1,proto.BVCU.ConfParticipators.repeatedFields_,null)},i.inherits(proto.BVCU.ConfParticipators,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.ConfParticipators.displayName=\"proto.BVCU.ConfParticipators\"),proto.BVCU.ConfParticipators.repeatedFields_=[1],r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.ConfParticipators.prototype.toObject=function(e){return proto.BVCU.ConfParticipators.toObject(e,this)},proto.BVCU.ConfParticipators.toObject=function(e,t){var o={confportsList:r.Message.toObjectList(t.getConfportsList(),proto.BVCU.ConfParticipatorInfo.toObject,e)};return e&&(o.$jspbMessageInstance=t),o}),proto.BVCU.ConfParticipators.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.ConfParticipators;return proto.BVCU.ConfParticipators.deserializeBinaryFromReader(o,t)},proto.BVCU.ConfParticipators.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=new proto.BVCU.ConfParticipatorInfo;t.readMessage(o,proto.BVCU.ConfParticipatorInfo.deserializeBinaryFromReader),e.addConfports(o);break;default:t.skipField()}}return e},proto.BVCU.ConfParticipators.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.ConfParticipators.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.ConfParticipators.serializeBinaryToWriter=function(e,t){var o;(o=e.getConfportsList()).length>0&&t.writeRepeatedMessage(1,o,proto.BVCU.ConfParticipatorInfo.serializeBinaryToWriter)},proto.BVCU.ConfParticipators.prototype.getConfportsList=function(){return r.Message.getRepeatedWrapperField(this,proto.BVCU.ConfParticipatorInfo,1)},proto.BVCU.ConfParticipators.prototype.setConfportsList=function(e){r.Message.setRepeatedWrapperField(this,1,e)},proto.BVCU.ConfParticipators.prototype.addConfports=function(e,t){return r.Message.addToRepeatedWrapperField(this,1,e,proto.BVCU.ConfParticipatorInfo,t)},proto.BVCU.ConfParticipators.prototype.clearConfportsList=function(){this.setConfportsList([])},proto.BVCU.ConfParticipatorAddResult=function(e){r.Message.initialize(this,e,0,-1,proto.BVCU.ConfParticipatorAddResult.repeatedFields_,null)},i.inherits(proto.BVCU.ConfParticipatorAddResult,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.ConfParticipatorAddResult.displayName=\"proto.BVCU.ConfParticipatorAddResult\"),proto.BVCU.ConfParticipatorAddResult.repeatedFields_=[1],r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.ConfParticipatorAddResult.prototype.toObject=function(e){return proto.BVCU.ConfParticipatorAddResult.toObject(e,this)},proto.BVCU.ConfParticipatorAddResult.toObject=function(e,t){var o={iresultbitsList:r.Message.getField(t,1)};return e&&(o.$jspbMessageInstance=t),o}),proto.BVCU.ConfParticipatorAddResult.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.ConfParticipatorAddResult;return proto.BVCU.ConfParticipatorAddResult.deserializeBinaryFromReader(o,t)},proto.BVCU.ConfParticipatorAddResult.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readUint32();e.addIresultbits(o);break;default:t.skipField()}}return e},proto.BVCU.ConfParticipatorAddResult.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.ConfParticipatorAddResult.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.ConfParticipatorAddResult.serializeBinaryToWriter=function(e,t){var o;(o=e.getIresultbitsList()).length>0&&t.writeRepeatedUint32(1,o)},proto.BVCU.ConfParticipatorAddResult.prototype.getIresultbitsList=function(){return r.Message.getField(this,1)},proto.BVCU.ConfParticipatorAddResult.prototype.setIresultbitsList=function(e){r.Message.setField(this,1,e||[])},proto.BVCU.ConfParticipatorAddResult.prototype.addIresultbits=function(e,t){r.Message.addToRepeatedField(this,1,e,t)},proto.BVCU.ConfParticipatorAddResult.prototype.clearIresultbitsList=function(){this.setIresultbitsList([])},proto.BVCU.ConfInfo=function(e){r.Message.initialize(this,e,0,-1,proto.BVCU.ConfInfo.repeatedFields_,null)},i.inherits(proto.BVCU.ConfInfo,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.ConfInfo.displayName=\"proto.BVCU.ConfInfo\"),proto.BVCU.ConfInfo.repeatedFields_=[2],r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.ConfInfo.prototype.toObject=function(e){return proto.BVCU.ConfInfo.toObject(e,this)},proto.BVCU.ConfInfo.toObject=function(e,t){var o,i={baseinfo:(o=t.getBaseinfo())&&proto.BVCU.ConfBaseInfo.toObject(e,o),pparticipatorsList:r.Message.toObjectList(t.getPparticipatorsList(),proto.BVCU.ConfParticipatorInfo.toObject,e),pcreator:r.Message.getField(t,3)};return e&&(i.$jspbMessageInstance=t),i}),proto.BVCU.ConfInfo.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.ConfInfo;return proto.BVCU.ConfInfo.deserializeBinaryFromReader(o,t)},proto.BVCU.ConfInfo.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=new proto.BVCU.ConfBaseInfo;t.readMessage(o,proto.BVCU.ConfBaseInfo.deserializeBinaryFromReader),e.setBaseinfo(o);break;case 2:o=new proto.BVCU.ConfParticipatorInfo;t.readMessage(o,proto.BVCU.ConfParticipatorInfo.deserializeBinaryFromReader),e.addPparticipators(o);break;case 3:o=t.readUint32();e.setPcreator(o);break;default:t.skipField()}}return e},proto.BVCU.ConfInfo.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.ConfInfo.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.ConfInfo.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=e.getBaseinfo())&&t.writeMessage(1,o,proto.BVCU.ConfBaseInfo.serializeBinaryToWriter),(o=e.getPparticipatorsList()).length>0&&t.writeRepeatedMessage(2,o,proto.BVCU.ConfParticipatorInfo.serializeBinaryToWriter),null!=(o=r.Message.getField(e,3))&&t.writeUint32(3,o)},proto.BVCU.ConfInfo.prototype.getBaseinfo=function(){return r.Message.getWrapperField(this,proto.BVCU.ConfBaseInfo,1)},proto.BVCU.ConfInfo.prototype.setBaseinfo=function(e){r.Message.setWrapperField(this,1,e)},proto.BVCU.ConfInfo.prototype.clearBaseinfo=function(){this.setBaseinfo(void 0)},proto.BVCU.ConfInfo.prototype.hasBaseinfo=function(){return null!=r.Message.getField(this,1)},proto.BVCU.ConfInfo.prototype.getPparticipatorsList=function(){return r.Message.getRepeatedWrapperField(this,proto.BVCU.ConfParticipatorInfo,2)},proto.BVCU.ConfInfo.prototype.setPparticipatorsList=function(e){r.Message.setRepeatedWrapperField(this,2,e)},proto.BVCU.ConfInfo.prototype.addPparticipators=function(e,t){return r.Message.addToRepeatedWrapperField(this,2,e,proto.BVCU.ConfParticipatorInfo,t)},proto.BVCU.ConfInfo.prototype.clearPparticipatorsList=function(){this.setPparticipatorsList([])},proto.BVCU.ConfInfo.prototype.getPcreator=function(){return r.Message.getFieldWithDefault(this,3,0)},proto.BVCU.ConfInfo.prototype.setPcreator=function(e){r.Message.setField(this,3,e)},proto.BVCU.ConfInfo.prototype.clearPcreator=function(){r.Message.setField(this,3,void 0)},proto.BVCU.ConfInfo.prototype.hasPcreator=function(){return null!=r.Message.getField(this,3)},proto.BVCU.ConfParticipatorJoin=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.BVCU.ConfParticipatorJoin,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.ConfParticipatorJoin.displayName=\"proto.BVCU.ConfParticipatorJoin\"),r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.ConfParticipatorJoin.prototype.toObject=function(e){return proto.BVCU.ConfParticipatorJoin.toObject(e,this)},proto.BVCU.ConfParticipatorJoin.toObject=function(e,t){var o={szpassword:t.getSzpassword_asB64(),szaliasname:r.Message.getField(t,2)};return e&&(o.$jspbMessageInstance=t),o}),proto.BVCU.ConfParticipatorJoin.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.ConfParticipatorJoin;return proto.BVCU.ConfParticipatorJoin.deserializeBinaryFromReader(o,t)},proto.BVCU.ConfParticipatorJoin.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readBytes();e.setSzpassword(o);break;case 2:o=t.readString();e.setSzaliasname(o);break;default:t.skipField()}}return e},proto.BVCU.ConfParticipatorJoin.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.ConfParticipatorJoin.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.ConfParticipatorJoin.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeBytes(1,o),null!=(o=r.Message.getField(e,2))&&t.writeString(2,o)},proto.BVCU.ConfParticipatorJoin.prototype.getSzpassword=function(){return r.Message.getFieldWithDefault(this,1,\"\")},proto.BVCU.ConfParticipatorJoin.prototype.getSzpassword_asB64=function(){return r.Message.bytesAsB64(this.getSzpassword())},proto.BVCU.ConfParticipatorJoin.prototype.getSzpassword_asU8=function(){return r.Message.bytesAsU8(this.getSzpassword())},proto.BVCU.ConfParticipatorJoin.prototype.setSzpassword=function(e){r.Message.setField(this,1,e)},proto.BVCU.ConfParticipatorJoin.prototype.clearSzpassword=function(){r.Message.setField(this,1,void 0)},proto.BVCU.ConfParticipatorJoin.prototype.hasSzpassword=function(){return null!=r.Message.getField(this,1)},proto.BVCU.ConfParticipatorJoin.prototype.getSzaliasname=function(){return r.Message.getFieldWithDefault(this,2,\"\")},proto.BVCU.ConfParticipatorJoin.prototype.setSzaliasname=function(e){r.Message.setField(this,2,e)},proto.BVCU.ConfParticipatorJoin.prototype.clearSzaliasname=function(){r.Message.setField(this,2,void 0)},proto.BVCU.ConfParticipatorJoin.prototype.hasSzaliasname=function(){return null!=r.Message.getField(this,2)},proto.BVCU.ConfParticipatorInvite=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.BVCU.ConfParticipatorInvite,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.ConfParticipatorInvite.displayName=\"proto.BVCU.ConfParticipatorInvite\"),r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.ConfParticipatorInvite.prototype.toObject=function(e){return proto.BVCU.ConfParticipatorInvite.toObject(e,this)},proto.BVCU.ConfParticipatorInvite.toObject=function(e,t){var o={szid:r.Message.getField(t,1),szusername:r.Message.getField(t,2),ipid:r.Message.getField(t,3)};return e&&(o.$jspbMessageInstance=t),o}),proto.BVCU.ConfParticipatorInvite.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.ConfParticipatorInvite;return proto.BVCU.ConfParticipatorInvite.deserializeBinaryFromReader(o,t)},proto.BVCU.ConfParticipatorInvite.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readString();e.setSzid(o);break;case 2:o=t.readString();e.setSzusername(o);break;case 3:o=t.readUint32();e.setIpid(o);break;default:t.skipField()}}return e},proto.BVCU.ConfParticipatorInvite.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.ConfParticipatorInvite.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.ConfParticipatorInvite.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeString(1,o),null!=(o=r.Message.getField(e,2))&&t.writeString(2,o),null!=(o=r.Message.getField(e,3))&&t.writeUint32(3,o)},proto.BVCU.ConfParticipatorInvite.prototype.getSzid=function(){return r.Message.getFieldWithDefault(this,1,\"\")},proto.BVCU.ConfParticipatorInvite.prototype.setSzid=function(e){r.Message.setField(this,1,e)},proto.BVCU.ConfParticipatorInvite.prototype.clearSzid=function(){r.Message.setField(this,1,void 0)},proto.BVCU.ConfParticipatorInvite.prototype.hasSzid=function(){return null!=r.Message.getField(this,1)},proto.BVCU.ConfParticipatorInvite.prototype.getSzusername=function(){return r.Message.getFieldWithDefault(this,2,\"\")},proto.BVCU.ConfParticipatorInvite.prototype.setSzusername=function(e){r.Message.setField(this,2,e)},proto.BVCU.ConfParticipatorInvite.prototype.clearSzusername=function(){r.Message.setField(this,2,void 0)},proto.BVCU.ConfParticipatorInvite.prototype.hasSzusername=function(){return null!=r.Message.getField(this,2)},proto.BVCU.ConfParticipatorInvite.prototype.getIpid=function(){return r.Message.getFieldWithDefault(this,3,0)},proto.BVCU.ConfParticipatorInvite.prototype.setIpid=function(e){r.Message.setField(this,3,e)},proto.BVCU.ConfParticipatorInvite.prototype.clearIpid=function(){r.Message.setField(this,3,void 0)},proto.BVCU.ConfParticipatorInvite.prototype.hasIpid=function(){return null!=r.Message.getField(this,3)},proto.BVCU.IM_File=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.BVCU.IM_File,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.IM_File.displayName=\"proto.BVCU.IM_File\"),r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.IM_File.prototype.toObject=function(e){return proto.BVCU.IM_File.toObject(e,this)},proto.BVCU.IM_File.toObject=function(e,t){var o={szid:r.Message.getField(t,1),szfilepath:r.Message.getField(t,2),ifilesize:r.Message.getField(t,3),iduration:r.Message.getField(t,4)};return e&&(o.$jspbMessageInstance=t),o}),proto.BVCU.IM_File.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.IM_File;return proto.BVCU.IM_File.deserializeBinaryFromReader(o,t)},proto.BVCU.IM_File.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readString();e.setSzid(o);break;case 2:o=t.readString();e.setSzfilepath(o);break;case 3:o=t.readInt32();e.setIfilesize(o);break;case 4:o=t.readInt32();e.setIduration(o);break;default:t.skipField()}}return e},proto.BVCU.IM_File.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.IM_File.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.IM_File.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeString(1,o),null!=(o=r.Message.getField(e,2))&&t.writeString(2,o),null!=(o=r.Message.getField(e,3))&&t.writeInt32(3,o),null!=(o=r.Message.getField(e,4))&&t.writeInt32(4,o)},proto.BVCU.IM_File.prototype.getSzid=function(){return r.Message.getFieldWithDefault(this,1,\"\")},proto.BVCU.IM_File.prototype.setSzid=function(e){r.Message.setField(this,1,e)},proto.BVCU.IM_File.prototype.clearSzid=function(){r.Message.setField(this,1,void 0)},proto.BVCU.IM_File.prototype.hasSzid=function(){return null!=r.Message.getField(this,1)},proto.BVCU.IM_File.prototype.getSzfilepath=function(){return r.Message.getFieldWithDefault(this,2,\"\")},proto.BVCU.IM_File.prototype.setSzfilepath=function(e){r.Message.setField(this,2,e)},proto.BVCU.IM_File.prototype.clearSzfilepath=function(){r.Message.setField(this,2,void 0)},proto.BVCU.IM_File.prototype.hasSzfilepath=function(){return null!=r.Message.getField(this,2)},proto.BVCU.IM_File.prototype.getIfilesize=function(){return r.Message.getFieldWithDefault(this,3,0)},proto.BVCU.IM_File.prototype.setIfilesize=function(e){r.Message.setField(this,3,e)},proto.BVCU.IM_File.prototype.clearIfilesize=function(){r.Message.setField(this,3,void 0)},proto.BVCU.IM_File.prototype.hasIfilesize=function(){return null!=r.Message.getField(this,3)},proto.BVCU.IM_File.prototype.getIduration=function(){return r.Message.getFieldWithDefault(this,4,0)},proto.BVCU.IM_File.prototype.setIduration=function(e){r.Message.setField(this,4,e)},proto.BVCU.IM_File.prototype.clearIduration=function(){r.Message.setField(this,4,void 0)},proto.BVCU.IM_File.prototype.hasIduration=function(){return null!=r.Message.getField(this,4)},proto.BVCU.IM_Msg=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.BVCU.IM_Msg,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.IM_Msg.displayName=\"proto.BVCU.IM_Msg\"),r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.IM_Msg.prototype.toObject=function(e){return proto.BVCU.IM_Msg.toObject(e,this)},proto.BVCU.IM_Msg.toObject=function(e,t){var o,i={itype:r.Message.getField(t,1),sztextmsg:r.Message.getField(t,2),stgpsdata:(o=t.getStgpsdata())&&n.GPSData.toObject(e,o),stfile:(o=t.getStfile())&&proto.BVCU.IM_File.toObject(e,o)};return e&&(i.$jspbMessageInstance=t),i}),proto.BVCU.IM_Msg.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.IM_Msg;return proto.BVCU.IM_Msg.deserializeBinaryFromReader(o,t)},proto.BVCU.IM_Msg.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readUint32();e.setItype(o);break;case 2:o=t.readString();e.setSztextmsg(o);break;case 3:o=new n.GPSData;t.readMessage(o,n.GPSData.deserializeBinaryFromReader),e.setStgpsdata(o);break;case 4:o=new proto.BVCU.IM_File;t.readMessage(o,proto.BVCU.IM_File.deserializeBinaryFromReader),e.setStfile(o);break;default:t.skipField()}}return e},proto.BVCU.IM_Msg.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.IM_Msg.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.IM_Msg.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeUint32(1,o),null!=(o=r.Message.getField(e,2))&&t.writeString(2,o),null!=(o=e.getStgpsdata())&&t.writeMessage(3,o,n.GPSData.serializeBinaryToWriter),null!=(o=e.getStfile())&&t.writeMessage(4,o,proto.BVCU.IM_File.serializeBinaryToWriter)},proto.BVCU.IM_Msg.prototype.getItype=function(){return r.Message.getFieldWithDefault(this,1,0)},proto.BVCU.IM_Msg.prototype.setItype=function(e){r.Message.setField(this,1,e)},proto.BVCU.IM_Msg.prototype.clearItype=function(){r.Message.setField(this,1,void 0)},proto.BVCU.IM_Msg.prototype.hasItype=function(){return null!=r.Message.getField(this,1)},proto.BVCU.IM_Msg.prototype.getSztextmsg=function(){return r.Message.getFieldWithDefault(this,2,\"\")},proto.BVCU.IM_Msg.prototype.setSztextmsg=function(e){r.Message.setField(this,2,e)},proto.BVCU.IM_Msg.prototype.clearSztextmsg=function(){r.Message.setField(this,2,void 0)},proto.BVCU.IM_Msg.prototype.hasSztextmsg=function(){return null!=r.Message.getField(this,2)},proto.BVCU.IM_Msg.prototype.getStgpsdata=function(){return r.Message.getWrapperField(this,n.GPSData,3)},proto.BVCU.IM_Msg.prototype.setStgpsdata=function(e){r.Message.setWrapperField(this,3,e)},proto.BVCU.IM_Msg.prototype.clearStgpsdata=function(){this.setStgpsdata(void 0)},proto.BVCU.IM_Msg.prototype.hasStgpsdata=function(){return null!=r.Message.getField(this,3)},proto.BVCU.IM_Msg.prototype.getStfile=function(){return r.Message.getWrapperField(this,proto.BVCU.IM_File,4)},proto.BVCU.IM_Msg.prototype.setStfile=function(e){r.Message.setWrapperField(this,4,e)},proto.BVCU.IM_Msg.prototype.clearStfile=function(){this.setStfile(void 0)},proto.BVCU.IM_Msg.prototype.hasStfile=function(){return null!=r.Message.getField(this,4)},proto.BVCU.IM_Msgs=function(e){r.Message.initialize(this,e,0,-1,proto.BVCU.IM_Msgs.repeatedFields_,null)},i.inherits(proto.BVCU.IM_Msgs,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.IM_Msgs.displayName=\"proto.BVCU.IM_Msgs\"),proto.BVCU.IM_Msgs.repeatedFields_=[1],r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.IM_Msgs.prototype.toObject=function(e){return proto.BVCU.IM_Msgs.toObject(e,this)},proto.BVCU.IM_Msgs.toObject=function(e,t){var o={szmsgsList:r.Message.toObjectList(t.getSzmsgsList(),proto.BVCU.IM_Msg.toObject,e)};return e&&(o.$jspbMessageInstance=t),o}),proto.BVCU.IM_Msgs.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.IM_Msgs;return proto.BVCU.IM_Msgs.deserializeBinaryFromReader(o,t)},proto.BVCU.IM_Msgs.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=new proto.BVCU.IM_Msg;t.readMessage(o,proto.BVCU.IM_Msg.deserializeBinaryFromReader),e.addSzmsgs(o);break;default:t.skipField()}}return e},proto.BVCU.IM_Msgs.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.IM_Msgs.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.IM_Msgs.serializeBinaryToWriter=function(e,t){var o;(o=e.getSzmsgsList()).length>0&&t.writeRepeatedMessage(1,o,proto.BVCU.IM_Msg.serializeBinaryToWriter)},proto.BVCU.IM_Msgs.prototype.getSzmsgsList=function(){return r.Message.getRepeatedWrapperField(this,proto.BVCU.IM_Msg,1)},proto.BVCU.IM_Msgs.prototype.setSzmsgsList=function(e){r.Message.setRepeatedWrapperField(this,1,e)},proto.BVCU.IM_Msgs.prototype.addSzmsgs=function(e,t){return r.Message.addToRepeatedWrapperField(this,1,e,proto.BVCU.IM_Msg,t)},proto.BVCU.IM_Msgs.prototype.clearSzmsgsList=function(){this.setSzmsgsList([])},i.object.extend(t,proto.BVCU)},function(e,t){var o;o=function(){return this}();try{o=o||Function(\"return this\")()||(0,eval)(\"this\")}catch(e){\"object\"==typeof window&&(o=window)}e.exports=o},function(e,t,o){var r=o(0),i=r,s=Function(\"return this\")();o(1);i.exportSymbol(\"proto.BVCU.CMSConfig.CMSCFG_ChannelInfo\",null,s),i.exportSymbol(\"proto.BVCU.CMSConfig.CMSCFG_DialogInfo\",null,s),proto.BVCU.CMSConfig.CMSCFG_ChannelInfo=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.BVCU.CMSConfig.CMSCFG_ChannelInfo,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.CMSConfig.CMSCFG_ChannelInfo.displayName=\"proto.BVCU.CMSConfig.CMSCFG_ChannelInfo\"),r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.CMSConfig.CMSCFG_ChannelInfo.prototype.toObject=function(e){return proto.BVCU.CMSConfig.CMSCFG_ChannelInfo.toObject(e,this)},proto.BVCU.CMSConfig.CMSCFG_ChannelInfo.toObject=function(e,t){var o={szid:r.Message.getField(t,1),iapplierid:r.Message.getField(t,2),imediadir:r.Message.getField(t,3),bovertcp:r.Message.getField(t,4)};return e&&(o.$jspbMessageInstance=t),o}),proto.BVCU.CMSConfig.CMSCFG_ChannelInfo.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.CMSConfig.CMSCFG_ChannelInfo;return proto.BVCU.CMSConfig.CMSCFG_ChannelInfo.deserializeBinaryFromReader(o,t)},proto.BVCU.CMSConfig.CMSCFG_ChannelInfo.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readString();e.setSzid(o);break;case 2:o=t.readUint32();e.setIapplierid(o);break;case 3:o=t.readUint32();e.setImediadir(o);break;case 4:o=t.readUint32();e.setBovertcp(o);break;default:t.skipField()}}return e},proto.BVCU.CMSConfig.CMSCFG_ChannelInfo.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.CMSConfig.CMSCFG_ChannelInfo.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.CMSConfig.CMSCFG_ChannelInfo.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeString(1,o),null!=(o=r.Message.getField(e,2))&&t.writeUint32(2,o),null!=(o=r.Message.getField(e,3))&&t.writeUint32(3,o),null!=(o=r.Message.getField(e,4))&&t.writeUint32(4,o)},proto.BVCU.CMSConfig.CMSCFG_ChannelInfo.prototype.getSzid=function(){return r.Message.getFieldWithDefault(this,1,\"\")},proto.BVCU.CMSConfig.CMSCFG_ChannelInfo.prototype.setSzid=function(e){r.Message.setField(this,1,e)},proto.BVCU.CMSConfig.CMSCFG_ChannelInfo.prototype.clearSzid=function(){r.Message.setField(this,1,void 0)},proto.BVCU.CMSConfig.CMSCFG_ChannelInfo.prototype.hasSzid=function(){return null!=r.Message.getField(this,1)},proto.BVCU.CMSConfig.CMSCFG_ChannelInfo.prototype.getIapplierid=function(){return r.Message.getFieldWithDefault(this,2,0)},proto.BVCU.CMSConfig.CMSCFG_ChannelInfo.prototype.setIapplierid=function(e){r.Message.setField(this,2,e)},proto.BVCU.CMSConfig.CMSCFG_ChannelInfo.prototype.clearIapplierid=function(){r.Message.setField(this,2,void 0)},proto.BVCU.CMSConfig.CMSCFG_ChannelInfo.prototype.hasIapplierid=function(){return null!=r.Message.getField(this,2)},proto.BVCU.CMSConfig.CMSCFG_ChannelInfo.prototype.getImediadir=function(){return r.Message.getFieldWithDefault(this,3,0)},proto.BVCU.CMSConfig.CMSCFG_ChannelInfo.prototype.setImediadir=function(e){r.Message.setField(this,3,e)},proto.BVCU.CMSConfig.CMSCFG_ChannelInfo.prototype.clearImediadir=function(){r.Message.setField(this,3,void 0)},proto.BVCU.CMSConfig.CMSCFG_ChannelInfo.prototype.hasImediadir=function(){return null!=r.Message.getField(this,3)},proto.BVCU.CMSConfig.CMSCFG_ChannelInfo.prototype.getBovertcp=function(){return r.Message.getFieldWithDefault(this,4,0)},proto.BVCU.CMSConfig.CMSCFG_ChannelInfo.prototype.setBovertcp=function(e){r.Message.setField(this,4,e)},proto.BVCU.CMSConfig.CMSCFG_ChannelInfo.prototype.clearBovertcp=function(){r.Message.setField(this,4,void 0)},proto.BVCU.CMSConfig.CMSCFG_ChannelInfo.prototype.hasBovertcp=function(){return null!=r.Message.getField(this,4)},proto.BVCU.CMSConfig.CMSCFG_DialogInfo=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.BVCU.CMSConfig.CMSCFG_DialogInfo,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.CMSConfig.CMSCFG_DialogInfo.displayName=\"proto.BVCU.CMSConfig.CMSCFG_DialogInfo\"),r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.CMSConfig.CMSCFG_DialogInfo.prototype.toObject=function(e){return proto.BVCU.CMSConfig.CMSCFG_DialogInfo.toObject(e,this)},proto.BVCU.CMSConfig.CMSCFG_DialogInfo.toObject=function(e,t){var o,i={strequestor:(o=t.getStrequestor())&&proto.BVCU.CMSConfig.CMSCFG_ChannelInfo.toObject(e,o),sttarget:(o=t.getSttarget())&&proto.BVCU.CMSConfig.CMSCFG_ChannelInfo.toObject(e,o),szvtduid:r.Message.getField(t,3),ichannelindex:r.Message.getField(t,4),ipathway:r.Message.getField(t,5)};return e&&(i.$jspbMessageInstance=t),i}),proto.BVCU.CMSConfig.CMSCFG_DialogInfo.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.CMSConfig.CMSCFG_DialogInfo;return proto.BVCU.CMSConfig.CMSCFG_DialogInfo.deserializeBinaryFromReader(o,t)},proto.BVCU.CMSConfig.CMSCFG_DialogInfo.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=new proto.BVCU.CMSConfig.CMSCFG_ChannelInfo;t.readMessage(o,proto.BVCU.CMSConfig.CMSCFG_ChannelInfo.deserializeBinaryFromReader),e.setStrequestor(o);break;case 2:o=new proto.BVCU.CMSConfig.CMSCFG_ChannelInfo;t.readMessage(o,proto.BVCU.CMSConfig.CMSCFG_ChannelInfo.deserializeBinaryFromReader),e.setSttarget(o);break;case 3:o=t.readString();e.setSzvtduid(o);break;case 4:o=t.readUint32();e.setIchannelindex(o);break;case 5:o=t.readUint32();e.setIpathway(o);break;default:t.skipField()}}return e},proto.BVCU.CMSConfig.CMSCFG_DialogInfo.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.CMSConfig.CMSCFG_DialogInfo.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.CMSConfig.CMSCFG_DialogInfo.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=e.getStrequestor())&&t.writeMessage(1,o,proto.BVCU.CMSConfig.CMSCFG_ChannelInfo.serializeBinaryToWriter),null!=(o=e.getSttarget())&&t.writeMessage(2,o,proto.BVCU.CMSConfig.CMSCFG_ChannelInfo.serializeBinaryToWriter),null!=(o=r.Message.getField(e,3))&&t.writeString(3,o),null!=(o=r.Message.getField(e,4))&&t.writeUint32(4,o),null!=(o=r.Message.getField(e,5))&&t.writeUint32(5,o)},proto.BVCU.CMSConfig.CMSCFG_DialogInfo.prototype.getStrequestor=function(){return r.Message.getWrapperField(this,proto.BVCU.CMSConfig.CMSCFG_ChannelInfo,1)},proto.BVCU.CMSConfig.CMSCFG_DialogInfo.prototype.setStrequestor=function(e){r.Message.setWrapperField(this,1,e)},proto.BVCU.CMSConfig.CMSCFG_DialogInfo.prototype.clearStrequestor=function(){this.setStrequestor(void 0)},proto.BVCU.CMSConfig.CMSCFG_DialogInfo.prototype.hasStrequestor=function(){return null!=r.Message.getField(this,1)},proto.BVCU.CMSConfig.CMSCFG_DialogInfo.prototype.getSttarget=function(){return r.Message.getWrapperField(this,proto.BVCU.CMSConfig.CMSCFG_ChannelInfo,2)},proto.BVCU.CMSConfig.CMSCFG_DialogInfo.prototype.setSttarget=function(e){r.Message.setWrapperField(this,2,e)},proto.BVCU.CMSConfig.CMSCFG_DialogInfo.prototype.clearSttarget=function(){this.setSttarget(void 0)},proto.BVCU.CMSConfig.CMSCFG_DialogInfo.prototype.hasSttarget=function(){return null!=r.Message.getField(this,2)},proto.BVCU.CMSConfig.CMSCFG_DialogInfo.prototype.getSzvtduid=function(){return r.Message.getFieldWithDefault(this,3,\"\")},proto.BVCU.CMSConfig.CMSCFG_DialogInfo.prototype.setSzvtduid=function(e){r.Message.setField(this,3,e)},proto.BVCU.CMSConfig.CMSCFG_DialogInfo.prototype.clearSzvtduid=function(){r.Message.setField(this,3,void 0)},proto.BVCU.CMSConfig.CMSCFG_DialogInfo.prototype.hasSzvtduid=function(){return null!=r.Message.getField(this,3)},proto.BVCU.CMSConfig.CMSCFG_DialogInfo.prototype.getIchannelindex=function(){return r.Message.getFieldWithDefault(this,4,0)},proto.BVCU.CMSConfig.CMSCFG_DialogInfo.prototype.setIchannelindex=function(e){r.Message.setField(this,4,e)},proto.BVCU.CMSConfig.CMSCFG_DialogInfo.prototype.clearIchannelindex=function(){r.Message.setField(this,4,void 0)},proto.BVCU.CMSConfig.CMSCFG_DialogInfo.prototype.hasIchannelindex=function(){return null!=r.Message.getField(this,4)},proto.BVCU.CMSConfig.CMSCFG_DialogInfo.prototype.getIpathway=function(){return r.Message.getFieldWithDefault(this,5,0)},proto.BVCU.CMSConfig.CMSCFG_DialogInfo.prototype.setIpathway=function(e){r.Message.setField(this,5,e)},proto.BVCU.CMSConfig.CMSCFG_DialogInfo.prototype.clearIpathway=function(){r.Message.setField(this,5,void 0)},proto.BVCU.CMSConfig.CMSCFG_DialogInfo.prototype.hasIpathway=function(){return null!=r.Message.getField(this,5)},i.object.extend(t,proto.BVCU.CMSConfig)},function(e,t,o){var r=o(0),i=r,s=Function(\"return this\")(),n=o(1);i.exportSymbol(\"proto.BVCU.Event_Source\",null,s),i.exportSymbol(\"proto.BVCU.Event_SourceSaved\",null,s),proto.BVCU.Event_Source=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.BVCU.Event_Source,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.Event_Source.displayName=\"proto.BVCU.Event_Source\"),r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.Event_Source.prototype.toObject=function(e){return proto.BVCU.Event_Source.toObject(e,this)},proto.BVCU.Event_Source.toObject=function(e,t){var o,i={ieventtype:r.Message.getField(t,1),sttime:(o=t.getSttime())&&n.WallTime.toObject(e,o),szid:r.Message.getField(t,3),isubdevidx:r.Message.getField(t,4),ivalue:r.Message.getField(t,5)};return e&&(i.$jspbMessageInstance=t),i}),proto.BVCU.Event_Source.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.Event_Source;return proto.BVCU.Event_Source.deserializeBinaryFromReader(o,t)},proto.BVCU.Event_Source.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readUint32();e.setIeventtype(o);break;case 2:o=new n.WallTime;t.readMessage(o,n.WallTime.deserializeBinaryFromReader),e.setSttime(o);break;case 3:o=t.readString();e.setSzid(o);break;case 4:o=t.readUint32();e.setIsubdevidx(o);break;case 5:o=t.readUint32();e.setIvalue(o);break;default:t.skipField()}}return e},proto.BVCU.Event_Source.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.Event_Source.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.Event_Source.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeUint32(1,o),null!=(o=e.getSttime())&&t.writeMessage(2,o,n.WallTime.serializeBinaryToWriter),null!=(o=r.Message.getField(e,3))&&t.writeString(3,o),null!=(o=r.Message.getField(e,4))&&t.writeUint32(4,o),null!=(o=r.Message.getField(e,5))&&t.writeUint32(5,o)},proto.BVCU.Event_Source.prototype.getIeventtype=function(){return r.Message.getFieldWithDefault(this,1,0)},proto.BVCU.Event_Source.prototype.setIeventtype=function(e){r.Message.setField(this,1,e)},proto.BVCU.Event_Source.prototype.clearIeventtype=function(){r.Message.setField(this,1,void 0)},proto.BVCU.Event_Source.prototype.hasIeventtype=function(){return null!=r.Message.getField(this,1)},proto.BVCU.Event_Source.prototype.getSttime=function(){return r.Message.getWrapperField(this,n.WallTime,2)},proto.BVCU.Event_Source.prototype.setSttime=function(e){r.Message.setWrapperField(this,2,e)},proto.BVCU.Event_Source.prototype.clearSttime=function(){this.setSttime(void 0)},proto.BVCU.Event_Source.prototype.hasSttime=function(){return null!=r.Message.getField(this,2)},proto.BVCU.Event_Source.prototype.getSzid=function(){return r.Message.getFieldWithDefault(this,3,\"\")},proto.BVCU.Event_Source.prototype.setSzid=function(e){r.Message.setField(this,3,e)},proto.BVCU.Event_Source.prototype.clearSzid=function(){r.Message.setField(this,3,void 0)},proto.BVCU.Event_Source.prototype.hasSzid=function(){return null!=r.Message.getField(this,3)},proto.BVCU.Event_Source.prototype.getIsubdevidx=function(){return r.Message.getFieldWithDefault(this,4,0)},proto.BVCU.Event_Source.prototype.setIsubdevidx=function(e){r.Message.setField(this,4,e)},proto.BVCU.Event_Source.prototype.clearIsubdevidx=function(){r.Message.setField(this,4,void 0)},proto.BVCU.Event_Source.prototype.hasIsubdevidx=function(){return null!=r.Message.getField(this,4)},proto.BVCU.Event_Source.prototype.getIvalue=function(){return r.Message.getFieldWithDefault(this,5,0)},proto.BVCU.Event_Source.prototype.setIvalue=function(e){r.Message.setField(this,5,e)},proto.BVCU.Event_Source.prototype.clearIvalue=function(){r.Message.setField(this,5,void 0)},proto.BVCU.Event_Source.prototype.hasIvalue=function(){return null!=r.Message.getField(this,5)},proto.BVCU.Event_SourceSaved=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.BVCU.Event_SourceSaved,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.Event_SourceSaved.displayName=\"proto.BVCU.Event_SourceSaved\"),r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.Event_SourceSaved.prototype.toObject=function(e){return proto.BVCU.Event_SourceSaved.toObject(e,this)},proto.BVCU.Event_SourceSaved.toObject=function(e,t){var o,i={stevent:(o=t.getStevent())&&proto.BVCU.Event_Source.toObject(e,o),ieventindex:r.Message.getField(t,2),bprocessed:r.Message.getField(t,3),szprocesserid:r.Message.getField(t,4),szprocesserdesc:r.Message.getField(t,5)};return e&&(i.$jspbMessageInstance=t),i}),proto.BVCU.Event_SourceSaved.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.Event_SourceSaved;return proto.BVCU.Event_SourceSaved.deserializeBinaryFromReader(o,t)},proto.BVCU.Event_SourceSaved.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=new proto.BVCU.Event_Source;t.readMessage(o,proto.BVCU.Event_Source.deserializeBinaryFromReader),e.setStevent(o);break;case 2:o=t.readUint32();e.setIeventindex(o);break;case 3:o=t.readUint32();e.setBprocessed(o);break;case 4:o=t.readString();e.setSzprocesserid(o);break;case 5:o=t.readString();e.setSzprocesserdesc(o);break;default:t.skipField()}}return e},proto.BVCU.Event_SourceSaved.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.Event_SourceSaved.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.Event_SourceSaved.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=e.getStevent())&&t.writeMessage(1,o,proto.BVCU.Event_Source.serializeBinaryToWriter),null!=(o=r.Message.getField(e,2))&&t.writeUint32(2,o),null!=(o=r.Message.getField(e,3))&&t.writeUint32(3,o),null!=(o=r.Message.getField(e,4))&&t.writeString(4,o),null!=(o=r.Message.getField(e,5))&&t.writeString(5,o)},proto.BVCU.Event_SourceSaved.prototype.getStevent=function(){return r.Message.getWrapperField(this,proto.BVCU.Event_Source,1)},proto.BVCU.Event_SourceSaved.prototype.setStevent=function(e){r.Message.setWrapperField(this,1,e)},proto.BVCU.Event_SourceSaved.prototype.clearStevent=function(){this.setStevent(void 0)},proto.BVCU.Event_SourceSaved.prototype.hasStevent=function(){return null!=r.Message.getField(this,1)},proto.BVCU.Event_SourceSaved.prototype.getIeventindex=function(){return r.Message.getFieldWithDefault(this,2,0)},proto.BVCU.Event_SourceSaved.prototype.setIeventindex=function(e){r.Message.setField(this,2,e)},proto.BVCU.Event_SourceSaved.prototype.clearIeventindex=function(){r.Message.setField(this,2,void 0)},proto.BVCU.Event_SourceSaved.prototype.hasIeventindex=function(){return null!=r.Message.getField(this,2)},proto.BVCU.Event_SourceSaved.prototype.getBprocessed=function(){return r.Message.getFieldWithDefault(this,3,0)},proto.BVCU.Event_SourceSaved.prototype.setBprocessed=function(e){r.Message.setField(this,3,e)},proto.BVCU.Event_SourceSaved.prototype.clearBprocessed=function(){r.Message.setField(this,3,void 0)},proto.BVCU.Event_SourceSaved.prototype.hasBprocessed=function(){return null!=r.Message.getField(this,3)},proto.BVCU.Event_SourceSaved.prototype.getSzprocesserid=function(){return r.Message.getFieldWithDefault(this,4,\"\")},proto.BVCU.Event_SourceSaved.prototype.setSzprocesserid=function(e){r.Message.setField(this,4,e)},proto.BVCU.Event_SourceSaved.prototype.clearSzprocesserid=function(){r.Message.setField(this,4,void 0)},proto.BVCU.Event_SourceSaved.prototype.hasSzprocesserid=function(){return null!=r.Message.getField(this,4)},proto.BVCU.Event_SourceSaved.prototype.getSzprocesserdesc=function(){return r.Message.getFieldWithDefault(this,5,\"\")},proto.BVCU.Event_SourceSaved.prototype.setSzprocesserdesc=function(e){r.Message.setField(this,5,e)},proto.BVCU.Event_SourceSaved.prototype.clearSzprocesserdesc=function(){r.Message.setField(this,5,void 0)},proto.BVCU.Event_SourceSaved.prototype.hasSzprocesserdesc=function(){return null!=r.Message.getField(this,5)},i.object.extend(t,proto.BVCU)},function(e,t,o){var r=o(0),i=r,s=Function(\"return this\")(),n=o(3);i.exportSymbol(\"proto.BVCU.NRUConfig.DeleteFileReq\",null,s),i.exportSymbol(\"proto.BVCU.NRUConfig.DeleteFileResult\",null,s),i.exportSymbol(\"proto.BVCU.NRUConfig.FileID\",null,s),i.exportSymbol(\"proto.BVCU.NRUConfig.ManualRecord\",null,s),i.exportSymbol(\"proto.BVCU.NRUConfig.NRUItem\",null,s),proto.BVCU.NRUConfig.NRUItem=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.BVCU.NRUConfig.NRUItem,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.NRUConfig.NRUItem.displayName=\"proto.BVCU.NRUConfig.NRUItem\"),r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.NRUConfig.NRUItem.prototype.toObject=function(e){return proto.BVCU.NRUConfig.NRUItem.toObject(e,this)},proto.BVCU.NRUConfig.NRUItem.toObject=function(e,t){var o={szid:r.Message.getField(t,1),szname:r.Message.getField(t,2),istoragemediacount:r.Message.getField(t,3),ionlinestatus:r.Message.getField(t,4)};return e&&(o.$jspbMessageInstance=t),o}),proto.BVCU.NRUConfig.NRUItem.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.NRUConfig.NRUItem;return proto.BVCU.NRUConfig.NRUItem.deserializeBinaryFromReader(o,t)},proto.BVCU.NRUConfig.NRUItem.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readString();e.setSzid(o);break;case 2:o=t.readString();e.setSzname(o);break;case 3:o=t.readUint32();e.setIstoragemediacount(o);break;case 4:o=t.readUint32();e.setIonlinestatus(o);break;default:t.skipField()}}return e},proto.BVCU.NRUConfig.NRUItem.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.NRUConfig.NRUItem.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.NRUConfig.NRUItem.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeString(1,o),null!=(o=r.Message.getField(e,2))&&t.writeString(2,o),null!=(o=r.Message.getField(e,3))&&t.writeUint32(3,o),null!=(o=r.Message.getField(e,4))&&t.writeUint32(4,o)},proto.BVCU.NRUConfig.NRUItem.prototype.getSzid=function(){return r.Message.getFieldWithDefault(this,1,\"\")},proto.BVCU.NRUConfig.NRUItem.prototype.setSzid=function(e){r.Message.setField(this,1,e)},proto.BVCU.NRUConfig.NRUItem.prototype.clearSzid=function(){r.Message.setField(this,1,void 0)},proto.BVCU.NRUConfig.NRUItem.prototype.hasSzid=function(){return null!=r.Message.getField(this,1)},proto.BVCU.NRUConfig.NRUItem.prototype.getSzname=function(){return r.Message.getFieldWithDefault(this,2,\"\")},proto.BVCU.NRUConfig.NRUItem.prototype.setSzname=function(e){r.Message.setField(this,2,e)},proto.BVCU.NRUConfig.NRUItem.prototype.clearSzname=function(){r.Message.setField(this,2,void 0)},proto.BVCU.NRUConfig.NRUItem.prototype.hasSzname=function(){return null!=r.Message.getField(this,2)},proto.BVCU.NRUConfig.NRUItem.prototype.getIstoragemediacount=function(){return r.Message.getFieldWithDefault(this,3,0)},proto.BVCU.NRUConfig.NRUItem.prototype.setIstoragemediacount=function(e){r.Message.setField(this,3,e)},proto.BVCU.NRUConfig.NRUItem.prototype.clearIstoragemediacount=function(){r.Message.setField(this,3,void 0)},proto.BVCU.NRUConfig.NRUItem.prototype.hasIstoragemediacount=function(){return null!=r.Message.getField(this,3)},proto.BVCU.NRUConfig.NRUItem.prototype.getIonlinestatus=function(){return r.Message.getFieldWithDefault(this,4,0)},proto.BVCU.NRUConfig.NRUItem.prototype.setIonlinestatus=function(e){r.Message.setField(this,4,e)},proto.BVCU.NRUConfig.NRUItem.prototype.clearIonlinestatus=function(){r.Message.setField(this,4,void 0)},proto.BVCU.NRUConfig.NRUItem.prototype.hasIonlinestatus=function(){return null!=r.Message.getField(this,4)},proto.BVCU.NRUConfig.ManualRecord=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.BVCU.NRUConfig.ManualRecord,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.NRUConfig.ManualRecord.displayName=\"proto.BVCU.NRUConfig.ManualRecord\"),r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.NRUConfig.ManualRecord.prototype.toObject=function(e){return proto.BVCU.NRUConfig.ManualRecord.toObject(e,this)},proto.BVCU.NRUConfig.ManualRecord.toObject=function(e,t){var o={szid:r.Message.getField(t,1),ichannelindex:r.Message.getField(t,2),bstart:r.Message.getField(t,3),ilength:r.Message.getField(t,4),imediadir:r.Message.getField(t,5)};return e&&(o.$jspbMessageInstance=t),o}),proto.BVCU.NRUConfig.ManualRecord.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.NRUConfig.ManualRecord;return proto.BVCU.NRUConfig.ManualRecord.deserializeBinaryFromReader(o,t)},proto.BVCU.NRUConfig.ManualRecord.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readString();e.setSzid(o);break;case 2:o=t.readUint32();e.setIchannelindex(o);break;case 3:o=t.readUint32();e.setBstart(o);break;case 4:o=t.readUint32();e.setIlength(o);break;case 5:o=t.readUint32();e.setImediadir(o);break;default:t.skipField()}}return e},proto.BVCU.NRUConfig.ManualRecord.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.NRUConfig.ManualRecord.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.NRUConfig.ManualRecord.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeString(1,o),null!=(o=r.Message.getField(e,2))&&t.writeUint32(2,o),null!=(o=r.Message.getField(e,3))&&t.writeUint32(3,o),null!=(o=r.Message.getField(e,4))&&t.writeUint32(4,o),null!=(o=r.Message.getField(e,5))&&t.writeUint32(5,o)},proto.BVCU.NRUConfig.ManualRecord.prototype.getSzid=function(){return r.Message.getFieldWithDefault(this,1,\"\")},proto.BVCU.NRUConfig.ManualRecord.prototype.setSzid=function(e){r.Message.setField(this,1,e)},proto.BVCU.NRUConfig.ManualRecord.prototype.clearSzid=function(){r.Message.setField(this,1,void 0)},proto.BVCU.NRUConfig.ManualRecord.prototype.hasSzid=function(){return null!=r.Message.getField(this,1)},proto.BVCU.NRUConfig.ManualRecord.prototype.getIchannelindex=function(){return r.Message.getFieldWithDefault(this,2,0)},proto.BVCU.NRUConfig.ManualRecord.prototype.setIchannelindex=function(e){r.Message.setField(this,2,e)},proto.BVCU.NRUConfig.ManualRecord.prototype.clearIchannelindex=function(){r.Message.setField(this,2,void 0)},proto.BVCU.NRUConfig.ManualRecord.prototype.hasIchannelindex=function(){return null!=r.Message.getField(this,2)},proto.BVCU.NRUConfig.ManualRecord.prototype.getBstart=function(){return r.Message.getFieldWithDefault(this,3,0)},proto.BVCU.NRUConfig.ManualRecord.prototype.setBstart=function(e){r.Message.setField(this,3,e)},proto.BVCU.NRUConfig.ManualRecord.prototype.clearBstart=function(){r.Message.setField(this,3,void 0)},proto.BVCU.NRUConfig.ManualRecord.prototype.hasBstart=function(){return null!=r.Message.getField(this,3)},proto.BVCU.NRUConfig.ManualRecord.prototype.getIlength=function(){return r.Message.getFieldWithDefault(this,4,0)},proto.BVCU.NRUConfig.ManualRecord.prototype.setIlength=function(e){r.Message.setField(this,4,e)},proto.BVCU.NRUConfig.ManualRecord.prototype.clearIlength=function(){r.Message.setField(this,4,void 0)},proto.BVCU.NRUConfig.ManualRecord.prototype.hasIlength=function(){return null!=r.Message.getField(this,4)},proto.BVCU.NRUConfig.ManualRecord.prototype.getImediadir=function(){return r.Message.getFieldWithDefault(this,5,0)},proto.BVCU.NRUConfig.ManualRecord.prototype.setImediadir=function(e){r.Message.setField(this,5,e)},proto.BVCU.NRUConfig.ManualRecord.prototype.clearImediadir=function(){r.Message.setField(this,5,void 0)},proto.BVCU.NRUConfig.ManualRecord.prototype.hasImediadir=function(){return null!=r.Message.getField(this,5)},proto.BVCU.NRUConfig.FileID=function(e){r.Message.initialize(this,e,0,-1,proto.BVCU.NRUConfig.FileID.repeatedFields_,null)},i.inherits(proto.BVCU.NRUConfig.FileID,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.NRUConfig.FileID.displayName=\"proto.BVCU.NRUConfig.FileID\"),proto.BVCU.NRUConfig.FileID.repeatedFields_=[1],r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.NRUConfig.FileID.prototype.toObject=function(e){return proto.BVCU.NRUConfig.FileID.toObject(e,this)},proto.BVCU.NRUConfig.FileID.toObject=function(e,t){var o={irecordidList:r.Message.getField(t,1),szsourceid:r.Message.getField(t,2)};return e&&(o.$jspbMessageInstance=t),o}),proto.BVCU.NRUConfig.FileID.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.NRUConfig.FileID;return proto.BVCU.NRUConfig.FileID.deserializeBinaryFromReader(o,t)},proto.BVCU.NRUConfig.FileID.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readInt32();e.addIrecordid(o);break;case 2:o=t.readString();e.setSzsourceid(o);break;default:t.skipField()}}return e},proto.BVCU.NRUConfig.FileID.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.NRUConfig.FileID.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.NRUConfig.FileID.serializeBinaryToWriter=function(e,t){var o=void 0;(o=e.getIrecordidList()).length>0&&t.writeRepeatedInt32(1,o),null!=(o=r.Message.getField(e,2))&&t.writeString(2,o)},proto.BVCU.NRUConfig.FileID.prototype.getIrecordidList=function(){return r.Message.getField(this,1)},proto.BVCU.NRUConfig.FileID.prototype.setIrecordidList=function(e){r.Message.setField(this,1,e||[])},proto.BVCU.NRUConfig.FileID.prototype.addIrecordid=function(e,t){r.Message.addToRepeatedField(this,1,e,t)},proto.BVCU.NRUConfig.FileID.prototype.clearIrecordidList=function(){this.setIrecordidList([])},proto.BVCU.NRUConfig.FileID.prototype.getSzsourceid=function(){return r.Message.getFieldWithDefault(this,2,\"\")},proto.BVCU.NRUConfig.FileID.prototype.setSzsourceid=function(e){r.Message.setField(this,2,e)},proto.BVCU.NRUConfig.FileID.prototype.clearSzsourceid=function(){r.Message.setField(this,2,void 0)},proto.BVCU.NRUConfig.FileID.prototype.hasSzsourceid=function(){return null!=r.Message.getField(this,2)},proto.BVCU.NRUConfig.DeleteFileReq=function(e){r.Message.initialize(this,e,0,-1,proto.BVCU.NRUConfig.DeleteFileReq.repeatedFields_,null)},i.inherits(proto.BVCU.NRUConfig.DeleteFileReq,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.NRUConfig.DeleteFileReq.displayName=\"proto.BVCU.NRUConfig.DeleteFileReq\"),proto.BVCU.NRUConfig.DeleteFileReq.repeatedFields_=[2,3],r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.NRUConfig.DeleteFileReq.prototype.toObject=function(e){return proto.BVCU.NRUConfig.DeleteFileReq.toObject(e,this)},proto.BVCU.NRUConfig.DeleteFileReq.toObject=function(e,t){var o={itype:r.Message.getField(t,1),stfilefiltersList:r.Message.toObjectList(t.getStfilefiltersList(),n.Search_FileFilter.toObject,e),stfileidfiltersList:r.Message.toObjectList(t.getStfileidfiltersList(),proto.BVCU.NRUConfig.FileID.toObject,e)};return e&&(o.$jspbMessageInstance=t),o}),proto.BVCU.NRUConfig.DeleteFileReq.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.NRUConfig.DeleteFileReq;return proto.BVCU.NRUConfig.DeleteFileReq.deserializeBinaryFromReader(o,t)},proto.BVCU.NRUConfig.DeleteFileReq.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readInt32();e.setItype(o);break;case 2:o=new n.Search_FileFilter;t.readMessage(o,n.Search_FileFilter.deserializeBinaryFromReader),e.addStfilefilters(o);break;case 3:o=new proto.BVCU.NRUConfig.FileID;t.readMessage(o,proto.BVCU.NRUConfig.FileID.deserializeBinaryFromReader),e.addStfileidfilters(o);break;default:t.skipField()}}return e},proto.BVCU.NRUConfig.DeleteFileReq.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.NRUConfig.DeleteFileReq.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.NRUConfig.DeleteFileReq.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeInt32(1,o),(o=e.getStfilefiltersList()).length>0&&t.writeRepeatedMessage(2,o,n.Search_FileFilter.serializeBinaryToWriter),(o=e.getStfileidfiltersList()).length>0&&t.writeRepeatedMessage(3,o,proto.BVCU.NRUConfig.FileID.serializeBinaryToWriter)},proto.BVCU.NRUConfig.DeleteFileReq.prototype.getItype=function(){return r.Message.getFieldWithDefault(this,1,0)},proto.BVCU.NRUConfig.DeleteFileReq.prototype.setItype=function(e){r.Message.setField(this,1,e)},proto.BVCU.NRUConfig.DeleteFileReq.prototype.clearItype=function(){r.Message.setField(this,1,void 0)},proto.BVCU.NRUConfig.DeleteFileReq.prototype.hasItype=function(){return null!=r.Message.getField(this,1)},proto.BVCU.NRUConfig.DeleteFileReq.prototype.getStfilefiltersList=function(){return r.Message.getRepeatedWrapperField(this,n.Search_FileFilter,2)},proto.BVCU.NRUConfig.DeleteFileReq.prototype.setStfilefiltersList=function(e){r.Message.setRepeatedWrapperField(this,2,e)},proto.BVCU.NRUConfig.DeleteFileReq.prototype.addStfilefilters=function(e,t){return r.Message.addToRepeatedWrapperField(this,2,e,proto.BVCU.Search.Search_FileFilter,t)},proto.BVCU.NRUConfig.DeleteFileReq.prototype.clearStfilefiltersList=function(){this.setStfilefiltersList([])},proto.BVCU.NRUConfig.DeleteFileReq.prototype.getStfileidfiltersList=function(){return r.Message.getRepeatedWrapperField(this,proto.BVCU.NRUConfig.FileID,3)},proto.BVCU.NRUConfig.DeleteFileReq.prototype.setStfileidfiltersList=function(e){r.Message.setRepeatedWrapperField(this,3,e)},proto.BVCU.NRUConfig.DeleteFileReq.prototype.addStfileidfilters=function(e,t){return r.Message.addToRepeatedWrapperField(this,3,e,proto.BVCU.NRUConfig.FileID,t)},proto.BVCU.NRUConfig.DeleteFileReq.prototype.clearStfileidfiltersList=function(){this.setStfileidfiltersList([])},proto.BVCU.NRUConfig.DeleteFileResult=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.BVCU.NRUConfig.DeleteFileResult,r.Message),i.DEBUG&&!COMPILED&&(proto.BVCU.NRUConfig.DeleteFileResult.displayName=\"proto.BVCU.NRUConfig.DeleteFileResult\"),r.Message.GENERATE_TO_OBJECT&&(proto.BVCU.NRUConfig.DeleteFileResult.prototype.toObject=function(e){return proto.BVCU.NRUConfig.DeleteFileResult.toObject(e,this)},proto.BVCU.NRUConfig.DeleteFileResult.toObject=function(e,t){var o={icount:r.Message.getField(t,1)};return e&&(o.$jspbMessageInstance=t),o}),proto.BVCU.NRUConfig.DeleteFileResult.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.BVCU.NRUConfig.DeleteFileResult;return proto.BVCU.NRUConfig.DeleteFileResult.deserializeBinaryFromReader(o,t)},proto.BVCU.NRUConfig.DeleteFileResult.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readInt32();e.setIcount(o);break;default:t.skipField()}}return e},proto.BVCU.NRUConfig.DeleteFileResult.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.BVCU.NRUConfig.DeleteFileResult.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.BVCU.NRUConfig.DeleteFileResult.serializeBinaryToWriter=function(e,t){var o;null!=(o=r.Message.getField(e,1))&&t.writeInt32(1,o)},proto.BVCU.NRUConfig.DeleteFileResult.prototype.getIcount=function(){return r.Message.getFieldWithDefault(this,1,0)},proto.BVCU.NRUConfig.DeleteFileResult.prototype.setIcount=function(e){r.Message.setField(this,1,e)},proto.BVCU.NRUConfig.DeleteFileResult.prototype.clearIcount=function(){r.Message.setField(this,1,void 0)},proto.BVCU.NRUConfig.DeleteFileResult.prototype.hasIcount=function(){return null!=r.Message.getField(this,1)},i.object.extend(t,proto.BVCU.NRUConfig)},function(e,t){var o={}.toString;e.exports=Array.isArray||function(e){return\"[object Array]\"==o.call(e)}},function(e,t){t.read=function(e,t,o,r,i){var s,n,a=8*i-r-1,p=(1<<a)-1,g=p>>1,l=-7,u=o?i-1:0,c=o?-1:1,d=e[t+u];for(u+=c,s=d&(1<<-l)-1,d>>=-l,l+=a;l>0;s=256*s+e[t+u],u+=c,l-=8);for(n=s&(1<<-l)-1,s>>=-l,l+=r;l>0;n=256*n+e[t+u],u+=c,l-=8);if(0===s)s=1-g;else{if(s===p)return n?NaN:1/0*(d?-1:1);n+=Math.pow(2,r),s-=g}return(d?-1:1)*n*Math.pow(2,s-r)},t.write=function(e,t,o,r,i,s){var n,a,p,g=8*s-i-1,l=(1<<g)-1,u=l>>1,c=23===i?Math.pow(2,-24)-Math.pow(2,-77):0,d=r?0:s-1,f=r?1:-1,U=t<0||0===t&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,n=l):(n=Math.floor(Math.log(t)/Math.LN2),t*(p=Math.pow(2,-n))<1&&(n--,p*=2),(t+=n+u>=1?c/p:c*Math.pow(2,1-u))*p>=2&&(n++,p/=2),n+u>=l?(a=0,n=l):n+u>=1?(a=(t*p-1)*Math.pow(2,i),n+=u):(a=t*Math.pow(2,u-1)*Math.pow(2,i),n=0));i>=8;e[o+d]=255&a,d+=f,a/=256,i-=8);for(n=n<<i|a,g+=i;g>0;e[o+d]=255&n,d+=f,n/=256,g-=8);e[o+d-f]|=128*U}},function(e,t,o){\"use strict\";t.byteLength=function(e){var t=g(e),o=t[0],r=t[1];return 3*(o+r)/4-r},t.toByteArray=function(e){for(var t,o=g(e),r=o[0],n=o[1],a=new s(function(e,t,o){return 3*(t+o)/4-o}(0,r,n)),p=0,l=n>0?r-4:r,u=0;u<l;u+=4)t=i[e.charCodeAt(u)]<<18|i[e.charCodeAt(u+1)]<<12|i[e.charCodeAt(u+2)]<<6|i[e.charCodeAt(u+3)],a[p++]=t>>16&255,a[p++]=t>>8&255,a[p++]=255&t;2===n&&(t=i[e.charCodeAt(u)]<<2|i[e.charCodeAt(u+1)]>>4,a[p++]=255&t);1===n&&(t=i[e.charCodeAt(u)]<<10|i[e.charCodeAt(u+1)]<<4|i[e.charCodeAt(u+2)]>>2,a[p++]=t>>8&255,a[p++]=255&t);return a},t.fromByteArray=function(e){for(var t,o=e.length,i=o%3,s=[],n=0,a=o-i;n<a;n+=16383)s.push(u(e,n,n+16383>a?a:n+16383));1===i?(t=e[o-1],s.push(r[t>>2]+r[t<<4&63]+\"==\")):2===i&&(t=(e[o-2]<<8)+e[o-1],s.push(r[t>>10]+r[t>>4&63]+r[t<<2&63]+\"=\"));return s.join(\"\")};for(var r=[],i=[],s=\"undefined\"!=typeof Uint8Array?Uint8Array:Array,n=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",a=0,p=n.length;a<p;++a)r[a]=n[a],i[n.charCodeAt(a)]=a;function g(e){var t=e.length;if(t%4>0)throw new Error(\"Invalid string. Length must be a multiple of 4\");var o=e.indexOf(\"=\");return-1===o&&(o=t),[o,o===t?0:4-o%4]}function l(e){return r[e>>18&63]+r[e>>12&63]+r[e>>6&63]+r[63&e]}function u(e,t,o){for(var r,i=[],s=t;s<o;s+=3)r=(e[s]<<16&16711680)+(e[s+1]<<8&65280)+(255&e[s+2]),i.push(l(r));return i.join(\"\")}i[\"-\".charCodeAt(0)]=62,i[\"_\".charCodeAt(0)]=63},function(e,t,o){\"use strict\";(function(e){\r\n/*!\r\n * The buffer module from node.js, for the browser.\r\n *\r\n * @author   Feross Aboukhadijeh <feross@feross.org> <http://feross.org>\r\n * @license  MIT\r\n */\r\nvar r=o(11),i=o(10),s=o(9);function n(){return p.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function a(e,t){if(n()<t)throw new RangeError(\"Invalid typed array length\");return p.TYPED_ARRAY_SUPPORT?(e=new Uint8Array(t)).__proto__=p.prototype:(null===e&&(e=new p(t)),e.length=t),e}function p(e,t,o){if(!(p.TYPED_ARRAY_SUPPORT||this instanceof p))return new p(e,t,o);if(\"number\"==typeof e){if(\"string\"==typeof t)throw new Error(\"If encoding is specified then the first argument must be a string\");return u(this,e)}return g(this,e,t,o)}function g(e,t,o,r){if(\"number\"==typeof t)throw new TypeError('\"value\" argument must not be a number');return\"undefined\"!=typeof ArrayBuffer&&t instanceof ArrayBuffer?function(e,t,o,r){if(t.byteLength,o<0||t.byteLength<o)throw new RangeError(\"'offset' is out of bounds\");if(t.byteLength<o+(r||0))throw new RangeError(\"'length' is out of bounds\");t=void 0===o&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,o):new Uint8Array(t,o,r);p.TYPED_ARRAY_SUPPORT?(e=t).__proto__=p.prototype:e=c(e,t);return e}(e,t,o,r):\"string\"==typeof t?function(e,t,o){\"string\"==typeof o&&\"\"!==o||(o=\"utf8\");if(!p.isEncoding(o))throw new TypeError('\"encoding\" must be a valid string encoding');var r=0|f(t,o),i=(e=a(e,r)).write(t,o);i!==r&&(e=e.slice(0,i));return e}(e,t,o):function(e,t){if(p.isBuffer(t)){var o=0|d(t.length);return 0===(e=a(e,o)).length?e:(t.copy(e,0,0,o),e)}if(t){if(\"undefined\"!=typeof ArrayBuffer&&t.buffer instanceof ArrayBuffer||\"length\"in t)return\"number\"!=typeof t.length||function(e){return e!=e}(t.length)?a(e,0):c(e,t);if(\"Buffer\"===t.type&&s(t.data))return c(e,t.data)}throw new TypeError(\"First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.\")}(e,t)}function l(e){if(\"number\"!=typeof e)throw new TypeError('\"size\" argument must be a number');if(e<0)throw new RangeError('\"size\" argument must not be negative')}function u(e,t){if(l(t),e=a(e,t<0?0:0|d(t)),!p.TYPED_ARRAY_SUPPORT)for(var o=0;o<t;++o)e[o]=0;return e}function c(e,t){var o=t.length<0?0:0|d(t.length);e=a(e,o);for(var r=0;r<o;r+=1)e[r]=255&t[r];return e}function d(e){if(e>=n())throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\"+n().toString(16)+\" bytes\");return 0|e}function f(e,t){if(p.isBuffer(e))return e.length;if(\"undefined\"!=typeof ArrayBuffer&&\"function\"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(e)||e instanceof ArrayBuffer))return e.byteLength;\"string\"!=typeof e&&(e=\"\"+e);var o=e.length;if(0===o)return 0;for(var r=!1;;)switch(t){case\"ascii\":case\"latin1\":case\"binary\":return o;case\"utf8\":case\"utf-8\":case void 0:return A(e).length;case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return 2*o;case\"hex\":return o>>>1;case\"base64\":return N(e).length;default:if(r)return A(e).length;t=(\"\"+t).toLowerCase(),r=!0}}function U(e,t,o){var r=e[t];e[t]=e[o],e[o]=r}function C(e,t,o,r,i){if(0===e.length)return-1;if(\"string\"==typeof o?(r=o,o=0):o>2147483647?o=2147483647:o<-2147483648&&(o=-2147483648),o=+o,isNaN(o)&&(o=i?0:e.length-1),o<0&&(o=e.length+o),o>=e.length){if(i)return-1;o=e.length-1}else if(o<0){if(!i)return-1;o=0}if(\"string\"==typeof t&&(t=p.from(t,r)),p.isBuffer(t))return 0===t.length?-1:h(e,t,o,r,i);if(\"number\"==typeof t)return t&=255,p.TYPED_ARRAY_SUPPORT&&\"function\"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(e,t,o):Uint8Array.prototype.lastIndexOf.call(e,t,o):h(e,[t],o,r,i);throw new TypeError(\"val must be string, number or Buffer\")}function h(e,t,o,r,i){var s,n=1,a=e.length,p=t.length;if(void 0!==r&&(\"ucs2\"===(r=String(r).toLowerCase())||\"ucs-2\"===r||\"utf16le\"===r||\"utf-16le\"===r)){if(e.length<2||t.length<2)return-1;n=2,a/=2,p/=2,o/=2}function g(e,t){return 1===n?e[t]:e.readUInt16BE(t*n)}if(i){var l=-1;for(s=o;s<a;s++)if(g(e,s)===g(t,-1===l?0:s-l)){if(-1===l&&(l=s),s-l+1===p)return l*n}else-1!==l&&(s-=s-l),l=-1}else for(o+p>a&&(o=a-p),s=o;s>=0;s--){for(var u=!0,c=0;c<p;c++)if(g(e,s+c)!==g(t,c)){u=!1;break}if(u)return s}return-1}function B(e,t,o,r){o=Number(o)||0;var i=e.length-o;r?(r=Number(r))>i&&(r=i):r=i;var s=t.length;if(s%2!=0)throw new TypeError(\"Invalid hex string\");r>s/2&&(r=s/2);for(var n=0;n<r;++n){var a=parseInt(t.substr(2*n,2),16);if(isNaN(a))return n;e[o+n]=a}return n}function y(e,t,o,r){return k(A(t,e.length-o),e,o,r)}function F(e,t,o,r){return k(function(e){for(var t=[],o=0;o<e.length;++o)t.push(255&e.charCodeAt(o));return t}(t),e,o,r)}function M(e,t,o,r){return F(e,t,o,r)}function S(e,t,o,r){return k(N(t),e,o,r)}function V(e,t,o,r){return k(function(e,t){for(var o,r,i,s=[],n=0;n<e.length&&!((t-=2)<0);++n)o=e.charCodeAt(n),r=o>>8,i=o%256,s.push(i),s.push(r);return s}(t,e.length-o),e,o,r)}function _(e,t,o){return 0===t&&o===e.length?r.fromByteArray(e):r.fromByteArray(e.slice(t,o))}function I(e,t,o){o=Math.min(e.length,o);for(var r=[],i=t;i<o;){var s,n,a,p,g=e[i],l=null,u=g>239?4:g>223?3:g>191?2:1;if(i+u<=o)switch(u){case 1:g<128&&(l=g);break;case 2:128==(192&(s=e[i+1]))&&(p=(31&g)<<6|63&s)>127&&(l=p);break;case 3:s=e[i+1],n=e[i+2],128==(192&s)&&128==(192&n)&&(p=(15&g)<<12|(63&s)<<6|63&n)>2047&&(p<55296||p>57343)&&(l=p);break;case 4:s=e[i+1],n=e[i+2],a=e[i+3],128==(192&s)&&128==(192&n)&&128==(192&a)&&(p=(15&g)<<18|(63&s)<<12|(63&n)<<6|63&a)>65535&&p<1114112&&(l=p)}null===l?(l=65533,u=1):l>65535&&(l-=65536,r.push(l>>>10&1023|55296),l=56320|1023&l),r.push(l),i+=u}return function(e){var t=e.length;if(t<=E)return String.fromCharCode.apply(String,e);var o=\"\",r=0;for(;r<t;)o+=String.fromCharCode.apply(String,e.slice(r,r+=E));return o}(r)}t.Buffer=p,t.SlowBuffer=function(e){+e!=e&&(e=0);return p.alloc(+e)},t.INSPECT_MAX_BYTES=50,p.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&\"function\"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(e){return!1}}(),t.kMaxLength=n(),p.poolSize=8192,p._augment=function(e){return e.__proto__=p.prototype,e},p.from=function(e,t,o){return g(null,e,t,o)},p.TYPED_ARRAY_SUPPORT&&(p.prototype.__proto__=Uint8Array.prototype,p.__proto__=Uint8Array,\"undefined\"!=typeof Symbol&&Symbol.species&&p[Symbol.species]===p&&Object.defineProperty(p,Symbol.species,{value:null,configurable:!0})),p.alloc=function(e,t,o){return function(e,t,o,r){return l(t),t<=0?a(e,t):void 0!==o?\"string\"==typeof r?a(e,t).fill(o,r):a(e,t).fill(o):a(e,t)}(null,e,t,o)},p.allocUnsafe=function(e){return u(null,e)},p.allocUnsafeSlow=function(e){return u(null,e)},p.isBuffer=function(e){return!(null==e||!e._isBuffer)},p.compare=function(e,t){if(!p.isBuffer(e)||!p.isBuffer(t))throw new TypeError(\"Arguments must be Buffers\");if(e===t)return 0;for(var o=e.length,r=t.length,i=0,s=Math.min(o,r);i<s;++i)if(e[i]!==t[i]){o=e[i],r=t[i];break}return o<r?-1:r<o?1:0},p.isEncoding=function(e){switch(String(e).toLowerCase()){case\"hex\":case\"utf8\":case\"utf-8\":case\"ascii\":case\"latin1\":case\"binary\":case\"base64\":case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return!0;default:return!1}},p.concat=function(e,t){if(!s(e))throw new TypeError('\"list\" argument must be an Array of Buffers');if(0===e.length)return p.alloc(0);var o;if(void 0===t)for(t=0,o=0;o<e.length;++o)t+=e[o].length;var r=p.allocUnsafe(t),i=0;for(o=0;o<e.length;++o){var n=e[o];if(!p.isBuffer(n))throw new TypeError('\"list\" argument must be an Array of Buffers');n.copy(r,i),i+=n.length}return r},p.byteLength=f,p.prototype._isBuffer=!0,p.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError(\"Buffer size must be a multiple of 16-bits\");for(var t=0;t<e;t+=2)U(this,t,t+1);return this},p.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError(\"Buffer size must be a multiple of 32-bits\");for(var t=0;t<e;t+=4)U(this,t,t+3),U(this,t+1,t+2);return this},p.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError(\"Buffer size must be a multiple of 64-bits\");for(var t=0;t<e;t+=8)U(this,t,t+7),U(this,t+1,t+6),U(this,t+2,t+5),U(this,t+3,t+4);return this},p.prototype.toString=function(){var e=0|this.length;return 0===e?\"\":0===arguments.length?I(this,0,e):function(e,t,o){var r=!1;if((void 0===t||t<0)&&(t=0),t>this.length)return\"\";if((void 0===o||o>this.length)&&(o=this.length),o<=0)return\"\";if((o>>>=0)<=(t>>>=0))return\"\";for(e||(e=\"utf8\");;)switch(e){case\"hex\":return W(this,t,o);case\"utf8\":case\"utf-8\":return I(this,t,o);case\"ascii\":return P(this,t,o);case\"latin1\":case\"binary\":return b(this,t,o);case\"base64\":return _(this,t,o);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return m(this,t,o);default:if(r)throw new TypeError(\"Unknown encoding: \"+e);e=(e+\"\").toLowerCase(),r=!0}}.apply(this,arguments)},p.prototype.equals=function(e){if(!p.isBuffer(e))throw new TypeError(\"Argument must be a Buffer\");return this===e||0===p.compare(this,e)},p.prototype.inspect=function(){var e=\"\",o=t.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString(\"hex\",0,o).match(/.{2}/g).join(\" \"),this.length>o&&(e+=\" ... \")),\"<Buffer \"+e+\">\"},p.prototype.compare=function(e,t,o,r,i){if(!p.isBuffer(e))throw new TypeError(\"Argument must be a Buffer\");if(void 0===t&&(t=0),void 0===o&&(o=e?e.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),t<0||o>e.length||r<0||i>this.length)throw new RangeError(\"out of range index\");if(r>=i&&t>=o)return 0;if(r>=i)return-1;if(t>=o)return 1;if(t>>>=0,o>>>=0,r>>>=0,i>>>=0,this===e)return 0;for(var s=i-r,n=o-t,a=Math.min(s,n),g=this.slice(r,i),l=e.slice(t,o),u=0;u<a;++u)if(g[u]!==l[u]){s=g[u],n=l[u];break}return s<n?-1:n<s?1:0},p.prototype.includes=function(e,t,o){return-1!==this.indexOf(e,t,o)},p.prototype.indexOf=function(e,t,o){return C(this,e,t,o,!0)},p.prototype.lastIndexOf=function(e,t,o){return C(this,e,t,o,!1)},p.prototype.write=function(e,t,o,r){if(void 0===t)r=\"utf8\",o=this.length,t=0;else if(void 0===o&&\"string\"==typeof t)r=t,o=this.length,t=0;else{if(!isFinite(t))throw new Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");t|=0,isFinite(o)?(o|=0,void 0===r&&(r=\"utf8\")):(r=o,o=void 0)}var i=this.length-t;if((void 0===o||o>i)&&(o=i),e.length>0&&(o<0||t<0)||t>this.length)throw new RangeError(\"Attempt to write outside buffer bounds\");r||(r=\"utf8\");for(var s=!1;;)switch(r){case\"hex\":return B(this,e,t,o);case\"utf8\":case\"utf-8\":return y(this,e,t,o);case\"ascii\":return F(this,e,t,o);case\"latin1\":case\"binary\":return M(this,e,t,o);case\"base64\":return S(this,e,t,o);case\"ucs2\":case\"ucs-2\":case\"utf16le\":case\"utf-16le\":return V(this,e,t,o);default:if(s)throw new TypeError(\"Unknown encoding: \"+r);r=(\"\"+r).toLowerCase(),s=!0}},p.prototype.toJSON=function(){return{type:\"Buffer\",data:Array.prototype.slice.call(this._arr||this,0)}};var E=4096;function P(e,t,o){var r=\"\";o=Math.min(e.length,o);for(var i=t;i<o;++i)r+=String.fromCharCode(127&e[i]);return r}function b(e,t,o){var r=\"\";o=Math.min(e.length,o);for(var i=t;i<o;++i)r+=String.fromCharCode(e[i]);return r}function W(e,t,o){var r=e.length;(!t||t<0)&&(t=0),(!o||o<0||o>r)&&(o=r);for(var i=\"\",s=t;s<o;++s)i+=j(e[s]);return i}function m(e,t,o){for(var r=e.slice(t,o),i=\"\",s=0;s<r.length;s+=2)i+=String.fromCharCode(r[s]+256*r[s+1]);return i}function v(e,t,o){if(e%1!=0||e<0)throw new RangeError(\"offset is not uint\");if(e+t>o)throw new RangeError(\"Trying to access beyond buffer length\")}function R(e,t,o,r,i,s){if(!p.isBuffer(e))throw new TypeError('\"buffer\" argument must be a Buffer instance');if(t>i||t<s)throw new RangeError('\"value\" argument is out of bounds');if(o+r>e.length)throw new RangeError(\"Index out of range\")}function D(e,t,o,r){t<0&&(t=65535+t+1);for(var i=0,s=Math.min(e.length-o,2);i<s;++i)e[o+i]=(t&255<<8*(r?i:1-i))>>>8*(r?i:1-i)}function w(e,t,o,r){t<0&&(t=4294967295+t+1);for(var i=0,s=Math.min(e.length-o,4);i<s;++i)e[o+i]=t>>>8*(r?i:3-i)&255}function z(e,t,o,r,i,s){if(o+r>e.length)throw new RangeError(\"Index out of range\");if(o<0)throw new RangeError(\"Index out of range\")}function O(e,t,o,r,s){return s||z(e,0,o,4),i.write(e,t,o,r,23,4),o+4}function T(e,t,o,r,s){return s||z(e,0,o,8),i.write(e,t,o,r,52,8),o+8}p.prototype.slice=function(e,t){var o,r=this.length;if(e=~~e,t=void 0===t?r:~~t,e<0?(e+=r)<0&&(e=0):e>r&&(e=r),t<0?(t+=r)<0&&(t=0):t>r&&(t=r),t<e&&(t=e),p.TYPED_ARRAY_SUPPORT)(o=this.subarray(e,t)).__proto__=p.prototype;else{var i=t-e;o=new p(i,void 0);for(var s=0;s<i;++s)o[s]=this[s+e]}return o},p.prototype.readUIntLE=function(e,t,o){e|=0,t|=0,o||v(e,t,this.length);for(var r=this[e],i=1,s=0;++s<t&&(i*=256);)r+=this[e+s]*i;return r},p.prototype.readUIntBE=function(e,t,o){e|=0,t|=0,o||v(e,t,this.length);for(var r=this[e+--t],i=1;t>0&&(i*=256);)r+=this[e+--t]*i;return r},p.prototype.readUInt8=function(e,t){return t||v(e,1,this.length),this[e]},p.prototype.readUInt16LE=function(e,t){return t||v(e,2,this.length),this[e]|this[e+1]<<8},p.prototype.readUInt16BE=function(e,t){return t||v(e,2,this.length),this[e]<<8|this[e+1]},p.prototype.readUInt32LE=function(e,t){return t||v(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},p.prototype.readUInt32BE=function(e,t){return t||v(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},p.prototype.readIntLE=function(e,t,o){e|=0,t|=0,o||v(e,t,this.length);for(var r=this[e],i=1,s=0;++s<t&&(i*=256);)r+=this[e+s]*i;return r>=(i*=128)&&(r-=Math.pow(2,8*t)),r},p.prototype.readIntBE=function(e,t,o){e|=0,t|=0,o||v(e,t,this.length);for(var r=t,i=1,s=this[e+--r];r>0&&(i*=256);)s+=this[e+--r]*i;return s>=(i*=128)&&(s-=Math.pow(2,8*t)),s},p.prototype.readInt8=function(e,t){return t||v(e,1,this.length),128&this[e]?-1*(255-this[e]+1):this[e]},p.prototype.readInt16LE=function(e,t){t||v(e,2,this.length);var o=this[e]|this[e+1]<<8;return 32768&o?4294901760|o:o},p.prototype.readInt16BE=function(e,t){t||v(e,2,this.length);var o=this[e+1]|this[e]<<8;return 32768&o?4294901760|o:o},p.prototype.readInt32LE=function(e,t){return t||v(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},p.prototype.readInt32BE=function(e,t){return t||v(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},p.prototype.readFloatLE=function(e,t){return t||v(e,4,this.length),i.read(this,e,!0,23,4)},p.prototype.readFloatBE=function(e,t){return t||v(e,4,this.length),i.read(this,e,!1,23,4)},p.prototype.readDoubleLE=function(e,t){return t||v(e,8,this.length),i.read(this,e,!0,52,8)},p.prototype.readDoubleBE=function(e,t){return t||v(e,8,this.length),i.read(this,e,!1,52,8)},p.prototype.writeUIntLE=function(e,t,o,r){(e=+e,t|=0,o|=0,r)||R(this,e,t,o,Math.pow(2,8*o)-1,0);var i=1,s=0;for(this[t]=255&e;++s<o&&(i*=256);)this[t+s]=e/i&255;return t+o},p.prototype.writeUIntBE=function(e,t,o,r){(e=+e,t|=0,o|=0,r)||R(this,e,t,o,Math.pow(2,8*o)-1,0);var i=o-1,s=1;for(this[t+i]=255&e;--i>=0&&(s*=256);)this[t+i]=e/s&255;return t+o},p.prototype.writeUInt8=function(e,t,o){return e=+e,t|=0,o||R(this,e,t,1,255,0),p.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),this[t]=255&e,t+1},p.prototype.writeUInt16LE=function(e,t,o){return e=+e,t|=0,o||R(this,e,t,2,65535,0),p.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):D(this,e,t,!0),t+2},p.prototype.writeUInt16BE=function(e,t,o){return e=+e,t|=0,o||R(this,e,t,2,65535,0),p.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):D(this,e,t,!1),t+2},p.prototype.writeUInt32LE=function(e,t,o){return e=+e,t|=0,o||R(this,e,t,4,4294967295,0),p.TYPED_ARRAY_SUPPORT?(this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e):w(this,e,t,!0),t+4},p.prototype.writeUInt32BE=function(e,t,o){return e=+e,t|=0,o||R(this,e,t,4,4294967295,0),p.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):w(this,e,t,!1),t+4},p.prototype.writeIntLE=function(e,t,o,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*o-1);R(this,e,t,o,i-1,-i)}var s=0,n=1,a=0;for(this[t]=255&e;++s<o&&(n*=256);)e<0&&0===a&&0!==this[t+s-1]&&(a=1),this[t+s]=(e/n>>0)-a&255;return t+o},p.prototype.writeIntBE=function(e,t,o,r){if(e=+e,t|=0,!r){var i=Math.pow(2,8*o-1);R(this,e,t,o,i-1,-i)}var s=o-1,n=1,a=0;for(this[t+s]=255&e;--s>=0&&(n*=256);)e<0&&0===a&&0!==this[t+s+1]&&(a=1),this[t+s]=(e/n>>0)-a&255;return t+o},p.prototype.writeInt8=function(e,t,o){return e=+e,t|=0,o||R(this,e,t,1,127,-128),p.TYPED_ARRAY_SUPPORT||(e=Math.floor(e)),e<0&&(e=255+e+1),this[t]=255&e,t+1},p.prototype.writeInt16LE=function(e,t,o){return e=+e,t|=0,o||R(this,e,t,2,32767,-32768),p.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8):D(this,e,t,!0),t+2},p.prototype.writeInt16BE=function(e,t,o){return e=+e,t|=0,o||R(this,e,t,2,32767,-32768),p.TYPED_ARRAY_SUPPORT?(this[t]=e>>>8,this[t+1]=255&e):D(this,e,t,!1),t+2},p.prototype.writeInt32LE=function(e,t,o){return e=+e,t|=0,o||R(this,e,t,4,2147483647,-2147483648),p.TYPED_ARRAY_SUPPORT?(this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24):w(this,e,t,!0),t+4},p.prototype.writeInt32BE=function(e,t,o){return e=+e,t|=0,o||R(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),p.TYPED_ARRAY_SUPPORT?(this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e):w(this,e,t,!1),t+4},p.prototype.writeFloatLE=function(e,t,o){return O(this,e,t,!0,o)},p.prototype.writeFloatBE=function(e,t,o){return O(this,e,t,!1,o)},p.prototype.writeDoubleLE=function(e,t,o){return T(this,e,t,!0,o)},p.prototype.writeDoubleBE=function(e,t,o){return T(this,e,t,!1,o)},p.prototype.copy=function(e,t,o,r){if(o||(o=0),r||0===r||(r=this.length),t>=e.length&&(t=e.length),t||(t=0),r>0&&r<o&&(r=o),r===o)return 0;if(0===e.length||0===this.length)return 0;if(t<0)throw new RangeError(\"targetStart out of bounds\");if(o<0||o>=this.length)throw new RangeError(\"sourceStart out of bounds\");if(r<0)throw new RangeError(\"sourceEnd out of bounds\");r>this.length&&(r=this.length),e.length-t<r-o&&(r=e.length-t+o);var i,s=r-o;if(this===e&&o<t&&t<r)for(i=s-1;i>=0;--i)e[i+t]=this[i+o];else if(s<1e3||!p.TYPED_ARRAY_SUPPORT)for(i=0;i<s;++i)e[i+t]=this[i+o];else Uint8Array.prototype.set.call(e,this.subarray(o,o+s),t);return s},p.prototype.fill=function(e,t,o,r){if(\"string\"==typeof e){if(\"string\"==typeof t?(r=t,t=0,o=this.length):\"string\"==typeof o&&(r=o,o=this.length),1===e.length){var i=e.charCodeAt(0);i<256&&(e=i)}if(void 0!==r&&\"string\"!=typeof r)throw new TypeError(\"encoding must be a string\");if(\"string\"==typeof r&&!p.isEncoding(r))throw new TypeError(\"Unknown encoding: \"+r)}else\"number\"==typeof e&&(e&=255);if(t<0||this.length<t||this.length<o)throw new RangeError(\"Out of range index\");if(o<=t)return this;var s;if(t>>>=0,o=void 0===o?this.length:o>>>0,e||(e=0),\"number\"==typeof e)for(s=t;s<o;++s)this[s]=e;else{var n=p.isBuffer(e)?e:A(new p(e,r).toString()),a=n.length;for(s=0;s<o-t;++s)this[s+t]=n[s%a]}return this};var L=/[^+\\/0-9A-Za-z-_]/g;function j(e){return e<16?\"0\"+e.toString(16):e.toString(16)}function A(e,t){var o;t=t||1/0;for(var r=e.length,i=null,s=[],n=0;n<r;++n){if((o=e.charCodeAt(n))>55295&&o<57344){if(!i){if(o>56319){(t-=3)>-1&&s.push(239,191,189);continue}if(n+1===r){(t-=3)>-1&&s.push(239,191,189);continue}i=o;continue}if(o<56320){(t-=3)>-1&&s.push(239,191,189),i=o;continue}o=65536+(i-55296<<10|o-56320)}else i&&(t-=3)>-1&&s.push(239,191,189);if(i=null,o<128){if((t-=1)<0)break;s.push(o)}else if(o<2048){if((t-=2)<0)break;s.push(o>>6|192,63&o|128)}else if(o<65536){if((t-=3)<0)break;s.push(o>>12|224,o>>6&63|128,63&o|128)}else{if(!(o<1114112))throw new Error(\"Invalid code point\");if((t-=4)<0)break;s.push(o>>18|240,o>>12&63|128,o>>6&63|128,63&o|128)}}return s}function N(e){return r.toByteArray(function(e){if((e=function(e){return e.trim?e.trim():e.replace(/^\\s+|\\s+$/g,\"\")}(e).replace(L,\"\")).length<2)return\"\";for(;e.length%4!=0;)e+=\"=\";return e}(e))}function k(e,t,o,r){for(var i=0;i<r&&!(i+o>=t.length||i>=e.length);++i)t[i+o]=e[i];return i}}).call(this,o(5))},function(e,t,o){var r=o(0),i=r,s=Function(\"return this\")(),n=o(4),a=o(8),p=o(1),g=o(2),l=(o(3),o(6));i.exportSymbol(\"proto.WEBBVCU.AudioOperate\",null,s),i.exportSymbol(\"proto.WEBBVCU.BVCU_DialogControlParam_Render\",null,s),i.exportSymbol(\"proto.WEBBVCU.BVCU_DialogParam\",null,s),i.exportSymbol(\"proto.WEBBVCU.BVCU_GetPulist\",null,s),i.exportSymbol(\"proto.WEBBVCU.BVCU_GetPulist_Response\",null,s),i.exportSymbol(\"proto.WEBBVCU.BVCU_LOGIN\",null,s),i.exportSymbol(\"proto.WEBBVCU.BVCU_Login_Response\",null,s),i.exportSymbol(\"proto.WEBBVCU.CmsDialogInfoList\",null,s),i.exportSymbol(\"proto.WEBBVCU.CommonData\",null,s),i.exportSymbol(\"proto.WEBBVCU.Conf_List_Response\",null,s),i.exportSymbol(\"proto.WEBBVCU.Conf_OnlineUser_Response\",null,s),i.exportSymbol(\"proto.WEBBVCU.Conf_Participator_ADD\",null,s),i.exportSymbol(\"proto.WEBBVCU.Current_Pulist_Info\",null,s),i.exportSymbol(\"proto.WEBBVCU.DialogInfo\",null,s),i.exportSymbol(\"proto.WEBBVCU.DownFileFromPu\",null,s),i.exportSymbol(\"proto.WEBBVCU.EmmsHeader\",null,s),i.exportSymbol(\"proto.WEBBVCU.EventStorage\",null,s),i.exportSymbol(\"proto.WEBBVCU.FTPFileInfo\",null,s),i.exportSymbol(\"proto.WEBBVCU.FTPFileInfoGPSInfo\",null,s),i.exportSymbol(\"proto.WEBBVCU.FTPFileInfoList\",null,s),i.exportSymbol(\"proto.WEBBVCU.FileTransInfo\",null,s),i.exportSymbol(\"proto.WEBBVCU.GetConfListResponse\",null,s),i.exportSymbol(\"proto.WEBBVCU.IMMsgPks\",null,s),i.exportSymbol(\"proto.WEBBVCU.LocalStorage\",null,s),i.exportSymbol(\"proto.WEBBVCU.MSGType\",null,s),i.exportSymbol(\"proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY\",null,s),i.exportSymbol(\"proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_CRTL\",null,s),i.exportSymbol(\"proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_RESPONSE\",null,s),i.exportSymbol(\"proto.WEBBVCU.NRUList\",null,s),i.exportSymbol(\"proto.WEBBVCU.Notify_TSP_Data\",null,s),i.exportSymbol(\"proto.WEBBVCU.Open_Dialog_Response\",null,s),i.exportSymbol(\"proto.WEBBVCU.PUUserGroupList\",null,s),i.exportSymbol(\"proto.WEBBVCU.PUUserList\",null,s),i.exportSymbol(\"proto.WEBBVCU.PU_CONTROL\",null,s),i.exportSymbol(\"proto.WEBBVCU.ParamsDialogControl\",null,s),i.exportSymbol(\"proto.WEBBVCU.PublicKey\",null,s),i.exportSymbol(\"proto.WEBBVCU.RecordFileFilter\",null,s),i.exportSymbol(\"proto.WEBBVCU.Request\",null,s),i.exportSymbol(\"proto.WEBBVCU.Response\",null,s),i.exportSymbol(\"proto.WEBBVCU.UserGroupList\",null,s),i.exportSymbol(\"proto.WEBBVCU.UserList\",null,s),i.exportSymbol(\"proto.WEBBVCU.VersionInfo\",null,s),i.exportSymbol(\"proto.WEBBVCU.VideoDialogRotate\",null,s),proto.WEBBVCU.ParamsDialogControl=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.WEBBVCU.ParamsDialogControl,r.Message),i.DEBUG&&!COMPILED&&(proto.WEBBVCU.ParamsDialogControl.displayName=\"proto.WEBBVCU.ParamsDialogControl\"),r.Message.GENERATE_TO_OBJECT&&(proto.WEBBVCU.ParamsDialogControl.prototype.toObject=function(e){return proto.WEBBVCU.ParamsDialogControl.toObject(e,this)},proto.WEBBVCU.ParamsDialogControl.toObject=function(e,t){var o={idelayvssmooth:r.Message.getField(t,1)};return e&&(o.$jspbMessageInstance=t),o}),proto.WEBBVCU.ParamsDialogControl.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.WEBBVCU.ParamsDialogControl;return proto.WEBBVCU.ParamsDialogControl.deserializeBinaryFromReader(o,t)},proto.WEBBVCU.ParamsDialogControl.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readInt32();e.setIdelayvssmooth(o);break;default:t.skipField()}}return e},proto.WEBBVCU.ParamsDialogControl.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.WEBBVCU.ParamsDialogControl.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.WEBBVCU.ParamsDialogControl.serializeBinaryToWriter=function(e,t){var o;null!=(o=r.Message.getField(e,1))&&t.writeInt32(1,o)},proto.WEBBVCU.ParamsDialogControl.prototype.getIdelayvssmooth=function(){return r.Message.getFieldWithDefault(this,1,0)},proto.WEBBVCU.ParamsDialogControl.prototype.setIdelayvssmooth=function(e){r.Message.setField(this,1,e)},proto.WEBBVCU.ParamsDialogControl.prototype.clearIdelayvssmooth=function(){r.Message.setField(this,1,void 0)},proto.WEBBVCU.ParamsDialogControl.prototype.hasIdelayvssmooth=function(){return null!=r.Message.getField(this,1)},proto.WEBBVCU.EmmsHeader=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.WEBBVCU.EmmsHeader,r.Message),i.DEBUG&&!COMPILED&&(proto.WEBBVCU.EmmsHeader.displayName=\"proto.WEBBVCU.EmmsHeader\"),r.Message.GENERATE_TO_OBJECT&&(proto.WEBBVCU.EmmsHeader.prototype.toObject=function(e){return proto.WEBBVCU.EmmsHeader.toObject(e,this)},proto.WEBBVCU.EmmsHeader.toObject=function(e,t){var o={key:r.Message.getField(t,1),ver:r.Message.getField(t,2),session:r.Message.getField(t,3)};return e&&(o.$jspbMessageInstance=t),o}),proto.WEBBVCU.EmmsHeader.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.WEBBVCU.EmmsHeader;return proto.WEBBVCU.EmmsHeader.deserializeBinaryFromReader(o,t)},proto.WEBBVCU.EmmsHeader.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readString();e.setKey(o);break;case 2:o=t.readString();e.setVer(o);break;case 3:o=t.readString();e.setSession(o);break;default:t.skipField()}}return e},proto.WEBBVCU.EmmsHeader.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.WEBBVCU.EmmsHeader.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.WEBBVCU.EmmsHeader.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeString(1,o),null!=(o=r.Message.getField(e,2))&&t.writeString(2,o),null!=(o=r.Message.getField(e,3))&&t.writeString(3,o)},proto.WEBBVCU.EmmsHeader.prototype.getKey=function(){return r.Message.getFieldWithDefault(this,1,\"\")},proto.WEBBVCU.EmmsHeader.prototype.setKey=function(e){r.Message.setField(this,1,e)},proto.WEBBVCU.EmmsHeader.prototype.clearKey=function(){r.Message.setField(this,1,void 0)},proto.WEBBVCU.EmmsHeader.prototype.hasKey=function(){return null!=r.Message.getField(this,1)},proto.WEBBVCU.EmmsHeader.prototype.getVer=function(){return r.Message.getFieldWithDefault(this,2,\"\")},proto.WEBBVCU.EmmsHeader.prototype.setVer=function(e){r.Message.setField(this,2,e)},proto.WEBBVCU.EmmsHeader.prototype.clearVer=function(){r.Message.setField(this,2,void 0)},proto.WEBBVCU.EmmsHeader.prototype.hasVer=function(){return null!=r.Message.getField(this,2)},proto.WEBBVCU.EmmsHeader.prototype.getSession=function(){return r.Message.getFieldWithDefault(this,3,\"\")},proto.WEBBVCU.EmmsHeader.prototype.setSession=function(e){r.Message.setField(this,3,e)},proto.WEBBVCU.EmmsHeader.prototype.clearSession=function(){r.Message.setField(this,3,void 0)},proto.WEBBVCU.EmmsHeader.prototype.hasSession=function(){return null!=r.Message.getField(this,3)},proto.WEBBVCU.Request=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.WEBBVCU.Request,r.Message),i.DEBUG&&!COMPILED&&(proto.WEBBVCU.Request.displayName=\"proto.WEBBVCU.Request\"),r.Message.GENERATE_TO_OBJECT&&(proto.WEBBVCU.Request.prototype.toObject=function(e){return proto.WEBBVCU.Request.toObject(e,this)},proto.WEBBVCU.Request.toObject=function(e,t){var o,i={msgtype:r.Message.getField(t,1),emms:(o=t.getEmms())&&proto.WEBBVCU.EmmsHeader.toObject(e,o),id:r.Message.getField(t,3),targetid:r.Message.getField(t,4),targetindex:r.Message.getField(t,5),payload:t.getPayload_asB64(),relayid:r.Message.getField(t,7),hdlg:r.Message.getField(t,8)};return e&&(i.$jspbMessageInstance=t),i}),proto.WEBBVCU.Request.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.WEBBVCU.Request;return proto.WEBBVCU.Request.deserializeBinaryFromReader(o,t)},proto.WEBBVCU.Request.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readEnum();e.setMsgtype(o);break;case 2:o=new proto.WEBBVCU.EmmsHeader;t.readMessage(o,proto.WEBBVCU.EmmsHeader.deserializeBinaryFromReader),e.setEmms(o);break;case 3:o=t.readInt32();e.setId(o);break;case 4:o=t.readString();e.setTargetid(o);break;case 5:o=t.readInt32();e.setTargetindex(o);break;case 6:o=t.readBytes();e.setPayload(o);break;case 7:o=t.readInt32();e.setRelayid(o);break;case 8:o=t.readInt64();e.setHdlg(o);break;default:t.skipField()}}return e},proto.WEBBVCU.Request.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.WEBBVCU.Request.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.WEBBVCU.Request.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeEnum(1,o),null!=(o=e.getEmms())&&t.writeMessage(2,o,proto.WEBBVCU.EmmsHeader.serializeBinaryToWriter),null!=(o=r.Message.getField(e,3))&&t.writeInt32(3,o),null!=(o=r.Message.getField(e,4))&&t.writeString(4,o),null!=(o=r.Message.getField(e,5))&&t.writeInt32(5,o),null!=(o=r.Message.getField(e,6))&&t.writeBytes(6,o),null!=(o=r.Message.getField(e,7))&&t.writeInt32(7,o),null!=(o=r.Message.getField(e,8))&&t.writeInt64(8,o)},proto.WEBBVCU.Request.prototype.getMsgtype=function(){return r.Message.getFieldWithDefault(this,1,0)},proto.WEBBVCU.Request.prototype.setMsgtype=function(e){r.Message.setField(this,1,e)},proto.WEBBVCU.Request.prototype.clearMsgtype=function(){r.Message.setField(this,1,void 0)},proto.WEBBVCU.Request.prototype.hasMsgtype=function(){return null!=r.Message.getField(this,1)},proto.WEBBVCU.Request.prototype.getEmms=function(){return r.Message.getWrapperField(this,proto.WEBBVCU.EmmsHeader,2)},proto.WEBBVCU.Request.prototype.setEmms=function(e){r.Message.setWrapperField(this,2,e)},proto.WEBBVCU.Request.prototype.clearEmms=function(){this.setEmms(void 0)},proto.WEBBVCU.Request.prototype.hasEmms=function(){return null!=r.Message.getField(this,2)},proto.WEBBVCU.Request.prototype.getId=function(){return r.Message.getFieldWithDefault(this,3,0)},proto.WEBBVCU.Request.prototype.setId=function(e){r.Message.setField(this,3,e)},proto.WEBBVCU.Request.prototype.clearId=function(){r.Message.setField(this,3,void 0)},proto.WEBBVCU.Request.prototype.hasId=function(){return null!=r.Message.getField(this,3)},proto.WEBBVCU.Request.prototype.getTargetid=function(){return r.Message.getFieldWithDefault(this,4,\"\")},proto.WEBBVCU.Request.prototype.setTargetid=function(e){r.Message.setField(this,4,e)},proto.WEBBVCU.Request.prototype.clearTargetid=function(){r.Message.setField(this,4,void 0)},proto.WEBBVCU.Request.prototype.hasTargetid=function(){return null!=r.Message.getField(this,4)},proto.WEBBVCU.Request.prototype.getTargetindex=function(){return r.Message.getFieldWithDefault(this,5,0)},proto.WEBBVCU.Request.prototype.setTargetindex=function(e){r.Message.setField(this,5,e)},proto.WEBBVCU.Request.prototype.clearTargetindex=function(){r.Message.setField(this,5,void 0)},proto.WEBBVCU.Request.prototype.hasTargetindex=function(){return null!=r.Message.getField(this,5)},proto.WEBBVCU.Request.prototype.getPayload=function(){return r.Message.getFieldWithDefault(this,6,\"\")},proto.WEBBVCU.Request.prototype.getPayload_asB64=function(){return r.Message.bytesAsB64(this.getPayload())},proto.WEBBVCU.Request.prototype.getPayload_asU8=function(){return r.Message.bytesAsU8(this.getPayload())},proto.WEBBVCU.Request.prototype.setPayload=function(e){r.Message.setField(this,6,e)},proto.WEBBVCU.Request.prototype.clearPayload=function(){r.Message.setField(this,6,void 0)},proto.WEBBVCU.Request.prototype.hasPayload=function(){return null!=r.Message.getField(this,6)},proto.WEBBVCU.Request.prototype.getRelayid=function(){return r.Message.getFieldWithDefault(this,7,0)},proto.WEBBVCU.Request.prototype.setRelayid=function(e){r.Message.setField(this,7,e)},proto.WEBBVCU.Request.prototype.clearRelayid=function(){r.Message.setField(this,7,void 0)},proto.WEBBVCU.Request.prototype.hasRelayid=function(){return null!=r.Message.getField(this,7)},proto.WEBBVCU.Request.prototype.getHdlg=function(){return r.Message.getFieldWithDefault(this,8,0)},proto.WEBBVCU.Request.prototype.setHdlg=function(e){r.Message.setField(this,8,e)},proto.WEBBVCU.Request.prototype.clearHdlg=function(){r.Message.setField(this,8,void 0)},proto.WEBBVCU.Request.prototype.hasHdlg=function(){return null!=r.Message.getField(this,8)},proto.WEBBVCU.Response=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.WEBBVCU.Response,r.Message),i.DEBUG&&!COMPILED&&(proto.WEBBVCU.Response.displayName=\"proto.WEBBVCU.Response\"),r.Message.GENERATE_TO_OBJECT&&(proto.WEBBVCU.Response.prototype.toObject=function(e){return proto.WEBBVCU.Response.toObject(e,this)},proto.WEBBVCU.Response.toObject=function(e,t){var o,i={msgtype:r.Message.getField(t,1),id:r.Message.getField(t,2),code:r.Message.getField(t,3),emms:(o=t.getEmms())&&proto.WEBBVCU.EmmsHeader.toObject(e,o),resultdescription:r.Message.getField(t,5),payload:t.getPayload_asB64(),targetid:r.Message.getField(t,7),targetindex:r.Message.getField(t,8),relayid:r.Message.getField(t,9)};return e&&(i.$jspbMessageInstance=t),i}),proto.WEBBVCU.Response.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.WEBBVCU.Response;return proto.WEBBVCU.Response.deserializeBinaryFromReader(o,t)},proto.WEBBVCU.Response.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readEnum();e.setMsgtype(o);break;case 2:o=t.readInt32();e.setId(o);break;case 3:o=t.readInt32();e.setCode(o);break;case 4:o=new proto.WEBBVCU.EmmsHeader;t.readMessage(o,proto.WEBBVCU.EmmsHeader.deserializeBinaryFromReader),e.setEmms(o);break;case 5:o=t.readString();e.setResultdescription(o);break;case 6:o=t.readBytes();e.setPayload(o);break;case 7:o=t.readString();e.setTargetid(o);break;case 8:o=t.readInt32();e.setTargetindex(o);break;case 9:o=t.readInt32();e.setRelayid(o);break;default:t.skipField()}}return e},proto.WEBBVCU.Response.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.WEBBVCU.Response.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.WEBBVCU.Response.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeEnum(1,o),null!=(o=r.Message.getField(e,2))&&t.writeInt32(2,o),null!=(o=r.Message.getField(e,3))&&t.writeInt32(3,o),null!=(o=e.getEmms())&&t.writeMessage(4,o,proto.WEBBVCU.EmmsHeader.serializeBinaryToWriter),null!=(o=r.Message.getField(e,5))&&t.writeString(5,o),null!=(o=r.Message.getField(e,6))&&t.writeBytes(6,o),null!=(o=r.Message.getField(e,7))&&t.writeString(7,o),null!=(o=r.Message.getField(e,8))&&t.writeInt32(8,o),null!=(o=r.Message.getField(e,9))&&t.writeInt32(9,o)},proto.WEBBVCU.Response.prototype.getMsgtype=function(){return r.Message.getFieldWithDefault(this,1,0)},proto.WEBBVCU.Response.prototype.setMsgtype=function(e){r.Message.setField(this,1,e)},proto.WEBBVCU.Response.prototype.clearMsgtype=function(){r.Message.setField(this,1,void 0)},proto.WEBBVCU.Response.prototype.hasMsgtype=function(){return null!=r.Message.getField(this,1)},proto.WEBBVCU.Response.prototype.getId=function(){return r.Message.getFieldWithDefault(this,2,0)},proto.WEBBVCU.Response.prototype.setId=function(e){r.Message.setField(this,2,e)},proto.WEBBVCU.Response.prototype.clearId=function(){r.Message.setField(this,2,void 0)},proto.WEBBVCU.Response.prototype.hasId=function(){return null!=r.Message.getField(this,2)},proto.WEBBVCU.Response.prototype.getCode=function(){return r.Message.getFieldWithDefault(this,3,0)},proto.WEBBVCU.Response.prototype.setCode=function(e){r.Message.setField(this,3,e)},proto.WEBBVCU.Response.prototype.clearCode=function(){r.Message.setField(this,3,void 0)},proto.WEBBVCU.Response.prototype.hasCode=function(){return null!=r.Message.getField(this,3)},proto.WEBBVCU.Response.prototype.getEmms=function(){return r.Message.getWrapperField(this,proto.WEBBVCU.EmmsHeader,4)},proto.WEBBVCU.Response.prototype.setEmms=function(e){r.Message.setWrapperField(this,4,e)},proto.WEBBVCU.Response.prototype.clearEmms=function(){this.setEmms(void 0)},proto.WEBBVCU.Response.prototype.hasEmms=function(){return null!=r.Message.getField(this,4)},proto.WEBBVCU.Response.prototype.getResultdescription=function(){return r.Message.getFieldWithDefault(this,5,\"\")},proto.WEBBVCU.Response.prototype.setResultdescription=function(e){r.Message.setField(this,5,e)},proto.WEBBVCU.Response.prototype.clearResultdescription=function(){r.Message.setField(this,5,void 0)},proto.WEBBVCU.Response.prototype.hasResultdescription=function(){return null!=r.Message.getField(this,5)},proto.WEBBVCU.Response.prototype.getPayload=function(){return r.Message.getFieldWithDefault(this,6,\"\")},proto.WEBBVCU.Response.prototype.getPayload_asB64=function(){return r.Message.bytesAsB64(this.getPayload())},proto.WEBBVCU.Response.prototype.getPayload_asU8=function(){return r.Message.bytesAsU8(this.getPayload())},proto.WEBBVCU.Response.prototype.setPayload=function(e){r.Message.setField(this,6,e)},proto.WEBBVCU.Response.prototype.clearPayload=function(){r.Message.setField(this,6,void 0)},proto.WEBBVCU.Response.prototype.hasPayload=function(){return null!=r.Message.getField(this,6)},proto.WEBBVCU.Response.prototype.getTargetid=function(){return r.Message.getFieldWithDefault(this,7,\"\")},proto.WEBBVCU.Response.prototype.setTargetid=function(e){r.Message.setField(this,7,e)},proto.WEBBVCU.Response.prototype.clearTargetid=function(){r.Message.setField(this,7,void 0)},proto.WEBBVCU.Response.prototype.hasTargetid=function(){return null!=r.Message.getField(this,7)},proto.WEBBVCU.Response.prototype.getTargetindex=function(){return r.Message.getFieldWithDefault(this,8,0)},proto.WEBBVCU.Response.prototype.setTargetindex=function(e){r.Message.setField(this,8,e)},proto.WEBBVCU.Response.prototype.clearTargetindex=function(){r.Message.setField(this,8,void 0)},proto.WEBBVCU.Response.prototype.hasTargetindex=function(){return null!=r.Message.getField(this,8)},proto.WEBBVCU.Response.prototype.getRelayid=function(){return r.Message.getFieldWithDefault(this,9,0)},proto.WEBBVCU.Response.prototype.setRelayid=function(e){r.Message.setField(this,9,e)},proto.WEBBVCU.Response.prototype.clearRelayid=function(){r.Message.setField(this,9,void 0)},proto.WEBBVCU.Response.prototype.hasRelayid=function(){return null!=r.Message.getField(this,9)},proto.WEBBVCU.GetConfListResponse=function(e){r.Message.initialize(this,e,0,-1,proto.WEBBVCU.GetConfListResponse.repeatedFields_,null)},i.inherits(proto.WEBBVCU.GetConfListResponse,r.Message),i.DEBUG&&!COMPILED&&(proto.WEBBVCU.GetConfListResponse.displayName=\"proto.WEBBVCU.GetConfListResponse\"),proto.WEBBVCU.GetConfListResponse.repeatedFields_=[1],r.Message.GENERATE_TO_OBJECT&&(proto.WEBBVCU.GetConfListResponse.prototype.toObject=function(e){return proto.WEBBVCU.GetConfListResponse.toObject(e,this)},proto.WEBBVCU.GetConfListResponse.toObject=function(e,t){var o={confbaseinfosList:r.Message.toObjectList(t.getConfbaseinfosList(),n.ConfBaseInfo.toObject,e)};return e&&(o.$jspbMessageInstance=t),o}),proto.WEBBVCU.GetConfListResponse.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.WEBBVCU.GetConfListResponse;return proto.WEBBVCU.GetConfListResponse.deserializeBinaryFromReader(o,t)},proto.WEBBVCU.GetConfListResponse.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=new n.ConfBaseInfo;t.readMessage(o,n.ConfBaseInfo.deserializeBinaryFromReader),e.addConfbaseinfos(o);break;default:t.skipField()}}return e},proto.WEBBVCU.GetConfListResponse.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.WEBBVCU.GetConfListResponse.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.WEBBVCU.GetConfListResponse.serializeBinaryToWriter=function(e,t){var o;(o=e.getConfbaseinfosList()).length>0&&t.writeRepeatedMessage(1,o,n.ConfBaseInfo.serializeBinaryToWriter)},proto.WEBBVCU.GetConfListResponse.prototype.getConfbaseinfosList=function(){return r.Message.getRepeatedWrapperField(this,n.ConfBaseInfo,1)},proto.WEBBVCU.GetConfListResponse.prototype.setConfbaseinfosList=function(e){r.Message.setRepeatedWrapperField(this,1,e)},proto.WEBBVCU.GetConfListResponse.prototype.addConfbaseinfos=function(e,t){return r.Message.addToRepeatedWrapperField(this,1,e,proto.BVCU.ConfBaseInfo,t)},proto.WEBBVCU.GetConfListResponse.prototype.clearConfbaseinfosList=function(){this.setConfbaseinfosList([])},proto.WEBBVCU.PublicKey=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.WEBBVCU.PublicKey,r.Message),i.DEBUG&&!COMPILED&&(proto.WEBBVCU.PublicKey.displayName=\"proto.WEBBVCU.PublicKey\"),r.Message.GENERATE_TO_OBJECT&&(proto.WEBBVCU.PublicKey.prototype.toObject=function(e){return proto.WEBBVCU.PublicKey.toObject(e,this)},proto.WEBBVCU.PublicKey.toObject=function(e,t){var o={d:r.Message.getField(t,1),n:r.Message.getField(t,2)};return e&&(o.$jspbMessageInstance=t),o}),proto.WEBBVCU.PublicKey.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.WEBBVCU.PublicKey;return proto.WEBBVCU.PublicKey.deserializeBinaryFromReader(o,t)},proto.WEBBVCU.PublicKey.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readInt64();e.setD(o);break;case 2:o=t.readInt64();e.setN(o);break;default:t.skipField()}}return e},proto.WEBBVCU.PublicKey.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.WEBBVCU.PublicKey.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.WEBBVCU.PublicKey.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeInt64(1,o),null!=(o=r.Message.getField(e,2))&&t.writeInt64(2,o)},proto.WEBBVCU.PublicKey.prototype.getD=function(){return r.Message.getFieldWithDefault(this,1,0)},proto.WEBBVCU.PublicKey.prototype.setD=function(e){r.Message.setField(this,1,e)},proto.WEBBVCU.PublicKey.prototype.clearD=function(){r.Message.setField(this,1,void 0)},proto.WEBBVCU.PublicKey.prototype.hasD=function(){return null!=r.Message.getField(this,1)},proto.WEBBVCU.PublicKey.prototype.getN=function(){return r.Message.getFieldWithDefault(this,2,0)},proto.WEBBVCU.PublicKey.prototype.setN=function(e){r.Message.setField(this,2,e)},proto.WEBBVCU.PublicKey.prototype.clearN=function(){r.Message.setField(this,2,void 0)},proto.WEBBVCU.PublicKey.prototype.hasN=function(){return null!=r.Message.getField(this,2)},proto.WEBBVCU.BVCU_LOGIN=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.WEBBVCU.BVCU_LOGIN,r.Message),i.DEBUG&&!COMPILED&&(proto.WEBBVCU.BVCU_LOGIN.displayName=\"proto.WEBBVCU.BVCU_LOGIN\"),r.Message.GENERATE_TO_OBJECT&&(proto.WEBBVCU.BVCU_LOGIN.prototype.toObject=function(e){return proto.WEBBVCU.BVCU_LOGIN.toObject(e,this)},proto.WEBBVCU.BVCU_LOGIN.toObject=function(e,t){var o={server:r.Message.getField(t,1),port:r.Message.getField(t,2),user:r.Message.getField(t,3),password:r.Message.getField(t,4)};return e&&(o.$jspbMessageInstance=t),o}),proto.WEBBVCU.BVCU_LOGIN.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.WEBBVCU.BVCU_LOGIN;return proto.WEBBVCU.BVCU_LOGIN.deserializeBinaryFromReader(o,t)},proto.WEBBVCU.BVCU_LOGIN.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readString();e.setServer(o);break;case 2:o=t.readInt32();e.setPort(o);break;case 3:o=t.readString();e.setUser(o);break;case 4:o=t.readString();e.setPassword(o);break;default:t.skipField()}}return e},proto.WEBBVCU.BVCU_LOGIN.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.WEBBVCU.BVCU_LOGIN.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.WEBBVCU.BVCU_LOGIN.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeString(1,o),null!=(o=r.Message.getField(e,2))&&t.writeInt32(2,o),null!=(o=r.Message.getField(e,3))&&t.writeString(3,o),null!=(o=r.Message.getField(e,4))&&t.writeString(4,o)},proto.WEBBVCU.BVCU_LOGIN.prototype.getServer=function(){return r.Message.getFieldWithDefault(this,1,\"\")},proto.WEBBVCU.BVCU_LOGIN.prototype.setServer=function(e){r.Message.setField(this,1,e)},proto.WEBBVCU.BVCU_LOGIN.prototype.clearServer=function(){r.Message.setField(this,1,void 0)},proto.WEBBVCU.BVCU_LOGIN.prototype.hasServer=function(){return null!=r.Message.getField(this,1)},proto.WEBBVCU.BVCU_LOGIN.prototype.getPort=function(){return r.Message.getFieldWithDefault(this,2,0)},proto.WEBBVCU.BVCU_LOGIN.prototype.setPort=function(e){r.Message.setField(this,2,e)},proto.WEBBVCU.BVCU_LOGIN.prototype.clearPort=function(){r.Message.setField(this,2,void 0)},proto.WEBBVCU.BVCU_LOGIN.prototype.hasPort=function(){return null!=r.Message.getField(this,2)},proto.WEBBVCU.BVCU_LOGIN.prototype.getUser=function(){return r.Message.getFieldWithDefault(this,3,\"\")},proto.WEBBVCU.BVCU_LOGIN.prototype.setUser=function(e){r.Message.setField(this,3,e)},proto.WEBBVCU.BVCU_LOGIN.prototype.clearUser=function(){r.Message.setField(this,3,void 0)},proto.WEBBVCU.BVCU_LOGIN.prototype.hasUser=function(){return null!=r.Message.getField(this,3)},proto.WEBBVCU.BVCU_LOGIN.prototype.getPassword=function(){return r.Message.getFieldWithDefault(this,4,\"\")},proto.WEBBVCU.BVCU_LOGIN.prototype.setPassword=function(e){r.Message.setField(this,4,e)},proto.WEBBVCU.BVCU_LOGIN.prototype.clearPassword=function(){r.Message.setField(this,4,void 0)},proto.WEBBVCU.BVCU_LOGIN.prototype.hasPassword=function(){return null!=r.Message.getField(this,4)},proto.WEBBVCU.Current_Pulist_Info=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.WEBBVCU.Current_Pulist_Info,r.Message),i.DEBUG&&!COMPILED&&(proto.WEBBVCU.Current_Pulist_Info.displayName=\"proto.WEBBVCU.Current_Pulist_Info\"),r.Message.GENERATE_TO_OBJECT&&(proto.WEBBVCU.Current_Pulist_Info.prototype.toObject=function(e){return proto.WEBBVCU.Current_Pulist_Info.toObject(e,this)},proto.WEBBVCU.Current_Pulist_Info.toObject=function(e,t){var o={itotalcount:r.Message.getField(t,1),ialreadycount:r.Message.getField(t,2),bcanget:r.Message.getField(t,3)};return e&&(o.$jspbMessageInstance=t),o}),proto.WEBBVCU.Current_Pulist_Info.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.WEBBVCU.Current_Pulist_Info;return proto.WEBBVCU.Current_Pulist_Info.deserializeBinaryFromReader(o,t)},proto.WEBBVCU.Current_Pulist_Info.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readInt32();e.setItotalcount(o);break;case 2:o=t.readInt32();e.setIalreadycount(o);break;case 3:o=t.readBool();e.setBcanget(o);break;default:t.skipField()}}return e},proto.WEBBVCU.Current_Pulist_Info.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.WEBBVCU.Current_Pulist_Info.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.WEBBVCU.Current_Pulist_Info.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeInt32(1,o),null!=(o=r.Message.getField(e,2))&&t.writeInt32(2,o),null!=(o=r.Message.getField(e,3))&&t.writeBool(3,o)},proto.WEBBVCU.Current_Pulist_Info.prototype.getItotalcount=function(){return r.Message.getFieldWithDefault(this,1,0)},proto.WEBBVCU.Current_Pulist_Info.prototype.setItotalcount=function(e){r.Message.setField(this,1,e)},proto.WEBBVCU.Current_Pulist_Info.prototype.clearItotalcount=function(){r.Message.setField(this,1,void 0)},proto.WEBBVCU.Current_Pulist_Info.prototype.hasItotalcount=function(){return null!=r.Message.getField(this,1)},proto.WEBBVCU.Current_Pulist_Info.prototype.getIalreadycount=function(){return r.Message.getFieldWithDefault(this,2,0)},proto.WEBBVCU.Current_Pulist_Info.prototype.setIalreadycount=function(e){r.Message.setField(this,2,e)},proto.WEBBVCU.Current_Pulist_Info.prototype.clearIalreadycount=function(){r.Message.setField(this,2,void 0)},proto.WEBBVCU.Current_Pulist_Info.prototype.hasIalreadycount=function(){return null!=r.Message.getField(this,2)},proto.WEBBVCU.Current_Pulist_Info.prototype.getBcanget=function(){return r.Message.getFieldWithDefault(this,3,!1)},proto.WEBBVCU.Current_Pulist_Info.prototype.setBcanget=function(e){r.Message.setField(this,3,e)},proto.WEBBVCU.Current_Pulist_Info.prototype.clearBcanget=function(){r.Message.setField(this,3,void 0)},proto.WEBBVCU.Current_Pulist_Info.prototype.hasBcanget=function(){return null!=r.Message.getField(this,3)},proto.WEBBVCU.BVCU_Login_Response=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.WEBBVCU.BVCU_Login_Response,r.Message),i.DEBUG&&!COMPILED&&(proto.WEBBVCU.BVCU_Login_Response.displayName=\"proto.WEBBVCU.BVCU_Login_Response\"),r.Message.GENERATE_TO_OBJECT&&(proto.WEBBVCU.BVCU_Login_Response.prototype.toObject=function(e){return proto.WEBBVCU.BVCU_Login_Response.toObject(e,this)},proto.WEBBVCU.BVCU_Login_Response.toObject=function(e,t){var o,i={sessionidletime:r.Message.getField(t,1),dialogidletime:r.Message.getField(t,2),keepliveinterval:r.Message.getField(t,3),cryptokey:r.Message.getField(t,4),cryptoiv:r.Message.getField(t,5),session:r.Message.getField(t,6),stcpi:(o=t.getStcpi())&&proto.WEBBVCU.Current_Pulist_Info.toObject(e,o)};return e&&(i.$jspbMessageInstance=t),i}),proto.WEBBVCU.BVCU_Login_Response.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.WEBBVCU.BVCU_Login_Response;return proto.WEBBVCU.BVCU_Login_Response.deserializeBinaryFromReader(o,t)},proto.WEBBVCU.BVCU_Login_Response.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readInt64();e.setSessionidletime(o);break;case 2:o=t.readInt64();e.setDialogidletime(o);break;case 3:o=t.readInt64();e.setKeepliveinterval(o);break;case 4:o=t.readString();e.setCryptokey(o);break;case 5:o=t.readString();e.setCryptoiv(o);break;case 6:o=t.readString();e.setSession(o);break;case 7:o=new proto.WEBBVCU.Current_Pulist_Info;t.readMessage(o,proto.WEBBVCU.Current_Pulist_Info.deserializeBinaryFromReader),e.setStcpi(o);break;default:t.skipField()}}return e},proto.WEBBVCU.BVCU_Login_Response.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.WEBBVCU.BVCU_Login_Response.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.WEBBVCU.BVCU_Login_Response.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeInt64(1,o),null!=(o=r.Message.getField(e,2))&&t.writeInt64(2,o),null!=(o=r.Message.getField(e,3))&&t.writeInt64(3,o),null!=(o=r.Message.getField(e,4))&&t.writeString(4,o),null!=(o=r.Message.getField(e,5))&&t.writeString(5,o),null!=(o=r.Message.getField(e,6))&&t.writeString(6,o),null!=(o=e.getStcpi())&&t.writeMessage(7,o,proto.WEBBVCU.Current_Pulist_Info.serializeBinaryToWriter)},proto.WEBBVCU.BVCU_Login_Response.prototype.getSessionidletime=function(){return r.Message.getFieldWithDefault(this,1,0)},proto.WEBBVCU.BVCU_Login_Response.prototype.setSessionidletime=function(e){r.Message.setField(this,1,e)},proto.WEBBVCU.BVCU_Login_Response.prototype.clearSessionidletime=function(){r.Message.setField(this,1,void 0)},proto.WEBBVCU.BVCU_Login_Response.prototype.hasSessionidletime=function(){return null!=r.Message.getField(this,1)},proto.WEBBVCU.BVCU_Login_Response.prototype.getDialogidletime=function(){return r.Message.getFieldWithDefault(this,2,0)},proto.WEBBVCU.BVCU_Login_Response.prototype.setDialogidletime=function(e){r.Message.setField(this,2,e)},proto.WEBBVCU.BVCU_Login_Response.prototype.clearDialogidletime=function(){r.Message.setField(this,2,void 0)},proto.WEBBVCU.BVCU_Login_Response.prototype.hasDialogidletime=function(){return null!=r.Message.getField(this,2)},proto.WEBBVCU.BVCU_Login_Response.prototype.getKeepliveinterval=function(){return r.Message.getFieldWithDefault(this,3,0)},proto.WEBBVCU.BVCU_Login_Response.prototype.setKeepliveinterval=function(e){r.Message.setField(this,3,e)},proto.WEBBVCU.BVCU_Login_Response.prototype.clearKeepliveinterval=function(){r.Message.setField(this,3,void 0)},proto.WEBBVCU.BVCU_Login_Response.prototype.hasKeepliveinterval=function(){return null!=r.Message.getField(this,3)},proto.WEBBVCU.BVCU_Login_Response.prototype.getCryptokey=function(){return r.Message.getFieldWithDefault(this,4,\"\")},proto.WEBBVCU.BVCU_Login_Response.prototype.setCryptokey=function(e){r.Message.setField(this,4,e)},proto.WEBBVCU.BVCU_Login_Response.prototype.clearCryptokey=function(){r.Message.setField(this,4,void 0)},proto.WEBBVCU.BVCU_Login_Response.prototype.hasCryptokey=function(){return null!=r.Message.getField(this,4)},proto.WEBBVCU.BVCU_Login_Response.prototype.getCryptoiv=function(){return r.Message.getFieldWithDefault(this,5,\"\")},proto.WEBBVCU.BVCU_Login_Response.prototype.setCryptoiv=function(e){r.Message.setField(this,5,e)},proto.WEBBVCU.BVCU_Login_Response.prototype.clearCryptoiv=function(){r.Message.setField(this,5,void 0)},proto.WEBBVCU.BVCU_Login_Response.prototype.hasCryptoiv=function(){return null!=r.Message.getField(this,5)},proto.WEBBVCU.BVCU_Login_Response.prototype.getSession=function(){return r.Message.getFieldWithDefault(this,6,\"\")},proto.WEBBVCU.BVCU_Login_Response.prototype.setSession=function(e){r.Message.setField(this,6,e)},proto.WEBBVCU.BVCU_Login_Response.prototype.clearSession=function(){r.Message.setField(this,6,void 0)},proto.WEBBVCU.BVCU_Login_Response.prototype.hasSession=function(){return null!=r.Message.getField(this,6)},proto.WEBBVCU.BVCU_Login_Response.prototype.getStcpi=function(){return r.Message.getWrapperField(this,proto.WEBBVCU.Current_Pulist_Info,7)},proto.WEBBVCU.BVCU_Login_Response.prototype.setStcpi=function(e){r.Message.setWrapperField(this,7,e)},proto.WEBBVCU.BVCU_Login_Response.prototype.clearStcpi=function(){this.setStcpi(void 0)},proto.WEBBVCU.BVCU_Login_Response.prototype.hasStcpi=function(){return null!=r.Message.getField(this,7)},proto.WEBBVCU.BVCU_DialogControlParam_Render=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.WEBBVCU.BVCU_DialogControlParam_Render,r.Message),i.DEBUG&&!COMPILED&&(proto.WEBBVCU.BVCU_DialogControlParam_Render.displayName=\"proto.WEBBVCU.BVCU_DialogControlParam_Render\"),r.Message.GENERATE_TO_OBJECT&&(proto.WEBBVCU.BVCU_DialogControlParam_Render.prototype.toObject=function(e){return proto.WEBBVCU.BVCU_DialogControlParam_Render.toObject(e,this)},proto.WEBBVCU.BVCU_DialogControlParam_Render.toObject=function(e,t){var o={iplackbackvolume:r.Message.getField(t,1),icapturevolume:r.Message.getField(t,2)};return e&&(o.$jspbMessageInstance=t),o}),proto.WEBBVCU.BVCU_DialogControlParam_Render.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.WEBBVCU.BVCU_DialogControlParam_Render;return proto.WEBBVCU.BVCU_DialogControlParam_Render.deserializeBinaryFromReader(o,t)},proto.WEBBVCU.BVCU_DialogControlParam_Render.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readInt32();e.setIplackbackvolume(o);break;case 2:o=t.readInt32();e.setIcapturevolume(o);break;default:t.skipField()}}return e},proto.WEBBVCU.BVCU_DialogControlParam_Render.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.WEBBVCU.BVCU_DialogControlParam_Render.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.WEBBVCU.BVCU_DialogControlParam_Render.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeInt32(1,o),null!=(o=r.Message.getField(e,2))&&t.writeInt32(2,o)},proto.WEBBVCU.BVCU_DialogControlParam_Render.prototype.getIplackbackvolume=function(){return r.Message.getFieldWithDefault(this,1,0)},proto.WEBBVCU.BVCU_DialogControlParam_Render.prototype.setIplackbackvolume=function(e){r.Message.setField(this,1,e)},proto.WEBBVCU.BVCU_DialogControlParam_Render.prototype.clearIplackbackvolume=function(){r.Message.setField(this,1,void 0)},proto.WEBBVCU.BVCU_DialogControlParam_Render.prototype.hasIplackbackvolume=function(){return null!=r.Message.getField(this,1)},proto.WEBBVCU.BVCU_DialogControlParam_Render.prototype.getIcapturevolume=function(){return r.Message.getFieldWithDefault(this,2,0)},proto.WEBBVCU.BVCU_DialogControlParam_Render.prototype.setIcapturevolume=function(e){r.Message.setField(this,2,e)},proto.WEBBVCU.BVCU_DialogControlParam_Render.prototype.clearIcapturevolume=function(){r.Message.setField(this,2,void 0)},proto.WEBBVCU.BVCU_DialogControlParam_Render.prototype.hasIcapturevolume=function(){return null!=r.Message.getField(this,2)},proto.WEBBVCU.BVCU_GetPulist=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.WEBBVCU.BVCU_GetPulist,r.Message),i.DEBUG&&!COMPILED&&(proto.WEBBVCU.BVCU_GetPulist.displayName=\"proto.WEBBVCU.BVCU_GetPulist\"),r.Message.GENERATE_TO_OBJECT&&(proto.WEBBVCU.BVCU_GetPulist.prototype.toObject=function(e){return proto.WEBBVCU.BVCU_GetPulist.toObject(e,this)},proto.WEBBVCU.BVCU_GetPulist.toObject=function(e,t){var o={status:r.Message.getField(t,1),pagesize:r.Message.getField(t,2),page:r.Message.getField(t,3),index:r.Message.getField(t,4),icount:r.Message.getField(t,5)};return e&&(o.$jspbMessageInstance=t),o}),proto.WEBBVCU.BVCU_GetPulist.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.WEBBVCU.BVCU_GetPulist;return proto.WEBBVCU.BVCU_GetPulist.deserializeBinaryFromReader(o,t)},proto.WEBBVCU.BVCU_GetPulist.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readInt32();e.setStatus(o);break;case 2:o=t.readInt32();e.setPagesize(o);break;case 3:o=t.readInt32();e.setPage(o);break;case 4:o=t.readInt32();e.setIndex(o);break;case 5:o=t.readInt32();e.setIcount(o);break;default:t.skipField()}}return e},proto.WEBBVCU.BVCU_GetPulist.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.WEBBVCU.BVCU_GetPulist.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.WEBBVCU.BVCU_GetPulist.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeInt32(1,o),null!=(o=r.Message.getField(e,2))&&t.writeInt32(2,o),null!=(o=r.Message.getField(e,3))&&t.writeInt32(3,o),null!=(o=r.Message.getField(e,4))&&t.writeInt32(4,o),null!=(o=r.Message.getField(e,5))&&t.writeInt32(5,o)},proto.WEBBVCU.BVCU_GetPulist.prototype.getStatus=function(){return r.Message.getFieldWithDefault(this,1,0)},proto.WEBBVCU.BVCU_GetPulist.prototype.setStatus=function(e){r.Message.setField(this,1,e)},proto.WEBBVCU.BVCU_GetPulist.prototype.clearStatus=function(){r.Message.setField(this,1,void 0)},proto.WEBBVCU.BVCU_GetPulist.prototype.hasStatus=function(){return null!=r.Message.getField(this,1)},proto.WEBBVCU.BVCU_GetPulist.prototype.getPagesize=function(){return r.Message.getFieldWithDefault(this,2,0)},proto.WEBBVCU.BVCU_GetPulist.prototype.setPagesize=function(e){r.Message.setField(this,2,e)},proto.WEBBVCU.BVCU_GetPulist.prototype.clearPagesize=function(){r.Message.setField(this,2,void 0)},proto.WEBBVCU.BVCU_GetPulist.prototype.hasPagesize=function(){return null!=r.Message.getField(this,2)},proto.WEBBVCU.BVCU_GetPulist.prototype.getPage=function(){return r.Message.getFieldWithDefault(this,3,0)},proto.WEBBVCU.BVCU_GetPulist.prototype.setPage=function(e){r.Message.setField(this,3,e)},proto.WEBBVCU.BVCU_GetPulist.prototype.clearPage=function(){r.Message.setField(this,3,void 0)},proto.WEBBVCU.BVCU_GetPulist.prototype.hasPage=function(){return null!=r.Message.getField(this,3)},proto.WEBBVCU.BVCU_GetPulist.prototype.getIndex=function(){return r.Message.getFieldWithDefault(this,4,0)},proto.WEBBVCU.BVCU_GetPulist.prototype.setIndex=function(e){r.Message.setField(this,4,e)},proto.WEBBVCU.BVCU_GetPulist.prototype.clearIndex=function(){r.Message.setField(this,4,void 0)},proto.WEBBVCU.BVCU_GetPulist.prototype.hasIndex=function(){return null!=r.Message.getField(this,4)},proto.WEBBVCU.BVCU_GetPulist.prototype.getIcount=function(){return r.Message.getFieldWithDefault(this,5,0)},proto.WEBBVCU.BVCU_GetPulist.prototype.setIcount=function(e){r.Message.setField(this,5,e)},proto.WEBBVCU.BVCU_GetPulist.prototype.clearIcount=function(){r.Message.setField(this,5,void 0)},proto.WEBBVCU.BVCU_GetPulist.prototype.hasIcount=function(){return null!=r.Message.getField(this,5)},proto.WEBBVCU.BVCU_GetPulist_Response=function(e){r.Message.initialize(this,e,0,-1,proto.WEBBVCU.BVCU_GetPulist_Response.repeatedFields_,null)},i.inherits(proto.WEBBVCU.BVCU_GetPulist_Response,r.Message),i.DEBUG&&!COMPILED&&(proto.WEBBVCU.BVCU_GetPulist_Response.displayName=\"proto.WEBBVCU.BVCU_GetPulist_Response\"),proto.WEBBVCU.BVCU_GetPulist_Response.repeatedFields_=[1],r.Message.GENERATE_TO_OBJECT&&(proto.WEBBVCU.BVCU_GetPulist_Response.prototype.toObject=function(e){return proto.WEBBVCU.BVCU_GetPulist_Response.toObject(e,this)},proto.WEBBVCU.BVCU_GetPulist_Response.toObject=function(e,t){var o={pulistList:r.Message.toObjectList(t.getPulistList(),p.PUChannelInfo.toObject,e)};return e&&(o.$jspbMessageInstance=t),o}),proto.WEBBVCU.BVCU_GetPulist_Response.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.WEBBVCU.BVCU_GetPulist_Response;return proto.WEBBVCU.BVCU_GetPulist_Response.deserializeBinaryFromReader(o,t)},proto.WEBBVCU.BVCU_GetPulist_Response.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=new p.PUChannelInfo;t.readMessage(o,p.PUChannelInfo.deserializeBinaryFromReader),e.addPulist(o);break;default:t.skipField()}}return e},proto.WEBBVCU.BVCU_GetPulist_Response.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.WEBBVCU.BVCU_GetPulist_Response.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.WEBBVCU.BVCU_GetPulist_Response.serializeBinaryToWriter=function(e,t){var o;(o=e.getPulistList()).length>0&&t.writeRepeatedMessage(1,o,p.PUChannelInfo.serializeBinaryToWriter)},proto.WEBBVCU.BVCU_GetPulist_Response.prototype.getPulistList=function(){return r.Message.getRepeatedWrapperField(this,p.PUChannelInfo,1)},proto.WEBBVCU.BVCU_GetPulist_Response.prototype.setPulistList=function(e){r.Message.setRepeatedWrapperField(this,1,e)},proto.WEBBVCU.BVCU_GetPulist_Response.prototype.addPulist=function(e,t){return r.Message.addToRepeatedWrapperField(this,1,e,proto.BVCU.PUConfig.PUChannelInfo,t)},proto.WEBBVCU.BVCU_GetPulist_Response.prototype.clearPulistList=function(){this.setPulistList([])},proto.WEBBVCU.BVCU_DialogParam=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.WEBBVCU.BVCU_DialogParam,r.Message),i.DEBUG&&!COMPILED&&(proto.WEBBVCU.BVCU_DialogParam.displayName=\"proto.WEBBVCU.BVCU_DialogParam\"),r.Message.GENERATE_TO_OBJECT&&(proto.WEBBVCU.BVCU_DialogParam.prototype.toObject=function(e){return proto.WEBBVCU.BVCU_DialogParam.toObject(e,this)},proto.WEBBVCU.BVCU_DialogParam.toObject=function(e,t){var o={id:r.Message.getField(t,1),major:r.Message.getField(t,2),minor:r.Message.getField(t,3),media:r.Message.getField(t,4),proto:r.Message.getField(t,5),hwnd:r.Message.getField(t,6),hdlg:r.Message.getField(t,7),bovertcp:r.Message.getField(t,8),bstretch:r.Message.getField(t,9),bwindowless:r.Message.getField(t,10),hplayhandle:r.Message.getField(t,11)};return e&&(o.$jspbMessageInstance=t),o}),proto.WEBBVCU.BVCU_DialogParam.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.WEBBVCU.BVCU_DialogParam;return proto.WEBBVCU.BVCU_DialogParam.deserializeBinaryFromReader(o,t)},proto.WEBBVCU.BVCU_DialogParam.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readString();e.setId(o);break;case 2:o=t.readInt32();e.setMajor(o);break;case 3:o=t.readInt32();e.setMinor(o);break;case 4:o=t.readInt32();e.setMedia(o);break;case 5:o=t.readInt32();e.setProto(o);break;case 6:o=t.readInt32();e.setHwnd(o);break;case 7:o=t.readInt64();e.setHdlg(o);break;case 8:o=t.readInt32();e.setBovertcp(o);break;case 9:o=t.readBool();e.setBstretch(o);break;case 10:o=t.readBool();e.setBwindowless(o);break;case 11:o=t.readInt64();e.setHplayhandle(o);break;default:t.skipField()}}return e},proto.WEBBVCU.BVCU_DialogParam.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.WEBBVCU.BVCU_DialogParam.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.WEBBVCU.BVCU_DialogParam.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeString(1,o),null!=(o=r.Message.getField(e,2))&&t.writeInt32(2,o),null!=(o=r.Message.getField(e,3))&&t.writeInt32(3,o),null!=(o=r.Message.getField(e,4))&&t.writeInt32(4,o),null!=(o=r.Message.getField(e,5))&&t.writeInt32(5,o),null!=(o=r.Message.getField(e,6))&&t.writeInt32(6,o),null!=(o=r.Message.getField(e,7))&&t.writeInt64(7,o),null!=(o=r.Message.getField(e,8))&&t.writeInt32(8,o),null!=(o=r.Message.getField(e,9))&&t.writeBool(9,o),null!=(o=r.Message.getField(e,10))&&t.writeBool(10,o),null!=(o=r.Message.getField(e,11))&&t.writeInt64(11,o)},proto.WEBBVCU.BVCU_DialogParam.prototype.getId=function(){return r.Message.getFieldWithDefault(this,1,\"\")},proto.WEBBVCU.BVCU_DialogParam.prototype.setId=function(e){r.Message.setField(this,1,e)},proto.WEBBVCU.BVCU_DialogParam.prototype.clearId=function(){r.Message.setField(this,1,void 0)},proto.WEBBVCU.BVCU_DialogParam.prototype.hasId=function(){return null!=r.Message.getField(this,1)},proto.WEBBVCU.BVCU_DialogParam.prototype.getMajor=function(){return r.Message.getFieldWithDefault(this,2,0)},proto.WEBBVCU.BVCU_DialogParam.prototype.setMajor=function(e){r.Message.setField(this,2,e)},proto.WEBBVCU.BVCU_DialogParam.prototype.clearMajor=function(){r.Message.setField(this,2,void 0)},proto.WEBBVCU.BVCU_DialogParam.prototype.hasMajor=function(){return null!=r.Message.getField(this,2)},proto.WEBBVCU.BVCU_DialogParam.prototype.getMinor=function(){return r.Message.getFieldWithDefault(this,3,0)},proto.WEBBVCU.BVCU_DialogParam.prototype.setMinor=function(e){r.Message.setField(this,3,e)},proto.WEBBVCU.BVCU_DialogParam.prototype.clearMinor=function(){r.Message.setField(this,3,void 0)},proto.WEBBVCU.BVCU_DialogParam.prototype.hasMinor=function(){return null!=r.Message.getField(this,3)},proto.WEBBVCU.BVCU_DialogParam.prototype.getMedia=function(){return r.Message.getFieldWithDefault(this,4,0)},proto.WEBBVCU.BVCU_DialogParam.prototype.setMedia=function(e){r.Message.setField(this,4,e)},proto.WEBBVCU.BVCU_DialogParam.prototype.clearMedia=function(){r.Message.setField(this,4,void 0)},proto.WEBBVCU.BVCU_DialogParam.prototype.hasMedia=function(){return null!=r.Message.getField(this,4)},proto.WEBBVCU.BVCU_DialogParam.prototype.getProto=function(){return r.Message.getFieldWithDefault(this,5,0)},proto.WEBBVCU.BVCU_DialogParam.prototype.setProto=function(e){r.Message.setField(this,5,e)},proto.WEBBVCU.BVCU_DialogParam.prototype.clearProto=function(){r.Message.setField(this,5,void 0)},proto.WEBBVCU.BVCU_DialogParam.prototype.hasProto=function(){return null!=r.Message.getField(this,5)},proto.WEBBVCU.BVCU_DialogParam.prototype.getHwnd=function(){return r.Message.getFieldWithDefault(this,6,0)},proto.WEBBVCU.BVCU_DialogParam.prototype.setHwnd=function(e){r.Message.setField(this,6,e)},proto.WEBBVCU.BVCU_DialogParam.prototype.clearHwnd=function(){r.Message.setField(this,6,void 0)},proto.WEBBVCU.BVCU_DialogParam.prototype.hasHwnd=function(){return null!=r.Message.getField(this,6)},proto.WEBBVCU.BVCU_DialogParam.prototype.getHdlg=function(){return r.Message.getFieldWithDefault(this,7,0)},proto.WEBBVCU.BVCU_DialogParam.prototype.setHdlg=function(e){r.Message.setField(this,7,e)},proto.WEBBVCU.BVCU_DialogParam.prototype.clearHdlg=function(){r.Message.setField(this,7,void 0)},proto.WEBBVCU.BVCU_DialogParam.prototype.hasHdlg=function(){return null!=r.Message.getField(this,7)},proto.WEBBVCU.BVCU_DialogParam.prototype.getBovertcp=function(){return r.Message.getFieldWithDefault(this,8,0)},proto.WEBBVCU.BVCU_DialogParam.prototype.setBovertcp=function(e){r.Message.setField(this,8,e)},proto.WEBBVCU.BVCU_DialogParam.prototype.clearBovertcp=function(){r.Message.setField(this,8,void 0)},proto.WEBBVCU.BVCU_DialogParam.prototype.hasBovertcp=function(){return null!=r.Message.getField(this,8)},proto.WEBBVCU.BVCU_DialogParam.prototype.getBstretch=function(){return r.Message.getFieldWithDefault(this,9,!1)},proto.WEBBVCU.BVCU_DialogParam.prototype.setBstretch=function(e){r.Message.setField(this,9,e)},proto.WEBBVCU.BVCU_DialogParam.prototype.clearBstretch=function(){r.Message.setField(this,9,void 0)},proto.WEBBVCU.BVCU_DialogParam.prototype.hasBstretch=function(){return null!=r.Message.getField(this,9)},proto.WEBBVCU.BVCU_DialogParam.prototype.getBwindowless=function(){return r.Message.getFieldWithDefault(this,10,!1)},proto.WEBBVCU.BVCU_DialogParam.prototype.setBwindowless=function(e){r.Message.setField(this,10,e)},proto.WEBBVCU.BVCU_DialogParam.prototype.clearBwindowless=function(){r.Message.setField(this,10,void 0)},proto.WEBBVCU.BVCU_DialogParam.prototype.hasBwindowless=function(){return null!=r.Message.getField(this,10)},proto.WEBBVCU.BVCU_DialogParam.prototype.getHplayhandle=function(){return r.Message.getFieldWithDefault(this,11,0)},proto.WEBBVCU.BVCU_DialogParam.prototype.setHplayhandle=function(e){r.Message.setField(this,11,e)},proto.WEBBVCU.BVCU_DialogParam.prototype.clearHplayhandle=function(){r.Message.setField(this,11,void 0)},proto.WEBBVCU.BVCU_DialogParam.prototype.hasHplayhandle=function(){return null!=r.Message.getField(this,11)},proto.WEBBVCU.Open_Dialog_Response=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.WEBBVCU.Open_Dialog_Response,r.Message),i.DEBUG&&!COMPILED&&(proto.WEBBVCU.Open_Dialog_Response.displayName=\"proto.WEBBVCU.Open_Dialog_Response\"),r.Message.GENERATE_TO_OBJECT&&(proto.WEBBVCU.Open_Dialog_Response.prototype.toObject=function(e){return proto.WEBBVCU.Open_Dialog_Response.toObject(e,this)},proto.WEBBVCU.Open_Dialog_Response.toObject=function(e,t){var o={url:r.Message.getField(t,1),hdlg:r.Message.getField(t,2)};return e&&(o.$jspbMessageInstance=t),o}),proto.WEBBVCU.Open_Dialog_Response.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.WEBBVCU.Open_Dialog_Response;return proto.WEBBVCU.Open_Dialog_Response.deserializeBinaryFromReader(o,t)},proto.WEBBVCU.Open_Dialog_Response.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readString();e.setUrl(o);break;case 2:o=t.readInt64();e.setHdlg(o);break;default:t.skipField()}}return e},proto.WEBBVCU.Open_Dialog_Response.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.WEBBVCU.Open_Dialog_Response.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.WEBBVCU.Open_Dialog_Response.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeString(1,o),null!=(o=r.Message.getField(e,2))&&t.writeInt64(2,o)},proto.WEBBVCU.Open_Dialog_Response.prototype.getUrl=function(){return r.Message.getFieldWithDefault(this,1,\"\")},proto.WEBBVCU.Open_Dialog_Response.prototype.setUrl=function(e){r.Message.setField(this,1,e)},proto.WEBBVCU.Open_Dialog_Response.prototype.clearUrl=function(){r.Message.setField(this,1,void 0)},proto.WEBBVCU.Open_Dialog_Response.prototype.hasUrl=function(){return null!=r.Message.getField(this,1)},proto.WEBBVCU.Open_Dialog_Response.prototype.getHdlg=function(){return r.Message.getFieldWithDefault(this,2,0)},proto.WEBBVCU.Open_Dialog_Response.prototype.setHdlg=function(e){r.Message.setField(this,2,e)},proto.WEBBVCU.Open_Dialog_Response.prototype.clearHdlg=function(){r.Message.setField(this,2,void 0)},proto.WEBBVCU.Open_Dialog_Response.prototype.hasHdlg=function(){return null!=r.Message.getField(this,2)},proto.WEBBVCU.Notify_TSP_Data=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.WEBBVCU.Notify_TSP_Data,r.Message),i.DEBUG&&!COMPILED&&(proto.WEBBVCU.Notify_TSP_Data.displayName=\"proto.WEBBVCU.Notify_TSP_Data\"),r.Message.GENERATE_TO_OBJECT&&(proto.WEBBVCU.Notify_TSP_Data.prototype.toObject=function(e){return proto.WEBBVCU.Notify_TSP_Data.toObject(e,this)},proto.WEBBVCU.Notify_TSP_Data.toObject=function(e,t){var o={targetid:r.Message.getField(t,1),targetindex:r.Message.getField(t,2),data:t.getData_asB64()};return e&&(o.$jspbMessageInstance=t),o}),proto.WEBBVCU.Notify_TSP_Data.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.WEBBVCU.Notify_TSP_Data;return proto.WEBBVCU.Notify_TSP_Data.deserializeBinaryFromReader(o,t)},proto.WEBBVCU.Notify_TSP_Data.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readString();e.setTargetid(o);break;case 2:o=t.readInt32();e.setTargetindex(o);break;case 3:o=t.readBytes();e.setData(o);break;default:t.skipField()}}return e},proto.WEBBVCU.Notify_TSP_Data.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.WEBBVCU.Notify_TSP_Data.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.WEBBVCU.Notify_TSP_Data.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeString(1,o),null!=(o=r.Message.getField(e,2))&&t.writeInt32(2,o),null!=(o=r.Message.getField(e,3))&&t.writeBytes(3,o)},proto.WEBBVCU.Notify_TSP_Data.prototype.getTargetid=function(){return r.Message.getFieldWithDefault(this,1,\"\")},proto.WEBBVCU.Notify_TSP_Data.prototype.setTargetid=function(e){r.Message.setField(this,1,e)},proto.WEBBVCU.Notify_TSP_Data.prototype.clearTargetid=function(){r.Message.setField(this,1,void 0)},proto.WEBBVCU.Notify_TSP_Data.prototype.hasTargetid=function(){return null!=r.Message.getField(this,1)},proto.WEBBVCU.Notify_TSP_Data.prototype.getTargetindex=function(){return r.Message.getFieldWithDefault(this,2,0)},proto.WEBBVCU.Notify_TSP_Data.prototype.setTargetindex=function(e){r.Message.setField(this,2,e)},proto.WEBBVCU.Notify_TSP_Data.prototype.clearTargetindex=function(){r.Message.setField(this,2,void 0)},proto.WEBBVCU.Notify_TSP_Data.prototype.hasTargetindex=function(){return null!=r.Message.getField(this,2)},proto.WEBBVCU.Notify_TSP_Data.prototype.getData=function(){return r.Message.getFieldWithDefault(this,3,\"\")},proto.WEBBVCU.Notify_TSP_Data.prototype.getData_asB64=function(){return r.Message.bytesAsB64(this.getData())},proto.WEBBVCU.Notify_TSP_Data.prototype.getData_asU8=function(){return r.Message.bytesAsU8(this.getData())},proto.WEBBVCU.Notify_TSP_Data.prototype.setData=function(e){r.Message.setField(this,3,e)},proto.WEBBVCU.Notify_TSP_Data.prototype.clearData=function(){r.Message.setField(this,3,void 0)},proto.WEBBVCU.Notify_TSP_Data.prototype.hasData=function(){return null!=r.Message.getField(this,3)},proto.WEBBVCU.Conf_List_Response=function(e){r.Message.initialize(this,e,0,-1,proto.WEBBVCU.Conf_List_Response.repeatedFields_,null)},i.inherits(proto.WEBBVCU.Conf_List_Response,r.Message),i.DEBUG&&!COMPILED&&(proto.WEBBVCU.Conf_List_Response.displayName=\"proto.WEBBVCU.Conf_List_Response\"),proto.WEBBVCU.Conf_List_Response.repeatedFields_=[1],r.Message.GENERATE_TO_OBJECT&&(proto.WEBBVCU.Conf_List_Response.prototype.toObject=function(e){return proto.WEBBVCU.Conf_List_Response.toObject(e,this)},proto.WEBBVCU.Conf_List_Response.toObject=function(e,t){var o={szconflistList:r.Message.toObjectList(t.getSzconflistList(),n.ConfBaseInfo.toObject,e)};return e&&(o.$jspbMessageInstance=t),o}),proto.WEBBVCU.Conf_List_Response.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.WEBBVCU.Conf_List_Response;return proto.WEBBVCU.Conf_List_Response.deserializeBinaryFromReader(o,t)},proto.WEBBVCU.Conf_List_Response.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=new n.ConfBaseInfo;t.readMessage(o,n.ConfBaseInfo.deserializeBinaryFromReader),e.addSzconflist(o);break;default:t.skipField()}}return e},proto.WEBBVCU.Conf_List_Response.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.WEBBVCU.Conf_List_Response.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.WEBBVCU.Conf_List_Response.serializeBinaryToWriter=function(e,t){var o;(o=e.getSzconflistList()).length>0&&t.writeRepeatedMessage(1,o,n.ConfBaseInfo.serializeBinaryToWriter)},proto.WEBBVCU.Conf_List_Response.prototype.getSzconflistList=function(){return r.Message.getRepeatedWrapperField(this,n.ConfBaseInfo,1)},proto.WEBBVCU.Conf_List_Response.prototype.setSzconflistList=function(e){r.Message.setRepeatedWrapperField(this,1,e)},proto.WEBBVCU.Conf_List_Response.prototype.addSzconflist=function(e,t){return r.Message.addToRepeatedWrapperField(this,1,e,proto.BVCU.ConfBaseInfo,t)},proto.WEBBVCU.Conf_List_Response.prototype.clearSzconflistList=function(){this.setSzconflistList([])},proto.WEBBVCU.Conf_OnlineUser_Response=function(e){r.Message.initialize(this,e,0,-1,proto.WEBBVCU.Conf_OnlineUser_Response.repeatedFields_,null)},i.inherits(proto.WEBBVCU.Conf_OnlineUser_Response,r.Message),i.DEBUG&&!COMPILED&&(proto.WEBBVCU.Conf_OnlineUser_Response.displayName=\"proto.WEBBVCU.Conf_OnlineUser_Response\"),proto.WEBBVCU.Conf_OnlineUser_Response.repeatedFields_=[1],r.Message.GENERATE_TO_OBJECT&&(proto.WEBBVCU.Conf_OnlineUser_Response.prototype.toObject=function(e){return proto.WEBBVCU.Conf_OnlineUser_Response.toObject(e,this)},proto.WEBBVCU.Conf_OnlineUser_Response.toObject=function(e,t){var o={szonlineuserList:r.Message.toObjectList(t.getSzonlineuserList(),g.UserOnline.toObject,e)};return e&&(o.$jspbMessageInstance=t),o}),proto.WEBBVCU.Conf_OnlineUser_Response.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.WEBBVCU.Conf_OnlineUser_Response;return proto.WEBBVCU.Conf_OnlineUser_Response.deserializeBinaryFromReader(o,t)},proto.WEBBVCU.Conf_OnlineUser_Response.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=new g.UserOnline;t.readMessage(o,g.UserOnline.deserializeBinaryFromReader),e.addSzonlineuser(o);break;default:t.skipField()}}return e},proto.WEBBVCU.Conf_OnlineUser_Response.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.WEBBVCU.Conf_OnlineUser_Response.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.WEBBVCU.Conf_OnlineUser_Response.serializeBinaryToWriter=function(e,t){var o;(o=e.getSzonlineuserList()).length>0&&t.writeRepeatedMessage(1,o,g.UserOnline.serializeBinaryToWriter)},proto.WEBBVCU.Conf_OnlineUser_Response.prototype.getSzonlineuserList=function(){return r.Message.getRepeatedWrapperField(this,g.UserOnline,1)},proto.WEBBVCU.Conf_OnlineUser_Response.prototype.setSzonlineuserList=function(e){r.Message.setRepeatedWrapperField(this,1,e)},proto.WEBBVCU.Conf_OnlineUser_Response.prototype.addSzonlineuser=function(e,t){return r.Message.addToRepeatedWrapperField(this,1,e,proto.BVCU.UserConfig.UserOnline,t)},proto.WEBBVCU.Conf_OnlineUser_Response.prototype.clearSzonlineuserList=function(){this.setSzonlineuserList([])},proto.WEBBVCU.Conf_Participator_ADD=function(e){r.Message.initialize(this,e,0,-1,proto.WEBBVCU.Conf_Participator_ADD.repeatedFields_,null)},i.inherits(proto.WEBBVCU.Conf_Participator_ADD,r.Message),i.DEBUG&&!COMPILED&&(proto.WEBBVCU.Conf_Participator_ADD.displayName=\"proto.WEBBVCU.Conf_Participator_ADD\"),proto.WEBBVCU.Conf_Participator_ADD.repeatedFields_=[1],r.Message.GENERATE_TO_OBJECT&&(proto.WEBBVCU.Conf_Participator_ADD.prototype.toObject=function(e){return proto.WEBBVCU.Conf_Participator_ADD.toObject(e,this)},proto.WEBBVCU.Conf_Participator_ADD.toObject=function(e,t){var o={szparticcipatorList:r.Message.toObjectList(t.getSzparticcipatorList(),n.ConfParticipatorInfo.toObject,e)};return e&&(o.$jspbMessageInstance=t),o}),proto.WEBBVCU.Conf_Participator_ADD.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.WEBBVCU.Conf_Participator_ADD;return proto.WEBBVCU.Conf_Participator_ADD.deserializeBinaryFromReader(o,t)},proto.WEBBVCU.Conf_Participator_ADD.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=new n.ConfParticipatorInfo;t.readMessage(o,n.ConfParticipatorInfo.deserializeBinaryFromReader),e.addSzparticcipator(o);break;default:t.skipField()}}return e},proto.WEBBVCU.Conf_Participator_ADD.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.WEBBVCU.Conf_Participator_ADD.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.WEBBVCU.Conf_Participator_ADD.serializeBinaryToWriter=function(e,t){var o;(o=e.getSzparticcipatorList()).length>0&&t.writeRepeatedMessage(1,o,n.ConfParticipatorInfo.serializeBinaryToWriter)},proto.WEBBVCU.Conf_Participator_ADD.prototype.getSzparticcipatorList=function(){return r.Message.getRepeatedWrapperField(this,n.ConfParticipatorInfo,1)},proto.WEBBVCU.Conf_Participator_ADD.prototype.setSzparticcipatorList=function(e){r.Message.setRepeatedWrapperField(this,1,e)},proto.WEBBVCU.Conf_Participator_ADD.prototype.addSzparticcipator=function(e,t){return r.Message.addToRepeatedWrapperField(this,1,e,proto.BVCU.ConfParticipatorInfo,t)},proto.WEBBVCU.Conf_Participator_ADD.prototype.clearSzparticcipatorList=function(){this.setSzparticcipatorList([])},proto.WEBBVCU.UserGroupList=function(e){r.Message.initialize(this,e,0,-1,proto.WEBBVCU.UserGroupList.repeatedFields_,null)},i.inherits(proto.WEBBVCU.UserGroupList,r.Message),i.DEBUG&&!COMPILED&&(proto.WEBBVCU.UserGroupList.displayName=\"proto.WEBBVCU.UserGroupList\"),proto.WEBBVCU.UserGroupList.repeatedFields_=[1],r.Message.GENERATE_TO_OBJECT&&(proto.WEBBVCU.UserGroupList.prototype.toObject=function(e){return proto.WEBBVCU.UserGroupList.toObject(e,this)},proto.WEBBVCU.UserGroupList.toObject=function(e,t){var o={usergroupsList:r.Message.toObjectList(t.getUsergroupsList(),g.UserGroup.toObject,e)};return e&&(o.$jspbMessageInstance=t),o}),proto.WEBBVCU.UserGroupList.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.WEBBVCU.UserGroupList;return proto.WEBBVCU.UserGroupList.deserializeBinaryFromReader(o,t)},proto.WEBBVCU.UserGroupList.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=new g.UserGroup;t.readMessage(o,g.UserGroup.deserializeBinaryFromReader),e.addUsergroups(o);break;default:t.skipField()}}return e},proto.WEBBVCU.UserGroupList.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.WEBBVCU.UserGroupList.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.WEBBVCU.UserGroupList.serializeBinaryToWriter=function(e,t){var o;(o=e.getUsergroupsList()).length>0&&t.writeRepeatedMessage(1,o,g.UserGroup.serializeBinaryToWriter)},proto.WEBBVCU.UserGroupList.prototype.getUsergroupsList=function(){return r.Message.getRepeatedWrapperField(this,g.UserGroup,1)},proto.WEBBVCU.UserGroupList.prototype.setUsergroupsList=function(e){r.Message.setRepeatedWrapperField(this,1,e)},proto.WEBBVCU.UserGroupList.prototype.addUsergroups=function(e,t){return r.Message.addToRepeatedWrapperField(this,1,e,proto.BVCU.UserConfig.UserGroup,t)},proto.WEBBVCU.UserGroupList.prototype.clearUsergroupsList=function(){this.setUsergroupsList([])},proto.WEBBVCU.UserList=function(e){r.Message.initialize(this,e,0,-1,proto.WEBBVCU.UserList.repeatedFields_,null)},i.inherits(proto.WEBBVCU.UserList,r.Message),i.DEBUG&&!COMPILED&&(proto.WEBBVCU.UserList.displayName=\"proto.WEBBVCU.UserList\"),proto.WEBBVCU.UserList.repeatedFields_=[1],r.Message.GENERATE_TO_OBJECT&&(proto.WEBBVCU.UserList.prototype.toObject=function(e){return proto.WEBBVCU.UserList.toObject(e,this)},proto.WEBBVCU.UserList.toObject=function(e,t){var o={usersList:r.Message.toObjectList(t.getUsersList(),g.User.toObject,e)};return e&&(o.$jspbMessageInstance=t),o}),proto.WEBBVCU.UserList.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.WEBBVCU.UserList;return proto.WEBBVCU.UserList.deserializeBinaryFromReader(o,t)},proto.WEBBVCU.UserList.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=new g.User;t.readMessage(o,g.User.deserializeBinaryFromReader),e.addUsers(o);break;default:t.skipField()}}return e},proto.WEBBVCU.UserList.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.WEBBVCU.UserList.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.WEBBVCU.UserList.serializeBinaryToWriter=function(e,t){var o;(o=e.getUsersList()).length>0&&t.writeRepeatedMessage(1,o,g.User.serializeBinaryToWriter)},proto.WEBBVCU.UserList.prototype.getUsersList=function(){return r.Message.getRepeatedWrapperField(this,g.User,1)},proto.WEBBVCU.UserList.prototype.setUsersList=function(e){r.Message.setRepeatedWrapperField(this,1,e)},proto.WEBBVCU.UserList.prototype.addUsers=function(e,t){return r.Message.addToRepeatedWrapperField(this,1,e,proto.BVCU.UserConfig.User,t)},proto.WEBBVCU.UserList.prototype.clearUsersList=function(){this.setUsersList([])},proto.WEBBVCU.PUUserGroupList=function(e){r.Message.initialize(this,e,0,-1,proto.WEBBVCU.PUUserGroupList.repeatedFields_,null)},i.inherits(proto.WEBBVCU.PUUserGroupList,r.Message),i.DEBUG&&!COMPILED&&(proto.WEBBVCU.PUUserGroupList.displayName=\"proto.WEBBVCU.PUUserGroupList\"),proto.WEBBVCU.PUUserGroupList.repeatedFields_=[1],r.Message.GENERATE_TO_OBJECT&&(proto.WEBBVCU.PUUserGroupList.prototype.toObject=function(e){return proto.WEBBVCU.PUUserGroupList.toObject(e,this)},proto.WEBBVCU.PUUserGroupList.toObject=function(e,t){var o={usergroupsList:r.Message.toObjectList(t.getUsergroupsList(),p.UserGroupInfo.toObject,e)};return e&&(o.$jspbMessageInstance=t),o}),proto.WEBBVCU.PUUserGroupList.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.WEBBVCU.PUUserGroupList;return proto.WEBBVCU.PUUserGroupList.deserializeBinaryFromReader(o,t)},proto.WEBBVCU.PUUserGroupList.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=new p.UserGroupInfo;t.readMessage(o,p.UserGroupInfo.deserializeBinaryFromReader),e.addUsergroups(o);break;default:t.skipField()}}return e},proto.WEBBVCU.PUUserGroupList.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.WEBBVCU.PUUserGroupList.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.WEBBVCU.PUUserGroupList.serializeBinaryToWriter=function(e,t){var o;(o=e.getUsergroupsList()).length>0&&t.writeRepeatedMessage(1,o,p.UserGroupInfo.serializeBinaryToWriter)},proto.WEBBVCU.PUUserGroupList.prototype.getUsergroupsList=function(){return r.Message.getRepeatedWrapperField(this,p.UserGroupInfo,1)},proto.WEBBVCU.PUUserGroupList.prototype.setUsergroupsList=function(e){r.Message.setRepeatedWrapperField(this,1,e)},proto.WEBBVCU.PUUserGroupList.prototype.addUsergroups=function(e,t){return r.Message.addToRepeatedWrapperField(this,1,e,proto.BVCU.PUConfig.UserGroupInfo,t)},proto.WEBBVCU.PUUserGroupList.prototype.clearUsergroupsList=function(){this.setUsergroupsList([])},proto.WEBBVCU.PUUserList=function(e){r.Message.initialize(this,e,0,-1,proto.WEBBVCU.PUUserList.repeatedFields_,null)},i.inherits(proto.WEBBVCU.PUUserList,r.Message),i.DEBUG&&!COMPILED&&(proto.WEBBVCU.PUUserList.displayName=\"proto.WEBBVCU.PUUserList\"),proto.WEBBVCU.PUUserList.repeatedFields_=[1],r.Message.GENERATE_TO_OBJECT&&(proto.WEBBVCU.PUUserList.prototype.toObject=function(e){return proto.WEBBVCU.PUUserList.toObject(e,this)},proto.WEBBVCU.PUUserList.toObject=function(e,t){var o={usersList:r.Message.toObjectList(t.getUsersList(),p.UserInfo.toObject,e)};return e&&(o.$jspbMessageInstance=t),o}),proto.WEBBVCU.PUUserList.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.WEBBVCU.PUUserList;return proto.WEBBVCU.PUUserList.deserializeBinaryFromReader(o,t)},proto.WEBBVCU.PUUserList.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=new p.UserInfo;t.readMessage(o,p.UserInfo.deserializeBinaryFromReader),e.addUsers(o);break;default:t.skipField()}}return e},proto.WEBBVCU.PUUserList.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.WEBBVCU.PUUserList.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.WEBBVCU.PUUserList.serializeBinaryToWriter=function(e,t){var o;(o=e.getUsersList()).length>0&&t.writeRepeatedMessage(1,o,p.UserInfo.serializeBinaryToWriter)},proto.WEBBVCU.PUUserList.prototype.getUsersList=function(){return r.Message.getRepeatedWrapperField(this,p.UserInfo,1)},proto.WEBBVCU.PUUserList.prototype.setUsersList=function(e){r.Message.setRepeatedWrapperField(this,1,e)},proto.WEBBVCU.PUUserList.prototype.addUsers=function(e,t){return r.Message.addToRepeatedWrapperField(this,1,e,proto.BVCU.PUConfig.UserInfo,t)},proto.WEBBVCU.PUUserList.prototype.clearUsersList=function(){this.setUsersList([])},proto.WEBBVCU.LocalStorage=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.WEBBVCU.LocalStorage,r.Message),i.DEBUG&&!COMPILED&&(proto.WEBBVCU.LocalStorage.displayName=\"proto.WEBBVCU.LocalStorage\"),r.Message.GENERATE_TO_OBJECT&&(proto.WEBBVCU.LocalStorage.prototype.toObject=function(e){return proto.WEBBVCU.LocalStorage.toObject(e,this)},proto.WEBBVCU.LocalStorage.toObject=function(e,t){var o={dir:t.getDir_asB64(),ifileleninseconds:r.Message.getField(t,2)};return e&&(o.$jspbMessageInstance=t),o}),proto.WEBBVCU.LocalStorage.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.WEBBVCU.LocalStorage;return proto.WEBBVCU.LocalStorage.deserializeBinaryFromReader(o,t)},proto.WEBBVCU.LocalStorage.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readBytes();e.setDir(o);break;case 2:o=t.readInt32();e.setIfileleninseconds(o);break;default:t.skipField()}}return e},proto.WEBBVCU.LocalStorage.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.WEBBVCU.LocalStorage.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.WEBBVCU.LocalStorage.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeBytes(1,o),null!=(o=r.Message.getField(e,2))&&t.writeInt32(2,o)},proto.WEBBVCU.LocalStorage.prototype.getDir=function(){return r.Message.getFieldWithDefault(this,1,\"\")},proto.WEBBVCU.LocalStorage.prototype.getDir_asB64=function(){return r.Message.bytesAsB64(this.getDir())},proto.WEBBVCU.LocalStorage.prototype.getDir_asU8=function(){return r.Message.bytesAsU8(this.getDir())},proto.WEBBVCU.LocalStorage.prototype.setDir=function(e){r.Message.setField(this,1,e)},proto.WEBBVCU.LocalStorage.prototype.clearDir=function(){r.Message.setField(this,1,void 0)},proto.WEBBVCU.LocalStorage.prototype.hasDir=function(){return null!=r.Message.getField(this,1)},proto.WEBBVCU.LocalStorage.prototype.getIfileleninseconds=function(){return r.Message.getFieldWithDefault(this,2,0)},proto.WEBBVCU.LocalStorage.prototype.setIfileleninseconds=function(e){r.Message.setField(this,2,e)},proto.WEBBVCU.LocalStorage.prototype.clearIfileleninseconds=function(){r.Message.setField(this,2,void 0)},proto.WEBBVCU.LocalStorage.prototype.hasIfileleninseconds=function(){return null!=r.Message.getField(this,2)},proto.WEBBVCU.CommonData=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.WEBBVCU.CommonData,r.Message),i.DEBUG&&!COMPILED&&(proto.WEBBVCU.CommonData.displayName=\"proto.WEBBVCU.CommonData\"),r.Message.GENERATE_TO_OBJECT&&(proto.WEBBVCU.CommonData.prototype.toObject=function(e){return proto.WEBBVCU.CommonData.toObject(e,this)},proto.WEBBVCU.CommonData.toObject=function(e,t){var o={idata1:r.Message.getField(t,1),szdata:t.getSzdata_asB64()};return e&&(o.$jspbMessageInstance=t),o}),proto.WEBBVCU.CommonData.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.WEBBVCU.CommonData;return proto.WEBBVCU.CommonData.deserializeBinaryFromReader(o,t)},proto.WEBBVCU.CommonData.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readInt32();e.setIdata1(o);break;case 2:o=t.readBytes();e.setSzdata(o);break;default:t.skipField()}}return e},proto.WEBBVCU.CommonData.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.WEBBVCU.CommonData.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.WEBBVCU.CommonData.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeInt32(1,o),null!=(o=r.Message.getField(e,2))&&t.writeBytes(2,o)},proto.WEBBVCU.CommonData.prototype.getIdata1=function(){return r.Message.getFieldWithDefault(this,1,0)},proto.WEBBVCU.CommonData.prototype.setIdata1=function(e){r.Message.setField(this,1,e)},proto.WEBBVCU.CommonData.prototype.clearIdata1=function(){r.Message.setField(this,1,void 0)},proto.WEBBVCU.CommonData.prototype.hasIdata1=function(){return null!=r.Message.getField(this,1)},proto.WEBBVCU.CommonData.prototype.getSzdata=function(){return r.Message.getFieldWithDefault(this,2,\"\")},proto.WEBBVCU.CommonData.prototype.getSzdata_asB64=function(){return r.Message.bytesAsB64(this.getSzdata())},proto.WEBBVCU.CommonData.prototype.getSzdata_asU8=function(){return r.Message.bytesAsU8(this.getSzdata())},proto.WEBBVCU.CommonData.prototype.setSzdata=function(e){r.Message.setField(this,2,e)},proto.WEBBVCU.CommonData.prototype.clearSzdata=function(){r.Message.setField(this,2,void 0)},proto.WEBBVCU.CommonData.prototype.hasSzdata=function(){return null!=r.Message.getField(this,2)},proto.WEBBVCU.NRUList=function(e){r.Message.initialize(this,e,0,-1,proto.WEBBVCU.NRUList.repeatedFields_,null)},i.inherits(proto.WEBBVCU.NRUList,r.Message),i.DEBUG&&!COMPILED&&(proto.WEBBVCU.NRUList.displayName=\"proto.WEBBVCU.NRUList\"),proto.WEBBVCU.NRUList.repeatedFields_=[1],r.Message.GENERATE_TO_OBJECT&&(proto.WEBBVCU.NRUList.prototype.toObject=function(e){return proto.WEBBVCU.NRUList.toObject(e,this)},proto.WEBBVCU.NRUList.toObject=function(e,t){var o={nrusList:r.Message.toObjectList(t.getNrusList(),a.NRUItem.toObject,e)};return e&&(o.$jspbMessageInstance=t),o}),proto.WEBBVCU.NRUList.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.WEBBVCU.NRUList;return proto.WEBBVCU.NRUList.deserializeBinaryFromReader(o,t)},proto.WEBBVCU.NRUList.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=new a.NRUItem;t.readMessage(o,a.NRUItem.deserializeBinaryFromReader),e.addNrus(o);break;default:t.skipField()}}return e},proto.WEBBVCU.NRUList.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.WEBBVCU.NRUList.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.WEBBVCU.NRUList.serializeBinaryToWriter=function(e,t){var o;(o=e.getNrusList()).length>0&&t.writeRepeatedMessage(1,o,a.NRUItem.serializeBinaryToWriter)},proto.WEBBVCU.NRUList.prototype.getNrusList=function(){return r.Message.getRepeatedWrapperField(this,a.NRUItem,1)},proto.WEBBVCU.NRUList.prototype.setNrusList=function(e){r.Message.setRepeatedWrapperField(this,1,e)},proto.WEBBVCU.NRUList.prototype.addNrus=function(e,t){return r.Message.addToRepeatedWrapperField(this,1,e,proto.BVCU.NRUConfig.NRUItem,t)},proto.WEBBVCU.NRUList.prototype.clearNrusList=function(){this.setNrusList([])},proto.WEBBVCU.RecordFileFilter=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.WEBBVCU.RecordFileFilter,r.Message),i.DEBUG&&!COMPILED&&(proto.WEBBVCU.RecordFileFilter.displayName=\"proto.WEBBVCU.RecordFileFilter\"),r.Message.GENERATE_TO_OBJECT&&(proto.WEBBVCU.RecordFileFilter.prototype.toObject=function(e){return proto.WEBBVCU.RecordFileFilter.toObject(e,this)},proto.WEBBVCU.RecordFileFilter.toObject=function(e,t){var o={ivalidindex:r.Message.getField(t,1),szpuid:r.Message.getField(t,2),szpuname:r.Message.getField(t,3),ichannelindex:r.Message.getField(t,4),szchannelname:r.Message.getField(t,5),itimebegin:r.Message.getField(t,6),itimeend:r.Message.getField(t,7),ifilesizemin:r.Message.getField(t,8),ifilesizemax:r.Message.getField(t,9),irecordtype:r.Message.getField(t,10),ifiletype:r.Message.getField(t,11)};return e&&(o.$jspbMessageInstance=t),o}),proto.WEBBVCU.RecordFileFilter.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.WEBBVCU.RecordFileFilter;return proto.WEBBVCU.RecordFileFilter.deserializeBinaryFromReader(o,t)},proto.WEBBVCU.RecordFileFilter.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readInt32();e.setIvalidindex(o);break;case 2:o=t.readString();e.setSzpuid(o);break;case 3:o=t.readString();e.setSzpuname(o);break;case 4:o=t.readInt32();e.setIchannelindex(o);break;case 5:o=t.readString();e.setSzchannelname(o);break;case 6:o=t.readInt64();e.setItimebegin(o);break;case 7:o=t.readInt64();e.setItimeend(o);break;case 8:o=t.readInt64();e.setIfilesizemin(o);break;case 9:o=t.readInt64();e.setIfilesizemax(o);break;case 10:o=t.readInt32();e.setIrecordtype(o);break;case 11:o=t.readInt32();e.setIfiletype(o);break;default:t.skipField()}}return e},proto.WEBBVCU.RecordFileFilter.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.WEBBVCU.RecordFileFilter.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.WEBBVCU.RecordFileFilter.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeInt32(1,o),null!=(o=r.Message.getField(e,2))&&t.writeString(2,o),null!=(o=r.Message.getField(e,3))&&t.writeString(3,o),null!=(o=r.Message.getField(e,4))&&t.writeInt32(4,o),null!=(o=r.Message.getField(e,5))&&t.writeString(5,o),null!=(o=r.Message.getField(e,6))&&t.writeInt64(6,o),null!=(o=r.Message.getField(e,7))&&t.writeInt64(7,o),null!=(o=r.Message.getField(e,8))&&t.writeInt64(8,o),null!=(o=r.Message.getField(e,9))&&t.writeInt64(9,o),null!=(o=r.Message.getField(e,10))&&t.writeInt32(10,o),null!=(o=r.Message.getField(e,11))&&t.writeInt32(11,o)},proto.WEBBVCU.RecordFileFilter.prototype.getIvalidindex=function(){return r.Message.getFieldWithDefault(this,1,0)},proto.WEBBVCU.RecordFileFilter.prototype.setIvalidindex=function(e){r.Message.setField(this,1,e)},proto.WEBBVCU.RecordFileFilter.prototype.clearIvalidindex=function(){r.Message.setField(this,1,void 0)},proto.WEBBVCU.RecordFileFilter.prototype.hasIvalidindex=function(){return null!=r.Message.getField(this,1)},proto.WEBBVCU.RecordFileFilter.prototype.getSzpuid=function(){return r.Message.getFieldWithDefault(this,2,\"\")},proto.WEBBVCU.RecordFileFilter.prototype.setSzpuid=function(e){r.Message.setField(this,2,e)},proto.WEBBVCU.RecordFileFilter.prototype.clearSzpuid=function(){r.Message.setField(this,2,void 0)},proto.WEBBVCU.RecordFileFilter.prototype.hasSzpuid=function(){return null!=r.Message.getField(this,2)},proto.WEBBVCU.RecordFileFilter.prototype.getSzpuname=function(){return r.Message.getFieldWithDefault(this,3,\"\")},proto.WEBBVCU.RecordFileFilter.prototype.setSzpuname=function(e){r.Message.setField(this,3,e)},proto.WEBBVCU.RecordFileFilter.prototype.clearSzpuname=function(){r.Message.setField(this,3,void 0)},proto.WEBBVCU.RecordFileFilter.prototype.hasSzpuname=function(){return null!=r.Message.getField(this,3)},proto.WEBBVCU.RecordFileFilter.prototype.getIchannelindex=function(){return r.Message.getFieldWithDefault(this,4,0)},proto.WEBBVCU.RecordFileFilter.prototype.setIchannelindex=function(e){r.Message.setField(this,4,e)},proto.WEBBVCU.RecordFileFilter.prototype.clearIchannelindex=function(){r.Message.setField(this,4,void 0)},proto.WEBBVCU.RecordFileFilter.prototype.hasIchannelindex=function(){return null!=r.Message.getField(this,4)},proto.WEBBVCU.RecordFileFilter.prototype.getSzchannelname=function(){return r.Message.getFieldWithDefault(this,5,\"\")},proto.WEBBVCU.RecordFileFilter.prototype.setSzchannelname=function(e){r.Message.setField(this,5,e)},proto.WEBBVCU.RecordFileFilter.prototype.clearSzchannelname=function(){r.Message.setField(this,5,void 0)},proto.WEBBVCU.RecordFileFilter.prototype.hasSzchannelname=function(){return null!=r.Message.getField(this,5)},proto.WEBBVCU.RecordFileFilter.prototype.getItimebegin=function(){return r.Message.getFieldWithDefault(this,6,0)},proto.WEBBVCU.RecordFileFilter.prototype.setItimebegin=function(e){r.Message.setField(this,6,e)},proto.WEBBVCU.RecordFileFilter.prototype.clearItimebegin=function(){r.Message.setField(this,6,void 0)},proto.WEBBVCU.RecordFileFilter.prototype.hasItimebegin=function(){return null!=r.Message.getField(this,6)},proto.WEBBVCU.RecordFileFilter.prototype.getItimeend=function(){return r.Message.getFieldWithDefault(this,7,0)},proto.WEBBVCU.RecordFileFilter.prototype.setItimeend=function(e){r.Message.setField(this,7,e)},proto.WEBBVCU.RecordFileFilter.prototype.clearItimeend=function(){r.Message.setField(this,7,void 0)},proto.WEBBVCU.RecordFileFilter.prototype.hasItimeend=function(){return null!=r.Message.getField(this,7)},proto.WEBBVCU.RecordFileFilter.prototype.getIfilesizemin=function(){return r.Message.getFieldWithDefault(this,8,0)},proto.WEBBVCU.RecordFileFilter.prototype.setIfilesizemin=function(e){r.Message.setField(this,8,e)},proto.WEBBVCU.RecordFileFilter.prototype.clearIfilesizemin=function(){r.Message.setField(this,8,void 0)},proto.WEBBVCU.RecordFileFilter.prototype.hasIfilesizemin=function(){return null!=r.Message.getField(this,8)},proto.WEBBVCU.RecordFileFilter.prototype.getIfilesizemax=function(){return r.Message.getFieldWithDefault(this,9,0)},proto.WEBBVCU.RecordFileFilter.prototype.setIfilesizemax=function(e){r.Message.setField(this,9,e)},proto.WEBBVCU.RecordFileFilter.prototype.clearIfilesizemax=function(){r.Message.setField(this,9,void 0)},proto.WEBBVCU.RecordFileFilter.prototype.hasIfilesizemax=function(){return null!=r.Message.getField(this,9)},proto.WEBBVCU.RecordFileFilter.prototype.getIrecordtype=function(){return r.Message.getFieldWithDefault(this,10,0)},proto.WEBBVCU.RecordFileFilter.prototype.setIrecordtype=function(e){r.Message.setField(this,10,e)},proto.WEBBVCU.RecordFileFilter.prototype.clearIrecordtype=function(){r.Message.setField(this,10,void 0)},proto.WEBBVCU.RecordFileFilter.prototype.hasIrecordtype=function(){return null!=r.Message.getField(this,10)},proto.WEBBVCU.RecordFileFilter.prototype.getIfiletype=function(){return r.Message.getFieldWithDefault(this,11,0)},proto.WEBBVCU.RecordFileFilter.prototype.setIfiletype=function(e){r.Message.setField(this,11,e)},proto.WEBBVCU.RecordFileFilter.prototype.clearIfiletype=function(){r.Message.setField(this,11,void 0)},proto.WEBBVCU.RecordFileFilter.prototype.hasIfiletype=function(){return null!=r.Message.getField(this,11)},proto.WEBBVCU.FTPFileInfo=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.WEBBVCU.FTPFileInfo,r.Message),i.DEBUG&&!COMPILED&&(proto.WEBBVCU.FTPFileInfo.displayName=\"proto.WEBBVCU.FTPFileInfo\"),r.Message.GENERATE_TO_OBJECT&&(proto.WEBBVCU.FTPFileInfo.prototype.toObject=function(e){return proto.WEBBVCU.FTPFileInfo.toObject(e,this)},proto.WEBBVCU.FTPFileInfo.toObject=function(e,t){var o={szfilepath:t.getSzfilepath_asB64(),szfilename:t.getSzfilename_asB64(),itimebegin:r.Message.getField(t,3),itimeend:r.Message.getField(t,4),ifilesize:r.Message.getField(t,5)};return e&&(o.$jspbMessageInstance=t),o}),proto.WEBBVCU.FTPFileInfo.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.WEBBVCU.FTPFileInfo;return proto.WEBBVCU.FTPFileInfo.deserializeBinaryFromReader(o,t)},proto.WEBBVCU.FTPFileInfo.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readBytes();e.setSzfilepath(o);break;case 2:o=t.readBytes();e.setSzfilename(o);break;case 3:o=t.readInt64();e.setItimebegin(o);break;case 4:o=t.readInt64();e.setItimeend(o);break;case 5:o=t.readInt64();e.setIfilesize(o);break;default:t.skipField()}}return e},proto.WEBBVCU.FTPFileInfo.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.WEBBVCU.FTPFileInfo.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.WEBBVCU.FTPFileInfo.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeBytes(1,o),null!=(o=r.Message.getField(e,2))&&t.writeBytes(2,o),null!=(o=r.Message.getField(e,3))&&t.writeInt64(3,o),null!=(o=r.Message.getField(e,4))&&t.writeInt64(4,o),null!=(o=r.Message.getField(e,5))&&t.writeInt64(5,o)},proto.WEBBVCU.FTPFileInfo.prototype.getSzfilepath=function(){return r.Message.getFieldWithDefault(this,1,\"\")},proto.WEBBVCU.FTPFileInfo.prototype.getSzfilepath_asB64=function(){return r.Message.bytesAsB64(this.getSzfilepath())},proto.WEBBVCU.FTPFileInfo.prototype.getSzfilepath_asU8=function(){return r.Message.bytesAsU8(this.getSzfilepath())},proto.WEBBVCU.FTPFileInfo.prototype.setSzfilepath=function(e){r.Message.setField(this,1,e)},proto.WEBBVCU.FTPFileInfo.prototype.clearSzfilepath=function(){r.Message.setField(this,1,void 0)},proto.WEBBVCU.FTPFileInfo.prototype.hasSzfilepath=function(){return null!=r.Message.getField(this,1)},proto.WEBBVCU.FTPFileInfo.prototype.getSzfilename=function(){return r.Message.getFieldWithDefault(this,2,\"\")},proto.WEBBVCU.FTPFileInfo.prototype.getSzfilename_asB64=function(){return r.Message.bytesAsB64(this.getSzfilename())},proto.WEBBVCU.FTPFileInfo.prototype.getSzfilename_asU8=function(){return r.Message.bytesAsU8(this.getSzfilename())},proto.WEBBVCU.FTPFileInfo.prototype.setSzfilename=function(e){r.Message.setField(this,2,e)},proto.WEBBVCU.FTPFileInfo.prototype.clearSzfilename=function(){r.Message.setField(this,2,void 0)},proto.WEBBVCU.FTPFileInfo.prototype.hasSzfilename=function(){return null!=r.Message.getField(this,2)},proto.WEBBVCU.FTPFileInfo.prototype.getItimebegin=function(){return r.Message.getFieldWithDefault(this,3,0)},proto.WEBBVCU.FTPFileInfo.prototype.setItimebegin=function(e){r.Message.setField(this,3,e)},proto.WEBBVCU.FTPFileInfo.prototype.clearItimebegin=function(){r.Message.setField(this,3,void 0)},proto.WEBBVCU.FTPFileInfo.prototype.hasItimebegin=function(){return null!=r.Message.getField(this,3)},proto.WEBBVCU.FTPFileInfo.prototype.getItimeend=function(){return r.Message.getFieldWithDefault(this,4,0)},proto.WEBBVCU.FTPFileInfo.prototype.setItimeend=function(e){r.Message.setField(this,4,e)},proto.WEBBVCU.FTPFileInfo.prototype.clearItimeend=function(){r.Message.setField(this,4,void 0)},proto.WEBBVCU.FTPFileInfo.prototype.hasItimeend=function(){return null!=r.Message.getField(this,4)},proto.WEBBVCU.FTPFileInfo.prototype.getIfilesize=function(){return r.Message.getFieldWithDefault(this,5,0)},proto.WEBBVCU.FTPFileInfo.prototype.setIfilesize=function(e){r.Message.setField(this,5,e)},proto.WEBBVCU.FTPFileInfo.prototype.clearIfilesize=function(){r.Message.setField(this,5,void 0)},proto.WEBBVCU.FTPFileInfo.prototype.hasIfilesize=function(){return null!=r.Message.getField(this,5)},proto.WEBBVCU.FTPFileInfoList=function(e){r.Message.initialize(this,e,0,-1,proto.WEBBVCU.FTPFileInfoList.repeatedFields_,null)},i.inherits(proto.WEBBVCU.FTPFileInfoList,r.Message),i.DEBUG&&!COMPILED&&(proto.WEBBVCU.FTPFileInfoList.displayName=\"proto.WEBBVCU.FTPFileInfoList\"),proto.WEBBVCU.FTPFileInfoList.repeatedFields_=[1],r.Message.GENERATE_TO_OBJECT&&(proto.WEBBVCU.FTPFileInfoList.prototype.toObject=function(e){return proto.WEBBVCU.FTPFileInfoList.toObject(e,this)},proto.WEBBVCU.FTPFileInfoList.toObject=function(e,t){var o={fileinfosList:r.Message.toObjectList(t.getFileinfosList(),proto.WEBBVCU.FTPFileInfo.toObject,e)};return e&&(o.$jspbMessageInstance=t),o}),proto.WEBBVCU.FTPFileInfoList.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.WEBBVCU.FTPFileInfoList;return proto.WEBBVCU.FTPFileInfoList.deserializeBinaryFromReader(o,t)},proto.WEBBVCU.FTPFileInfoList.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=new proto.WEBBVCU.FTPFileInfo;t.readMessage(o,proto.WEBBVCU.FTPFileInfo.deserializeBinaryFromReader),e.addFileinfos(o);break;default:t.skipField()}}return e},proto.WEBBVCU.FTPFileInfoList.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.WEBBVCU.FTPFileInfoList.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.WEBBVCU.FTPFileInfoList.serializeBinaryToWriter=function(e,t){var o;(o=e.getFileinfosList()).length>0&&t.writeRepeatedMessage(1,o,proto.WEBBVCU.FTPFileInfo.serializeBinaryToWriter)},proto.WEBBVCU.FTPFileInfoList.prototype.getFileinfosList=function(){return r.Message.getRepeatedWrapperField(this,proto.WEBBVCU.FTPFileInfo,1)},proto.WEBBVCU.FTPFileInfoList.prototype.setFileinfosList=function(e){r.Message.setRepeatedWrapperField(this,1,e)},proto.WEBBVCU.FTPFileInfoList.prototype.addFileinfos=function(e,t){return r.Message.addToRepeatedWrapperField(this,1,e,proto.WEBBVCU.FTPFileInfo,t)},proto.WEBBVCU.FTPFileInfoList.prototype.clearFileinfosList=function(){this.setFileinfosList([])},proto.WEBBVCU.FTPFileInfoGPSInfo=function(e){r.Message.initialize(this,e,0,-1,proto.WEBBVCU.FTPFileInfoGPSInfo.repeatedFields_,null)},i.inherits(proto.WEBBVCU.FTPFileInfoGPSInfo,r.Message),i.DEBUG&&!COMPILED&&(proto.WEBBVCU.FTPFileInfoGPSInfo.displayName=\"proto.WEBBVCU.FTPFileInfoGPSInfo\"),proto.WEBBVCU.FTPFileInfoGPSInfo.repeatedFields_=[4],r.Message.GENERATE_TO_OBJECT&&(proto.WEBBVCU.FTPFileInfoGPSInfo.prototype.toObject=function(e){return proto.WEBBVCU.FTPFileInfoGPSInfo.toObject(e,this)},proto.WEBBVCU.FTPFileInfoGPSInfo.toObject=function(e,t){var o,i={fileinfo:(o=t.getFileinfo())&&proto.WEBBVCU.FTPFileInfo.toObject(e,o),szpuid:t.getSzpuid_asB64(),szpuname:t.getSzpuname_asB64(),szgpsdataList:r.Message.toObjectList(t.getSzgpsdataList(),p.GPSData.toObject,e)};return e&&(i.$jspbMessageInstance=t),i}),proto.WEBBVCU.FTPFileInfoGPSInfo.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.WEBBVCU.FTPFileInfoGPSInfo;return proto.WEBBVCU.FTPFileInfoGPSInfo.deserializeBinaryFromReader(o,t)},proto.WEBBVCU.FTPFileInfoGPSInfo.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=new proto.WEBBVCU.FTPFileInfo;t.readMessage(o,proto.WEBBVCU.FTPFileInfo.deserializeBinaryFromReader),e.setFileinfo(o);break;case 2:o=t.readBytes();e.setSzpuid(o);break;case 3:o=t.readBytes();e.setSzpuname(o);break;case 4:o=new p.GPSData;t.readMessage(o,p.GPSData.deserializeBinaryFromReader),e.addSzgpsdata(o);break;default:t.skipField()}}return e},proto.WEBBVCU.FTPFileInfoGPSInfo.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.WEBBVCU.FTPFileInfoGPSInfo.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.WEBBVCU.FTPFileInfoGPSInfo.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=e.getFileinfo())&&t.writeMessage(1,o,proto.WEBBVCU.FTPFileInfo.serializeBinaryToWriter),null!=(o=r.Message.getField(e,2))&&t.writeBytes(2,o),null!=(o=r.Message.getField(e,3))&&t.writeBytes(3,o),(o=e.getSzgpsdataList()).length>0&&t.writeRepeatedMessage(4,o,p.GPSData.serializeBinaryToWriter)},proto.WEBBVCU.FTPFileInfoGPSInfo.prototype.getFileinfo=function(){return r.Message.getWrapperField(this,proto.WEBBVCU.FTPFileInfo,1)},proto.WEBBVCU.FTPFileInfoGPSInfo.prototype.setFileinfo=function(e){r.Message.setWrapperField(this,1,e)},proto.WEBBVCU.FTPFileInfoGPSInfo.prototype.clearFileinfo=function(){this.setFileinfo(void 0)},proto.WEBBVCU.FTPFileInfoGPSInfo.prototype.hasFileinfo=function(){return null!=r.Message.getField(this,1)},proto.WEBBVCU.FTPFileInfoGPSInfo.prototype.getSzpuid=function(){return r.Message.getFieldWithDefault(this,2,\"\")},proto.WEBBVCU.FTPFileInfoGPSInfo.prototype.getSzpuid_asB64=function(){return r.Message.bytesAsB64(this.getSzpuid())},proto.WEBBVCU.FTPFileInfoGPSInfo.prototype.getSzpuid_asU8=function(){return r.Message.bytesAsU8(this.getSzpuid())},proto.WEBBVCU.FTPFileInfoGPSInfo.prototype.setSzpuid=function(e){r.Message.setField(this,2,e)},proto.WEBBVCU.FTPFileInfoGPSInfo.prototype.clearSzpuid=function(){r.Message.setField(this,2,void 0)},proto.WEBBVCU.FTPFileInfoGPSInfo.prototype.hasSzpuid=function(){return null!=r.Message.getField(this,2)},proto.WEBBVCU.FTPFileInfoGPSInfo.prototype.getSzpuname=function(){return r.Message.getFieldWithDefault(this,3,\"\")},proto.WEBBVCU.FTPFileInfoGPSInfo.prototype.getSzpuname_asB64=function(){return r.Message.bytesAsB64(this.getSzpuname())},proto.WEBBVCU.FTPFileInfoGPSInfo.prototype.getSzpuname_asU8=function(){return r.Message.bytesAsU8(this.getSzpuname())},proto.WEBBVCU.FTPFileInfoGPSInfo.prototype.setSzpuname=function(e){r.Message.setField(this,3,e)},proto.WEBBVCU.FTPFileInfoGPSInfo.prototype.clearSzpuname=function(){r.Message.setField(this,3,void 0)},proto.WEBBVCU.FTPFileInfoGPSInfo.prototype.hasSzpuname=function(){return null!=r.Message.getField(this,3)},proto.WEBBVCU.FTPFileInfoGPSInfo.prototype.getSzgpsdataList=function(){return r.Message.getRepeatedWrapperField(this,p.GPSData,4)},proto.WEBBVCU.FTPFileInfoGPSInfo.prototype.setSzgpsdataList=function(e){r.Message.setRepeatedWrapperField(this,4,e)},proto.WEBBVCU.FTPFileInfoGPSInfo.prototype.addSzgpsdata=function(e,t){return r.Message.addToRepeatedWrapperField(this,4,e,proto.BVCU.PUConfig.GPSData,t)},proto.WEBBVCU.FTPFileInfoGPSInfo.prototype.clearSzgpsdataList=function(){this.setSzgpsdataList([])},proto.WEBBVCU.EventStorage=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.WEBBVCU.EventStorage,r.Message),i.DEBUG&&!COMPILED&&(proto.WEBBVCU.EventStorage.displayName=\"proto.WEBBVCU.EventStorage\"),r.Message.GENERATE_TO_OBJECT&&(proto.WEBBVCU.EventStorage.prototype.toObject=function(e){return proto.WEBBVCU.EventStorage.toObject(e,this)},proto.WEBBVCU.EventStorage.toObject=function(e,t){var o={iresult:r.Message.getField(t,1),szfilename:t.getSzfilename_asB64(),itimestamp:r.Message.getField(t,3)};return e&&(o.$jspbMessageInstance=t),o}),proto.WEBBVCU.EventStorage.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.WEBBVCU.EventStorage;return proto.WEBBVCU.EventStorage.deserializeBinaryFromReader(o,t)},proto.WEBBVCU.EventStorage.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readInt64();e.setIresult(o);break;case 2:o=t.readBytes();e.setSzfilename(o);break;case 3:o=t.readInt64();e.setItimestamp(o);break;default:t.skipField()}}return e},proto.WEBBVCU.EventStorage.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.WEBBVCU.EventStorage.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.WEBBVCU.EventStorage.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeInt64(1,o),null!=(o=r.Message.getField(e,2))&&t.writeBytes(2,o),null!=(o=r.Message.getField(e,3))&&t.writeInt64(3,o)},proto.WEBBVCU.EventStorage.prototype.getIresult=function(){return r.Message.getFieldWithDefault(this,1,0)},proto.WEBBVCU.EventStorage.prototype.setIresult=function(e){r.Message.setField(this,1,e)},proto.WEBBVCU.EventStorage.prototype.clearIresult=function(){r.Message.setField(this,1,void 0)},proto.WEBBVCU.EventStorage.prototype.hasIresult=function(){return null!=r.Message.getField(this,1)},proto.WEBBVCU.EventStorage.prototype.getSzfilename=function(){return r.Message.getFieldWithDefault(this,2,\"\")},proto.WEBBVCU.EventStorage.prototype.getSzfilename_asB64=function(){return r.Message.bytesAsB64(this.getSzfilename())},proto.WEBBVCU.EventStorage.prototype.getSzfilename_asU8=function(){return r.Message.bytesAsU8(this.getSzfilename())},proto.WEBBVCU.EventStorage.prototype.setSzfilename=function(e){r.Message.setField(this,2,e)},proto.WEBBVCU.EventStorage.prototype.clearSzfilename=function(){r.Message.setField(this,2,void 0)},proto.WEBBVCU.EventStorage.prototype.hasSzfilename=function(){return null!=r.Message.getField(this,2)},proto.WEBBVCU.EventStorage.prototype.getItimestamp=function(){return r.Message.getFieldWithDefault(this,3,0)},proto.WEBBVCU.EventStorage.prototype.setItimestamp=function(e){r.Message.setField(this,3,e)},proto.WEBBVCU.EventStorage.prototype.clearItimestamp=function(){r.Message.setField(this,3,void 0)},proto.WEBBVCU.EventStorage.prototype.hasItimestamp=function(){return null!=r.Message.getField(this,3)},proto.WEBBVCU.VideoDialogRotate=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.WEBBVCU.VideoDialogRotate,r.Message),i.DEBUG&&!COMPILED&&(proto.WEBBVCU.VideoDialogRotate.displayName=\"proto.WEBBVCU.VideoDialogRotate\"),r.Message.GENERATE_TO_OBJECT&&(proto.WEBBVCU.VideoDialogRotate.prototype.toObject=function(e){return proto.WEBBVCU.VideoDialogRotate.toObject(e,this)},proto.WEBBVCU.VideoDialogRotate.toObject=function(e,t){var o={szpuid:t.getSzpuid_asB64(),ichannelindex:r.Message.getField(t,2),irotate:r.Message.getField(t,3)};return e&&(o.$jspbMessageInstance=t),o}),proto.WEBBVCU.VideoDialogRotate.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.WEBBVCU.VideoDialogRotate;return proto.WEBBVCU.VideoDialogRotate.deserializeBinaryFromReader(o,t)},proto.WEBBVCU.VideoDialogRotate.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readBytes();e.setSzpuid(o);break;case 2:o=t.readInt32();e.setIchannelindex(o);break;case 3:o=t.readInt32();e.setIrotate(o);break;default:t.skipField()}}return e},proto.WEBBVCU.VideoDialogRotate.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.WEBBVCU.VideoDialogRotate.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.WEBBVCU.VideoDialogRotate.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeBytes(1,o),null!=(o=r.Message.getField(e,2))&&t.writeInt32(2,o),null!=(o=r.Message.getField(e,3))&&t.writeInt32(3,o)},proto.WEBBVCU.VideoDialogRotate.prototype.getSzpuid=function(){return r.Message.getFieldWithDefault(this,1,\"\")},proto.WEBBVCU.VideoDialogRotate.prototype.getSzpuid_asB64=function(){return r.Message.bytesAsB64(this.getSzpuid())},proto.WEBBVCU.VideoDialogRotate.prototype.getSzpuid_asU8=function(){return r.Message.bytesAsU8(this.getSzpuid())},proto.WEBBVCU.VideoDialogRotate.prototype.setSzpuid=function(e){r.Message.setField(this,1,e)},proto.WEBBVCU.VideoDialogRotate.prototype.clearSzpuid=function(){r.Message.setField(this,1,void 0)},proto.WEBBVCU.VideoDialogRotate.prototype.hasSzpuid=function(){return null!=r.Message.getField(this,1)},proto.WEBBVCU.VideoDialogRotate.prototype.getIchannelindex=function(){return r.Message.getFieldWithDefault(this,2,0)},proto.WEBBVCU.VideoDialogRotate.prototype.setIchannelindex=function(e){r.Message.setField(this,2,e)},proto.WEBBVCU.VideoDialogRotate.prototype.clearIchannelindex=function(){r.Message.setField(this,2,void 0)},proto.WEBBVCU.VideoDialogRotate.prototype.hasIchannelindex=function(){return null!=r.Message.getField(this,2)},proto.WEBBVCU.VideoDialogRotate.prototype.getIrotate=function(){return r.Message.getFieldWithDefault(this,3,0)},proto.WEBBVCU.VideoDialogRotate.prototype.setIrotate=function(e){r.Message.setField(this,3,e)},proto.WEBBVCU.VideoDialogRotate.prototype.clearIrotate=function(){r.Message.setField(this,3,void 0)},proto.WEBBVCU.VideoDialogRotate.prototype.hasIrotate=function(){return null!=r.Message.getField(this,3)},proto.WEBBVCU.VersionInfo=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.WEBBVCU.VersionInfo,r.Message),i.DEBUG&&!COMPILED&&(proto.WEBBVCU.VersionInfo.displayName=\"proto.WEBBVCU.VersionInfo\"),r.Message.GENERATE_TO_OBJECT&&(proto.WEBBVCU.VersionInfo.prototype.toObject=function(e){return proto.WEBBVCU.VersionInfo.toObject(e,this)},proto.WEBBVCU.VersionInfo.toObject=function(e,t){var o={iprototype:r.Message.getField(t,1),szversionid:t.getSzversionid_asB64()};return e&&(o.$jspbMessageInstance=t),o}),proto.WEBBVCU.VersionInfo.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.WEBBVCU.VersionInfo;return proto.WEBBVCU.VersionInfo.deserializeBinaryFromReader(o,t)},proto.WEBBVCU.VersionInfo.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readInt32();e.setIprototype(o);break;case 2:o=t.readBytes();e.setSzversionid(o);break;default:t.skipField()}}return e},proto.WEBBVCU.VersionInfo.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.WEBBVCU.VersionInfo.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.WEBBVCU.VersionInfo.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeInt32(1,o),null!=(o=r.Message.getField(e,2))&&t.writeBytes(2,o)},proto.WEBBVCU.VersionInfo.prototype.getIprototype=function(){return r.Message.getFieldWithDefault(this,1,0)},proto.WEBBVCU.VersionInfo.prototype.setIprototype=function(e){r.Message.setField(this,1,e)},proto.WEBBVCU.VersionInfo.prototype.clearIprototype=function(){r.Message.setField(this,1,void 0)},proto.WEBBVCU.VersionInfo.prototype.hasIprototype=function(){return null!=r.Message.getField(this,1)},proto.WEBBVCU.VersionInfo.prototype.getSzversionid=function(){return r.Message.getFieldWithDefault(this,2,\"\")},proto.WEBBVCU.VersionInfo.prototype.getSzversionid_asB64=function(){return r.Message.bytesAsB64(this.getSzversionid())},proto.WEBBVCU.VersionInfo.prototype.getSzversionid_asU8=function(){return r.Message.bytesAsU8(this.getSzversionid())},proto.WEBBVCU.VersionInfo.prototype.setSzversionid=function(e){r.Message.setField(this,2,e)},proto.WEBBVCU.VersionInfo.prototype.clearSzversionid=function(){r.Message.setField(this,2,void 0)},proto.WEBBVCU.VersionInfo.prototype.hasSzversionid=function(){return null!=r.Message.getField(this,2)},proto.WEBBVCU.CmsDialogInfoList=function(e){r.Message.initialize(this,e,0,-1,proto.WEBBVCU.CmsDialogInfoList.repeatedFields_,null)},i.inherits(proto.WEBBVCU.CmsDialogInfoList,r.Message),i.DEBUG&&!COMPILED&&(proto.WEBBVCU.CmsDialogInfoList.displayName=\"proto.WEBBVCU.CmsDialogInfoList\"),proto.WEBBVCU.CmsDialogInfoList.repeatedFields_=[1],r.Message.GENERATE_TO_OBJECT&&(proto.WEBBVCU.CmsDialogInfoList.prototype.toObject=function(e){return proto.WEBBVCU.CmsDialogInfoList.toObject(e,this)},proto.WEBBVCU.CmsDialogInfoList.toObject=function(e,t){var o={cmsdialoginfosList:r.Message.toObjectList(t.getCmsdialoginfosList(),l.CMSCFG_DialogInfo.toObject,e)};return e&&(o.$jspbMessageInstance=t),o}),proto.WEBBVCU.CmsDialogInfoList.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.WEBBVCU.CmsDialogInfoList;return proto.WEBBVCU.CmsDialogInfoList.deserializeBinaryFromReader(o,t)},proto.WEBBVCU.CmsDialogInfoList.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=new l.CMSCFG_DialogInfo;t.readMessage(o,l.CMSCFG_DialogInfo.deserializeBinaryFromReader),e.addCmsdialoginfos(o);break;default:t.skipField()}}return e},proto.WEBBVCU.CmsDialogInfoList.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.WEBBVCU.CmsDialogInfoList.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.WEBBVCU.CmsDialogInfoList.serializeBinaryToWriter=function(e,t){var o;(o=e.getCmsdialoginfosList()).length>0&&t.writeRepeatedMessage(1,o,l.CMSCFG_DialogInfo.serializeBinaryToWriter)},proto.WEBBVCU.CmsDialogInfoList.prototype.getCmsdialoginfosList=function(){return r.Message.getRepeatedWrapperField(this,l.CMSCFG_DialogInfo,1)},proto.WEBBVCU.CmsDialogInfoList.prototype.setCmsdialoginfosList=function(e){r.Message.setRepeatedWrapperField(this,1,e)},proto.WEBBVCU.CmsDialogInfoList.prototype.addCmsdialoginfos=function(e,t){return r.Message.addToRepeatedWrapperField(this,1,e,proto.BVCU.CMSConfig.CMSCFG_DialogInfo,t)},proto.WEBBVCU.CmsDialogInfoList.prototype.clearCmsdialoginfosList=function(){this.setCmsdialoginfosList([])},proto.WEBBVCU.DownFileFromPu=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.WEBBVCU.DownFileFromPu,r.Message),i.DEBUG&&!COMPILED&&(proto.WEBBVCU.DownFileFromPu.displayName=\"proto.WEBBVCU.DownFileFromPu\"),r.Message.GENERATE_TO_OBJECT&&(proto.WEBBVCU.DownFileFromPu.prototype.toObject=function(e){return proto.WEBBVCU.DownFileFromPu.toObject(e,this)},proto.WEBBVCU.DownFileFromPu.toObject=function(e,t){var o={szremotefilepathname:r.Message.getField(t,1),szlocalfilepathname:r.Message.getField(t,2),imgbase64:t.getImgbase64_asB64()};return e&&(o.$jspbMessageInstance=t),o}),proto.WEBBVCU.DownFileFromPu.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.WEBBVCU.DownFileFromPu;return proto.WEBBVCU.DownFileFromPu.deserializeBinaryFromReader(o,t)},proto.WEBBVCU.DownFileFromPu.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readString();e.setSzremotefilepathname(o);break;case 2:o=t.readString();e.setSzlocalfilepathname(o);break;case 3:o=t.readBytes();e.setImgbase64(o);break;default:t.skipField()}}return e},proto.WEBBVCU.DownFileFromPu.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.WEBBVCU.DownFileFromPu.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.WEBBVCU.DownFileFromPu.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeString(1,o),null!=(o=r.Message.getField(e,2))&&t.writeString(2,o),null!=(o=r.Message.getField(e,3))&&t.writeBytes(3,o)},proto.WEBBVCU.DownFileFromPu.prototype.getSzremotefilepathname=function(){return r.Message.getFieldWithDefault(this,1,\"\")},proto.WEBBVCU.DownFileFromPu.prototype.setSzremotefilepathname=function(e){r.Message.setField(this,1,e)},proto.WEBBVCU.DownFileFromPu.prototype.clearSzremotefilepathname=function(){r.Message.setField(this,1,void 0)},proto.WEBBVCU.DownFileFromPu.prototype.hasSzremotefilepathname=function(){return null!=r.Message.getField(this,1)},proto.WEBBVCU.DownFileFromPu.prototype.getSzlocalfilepathname=function(){return r.Message.getFieldWithDefault(this,2,\"\")},proto.WEBBVCU.DownFileFromPu.prototype.setSzlocalfilepathname=function(e){r.Message.setField(this,2,e)},proto.WEBBVCU.DownFileFromPu.prototype.clearSzlocalfilepathname=function(){r.Message.setField(this,2,void 0)},proto.WEBBVCU.DownFileFromPu.prototype.hasSzlocalfilepathname=function(){return null!=r.Message.getField(this,2)},proto.WEBBVCU.DownFileFromPu.prototype.getImgbase64=function(){return r.Message.getFieldWithDefault(this,3,\"\")},proto.WEBBVCU.DownFileFromPu.prototype.getImgbase64_asB64=function(){return r.Message.bytesAsB64(this.getImgbase64())},proto.WEBBVCU.DownFileFromPu.prototype.getImgbase64_asU8=function(){return r.Message.bytesAsU8(this.getImgbase64())},proto.WEBBVCU.DownFileFromPu.prototype.setImgbase64=function(e){r.Message.setField(this,3,e)},proto.WEBBVCU.DownFileFromPu.prototype.clearImgbase64=function(){r.Message.setField(this,3,void 0)},proto.WEBBVCU.DownFileFromPu.prototype.hasImgbase64=function(){return null!=r.Message.getField(this,3)},proto.WEBBVCU.FileTransInfo=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.WEBBVCU.FileTransInfo,r.Message),i.DEBUG&&!COMPILED&&(proto.WEBBVCU.FileTransInfo.displayName=\"proto.WEBBVCU.FileTransInfo\"),r.Message.GENERATE_TO_OBJECT&&(proto.WEBBVCU.FileTransInfo.prototype.toObject=function(e){return proto.WEBBVCU.FileTransInfo.toObject(e,this)},proto.WEBBVCU.FileTransInfo.toObject=function(e,t){var o,i={downfilefrompu:(o=t.getDownfilefrompu())&&proto.WEBBVCU.DownFileFromPu.toObject(e,o),icreatetime:r.Message.getField(t,2),ionlinetime:r.Message.getField(t,3),itransferbytes:r.Message.getField(t,4),itotalbytes:r.Message.getField(t,5),ispeedkbpslongterm:r.Message.getField(t,6),ispeedkbpsshortterm:r.Message.getField(t,7),ievent:r.Message.getField(t,8),iresult:r.Message.getField(t,9),sznruid:r.Message.getField(t,10)};return e&&(i.$jspbMessageInstance=t),i}),proto.WEBBVCU.FileTransInfo.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.WEBBVCU.FileTransInfo;return proto.WEBBVCU.FileTransInfo.deserializeBinaryFromReader(o,t)},proto.WEBBVCU.FileTransInfo.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=new proto.WEBBVCU.DownFileFromPu;t.readMessage(o,proto.WEBBVCU.DownFileFromPu.deserializeBinaryFromReader),e.setDownfilefrompu(o);break;case 2:o=t.readInt64();e.setIcreatetime(o);break;case 3:o=t.readInt64();e.setIonlinetime(o);break;case 4:o=t.readInt32();e.setItransferbytes(o);break;case 5:o=t.readInt32();e.setItotalbytes(o);break;case 6:o=t.readInt32();e.setIspeedkbpslongterm(o);break;case 7:o=t.readInt32();e.setIspeedkbpsshortterm(o);break;case 8:o=t.readInt32();e.setIevent(o);break;case 9:o=t.readInt32();e.setIresult(o);break;case 10:o=t.readString();e.setSznruid(o);break;default:t.skipField()}}return e},proto.WEBBVCU.FileTransInfo.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.WEBBVCU.FileTransInfo.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.WEBBVCU.FileTransInfo.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=e.getDownfilefrompu())&&t.writeMessage(1,o,proto.WEBBVCU.DownFileFromPu.serializeBinaryToWriter),null!=(o=r.Message.getField(e,2))&&t.writeInt64(2,o),null!=(o=r.Message.getField(e,3))&&t.writeInt64(3,o),null!=(o=r.Message.getField(e,4))&&t.writeInt32(4,o),null!=(o=r.Message.getField(e,5))&&t.writeInt32(5,o),null!=(o=r.Message.getField(e,6))&&t.writeInt32(6,o),null!=(o=r.Message.getField(e,7))&&t.writeInt32(7,o),null!=(o=r.Message.getField(e,8))&&t.writeInt32(8,o),null!=(o=r.Message.getField(e,9))&&t.writeInt32(9,o),null!=(o=r.Message.getField(e,10))&&t.writeString(10,o)},proto.WEBBVCU.FileTransInfo.prototype.getDownfilefrompu=function(){return r.Message.getWrapperField(this,proto.WEBBVCU.DownFileFromPu,1)},proto.WEBBVCU.FileTransInfo.prototype.setDownfilefrompu=function(e){r.Message.setWrapperField(this,1,e)},proto.WEBBVCU.FileTransInfo.prototype.clearDownfilefrompu=function(){this.setDownfilefrompu(void 0)},proto.WEBBVCU.FileTransInfo.prototype.hasDownfilefrompu=function(){return null!=r.Message.getField(this,1)},proto.WEBBVCU.FileTransInfo.prototype.getIcreatetime=function(){return r.Message.getFieldWithDefault(this,2,0)},proto.WEBBVCU.FileTransInfo.prototype.setIcreatetime=function(e){r.Message.setField(this,2,e)},proto.WEBBVCU.FileTransInfo.prototype.clearIcreatetime=function(){r.Message.setField(this,2,void 0)},proto.WEBBVCU.FileTransInfo.prototype.hasIcreatetime=function(){return null!=r.Message.getField(this,2)},proto.WEBBVCU.FileTransInfo.prototype.getIonlinetime=function(){return r.Message.getFieldWithDefault(this,3,0)},proto.WEBBVCU.FileTransInfo.prototype.setIonlinetime=function(e){r.Message.setField(this,3,e)};proto.WEBBVCU.FileTransInfo.prototype.clearIonlinetime=function(){r.Message.setField(this,3,void 0)},proto.WEBBVCU.FileTransInfo.prototype.hasIonlinetime=function(){return null!=r.Message.getField(this,3)},proto.WEBBVCU.FileTransInfo.prototype.getItransferbytes=function(){return r.Message.getFieldWithDefault(this,4,0)},proto.WEBBVCU.FileTransInfo.prototype.setItransferbytes=function(e){r.Message.setField(this,4,e)},proto.WEBBVCU.FileTransInfo.prototype.clearItransferbytes=function(){r.Message.setField(this,4,void 0)},proto.WEBBVCU.FileTransInfo.prototype.hasItransferbytes=function(){return null!=r.Message.getField(this,4)},proto.WEBBVCU.FileTransInfo.prototype.getItotalbytes=function(){return r.Message.getFieldWithDefault(this,5,0)},proto.WEBBVCU.FileTransInfo.prototype.setItotalbytes=function(e){r.Message.setField(this,5,e)},proto.WEBBVCU.FileTransInfo.prototype.clearItotalbytes=function(){r.Message.setField(this,5,void 0)},proto.WEBBVCU.FileTransInfo.prototype.hasItotalbytes=function(){return null!=r.Message.getField(this,5)},proto.WEBBVCU.FileTransInfo.prototype.getIspeedkbpslongterm=function(){return r.Message.getFieldWithDefault(this,6,0)},proto.WEBBVCU.FileTransInfo.prototype.setIspeedkbpslongterm=function(e){r.Message.setField(this,6,e)},proto.WEBBVCU.FileTransInfo.prototype.clearIspeedkbpslongterm=function(){r.Message.setField(this,6,void 0)},proto.WEBBVCU.FileTransInfo.prototype.hasIspeedkbpslongterm=function(){return null!=r.Message.getField(this,6)},proto.WEBBVCU.FileTransInfo.prototype.getIspeedkbpsshortterm=function(){return r.Message.getFieldWithDefault(this,7,0)},proto.WEBBVCU.FileTransInfo.prototype.setIspeedkbpsshortterm=function(e){r.Message.setField(this,7,e)},proto.WEBBVCU.FileTransInfo.prototype.clearIspeedkbpsshortterm=function(){r.Message.setField(this,7,void 0)},proto.WEBBVCU.FileTransInfo.prototype.hasIspeedkbpsshortterm=function(){return null!=r.Message.getField(this,7)},proto.WEBBVCU.FileTransInfo.prototype.getIevent=function(){return r.Message.getFieldWithDefault(this,8,0)},proto.WEBBVCU.FileTransInfo.prototype.setIevent=function(e){r.Message.setField(this,8,e)},proto.WEBBVCU.FileTransInfo.prototype.clearIevent=function(){r.Message.setField(this,8,void 0)},proto.WEBBVCU.FileTransInfo.prototype.hasIevent=function(){return null!=r.Message.getField(this,8)},proto.WEBBVCU.FileTransInfo.prototype.getIresult=function(){return r.Message.getFieldWithDefault(this,9,0)},proto.WEBBVCU.FileTransInfo.prototype.setIresult=function(e){r.Message.setField(this,9,e)},proto.WEBBVCU.FileTransInfo.prototype.clearIresult=function(){r.Message.setField(this,9,void 0)},proto.WEBBVCU.FileTransInfo.prototype.hasIresult=function(){return null!=r.Message.getField(this,9)},proto.WEBBVCU.FileTransInfo.prototype.getSznruid=function(){return r.Message.getFieldWithDefault(this,10,\"\")},proto.WEBBVCU.FileTransInfo.prototype.setSznruid=function(e){r.Message.setField(this,10,e)},proto.WEBBVCU.FileTransInfo.prototype.clearSznruid=function(){r.Message.setField(this,10,void 0)},proto.WEBBVCU.FileTransInfo.prototype.hasSznruid=function(){return null!=r.Message.getField(this,10)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY,r.Message),i.DEBUG&&!COMPILED&&(proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY.displayName=\"proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY\"),r.Message.GENERATE_TO_OBJECT&&(proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY.prototype.toObject=function(e){return proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY.toObject(e,this)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY.toObject=function(e,t){var o={filepath:r.Message.getField(t,1),nruid:r.Message.getField(t,2),hwnd:r.Message.getField(t,3),starttime:r.Message.getField(t,4),endtime:r.Message.getField(t,5),video:r.Message.getField(t,6),audio:r.Message.getField(t,7),autoplay:r.Message.getField(t,8),playerId:r.Message.getField(t,9),bwindowless:r.Message.getField(t,10)};return e&&(o.$jspbMessageInstance=t),o}),proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY;return proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY.deserializeBinaryFromReader(o,t)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readString();e.setFilepath(o);break;case 2:o=t.readString();e.setNruid(o);break;case 3:o=t.readInt64();e.setHwnd(o);break;case 4:o=t.readInt64();e.setStarttime(o);break;case 5:o=t.readInt64();e.setEndtime(o);break;case 6:o=t.readInt32();e.setVideo(o);break;case 7:o=t.readInt32();e.setAudio(o);break;case 8:o=t.readInt32();e.setAutoplay(o);break;case 9:o=t.readString();e.setPlayerId(o);break;case 10:o=t.readBool();e.setBwindowless(o);break;default:t.skipField()}}return e},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeString(1,o),null!=(o=r.Message.getField(e,2))&&t.writeString(2,o),null!=(o=r.Message.getField(e,3))&&t.writeInt64(3,o),null!=(o=r.Message.getField(e,4))&&t.writeInt64(4,o),null!=(o=r.Message.getField(e,5))&&t.writeInt64(5,o),null!=(o=r.Message.getField(e,6))&&t.writeInt32(6,o),null!=(o=r.Message.getField(e,7))&&t.writeInt32(7,o),null!=(o=r.Message.getField(e,8))&&t.writeInt32(8,o),null!=(o=r.Message.getField(e,9))&&t.writeString(9,o),null!=(o=r.Message.getField(e,10))&&t.writeBool(10,o)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY.prototype.getFilepath=function(){return r.Message.getFieldWithDefault(this,1,\"\")},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY.prototype.setFilepath=function(e){r.Message.setField(this,1,e)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY.prototype.clearFilepath=function(){r.Message.setField(this,1,void 0)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY.prototype.hasFilepath=function(){return null!=r.Message.getField(this,1)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY.prototype.getNruid=function(){return r.Message.getFieldWithDefault(this,2,\"\")},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY.prototype.setNruid=function(e){r.Message.setField(this,2,e)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY.prototype.clearNruid=function(){r.Message.setField(this,2,void 0)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY.prototype.hasNruid=function(){return null!=r.Message.getField(this,2)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY.prototype.getHwnd=function(){return r.Message.getFieldWithDefault(this,3,0)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY.prototype.setHwnd=function(e){r.Message.setField(this,3,e)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY.prototype.clearHwnd=function(){r.Message.setField(this,3,void 0)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY.prototype.hasHwnd=function(){return null!=r.Message.getField(this,3)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY.prototype.getStarttime=function(){return r.Message.getFieldWithDefault(this,4,0)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY.prototype.setStarttime=function(e){r.Message.setField(this,4,e)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY.prototype.clearStarttime=function(){r.Message.setField(this,4,void 0)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY.prototype.hasStarttime=function(){return null!=r.Message.getField(this,4)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY.prototype.getEndtime=function(){return r.Message.getFieldWithDefault(this,5,0)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY.prototype.setEndtime=function(e){r.Message.setField(this,5,e)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY.prototype.clearEndtime=function(){r.Message.setField(this,5,void 0)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY.prototype.hasEndtime=function(){return null!=r.Message.getField(this,5)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY.prototype.getVideo=function(){return r.Message.getFieldWithDefault(this,6,0)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY.prototype.setVideo=function(e){r.Message.setField(this,6,e)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY.prototype.clearVideo=function(){r.Message.setField(this,6,void 0)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY.prototype.hasVideo=function(){return null!=r.Message.getField(this,6)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY.prototype.getAudio=function(){return r.Message.getFieldWithDefault(this,7,0)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY.prototype.setAudio=function(e){r.Message.setField(this,7,e)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY.prototype.clearAudio=function(){r.Message.setField(this,7,void 0)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY.prototype.hasAudio=function(){return null!=r.Message.getField(this,7)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY.prototype.getAutoplay=function(){return r.Message.getFieldWithDefault(this,8,0)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY.prototype.setAutoplay=function(e){r.Message.setField(this,8,e)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY.prototype.clearAutoplay=function(){r.Message.setField(this,8,void 0)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY.prototype.hasAutoplay=function(){return null!=r.Message.getField(this,8)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY.prototype.getPlayerId=function(){return r.Message.getFieldWithDefault(this,9,\"\")},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY.prototype.setPlayerId=function(e){r.Message.setField(this,9,e)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY.prototype.clearPlayerId=function(){r.Message.setField(this,9,void 0)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY.prototype.hasPlayerId=function(){return null!=r.Message.getField(this,9)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY.prototype.getBwindowless=function(){return r.Message.getFieldWithDefault(this,10,!1)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY.prototype.setBwindowless=function(e){r.Message.setField(this,10,e)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY.prototype.clearBwindowless=function(){r.Message.setField(this,10,void 0)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY.prototype.hasBwindowless=function(){return null!=r.Message.getField(this,10)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_RESPONSE=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_RESPONSE,r.Message),i.DEBUG&&!COMPILED&&(proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_RESPONSE.displayName=\"proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_RESPONSE\"),r.Message.GENERATE_TO_OBJECT&&(proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_RESPONSE.prototype.toObject=function(e){return proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_RESPONSE.toObject(e,this)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_RESPONSE.toObject=function(e,t){var o={dialogid:r.Message.getField(t,1),pts:r.Message.getField(t,2),playerId:r.Message.getField(t,9)};return e&&(o.$jspbMessageInstance=t),o}),proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_RESPONSE.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_RESPONSE;return proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_RESPONSE.deserializeBinaryFromReader(o,t)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_RESPONSE.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readInt64();e.setDialogid(o);break;case 2:o=t.readInt64();e.setPts(o);break;case 9:o=t.readString();e.setPlayerId(o);break;default:t.skipField()}}return e},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_RESPONSE.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_RESPONSE.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_RESPONSE.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeInt64(1,o),null!=(o=r.Message.getField(e,2))&&t.writeInt64(2,o),null!=(o=r.Message.getField(e,9))&&t.writeString(9,o)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_RESPONSE.prototype.getDialogid=function(){return r.Message.getFieldWithDefault(this,1,0)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_RESPONSE.prototype.setDialogid=function(e){r.Message.setField(this,1,e)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_RESPONSE.prototype.clearDialogid=function(){r.Message.setField(this,1,void 0)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_RESPONSE.prototype.hasDialogid=function(){return null!=r.Message.getField(this,1)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_RESPONSE.prototype.getPts=function(){return r.Message.getFieldWithDefault(this,2,0)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_RESPONSE.prototype.setPts=function(e){r.Message.setField(this,2,e)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_RESPONSE.prototype.clearPts=function(){r.Message.setField(this,2,void 0)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_RESPONSE.prototype.hasPts=function(){return null!=r.Message.getField(this,2)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_RESPONSE.prototype.getPlayerId=function(){return r.Message.getFieldWithDefault(this,9,\"\")},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_RESPONSE.prototype.setPlayerId=function(e){r.Message.setField(this,9,e)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_RESPONSE.prototype.clearPlayerId=function(){r.Message.setField(this,9,void 0)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_RESPONSE.prototype.hasPlayerId=function(){return null!=r.Message.getField(this,9)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_CRTL=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_CRTL,r.Message),i.DEBUG&&!COMPILED&&(proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_CRTL.displayName=\"proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_CRTL\"),r.Message.GENERATE_TO_OBJECT&&(proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_CRTL.prototype.toObject=function(e){return proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_CRTL.toObject(e,this)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_CRTL.toObject=function(e,t){var o={cmdtype:r.Message.getField(t,1),dialogid:r.Message.getField(t,2),ntpBegin:r.Message.getField(t,3),ntpEnd:r.Message.getField(t,4),scale:r.Message.getField(t,5)};return e&&(o.$jspbMessageInstance=t),o}),proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_CRTL.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_CRTL;return proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_CRTL.deserializeBinaryFromReader(o,t)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_CRTL.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readString();e.setCmdtype(o);break;case 2:o=t.readInt64();e.setDialogid(o);break;case 3:o=t.readInt64();e.setNtpBegin(o);break;case 4:o=t.readInt64();e.setNtpEnd(o);break;case 5:o=t.readInt32();e.setScale(o);break;default:t.skipField()}}return e},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_CRTL.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_CRTL.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_CRTL.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeString(1,o),null!=(o=r.Message.getField(e,2))&&t.writeInt64(2,o),null!=(o=r.Message.getField(e,3))&&t.writeInt64(3,o),null!=(o=r.Message.getField(e,4))&&t.writeInt64(4,o),null!=(o=r.Message.getField(e,5))&&t.writeInt32(5,o)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_CRTL.prototype.getCmdtype=function(){return r.Message.getFieldWithDefault(this,1,\"\")},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_CRTL.prototype.setCmdtype=function(e){r.Message.setField(this,1,e)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_CRTL.prototype.clearCmdtype=function(){r.Message.setField(this,1,void 0)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_CRTL.prototype.hasCmdtype=function(){return null!=r.Message.getField(this,1)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_CRTL.prototype.getDialogid=function(){return r.Message.getFieldWithDefault(this,2,0)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_CRTL.prototype.setDialogid=function(e){r.Message.setField(this,2,e)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_CRTL.prototype.clearDialogid=function(){r.Message.setField(this,2,void 0)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_CRTL.prototype.hasDialogid=function(){return null!=r.Message.getField(this,2)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_CRTL.prototype.getNtpBegin=function(){return r.Message.getFieldWithDefault(this,3,0)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_CRTL.prototype.setNtpBegin=function(e){r.Message.setField(this,3,e)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_CRTL.prototype.clearNtpBegin=function(){r.Message.setField(this,3,void 0)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_CRTL.prototype.hasNtpBegin=function(){return null!=r.Message.getField(this,3)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_CRTL.prototype.getNtpEnd=function(){return r.Message.getFieldWithDefault(this,4,0)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_CRTL.prototype.setNtpEnd=function(e){r.Message.setField(this,4,e)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_CRTL.prototype.clearNtpEnd=function(){r.Message.setField(this,4,void 0)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_CRTL.prototype.hasNtpEnd=function(){return null!=r.Message.getField(this,4)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_CRTL.prototype.getScale=function(){return r.Message.getFieldWithDefault(this,5,0)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_CRTL.prototype.setScale=function(e){r.Message.setField(this,5,e)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_CRTL.prototype.clearScale=function(){r.Message.setField(this,5,void 0)},proto.WEBBVCU.MSG_WEB_BVCU_RECORD_PLAY_CRTL.prototype.hasScale=function(){return null!=r.Message.getField(this,5)},proto.WEBBVCU.PU_CONTROL=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.WEBBVCU.PU_CONTROL,r.Message),i.DEBUG&&!COMPILED&&(proto.WEBBVCU.PU_CONTROL.displayName=\"proto.WEBBVCU.PU_CONTROL\"),r.Message.GENERATE_TO_OBJECT&&(proto.WEBBVCU.PU_CONTROL.prototype.toObject=function(e){return proto.WEBBVCU.PU_CONTROL.toObject(e,this)},proto.WEBBVCU.PU_CONTROL.toObject=function(e,t){var o={ioption:r.Message.getField(t,1)};return e&&(o.$jspbMessageInstance=t),o}),proto.WEBBVCU.PU_CONTROL.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.WEBBVCU.PU_CONTROL;return proto.WEBBVCU.PU_CONTROL.deserializeBinaryFromReader(o,t)},proto.WEBBVCU.PU_CONTROL.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readInt32();e.setIoption(o);break;default:t.skipField()}}return e},proto.WEBBVCU.PU_CONTROL.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.WEBBVCU.PU_CONTROL.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.WEBBVCU.PU_CONTROL.serializeBinaryToWriter=function(e,t){var o;null!=(o=r.Message.getField(e,1))&&t.writeInt32(1,o)},proto.WEBBVCU.PU_CONTROL.prototype.getIoption=function(){return r.Message.getFieldWithDefault(this,1,0)},proto.WEBBVCU.PU_CONTROL.prototype.setIoption=function(e){r.Message.setField(this,1,e)},proto.WEBBVCU.PU_CONTROL.prototype.clearIoption=function(){r.Message.setField(this,1,void 0)},proto.WEBBVCU.PU_CONTROL.prototype.hasIoption=function(){return null!=r.Message.getField(this,1)},proto.WEBBVCU.IMMsgPks=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.WEBBVCU.IMMsgPks,r.Message),i.DEBUG&&!COMPILED&&(proto.WEBBVCU.IMMsgPks.displayName=\"proto.WEBBVCU.IMMsgPks\"),r.Message.GENERATE_TO_OBJECT&&(proto.WEBBVCU.IMMsgPks.prototype.toObject=function(e){return proto.WEBBVCU.IMMsgPks.toObject(e,this)},proto.WEBBVCU.IMMsgPks.toObject=function(e,t){var o={isourceid:r.Message.getField(t,1),itargetid:r.Message.getField(t,2),szsourceid:r.Message.getField(t,3),sztargetid:r.Message.getField(t,4),payload:t.getPayload_asB64(),bispic:r.Message.getField(t,6),bisdownload:r.Message.getField(t,7),imsgtype:r.Message.getField(t,8)};return e&&(o.$jspbMessageInstance=t),o}),proto.WEBBVCU.IMMsgPks.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.WEBBVCU.IMMsgPks;return proto.WEBBVCU.IMMsgPks.deserializeBinaryFromReader(o,t)},proto.WEBBVCU.IMMsgPks.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readInt32();e.setIsourceid(o);break;case 2:o=t.readInt32();e.setItargetid(o);break;case 3:o=t.readString();e.setSzsourceid(o);break;case 4:o=t.readString();e.setSztargetid(o);break;case 5:o=t.readBytes();e.setPayload(o);break;case 6:o=t.readInt32();e.setBispic(o);break;case 7:o=t.readInt32();e.setBisdownload(o);break;case 8:o=t.readInt32();e.setImsgtype(o);break;default:t.skipField()}}return e},proto.WEBBVCU.IMMsgPks.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.WEBBVCU.IMMsgPks.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.WEBBVCU.IMMsgPks.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeInt32(1,o),null!=(o=r.Message.getField(e,2))&&t.writeInt32(2,o),null!=(o=r.Message.getField(e,3))&&t.writeString(3,o),null!=(o=r.Message.getField(e,4))&&t.writeString(4,o),null!=(o=r.Message.getField(e,5))&&t.writeBytes(5,o),null!=(o=r.Message.getField(e,6))&&t.writeInt32(6,o),null!=(o=r.Message.getField(e,7))&&t.writeInt32(7,o),null!=(o=r.Message.getField(e,8))&&t.writeInt32(8,o)},proto.WEBBVCU.IMMsgPks.prototype.getIsourceid=function(){return r.Message.getFieldWithDefault(this,1,0)},proto.WEBBVCU.IMMsgPks.prototype.setIsourceid=function(e){r.Message.setField(this,1,e)},proto.WEBBVCU.IMMsgPks.prototype.clearIsourceid=function(){r.Message.setField(this,1,void 0)},proto.WEBBVCU.IMMsgPks.prototype.hasIsourceid=function(){return null!=r.Message.getField(this,1)},proto.WEBBVCU.IMMsgPks.prototype.getItargetid=function(){return r.Message.getFieldWithDefault(this,2,0)},proto.WEBBVCU.IMMsgPks.prototype.setItargetid=function(e){r.Message.setField(this,2,e)},proto.WEBBVCU.IMMsgPks.prototype.clearItargetid=function(){r.Message.setField(this,2,void 0)},proto.WEBBVCU.IMMsgPks.prototype.hasItargetid=function(){return null!=r.Message.getField(this,2)},proto.WEBBVCU.IMMsgPks.prototype.getSzsourceid=function(){return r.Message.getFieldWithDefault(this,3,\"\")},proto.WEBBVCU.IMMsgPks.prototype.setSzsourceid=function(e){r.Message.setField(this,3,e)},proto.WEBBVCU.IMMsgPks.prototype.clearSzsourceid=function(){r.Message.setField(this,3,void 0)},proto.WEBBVCU.IMMsgPks.prototype.hasSzsourceid=function(){return null!=r.Message.getField(this,3)},proto.WEBBVCU.IMMsgPks.prototype.getSztargetid=function(){return r.Message.getFieldWithDefault(this,4,\"\")},proto.WEBBVCU.IMMsgPks.prototype.setSztargetid=function(e){r.Message.setField(this,4,e)},proto.WEBBVCU.IMMsgPks.prototype.clearSztargetid=function(){r.Message.setField(this,4,void 0)},proto.WEBBVCU.IMMsgPks.prototype.hasSztargetid=function(){return null!=r.Message.getField(this,4)},proto.WEBBVCU.IMMsgPks.prototype.getPayload=function(){return r.Message.getFieldWithDefault(this,5,\"\")},proto.WEBBVCU.IMMsgPks.prototype.getPayload_asB64=function(){return r.Message.bytesAsB64(this.getPayload())},proto.WEBBVCU.IMMsgPks.prototype.getPayload_asU8=function(){return r.Message.bytesAsU8(this.getPayload())},proto.WEBBVCU.IMMsgPks.prototype.setPayload=function(e){r.Message.setField(this,5,e)},proto.WEBBVCU.IMMsgPks.prototype.clearPayload=function(){r.Message.setField(this,5,void 0)},proto.WEBBVCU.IMMsgPks.prototype.hasPayload=function(){return null!=r.Message.getField(this,5)},proto.WEBBVCU.IMMsgPks.prototype.getBispic=function(){return r.Message.getFieldWithDefault(this,6,0)},proto.WEBBVCU.IMMsgPks.prototype.setBispic=function(e){r.Message.setField(this,6,e)},proto.WEBBVCU.IMMsgPks.prototype.clearBispic=function(){r.Message.setField(this,6,void 0)},proto.WEBBVCU.IMMsgPks.prototype.hasBispic=function(){return null!=r.Message.getField(this,6)},proto.WEBBVCU.IMMsgPks.prototype.getBisdownload=function(){return r.Message.getFieldWithDefault(this,7,0)},proto.WEBBVCU.IMMsgPks.prototype.setBisdownload=function(e){r.Message.setField(this,7,e)},proto.WEBBVCU.IMMsgPks.prototype.clearBisdownload=function(){r.Message.setField(this,7,void 0)},proto.WEBBVCU.IMMsgPks.prototype.hasBisdownload=function(){return null!=r.Message.getField(this,7)},proto.WEBBVCU.IMMsgPks.prototype.getImsgtype=function(){return r.Message.getFieldWithDefault(this,8,0)},proto.WEBBVCU.IMMsgPks.prototype.setImsgtype=function(e){r.Message.setField(this,8,e)},proto.WEBBVCU.IMMsgPks.prototype.clearImsgtype=function(){r.Message.setField(this,8,void 0)},proto.WEBBVCU.IMMsgPks.prototype.hasImsgtype=function(){return null!=r.Message.getField(this,8)},proto.WEBBVCU.AudioOperate=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.WEBBVCU.AudioOperate,r.Message),i.DEBUG&&!COMPILED&&(proto.WEBBVCU.AudioOperate.displayName=\"proto.WEBBVCU.AudioOperate\"),r.Message.GENERATE_TO_OBJECT&&(proto.WEBBVCU.AudioOperate.prototype.toObject=function(e){return proto.WEBBVCU.AudioOperate.toObject(e,this)},proto.WEBBVCU.AudioOperate.toObject=function(e,t){var o={ioperatecode:r.Message.getField(t,1),szlocalpath:t.getSzlocalpath_asB64(),iduration:r.Message.getField(t,3),itagid:r.Message.getField(t,4),iplaystatu:r.Message.getField(t,5)};return e&&(o.$jspbMessageInstance=t),o}),proto.WEBBVCU.AudioOperate.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.WEBBVCU.AudioOperate;return proto.WEBBVCU.AudioOperate.deserializeBinaryFromReader(o,t)},proto.WEBBVCU.AudioOperate.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readInt32();e.setIoperatecode(o);break;case 2:o=t.readBytes();e.setSzlocalpath(o);break;case 3:o=t.readInt32();e.setIduration(o);break;case 4:o=t.readInt32();e.setItagid(o);break;case 5:o=t.readInt32();e.setIplaystatu(o);break;default:t.skipField()}}return e},proto.WEBBVCU.AudioOperate.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.WEBBVCU.AudioOperate.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.WEBBVCU.AudioOperate.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeInt32(1,o),null!=(o=r.Message.getField(e,2))&&t.writeBytes(2,o),null!=(o=r.Message.getField(e,3))&&t.writeInt32(3,o),null!=(o=r.Message.getField(e,4))&&t.writeInt32(4,o),null!=(o=r.Message.getField(e,5))&&t.writeInt32(5,o)},proto.WEBBVCU.AudioOperate.prototype.getIoperatecode=function(){return r.Message.getFieldWithDefault(this,1,0)},proto.WEBBVCU.AudioOperate.prototype.setIoperatecode=function(e){r.Message.setField(this,1,e)},proto.WEBBVCU.AudioOperate.prototype.clearIoperatecode=function(){r.Message.setField(this,1,void 0)},proto.WEBBVCU.AudioOperate.prototype.hasIoperatecode=function(){return null!=r.Message.getField(this,1)},proto.WEBBVCU.AudioOperate.prototype.getSzlocalpath=function(){return r.Message.getFieldWithDefault(this,2,\"\")},proto.WEBBVCU.AudioOperate.prototype.getSzlocalpath_asB64=function(){return r.Message.bytesAsB64(this.getSzlocalpath())},proto.WEBBVCU.AudioOperate.prototype.getSzlocalpath_asU8=function(){return r.Message.bytesAsU8(this.getSzlocalpath())},proto.WEBBVCU.AudioOperate.prototype.setSzlocalpath=function(e){r.Message.setField(this,2,e)},proto.WEBBVCU.AudioOperate.prototype.clearSzlocalpath=function(){r.Message.setField(this,2,void 0)},proto.WEBBVCU.AudioOperate.prototype.hasSzlocalpath=function(){return null!=r.Message.getField(this,2)},proto.WEBBVCU.AudioOperate.prototype.getIduration=function(){return r.Message.getFieldWithDefault(this,3,0)},proto.WEBBVCU.AudioOperate.prototype.setIduration=function(e){r.Message.setField(this,3,e)},proto.WEBBVCU.AudioOperate.prototype.clearIduration=function(){r.Message.setField(this,3,void 0)},proto.WEBBVCU.AudioOperate.prototype.hasIduration=function(){return null!=r.Message.getField(this,3)},proto.WEBBVCU.AudioOperate.prototype.getItagid=function(){return r.Message.getFieldWithDefault(this,4,0)},proto.WEBBVCU.AudioOperate.prototype.setItagid=function(e){r.Message.setField(this,4,e)},proto.WEBBVCU.AudioOperate.prototype.clearItagid=function(){r.Message.setField(this,4,void 0)},proto.WEBBVCU.AudioOperate.prototype.hasItagid=function(){return null!=r.Message.getField(this,4)},proto.WEBBVCU.AudioOperate.prototype.getIplaystatu=function(){return r.Message.getFieldWithDefault(this,5,0)},proto.WEBBVCU.AudioOperate.prototype.setIplaystatu=function(e){r.Message.setField(this,5,e)},proto.WEBBVCU.AudioOperate.prototype.clearIplaystatu=function(){r.Message.setField(this,5,void 0)},proto.WEBBVCU.AudioOperate.prototype.hasIplaystatu=function(){return null!=r.Message.getField(this,5)},proto.WEBBVCU.DialogInfo=function(e){r.Message.initialize(this,e,0,-1,null,null)},i.inherits(proto.WEBBVCU.DialogInfo,r.Message),i.DEBUG&&!COMPILED&&(proto.WEBBVCU.DialogInfo.displayName=\"proto.WEBBVCU.DialogInfo\"),r.Message.GENERATE_TO_OBJECT&&(proto.WEBBVCU.DialogInfo.prototype.toObject=function(e){return proto.WEBBVCU.DialogInfo.toObject(e,this)},proto.WEBBVCU.DialogInfo.toObject=function(e,t){var o={icreatetime:r.Message.getField(t,1),ionlinetime:r.Message.getField(t,2),ivideototalpackets:r.Message.getField(t,3),iaudiototalpackets:r.Message.getField(t,4),ivideototalframes:r.Message.getField(t,5),iaudiototalframes:r.Message.getField(t,6),ivideolostratelongterm:r.Message.getField(t,7),iaudiolostratelongterm:r.Message.getField(t,8),ivideorecvfpslongterm:r.Message.getField(t,9),ivideokbpslongterm:r.Message.getField(t,10),iaudiokbpslongterm:r.Message.getField(t,11),ivideolostrateshortterm:r.Message.getField(t,12),iaudiolostrateshortterm:r.Message.getField(t,13),ivideorecvfpsshortterm:r.Message.getField(t,14),ivideokbpsshortterm:r.Message.getField(t,15),iaudiokbpsshortterm:r.Message.getField(t,16),ivideorenderfps:r.Message.getField(t,17)};return e&&(o.$jspbMessageInstance=t),o}),proto.WEBBVCU.DialogInfo.deserializeBinary=function(e){var t=new r.BinaryReader(e),o=new proto.WEBBVCU.DialogInfo;return proto.WEBBVCU.DialogInfo.deserializeBinaryFromReader(o,t)},proto.WEBBVCU.DialogInfo.deserializeBinaryFromReader=function(e,t){for(;t.nextField()&&!t.isEndGroup();){switch(t.getFieldNumber()){case 1:var o=t.readInt64();e.setIcreatetime(o);break;case 2:o=t.readInt64();e.setIonlinetime(o);break;case 3:o=t.readInt64();e.setIvideototalpackets(o);break;case 4:o=t.readInt64();e.setIaudiototalpackets(o);break;case 5:o=t.readInt64();e.setIvideototalframes(o);break;case 6:o=t.readInt64();e.setIaudiototalframes(o);break;case 7:o=t.readInt32();e.setIvideolostratelongterm(o);break;case 8:o=t.readInt32();e.setIaudiolostratelongterm(o);break;case 9:o=t.readInt32();e.setIvideorecvfpslongterm(o);break;case 10:o=t.readInt32();e.setIvideokbpslongterm(o);break;case 11:o=t.readInt32();e.setIaudiokbpslongterm(o);break;case 12:o=t.readInt32();e.setIvideolostrateshortterm(o);break;case 13:o=t.readInt32();e.setIaudiolostrateshortterm(o);break;case 14:o=t.readInt32();e.setIvideorecvfpsshortterm(o);break;case 15:o=t.readInt32();e.setIvideokbpsshortterm(o);break;case 16:o=t.readInt32();e.setIaudiokbpsshortterm(o);break;case 17:o=t.readInt32();e.setIvideorenderfps(o);break;default:t.skipField()}}return e},proto.WEBBVCU.DialogInfo.prototype.serializeBinary=function(){var e=new r.BinaryWriter;return proto.WEBBVCU.DialogInfo.serializeBinaryToWriter(this,e),e.getResultBuffer()},proto.WEBBVCU.DialogInfo.serializeBinaryToWriter=function(e,t){var o=void 0;null!=(o=r.Message.getField(e,1))&&t.writeInt64(1,o),null!=(o=r.Message.getField(e,2))&&t.writeInt64(2,o),null!=(o=r.Message.getField(e,3))&&t.writeInt64(3,o),null!=(o=r.Message.getField(e,4))&&t.writeInt64(4,o),null!=(o=r.Message.getField(e,5))&&t.writeInt64(5,o),null!=(o=r.Message.getField(e,6))&&t.writeInt64(6,o),null!=(o=r.Message.getField(e,7))&&t.writeInt32(7,o),null!=(o=r.Message.getField(e,8))&&t.writeInt32(8,o),null!=(o=r.Message.getField(e,9))&&t.writeInt32(9,o),null!=(o=r.Message.getField(e,10))&&t.writeInt32(10,o),null!=(o=r.Message.getField(e,11))&&t.writeInt32(11,o),null!=(o=r.Message.getField(e,12))&&t.writeInt32(12,o),null!=(o=r.Message.getField(e,13))&&t.writeInt32(13,o),null!=(o=r.Message.getField(e,14))&&t.writeInt32(14,o),null!=(o=r.Message.getField(e,15))&&t.writeInt32(15,o),null!=(o=r.Message.getField(e,16))&&t.writeInt32(16,o),null!=(o=r.Message.getField(e,17))&&t.writeInt32(17,o)},proto.WEBBVCU.DialogInfo.prototype.getIcreatetime=function(){return r.Message.getFieldWithDefault(this,1,0)},proto.WEBBVCU.DialogInfo.prototype.setIcreatetime=function(e){r.Message.setField(this,1,e)},proto.WEBBVCU.DialogInfo.prototype.clearIcreatetime=function(){r.Message.setField(this,1,void 0)},proto.WEBBVCU.DialogInfo.prototype.hasIcreatetime=function(){return null!=r.Message.getField(this,1)},proto.WEBBVCU.DialogInfo.prototype.getIonlinetime=function(){return r.Message.getFieldWithDefault(this,2,0)},proto.WEBBVCU.DialogInfo.prototype.setIonlinetime=function(e){r.Message.setField(this,2,e)},proto.WEBBVCU.DialogInfo.prototype.clearIonlinetime=function(){r.Message.setField(this,2,void 0)},proto.WEBBVCU.DialogInfo.prototype.hasIonlinetime=function(){return null!=r.Message.getField(this,2)},proto.WEBBVCU.DialogInfo.prototype.getIvideototalpackets=function(){return r.Message.getFieldWithDefault(this,3,0)},proto.WEBBVCU.DialogInfo.prototype.setIvideototalpackets=function(e){r.Message.setField(this,3,e)},proto.WEBBVCU.DialogInfo.prototype.clearIvideototalpackets=function(){r.Message.setField(this,3,void 0)},proto.WEBBVCU.DialogInfo.prototype.hasIvideototalpackets=function(){return null!=r.Message.getField(this,3)},proto.WEBBVCU.DialogInfo.prototype.getIaudiototalpackets=function(){return r.Message.getFieldWithDefault(this,4,0)},proto.WEBBVCU.DialogInfo.prototype.setIaudiototalpackets=function(e){r.Message.setField(this,4,e)},proto.WEBBVCU.DialogInfo.prototype.clearIaudiototalpackets=function(){r.Message.setField(this,4,void 0)},proto.WEBBVCU.DialogInfo.prototype.hasIaudiototalpackets=function(){return null!=r.Message.getField(this,4)},proto.WEBBVCU.DialogInfo.prototype.getIvideototalframes=function(){return r.Message.getFieldWithDefault(this,5,0)},proto.WEBBVCU.DialogInfo.prototype.setIvideototalframes=function(e){r.Message.setField(this,5,e)},proto.WEBBVCU.DialogInfo.prototype.clearIvideototalframes=function(){r.Message.setField(this,5,void 0)},proto.WEBBVCU.DialogInfo.prototype.hasIvideototalframes=function(){return null!=r.Message.getField(this,5)},proto.WEBBVCU.DialogInfo.prototype.getIaudiototalframes=function(){return r.Message.getFieldWithDefault(this,6,0)},proto.WEBBVCU.DialogInfo.prototype.setIaudiototalframes=function(e){r.Message.setField(this,6,e)},proto.WEBBVCU.DialogInfo.prototype.clearIaudiototalframes=function(){r.Message.setField(this,6,void 0)},proto.WEBBVCU.DialogInfo.prototype.hasIaudiototalframes=function(){return null!=r.Message.getField(this,6)},proto.WEBBVCU.DialogInfo.prototype.getIvideolostratelongterm=function(){return r.Message.getFieldWithDefault(this,7,0)},proto.WEBBVCU.DialogInfo.prototype.setIvideolostratelongterm=function(e){r.Message.setField(this,7,e)},proto.WEBBVCU.DialogInfo.prototype.clearIvideolostratelongterm=function(){r.Message.setField(this,7,void 0)},proto.WEBBVCU.DialogInfo.prototype.hasIvideolostratelongterm=function(){return null!=r.Message.getField(this,7)},proto.WEBBVCU.DialogInfo.prototype.getIaudiolostratelongterm=function(){return r.Message.getFieldWithDefault(this,8,0)},proto.WEBBVCU.DialogInfo.prototype.setIaudiolostratelongterm=function(e){r.Message.setField(this,8,e)},proto.WEBBVCU.DialogInfo.prototype.clearIaudiolostratelongterm=function(){r.Message.setField(this,8,void 0)},proto.WEBBVCU.DialogInfo.prototype.hasIaudiolostratelongterm=function(){return null!=r.Message.getField(this,8)},proto.WEBBVCU.DialogInfo.prototype.getIvideorecvfpslongterm=function(){return r.Message.getFieldWithDefault(this,9,0)},proto.WEBBVCU.DialogInfo.prototype.setIvideorecvfpslongterm=function(e){r.Message.setField(this,9,e)},proto.WEBBVCU.DialogInfo.prototype.clearIvideorecvfpslongterm=function(){r.Message.setField(this,9,void 0)},proto.WEBBVCU.DialogInfo.prototype.hasIvideorecvfpslongterm=function(){return null!=r.Message.getField(this,9)},proto.WEBBVCU.DialogInfo.prototype.getIvideokbpslongterm=function(){return r.Message.getFieldWithDefault(this,10,0)},proto.WEBBVCU.DialogInfo.prototype.setIvideokbpslongterm=function(e){r.Message.setField(this,10,e)},proto.WEBBVCU.DialogInfo.prototype.clearIvideokbpslongterm=function(){r.Message.setField(this,10,void 0)},proto.WEBBVCU.DialogInfo.prototype.hasIvideokbpslongterm=function(){return null!=r.Message.getField(this,10)},proto.WEBBVCU.DialogInfo.prototype.getIaudiokbpslongterm=function(){return r.Message.getFieldWithDefault(this,11,0)},proto.WEBBVCU.DialogInfo.prototype.setIaudiokbpslongterm=function(e){r.Message.setField(this,11,e)},proto.WEBBVCU.DialogInfo.prototype.clearIaudiokbpslongterm=function(){r.Message.setField(this,11,void 0)},proto.WEBBVCU.DialogInfo.prototype.hasIaudiokbpslongterm=function(){return null!=r.Message.getField(this,11)},proto.WEBBVCU.DialogInfo.prototype.getIvideolostrateshortterm=function(){return r.Message.getFieldWithDefault(this,12,0)},proto.WEBBVCU.DialogInfo.prototype.setIvideolostrateshortterm=function(e){r.Message.setField(this,12,e)},proto.WEBBVCU.DialogInfo.prototype.clearIvideolostrateshortterm=function(){r.Message.setField(this,12,void 0)},proto.WEBBVCU.DialogInfo.prototype.hasIvideolostrateshortterm=function(){return null!=r.Message.getField(this,12)},proto.WEBBVCU.DialogInfo.prototype.getIaudiolostrateshortterm=function(){return r.Message.getFieldWithDefault(this,13,0)},proto.WEBBVCU.DialogInfo.prototype.setIaudiolostrateshortterm=function(e){r.Message.setField(this,13,e)},proto.WEBBVCU.DialogInfo.prototype.clearIaudiolostrateshortterm=function(){r.Message.setField(this,13,void 0)},proto.WEBBVCU.DialogInfo.prototype.hasIaudiolostrateshortterm=function(){return null!=r.Message.getField(this,13)},proto.WEBBVCU.DialogInfo.prototype.getIvideorecvfpsshortterm=function(){return r.Message.getFieldWithDefault(this,14,0)},proto.WEBBVCU.DialogInfo.prototype.setIvideorecvfpsshortterm=function(e){r.Message.setField(this,14,e)},proto.WEBBVCU.DialogInfo.prototype.clearIvideorecvfpsshortterm=function(){r.Message.setField(this,14,void 0)},proto.WEBBVCU.DialogInfo.prototype.hasIvideorecvfpsshortterm=function(){return null!=r.Message.getField(this,14)},proto.WEBBVCU.DialogInfo.prototype.getIvideokbpsshortterm=function(){return r.Message.getFieldWithDefault(this,15,0)},proto.WEBBVCU.DialogInfo.prototype.setIvideokbpsshortterm=function(e){r.Message.setField(this,15,e)},proto.WEBBVCU.DialogInfo.prototype.clearIvideokbpsshortterm=function(){r.Message.setField(this,15,void 0)},proto.WEBBVCU.DialogInfo.prototype.hasIvideokbpsshortterm=function(){return null!=r.Message.getField(this,15)},proto.WEBBVCU.DialogInfo.prototype.getIaudiokbpsshortterm=function(){return r.Message.getFieldWithDefault(this,16,0)},proto.WEBBVCU.DialogInfo.prototype.setIaudiokbpsshortterm=function(e){r.Message.setField(this,16,e)},proto.WEBBVCU.DialogInfo.prototype.clearIaudiokbpsshortterm=function(){r.Message.setField(this,16,void 0)},proto.WEBBVCU.DialogInfo.prototype.hasIaudiokbpsshortterm=function(){return null!=r.Message.getField(this,16)},proto.WEBBVCU.DialogInfo.prototype.getIvideorenderfps=function(){return r.Message.getFieldWithDefault(this,17,0)},proto.WEBBVCU.DialogInfo.prototype.setIvideorenderfps=function(e){r.Message.setField(this,17,e)},proto.WEBBVCU.DialogInfo.prototype.clearIvideorenderfps=function(){r.Message.setField(this,17,void 0)},proto.WEBBVCU.DialogInfo.prototype.hasIvideorenderfps=function(){return null!=r.Message.getField(this,17)},proto.WEBBVCU.MSGType={ZERO:0,WEB_BVCU_GET_PUBKEY:1,WEB_BVCU_KEEPALIVE:2,WEB_BVCU_LOGIN:3,WEB_BVCU_LOGOUT:4,WEB_BVCU_NOTIFY_DISCONNECT:65540,WEB_BVCU_NOTIFY:5,WEB_BVCU_NOTIFY_PU_ONOFFLINE:6,WEB_BVCU_NOTIFY_TSP_DATA:7,WEB_BVCU_OPEN_CHANLE:8,WEB_BVCU_SET_DIALOG_PARAM:264,WEB_BVCU_SET_GLOBAL_DIALOG_PARAM:520,WEB_BVCU_OPEN_CHANLE_TSP:9,WEB_BVCU_WRITE_CHANLE_TSP:10,WEB_BVCU_CLOSE_CHANLE:11,WEB_BVCU_GET_PULIST:12,WEB_BVCU_GET_PUINFO_BY_PUID:268,WEB_BVCU_NOTIFY_SESSION_GETPULIST:524,WEB_BVCU_SEARCH_GET_PULIST:780,WEB_BVCU_GET_PUGPSDATA:13,WEB_BVCU_OPEN_PUGPS_CHANNEL:4109,WEB_BVCU_PUGPS_CHANNEL_DATA:8205,WEB_BVCU_PUGPS_CHANNEL_CLOSE:12301,WEB_BVCU_GET_SEARCH_LIST:14,WEB_BVCU_SET_VOD:15,WEB_BVCU_SET_SNAPSHOT:16,WEB_BVCU_SET_LOCAL_SNAPSHOT:272,WEB_BVCU_GET_PTZATTR:17,WEB_BVCU_SET_PTZATTR:18,WEB_BVCU_SET_PTZ:19,WEB_BVCU_OPEN_INTERCOM:20,WEB_BVCU_CLOSE_INTERCOM:21,WEB_BVCU_RECORD_PLAY:22,WEB_BVCU_RECORD_PLAY_RESPONSE:23,WEB_BVCU_RECORD_PLAY_CRTL:24,WEB_BVCU_RECORD_PLAY_CRTL_RESPONSE:25,WEB_BVCU_GET_CONF_LIST:4116,WEB_BVCU_GET_CONF_INFO:4117,WEB_BVCU_SET_CONF_CREATE:4118,WEB_BVCU_SET_CONF_DELETE:4119,WEB_BVCU_CONF_PARTICIPATOR_ADD:4122,WEB_BVCU_CONF_PARTICIPATOR_REMOVE:4123,WEB_BVCU_CONF_START:4124,WEB_BVCU_CONF_STOP:4125,WEB_BVCU_CONF_PARTICIPATOR_APPLYFOR_STARTSPEAK:4126,WEB_BVCU_CONF_PARTICIPATOR_APPLYFOR_ENDSPEAK:4127,WEB_BVCU_CONF_PARTICIPATOR_INVITE_SPEAK:4128,WEB_BVCU_PARTICIPATOR_TERMINATE_SPEAK:4129,WEB_BVCU_CONF_LEAVE:4130,WEB_BVCU_CONF_RETURN:4131,WEB_BVCU_CONF_NOTIFY_PARTICIPATOR_APPLYFOR_ENDSPEAK:4132,WEB_BVCU_CONF_NOTIFY_PARTICIPATOR_APPLYFOR_STARTSPEAK:4133,WEB_BVCU_CONF_NOTIFY_PARTICIPATOR_INVITE_SPEAK:4134,WEB_BVCU_CONF_NOTIFY_PARTICIPATOR_TERMINATE_SPEAK:4135,WEB_BVCU_CONF_NOTIFY_PARTICIPATOR_ADD:4136,WEB_BVCU_CONF_NOTIFY_PARTICIPATOR_REMOVE:4137,WEB_BVCU_CONF_NOTIFY_CONF_START:4138,WEB_BVCU_CONF_NOTIFY_CONF_STOP:4139,WEB_BVCU_CONF_NOTIFY_CONF_CREATE:8236,WEB_BVCU_CONF_NOTIFY_CONF_DELETE:4140,WEB_BVCU_CONF_NOTIFY_PARTICIPATOR_LEAVE:4141,WEB_BVCU_CONF_NOTIFY_PARTICIPATOR_RETURN:4142,WEB_BVCU_SUBMETHOD_CONF_PARTICIPATOR_INVITE_JOIN:593967,WEB_BVCU_SUBMETHOD_CONF_PARTICIPATOR_KICKOUT:593968,WEB_BVCU_CONF_NOTIFY_USERLOGIN:4143,WEB_BVCU_CONF_NOTIFY_USERLOGOUT:4144,WEB_BVCU_CONF_NOTIFY_PU_DEVICEINFO:4145,WEB_BVCU_CONF_NOTIFY_PARTICIPATOR_JOIN:4146,WEB_BVCU_CONF_NOTIFY_PARTICIPATOR_EXIT:4147,WEB_BVCU_CONF_PARTICIPATOR_MODIFY:4148,WEB_BVCU_CONF_IM_MSG:4149,WEB_BVCU_CONF_NOTIFY_IM_MSG:4150,WEB_BVCU_CONF_ALTER_AUDIO_RECORD_STATUS:4151,WEB_CONF_IM_PIC_MSG:4152,WEB_BVCU_CONF_NOTIFY_BASEINFO:4153,WEB_CONF_IM_FILE_MSG:4154,WEB_BVCU_NOTIFY_USER_ADDGROUP:50,WEB_BVCU_NOTIFY_USER_MODGROUP:51,WEB_BVCU_NOTIFY_USER_DELGROUP:52,WEB_BVCU_NOTIFY_USER_ADDUSER:53,WEB_BVCU_NOTIFY_USER_MODUSER:54,WEB_BVCU_NOTIFY_USER_DELUSER:55,WEB_BVCU_NOTIFY_EVENT_SOURCE:56,WEB_BVCU_GET_PU_DEVICEINFO:65586,WEB_BVCU_SET_PU_DEVICEINFO:65587,WEB_BVCU_GET_PU_DEVICETIME:65588,WEB_BVCU_GET_PU_ETHERNET:65589,WEB_BVCU_SET_PU_ETHERNET:65590,WEB_BVCU_GET_PU_RADIONETWORK:65591,WEB_BVCU_SET_PU_RADIONETWORK:65592,WEB_BVCU_GET_PU_WIFI:65593,WEB_BVCU_SET_PU_WIFI:65594,WEB_BVCU_GET_PU_POWER:65595,WEB_BVCU_SET_PU_POWER:65596,WEB_BVCU_GET_PU_ONLINECONTROL:65597,WEB_BVCU_SET_PU_ONLINECONTROL:65598,WEB_BVCU_GET_PU_UPDATESTATUS:65599,WEB_BVCU_SET_PU_UPGRADE:65600,WEB_BVCU_GET_LINKACTION_LIST:65601,WEB_BVCU_LINKACTION_GET:65602,WEB_BVCU_LINKACTION_ADD:65603,WEB_BVCU_LINKACTION_SET:65604,WEB_BVCU_LINKACTION_DEL:65605,WEB_BVCU_GET_PU_CARINFO:65606,WEB_BVCU_SET_PU_CARINFO:65607,WEB_BVCU_GET_PU_ZFYINFO:65608,WEB_BVCU_SET_PU_ZFYINFO:65609,WEB_BVCU_GET_PU_SERVERS:65610,WEB_BVCU_SET_PU_SERVERS:65611,WEB_BVCU_GET_PU_RECORDSTATUS:65612,WEB_BVCU_GET_USER_GROUPLIST:131072,WEB_BVCU_GET_USER_GROUPINFO:131073,WEB_BVCU_SET_USER_GROUPINFO:131074,WEB_BVCU_GET_USER_USERLIST:131075,WEB_BVCU_GET_USER_USERINFO:131076,WEB_BVCU_SET_USER_USERINFO:131077,WEB_BVCU_GET_USER_ONLINE:131078,WEB_BVCU_GET_USER_ONLINEINFO:131079,WEB_BVCU_SET_USER_ONLINEINFO:131080,WEB_BVCU_SET_USER_ADDGROUP:131081,WEB_BVCU_SET_USER_MODGROUP:131082,WEB_BVCU_SET_USER_DELGROUP:131083,WEB_BVCU_SET_USER_ADDUSER:131084,WEB_BVCU_SET_USER_MODUSER:131085,WEB_BVCU_SET_USER_DELUSER:131086,WEB_BVCU_SET_USER_MODPASSWD:131087,WEB_BVCU_SET_USER_KICKOUT:131088,WEB_BVCU_GET_SEARCH_OPERATE:196609,WEB_BVCU_GET_PU_GPS:196610,WEB_BVCU_SET_PU_GPS:196611,WEB_BVCU_SET_PU_MANUALRECORD:196612,WEB_BVCU_SET_PU_SNAPSHOT:196613,WEB_BVCU_GET_LOCAL_RECORD:196614,WEB_BVCU_SET_LOCAL_RECORD:196615,WEB_BVCU_GET_NRU_LIST:196616,WEB_BVCU_GET_GPS_RECORD:196617,WEB_BVCU_DOWNLOAD_GPS_RECORD:196618,WEB_BVCU_DOWNLOAD_GPS_RECORD_SERVERC:200714,WEB_NOTIFY_BVCU_EVENT_STORAGE_FILE_OPEN:196619,WEB_NOTIFY_BVCU_EVENT_STORAGE_FILE_CLOSE:196620,WEB_NOTIFY_BVCU_EVENT_STORAGE_ERROR:196621,WEB_BVCU_SET_SUBMETHOD_NRU_MANUALRECORD:196622,WEB_VIDEO_DIALOG_ROTATE:196623,WEB_VIDEO_DIALOG_UPDATE:200719,WEB_VIDEO_DIALOG_STRETCH:200975,WEB_BVCU_RECORDFILE_DELETE:196624,WEB_GET_VERSION_INFO:262145,WEB_GET_CMS_DIALOGINFO:262146,WEB_BVCU_DOWN_FILE_ONPU:262147,WEB_BVCU_DOWN_FILE_ONNRU:266243,WEB_BVCU_NOTIFY_FILE_TRANS:262148,WEB_BVCU_ALTER_VIDEO_DIALOG_DIR:262149,WEB_BVCU_ALTER_AUDIO_DIALOG_DIR:262150,WEB_BVCU_NOTIFY_PU_OPENDIALOG_CMD:262151,WEB_BVCU_SET_ALTER_VIDEO_VOLUME:262152,WEB_BVCU_SET_PU_REBOOT_OR_SHUTDOWN:262153,WEB_BVCU_SET_CU_OPEN_DIALOG:262154,WEB_BVCU_UPLOAD_FILE_TONRU:266251,WEB_BVCU_PU_USERLIST:327680,WEB_BVCU_PU_USERINFO:327681,WEB_BVCU_PU_USERGROUPLIST:327682,WEB_BVCU_PU_USERGROUPINFO:327683,WEB_BVCU_PU_USER_ADDGROUP:327684,WEB_BVCU_PU_USER_MODGROUP:327685,WEB_BVCU_PU_USER_DELGROUP:327686,WEB_BVCU_PU_USER_ADDUSER:327687,WEB_BVCU_PU_USER_MODUSER:327688,WEB_BVCU_PU_USER_DELUSER:327689,WEB_UTILS_OPEN_FILE_IN_DIR:393216,WEB_UTILS_AAC_OPERATE:458753,WEB_GET_DIALOG_INFO:524291,WEB_REG_WEBSOCKET_DATA:524290,WEB_REREG_WEBSOCKET_COMMAND:524292,WEB_BVCU_SEARCH_UALIST:524293},i.object.extend(t,proto.WEBBVCU)}]);","/*\n * JQuery zTree core v3.5.23\n * http://zTree.me/\n *\n * Copyright (c) 2010 Hunter.z\n *\n * Licensed same as jquery - MIT License\n * http://www.opensource.org/licenses/mit-license.php\n *\n * email: hunter.z@263.net\n * Date: 2016-04-01\n */\n(function($){\n\tvar settings = {}, roots = {}, caches = {},\n\t//default consts of core\n\t_consts = {\n\t\tclassName: {\n\t\t\tBUTTON: \"button\",\n\t\t\tLEVEL: \"level\",\n\t\t\tICO_LOADING: \"ico_loading\",\n\t\t\tSWITCH: \"switch\",\n\t\t\tNAME: 'node_name'\n\t\t},\n\t\tevent: {\n\t\t\tNODECREATED: \"ztree_nodeCreated\",\n\t\t\tCLICK: \"ztree_click\",\n\t\t\tEXPAND: \"ztree_expand\",\n\t\t\tCOLLAPSE: \"ztree_collapse\",\n\t\t\tASYNC_SUCCESS: \"ztree_async_success\",\n\t\t\tASYNC_ERROR: \"ztree_async_error\",\n\t\t\tREMOVE: \"ztree_remove\",\n\t\t\tSELECTED: \"ztree_selected\",\n\t\t\tUNSELECTED: \"ztree_unselected\"\n\t\t},\n\t\tid: {\n\t\t\tA: \"_a\",\n\t\t\tICON: \"_ico\",\n\t\t\tSPAN: \"_span\",\n\t\t\tSWITCH: \"_switch\",\n\t\t\tUL: \"_ul\"\n\t\t},\n\t\tline: {\n\t\t\tROOT: \"root\",\n\t\t\tROOTS: \"roots\",\n\t\t\tCENTER: \"center\",\n\t\t\tBOTTOM: \"bottom\",\n\t\t\tNOLINE: \"noline\",\n\t\t\tLINE: \"line\"\n\t\t},\n\t\tfolder: {\n\t\t\tOPEN: \"open\",\n\t\t\tCLOSE: \"close\",\n\t\t\tDOCU: \"docu\"\n\t\t},\n\t\tnode: {\n\t\t\tCURSELECTED: \"curSelectedNode\"\n\t\t}\n\t},\n\t//default setting of core\n\t_setting = {\n\t\ttreeId: \"\",\n\t\ttreeObj: null,\n\t\tview: {\n\t\t\taddDiyDom: null,\n\t\t\tautoCancelSelected: true,\n\t\t\tdblClickExpand: true,\n\t\t\texpandSpeed: \"fast\",\n\t\t\tfontCss: {},\n\t\t\tnameIsHTML: false,\n\t\t\tselectedMulti: true,\n\t\t\tshowIcon: true,\n\t\t\tshowLine: true,\n\t\t\tshowTitle: true,\n\t\t\ttxtSelectedEnable: false\n\t\t},\n\t\tdata: {\n\t\t\tkey: {\n\t\t\t\tchildren: \"children\",\n\t\t\t\tname: \"name\",\n\t\t\t\ttitle: \"\",\n\t\t\t\turl: \"url\",\n\t\t\t\ticon: \"icon\"\n\t\t\t},\n\t\t\tsimpleData: {\n\t\t\t\tenable: false,\n\t\t\t\tidKey: \"id\",\n\t\t\t\tpIdKey: \"pId\",\n\t\t\t\trootPId: null\n\t\t\t},\n\t\t\tkeep: {\n\t\t\t\tparent: false,\n\t\t\t\tleaf: false\n\t\t\t}\n\t\t},\n\t\tasync: {\n\t\t\tenable: false,\n\t\t\tcontentType: \"application/x-www-form-urlencoded\",\n\t\t\ttype: \"post\",\n\t\t\tdataType: \"text\",\n\t\t\turl: \"\",\n\t\t\tautoParam: [],\n\t\t\totherParam: [],\n\t\t\tdataFilter: null\n\t\t},\n\t\tcallback: {\n\t\t\tbeforeAsync:null,\n\t\t\tbeforeClick:null,\n\t\t\tbeforeDblClick:null,\n\t\t\tbeforeRightClick:null,\n\t\t\tbeforeMouseDown:null,\n\t\t\tbeforeMouseUp:null,\n\t\t\tbeforeExpand:null,\n\t\t\tbeforeCollapse:null,\n\t\t\tbeforeRemove:null,\n\n\t\t\tonAsyncError:null,\n\t\t\tonAsyncSuccess:null,\n\t\t\tonNodeCreated:null,\n\t\t\tonClick:null,\n\t\t\tonDblClick:null,\n\t\t\tonRightClick:null,\n\t\t\tonMouseDown:null,\n\t\t\tonMouseUp:null,\n\t\t\tonExpand:null,\n\t\t\tonCollapse:null,\n\t\t\tonRemove:null\n\t\t}\n\t},\n\t//default root of core\n\t//zTree use root to save full data\n\t_initRoot = function (setting) {\n\t\tvar r = data.getRoot(setting);\n\t\tif (!r) {\n\t\t\tr = {};\n\t\t\tdata.setRoot(setting, r);\n\t\t}\n\t\tr[setting.data.key.children] = [];\n\t\tr.expandTriggerFlag = false;\n\t\tr.curSelectedList = [];\n\t\tr.noSelection = true;\n\t\tr.createdNodes = [];\n\t\tr.zId = 0;\n\t\tr._ver = (new Date()).getTime();\n\t},\n\t//default cache of core\n\t_initCache = function(setting) {\n\t\tvar c = data.getCache(setting);\n\t\tif (!c) {\n\t\t\tc = {};\n\t\t\tdata.setCache(setting, c);\n\t\t}\n\t\tc.nodes = [];\n\t\tc.doms = [];\n\t},\n\t//default bindEvent of core\n\t_bindEvent = function(setting) {\n\t\tvar o = setting.treeObj,\n\t\tc = consts.event;\n\t\to.bind(c.NODECREATED, function (event, treeId, node) {\n\t\t\ttools.apply(setting.callback.onNodeCreated, [event, treeId, node]);\n\t\t});\n\n\t\to.bind(c.CLICK, function (event, srcEvent, treeId, node, clickFlag) {\n\t\t\ttools.apply(setting.callback.onClick, [srcEvent, treeId, node, clickFlag]);\n\t\t});\n\n\t\to.bind(c.EXPAND, function (event, treeId, node) {\n\t\t\ttools.apply(setting.callback.onExpand, [event, treeId, node]);\n\t\t});\n\n\t\to.bind(c.COLLAPSE, function (event, treeId, node) {\n\t\t\ttools.apply(setting.callback.onCollapse, [event, treeId, node]);\n\t\t});\n\n\t\to.bind(c.ASYNC_SUCCESS, function (event, treeId, node, msg) {\n\t\t\ttools.apply(setting.callback.onAsyncSuccess, [event, treeId, node, msg]);\n\t\t});\n\n\t\to.bind(c.ASYNC_ERROR, function (event, treeId, node, XMLHttpRequest, textStatus, errorThrown) {\n\t\t\ttools.apply(setting.callback.onAsyncError, [event, treeId, node, XMLHttpRequest, textStatus, errorThrown]);\n\t\t});\n\n\t\to.bind(c.REMOVE, function (event, treeId, treeNode) {\n\t\t\ttools.apply(setting.callback.onRemove, [event, treeId, treeNode]);\n\t\t});\n\n\t\to.bind(c.SELECTED, function (event, treeId, node) {\n\t\t\ttools.apply(setting.callback.onSelected, [treeId, node]);\n\t\t});\n\t\to.bind(c.UNSELECTED, function (event, treeId, node) {\n\t\t\ttools.apply(setting.callback.onUnSelected, [treeId, node]);\n\t\t});\n\t},\n\t_unbindEvent = function(setting) {\n\t\tvar o = setting.treeObj,\n\t\tc = consts.event;\n\t\to.unbind(c.NODECREATED)\n\t\t.unbind(c.CLICK)\n\t\t.unbind(c.EXPAND)\n\t\t.unbind(c.COLLAPSE)\n\t\t.unbind(c.ASYNC_SUCCESS)\n\t\t.unbind(c.ASYNC_ERROR)\n\t\t.unbind(c.REMOVE)\n\t\t.unbind(c.SELECTED)\n\t\t.unbind(c.UNSELECTED);\n\t},\n\t//default event proxy of core\n\t_eventProxy = function(event) {\n\t\tvar target = event.target,\n\t\tsetting = data.getSetting(event.data.treeId),\n\t\ttId = \"\", node = null,\n\t\tnodeEventType = \"\", treeEventType = \"\",\n\t\tnodeEventCallback = null, treeEventCallback = null,\n\t\ttmp = null;\n\n\t\tif (tools.eqs(event.type, \"mousedown\")) {\n\t\t\ttreeEventType = \"mousedown\";\n\t\t} else if (tools.eqs(event.type, \"mouseup\")) {\n\t\t\ttreeEventType = \"mouseup\";\n\t\t} else if (tools.eqs(event.type, \"contextmenu\")) {\n\t\t\ttreeEventType = \"contextmenu\";\n\t\t} else if (tools.eqs(event.type, \"click\")) {\n\t\t\tif (tools.eqs(target.tagName, \"span\") && target.getAttribute(\"treeNode\"+ consts.id.SWITCH) !== null) {\n\t\t\t\ttId = tools.getNodeMainDom(target).id;\n\t\t\t\tnodeEventType = \"switchNode\";\n\t\t\t} else {\n\t\t\t\ttmp = tools.getMDom(setting, target, [{tagName:\"a\", attrName:\"treeNode\"+consts.id.A}]);\n\t\t\t\tif (tmp) {\n\t\t\t\t\ttId = tools.getNodeMainDom(tmp).id;\n\t\t\t\t\tnodeEventType = \"clickNode\";\n\t\t\t\t}\n\t\t\t}\n\t\t} else if (tools.eqs(event.type, \"dblclick\")) {\n\t\t\ttreeEventType = \"dblclick\";\n\t\t\ttmp = tools.getMDom(setting, target, [{tagName:\"a\", attrName:\"treeNode\"+consts.id.A}]);\n\t\t\tif (tmp) {\n\t\t\t\ttId = tools.getNodeMainDom(tmp).id;\n\t\t\t\tnodeEventType = \"switchNode\";\n\t\t\t}\n\t\t}\n\t\tif (treeEventType.length > 0 && tId.length == 0) {\n\t\t\ttmp = tools.getMDom(setting, target, [{tagName:\"a\", attrName:\"treeNode\"+consts.id.A}]);\n\t\t\tif (tmp) {tId = tools.getNodeMainDom(tmp).id;}\n\t\t}\n\t\t// event to node\n\t\tif (tId.length>0) {\n\t\t\tnode = data.getNodeCache(setting, tId);\n\t\t\tswitch (nodeEventType) {\n\t\t\t\tcase \"switchNode\" :\n\t\t\t\t\tif (!node.isParent) {\n\t\t\t\t\t\tnodeEventType = \"\";\n\t\t\t\t\t} else if (tools.eqs(event.type, \"click\")\n\t\t\t\t\t\t|| (tools.eqs(event.type, \"dblclick\") && tools.apply(setting.view.dblClickExpand, [setting.treeId, node], setting.view.dblClickExpand))) {\n\t\t\t\t\t\tnodeEventCallback = handler.onSwitchNode;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnodeEventType = \"\";\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase \"clickNode\" :\n\t\t\t\t\tnodeEventCallback = handler.onClickNode;\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t\t// event to zTree\n\t\tswitch (treeEventType) {\n\t\t\tcase \"mousedown\" :\n\t\t\t\ttreeEventCallback = handler.onZTreeMousedown;\n\t\t\t\tbreak;\n\t\t\tcase \"mouseup\" :\n\t\t\t\ttreeEventCallback = handler.onZTreeMouseup;\n\t\t\t\tbreak;\n\t\t\tcase \"dblclick\" :\n\t\t\t\ttreeEventCallback = handler.onZTreeDblclick;\n\t\t\t\tbreak;\n\t\t\tcase \"contextmenu\" :\n\t\t\t\ttreeEventCallback = handler.onZTreeContextmenu;\n\t\t\t\tbreak;\n\t\t}\n\t\tvar proxyResult = {\n\t\t\tstop: false,\n\t\t\tnode: node,\n\t\t\tnodeEventType: nodeEventType,\n\t\t\tnodeEventCallback: nodeEventCallback,\n\t\t\ttreeEventType: treeEventType,\n\t\t\ttreeEventCallback: treeEventCallback\n\t\t};\n\t\treturn proxyResult\n\t},\n\t//default init node of core\n\t_initNode = function(setting, level, n, parentNode, isFirstNode, isLastNode, openFlag) {\n\t\tif (!n) return;\n\t\tvar r = data.getRoot(setting),\n\t\tchildKey = setting.data.key.children;\n\t\tn.level = level;\n\t\tn.tId = setting.treeId + \"_\" + (++r.zId);\n\t\tn.parentTId = parentNode ? parentNode.tId : null;\n\t\tn.open = (typeof n.open == \"string\") ? tools.eqs(n.open, \"true\") : !!n.open;\n\t\tif (n[childKey] && n[childKey].length > 0) {\n\t\t\tn.isParent = true;\n\t\t\tn.zAsync = true;\n\t\t} else {\n\t\t\tn.isParent = (typeof n.isParent == \"string\") ? tools.eqs(n.isParent, \"true\") : !!n.isParent;\n\t\t\tn.open = (n.isParent && !setting.async.enable) ? n.open : false;\n\t\t\tn.zAsync = !n.isParent;\n\t\t}\n\t\tn.isFirstNode = isFirstNode;\n\t\tn.isLastNode = isLastNode;\n\t\tn.getParentNode = function() {return data.getNodeCache(setting, n.parentTId);};\n\t\tn.getPreNode = function() {return data.getPreNode(setting, n);};\n\t\tn.getNextNode = function() {return data.getNextNode(setting, n);};\n\t\tn.getIndex = function() {return data.getNodeIndex(setting, n);};\n\t\tn.getPath = function() {return data.getNodePath(setting, n);};\n\t\tn.isAjaxing = false;\n\t\tdata.fixPIdKeyValue(setting, n);\n\t},\n\t_init = {\n\t\tbind: [_bindEvent],\n\t\tunbind: [_unbindEvent],\n\t\tcaches: [_initCache],\n\t\tnodes: [_initNode],\n\t\tproxys: [_eventProxy],\n\t\troots: [_initRoot],\n\t\tbeforeA: [],\n\t\tafterA: [],\n\t\tinnerBeforeA: [],\n\t\tinnerAfterA: [],\n\t\tzTreeTools: []\n\t},\n\t//method of operate data\n\tdata = {\n\t\taddNodeCache: function(setting, node) {\n\t\t\tdata.getCache(setting).nodes[data.getNodeCacheId(node.tId)] = node;\n\t\t},\n\t\tgetNodeCacheId: function(tId) {\n\t\t\treturn tId.substring(tId.lastIndexOf(\"_\")+1);\n\t\t},\n\t\taddAfterA: function(afterA) {\n\t\t\t_init.afterA.push(afterA);\n\t\t},\n\t\taddBeforeA: function(beforeA) {\n\t\t\t_init.beforeA.push(beforeA);\n\t\t},\n\t\taddInnerAfterA: function(innerAfterA) {\n\t\t\t_init.innerAfterA.push(innerAfterA);\n\t\t},\n\t\taddInnerBeforeA: function(innerBeforeA) {\n\t\t\t_init.innerBeforeA.push(innerBeforeA);\n\t\t},\n\t\taddInitBind: function(bindEvent) {\n\t\t\t_init.bind.push(bindEvent);\n\t\t},\n\t\taddInitUnBind: function(unbindEvent) {\n\t\t\t_init.unbind.push(unbindEvent);\n\t\t},\n\t\taddInitCache: function(initCache) {\n\t\t\t_init.caches.push(initCache);\n\t\t},\n\t\taddInitNode: function(initNode) {\n\t\t\t_init.nodes.push(initNode);\n\t\t},\n\t\taddInitProxy: function(initProxy, isFirst) {\n\t\t\tif (!!isFirst) {\n\t\t\t\t_init.proxys.splice(0,0,initProxy);\n\t\t\t} else {\n\t\t\t\t_init.proxys.push(initProxy);\n\t\t\t}\n\t\t},\n\t\taddInitRoot: function(initRoot) {\n\t\t\t_init.roots.push(initRoot);\n\t\t},\n\t\taddNodesData: function(setting, parentNode, index, nodes) {\n\t\t\tvar childKey = setting.data.key.children, params;\n\t\t\tif (!parentNode[childKey]) {\n\t\t\t\tparentNode[childKey] = [];\n\t\t\t\tindex = -1;\n\t\t\t} else if (index >= parentNode[childKey].length) {\n\t\t\t\tindex = -1;\n\t\t\t}\n\n\t\t\tif (parentNode[childKey].length > 0 && index === 0) {\n\t\t\t\tparentNode[childKey][0].isFirstNode = false;\n\t\t\t\tview.setNodeLineIcos(setting, parentNode[childKey][0]);\n\t\t\t} else if (parentNode[childKey].length > 0 && index < 0) {\n\t\t\t\tparentNode[childKey][parentNode[childKey].length - 1].isLastNode = false;\n\t\t\t\tview.setNodeLineIcos(setting, parentNode[childKey][parentNode[childKey].length - 1]);\n\t\t\t}\n\t\t\tparentNode.isParent = true;\n\n\t\t\tif (index<0) {\n\t\t\t\tparentNode[childKey] = parentNode[childKey].concat(nodes);\n\t\t\t} else {\n\t\t\t\tparams = [index, 0].concat(nodes);\n\t\t\t\tparentNode[childKey].splice.apply(parentNode[childKey], params);\n\t\t\t}\n\t\t},\n\t\taddSelectedNode: function(setting, node) {\n\t\t\tvar root = data.getRoot(setting);\n\t\t\tif (!data.isSelectedNode(setting, node)) {\n\t\t\t\troot.curSelectedList.push(node);\n\t\t\t}\n\t\t},\n\t\taddCreatedNode: function(setting, node) {\n\t\t\tif (!!setting.callback.onNodeCreated || !!setting.view.addDiyDom) {\n\t\t\t\tvar root = data.getRoot(setting);\n\t\t\t\troot.createdNodes.push(node);\n\t\t\t}\n\t\t},\n\t\taddZTreeTools: function(zTreeTools) {\n\t\t\t_init.zTreeTools.push(zTreeTools);\n\t\t},\n\t\texSetting: function(s) {\n\t\t\t$.extend(true, _setting, s);\n\t\t},\n\t\tfixPIdKeyValue: function(setting, node) {\n\t\t\tif (setting.data.simpleData.enable) {\n\t\t\t\tnode[setting.data.simpleData.pIdKey] = node.parentTId ? node.getParentNode()[setting.data.simpleData.idKey] : setting.data.simpleData.rootPId;\n\t\t\t}\n\t\t},\n\t\tgetAfterA: function(setting, node, array) {\n\t\t\tfor (var i=0, j=_init.afterA.length; i<j; i++) {\n\t\t\t\t_init.afterA[i].apply(this, arguments);\n\t\t\t}\n\t\t},\n\t\tgetBeforeA: function(setting, node, array) {\n\t\t\tfor (var i=0, j=_init.beforeA.length; i<j; i++) {\n\t\t\t\t_init.beforeA[i].apply(this, arguments);\n\t\t\t}\n\t\t},\n\t\tgetInnerAfterA: function(setting, node, array) {\n\t\t\tfor (var i=0, j=_init.innerAfterA.length; i<j; i++) {\n\t\t\t\t_init.innerAfterA[i].apply(this, arguments);\n\t\t\t}\n\t\t},\n\t\tgetInnerBeforeA: function(setting, node, array) {\n\t\t\tfor (var i=0, j=_init.innerBeforeA.length; i<j; i++) {\n\t\t\t\t_init.innerBeforeA[i].apply(this, arguments);\n\t\t\t}\n\t\t},\n\t\tgetCache: function(setting) {\n\t\t\treturn caches[setting.treeId];\n\t\t},\n\t\tgetNodeIndex: function(setting, node) {\n\t\t\tif (!node) return null;\n\t\t\tvar childKey = setting.data.key.children,\n\t\t\tp = node.parentTId ? node.getParentNode() : data.getRoot(setting);\n\t\t\tfor (var i=0, l=p[childKey].length-1; i<=l; i++) {\n\t\t\t\tif (p[childKey][i] === node) {\n\t\t\t\t\treturn i;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn -1;\n\t\t},\n\t\tgetNextNode: function(setting, node) {\n\t\t\tif (!node) return null;\n\t\t\tvar childKey = setting.data.key.children,\n\t\t\tp = node.parentTId ? node.getParentNode() : data.getRoot(setting);\n\t\t\tfor (var i=0, l=p[childKey].length-1; i<=l; i++) {\n\t\t\t\tif (p[childKey][i] === node) {\n\t\t\t\t\treturn (i==l ? null : p[childKey][i+1]);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn null;\n\t\t},\n\t\tgetNodeByParam: function(setting, nodes, key, value) {\n\t\t\tif (!nodes || !key) return null;\n\t\t\tvar childKey = setting.data.key.children;\n\t\t\tfor (var i = 0, l = nodes.length; i < l; i++) {\n\t\t\t\tif (nodes[i][key] == value) {\n\t\t\t\t\treturn nodes[i];\n\t\t\t\t}\n\t\t\t\tvar tmp = data.getNodeByParam(setting, nodes[i][childKey], key, value);\n\t\t\t\tif (tmp) return tmp;\n\t\t\t}\n\t\t\treturn null;\n\t\t},\n\t\tgetNodeCache: function(setting, tId) {\n\t\t\tif (!tId) return null;\n\t\t\tvar n = caches[setting.treeId].nodes[data.getNodeCacheId(tId)];\n\t\t\treturn n ? n : null;\n\t\t},\n\t\tgetNodeName: function(setting, node) {\n\t\t\tvar nameKey = setting.data.key.name;\n\t\t\treturn \"\" + node[nameKey];\n\t\t},\n\t\tgetNodePath: function(setting, node) {\n\t\t\tif (!node) return null;\n\n\t\t\tvar path;\n\t\t\tif(node.parentTId) {\n\t\t\t\tpath = node.getParentNode().getPath();\n\t\t\t} else {\n\t\t\t\tpath = [];\n\t\t\t}\n\n\t\t\tif (path) {\n\t\t\t\tpath.push(node);\n\t\t\t}\n\n\t\t\treturn path;\n\t\t},\n\t\tgetNodeTitle: function(setting, node) {\n\t\t\tvar t = setting.data.key.title === \"\" ? setting.data.key.name : setting.data.key.title;\n\t\t\treturn \"\" + node[t];\n\t\t},\n\t\tgetNodes: function(setting) {\n\t\t\treturn data.getRoot(setting)[setting.data.key.children];\n\t\t},\n\t\tgetNodesByParam: function(setting, nodes, key, value) {\n\t\t\tif (!nodes || !key) return [];\n\t\t\tvar childKey = setting.data.key.children,\n\t\t\tresult = [];\n\t\t\tfor (var i = 0, l = nodes.length; i < l; i++) {\n\t\t\t\tif (nodes[i][key] == value) {\n\t\t\t\t\tresult.push(nodes[i]);\n\t\t\t\t}\n\t\t\t\tresult = result.concat(data.getNodesByParam(setting, nodes[i][childKey], key, value));\n\t\t\t}\n\t\t\treturn result;\n\t\t},\n\t\tgetNodesByParamFuzzy: function(setting, nodes, key, value) {\n\t\t\tif (!nodes || !key) return [];\n\t\t\tvar childKey = setting.data.key.children,\n\t\t\tresult = [];\n\t\t\tvalue = value.toLowerCase();\n\t\t\tfor (var i = 0, l = nodes.length; i < l; i++) {\n\t\t\t\tif (typeof nodes[i][key] == \"string\" && nodes[i][key].toLowerCase().indexOf(value)>-1) {\n\t\t\t\t\tresult.push(nodes[i]);\n\t\t\t\t}\n\t\t\t\tresult = result.concat(data.getNodesByParamFuzzy(setting, nodes[i][childKey], key, value));\n\t\t\t}\n\t\t\treturn result;\n\t\t},\n\t\tgetNodesByFilter: function(setting, nodes, filter, isSingle, invokeParam) {\n\t\t\tif (!nodes) return (isSingle ? null : []);\n\t\t\tvar childKey = setting.data.key.children,\n\t\t\tresult = isSingle ? null : [];\n\t\t\tfor (var i = 0, l = nodes.length; i < l; i++) {\n\t\t\t\tif (tools.apply(filter, [nodes[i], invokeParam], false)) {\n\t\t\t\t\tif (isSingle) {return nodes[i];}\n\t\t\t\t\tresult.push(nodes[i]);\n\t\t\t\t}\n\t\t\t\tvar tmpResult = data.getNodesByFilter(setting, nodes[i][childKey], filter, isSingle, invokeParam);\n\t\t\t\tif (isSingle && !!tmpResult) {return tmpResult;}\n\t\t\t\tresult = isSingle ? tmpResult : result.concat(tmpResult);\n\t\t\t}\n\t\t\treturn result;\n\t\t},\n\t\tgetPreNode: function(setting, node) {\n\t\t\tif (!node) return null;\n\t\t\tvar childKey = setting.data.key.children,\n\t\t\tp = node.parentTId ? node.getParentNode() : data.getRoot(setting);\n\t\t\tfor (var i=0, l=p[childKey].length; i<l; i++) {\n\t\t\t\tif (p[childKey][i] === node) {\n\t\t\t\t\treturn (i==0 ? null : p[childKey][i-1]);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn null;\n\t\t},\n\t\tgetRoot: function(setting) {\n\t\t\treturn setting ? roots[setting.treeId] : null;\n\t\t},\n\t\tgetRoots: function() {\n\t\t\treturn roots;\n\t\t},\n\t\tgetSetting: function(treeId) {\n\t\t\treturn settings[treeId];\n\t\t},\n\t\tgetSettings: function() {\n\t\t\treturn settings;\n\t\t},\n\t\tgetZTreeTools: function(treeId) {\n\t\t\tvar r = this.getRoot(this.getSetting(treeId));\n\t\t\treturn r ? r.treeTools : null;\n\t\t},\n\t\tinitCache: function(setting) {\n\t\t\tfor (var i=0, j=_init.caches.length; i<j; i++) {\n\t\t\t\t_init.caches[i].apply(this, arguments);\n\t\t\t}\n\t\t},\n\t\tinitNode: function(setting, level, node, parentNode, preNode, nextNode) {\n\t\t\tfor (var i=0, j=_init.nodes.length; i<j; i++) {\n\t\t\t\t_init.nodes[i].apply(this, arguments);\n\t\t\t}\n\t\t},\n\t\tinitRoot: function(setting) {\n\t\t\tfor (var i=0, j=_init.roots.length; i<j; i++) {\n\t\t\t\t_init.roots[i].apply(this, arguments);\n\t\t\t}\n\t\t},\n\t\tisSelectedNode: function(setting, node) {\n\t\t\tvar root = data.getRoot(setting);\n\t\t\tfor (var i=0, j=root.curSelectedList.length; i<j; i++) {\n\t\t\t\tif(node === root.curSelectedList[i]) return true;\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t\tremoveNodeCache: function(setting, node) {\n\t\t\tvar childKey = setting.data.key.children;\n\t\t\tif (node[childKey]) {\n\t\t\t\tfor (var i=0, l=node[childKey].length; i<l; i++) {\n\t\t\t\t\tdata.removeNodeCache(setting, node[childKey][i]);\n\t\t\t\t}\n\t\t\t}\n\t\t\tdata.getCache(setting).nodes[data.getNodeCacheId(node.tId)] = null;\n\t\t},\n\t\tremoveSelectedNode: function(setting, node) {\n\t\t\tvar root = data.getRoot(setting);\n\t\t\tfor (var i=0, j=root.curSelectedList.length; i<j; i++) {\n\t\t\t\tif(node === root.curSelectedList[i] || !data.getNodeCache(setting, root.curSelectedList[i].tId)) {\n\t\t\t\t\troot.curSelectedList.splice(i, 1);\n\t\t\t\t\tsetting.treeObj.trigger(consts.event.UNSELECTED, [setting.treeId, node]);\n\t\t\t\t\ti--;j--;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tsetCache: function(setting, cache) {\n\t\t\tcaches[setting.treeId] = cache;\n\t\t},\n\t\tsetRoot: function(setting, root) {\n\t\t\troots[setting.treeId] = root;\n\t\t},\n\t\tsetZTreeTools: function(setting, zTreeTools) {\n\t\t\tfor (var i=0, j=_init.zTreeTools.length; i<j; i++) {\n\t\t\t\t_init.zTreeTools[i].apply(this, arguments);\n\t\t\t}\n\t\t},\n\t\ttransformToArrayFormat: function (setting, nodes) {\n\t\t\tif (!nodes) return [];\n\t\t\tvar childKey = setting.data.key.children,\n\t\t\tr = [];\n\t\t\tif (tools.isArray(nodes)) {\n\t\t\t\tfor (var i=0, l=nodes.length; i<l; i++) {\n\t\t\t\t\tr.push(nodes[i]);\n\t\t\t\t\tif (nodes[i][childKey])\n\t\t\t\t\t\tr = r.concat(data.transformToArrayFormat(setting, nodes[i][childKey]));\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tr.push(nodes);\n\t\t\t\tif (nodes[childKey])\n\t\t\t\t\tr = r.concat(data.transformToArrayFormat(setting, nodes[childKey]));\n\t\t\t}\n\t\t\treturn r;\n\t\t},\n\t\ttransformTozTreeFormat: function(setting, sNodes) {\n\t\t\tvar i,l,\n\t\t\tkey = setting.data.simpleData.idKey,\n\t\t\tparentKey = setting.data.simpleData.pIdKey,\n\t\t\tchildKey = setting.data.key.children;\n\t\t\tif (!key || key==\"\" || !sNodes) return [];\n\n\t\t\tif (tools.isArray(sNodes)) {\n\t\t\t\tvar r = [];\n\t\t\t\tvar tmpMap = [];\n\t\t\t\tfor (i=0, l=sNodes.length; i<l; i++) {\n\t\t\t\t\ttmpMap[sNodes[i][key]] = sNodes[i];\n\t\t\t\t}\n\t\t\t\tfor (i=0, l=sNodes.length; i<l; i++) {\n\t\t\t\t\tif (tmpMap[sNodes[i][parentKey]] && sNodes[i][key] != sNodes[i][parentKey]) {\n\t\t\t\t\t\tif (!tmpMap[sNodes[i][parentKey]][childKey])\n\t\t\t\t\t\t\ttmpMap[sNodes[i][parentKey]][childKey] = [];\n\t\t\t\t\t\ttmpMap[sNodes[i][parentKey]][childKey].push(sNodes[i]);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tr.push(sNodes[i]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn r;\n\t\t\t}else {\n\t\t\t\treturn [sNodes];\n\t\t\t}\n\t\t}\n\t},\n\t//method of event proxy\n\tevent = {\n\t\tbindEvent: function(setting) {\n\t\t\tfor (var i=0, j=_init.bind.length; i<j; i++) {\n\t\t\t\t_init.bind[i].apply(this, arguments);\n\t\t\t}\n\t\t},\n\t\tunbindEvent: function(setting) {\n\t\t\tfor (var i=0, j=_init.unbind.length; i<j; i++) {\n\t\t\t\t_init.unbind[i].apply(this, arguments);\n\t\t\t}\n\t\t},\n\t\tbindTree: function(setting) {\n\t\t\tvar eventParam = {\n\t\t\t\ttreeId: setting.treeId\n\t\t\t},\n\t\t\to = setting.treeObj;\n\t\t\tif (!setting.view.txtSelectedEnable) {\n\t\t\t\t// for can't select text\n\t\t\t\to.bind('selectstart', handler.onSelectStart).css({\n\t\t\t\t\t\"-moz-user-select\":\"-moz-none\"\n\t\t\t\t});\n\t\t\t}\n\t\t\to.bind('click', eventParam, event.proxy);\n\t\t\to.bind('dblclick', eventParam, event.proxy);\n\t\t\to.bind('mouseover', eventParam, event.proxy);\n\t\t\to.bind('mouseout', eventParam, event.proxy);\n\t\t\to.bind('mousedown', eventParam, event.proxy);\n\t\t\to.bind('mouseup', eventParam, event.proxy);\n\t\t\to.bind('contextmenu', eventParam, event.proxy);\n\t\t},\n\t\tunbindTree: function(setting) {\n\t\t\tvar o = setting.treeObj;\n\t\t\to.unbind('selectstart', handler.onSelectStart)\n\t\t\t\t.unbind('click', event.proxy)\n\t\t\t\t.unbind('dblclick', event.proxy)\n\t\t\t\t.unbind('mouseover', event.proxy)\n\t\t\t\t.unbind('mouseout', event.proxy)\n\t\t\t\t.unbind('mousedown', event.proxy)\n\t\t\t\t.unbind('mouseup', event.proxy)\n\t\t\t\t.unbind('contextmenu', event.proxy);\n\t\t},\n\t\tdoProxy: function(e) {\n\t\t\tvar results = [];\n\t\t\tfor (var i=0, j=_init.proxys.length; i<j; i++) {\n\t\t\t\tvar proxyResult = _init.proxys[i].apply(this, arguments);\n\t\t\t\tresults.push(proxyResult);\n\t\t\t\tif (proxyResult.stop) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn results;\n\t\t},\n\t\tproxy: function(e) {\n\t\t\tvar setting = data.getSetting(e.data.treeId);\n\t\t\tif (!tools.uCanDo(setting, e)) return true;\n\t\t\tvar results = event.doProxy(e),\n\t\t\tr = true, x = false;\n\t\t\tfor (var i=0, l=results.length; i<l; i++) {\n\t\t\t\tvar proxyResult = results[i];\n\t\t\t\tif (proxyResult.nodeEventCallback) {\n\t\t\t\t\tx = true;\n\t\t\t\t\tr = proxyResult.nodeEventCallback.apply(proxyResult, [e, proxyResult.node]) && r;\n\t\t\t\t}\n\t\t\t\tif (proxyResult.treeEventCallback) {\n\t\t\t\t\tx = true;\n\t\t\t\t\tr = proxyResult.treeEventCallback.apply(proxyResult, [e, proxyResult.node]) && r;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn r;\n\t\t}\n\t},\n\t//method of event handler\n\thandler = {\n\t\tonSwitchNode: function (event, node) {\n\t\t\tvar setting = data.getSetting(event.data.treeId);\n\t\t\tif (node.open) {\n\t\t\t\tif (tools.apply(setting.callback.beforeCollapse, [setting.treeId, node], true) == false) return true;\n\t\t\t\tdata.getRoot(setting).expandTriggerFlag = true;\n\t\t\t\tview.switchNode(setting, node);\n\t\t\t} else {\n\t\t\t\tif (tools.apply(setting.callback.beforeExpand, [setting.treeId, node], true) == false) return true;\n\t\t\t\tdata.getRoot(setting).expandTriggerFlag = true;\n\t\t\t\tview.switchNode(setting, node);\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\tonClickNode: function (event, node) {\n\t\t\tvar setting = data.getSetting(event.data.treeId),\n\t\t\tclickFlag = ( (setting.view.autoCancelSelected && (event.ctrlKey || event.metaKey)) && data.isSelectedNode(setting, node)) ? 0 : (setting.view.autoCancelSelected && (event.ctrlKey || event.metaKey) && setting.view.selectedMulti) ? 2 : 1;\n\t\t\tif (tools.apply(setting.callback.beforeClick, [setting.treeId, node, clickFlag], true) == false) return true;\n\t\t\tif (clickFlag === 0) {\n\t\t\t\tview.cancelPreSelectedNode(setting, node);\n\t\t\t} else {\n\t\t\t\tview.selectNode(setting, node, clickFlag === 2);\n\t\t\t}\n\t\t\tsetting.treeObj.trigger(consts.event.CLICK, [event, setting.treeId, node, clickFlag]);\n\t\t\treturn true;\n\t\t},\n\t\tonZTreeMousedown: function(event, node) {\n\t\t\tvar setting = data.getSetting(event.data.treeId);\n\t\t\tif (tools.apply(setting.callback.beforeMouseDown, [setting.treeId, node], true)) {\n\t\t\t\ttools.apply(setting.callback.onMouseDown, [event, setting.treeId, node]);\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\tonZTreeMouseup: function(event, node) {\n\t\t\tvar setting = data.getSetting(event.data.treeId);\n\t\t\tif (tools.apply(setting.callback.beforeMouseUp, [setting.treeId, node], true)) {\n\t\t\t\ttools.apply(setting.callback.onMouseUp, [event, setting.treeId, node]);\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\tonZTreeDblclick: function(event, node) {\n\t\t\tvar setting = data.getSetting(event.data.treeId);\n\t\t\tif (tools.apply(setting.callback.beforeDblClick, [setting.treeId, node], true)) {\n\t\t\t\ttools.apply(setting.callback.onDblClick, [event, setting.treeId, node]);\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\t\tonZTreeContextmenu: function(event, node) {\n\t\t\tvar setting = data.getSetting(event.data.treeId);\n\t\t\tif (tools.apply(setting.callback.beforeRightClick, [setting.treeId, node], true)) {\n\t\t\t\ttools.apply(setting.callback.onRightClick, [event, setting.treeId, node]);\n\t\t\t}\n\t\t\treturn (typeof setting.callback.onRightClick) != \"function\";\n\t\t},\n\t\tonSelectStart: function(e){\n\t\t\tvar n = e.originalEvent.srcElement.nodeName.toLowerCase();\n\t\t\treturn (n === \"input\" || n === \"textarea\" );\n\t\t}\n\t},\n\t//method of tools for zTree\n\ttools = {\n\t\tapply: function(fun, param, defaultValue) {\n\t\t\tif ((typeof fun) == \"function\") {\n\t\t\t\treturn fun.apply(zt, param?param:[]);\n\t\t\t}\n\t\t\treturn defaultValue;\n\t\t},\n\t\tcanAsync: function(setting, node) {\n\t\t\tvar childKey = setting.data.key.children;\n\t\t\treturn (setting.async.enable && node && node.isParent && !(node.zAsync || (node[childKey] && node[childKey].length > 0)));\n\t\t},\n\t\tclone: function (obj){\n\t\t\tif (obj === null) return null;\n\t\t\tvar o = tools.isArray(obj) ? [] : {};\n\t\t\tfor(var i in obj){\n\t\t\t\to[i] = (obj[i] instanceof Date) ? new Date(obj[i].getTime()) : (typeof obj[i] === \"object\" ? tools.clone(obj[i]) : obj[i]);\n\t\t\t}\n\t\t\treturn o;\n\t\t},\n\t\teqs: function(str1, str2) {\n\t\t\treturn str1.toLowerCase() === str2.toLowerCase();\n\t\t},\n\t\tisArray: function(arr) {\n\t\t\treturn Object.prototype.toString.apply(arr) === \"[object Array]\";\n\t\t},\n\t\t$: function(node, exp, setting) {\n\t\t\tif (!!exp && typeof exp != \"string\") {\n\t\t\t\tsetting = exp;\n\t\t\t\texp = \"\";\n\t\t\t}\n\t\t\tif (typeof node == \"string\") {\n\t\t\t\treturn $(node, setting ? setting.treeObj.get(0).ownerDocument : null);\n\t\t\t} else {\n\t\t\t\treturn $(\"#\" + node.tId + exp, setting ? setting.treeObj : null);\n\t\t\t}\n\t\t},\n\t\tgetMDom: function (setting, curDom, targetExpr) {\n\t\t\tif (!curDom) return null;\n\t\t\twhile (curDom && curDom.id !== setting.treeId) {\n\t\t\t\tfor (var i=0, l=targetExpr.length; curDom.tagName && i<l; i++) {\n\t\t\t\t\tif (tools.eqs(curDom.tagName, targetExpr[i].tagName) && curDom.getAttribute(targetExpr[i].attrName) !== null) {\n\t\t\t\t\t\treturn curDom;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tcurDom = curDom.parentNode;\n\t\t\t}\n\t\t\treturn null;\n\t\t},\n\t\tgetNodeMainDom:function(target) {\n\t\t\treturn ($(target).parent(\"li\").get(0) || $(target).parentsUntil(\"li\").parent().get(0));\n\t\t},\n\t\tisChildOrSelf: function(dom, parentId) {\n\t\t\treturn ( $(dom).closest(\"#\" + parentId).length> 0 );\n\t\t},\n\t\tuCanDo: function(setting, e) {\n\t\t\treturn true;\n\t\t}\n\t},\n\t//method of operate ztree dom\n\tview = {\n\t\taddNodes: function(setting, parentNode, index, newNodes, isSilent) {\n\t\t\tif (setting.data.keep.leaf && parentNode && !parentNode.isParent) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (!tools.isArray(newNodes)) {\n\t\t\t\tnewNodes = [newNodes];\n\t\t\t}\n\t\t\tif (setting.data.simpleData.enable) {\n\t\t\t\tnewNodes = data.transformTozTreeFormat(setting, newNodes);\n\t\t\t}\n\t\t\tif (parentNode) {\n\t\t\t\tvar target_switchObj = $$(parentNode, consts.id.SWITCH, setting),\n\t\t\t\ttarget_icoObj = $$(parentNode, consts.id.ICON, setting),\n\t\t\t\ttarget_ulObj = $$(parentNode, consts.id.UL, setting);\n\n\t\t\t\tif (!parentNode.open) {\n\t\t\t\t\tview.replaceSwitchClass(parentNode, target_switchObj, consts.folder.CLOSE);\n\t\t\t\t\tview.replaceIcoClass(parentNode, target_icoObj, consts.folder.CLOSE);\n\t\t\t\t\tparentNode.open = false;\n\t\t\t\t\ttarget_ulObj.css({\n\t\t\t\t\t\t\"display\": \"none\"\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tdata.addNodesData(setting, parentNode, index, newNodes);\n\t\t\t\tview.createNodes(setting, parentNode.level + 1, newNodes, parentNode, index);\n\t\t\t\tif (!isSilent) {\n\t\t\t\t\tview.expandCollapseParentNode(setting, parentNode, true);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tdata.addNodesData(setting, data.getRoot(setting), index, newNodes);\n\t\t\t\tview.createNodes(setting, 0, newNodes, null, index);\n\t\t\t}\n\t\t},\n\t\tappendNodes: function(setting, level, nodes, parentNode, index, initFlag, openFlag) {\n\t\t\tif (!nodes) return [];\n\t\t\tvar html = [],\n\t\t\tchildKey = setting.data.key.children;\n\n\t\t\tvar tmpPNode = (parentNode) ? parentNode: data.getRoot(setting),\n\t\t\t\ttmpPChild = tmpPNode[childKey],\n\t\t\t\tisFirstNode, isLastNode;\n\n\t\t\tif (!tmpPChild || index >= tmpPChild.length) {\n\t\t\t\tindex = -1;\n\t\t\t}\n\n\t\t\tfor (var i = 0, l = nodes.length; i < l; i++) {\n\t\t\t\tvar node = nodes[i];\n\t\t\t\tif (initFlag) {\n\t\t\t\t\tisFirstNode = ((index===0 || tmpPChild.length == nodes.length) && (i == 0));\n\t\t\t\t\tisLastNode = (index < 0 && i == (nodes.length - 1));\n\t\t\t\t\tdata.initNode(setting, level, node, parentNode, isFirstNode, isLastNode, openFlag);\n\t\t\t\t\tdata.addNodeCache(setting, node);\n\t\t\t\t}\n\n\t\t\t\tvar childHtml = [];\n\t\t\t\tif (node[childKey] && node[childKey].length > 0) {\n\t\t\t\t\t//make child html first, because checkType\n\t\t\t\t\tchildHtml = view.appendNodes(setting, level + 1, node[childKey], node, -1, initFlag, openFlag && node.open);\n\t\t\t\t}\n\t\t\t\tif (openFlag) {\n\n\t\t\t\t\tview.makeDOMNodeMainBefore(html, setting, node);\n\t\t\t\t\tview.makeDOMNodeLine(html, setting, node);\n\t\t\t\t\tdata.getBeforeA(setting, node, html);\n\t\t\t\t\tview.makeDOMNodeNameBefore(html, setting, node);\n\t\t\t\t\tdata.getInnerBeforeA(setting, node, html);\n\t\t\t\t\tview.makeDOMNodeIcon(html, setting, node);\n\t\t\t\t\tdata.getInnerAfterA(setting, node, html);\n\t\t\t\t\tview.makeDOMNodeNameAfter(html, setting, node);\n\t\t\t\t\tdata.getAfterA(setting, node, html);\n\t\t\t\t\tif (node.isParent && node.open) {\n\t\t\t\t\t\tview.makeUlHtml(setting, node, html, childHtml.join(''));\n\t\t\t\t\t}\n\t\t\t\t\tview.makeDOMNodeMainAfter(html, setting, node);\n\t\t\t\t\tdata.addCreatedNode(setting, node);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn html;\n\t\t},\n\t\tappendParentULDom: function(setting, node) {\n\t\t\tvar html = [],\n\t\t\tnObj = $$(node, setting);\n\t\t\tif (!nObj.get(0) && !!node.parentTId) {\n\t\t\t\tview.appendParentULDom(setting, node.getParentNode());\n\t\t\t\tnObj = $$(node, setting);\n\t\t\t}\n\t\t\tvar ulObj = $$(node, consts.id.UL, setting);\n\t\t\tif (ulObj.get(0)) {\n\t\t\t\tulObj.remove();\n\t\t\t}\n\t\t\tvar childKey = setting.data.key.children,\n\t\t\tchildHtml = view.appendNodes(setting, node.level+1, node[childKey], node, -1, false, true);\n\t\t\tview.makeUlHtml(setting, node, html, childHtml.join(''));\n\t\t\tnObj.append(html.join(''));\n\t\t},\n\t\tasyncNode: function(setting, node, isSilent, callback) {\n\t\t\tvar i, l;\n\t\t\tif (node && !node.isParent) {\n\t\t\t\ttools.apply(callback);\n\t\t\t\treturn false;\n\t\t\t} else if (node && node.isAjaxing) {\n\t\t\t\treturn false;\n\t\t\t} else if (tools.apply(setting.callback.beforeAsync, [setting.treeId, node], true) == false) {\n\t\t\t\ttools.apply(callback);\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tif (node) {\n\t\t\t\tnode.isAjaxing = true;\n\t\t\t\tvar icoObj = $$(node, consts.id.ICON, setting);\n\t\t\t\ticoObj.attr({\"style\":\"\", \"class\":consts.className.BUTTON + \" \" + consts.className.ICO_LOADING});\n\t\t\t}\n\n\t\t\tvar tmpParam = {};\n\t\t\tfor (i = 0, l = setting.async.autoParam.length; node && i < l; i++) {\n\t\t\t\tvar pKey = setting.async.autoParam[i].split(\"=\"), spKey = pKey;\n\t\t\t\tif (pKey.length>1) {\n\t\t\t\t\tspKey = pKey[1];\n\t\t\t\t\tpKey = pKey[0];\n\t\t\t\t}\n\t\t\t\ttmpParam[spKey] = node[pKey];\n\t\t\t}\n\t\t\tif (tools.isArray(setting.async.otherParam)) {\n\t\t\t\tfor (i = 0, l = setting.async.otherParam.length; i < l; i += 2) {\n\t\t\t\t\ttmpParam[setting.async.otherParam[i]] = setting.async.otherParam[i + 1];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor (var p in setting.async.otherParam) {\n\t\t\t\t\ttmpParam[p] = setting.async.otherParam[p];\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tvar _tmpV = data.getRoot(setting)._ver;\n\t\t\t$.ajax({\n\t\t\t\tcontentType: setting.async.contentType,\n                cache: false,\n\t\t\t\ttype: setting.async.type,\n\t\t\t\turl: tools.apply(setting.async.url, [setting.treeId, node], setting.async.url),\n\t\t\t\tdata: tmpParam,\n\t\t\t\tdataType: setting.async.dataType,\n\t\t\t\tsuccess: function(msg) {\n\t\t\t\t\tif (_tmpV != data.getRoot(setting)._ver) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tvar newNodes = [];\n\t\t\t\t\ttry {\n\t\t\t\t\t\tif (!msg || msg.length == 0) {\n\t\t\t\t\t\t\tnewNodes = [];\n\t\t\t\t\t\t} else if (typeof msg == \"string\") {\n\t\t\t\t\t\t\tnewNodes = eval(\"(\" + msg + \")\");\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tnewNodes = msg;\n\t\t\t\t\t\t}\n\t\t\t\t\t} catch(err) {\n\t\t\t\t\t\tnewNodes = msg;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (node) {\n\t\t\t\t\t\tnode.isAjaxing = null;\n\t\t\t\t\t\tnode.zAsync = true;\n\t\t\t\t\t}\n\t\t\t\t\tview.setNodeLineIcos(setting, node);\n\t\t\t\t\tif (newNodes && newNodes !== \"\") {\n\t\t\t\t\t\tnewNodes = tools.apply(setting.async.dataFilter, [setting.treeId, node, newNodes], newNodes);\n\t\t\t\t\t\tview.addNodes(setting, node, -1, !!newNodes ? tools.clone(newNodes) : [], !!isSilent);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tview.addNodes(setting, node, -1, [], !!isSilent);\n\t\t\t\t\t}\n\t\t\t\t\tsetting.treeObj.trigger(consts.event.ASYNC_SUCCESS, [setting.treeId, node, msg]);\n\t\t\t\t\ttools.apply(callback);\n\t\t\t\t},\n\t\t\t\terror: function(XMLHttpRequest, textStatus, errorThrown) {\n\t\t\t\t\tif (_tmpV != data.getRoot(setting)._ver) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tif (node) node.isAjaxing = null;\n\t\t\t\t\tview.setNodeLineIcos(setting, node);\n\t\t\t\t\tsetting.treeObj.trigger(consts.event.ASYNC_ERROR, [setting.treeId, node, XMLHttpRequest, textStatus, errorThrown]);\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn true;\n\t\t},\n\t\tcancelPreSelectedNode: function (setting, node, excludeNode) {\n\t\t\tvar list = data.getRoot(setting).curSelectedList,\n\t\t\t\ti, n;\n\t\t\tfor (i=list.length-1; i>=0; i--) {\n\t\t\t\tn = list[i];\n\t\t\t\tif (node === n || (!node && (!excludeNode || excludeNode !== n))) {\n\t\t\t\t\t$$(n, consts.id.A, setting).removeClass(consts.node.CURSELECTED);\n\t\t\t\t\tif (node) {\n\t\t\t\t\t\tdata.removeSelectedNode(setting, node);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlist.splice(i, 1);\n\t\t\t\t\t\tsetting.treeObj.trigger(consts.event.UNSELECTED, [setting.treeId, n]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tcreateNodeCallback: function(setting) {\n\t\t\tif (!!setting.callback.onNodeCreated || !!setting.view.addDiyDom) {\n\t\t\t\tvar root = data.getRoot(setting);\n\t\t\t\twhile (root.createdNodes.length>0) {\n\t\t\t\t\tvar node = root.createdNodes.shift();\n\t\t\t\t\ttools.apply(setting.view.addDiyDom, [setting.treeId, node]);\n\t\t\t\t\tif (!!setting.callback.onNodeCreated) {\n\t\t\t\t\t\tsetting.treeObj.trigger(consts.event.NODECREATED, [setting.treeId, node]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tcreateNodes: function(setting, level, nodes, parentNode, index) {\n\t\t\tif (!nodes || nodes.length == 0) return;\n\t\t\tvar root = data.getRoot(setting),\n\t\t\tchildKey = setting.data.key.children,\n\t\t\topenFlag = !parentNode || parentNode.open || !!$$(parentNode[childKey][0], setting).get(0);\n\t\t\troot.createdNodes = [];\n\t\t\tvar zTreeHtml = view.appendNodes(setting, level, nodes, parentNode, index, true, openFlag),\n\t\t\t\tparentObj, nextObj;\n\n\t\t\tif (!parentNode) {\n\t\t\t\tparentObj = setting.treeObj;\n\t\t\t\t//setting.treeObj.append(zTreeHtml.join(''));\n\t\t\t} else {\n\t\t\t\tvar ulObj = $$(parentNode, consts.id.UL, setting);\n\t\t\t\tif (ulObj.get(0)) {\n\t\t\t\t\tparentObj = ulObj;\n\t\t\t\t\t//ulObj.append(zTreeHtml.join(''));\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (parentObj) {\n\t\t\t\tif (index >= 0) {\n\t\t\t\t\tnextObj = parentObj.children()[index];\n\t\t\t\t}\n\t\t\t\tif (index >=0 && nextObj) {\n\t\t\t\t\t$(nextObj).before(zTreeHtml.join(''));\n\t\t\t\t} else {\n\t\t\t\t\tparentObj.append(zTreeHtml.join(''));\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tview.createNodeCallback(setting);\n\t\t},\n\t\tdestroy: function(setting) {\n\t\t\tif (!setting) return;\n\t\t\tdata.initCache(setting);\n\t\t\tdata.initRoot(setting);\n\t\t\tevent.unbindTree(setting);\n\t\t\tevent.unbindEvent(setting);\n\t\t\tsetting.treeObj.empty();\n\t\t\tdelete settings[setting.treeId];\n\t\t},\n\t\texpandCollapseNode: function(setting, node, expandFlag, animateFlag, callback) {\n\t\t\tvar root = data.getRoot(setting),\n\t\t\tchildKey = setting.data.key.children;\n\t\t\tvar tmpCb, _callback;\n\t\t\tif (!node) {\n\t\t\t\ttools.apply(callback, []);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (root.expandTriggerFlag) {\n\t\t\t\t_callback = callback;\n\t\t\t\ttmpCb = function(){\n\t\t\t\t\tif (_callback) _callback();\n\t\t\t\t\tif (node.open) {\n\t\t\t\t\t\tsetting.treeObj.trigger(consts.event.EXPAND, [setting.treeId, node]);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsetting.treeObj.trigger(consts.event.COLLAPSE, [setting.treeId, node]);\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t\tcallback = tmpCb;\n\t\t\t\troot.expandTriggerFlag = false;\n\t\t\t}\n\t\t\tif (!node.open && node.isParent && ((!$$(node, consts.id.UL, setting).get(0)) || (node[childKey] && node[childKey].length>0 && !$$(node[childKey][0], setting).get(0)))) {\n\t\t\t\tview.appendParentULDom(setting, node);\n\t\t\t\tview.createNodeCallback(setting);\n\t\t\t}\n\t\t\tif (node.open == expandFlag) {\n\t\t\t\ttools.apply(callback, []);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tvar ulObj = $$(node, consts.id.UL, setting),\n\t\t\tswitchObj = $$(node, consts.id.SWITCH, setting),\n\t\t\ticoObj = $$(node, consts.id.ICON, setting);\n\n\t\t\tif (node.isParent) {\n\t\t\t\tnode.open = !node.open;\n\t\t\t\tif (node.iconOpen && node.iconClose) {\n\t\t\t\t\ticoObj.attr(\"style\", view.makeNodeIcoStyle(setting, node));\n\t\t\t\t}\n\n\t\t\t\tif (node.open) {\n\t\t\t\t\tview.replaceSwitchClass(node, switchObj, consts.folder.OPEN);\n\t\t\t\t\tview.replaceIcoClass(node, icoObj, consts.folder.OPEN);\n\t\t\t\t\tif (animateFlag == false || setting.view.expandSpeed == \"\") {\n\t\t\t\t\t\tulObj.show();\n\t\t\t\t\t\ttools.apply(callback, []);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (node[childKey] && node[childKey].length > 0) {\n\t\t\t\t\t\t\tulObj.slideDown(setting.view.expandSpeed, callback);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tulObj.show();\n\t\t\t\t\t\t\ttools.apply(callback, []);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tview.replaceSwitchClass(node, switchObj, consts.folder.CLOSE);\n\t\t\t\t\tview.replaceIcoClass(node, icoObj, consts.folder.CLOSE);\n\t\t\t\t\tif (animateFlag == false || setting.view.expandSpeed == \"\" || !(node[childKey] && node[childKey].length > 0)) {\n\t\t\t\t\t\tulObj.hide();\n\t\t\t\t\t\ttools.apply(callback, []);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tulObj.slideUp(setting.view.expandSpeed, callback);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\ttools.apply(callback, []);\n\t\t\t}\n\t\t},\n\t\texpandCollapseParentNode: function(setting, node, expandFlag, animateFlag, callback) {\n\t\t\tif (!node) return;\n\t\t\tif (!node.parentTId) {\n\t\t\t\tview.expandCollapseNode(setting, node, expandFlag, animateFlag, callback);\n\t\t\t\treturn;\n\t\t\t} else {\n\t\t\t\tview.expandCollapseNode(setting, node, expandFlag, animateFlag);\n\t\t\t}\n\t\t\tif (node.parentTId) {\n\t\t\t\tview.expandCollapseParentNode(setting, node.getParentNode(), expandFlag, animateFlag, callback);\n\t\t\t}\n\t\t},\n\t\texpandCollapseSonNode: function(setting, node, expandFlag, animateFlag, callback) {\n\t\t\tvar root = data.getRoot(setting),\n\t\t\tchildKey = setting.data.key.children,\n\t\t\ttreeNodes = (node) ? node[childKey]: root[childKey],\n\t\t\tselfAnimateSign = (node) ? false : animateFlag,\n\t\t\texpandTriggerFlag = data.getRoot(setting).expandTriggerFlag;\n\t\t\tdata.getRoot(setting).expandTriggerFlag = false;\n\t\t\tif (treeNodes) {\n\t\t\t\tfor (var i = 0, l = treeNodes.length; i < l; i++) {\n\t\t\t\t\tif (treeNodes[i]) view.expandCollapseSonNode(setting, treeNodes[i], expandFlag, selfAnimateSign);\n\t\t\t\t}\n\t\t\t}\n\t\t\tdata.getRoot(setting).expandTriggerFlag = expandTriggerFlag;\n\t\t\tview.expandCollapseNode(setting, node, expandFlag, animateFlag, callback );\n\t\t},\n\t\tisSelectedNode: function (setting, node) {\n\t\t\tif (!node) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tvar list = data.getRoot(setting).curSelectedList,\n\t\t\t\ti;\n\t\t\tfor (i=list.length-1; i>=0; i--) {\n\t\t\t\tif (node === list[i]) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t\tmakeDOMNodeIcon: function(html, setting, node) {\n\t\t\tvar nameStr = data.getNodeName(setting, node),\n\t\t\tname = setting.view.nameIsHTML ? nameStr : nameStr.replace(/&/g,'&amp;').replace(/</g,'&lt;').replace(/>/g,'&gt;');\n\t\t\thtml.push(\"<span id='\", node.tId, consts.id.ICON,\n\t\t\t\t\"' title='' treeNode\", consts.id.ICON,\" class='\", view.makeNodeIcoClass(setting, node),\n\t\t\t\t\"' style='\", view.makeNodeIcoStyle(setting, node), \"'></span><span id='\", node.tId, consts.id.SPAN,\n\t\t\t\t\"' class='\", consts.className.NAME,\n\t\t\t\t\"'>\",name,\"</span>\");\n\t\t},\n\t\tmakeDOMNodeLine: function(html, setting, node) {\n\t\t\thtml.push(\"<span id='\", node.tId, consts.id.SWITCH,\t\"' title='' class='\", view.makeNodeLineClass(setting, node), \"' treeNode\", consts.id.SWITCH,\"></span>\");\n\t\t},\n\t\tmakeDOMNodeMainAfter: function(html, setting, node) {\n\t\t\thtml.push(\"</li>\");\n\t\t},\n\t\tmakeDOMNodeMainBefore: function(html, setting, node) {\n\t\t\thtml.push(\"<li id='\", node.tId, \"' class='\", consts.className.LEVEL, node.level,\"' tabindex='0' hidefocus='true' treenode>\");\n\t\t},\n\t\tmakeDOMNodeNameAfter: function(html, setting, node) {\n\t\t\thtml.push(\"</a>\");\n\t\t},\n\t\tmakeDOMNodeNameBefore: function(html, setting, node) {\n\t\t\tvar title = data.getNodeTitle(setting, node),\n\t\t\turl = view.makeNodeUrl(setting, node),\n\t\t\tfontcss = view.makeNodeFontCss(setting, node),\n\t\t\tfontStyle = [];\n\t\t\tfor (var f in fontcss) {\n\t\t\t\tfontStyle.push(f, \":\", fontcss[f], \";\");\n\t\t\t}\n\t\t\thtml.push(\"<a id='\", node.tId, consts.id.A, \"' class='\", consts.className.LEVEL, node.level,\"' treeNode\", consts.id.A,\" onclick=\\\"\", (node.click || ''),\n\t\t\t\t\"\\\" \", ((url != null && url.length > 0) ? \"href='\" + url + \"'\" : \"\"), \" target='\",view.makeNodeTarget(node),\"' style='\", fontStyle.join(''),\n\t\t\t\t\"'\");\n\t\t\tif (tools.apply(setting.view.showTitle, [setting.treeId, node], setting.view.showTitle) && title) {html.push(\"title='\", title.replace(/'/g,\"&#39;\").replace(/</g,'&lt;').replace(/>/g,'&gt;'),\"'\");}\n\t\t\thtml.push(\">\");\n\t\t},\n\t\tmakeNodeFontCss: function(setting, node) {\n\t\t\tvar fontCss = tools.apply(setting.view.fontCss, [setting.treeId, node], setting.view.fontCss);\n\t\t\treturn (fontCss && ((typeof fontCss) != \"function\")) ? fontCss : {};\n\t\t},\n\t\tmakeNodeIcoClass: function(setting, node) {\n\t\t\tvar icoCss = [\"ico\"];\n\t\t\tif (!node.isAjaxing) {\n\t\t\t\ticoCss[0] = (node.iconSkin ? node.iconSkin + \"_\" : \"\") + icoCss[0];\n\t\t\t\tif (node.isParent) {\n\t\t\t\t\ticoCss.push(node.open ? consts.folder.OPEN : consts.folder.CLOSE);\n\t\t\t\t} else {\n\t\t\t\t\ticoCss.push(consts.folder.DOCU);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn consts.className.BUTTON + \" \" + icoCss.join('_');\n\t\t},\n\t\tmakeNodeIcoStyle: function(setting, node) {\n\t\t\tvar icoStyle = [];\n\t\t\tif (!node.isAjaxing) {\n\t\t\t\tvar icon = (node.isParent && node.iconOpen && node.iconClose) ? (node.open ? node.iconOpen : node.iconClose) : node[setting.data.key.icon];\n\t\t\t\tif (icon) icoStyle.push(\"background:url(\", icon, \") 0 0 no-repeat;\");\n\t\t\t\tif (setting.view.showIcon == false || !tools.apply(setting.view.showIcon, [setting.treeId, node], true)) {\n\t\t\t\t\ticoStyle.push(\"width:0px;height:0px;\");\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn icoStyle.join('');\n\t\t},\n\t\tmakeNodeLineClass: function(setting, node) {\n\t\t\tvar lineClass = [];\n\t\t\tif (setting.view.showLine) {\n\t\t\t\tif (node.level == 0 && node.isFirstNode && node.isLastNode) {\n\t\t\t\t\tlineClass.push(consts.line.ROOT);\n\t\t\t\t} else if (node.level == 0 && node.isFirstNode) {\n\t\t\t\t\tlineClass.push(consts.line.ROOTS);\n\t\t\t\t} else if (node.isLastNode) {\n\t\t\t\t\tlineClass.push(consts.line.BOTTOM);\n\t\t\t\t} else {\n\t\t\t\t\tlineClass.push(consts.line.CENTER);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tlineClass.push(consts.line.NOLINE);\n\t\t\t}\n\t\t\tif (node.isParent) {\n\t\t\t\tlineClass.push(node.open ? consts.folder.OPEN : consts.folder.CLOSE);\n\t\t\t} else {\n\t\t\t\tlineClass.push(consts.folder.DOCU);\n\t\t\t}\n\t\t\treturn view.makeNodeLineClassEx(node) + lineClass.join('_');\n\t\t},\n\t\tmakeNodeLineClassEx: function(node) {\n\t\t\treturn consts.className.BUTTON + \" \" + consts.className.LEVEL + node.level + \" \" + consts.className.SWITCH + \" \";\n\t\t},\n\t\tmakeNodeTarget: function(node) {\n\t\t\treturn (node.target || \"_blank\");\n\t\t},\n\t\tmakeNodeUrl: function(setting, node) {\n\t\t\tvar urlKey = setting.data.key.url;\n\t\t\treturn node[urlKey] ? node[urlKey] : null;\n\t\t},\n\t\tmakeUlHtml: function(setting, node, html, content) {\n\t\t\thtml.push(\"<ul id='\", node.tId, consts.id.UL, \"' class='\", consts.className.LEVEL, node.level, \" \", view.makeUlLineClass(setting, node), \"' style='display:\", (node.open ? \"block\": \"none\"),\"'>\");\n\t\t\thtml.push(content);\n\t\t\thtml.push(\"</ul>\");\n\t\t},\n\t\tmakeUlLineClass: function(setting, node) {\n\t\t\treturn ((setting.view.showLine && !node.isLastNode) ? consts.line.LINE : \"\");\n\t\t},\n\t\tremoveChildNodes: function(setting, node) {\n\t\t\tif (!node) return;\n\t\t\tvar childKey = setting.data.key.children,\n\t\t\tnodes = node[childKey];\n\t\t\tif (!nodes) return;\n\n\t\t\tfor (var i = 0, l = nodes.length; i < l; i++) {\n\t\t\t\tdata.removeNodeCache(setting, nodes[i]);\n\t\t\t}\n\t\t\tdata.removeSelectedNode(setting);\n\t\t\tdelete node[childKey];\n\n\t\t\tif (!setting.data.keep.parent) {\n\t\t\t\tnode.isParent = false;\n\t\t\t\tnode.open = false;\n\t\t\t\tvar tmp_switchObj = $$(node, consts.id.SWITCH, setting),\n\t\t\t\ttmp_icoObj = $$(node, consts.id.ICON, setting);\n\t\t\t\tview.replaceSwitchClass(node, tmp_switchObj, consts.folder.DOCU);\n\t\t\t\tview.replaceIcoClass(node, tmp_icoObj, consts.folder.DOCU);\n\t\t\t\t$$(node, consts.id.UL, setting).remove();\n\t\t\t} else {\n\t\t\t\t$$(node, consts.id.UL, setting).empty();\n\t\t\t}\n\t\t},\n\t\tscrollIntoView: function(dom) {\n\t\t\tif (!dom) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (dom.scrollIntoViewIfNeeded) {\n\t\t\t\tdom.scrollIntoViewIfNeeded();\n\t\t\t} else if (dom.scrollIntoView) {\n\t\t\t\tdom.scrollIntoView(false);\n\t\t\t} else {\n\t\t\t\ttry{dom.focus().blur();}catch(e){}\n\t\t\t}\n\t\t},\n\t\tsetFirstNode: function(setting, parentNode) {\n\t\t\tvar childKey = setting.data.key.children, childLength = parentNode[childKey].length;\n\t\t\tif ( childLength > 0) {\n\t\t\t\tparentNode[childKey][0].isFirstNode = true;\n\t\t\t}\n\t\t},\n\t\tsetLastNode: function(setting, parentNode) {\n\t\t\tvar childKey = setting.data.key.children, childLength = parentNode[childKey].length;\n\t\t\tif ( childLength > 0) {\n\t\t\t\tparentNode[childKey][childLength - 1].isLastNode = true;\n\t\t\t}\n\t\t},\n\t\tremoveNode: function(setting, node) {\n\t\t\tvar root = data.getRoot(setting),\n\t\t\tchildKey = setting.data.key.children,\n\t\t\tparentNode = (node.parentTId) ? node.getParentNode() : root;\n\n\t\t\tnode.isFirstNode = false;\n\t\t\tnode.isLastNode = false;\n\t\t\tnode.getPreNode = function() {return null;};\n\t\t\tnode.getNextNode = function() {return null;};\n\n\t\t\tif (!data.getNodeCache(setting, node.tId)) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t$$(node, setting).remove();\n\t\t\tdata.removeNodeCache(setting, node);\n\t\t\tdata.removeSelectedNode(setting, node);\n\n\t\t\tfor (var i = 0, l = parentNode[childKey].length; i < l; i++) {\n\t\t\t\tif (parentNode[childKey][i].tId == node.tId) {\n\t\t\t\t\tparentNode[childKey].splice(i, 1);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tview.setFirstNode(setting, parentNode);\n\t\t\tview.setLastNode(setting, parentNode);\n\n\t\t\tvar tmp_ulObj,tmp_switchObj,tmp_icoObj,\n\t\t\tchildLength = parentNode[childKey].length;\n\n\t\t\t//repair nodes old parent\n\t\t\tif (!setting.data.keep.parent && childLength == 0) {\n\t\t\t\t//old parentNode has no child nodes\n\t\t\t\tparentNode.isParent = false;\n\t\t\t\tparentNode.open = false;\n\t\t\t\ttmp_ulObj = $$(parentNode, consts.id.UL, setting);\n\t\t\t\ttmp_switchObj = $$(parentNode, consts.id.SWITCH, setting);\n\t\t\t\ttmp_icoObj = $$(parentNode, consts.id.ICON, setting);\n\t\t\t\tview.replaceSwitchClass(parentNode, tmp_switchObj, consts.folder.DOCU);\n\t\t\t\tview.replaceIcoClass(parentNode, tmp_icoObj, consts.folder.DOCU);\n\t\t\t\ttmp_ulObj.css(\"display\", \"none\");\n\n\t\t\t} else if (setting.view.showLine && childLength > 0) {\n\t\t\t\t//old parentNode has child nodes\n\t\t\t\tvar newLast = parentNode[childKey][childLength - 1];\n\t\t\t\ttmp_ulObj = $$(newLast, consts.id.UL, setting);\n\t\t\t\ttmp_switchObj = $$(newLast, consts.id.SWITCH, setting);\n\t\t\t\ttmp_icoObj = $$(newLast, consts.id.ICON, setting);\n\t\t\t\tif (parentNode == root) {\n\t\t\t\t\tif (parentNode[childKey].length == 1) {\n\t\t\t\t\t\t//node was root, and ztree has only one root after move node\n\t\t\t\t\t\tview.replaceSwitchClass(newLast, tmp_switchObj, consts.line.ROOT);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar tmp_first_switchObj = $$(parentNode[childKey][0], consts.id.SWITCH, setting);\n\t\t\t\t\t\tview.replaceSwitchClass(parentNode[childKey][0], tmp_first_switchObj, consts.line.ROOTS);\n\t\t\t\t\t\tview.replaceSwitchClass(newLast, tmp_switchObj, consts.line.BOTTOM);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tview.replaceSwitchClass(newLast, tmp_switchObj, consts.line.BOTTOM);\n\t\t\t\t}\n\t\t\t\ttmp_ulObj.removeClass(consts.line.LINE);\n\t\t\t}\n\t\t},\n\t\treplaceIcoClass: function(node, obj, newName) {\n\t\t\tif (!obj || node.isAjaxing) return;\n\t\t\tvar tmpName = obj.attr(\"class\");\n\t\t\tif (tmpName == undefined) return;\n\t\t\tvar tmpList = tmpName.split(\"_\");\n\t\t\tswitch (newName) {\n\t\t\t\tcase consts.folder.OPEN:\n\t\t\t\tcase consts.folder.CLOSE:\n\t\t\t\tcase consts.folder.DOCU:\n\t\t\t\t\ttmpList[tmpList.length-1] = newName;\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tobj.attr(\"class\", tmpList.join(\"_\"));\n\t\t},\n\t\treplaceSwitchClass: function(node, obj, newName) {\n\t\t\tif (!obj) return;\n\t\t\tvar tmpName = obj.attr(\"class\");\n\t\t\tif (tmpName == undefined) return;\n\t\t\tvar tmpList = tmpName.split(\"_\");\n\t\t\tswitch (newName) {\n\t\t\t\tcase consts.line.ROOT:\n\t\t\t\tcase consts.line.ROOTS:\n\t\t\t\tcase consts.line.CENTER:\n\t\t\t\tcase consts.line.BOTTOM:\n\t\t\t\tcase consts.line.NOLINE:\n\t\t\t\t\ttmpList[0] = view.makeNodeLineClassEx(node) + newName;\n\t\t\t\t\tbreak;\n\t\t\t\tcase consts.folder.OPEN:\n\t\t\t\tcase consts.folder.CLOSE:\n\t\t\t\tcase consts.folder.DOCU:\n\t\t\t\t\ttmpList[1] = newName;\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t\tobj.attr(\"class\", tmpList.join(\"_\"));\n\t\t\tif (newName !== consts.folder.DOCU) {\n\t\t\t\tobj.removeAttr(\"disabled\");\n\t\t\t} else {\n\t\t\t\tobj.attr(\"disabled\", \"disabled\");\n\t\t\t}\n\t\t},\n\t\tselectNode: function(setting, node, addFlag) {\n\t\t\tif (!addFlag) {\n\t\t\t\tview.cancelPreSelectedNode(setting, null, node);\n\t\t\t}\n\t\t\t$$(node, consts.id.A, setting).addClass(consts.node.CURSELECTED);\n\t\t\tdata.addSelectedNode(setting, node);\n\t\t\tsetting.treeObj.trigger(consts.event.SELECTED, [setting.treeId, node]);\n\t\t},\n\t\tsetNodeFontCss: function(setting, treeNode) {\n\t\t\tvar aObj = $$(treeNode, consts.id.A, setting),\n\t\t\tfontCss = view.makeNodeFontCss(setting, treeNode);\n\t\t\tif (fontCss) {\n\t\t\t\taObj.css(fontCss);\n\t\t\t}\n\t\t},\n\t\tsetNodeLineIcos: function(setting, node) {\n\t\t\tif (!node) return;\n\t\t\tvar switchObj = $$(node, consts.id.SWITCH, setting),\n\t\t\tulObj = $$(node, consts.id.UL, setting),\n\t\t\ticoObj = $$(node, consts.id.ICON, setting),\n\t\t\tulLine = view.makeUlLineClass(setting, node);\n\t\t\tif (ulLine.length==0) {\n\t\t\t\tulObj.removeClass(consts.line.LINE);\n\t\t\t} else {\n\t\t\t\tulObj.addClass(ulLine);\n\t\t\t}\n\t\t\tswitchObj.attr(\"class\", view.makeNodeLineClass(setting, node));\n\t\t\tif (node.isParent) {\n\t\t\t\tswitchObj.removeAttr(\"disabled\");\n\t\t\t} else {\n\t\t\t\tswitchObj.attr(\"disabled\", \"disabled\");\n\t\t\t}\n\t\t\ticoObj.removeAttr(\"style\");\n\t\t\ticoObj.attr(\"style\", view.makeNodeIcoStyle(setting, node));\n\t\t\ticoObj.attr(\"class\", view.makeNodeIcoClass(setting, node));\n\t\t},\n\t\tsetNodeName: function(setting, node) {\n\t\t\tvar title = data.getNodeTitle(setting, node),\n\t\t\tnObj = $$(node, consts.id.SPAN, setting);\n\t\t\tnObj.empty();\n\t\t\tif (setting.view.nameIsHTML) {\n\t\t\t\tnObj.html(data.getNodeName(setting, node));\n\t\t\t} else {\n\t\t\t\tnObj.text(data.getNodeName(setting, node));\n\t\t\t}\n\t\t\tif (tools.apply(setting.view.showTitle, [setting.treeId, node], setting.view.showTitle)) {\n\t\t\t\tvar aObj = $$(node, consts.id.A, setting);\n\t\t\t\taObj.attr(\"title\", !title ? \"\" : title);\n\t\t\t}\n\t\t},\n\t\tsetNodeTarget: function(setting, node) {\n\t\t\tvar aObj = $$(node, consts.id.A, setting);\n\t\t\taObj.attr(\"target\", view.makeNodeTarget(node));\n\t\t},\n\t\tsetNodeUrl: function(setting, node) {\n\t\t\tvar aObj = $$(node, consts.id.A, setting),\n\t\t\turl = view.makeNodeUrl(setting, node);\n\t\t\tif (url == null || url.length == 0) {\n\t\t\t\taObj.removeAttr(\"href\");\n\t\t\t} else {\n\t\t\t\taObj.attr(\"href\", url);\n\t\t\t}\n\t\t},\n\t\tswitchNode: function(setting, node) {\n\t\t\tif (node.open || !tools.canAsync(setting, node)) {\n\t\t\t\tview.expandCollapseNode(setting, node, !node.open);\n\t\t\t} else if (setting.async.enable) {\n\t\t\t\tif (!view.asyncNode(setting, node)) {\n\t\t\t\t\tview.expandCollapseNode(setting, node, !node.open);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t} else if (node) {\n\t\t\t\tview.expandCollapseNode(setting, node, !node.open);\n\t\t\t}\n\t\t}\n\t};\n\t// zTree defind\n\t$.fn.zTree = {\n\t\tconsts : _consts,\n\t\t_z : {\n\t\t\ttools: tools,\n\t\t\tview: view,\n\t\t\tevent: event,\n\t\t\tdata: data\n\t\t},\n\t\tgetZTreeObj: function(treeId) {\n\t\t\tvar o = data.getZTreeTools(treeId);\n\t\t\treturn o ? o : null;\n\t\t},\n\t\tdestroy: function(treeId) {\n\t\t\tif (!!treeId && treeId.length > 0) {\n\t\t\t\tview.destroy(data.getSetting(treeId));\n\t\t\t} else {\n\t\t\t\tfor(var s in settings) {\n\t\t\t\t\tview.destroy(settings[s]);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tinit: function(obj, zSetting, zNodes) {\n\t\t\tvar setting = tools.clone(_setting);\n\t\t\t$.extend(true, setting, zSetting);\n\t\t\tsetting.treeId = obj.attr(\"id\");\n\t\t\tsetting.treeObj = obj;\n\t\t\tsetting.treeObj.empty();\n\t\t\tsettings[setting.treeId] = setting;\n\t\t\t//For some older browser,(e.g., ie6)\n\t\t\tif(typeof document.body.style.maxHeight === \"undefined\") {\n\t\t\t\tsetting.view.expandSpeed = \"\";\n\t\t\t}\n\t\t\tdata.initRoot(setting);\n\t\t\tvar root = data.getRoot(setting),\n\t\t\tchildKey = setting.data.key.children;\n\t\t\tzNodes = zNodes ? tools.clone(tools.isArray(zNodes)? zNodes : [zNodes]) : [];\n\t\t\tif (setting.data.simpleData.enable) {\n\t\t\t\troot[childKey] = data.transformTozTreeFormat(setting, zNodes);\n\t\t\t} else {\n\t\t\t\troot[childKey] = zNodes;\n\t\t\t}\n\n\t\t\tdata.initCache(setting);\n\t\t\tevent.unbindTree(setting);\n\t\t\tevent.bindTree(setting);\n\t\t\tevent.unbindEvent(setting);\n\t\t\tevent.bindEvent(setting);\n\n\t\t\tvar zTreeTools = {\n\t\t\t\tsetting : setting,\n\t\t\t\taddNodes : function(parentNode, index, newNodes, isSilent) {\n\t\t\t\t\tif (!parentNode) parentNode = null;\n\t\t\t\t\tif (parentNode && !parentNode.isParent && setting.data.keep.leaf) return null;\n\n\t\t\t\t\tvar i = parseInt(index, 10);\n\t\t\t\t\tif (isNaN(i)) {\n\t\t\t\t\t\tisSilent = !!newNodes;\n\t\t\t\t\t\tnewNodes = index;\n\t\t\t\t\t\tindex = -1;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tindex = i;\n\t\t\t\t\t}\n\t\t\t\t\tif (!newNodes) return null;\n\n\n\t\t\t\t\tvar xNewNodes = tools.clone(tools.isArray(newNodes)? newNodes: [newNodes]);\n\t\t\t\t\tfunction addCallback() {\n\t\t\t\t\t\tview.addNodes(setting, parentNode, index, xNewNodes, (isSilent==true));\n\t\t\t\t\t}\n\n\t\t\t\t\tif (tools.canAsync(setting, parentNode)) {\n\t\t\t\t\t\tview.asyncNode(setting, parentNode, isSilent, addCallback);\n\t\t\t\t\t} else {\n\t\t\t\t\t\taddCallback();\n\t\t\t\t\t}\n\t\t\t\t\treturn xNewNodes;\n\t\t\t\t},\n\t\t\t\tcancelSelectedNode : function(node) {\n\t\t\t\t\tview.cancelPreSelectedNode(setting, node);\n\t\t\t\t},\n\t\t\t\tdestroy : function() {\n\t\t\t\t\tview.destroy(setting);\n\t\t\t\t},\n\t\t\t\texpandAll : function(expandFlag) {\n\t\t\t\t\texpandFlag = !!expandFlag;\n\t\t\t\t\tview.expandCollapseSonNode(setting, null, expandFlag, true);\n\t\t\t\t\treturn expandFlag;\n\t\t\t\t},\n\t\t\t\texpandNode : function(node, expandFlag, sonSign, focus, callbackFlag) {\n\t\t\t\t\tif (!node || !node.isParent) return null;\n\t\t\t\t\tif (expandFlag !== true && expandFlag !== false) {\n\t\t\t\t\t\texpandFlag = !node.open;\n\t\t\t\t\t}\n\t\t\t\t\tcallbackFlag = !!callbackFlag;\n\n\t\t\t\t\tif (callbackFlag && expandFlag && (tools.apply(setting.callback.beforeExpand, [setting.treeId, node], true) == false)) {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t} else if (callbackFlag && !expandFlag && (tools.apply(setting.callback.beforeCollapse, [setting.treeId, node], true) == false)) {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\t\t\t\t\tif (expandFlag && node.parentTId) {\n\t\t\t\t\t\tview.expandCollapseParentNode(setting, node.getParentNode(), expandFlag, false);\n\t\t\t\t\t}\n\t\t\t\t\tif (expandFlag === node.open && !sonSign) {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\n\t\t\t\t\tdata.getRoot(setting).expandTriggerFlag = callbackFlag;\n\t\t\t\t\tif (!tools.canAsync(setting, node) && sonSign) {\n\t\t\t\t\t\tview.expandCollapseSonNode(setting, node, expandFlag, true, showNodeFocus);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnode.open = !expandFlag;\n\t\t\t\t\t\tview.switchNode(this.setting, node);\n\t\t\t\t\t\tshowNodeFocus();\n\t\t\t\t\t}\n\t\t\t\t\treturn expandFlag;\n\n\t\t\t\t\tfunction showNodeFocus() {\n\t\t\t\t\t\tvar a = $$(node, setting).get(0);\n\t\t\t\t\t\tif (a && focus !== false) {\n\t\t\t\t\t\t\tview.scrollIntoView(a);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tgetNodes : function() {\n\t\t\t\t\treturn data.getNodes(setting);\n\t\t\t\t},\n\t\t\t\tgetNodeByParam : function(key, value, parentNode) {\n\t\t\t\t\tif (!key) return null;\n\t\t\t\t\treturn data.getNodeByParam(setting, parentNode?parentNode[setting.data.key.children]:data.getNodes(setting), key, value);\n\t\t\t\t},\n\t\t\t\tgetNodeByTId : function(tId) {\n\t\t\t\t\treturn data.getNodeCache(setting, tId);\n\t\t\t\t},\n\t\t\t\tgetNodesByParam : function(key, value, parentNode) {\n\t\t\t\t\tif (!key) return null;\n\t\t\t\t\treturn data.getNodesByParam(setting, parentNode?parentNode[setting.data.key.children]:data.getNodes(setting), key, value);\n\t\t\t\t},\n\t\t\t\tgetNodesByParamFuzzy : function(key, value, parentNode) {\n\t\t\t\t\tif (!key) return null;\n\t\t\t\t\treturn data.getNodesByParamFuzzy(setting, parentNode?parentNode[setting.data.key.children]:data.getNodes(setting), key, value);\n\t\t\t\t},\n\t\t\t\tgetNodesByFilter: function(filter, isSingle, parentNode, invokeParam) {\n\t\t\t\t\tisSingle = !!isSingle;\n\t\t\t\t\tif (!filter || (typeof filter != \"function\")) return (isSingle ? null : []);\n\t\t\t\t\treturn data.getNodesByFilter(setting, parentNode?parentNode[setting.data.key.children]:data.getNodes(setting), filter, isSingle, invokeParam);\n\t\t\t\t},\n\t\t\t\tgetNodeIndex : function(node) {\n\t\t\t\t\tif (!node) return null;\n\t\t\t\t\tvar childKey = setting.data.key.children,\n\t\t\t\t\tparentNode = (node.parentTId) ? node.getParentNode() : data.getRoot(setting);\n\t\t\t\t\tfor (var i=0, l = parentNode[childKey].length; i < l; i++) {\n\t\t\t\t\t\tif (parentNode[childKey][i] == node) return i;\n\t\t\t\t\t}\n\t\t\t\t\treturn -1;\n\t\t\t\t},\n\t\t\t\tgetSelectedNodes : function() {\n\t\t\t\t\tvar r = [], list = data.getRoot(setting).curSelectedList;\n\t\t\t\t\tfor (var i=0, l=list.length; i<l; i++) {\n\t\t\t\t\t\tr.push(list[i]);\n\t\t\t\t\t}\n\t\t\t\t\treturn r;\n\t\t\t\t},\n\t\t\t\tisSelectedNode : function(node) {\n\t\t\t\t\treturn data.isSelectedNode(setting, node);\n\t\t\t\t},\n\t\t\t\treAsyncChildNodes : function(parentNode, reloadType, isSilent) {\n\t\t\t\t\tif (!this.setting.async.enable) return;\n\t\t\t\t\tvar isRoot = !parentNode;\n\t\t\t\t\tif (isRoot) {\n\t\t\t\t\t\tparentNode = data.getRoot(setting);\n\t\t\t\t\t}\n\t\t\t\t\tif (reloadType==\"refresh\") {\n\t\t\t\t\t\tvar childKey = this.setting.data.key.children;\n\t\t\t\t\t\tfor (var i = 0, l = parentNode[childKey] ? parentNode[childKey].length : 0; i < l; i++) {\n\t\t\t\t\t\t\tdata.removeNodeCache(setting, parentNode[childKey][i]);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdata.removeSelectedNode(setting);\n\t\t\t\t\t\tparentNode[childKey] = [];\n\t\t\t\t\t\tif (isRoot) {\n\t\t\t\t\t\t\tthis.setting.treeObj.empty();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tvar ulObj = $$(parentNode, consts.id.UL, setting);\n\t\t\t\t\t\t\tulObj.empty();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tview.asyncNode(this.setting, isRoot? null:parentNode, !!isSilent);\n\t\t\t\t},\n\t\t\t\trefresh : function() {\n\t\t\t\t\tthis.setting.treeObj.empty();\n\t\t\t\t\tvar root = data.getRoot(setting),\n\t\t\t\t\tnodes = root[setting.data.key.children]\n\t\t\t\t\tdata.initRoot(setting);\n\t\t\t\t\troot[setting.data.key.children] = nodes\n\t\t\t\t\tdata.initCache(setting);\n\t\t\t\t\tview.createNodes(setting, 0, root[setting.data.key.children], null, -1);\n\t\t\t\t},\n\t\t\t\tremoveChildNodes : function(node) {\n\t\t\t\t\tif (!node) return null;\n\t\t\t\t\tvar childKey = setting.data.key.children,\n\t\t\t\t\tnodes = node[childKey];\n\t\t\t\t\tview.removeChildNodes(setting, node);\n\t\t\t\t\treturn nodes ? nodes : null;\n\t\t\t\t},\n\t\t\t\tremoveNode : function(node, callbackFlag) {\n\t\t\t\t\tif (!node) return;\n\t\t\t\t\tcallbackFlag = !!callbackFlag;\n\t\t\t\t\tif (callbackFlag && tools.apply(setting.callback.beforeRemove, [setting.treeId, node], true) == false) return;\n\t\t\t\t\tview.removeNode(setting, node);\n\t\t\t\t\tif (callbackFlag) {\n\t\t\t\t\t\tthis.setting.treeObj.trigger(consts.event.REMOVE, [setting.treeId, node]);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tselectNode : function(node, addFlag, isSilent) {\n\t\t\t\t\tif (!node) return;\n\t\t\t\t\tif (tools.uCanDo(setting)) {\n\t\t\t\t\t\taddFlag = setting.view.selectedMulti && addFlag;\n\t\t\t\t\t\tif (node.parentTId) {\n\t\t\t\t\t\t\tview.expandCollapseParentNode(setting, node.getParentNode(), true, false, showNodeFocus);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\ttry{$$(node, setting).focus().blur();}catch(e){}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tview.selectNode(setting, node, addFlag);\n\t\t\t\t\t}\n\n\t\t\t\t\tfunction showNodeFocus() {\n\t\t\t\t\t\tif (isSilent) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tvar a = $$(node, setting).get(0);\n\t\t\t\t\t\tview.scrollIntoView(a);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\ttransformTozTreeNodes : function(simpleNodes) {\n\t\t\t\t\treturn data.transformTozTreeFormat(setting, simpleNodes);\n\t\t\t\t},\n\t\t\t\ttransformToArray : function(nodes) {\n\t\t\t\t\treturn data.transformToArrayFormat(setting, nodes);\n\t\t\t\t},\n\t\t\t\tupdateNode : function(node, checkTypeFlag) {\n\t\t\t\t\tif (!node) return;\n\t\t\t\t\tvar nObj = $$(node, setting);\n\t\t\t\t\tif (nObj.get(0) && tools.uCanDo(setting)) {\n\t\t\t\t\t\tview.setNodeName(setting, node);\n\t\t\t\t\t\tview.setNodeTarget(setting, node);\n\t\t\t\t\t\tview.setNodeUrl(setting, node);\n\t\t\t\t\t\tview.setNodeLineIcos(setting, node);\n\t\t\t\t\t\tview.setNodeFontCss(setting, node);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\troot.treeTools = zTreeTools;\n\t\t\tdata.setZTreeTools(setting, zTreeTools);\n\n\t\t\tif (root[childKey] && root[childKey].length > 0) {\n\t\t\t\tview.createNodes(setting, 0, root[childKey], null, -1);\n\t\t\t} else if (setting.async.enable && setting.async.url && setting.async.url !== '') {\n\t\t\t\tview.asyncNode(setting);\n\t\t\t}\n\t\t\treturn zTreeTools;\n\t\t}\n\t};\n\n\tvar zt = $.fn.zTree,\n\t$$ = tools.$,\n\tconsts = zt.consts;\n})(jQuery);","/*\n * JQuery zTree exHideNodes v3.5.23\n * http://zTree.me/\n *\n * Copyright (c) 2010 Hunter.z\n *\n * Licensed same as jquery - MIT License\n * http://www.opensource.org/licenses/mit-license.php\n *\n * email: hunter.z@263.net\n * Date: 2016-04-01\n */\n(function(i){i.extend(!0,i.fn.zTree._z,{view:{clearOldFirstNode:function(c,a){for(var b=a.getNextNode();b;){if(b.isFirstNode){b.isFirstNode=!1;d.setNodeLineIcos(c,b);break}if(b.isLastNode)break;b=b.getNextNode()}},clearOldLastNode:function(c,a,b){for(a=a.getPreNode();a;){if(a.isLastNode){a.isLastNode=!1;b&&d.setNodeLineIcos(c,a);break}if(a.isFirstNode)break;a=a.getPreNode()}},makeDOMNodeMainBefore:function(c,a,b){c.push(\"<li \",b.isHidden?\"style='display:none;' \":\"\",\"id='\",b.tId,\"' class='\",l.className.LEVEL,\nb.level,\"' tabindex='0' hidefocus='true' treenode>\")},showNode:function(c,a){a.isHidden=!1;f.initShowForExCheck(c,a);j(a,c).show()},showNodes:function(c,a,b){if(a&&a.length!=0){var e={},g,k;for(g=0,k=a.length;g<k;g++){var h=a[g];if(!e[h.parentTId]){var i=h.getParentNode();e[h.parentTId]=i===null?f.getRoot(c):h.getParentNode()}d.showNode(c,h,b)}for(var j in e)a=e[j][c.data.key.children],d.setFirstNodeForShow(c,a),d.setLastNodeForShow(c,a)}},hideNode:function(c,a){a.isHidden=!0;a.isFirstNode=!1;a.isLastNode=\n!1;f.initHideForExCheck(c,a);d.cancelPreSelectedNode(c,a);j(a,c).hide()},hideNodes:function(c,a,b){if(a&&a.length!=0){var e={},g,k;for(g=0,k=a.length;g<k;g++){var h=a[g];if((h.isFirstNode||h.isLastNode)&&!e[h.parentTId]){var i=h.getParentNode();e[h.parentTId]=i===null?f.getRoot(c):h.getParentNode()}d.hideNode(c,h,b)}for(var j in e)a=e[j][c.data.key.children],d.setFirstNodeForHide(c,a),d.setLastNodeForHide(c,a)}},setFirstNode:function(c,a){var b=c.data.key.children,e=a[b].length;e>0&&!a[b][0].isHidden?\na[b][0].isFirstNode=!0:e>0&&d.setFirstNodeForHide(c,a[b])},setLastNode:function(c,a){var b=c.data.key.children,e=a[b].length;e>0&&!a[b][0].isHidden?a[b][e-1].isLastNode=!0:e>0&&d.setLastNodeForHide(c,a[b])},setFirstNodeForHide:function(c,a){var b,e,g;for(e=0,g=a.length;e<g;e++){b=a[e];if(b.isFirstNode)break;if(!b.isHidden&&!b.isFirstNode){b.isFirstNode=!0;d.setNodeLineIcos(c,b);break}else b=null}return b},setFirstNodeForShow:function(c,a){var b,e,g,f,h;for(e=0,g=a.length;e<g;e++)if(b=a[e],!f&&!b.isHidden&&\nb.isFirstNode){f=b;break}else if(!f&&!b.isHidden&&!b.isFirstNode)b.isFirstNode=!0,f=b,d.setNodeLineIcos(c,b);else if(f&&b.isFirstNode){b.isFirstNode=!1;h=b;d.setNodeLineIcos(c,b);break}return{\"new\":f,old:h}},setLastNodeForHide:function(c,a){var b,e;for(e=a.length-1;e>=0;e--){b=a[e];if(b.isLastNode)break;if(!b.isHidden&&!b.isLastNode){b.isLastNode=!0;d.setNodeLineIcos(c,b);break}else b=null}return b},setLastNodeForShow:function(c,a){var b,e,g,f;for(e=a.length-1;e>=0;e--)if(b=a[e],!g&&!b.isHidden&&\nb.isLastNode){g=b;break}else if(!g&&!b.isHidden&&!b.isLastNode)b.isLastNode=!0,g=b,d.setNodeLineIcos(c,b);else if(g&&b.isLastNode){b.isLastNode=!1;f=b;d.setNodeLineIcos(c,b);break}return{\"new\":g,old:f}}},data:{initHideForExCheck:function(c,a){if(a.isHidden&&c.check&&c.check.enable){if(typeof a._nocheck==\"undefined\")a._nocheck=!!a.nocheck,a.nocheck=!0;a.check_Child_State=-1;d.repairParentChkClassWithSelf&&d.repairParentChkClassWithSelf(c,a)}},initShowForExCheck:function(c,a){if(!a.isHidden&&c.check&&\nc.check.enable){if(typeof a._nocheck!=\"undefined\")a.nocheck=a._nocheck,delete a._nocheck;if(d.setChkClass){var b=j(a,l.id.CHECK,c);d.setChkClass(c,b,a)}d.repairParentChkClassWithSelf&&d.repairParentChkClassWithSelf(c,a)}}}});var i=i.fn.zTree,m=i._z.tools,l=i.consts,d=i._z.view,f=i._z.data,j=m.$;f.addInitNode(function(c,a,b){if(typeof b.isHidden==\"string\")b.isHidden=m.eqs(b.isHidden,\"true\");b.isHidden=!!b.isHidden;f.initHideForExCheck(c,b)});f.addBeforeA(function(){});f.addZTreeTools(function(c,a){a.showNodes=\nfunction(a,b){d.showNodes(c,a,b)};a.showNode=function(a,b){a&&d.showNodes(c,[a],b)};a.hideNodes=function(a,b){d.hideNodes(c,a,b)};a.hideNode=function(a,b){a&&d.hideNodes(c,[a],b)};var b=a.checkNode;if(b)a.checkNode=function(c,d,f,h){(!c||!c.isHidden)&&b.apply(a,arguments)}});var n=f.initNode;f.initNode=function(c,a,b,e,g,i,h){var j=(e?e:f.getRoot(c))[c.data.key.children];f.tmpHideFirstNode=d.setFirstNodeForHide(c,j);f.tmpHideLastNode=d.setLastNodeForHide(c,j);h&&(d.setNodeLineIcos(c,f.tmpHideFirstNode),\nd.setNodeLineIcos(c,f.tmpHideLastNode));g=f.tmpHideFirstNode===b;i=f.tmpHideLastNode===b;n&&n.apply(f,arguments);h&&i&&d.clearOldLastNode(c,b,h)};var o=f.makeChkFlag;if(o)f.makeChkFlag=function(c,a){(!a||!a.isHidden)&&o.apply(f,arguments)};var p=f.getTreeCheckedNodes;if(p)f.getTreeCheckedNodes=function(c,a,b,e){if(a&&a.length>0){var d=a[0].getParentNode();if(d&&d.isHidden)return[]}return p.apply(f,arguments)};var q=f.getTreeChangeCheckedNodes;if(q)f.getTreeChangeCheckedNodes=function(c,a,b){if(a&&\na.length>0){var d=a[0].getParentNode();if(d&&d.isHidden)return[]}return q.apply(f,arguments)};var r=d.expandCollapseSonNode;if(r)d.expandCollapseSonNode=function(c,a,b,e,f){(!a||!a.isHidden)&&r.apply(d,arguments)};var s=d.setSonNodeCheckBox;if(s)d.setSonNodeCheckBox=function(c,a,b,e){(!a||!a.isHidden)&&s.apply(d,arguments)};var t=d.repairParentChkClassWithSelf;if(t)d.repairParentChkClassWithSelf=function(c,a){(!a||!a.isHidden)&&t.apply(d,arguments)}})(jQuery);\n","(function(){\r\n    \"use strict\";\r\n    $.Toast = function(title, message, type, options){\r\n\r\n        if(type==\"sos\"){\r\n            if($('.toast-item-wrapper.toast-close.sos.toast-bottom-right').offset() != undefined && $('.toast-item-wrapper.toast-close.sos.toast-bottom-right').offset().top < 500){\r\n                $.each($('.toast-item-wrapper.toast-close.sos.toast-bottom-right'), function (key, val) {\r\n                    val.click();\r\n                });\r\n            }\r\n        }\r\n        var defaultOptions = {\r\n            appendTo: \"body\",\r\n            stack: 5,\r\n            position_class: \"toast-bottom-right\",\r\n            fullscreen:false,\r\n            width: 300,\r\n            spacing:20,\r\n            timeout: 4000,\r\n            has_close_btn:true,\r\n            has_icon:true,\r\n            sticky:false,\r\n            border_radius:6,\r\n            has_progress:false,\r\n            rtl:false\r\n        }\r\n\r\n        var $element = null;\r\n\r\n        var $options = $.extend(true, {}, defaultOptions, options);\r\n\r\n        var spacing = $options.spacing;\r\n\r\n        var css = {\r\n            \"position\":($options.appendTo == \"body\") ? \"fixed\" : \"absolute\",\r\n            \"min-width\":$options.width,\r\n            \"display\":\"none\",\r\n            \"border-radius\":$options.border_radius,\r\n            \"z-index\":99999\r\n        }\r\n\r\n        $element = $('<div class=\"toast-item-wrapper ' + type + ' ' + $options.position_class + '\"></div>');\r\n        \r\n        if(type==\"sos\"){\r\n\r\n            $element = $('<div class=\"toast-item-wrapper sos toast-close '+ message.id + ' ' + type + ' ' + $options.position_class + '\" onclick=\"removeToast(this)\"></div>');\r\n\r\n            var css = {\r\n                \"position\":($options.appendTo == \"body\") ? \"fixed\" : \"absolute\",\r\n                \"min-width\":280,\r\n                \"display\":\"none\",\r\n                \"border-radius\":$options.border_radius,\r\n                \"z-index\":99999\r\n            }\r\n            $('<div class=\"toast-close\" style=\"width: 94%;height: 95%;position: absolute;left: 0px;\"  onclick=\"videoSOS(\\''+message.id+'\\')\"></div>').appendTo($element);\r\n            $('<p class=\"toast-title\" style=\"font-weight:800;font-size:font-size: 12px;margin-bottom: -8px;\">' + title + '</p>').appendTo($element);\r\n\r\n            $('<p class=\"toast-message\">' + message.value + '</p>').appendTo($element);\r\n        }else{\r\n\r\n            $('<p class=\"toast-title\">' + title + '</p>').appendTo($element);\r\n\r\n            $('<p class=\"toast-message\">' + message + '</p>').appendTo($element);\r\n         \r\n        }\r\n        \r\n        \r\n\r\n        if($options.fullscreen){\r\n            $element.addClass( \"fullscreen\" );\r\n        }\r\n\r\n        if($options.rtl){\r\n            $element.addClass( \"rtl\" );\r\n        }\r\n\r\n        if($options.has_close_btn){\r\n            $('<span class=\"toast-close\">&times;</span>').appendTo($element);\r\n            if( $options.rtl){\r\n                css[\"padding-left\"] = 20;\r\n            } else {\r\n                css[\"padding-right\"] = 20;\r\n            }\r\n        }\r\n\r\n        if($options.has_icon){\r\n\r\n            if(type == \"sos\"){\r\n\r\n                $('<img class=\"toast-icon\" src=\"assets/images/alert-siren.gif\" style=\"position: absolute;width:40px;height:40px;top:20px;left: 5px;\">').appendTo($element);\r\n                $('<img class=\"toast-icon\" src=\"assets/images/sos_click.png\" style=\"position: absolute;width: 50px;height: 50px;top: 16px;right: 20px;\"  onclick=\"videoSOS(\\''+message.id+'\\')\">').appendTo($element);\r\n                if( $options.rtl){\r\n                    css[\"padding-right\"] = 50;\r\n                } else {\r\n                    css[\"padding-left\"] = 50;\r\n                } \r\n            }else{\r\n\r\n                $('<i class=\"toast-icon toast-icon-' + type + '\"></i>').appendTo($element);\r\n                if( $options.rtl){\r\n                    css[\"padding-right\"] = 50;\r\n                } else {\r\n                    css[\"padding-left\"] = 50;\r\n                } \r\n            }\r\n                       \r\n        }\r\n\r\n        if($options.has_progress && $options.timeout > 0){\r\n            //$('<div class=\"toast-progress\"></div>').appendTo($element);\r\n        }\r\n\r\n        if($options.sticky){\r\n            $options.spacing = 0;\r\n            spacing = 0;\r\n\r\n            switch($options.position_class){\r\n                case \"toast-top-left\" : {\r\n                    css[\"top\"] = 0;\r\n                    css[\"left\"] = 0;\r\n                    break;\r\n                }\r\n                case \"toast-top-right\" : {\r\n                    css[\"top\"] = 0;\r\n                    css[\"left\"] = 0;                    \r\n                    break;\r\n                }\r\n                case \"toast-top-center\" : {\r\n                    css[\"top\"] = 0;\r\n                    css[\"left\"] = css[\"right\"] = 0;  \r\n                    css[\"width\"] = \"100%\";                  \r\n                    break;\r\n                }\r\n                case \"toast-bottom-left\" : {\r\n                    css[\"bottom\"] = 0;\r\n                    css[\"left\"] = 0;                     \r\n                    break;\r\n                }\r\n                case \"toast-bottom-right\" : {\r\n                    css[\"bottom\"] = 0;\r\n                    css[\"right\"] = 0;                     \r\n                    break;\r\n                }\r\n                case \"toast-bottom-center\" : {\r\n                    css[\"bottom\"] = 0;\r\n                    css[\"left\"] = css[\"right\"] = 0;  \r\n                    css[\"width\"] = \"100%\";                     \r\n                    break;\r\n                }\r\n                default : {\r\n                    break;\r\n                }                                                                        \r\n            }\r\n        }\r\n\r\n        if($options.stack){\r\n            if($options.position_class.indexOf(\"toast-top\") !== -1 ){\r\n                $($options.appendTo).find('.toast-item-wrapper').each(function(){\r\n                    css[\"top\"] = parseInt($(this).css(\"top\")) + this.offsetHeight + spacing;\r\n                });\r\n            } else if($options.position_class.indexOf(\"toast-bottom\") !== -1 ){\r\n                $($options.appendTo).find('.toast-item-wrapper').each(function(){\r\n                    css[\"bottom\"] = parseInt($(this).css(\"bottom\")) + this.offsetHeight + spacing;\r\n                });\r\n            }\r\n        }        \r\n\r\n        $element.css(css);\r\n\r\n        $element.appendTo($options.appendTo);\r\n\r\n\t\tif($element.fadeIn) {\r\n            $element.fadeIn();\r\n        }else {\r\n            $alert.css({display: 'block', opacity: 1});\r\n        }\r\n\r\n\t\tfunction removeToast(){          \r\n\t\t\t$.Toast.remove( $element );\r\n            $element.remove();\r\n\t\t}\r\n\r\n\t\tif($options.timeout > 0){\r\n\t\t\tsetTimeout(removeToast, $options.timeout);\r\n            if($options.has_progress){\r\n                $(\".toast-progress\", $element).animate({\"width\":\"100%\"}, $options.timeout);\r\n            }\r\n\t\t}        \r\n\r\n        $(\".toast-close\", $element).click(removeToast)\r\n        $(\".toast-close\", $element).click(removeToast)\r\n\r\n        return $element;\r\n    }\r\n\r\n    $.Toast.remove = function( $element ){\r\n        \"use strict\";        \r\n\t\tif($element.fadeOut)\r\n\t\t{\r\n\t\t\t$element.fadeOut(function(){\r\n\t\t\t\treturn $element.remove();\r\n\t\t\t});\r\n\t\t}\r\n\t\telse{\r\n\t\t\t$element.remove();\r\n\t\t}        \r\n    }\r\n})();\r\n\r\nfunction removeToast(_this){          \r\n    $.Toast.remove( _this );\r\n}","!function(a,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(\"eva\",[],t):\"object\"==typeof exports?exports.eva=t():a.eva=t()}(\"undefined\"!=typeof self?self:this,function(){return function(e){var h={};function r(a){if(h[a])return h[a].exports;var t=h[a]={i:a,l:!1,exports:{}};return e[a].call(t.exports,t,t.exports,r),t.l=!0,t.exports}return r.m=e,r.c=h,r.d=function(a,t,e){r.o(a,t)||Object.defineProperty(a,t,{enumerable:!0,get:e})},r.r=function(a){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(a,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(a,\"__esModule\",{value:!0})},r.t=function(t,a){if(1&a&&(t=r(t)),8&a)return t;if(4&a&&\"object\"==typeof t&&t&&t.__esModule)return t;var e=Object.create(null);if(r.r(e),Object.defineProperty(e,\"default\",{enumerable:!0,value:t}),2&a&&\"string\"!=typeof t)for(var h in t)r.d(e,h,function(a){return t[a]}.bind(null,h));return e},r.n=function(a){var t=a&&a.__esModule?function(){return a.default}:function(){return a};return r.d(t,\"a\",t),t},r.o=function(a,t){return Object.prototype.hasOwnProperty.call(a,t)},r.p=\"\",r(r.s=\"./package/src/index.js\")}({\"./node_modules/classnames/dedupe.js\":\r\n/*!*******************************************!*\\\r\n  !*** ./node_modules/classnames/dedupe.js ***!\r\n  \\*******************************************/\r\n/*! no static exports found */function(t,e,a){var h;\r\n/*!\r\n  Copyright (c) 2017 Jed Watson.\r\n  Licensed under the MIT License (MIT), see\r\n  http://jedwatson.github.io/classnames\r\n*/\r\n/*!\r\n  Copyright (c) 2017 Jed Watson.\r\n  Licensed under the MIT License (MIT), see\r\n  http://jedwatson.github.io/classnames\r\n*/\r\n!function(){\"use strict\";var a=function(){function g(){}function i(a,t){for(var e=t.length,h=0;h<e;++h)r(a,t[h])}g.prototype=Object.create(null);var h={}.hasOwnProperty;var d=/\\s+/;function r(a,t){if(t){var e=typeof t;\"string\"===e?function(a,t){for(var e=t.split(d),h=e.length,r=0;r<h;++r)a[e[r]]=!0}(a,t):Array.isArray(t)?i(a,t):\"object\"===e?function(a,t){for(var e in t)h.call(t,e)&&(a[e]=!!t[e])}(a,t):\"number\"===e&&(a[t]=!0)}}return function(){for(var a=arguments.length,t=Array(a),e=0;e<a;e++)t[e]=arguments[e];var h=new g;i(h,t);var r=[];for(var d in h)h[d]&&r.push(d);return r.join(\" \")}}();void 0!==t&&t.exports?(a.default=a,t.exports=a):void 0===(h=function(){return a}.apply(e,[]))||(t.exports=h)}()},\"./node_modules/css-loader/index.js!./node_modules/sass-loader/lib/loader.js!./package/src/animation.scss\":\r\n/*!*******************************************************************************************************!*\\\r\n  !*** ./node_modules/css-loader!./node_modules/sass-loader/lib/loader.js!./package/src/animation.scss ***!\r\n  \\*******************************************************************************************************/\r\n/*! no static exports found */function(a,t,e){(a.exports=e(/*! ../../node_modules/css-loader/lib/css-base.js */\"./node_modules/css-loader/lib/css-base.js\")(!1)).push([a.i,\"/**\\r\\n * @license\\r\\n * Copyright Akveo. All Rights Reserved.\\r\\n * Licensed under the MIT License. See License.txt in the project root for license information.\\r\\n */\\n.eva-animation {\\n  animation-duration: 1s;\\n  animation-fill-mode: both; }\\n\\n.eva-infinite {\\n  animation-iteration-count: infinite; }\\n\\n.eva-icon-shake {\\n  animation-name: eva-shake; }\\n\\n.eva-icon-zoom {\\n  animation-name: eva-zoomIn; }\\n\\n.eva-icon-pulse {\\n  animation-name: eva-pulse; }\\n\\n.eva-icon-flip {\\n  animation-name: eva-flipInY; }\\n\\n.eva-hover {\\n  display: inline-block; }\\n\\n.eva-hover:hover .eva-icon-hover-shake, .eva-parent-hover:hover .eva-icon-hover-shake {\\n  animation-name: eva-shake; }\\n\\n.eva-hover:hover .eva-icon-hover-zoom, .eva-parent-hover:hover .eva-icon-hover-zoom {\\n  animation-name: eva-zoomIn; }\\n\\n.eva-hover:hover .eva-icon-hover-pulse, .eva-parent-hover:hover .eva-icon-hover-pulse {\\n  animation-name: eva-pulse; }\\n\\n.eva-hover:hover .eva-icon-hover-flip, .eva-parent-hover:hover .eva-icon-hover-flip {\\n  animation-name: eva-flipInY; }\\n\\n@keyframes eva-flipInY {\\n  from {\\n    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);\\n    animation-timing-function: ease-in;\\n    opacity: 0; }\\n  40% {\\n    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);\\n    animation-timing-function: ease-in; }\\n  60% {\\n    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);\\n    opacity: 1; }\\n  80% {\\n    transform: perspective(400px) rotate3d(0, 1, 0, -5deg); }\\n  to {\\n    transform: perspective(400px); } }\\n\\n@keyframes eva-shake {\\n  from,\\n  to {\\n    transform: translate3d(0, 0, 0); }\\n  10%,\\n  30%,\\n  50%,\\n  70%,\\n  90% {\\n    transform: translate3d(-3px, 0, 0); }\\n  20%,\\n  40%,\\n  60%,\\n  80% {\\n    transform: translate3d(3px, 0, 0); } }\\n\\n@keyframes eva-pulse {\\n  from {\\n    transform: scale3d(1, 1, 1); }\\n  50% {\\n    transform: scale3d(1.2, 1.2, 1.2); }\\n  to {\\n    transform: scale3d(1, 1, 1); } }\\n\\n@keyframes eva-zoomIn {\\n  from {\\n    opacity: 1;\\n    transform: scale3d(0.5, 0.5, 0.5); }\\n  50% {\\n    opacity: 1; } }\\n\",\"\"])},\"./node_modules/css-loader/lib/css-base.js\":\r\n/*!*************************************************!*\\\r\n  !*** ./node_modules/css-loader/lib/css-base.js ***!\r\n  \\*************************************************/\r\n/*! no static exports found */function(a,t){a.exports=function(e){var g=[];return g.toString=function(){return this.map(function(a){var t=function(a,t){var e=a[1]||\"\",h=a[3];if(!h)return e;if(t&&\"function\"==typeof btoa){var r=(g=h,\"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,\"+btoa(unescape(encodeURIComponent(JSON.stringify(g))))+\" */\"),d=h.sources.map(function(a){return\"/*# sourceURL=\"+h.sourceRoot+a+\" */\"});return[e].concat(d).concat([r]).join(\"\\n\")}var g;return[e].join(\"\\n\")}(a,e);return a[2]?\"@media \"+a[2]+\"{\"+t+\"}\":t}).join(\"\")},g.i=function(a,t){\"string\"==typeof a&&(a=[[null,a,\"\"]]);for(var e={},h=0;h<this.length;h++){var r=this[h][0];\"number\"==typeof r&&(e[r]=!0)}for(h=0;h<a.length;h++){var d=a[h];\"number\"==typeof d[0]&&e[d[0]]||(t&&!d[2]?d[2]=t:t&&(d[2]=\"(\"+d[2]+\") and (\"+t+\")\"),g.push(d))}},g}},\"./node_modules/isomorphic-style-loader/insertCss.js\":\r\n/*!***********************************************************!*\\\r\n  !*** ./node_modules/isomorphic-style-loader/insertCss.js ***!\r\n  \\***********************************************************/\r\n/*! no static exports found */function(a,t,e){\"use strict\";\r\n/*! Isomorphic Style Loader | MIT License | https://github.com/kriasoft/isomorphic-style-loader */var A={};a.exports=function(a,t){for(var e,h=void 0===t?{}:t,r=h.replace,d=void 0!==r&&r,g=h.prepend,i=void 0!==g&&g,n=h.prefix,o=void 0===n?\"s\":n,l=[],c=0;c<a.length;c++){var p=a[c],m=p[0],y=p[1],z=p[2],M=p[3],v=\"\"+o+m+\"-\"+c;if(l.push(v),!A[v]||d){A[v]=1;var L=document.getElementById(v),s=!1;L||(s=!0,(L=document.createElement(\"style\")).setAttribute(\"type\",\"text/css\"),L.id=v,z&&L.setAttribute(\"media\",z));var w=y;M&&\"function\"==typeof btoa&&(w+=\"\\n/*# sourceMappingURL=data:application/json;base64,\"+(e=JSON.stringify(M),btoa(encodeURIComponent(e).replace(/%([0-9A-F]{2})/g,function(a,t){return String.fromCharCode(\"0x\"+t)})))+\"*/\",w+=\"\\n/*# sourceURL=\"+M.file+\"?\"+v+\"*/\"),\"textContent\"in L?L.textContent=w:L.styleSheet.cssText=w,s&&(i?document.head.insertBefore(L,document.head.childNodes[0]):document.head.appendChild(L))}else A[v]++}return function(a){a.forEach(function(a){if(--A[a]<=0){var t=document.getElementById(a);t&&t.parentNode.removeChild(t)}})}.bind(null,l)}},\"./package-build/eva-icons.json\":\r\n/*!**************************************!*\\\r\n  !*** ./package-build/eva-icons.json ***!\r\n  \\**************************************/\r\n/*! exports provided: activity, alert-circle, alert-triangle, archive, arrow-back, arrow-circle-down, arrow-circle-left, arrow-circle-right, arrow-circle-up, arrow-down, arrow-downward, arrow-forward, arrow-ios-back, arrow-ios-downward, arrow-ios-forward, arrow-ios-upward, arrow-left, arrow-right, arrow-up, arrow-upward, arrowhead-down, arrowhead-left, arrowhead-right, arrowhead-up, at, attach-2, attach, award, backspace, bar-chart-2, bar-chart, battery, behance, bell-off, bell, bluetooth, book-open, book, bookmark, briefcase, browser, brush, bulb, calendar, camera, car, cast, charging, checkmark-circle-2, checkmark-circle, checkmark-square-2, checkmark-square, checkmark, chevron-down, chevron-left, chevron-right, chevron-up, clipboard, clock, close-circle, close-square, close, cloud-download, cloud-upload, code-download, code, collapse, color-palette, color-picker, compass, copy, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, credit-card, crop, cube, diagonal-arrow-left-down, diagonal-arrow-left-up, diagonal-arrow-right-down, diagonal-arrow-right-up, done-all, download, droplet-off, droplet, edit-2, edit, email, expand, external-link, eye-off-2, eye-off, eye, facebook, file-add, file-remove, file-text, file, film, flag, flash-off, flash, flip-2, flip, folder-add, folder-remove, folder, funnel, gift, github, globe-2, globe-3, globe, google, grid, hard-drive, hash, headphones, heart, home, image-2, image, inbox, info, keypad, layers, layout, link-2, link, linkedin, list, lock, log-in, log-out, map, maximize, menu-2, menu-arrow, menu, message-circle, message-square, mic-off, mic, minimize, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, npm, options-2, options, pantone, paper-plane, pause-circle, people, percent, person-add, person-delete, person-done, person-remove, person, phone-call, phone-missed, phone-off, phone, pie-chart-2, pie-chart, pin, play-circle, plus-circle, plus-square, plus, power, pricetags, printer, question-mark-circle, question-mark, radio-button-off, radio-button-on, radio, recording, refresh, repeat, rewind-left, rewind-right, save, scissors, search, settings-2, settings, shake, share, shield-off, shield, shopping-bag, shopping-cart, shuffle-2, shuffle, skip-back, skip-forward, slash, smartphone, speaker, square, star, stop-circle, sun, swap, sync, text, thermometer-minus, thermometer-plus, thermometer, toggle-left, toggle-right, trash-2, trash, trending-down, trending-up, tv, twitter, umbrella, undo, unlock, upload, video-off, video, volume-down, volume-mute, volume-off, volume-up, wifi-off, wifi, activity-outline, alert-circle-outline, alert-triangle-outline, archive-outline, arrow-back-outline, arrow-circle-down-outline, arrow-circle-left-outline, arrow-circle-right-outline, arrow-circle-up-outline, arrow-down-outline, arrow-downward-outline, arrow-forward-outline, arrow-ios-back-outline, arrow-ios-downward-outline, arrow-ios-forward-outline, arrow-ios-upward-outline, arrow-left-outline, arrow-right-outline, arrow-up-outline, arrow-upward-outline, arrowhead-down-outline, arrowhead-left-outline, arrowhead-right-outline, arrowhead-up-outline, at-outline, attach-2-outline, attach-outline, award-outline, backspace-outline, bar-chart-2-outline, bar-chart-outline, battery-outline, behance-outline, bell-off-outline, bell-outline, bluetooth-outline, book-open-outline, book-outline, bookmark-outline, briefcase-outline, browser-outline, brush-outline, bulb-outline, calendar-outline, camera-outline, car-outline, cast-outline, charging-outline, checkmark-circle-2-outline, checkmark-circle-outline, checkmark-outline, checkmark-square-2-outline, checkmark-square-outline, chevron-down-outline, chevron-left-outline, chevron-right-outline, chevron-up-outline, clipboard-outline, clock-outline, close-circle-outline, close-outline, close-square-outline, cloud-download-outline, cloud-upload-outline, code-download-outline, code-outline, collapse-outline, color-palette-outline, color-picker-outline, compass-outline, copy-outline, corner-down-left-outline, corner-down-right-outline, corner-left-down-outline, corner-left-up-outline, corner-right-down-outline, corner-right-up-outline, corner-up-left-outline, corner-up-right-outline, credit-card-outline, crop-outline, cube-outline, diagonal-arrow-left-down-outline, diagonal-arrow-left-up-outline, diagonal-arrow-right-down-outline, diagonal-arrow-right-up-outline, done-all-outline, download-outline, droplet-off-outline, droplet-outline, edit-2-outline, edit-outline, email-outline, expand-outline, external-link-outline, eye-off-2-outline, eye-off-outline, eye-outline, facebook-outline, file-add-outline, file-outline, file-remove-outline, file-text-outline, film-outline, flag-outline, flash-off-outline, flash-outline, flip-2-outline, flip-outline, folder-add-outline, folder-outline, folder-remove-outline, funnel-outline, gift-outline, github-outline, globe-2-outline, globe-outline, google-outline, grid-outline, hard-drive-outline, hash-outline, headphones-outline, heart-outline, home-outline, image-outline, inbox-outline, info-outline, keypad-outline, layers-outline, layout-outline, link-2-outline, link-outline, linkedin-outline, list-outline, loader-outline, lock-outline, log-in-outline, log-out-outline, map-outline, maximize-outline, menu-2-outline, menu-arrow-outline, menu-outline, message-circle-outline, message-square-outline, mic-off-outline, mic-outline, minimize-outline, minus-circle-outline, minus-outline, minus-square-outline, monitor-outline, moon-outline, more-horizontal-outline, more-vertical-outline, move-outline, music-outline, navigation-2-outline, navigation-outline, npm-outline, options-2-outline, options-outline, pantone-outline, paper-plane-outline, pause-circle-outline, people-outline, percent-outline, person-add-outline, person-delete-outline, person-done-outline, person-outline, person-remove-outline, phone-call-outline, phone-missed-outline, phone-off-outline, phone-outline, pie-chart-outline, pin-outline, play-circle-outline, plus-circle-outline, plus-outline, plus-square-outline, power-outline, pricetags-outline, printer-outline, question-mark-circle-outline, question-mark-outline, radio-button-off-outline, radio-button-on-outline, radio-outline, recording-outline, refresh-outline, repeat-outline, rewind-left-outline, rewind-right-outline, save-outline, scissors-outline, search-outline, settings-2-outline, settings-outline, shake-outline, share-outline, shield-off-outline, shield-outline, shopping-bag-outline, shopping-cart-outline, shuffle-2-outline, shuffle-outline, skip-back-outline, skip-forward-outline, slash-outline, smartphone-outline, speaker-outline, square-outline, star-outline, stop-circle-outline, sun-outline, swap-outline, sync-outline, text-outline, thermometer-minus-outline, thermometer-outline, thermometer-plus-outline, toggle-left-outline, toggle-right-outline, trash-2-outline, trash-outline, trending-down-outline, trending-up-outline, tv-outline, twitter-outline, umbrella-outline, undo-outline, unlock-outline, upload-outline, video-off-outline, video-outline, volume-down-outline, volume-mute-outline, volume-off-outline, volume-up-outline, wifi-off-outline, wifi-outline, default */function(a){a.exports={activity:'<g data-name=\"Layer 2\"><g data-name=\"activity\"><rect width=\"24\" height=\"24\" transform=\"rotate(90 12 12)\" opacity=\"0\"/><path d=\"M14.33 20h-.21a2 2 0 0 1-1.76-1.58L9.68 6l-2.76 6.4A1 1 0 0 1 6 13H3a1 1 0 0 1 0-2h2.34l2.51-5.79a2 2 0 0 1 3.79.38L14.32 18l2.76-6.38A1 1 0 0 1 18 11h3a1 1 0 0 1 0 2h-2.34l-2.51 5.79A2 2 0 0 1 14.33 20z\"/></g></g>',\"alert-circle\":'<g data-name=\"Layer 2\"><g data-name=\"alert-circle\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm0 15a1 1 0 1 1 1-1 1 1 0 0 1-1 1zm1-4a1 1 0 0 1-2 0V8a1 1 0 0 1 2 0z\"/></g></g>',\"alert-triangle\":'<g data-name=\"Layer 2\"><g data-name=\"alert-triangle\"><rect width=\"24\" height=\"24\" transform=\"rotate(90 12 12)\" opacity=\"0\"/><path d=\"M22.56 16.3L14.89 3.58a3.43 3.43 0 0 0-5.78 0L1.44 16.3a3 3 0 0 0-.05 3A3.37 3.37 0 0 0 4.33 21h15.34a3.37 3.37 0 0 0 2.94-1.66 3 3 0 0 0-.05-3.04zM12 17a1 1 0 1 1 1-1 1 1 0 0 1-1 1zm1-4a1 1 0 0 1-2 0V9a1 1 0 0 1 2 0z\"/></g></g>',archive:'<g data-name=\"Layer 2\"><g data-name=\"archive\"><rect width=\"24\" height=\"24\" transform=\"rotate(90 12 12)\" opacity=\"0\"/><path d=\"M18 3H6a3 3 0 0 0-2 5.22V18a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V8.22A3 3 0 0 0 18 3zm-3 10.13a.87.87 0 0 1-.87.87H9.87a.87.87 0 0 1-.87-.87v-.26a.87.87 0 0 1 .87-.87h4.26a.87.87 0 0 1 .87.87zM18 7H6a1 1 0 0 1 0-2h12a1 1 0 0 1 0 2z\"/></g></g>',\"arrow-back\":'<g data-name=\"Layer 2\"><g data-name=\"arrow-back\"><rect width=\"24\" height=\"24\" transform=\"rotate(90 12 12)\" opacity=\"0\"/><path d=\"M19 11H7.14l3.63-4.36a1 1 0 1 0-1.54-1.28l-5 6a1.19 1.19 0 0 0-.09.15c0 .05 0 .08-.07.13A1 1 0 0 0 4 12a1 1 0 0 0 .07.36c0 .05 0 .08.07.13a1.19 1.19 0 0 0 .09.15l5 6A1 1 0 0 0 10 19a1 1 0 0 0 .64-.23 1 1 0 0 0 .13-1.41L7.14 13H19a1 1 0 0 0 0-2z\"/></g></g>',\"arrow-circle-down\":'<g data-name=\"Layer 2\"><g data-name=\"arrow-circle-down\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm3.69 11.86l-3 2.86a.49.49 0 0 1-.15.1.54.54 0 0 1-.16.1.94.94 0 0 1-.76 0 1 1 0 0 1-.33-.21l-3-3a1 1 0 0 1 1.42-1.42l1.29 1.3V8a1 1 0 0 1 2 0v5.66l1.31-1.25a1 1 0 0 1 1.38 1.45z\"/></g></g>',\"arrow-circle-left\":'<g data-name=\"Layer 2\"><g data-name=\"arrow-circle-left\"><rect width=\"24\" height=\"24\" transform=\"rotate(90 12 12)\" opacity=\"0\"/><path d=\"M22 12a10 10 0 1 0-10 10 10 10 0 0 0 10-10zm-11.86 3.69l-2.86-3a.49.49 0 0 1-.1-.15.54.54 0 0 1-.1-.16.94.94 0 0 1 0-.76 1 1 0 0 1 .21-.33l3-3a1 1 0 0 1 1.42 1.42L10.41 11H16a1 1 0 0 1 0 2h-5.66l1.25 1.31a1 1 0 0 1-1.45 1.38z\"/></g></g>',\"arrow-circle-right\":'<g data-name=\"Layer 2\"><g data-name=\"arrow-circle-right\"><rect width=\"24\" height=\"24\" transform=\"rotate(-90 12 12)\" opacity=\"0\"/><path d=\"M2 12A10 10 0 1 0 12 2 10 10 0 0 0 2 12zm11.86-3.69l2.86 3a.49.49 0 0 1 .1.15.54.54 0 0 1 .1.16.94.94 0 0 1 0 .76 1 1 0 0 1-.21.33l-3 3a1 1 0 0 1-1.42-1.42l1.3-1.29H8a1 1 0 0 1 0-2h5.66l-1.25-1.31a1 1 0 0 1 1.45-1.38z\"/></g></g>',\"arrow-circle-up\":'<g data-name=\"Layer 2\"><g data-name=\"arrow-circle-up\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M12 22A10 10 0 1 0 2 12a10 10 0 0 0 10 10zM8.31 10.14l3-2.86a.49.49 0 0 1 .15-.1.54.54 0 0 1 .16-.1.94.94 0 0 1 .76 0 1 1 0 0 1 .33.21l3 3a1 1 0 0 1-1.42 1.42L13 10.41V16a1 1 0 0 1-2 0v-5.66l-1.31 1.25a1 1 0 0 1-1.38-1.45z\"/></g></g>',\"arrow-down\":'<g data-name=\"Layer 2\"><g data-name=\"arrow-downward\"><rect width=\"24\" height=\"24\" transform=\"rotate(-90 12 12)\" opacity=\"0\"/><path d=\"M12 17a1.72 1.72 0 0 1-1.33-.64l-4.21-5.1a2.1 2.1 0 0 1-.26-2.21A1.76 1.76 0 0 1 7.79 8h8.42a1.76 1.76 0 0 1 1.59 1.05 2.1 2.1 0 0 1-.26 2.21l-4.21 5.1A1.72 1.72 0 0 1 12 17z\"/></g></g>',\"arrow-downward\":'<g data-name=\"Layer 2\"><g data-name=\"arrow-down\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M18.77 13.36a1 1 0 0 0-1.41-.13L13 16.86V5a1 1 0 0 0-2 0v11.86l-4.36-3.63a1 1 0 1 0-1.28 1.54l6 5 .15.09.13.07a1 1 0 0 0 .72 0l.13-.07.15-.09 6-5a1 1 0 0 0 .13-1.41z\"/></g></g>',\"arrow-forward\":'<g data-name=\"Layer 2\"><g data-name=\"arrow-forward\"><rect width=\"24\" height=\"24\" transform=\"rotate(-90 12 12)\" opacity=\"0\"/><path d=\"M5 13h11.86l-3.63 4.36a1 1 0 0 0 1.54 1.28l5-6a1.19 1.19 0 0 0 .09-.15c0-.05.05-.08.07-.13A1 1 0 0 0 20 12a1 1 0 0 0-.07-.36c0-.05-.05-.08-.07-.13a1.19 1.19 0 0 0-.09-.15l-5-6A1 1 0 0 0 14 5a1 1 0 0 0-.64.23 1 1 0 0 0-.13 1.41L16.86 11H5a1 1 0 0 0 0 2z\"/></g></g>',\"arrow-ios-back\":'<g data-name=\"Layer 2\"><g data-name=\"arrow-ios-back\"><rect width=\"24\" height=\"24\" transform=\"rotate(90 12 12)\" opacity=\"0\"/><path d=\"M13.83 19a1 1 0 0 1-.78-.37l-4.83-6a1 1 0 0 1 0-1.27l5-6a1 1 0 0 1 1.54 1.28L10.29 12l4.32 5.36a1 1 0 0 1-.78 1.64z\"/></g></g>',\"arrow-ios-downward\":'<g data-name=\"Layer 2\"><g data-name=\"arrow-ios-downward\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M12 16a1 1 0 0 1-.64-.23l-6-5a1 1 0 1 1 1.28-1.54L12 13.71l5.36-4.32a1 1 0 0 1 1.41.15 1 1 0 0 1-.14 1.46l-6 4.83A1 1 0 0 1 12 16z\"/></g></g>',\"arrow-ios-forward\":'<g data-name=\"Layer 2\"><g data-name=\"arrow-ios-forward\"><rect width=\"24\" height=\"24\" transform=\"rotate(-90 12 12)\" opacity=\"0\"/><path d=\"M10 19a1 1 0 0 1-.64-.23 1 1 0 0 1-.13-1.41L13.71 12 9.39 6.63a1 1 0 0 1 .15-1.41 1 1 0 0 1 1.46.15l4.83 6a1 1 0 0 1 0 1.27l-5 6A1 1 0 0 1 10 19z\"/></g></g>',\"arrow-ios-upward\":'<g data-name=\"Layer 2\"><g data-name=\"arrow-ios-upward\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M18 15a1 1 0 0 1-.64-.23L12 10.29l-5.37 4.32a1 1 0 0 1-1.41-.15 1 1 0 0 1 .15-1.41l6-4.83a1 1 0 0 1 1.27 0l6 5a1 1 0 0 1 .13 1.41A1 1 0 0 1 18 15z\"/></g></g>',\"arrow-left\":'<g data-name=\"Layer 2\"><g data-name=\"arrow-left\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M13.54 18a2.06 2.06 0 0 1-1.3-.46l-5.1-4.21a1.7 1.7 0 0 1 0-2.66l5.1-4.21a2.1 2.1 0 0 1 2.21-.26 1.76 1.76 0 0 1 1.05 1.59v8.42a1.76 1.76 0 0 1-1.05 1.59 2.23 2.23 0 0 1-.91.2z\"/></g></g>',\"arrow-right\":'<g data-name=\"Layer 2\"><g data-name=\"arrow-right\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M10.46 18a2.23 2.23 0 0 1-.91-.2 1.76 1.76 0 0 1-1.05-1.59V7.79A1.76 1.76 0 0 1 9.55 6.2a2.1 2.1 0 0 1 2.21.26l5.1 4.21a1.7 1.7 0 0 1 0 2.66l-5.1 4.21a2.06 2.06 0 0 1-1.3.46z\"/></g></g>',\"arrow-up\":'<g data-name=\"Layer 2\"><g data-name=\"arrow-up\"><rect width=\"24\" height=\"24\" transform=\"rotate(90 12 12)\" opacity=\"0\"/><path d=\"M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1 2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1z\"/></g></g>',\"arrow-upward\":'<g data-name=\"Layer 2\"><g data-name=\"arrow-upward\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M5.23 10.64a1 1 0 0 0 1.41.13L11 7.14V19a1 1 0 0 0 2 0V7.14l4.36 3.63a1 1 0 1 0 1.28-1.54l-6-5-.15-.09-.13-.07a1 1 0 0 0-.72 0l-.13.07-.15.09-6 5a1 1 0 0 0-.13 1.41z\"/></g></g>',\"arrowhead-down\":'<g data-name=\"Layer 2\"><g data-name=\"arrowhead-down\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M17.37 12.39L12 16.71l-5.36-4.48a1 1 0 1 0-1.28 1.54l6 5a1 1 0 0 0 1.27 0l6-4.83a1 1 0 0 0 .15-1.41 1 1 0 0 0-1.41-.14z\"/><path d=\"M11.36 11.77a1 1 0 0 0 1.27 0l6-4.83a1 1 0 0 0 .15-1.41 1 1 0 0 0-1.41-.15L12 9.71 6.64 5.23a1 1 0 0 0-1.28 1.54z\"/></g></g>',\"arrowhead-left\":'<g data-name=\"Layer 2\"><g data-name=\"arrowhead-left\"><rect width=\"24\" height=\"24\" transform=\"rotate(90 12 12)\" opacity=\"0\"/><path d=\"M11.64 5.23a1 1 0 0 0-1.41.13l-5 6a1 1 0 0 0 0 1.27l4.83 6a1 1 0 0 0 .78.37 1 1 0 0 0 .78-1.63L7.29 12l4.48-5.37a1 1 0 0 0-.13-1.4z\"/><path d=\"M14.29 12l4.48-5.37a1 1 0 0 0-1.54-1.28l-5 6a1 1 0 0 0 0 1.27l4.83 6a1 1 0 0 0 .78.37 1 1 0 0 0 .78-1.63z\"/></g></g>',\"arrowhead-right\":'<g data-name=\"Layer 2\"><g data-name=\"arrowhead-right\"><rect width=\"24\" height=\"24\" transform=\"rotate(-90 12 12)\" opacity=\"0\"/><path d=\"M18.78 11.37l-4.78-6a1 1 0 0 0-1.41-.15 1 1 0 0 0-.15 1.41L16.71 12l-4.48 5.37a1 1 0 0 0 .13 1.41A1 1 0 0 0 13 19a1 1 0 0 0 .77-.36l5-6a1 1 0 0 0 .01-1.27z\"/><path d=\"M7 5.37a1 1 0 0 0-1.61 1.26L9.71 12l-4.48 5.36a1 1 0 0 0 .13 1.41A1 1 0 0 0 6 19a1 1 0 0 0 .77-.36l5-6a1 1 0 0 0 0-1.27z\"/></g></g>',\"arrowhead-up\":'<g data-name=\"Layer 2\"><g data-name=\"arrowhead-up\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M6.63 11.61L12 7.29l5.37 4.48A1 1 0 0 0 18 12a1 1 0 0 0 .77-.36 1 1 0 0 0-.13-1.41l-6-5a1 1 0 0 0-1.27 0l-6 4.83a1 1 0 0 0-.15 1.41 1 1 0 0 0 1.41.14z\"/><path d=\"M12.64 12.23a1 1 0 0 0-1.27 0l-6 4.83a1 1 0 0 0-.15 1.41 1 1 0 0 0 1.41.15L12 14.29l5.37 4.48A1 1 0 0 0 18 19a1 1 0 0 0 .77-.36 1 1 0 0 0-.13-1.41z\"/></g></g>',at:'<g data-name=\"Layer 2\"><g data-name=\"at\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M13 2a10 10 0 0 0-5 19.1 10.15 10.15 0 0 0 4 .9 10 10 0 0 0 6.08-2.06 1 1 0 0 0 .19-1.4 1 1 0 0 0-1.41-.19A8 8 0 1 1 12.77 4 8.17 8.17 0 0 1 20 12.22v.68a1.71 1.71 0 0 1-1.78 1.7 1.82 1.82 0 0 1-1.62-1.88V8.4a1 1 0 0 0-1-1 1 1 0 0 0-1 .87 5 5 0 0 0-3.44-1.36A5.09 5.09 0 1 0 15.31 15a3.6 3.6 0 0 0 5.55.61A3.67 3.67 0 0 0 22 12.9v-.68A10.2 10.2 0 0 0 13 2zm-1.82 13.09A3.09 3.09 0 1 1 14.27 12a3.1 3.1 0 0 1-3.09 3.09z\"/></g></g>',\"attach-2\":'<g data-name=\"Layer 2\"><g data-name=\"attach-2\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M12 22a5.86 5.86 0 0 1-6-5.7V6.13A4.24 4.24 0 0 1 10.33 2a4.24 4.24 0 0 1 4.34 4.13v10.18a2.67 2.67 0 0 1-5.33 0V6.92a1 1 0 0 1 1-1 1 1 0 0 1 1 1v9.39a.67.67 0 0 0 1.33 0V6.13A2.25 2.25 0 0 0 10.33 4 2.25 2.25 0 0 0 8 6.13V16.3a3.86 3.86 0 0 0 4 3.7 3.86 3.86 0 0 0 4-3.7V6.13a1 1 0 1 1 2 0V16.3a5.86 5.86 0 0 1-6 5.7z\"/></g></g>',attach:'<g data-name=\"Layer 2\"><g data-name=\"attach\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M9.29 21a6.23 6.23 0 0 1-4.43-1.88 6 6 0 0 1-.22-8.49L12 3.2A4.11 4.11 0 0 1 15 2a4.48 4.48 0 0 1 3.19 1.35 4.36 4.36 0 0 1 .15 6.13l-7.4 7.43a2.54 2.54 0 0 1-1.81.75 2.72 2.72 0 0 1-1.95-.82 2.68 2.68 0 0 1-.08-3.77l6.83-6.86a1 1 0 0 1 1.37 1.41l-6.83 6.86a.68.68 0 0 0 .08.95.78.78 0 0 0 .53.23.56.56 0 0 0 .4-.16l7.39-7.43a2.36 2.36 0 0 0-.15-3.31 2.38 2.38 0 0 0-3.27-.15L6.06 12a4 4 0 0 0 .22 5.67 4.22 4.22 0 0 0 3 1.29 3.67 3.67 0 0 0 2.61-1.06l7.39-7.43a1 1 0 1 1 1.42 1.41l-7.39 7.43A5.65 5.65 0 0 1 9.29 21z\"/></g></g>',award:'<g data-name=\"Layer 2\"><g data-name=\"award\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M19 20.75l-2.31-9A5.94 5.94 0 0 0 18 8 6 6 0 0 0 6 8a5.94 5.94 0 0 0 1.34 3.77L5 20.75a1 1 0 0 0 1.48 1.11l5.33-3.13 5.68 3.14A.91.91 0 0 0 18 22a1 1 0 0 0 1-1.25zM12 4a4 4 0 1 1-4 4 4 4 0 0 1 4-4z\"/></g></g>',backspace:'<g data-name=\"Layer 2\"><g data-name=\"backspace\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M20.14 4h-9.77a3 3 0 0 0-2 .78l-.1.11-6 7.48a1 1 0 0 0 .11 1.37l6 5.48a3 3 0 0 0 2 .78h9.77A1.84 1.84 0 0 0 22 18.18V5.82A1.84 1.84 0 0 0 20.14 4zm-3.43 9.29a1 1 0 0 1 0 1.42 1 1 0 0 1-1.42 0L14 13.41l-1.29 1.3a1 1 0 0 1-1.42 0 1 1 0 0 1 0-1.42l1.3-1.29-1.3-1.29a1 1 0 0 1 1.42-1.42l1.29 1.3 1.29-1.3a1 1 0 0 1 1.42 1.42L15.41 12z\"/></g></g>',\"bar-chart-2\":'<g data-name=\"Layer 2\"><g data-name=\"bar-chart-2\"><rect width=\"24\" height=\"24\" transform=\"rotate(90 12 12)\" opacity=\"0\"/><path d=\"M12 8a1 1 0 0 0-1 1v11a1 1 0 0 0 2 0V9a1 1 0 0 0-1-1z\"/><path d=\"M19 4a1 1 0 0 0-1 1v15a1 1 0 0 0 2 0V5a1 1 0 0 0-1-1z\"/><path d=\"M5 12a1 1 0 0 0-1 1v7a1 1 0 0 0 2 0v-7a1 1 0 0 0-1-1z\"/></g></g>',\"bar-chart\":'<g data-name=\"Layer 2\"><g data-name=\"bar-chart\"><rect width=\"24\" height=\"24\" transform=\"rotate(90 12 12)\" opacity=\"0\"/><path d=\"M12 4a1 1 0 0 0-1 1v15a1 1 0 0 0 2 0V5a1 1 0 0 0-1-1z\"/><path d=\"M19 12a1 1 0 0 0-1 1v7a1 1 0 0 0 2 0v-7a1 1 0 0 0-1-1z\"/><path d=\"M5 8a1 1 0 0 0-1 1v11a1 1 0 0 0 2 0V9a1 1 0 0 0-1-1z\"/></g></g>',battery:'<g data-name=\"Layer 2\"><g data-name=\"battery\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M15.83 6H4.17A2.31 2.31 0 0 0 2 8.43v7.14A2.31 2.31 0 0 0 4.17 18h11.66A2.31 2.31 0 0 0 18 15.57V8.43A2.31 2.31 0 0 0 15.83 6z\"/><path d=\"M21 9a1 1 0 0 0-1 1v4a1 1 0 0 0 2 0v-4a1 1 0 0 0-1-1z\"/></g></g>',behance:'<g data-name=\"Layer 2\"><g data-name=\"behance\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M14.76 11.19a1 1 0 0 0-1 1.09h2.06a1 1 0 0 0-1.06-1.09z\"/><path d=\"M9.49 12.3H8.26v1.94h1c1 0 1.44-.33 1.44-1s-.46-.94-1.21-.94z\"/><path d=\"M10.36 10.52c0-.53-.35-.85-.95-.85H8.26v1.74h.85c.89 0 1.25-.32 1.25-.89z\"/><path d=\"M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zM9.7 15.2H7V8.7h2.7c1.17 0 1.94.61 1.94 1.6a1.4 1.4 0 0 1-1.12 1.43A1.52 1.52 0 0 1 12 13.37c0 1.16-1 1.83-2.3 1.83zm3.55-6h3v.5h-3zM17 13.05h-3.3v.14a1.07 1.07 0 0 0 1.09 1.19.9.9 0 0 0 1-.63H17a2 2 0 0 1-2.17 1.55 2.15 2.15 0 0 1-2.36-2.3v-.44a2.11 2.11 0 0 1 2.28-2.25A2.12 2.12 0 0 1 17 12.58z\"/></g></g>',\"bell-off\":'<g data-name=\"Layer 2\"><g data-name=\"bell-off\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M15.88 18.71l-.59-.59L14 16.78l-.07-.07L6.58 9.4 5.31 8.14a5.68 5.68 0 0 0 0 .59v4.67l-1.8 1.81A1.64 1.64 0 0 0 4.64 18H8v.34A3.84 3.84 0 0 0 12 22a3.88 3.88 0 0 0 4-3.22zM14 18.34A1.88 1.88 0 0 1 12 20a1.88 1.88 0 0 1-2-1.66V18h4z\"/><path d=\"M7.13 4.3l1.46 1.46 9.53 9.53 2 2 .31.3a1.58 1.58 0 0 0 .45-.6 1.62 1.62 0 0 0-.35-1.78l-1.8-1.81V8.94a6.86 6.86 0 0 0-5.83-6.88 6.71 6.71 0 0 0-5.32 1.61 6.88 6.88 0 0 0-.58.54z\"/><path d=\"M20.71 19.29L19.41 18l-2-2-9.52-9.53L6.42 5 4.71 3.29a1 1 0 0 0-1.42 1.42L5.53 7l1.75 1.7 7.31 7.3.07.07L16 17.41l.59.59 2.7 2.71a1 1 0 0 0 1.42 0 1 1 0 0 0 0-1.42z\"/></g></g>',bell:'<g data-name=\"Layer 2\"><g data-name=\"bell\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M20.52 15.21l-1.8-1.81V8.94a6.86 6.86 0 0 0-5.82-6.88 6.74 6.74 0 0 0-7.62 6.67v4.67l-1.8 1.81A1.64 1.64 0 0 0 4.64 18H8v.34A3.84 3.84 0 0 0 12 22a3.84 3.84 0 0 0 4-3.66V18h3.36a1.64 1.64 0 0 0 1.16-2.79zM14 18.34A1.88 1.88 0 0 1 12 20a1.88 1.88 0 0 1-2-1.66V18h4z\"/></g></g>',bluetooth:'<g data-name=\"Layer 2\"><g data-name=\"bluetooth\"><rect width=\"24\" height=\"24\" transform=\"rotate(90 12 12)\" opacity=\"0\"/><path d=\"M13.63 12l4-3.79a1.14 1.14 0 0 0-.13-1.77l-4.67-3.23a1.17 1.17 0 0 0-1.21-.08 1.15 1.15 0 0 0-.62 1v6.2l-3.19-4a1 1 0 0 0-1.56 1.3L9.72 12l-3.5 4.43a1 1 0 0 0 .16 1.4A1 1 0 0 0 7 18a1 1 0 0 0 .78-.38L11 13.56v6.29A1.16 1.16 0 0 0 12.16 21a1.16 1.16 0 0 0 .67-.21l4.64-3.18a1.17 1.17 0 0 0 .49-.85 1.15 1.15 0 0 0-.34-.91zM13 5.76l2.5 1.73L13 9.85zm0 12.49v-4.07l2.47 2.38z\"/></g></g>',\"book-open\":'<g data-name=\"Layer 2\"><g data-name=\"book-open\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M21 4.34a1.24 1.24 0 0 0-1.08-.23L13 5.89v14.27l7.56-1.94A1.25 1.25 0 0 0 21.5 17V5.32a1.25 1.25 0 0 0-.5-.98z\"/><path d=\"M11 5.89L4.06 4.11A1.27 1.27 0 0 0 3 4.34a1.25 1.25 0 0 0-.48 1V17a1.25 1.25 0 0 0 .94 1.21L11 20.16z\"/></g></g>',book:'<g data-name=\"Layer 2\"><g data-name=\"book\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M19 3H7a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h12a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1zM7 19a1 1 0 0 1 0-2h11v2z\"/></g></g>',bookmark:'<g data-name=\"Layer 2\"><g data-name=\"bookmark\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M6 21a1 1 0 0 1-.49-.13A1 1 0 0 1 5 20V5.33A2.28 2.28 0 0 1 7.2 3h9.6A2.28 2.28 0 0 1 19 5.33V20a1 1 0 0 1-.5.86 1 1 0 0 1-1 0l-5.67-3.21-5.33 3.2A1 1 0 0 1 6 21z\"/></g></g>',briefcase:'<g data-name=\"Layer 2\"><g data-name=\"briefcase\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M7 21h10V7h-1V5.5A2.5 2.5 0 0 0 13.5 3h-3A2.5 2.5 0 0 0 8 5.5V7H7zm3-15.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5V7h-4z\"/><path d=\"M19 7v14a3 3 0 0 0 3-3v-8a3 3 0 0 0-3-3z\"/><path d=\"M5 7a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3z\"/></g></g>',browser:'<g data-name=\"Layer 2\"><g data-name=\"browser\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M18 3H6a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3zm-6 3a1 1 0 1 1-1 1 1 1 0 0 1 1-1zM8 6a1 1 0 1 1-1 1 1 1 0 0 1 1-1zm11 12a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1v-7h14z\"/></g></g>',brush:'<g data-name=\"Layer 2\"><g data-name=\"brush\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M7.12 12.55a4 4 0 0 0-3.07 3.86v3.11a.47.47 0 0 0 .48.48l3.24-.06a3.78 3.78 0 0 0 3.44-2.2 3.65 3.65 0 0 0-4.09-5.19z\"/><path d=\"M19.26 4.46a2.14 2.14 0 0 0-2.88.21L10 11.08a.47.47 0 0 0 0 .66L12.25 14a.47.47 0 0 0 .66 0l6.49-6.47a2.06 2.06 0 0 0 .6-1.47 2 2 0 0 0-.74-1.6z\"/></g></g>',bulb:'<g data-name=\"Layer 2\"><g data-name=\"bulb\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M12 7a5 5 0 0 0-3 9v4a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-4a5 5 0 0 0-3-9z\"/><path d=\"M12 6a1 1 0 0 0 1-1V3a1 1 0 0 0-2 0v2a1 1 0 0 0 1 1z\"/><path d=\"M21 11h-2a1 1 0 0 0 0 2h2a1 1 0 0 0 0-2z\"/><path d=\"M5 11H3a1 1 0 0 0 0 2h2a1 1 0 0 0 0-2z\"/><path d=\"M7.66 6.42L6.22 5a1 1 0 0 0-1.39 1.47l1.44 1.39a1 1 0 0 0 .73.28 1 1 0 0 0 .72-.31 1 1 0 0 0-.06-1.41z\"/><path d=\"M19.19 5.05a1 1 0 0 0-1.41 0l-1.44 1.37a1 1 0 0 0 0 1.41 1 1 0 0 0 .72.31 1 1 0 0 0 .69-.28l1.44-1.39a1 1 0 0 0 0-1.42z\"/></g></g>',calendar:'<g data-name=\"Layer 2\"><g data-name=\"calendar\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M18 4h-1V3a1 1 0 0 0-2 0v1H9V3a1 1 0 0 0-2 0v1H6a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3zM8 17a1 1 0 1 1 1-1 1 1 0 0 1-1 1zm8 0h-4a1 1 0 0 1 0-2h4a1 1 0 0 1 0 2zm3-6H5V7a1 1 0 0 1 1-1h1v1a1 1 0 0 0 2 0V6h6v1a1 1 0 0 0 2 0V6h1a1 1 0 0 1 1 1z\"/></g></g>',camera:'<g data-name=\"Layer 2\"><g data-name=\"camera\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><circle cx=\"12\" cy=\"14\" r=\"1.5\"/><path d=\"M19 7h-3V5.5A2.5 2.5 0 0 0 13.5 3h-3A2.5 2.5 0 0 0 8 5.5V7H5a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-8a3 3 0 0 0-3-3zm-9-1.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5V7h-4zm2 12a3.5 3.5 0 1 1 3.5-3.5 3.5 3.5 0 0 1-3.5 3.5z\"/></g></g>',car:'<g data-name=\"Layer 2\"><g data-name=\"car\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M21.6 11.22L17 7.52V5a1.91 1.91 0 0 0-1.81-2H3.79A1.91 1.91 0 0 0 2 5v10a2 2 0 0 0 1.2 1.88 3 3 0 1 0 5.6.12h6.36a3 3 0 1 0 5.64 0h.2a1 1 0 0 0 1-1v-4a1 1 0 0 0-.4-.78zM20 12.48V15h-3v-4.92zM7 18a1 1 0 1 1-1-1 1 1 0 0 1 1 1zm12 0a1 1 0 1 1-1-1 1 1 0 0 1 1 1z\"/></g></g>',cast:'<g data-name=\"Layer 2\"><g data-name=\"cast\"><polyline points=\"24 24 0 24 0 0\" opacity=\"0\"/><path d=\"M18.4 3H5.6A2.7 2.7 0 0 0 3 5.78V7a1 1 0 0 0 2 0V5.78A.72.72 0 0 1 5.6 5h12.8a.72.72 0 0 1 .6.78v12.44a.72.72 0 0 1-.6.78H17a1 1 0 0 0 0 2h1.4a2.7 2.7 0 0 0 2.6-2.78V5.78A2.7 2.7 0 0 0 18.4 3z\"/><path d=\"M3.86 14A1 1 0 0 0 3 15.17a1 1 0 0 0 1.14.83 2.49 2.49 0 0 1 2.12.72 2.52 2.52 0 0 1 .51 2.84 1 1 0 0 0 .48 1.33 1.06 1.06 0 0 0 .42.09 1 1 0 0 0 .91-.58A4.52 4.52 0 0 0 3.86 14z\"/><path d=\"M3.86 10.08a1 1 0 0 0 .28 2 6 6 0 0 1 5.09 1.71 6 6 0 0 1 1.53 5.95 1 1 0 0 0 .68 1.26.9.9 0 0 0 .28 0 1 1 0 0 0 1-.72 8 8 0 0 0-8.82-10.2z\"/><circle cx=\"4\" cy=\"19\" r=\"1\"/></g></g>',charging:'<g data-name=\"Layer 2\"><g data-name=\"charging\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M11.28 13H7a1 1 0 0 1-.86-.5 1 1 0 0 1 0-1L9.28 6H4.17A2.31 2.31 0 0 0 2 8.43v7.14A2.31 2.31 0 0 0 4.17 18h4.25z\"/><path d=\"M15.83 6h-4.25l-2.86 5H13a1 1 0 0 1 .86.5 1 1 0 0 1 0 1L10.72 18h5.11A2.31 2.31 0 0 0 18 15.57V8.43A2.31 2.31 0 0 0 15.83 6z\"/><path d=\"M21 9a1 1 0 0 0-1 1v4a1 1 0 0 0 2 0v-4a1 1 0 0 0-1-1z\"/></g></g>',\"checkmark-circle-2\":'<g data-name=\"Layer 2\"><g data-name=\"checkmark-circle-2\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm4.3 7.61l-4.57 6a1 1 0 0 1-.79.39 1 1 0 0 1-.79-.38l-2.44-3.11a1 1 0 0 1 1.58-1.23l1.63 2.08 3.78-5a1 1 0 1 1 1.6 1.22z\"/></g></g>',\"checkmark-circle\":'<g data-name=\"Layer 2\"><g data-name=\"checkmark-circle\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M9.71 11.29a1 1 0 0 0-1.42 1.42l3 3A1 1 0 0 0 12 16a1 1 0 0 0 .72-.34l7-8a1 1 0 0 0-1.5-1.32L12 13.54z\"/><path d=\"M21 11a1 1 0 0 0-1 1 8 8 0 0 1-8 8A8 8 0 0 1 6.33 6.36 7.93 7.93 0 0 1 12 4a8.79 8.79 0 0 1 1.9.22 1 1 0 1 0 .47-1.94A10.54 10.54 0 0 0 12 2a10 10 0 0 0-7 17.09A9.93 9.93 0 0 0 12 22a10 10 0 0 0 10-10 1 1 0 0 0-1-1z\"/></g></g>',\"checkmark-square-2\":'<g data-name=\"Layer 2\"><g data-name=\"checkmark-square-2\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M18 3H6a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3zm-1.7 6.61l-4.57 6a1 1 0 0 1-.79.39 1 1 0 0 1-.79-.38l-2.44-3.11a1 1 0 0 1 1.58-1.23l1.63 2.08 3.78-5a1 1 0 1 1 1.6 1.22z\"/></g></g>',\"checkmark-square\":'<g data-name=\"Layer 2\"><g data-name=\"checkmark-square\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M20 11.83a1 1 0 0 0-1 1v5.57a.6.6 0 0 1-.6.6H5.6a.6.6 0 0 1-.6-.6V5.6a.6.6 0 0 1 .6-.6h9.57a1 1 0 1 0 0-2H5.6A2.61 2.61 0 0 0 3 5.6v12.8A2.61 2.61 0 0 0 5.6 21h12.8a2.61 2.61 0 0 0 2.6-2.6v-5.57a1 1 0 0 0-1-1z\"/><path d=\"M10.72 11a1 1 0 0 0-1.44 1.38l2.22 2.33a1 1 0 0 0 .72.31 1 1 0 0 0 .72-.3l6.78-7a1 1 0 1 0-1.44-1.4l-6.05 6.26z\"/></g></g>',checkmark:'<g data-name=\"Layer 2\"><g data-name=\"checkmark\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M9.86 18a1 1 0 0 1-.73-.32l-4.86-5.17a1 1 0 1 1 1.46-1.37l4.12 4.39 8.41-9.2a1 1 0 1 1 1.48 1.34l-9.14 10a1 1 0 0 1-.73.33z\"/></g></g>',\"chevron-down\":'<g data-name=\"Layer 2\"><g data-name=\"chevron-down\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M12 15.5a1 1 0 0 1-.71-.29l-4-4a1 1 0 1 1 1.42-1.42L12 13.1l3.3-3.18a1 1 0 1 1 1.38 1.44l-4 3.86a1 1 0 0 1-.68.28z\"/></g></g>',\"chevron-left\":'<g data-name=\"Layer 2\"><g data-name=\"chevron-left\"><rect width=\"24\" height=\"24\" transform=\"rotate(90 12 12)\" opacity=\"0\"/><path d=\"M13.36 17a1 1 0 0 1-.72-.31l-3.86-4a1 1 0 0 1 0-1.4l4-4a1 1 0 1 1 1.42 1.42L10.9 12l3.18 3.3a1 1 0 0 1 0 1.41 1 1 0 0 1-.72.29z\"/></g></g>',\"chevron-right\":'<g data-name=\"Layer 2\"><g data-name=\"chevron-right\"><rect width=\"24\" height=\"24\" transform=\"rotate(-90 12 12)\" opacity=\"0\"/><path d=\"M10.5 17a1 1 0 0 1-.71-.29 1 1 0 0 1 0-1.42L13.1 12 9.92 8.69a1 1 0 0 1 0-1.41 1 1 0 0 1 1.42 0l3.86 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-.7.32z\"/></g></g>',\"chevron-up\":'<g data-name=\"Layer 2\"><g data-name=\"chevron-up\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M16 14.5a1 1 0 0 1-.71-.29L12 10.9l-3.3 3.18a1 1 0 0 1-1.41 0 1 1 0 0 1 0-1.42l4-3.86a1 1 0 0 1 1.4 0l4 4a1 1 0 0 1 0 1.42 1 1 0 0 1-.69.28z\"/></g></g>',clipboard:'<g data-name=\"Layer 2\"><g data-name=\"clipboard\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M18 4v3a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2V4a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3z\"/><rect x=\"7\" y=\"2\" width=\"10\" height=\"6\" rx=\"1\" ry=\"1\"/></g></g>',clock:'<g data-name=\"Layer 2\"><g data-name=\"clock\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm4 11h-4a1 1 0 0 1-1-1V8a1 1 0 0 1 2 0v3h3a1 1 0 0 1 0 2z\"/></g></g>',\"close-circle\":'<g data-name=\"Layer 2\"><g data-name=\"close-circle\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm2.71 11.29a1 1 0 0 1 0 1.42 1 1 0 0 1-1.42 0L12 13.41l-1.29 1.3a1 1 0 0 1-1.42 0 1 1 0 0 1 0-1.42l1.3-1.29-1.3-1.29a1 1 0 0 1 1.42-1.42l1.29 1.3 1.29-1.3a1 1 0 0 1 1.42 1.42L13.41 12z\"/></g></g>',\"close-square\":'<g data-name=\"Layer 2\"><g data-name=\"close-square\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M18 3H6a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3zm-3.29 10.29a1 1 0 0 1 0 1.42 1 1 0 0 1-1.42 0L12 13.41l-1.29 1.3a1 1 0 0 1-1.42 0 1 1 0 0 1 0-1.42l1.3-1.29-1.3-1.29a1 1 0 0 1 1.42-1.42l1.29 1.3 1.29-1.3a1 1 0 0 1 1.42 1.42L13.41 12z\"/></g></g>',close:'<g data-name=\"Layer 2\"><g data-name=\"close\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M13.41 12l4.3-4.29a1 1 0 1 0-1.42-1.42L12 10.59l-4.29-4.3a1 1 0 0 0-1.42 1.42l4.3 4.29-4.3 4.29a1 1 0 0 0 0 1.42 1 1 0 0 0 1.42 0l4.29-4.3 4.29 4.3a1 1 0 0 0 1.42 0 1 1 0 0 0 0-1.42z\"/></g></g>',\"cloud-download\":'<g data-name=\"Layer 2\"><g data-name=\"cloud-download\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M21.9 11c0-.11-.06-.22-.09-.33a4.17 4.17 0 0 0-.18-.57c-.05-.12-.12-.24-.18-.37s-.15-.3-.24-.44S21 9.08 21 9s-.2-.25-.31-.37-.21-.2-.32-.3L20 8l-.36-.24a3.68 3.68 0 0 0-.44-.23l-.39-.18a4.13 4.13 0 0 0-.5-.15 3 3 0 0 0-.41-.09h-.18A6 6 0 0 0 6.33 7h-.18a3 3 0 0 0-.41.09 4.13 4.13 0 0 0-.5.15l-.39.18a3.68 3.68 0 0 0-.44.23L4.05 8l-.37.31c-.11.1-.22.19-.32.3s-.21.25-.31.37-.18.23-.26.36-.16.29-.24.44-.13.25-.18.37a4.17 4.17 0 0 0-.18.57c0 .11-.07.22-.09.33A5.23 5.23 0 0 0 2 12a5.5 5.5 0 0 0 .09.91c0 .1.05.19.07.29a5.58 5.58 0 0 0 .18.58l.12.29a5 5 0 0 0 .3.56l.14.22a.56.56 0 0 0 .05.08L3 15a5 5 0 0 0 4 2 2 2 0 0 1 .59-1.41A2 2 0 0 1 9 15a1.92 1.92 0 0 1 1 .27V12a2 2 0 0 1 4 0v3.37a2 2 0 0 1 1-.27 2.05 2.05 0 0 1 1.44.61A2 2 0 0 1 17 17a5 5 0 0 0 4-2l.05-.05a.56.56 0 0 0 .05-.08l.14-.22a5 5 0 0 0 .3-.56l.12-.29a5.58 5.58 0 0 0 .18-.58c0-.1.05-.19.07-.29A5.5 5.5 0 0 0 22 12a5.23 5.23 0 0 0-.1-1z\"/><path d=\"M14.31 16.38L13 17.64V12a1 1 0 0 0-2 0v5.59l-1.29-1.3a1 1 0 0 0-1.42 1.42l3 3A1 1 0 0 0 12 21a1 1 0 0 0 .69-.28l3-2.9a1 1 0 1 0-1.38-1.44z\"/><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M21.9 11c0-.11-.06-.22-.09-.33a4.17 4.17 0 0 0-.18-.57c-.05-.12-.12-.24-.18-.37s-.15-.3-.24-.44S21 9.08 21 9s-.2-.25-.31-.37-.21-.2-.32-.3L20 8l-.36-.24a3.68 3.68 0 0 0-.44-.23l-.39-.18a4.13 4.13 0 0 0-.5-.15 3 3 0 0 0-.41-.09h-.18A6 6 0 0 0 6.33 7h-.18a3 3 0 0 0-.41.09 4.13 4.13 0 0 0-.5.15l-.39.18a3.68 3.68 0 0 0-.44.23L4.05 8l-.37.31c-.11.1-.22.19-.32.3s-.21.25-.31.37-.18.23-.26.36-.16.29-.24.44-.13.25-.18.37a4.17 4.17 0 0 0-.18.57c0 .11-.07.22-.09.33A5.23 5.23 0 0 0 2 12a5.5 5.5 0 0 0 .09.91c0 .1.05.19.07.29a5.58 5.58 0 0 0 .18.58l.12.29a5 5 0 0 0 .3.56l.14.22a.56.56 0 0 0 .05.08L3 15a5 5 0 0 0 4 2 2 2 0 0 1 .59-1.41A2 2 0 0 1 9 15a1.92 1.92 0 0 1 1 .27V12a2 2 0 0 1 4 0v3.37a2 2 0 0 1 1-.27 2.05 2.05 0 0 1 1.44.61A2 2 0 0 1 17 17a5 5 0 0 0 4-2l.05-.05a.56.56 0 0 0 .05-.08l.14-.22a5 5 0 0 0 .3-.56l.12-.29a5.58 5.58 0 0 0 .18-.58c0-.1.05-.19.07-.29A5.5 5.5 0 0 0 22 12a5.23 5.23 0 0 0-.1-1z\"/><path d=\"M14.31 16.38L13 17.64V12a1 1 0 0 0-2 0v5.59l-1.29-1.3a1 1 0 0 0-1.42 1.42l3 3A1 1 0 0 0 12 21a1 1 0 0 0 .69-.28l3-2.9a1 1 0 1 0-1.38-1.44z\"/></g></g>',\"cloud-upload\":'<g data-name=\"Layer 2\"><g data-name=\"cloud-upload\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M21.9 12c0-.11-.06-.22-.09-.33a4.17 4.17 0 0 0-.18-.57c-.05-.12-.12-.24-.18-.37s-.15-.3-.24-.44S21 10.08 21 10s-.2-.25-.31-.37-.21-.2-.32-.3L20 9l-.36-.24a3.68 3.68 0 0 0-.44-.23l-.39-.18a4.13 4.13 0 0 0-.5-.15 3 3 0 0 0-.41-.09L17.67 8A6 6 0 0 0 6.33 8l-.18.05a3 3 0 0 0-.41.09 4.13 4.13 0 0 0-.5.15l-.39.18a3.68 3.68 0 0 0-.44.23l-.36.3-.37.31c-.11.1-.22.19-.32.3s-.21.25-.31.37-.18.23-.26.36-.16.29-.24.44-.13.25-.18.37a4.17 4.17 0 0 0-.18.57c0 .11-.07.22-.09.33A5.23 5.23 0 0 0 2 13a5.5 5.5 0 0 0 .09.91c0 .1.05.19.07.29a5.58 5.58 0 0 0 .18.58l.12.29a5 5 0 0 0 .3.56l.14.22a.56.56 0 0 0 .05.08L3 16a5 5 0 0 0 4 2h3v-1.37a2 2 0 0 1-1 .27 2.05 2.05 0 0 1-1.44-.61 2 2 0 0 1 .05-2.83l3-2.9A2 2 0 0 1 12 10a2 2 0 0 1 1.41.59l3 3a2 2 0 0 1 0 2.82A2 2 0 0 1 15 17a1.92 1.92 0 0 1-1-.27V18h3a5 5 0 0 0 4-2l.05-.05a.56.56 0 0 0 .05-.08l.14-.22a5 5 0 0 0 .3-.56l.12-.29a5.58 5.58 0 0 0 .18-.58c0-.1.05-.19.07-.29A5.5 5.5 0 0 0 22 13a5.23 5.23 0 0 0-.1-1z\"/><path d=\"M12.71 11.29a1 1 0 0 0-1.4 0l-3 2.9a1 1 0 1 0 1.38 1.44L11 14.36V20a1 1 0 0 0 2 0v-5.59l1.29 1.3a1 1 0 0 0 1.42 0 1 1 0 0 0 0-1.42z\"/></g></g>',\"code-download\":'<g data-name=\"Layer 2\"><g data-name=\"code-download\"><rect width=\"24\" height=\"24\" transform=\"rotate(90 12 12)\" opacity=\"0\"/><path d=\"M4.29 12l4.48-5.36a1 1 0 1 0-1.54-1.28l-5 6a1 1 0 0 0 0 1.27l4.83 6a1 1 0 0 0 .78.37 1 1 0 0 0 .78-1.63z\"/><path d=\"M21.78 11.37l-4.78-6a1 1 0 0 0-1.56 1.26L19.71 12l-4.48 5.37a1 1 0 0 0 .13 1.41A1 1 0 0 0 16 19a1 1 0 0 0 .77-.36l5-6a1 1 0 0 0 .01-1.27z\"/><path d=\"M15.72 11.41a1 1 0 0 0-1.41 0L13 12.64V8a1 1 0 0 0-2 0v4.59l-1.29-1.3a1 1 0 0 0-1.42 1.42l3 3A1 1 0 0 0 12 16a1 1 0 0 0 .69-.28l3-2.9a1 1 0 0 0 .03-1.41z\"/></g></g>',code:'<g data-name=\"Layer 2\"><g data-name=\"code\"><rect width=\"24\" height=\"24\" transform=\"rotate(90 12 12)\" opacity=\"0\"/><path d=\"M8.64 5.23a1 1 0 0 0-1.41.13l-5 6a1 1 0 0 0 0 1.27l4.83 6a1 1 0 0 0 .78.37 1 1 0 0 0 .78-1.63L4.29 12l4.48-5.36a1 1 0 0 0-.13-1.41z\"/><path d=\"M21.78 11.37l-4.78-6a1 1 0 0 0-1.41-.15 1 1 0 0 0-.15 1.41L19.71 12l-4.48 5.37a1 1 0 0 0 .13 1.41A1 1 0 0 0 16 19a1 1 0 0 0 .77-.36l5-6a1 1 0 0 0 .01-1.27z\"/></g></g>',collapse:'<g data-name=\"Layer 2\"><g data-name=\"collapse\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M19 9h-2.58l3.29-3.29a1 1 0 1 0-1.42-1.42L15 7.57V5a1 1 0 0 0-1-1 1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h5a1 1 0 0 0 0-2z\"/><path d=\"M10 13H5a1 1 0 0 0 0 2h2.57l-3.28 3.29a1 1 0 0 0 0 1.42 1 1 0 0 0 1.42 0L9 16.42V19a1 1 0 0 0 1 1 1 1 0 0 0 1-1v-5a1 1 0 0 0-1-1z\"/></g></g>',\"color-palette\":'<g data-name=\"Layer 2\"><g data-name=\"color-palette\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M19.54 5.08A10.61 10.61 0 0 0 11.91 2a10 10 0 0 0-.05 20 2.58 2.58 0 0 0 2.53-1.89 2.52 2.52 0 0 0-.57-2.28.5.5 0 0 1 .37-.83h1.65A6.15 6.15 0 0 0 22 11.33a8.48 8.48 0 0 0-2.46-6.25zm-12.7 9.66a1.5 1.5 0 1 1 .4-2.08 1.49 1.49 0 0 1-.4 2.08zM8.3 9.25a1.5 1.5 0 1 1-.55-2 1.5 1.5 0 0 1 .55 2zM11 7a1.5 1.5 0 1 1 1.5-1.5A1.5 1.5 0 0 1 11 7zm5.75.8a1.5 1.5 0 1 1 .55-2 1.5 1.5 0 0 1-.55 2z\"/></g></g>',\"color-picker\":'<g data-name=\"Layer 2\"><g data-name=\"color-picker\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M19.4 7.34L16.66 4.6A1.92 1.92 0 0 0 14 4.53l-2 2-1.29-1.24a1 1 0 0 0-1.42 1.42L10.53 8 5 13.53a2 2 0 0 0-.57 1.21L4 18.91a1 1 0 0 0 .29.8A1 1 0 0 0 5 20h.09l4.17-.38a2 2 0 0 0 1.21-.57l5.58-5.58 1.24 1.24a1 1 0 0 0 1.42 0 1 1 0 0 0 0-1.42l-1.24-1.24 2-2a1.92 1.92 0 0 0-.07-2.71zm-13 7.6L12 9.36l2.69 2.7-2.79 2.79\"/></g></g>',compass:'<g data-name=\"Layer 2\"><g data-name=\"compass\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><polygon points=\"10.8 13.21 12.49 12.53 13.2 10.79 11.51 11.47 10.8 13.21\"/><path d=\"M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm3.93 7.42l-1.75 4.26a1 1 0 0 1-.55.55l-4.21 1.7A1 1 0 0 1 9 16a1 1 0 0 1-.71-.31h-.05a1 1 0 0 1-.18-1l1.75-4.26a1 1 0 0 1 .55-.55l4.21-1.7a1 1 0 0 1 1.1.25 1 1 0 0 1 .26.99z\"/></g></g>',copy:'<g data-name=\"Layer 2\"><g data-name=\"copy\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M18 9h-3V5.67A2.68 2.68 0 0 0 12.33 3H5.67A2.68 2.68 0 0 0 3 5.67v6.66A2.68 2.68 0 0 0 5.67 15H9v3a3 3 0 0 0 3 3h6a3 3 0 0 0 3-3v-6a3 3 0 0 0-3-3zm-9 3v1H5.67a.67.67 0 0 1-.67-.67V5.67A.67.67 0 0 1 5.67 5h6.66a.67.67 0 0 1 .67.67V9h-1a3 3 0 0 0-3 3z\"/></g></g>',\"corner-down-left\":'<g data-name=\"Layer 2\"><g data-name=\"corner-down-left\"><rect x=\".05\" y=\".05\" width=\"24\" height=\"24\" transform=\"rotate(-89.76 12.05 12.05)\" opacity=\"0\"/><path d=\"M20 6a1 1 0 0 0-1-1 1 1 0 0 0-1 1v5a1 1 0 0 1-.29.71A1 1 0 0 1 17 12H8.08l2.69-3.39a1 1 0 0 0-1.52-1.17l-4 5a1 1 0 0 0 0 1.25l4 5a1 1 0 0 0 .78.37 1 1 0 0 0 .62-.22 1 1 0 0 0 .15-1.41l-2.66-3.36h8.92a3 3 0 0 0 3-3z\"/></g></g>',\"corner-down-right\":'<g data-name=\"Layer 2\"><g data-name=\"corner-down-right\"><rect width=\"24\" height=\"24\" transform=\"rotate(-90 12 12)\" opacity=\"0\"/><path d=\"M19.78 12.38l-4-5a1 1 0 0 0-1.56 1.24l2.7 3.38H8a1 1 0 0 1-1-1V6a1 1 0 0 0-2 0v5a3 3 0 0 0 3 3h8.92l-2.7 3.38a1 1 0 0 0 .16 1.4A1 1 0 0 0 15 19a1 1 0 0 0 .78-.38l4-5a1 1 0 0 0 0-1.24z\"/></g></g>',\"corner-left-down\":'<g data-name=\"Layer 2\"><g data-name=\"corner-left-down\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M18 5h-5a3 3 0 0 0-3 3v8.92l-3.38-2.7a1 1 0 0 0-1.24 1.56l5 4a1 1 0 0 0 1.24 0l5-4a1 1 0 1 0-1.24-1.56L12 16.92V8a1 1 0 0 1 1-1h5a1 1 0 0 0 0-2z\"/></g></g>',\"corner-left-up\":'<g data-name=\"Layer 2\"><g data-name=\"corner-left-up\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M18 17h-5a1 1 0 0 1-1-1V7.08l3.38 2.7A1 1 0 0 0 16 10a1 1 0 0 0 .78-.38 1 1 0 0 0-.16-1.4l-5-4a1 1 0 0 0-1.24 0l-5 4a1 1 0 0 0 1.24 1.56L10 7.08V16a3 3 0 0 0 3 3h5a1 1 0 0 0 0-2z\"/></g></g>',\"corner-right-down\":'<g data-name=\"Layer 2\"><g data-name=\"corner-right-down\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M18.78 14.38a1 1 0 0 0-1.4-.16L14 16.92V8a3 3 0 0 0-3-3H6a1 1 0 0 0 0 2h5a1 1 0 0 1 1 1v8.92l-3.38-2.7a1 1 0 0 0-1.24 1.56l5 4a1 1 0 0 0 1.24 0l5-4a1 1 0 0 0 .16-1.4z\"/></g></g>',\"corner-right-up\":'<g data-name=\"Layer 2\"><g data-name=\"corner-right-up\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M18.62 8.22l-5-4a1 1 0 0 0-1.24 0l-5 4a1 1 0 0 0 1.24 1.56L12 7.08V16a1 1 0 0 1-1 1H6a1 1 0 0 0 0 2h5a3 3 0 0 0 3-3V7.08l3.38 2.7A1 1 0 0 0 18 10a1 1 0 0 0 .78-.38 1 1 0 0 0-.16-1.4z\"/></g></g>',\"corner-up-left\":'<g data-name=\"Layer 2\"><g data-name=\"corner-up-left\"><rect width=\"24\" height=\"24\" transform=\"rotate(90 12 12)\" opacity=\"0\"/><path d=\"M16 10H7.08l2.7-3.38a1 1 0 1 0-1.56-1.24l-4 5a1 1 0 0 0 0 1.24l4 5A1 1 0 0 0 9 17a1 1 0 0 0 .62-.22 1 1 0 0 0 .16-1.4L7.08 12H16a1 1 0 0 1 1 1v5a1 1 0 0 0 2 0v-5a3 3 0 0 0-3-3z\"/></g></g>',\"corner-up-right\":'<g data-name=\"Layer 2\"><g data-name=\"corner-up-right\"><rect width=\"24\" height=\"24\" transform=\"rotate(-90 12 12)\" opacity=\"0\"/><path d=\"M19.78 10.38l-4-5a1 1 0 0 0-1.56 1.24l2.7 3.38H8a3 3 0 0 0-3 3v5a1 1 0 0 0 2 0v-5a1 1 0 0 1 1-1h8.92l-2.7 3.38a1 1 0 0 0 .16 1.4A1 1 0 0 0 15 17a1 1 0 0 0 .78-.38l4-5a1 1 0 0 0 0-1.24z\"/></g></g>',\"credit-card\":'<g data-name=\"Layer 2\"><g data-name=\"credit-card\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M19 5H5a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3V8a3 3 0 0 0-3-3zm-8 10H7a1 1 0 0 1 0-2h4a1 1 0 0 1 0 2zm6 0h-2a1 1 0 0 1 0-2h2a1 1 0 0 1 0 2zm3-6H4V8a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1z\"/></g></g>',crop:'<g data-name=\"Layer 2\"><g data-name=\"crop\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M21 16h-3V8.56A2.56 2.56 0 0 0 15.44 6H8V3a1 1 0 0 0-2 0v3H3a1 1 0 0 0 0 2h3v7.44A2.56 2.56 0 0 0 8.56 18H16v3a1 1 0 0 0 2 0v-3h3a1 1 0 0 0 0-2zM8.56 16a.56.56 0 0 1-.56-.56V8h7.44a.56.56 0 0 1 .56.56V16z\"/></g></g>',cube:'<g data-name=\"Layer 2\"><g data-name=\"cube\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M11.25 11.83L3 8.36v7.73a1.69 1.69 0 0 0 1 1.52L11.19 21h.06z\"/><path d=\"M12 10.5l8.51-3.57a1.62 1.62 0 0 0-.51-.38l-7.2-3.37a1.87 1.87 0 0 0-1.6 0L4 6.55a1.62 1.62 0 0 0-.51.38z\"/><path d=\"M12.75 11.83V21h.05l7.2-3.39a1.69 1.69 0 0 0 1-1.51V8.36z\"/></g></g>',\"diagonal-arrow-left-down\":'<g data-name=\"Layer 2\"><g data-name=\"diagonal-arrow-left-down\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M17.71 6.29a1 1 0 0 0-1.42 0L8 14.59V9a1 1 0 0 0-2 0v8a1 1 0 0 0 1 1h8a1 1 0 0 0 0-2H9.41l8.3-8.29a1 1 0 0 0 0-1.42z\"/></g></g>',\"diagonal-arrow-left-up\":'<g data-name=\"Layer 2\"><g data-name=\"diagonal-arrow-left-up\"><rect width=\"24\" height=\"24\" transform=\"rotate(90 12 12)\" opacity=\"0\"/><path d=\"M17.71 16.29L9.42 8H15a1 1 0 0 0 0-2H7.05a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1H7a1 1 0 0 0 1-1V9.45l8.26 8.26a1 1 0 0 0 1.42 0 1 1 0 0 0 .03-1.42z\"/></g></g>',\"diagonal-arrow-right-down\":'<g data-name=\"Layer 2\"><g data-name=\"diagonal-arrow-right-down\"><rect width=\"24\" height=\"24\" transform=\"rotate(-90 12 12)\" opacity=\"0\"/><path d=\"M17 8a1 1 0 0 0-1 1v5.59l-8.29-8.3a1 1 0 0 0-1.42 1.42l8.3 8.29H9a1 1 0 0 0 0 2h8a1 1 0 0 0 1-1V9a1 1 0 0 0-1-1z\"/></g></g>',\"diagonal-arrow-right-up\":'<g data-name=\"Layer 2\"><g data-name=\"diagonal-arrow-right-up\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M18 7.05a1 1 0 0 0-1-1L9 6a1 1 0 0 0 0 2h5.56l-8.27 8.29a1 1 0 0 0 0 1.42 1 1 0 0 0 1.42 0L16 9.42V15a1 1 0 0 0 1 1 1 1 0 0 0 1-1z\"/></g></g>',\"done-all\":'<g data-name=\"Layer 2\"><g data-name=\"done-all\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M16.62 6.21a1 1 0 0 0-1.41.17l-7 9-3.43-4.18a1 1 0 1 0-1.56 1.25l4.17 5.18a1 1 0 0 0 .78.37 1 1 0 0 0 .83-.38l7.83-10a1 1 0 0 0-.21-1.41z\"/><path d=\"M21.62 6.21a1 1 0 0 0-1.41.17l-7 9-.61-.75-1.26 1.62 1.1 1.37a1 1 0 0 0 .78.37 1 1 0 0 0 .78-.38l7.83-10a1 1 0 0 0-.21-1.4z\"/><path d=\"M8.71 13.06L10 11.44l-.2-.24a1 1 0 0 0-1.43-.2 1 1 0 0 0-.15 1.41z\"/></g></g>',download:'<g data-name=\"Layer 2\"><g data-name=\"download\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><rect x=\"4\" y=\"18\" width=\"16\" height=\"2\" rx=\"1\" ry=\"1\"/><rect x=\"3\" y=\"17\" width=\"4\" height=\"2\" rx=\"1\" ry=\"1\" transform=\"rotate(-90 5 18)\"/><rect x=\"17\" y=\"17\" width=\"4\" height=\"2\" rx=\"1\" ry=\"1\" transform=\"rotate(-90 19 18)\"/><path d=\"M12 15a1 1 0 0 1-.58-.18l-4-2.82a1 1 0 0 1-.24-1.39 1 1 0 0 1 1.4-.24L12 12.76l3.4-2.56a1 1 0 0 1 1.2 1.6l-4 3a1 1 0 0 1-.6.2z\"/><path d=\"M12 13a1 1 0 0 1-1-1V4a1 1 0 0 1 2 0v8a1 1 0 0 1-1 1z\"/></g></g>',\"droplet-off\":'<g data-name=\"Layer 2\"><g data-name=\"droplet-off\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M19 16.14A7.73 7.73 0 0 0 17.34 8l-4.56-4.69a1 1 0 0 0-.71-.31 1 1 0 0 0-.72.3L8.74 5.92z\"/><path d=\"M6 8.82a7.73 7.73 0 0 0 .64 9.9A7.44 7.44 0 0 0 11.92 21a7.34 7.34 0 0 0 4.64-1.6z\"/><path d=\"M20.71 19.29l-16-16a1 1 0 0 0-1.42 1.42l16 16a1 1 0 0 0 1.42 0 1 1 0 0 0 0-1.42z\"/></g></g>',droplet:'<g data-name=\"Layer 2\"><g data-name=\"droplet\"><rect x=\".1\" y=\".1\" width=\"24\" height=\"24\" transform=\"rotate(.48 11.987 11.887)\" opacity=\"0\"/><path d=\"M12 21.1a7.4 7.4 0 0 1-5.28-2.28 7.73 7.73 0 0 1 .1-10.77l4.64-4.65a.94.94 0 0 1 .71-.3 1 1 0 0 1 .71.31l4.56 4.72a7.73 7.73 0 0 1-.09 10.77A7.33 7.33 0 0 1 12 21.1z\"/></g></g>',\"edit-2\":'<g data-name=\"Layer 2\"><g data-name=\"edit-2\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M19 20H5a1 1 0 0 0 0 2h14a1 1 0 0 0 0-2z\"/><path d=\"M5 18h.09l4.17-.38a2 2 0 0 0 1.21-.57l9-9a1.92 1.92 0 0 0-.07-2.71L16.66 2.6A2 2 0 0 0 14 2.53l-9 9a2 2 0 0 0-.57 1.21L4 16.91a1 1 0 0 0 .29.8A1 1 0 0 0 5 18zM15.27 4L18 6.73l-2 1.95L13.32 6z\"/></g></g>',edit:'<g data-name=\"Layer 2\"><g data-name=\"edit\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M19.4 7.34L16.66 4.6A2 2 0 0 0 14 4.53l-9 9a2 2 0 0 0-.57 1.21L4 18.91a1 1 0 0 0 .29.8A1 1 0 0 0 5 20h.09l4.17-.38a2 2 0 0 0 1.21-.57l9-9a1.92 1.92 0 0 0-.07-2.71zM16 10.68L13.32 8l1.95-2L18 8.73z\"/></g></g>',email:'<g data-name=\"Layer 2\"><g data-name=\"email\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M19 4H5a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3zm0 2l-6.5 4.47a1 1 0 0 1-1 0L5 6z\"/></g></g>',expand:'<g data-name=\"Layer 2\"><g data-name=\"expand\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M20 5a1 1 0 0 0-1-1h-5a1 1 0 0 0 0 2h2.57l-3.28 3.29a1 1 0 0 0 0 1.42 1 1 0 0 0 1.42 0L18 7.42V10a1 1 0 0 0 1 1 1 1 0 0 0 1-1z\"/><path d=\"M10.71 13.29a1 1 0 0 0-1.42 0L6 16.57V14a1 1 0 0 0-1-1 1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h5a1 1 0 0 0 0-2H7.42l3.29-3.29a1 1 0 0 0 0-1.42z\"/></g></g>',\"external-link\":'<g data-name=\"Layer 2\"><g data-name=\"external-link\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M20 11a1 1 0 0 0-1 1v6a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h6a1 1 0 0 0 0-2H6a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3v-6a1 1 0 0 0-1-1z\"/><path d=\"M16 5h1.58l-6.29 6.28a1 1 0 0 0 0 1.42 1 1 0 0 0 1.42 0L19 6.42V8a1 1 0 0 0 1 1 1 1 0 0 0 1-1V4a1 1 0 0 0-1-1h-4a1 1 0 0 0 0 2z\"/></g></g>',\"eye-off-2\":'<g data-name=\"Layer 2\"><g data-name=\"eye-off-2\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M17.81 13.39A8.93 8.93 0 0 0 21 7.62a1 1 0 1 0-2-.24 7.07 7.07 0 0 1-14 0 1 1 0 1 0-2 .24 8.93 8.93 0 0 0 3.18 5.77l-2.3 2.32a1 1 0 0 0 1.41 1.41l2.61-2.6a9.06 9.06 0 0 0 3.1.92V19a1 1 0 0 0 2 0v-3.56a9.06 9.06 0 0 0 3.1-.92l2.61 2.6a1 1 0 0 0 1.41-1.41z\"/></g></g>',\"eye-off\":'<g data-name=\"Layer 2\"><g data-name=\"eye-off\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><circle cx=\"12\" cy=\"12\" r=\"1.5\"/><path d=\"M15.29 18.12L14 16.78l-.07-.07-1.27-1.27a4.07 4.07 0 0 1-.61.06A3.5 3.5 0 0 1 8.5 12a4.07 4.07 0 0 1 .06-.61l-2-2L5 7.87a15.89 15.89 0 0 0-2.87 3.63 1 1 0 0 0 0 1c.63 1.09 4 6.5 9.89 6.5h.25a9.48 9.48 0 0 0 3.23-.67z\"/><path d=\"M8.59 5.76l2.8 2.8A4.07 4.07 0 0 1 12 8.5a3.5 3.5 0 0 1 3.5 3.5 4.07 4.07 0 0 1-.06.61l2.68 2.68.84.84a15.89 15.89 0 0 0 2.91-3.63 1 1 0 0 0 0-1c-.64-1.11-4.16-6.68-10.14-6.5a9.48 9.48 0 0 0-3.23.67z\"/><path d=\"M20.71 19.29L19.41 18l-2-2-9.52-9.53L6.42 5 4.71 3.29a1 1 0 0 0-1.42 1.42L5.53 7l1.75 1.7 7.31 7.3.07.07L16 17.41l.59.59 2.7 2.71a1 1 0 0 0 1.42 0 1 1 0 0 0 0-1.42z\"/></g></g>',eye:'<g data-name=\"Layer 2\"><g data-name=\"eye\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><circle cx=\"12\" cy=\"12\" r=\"1.5\"/><path d=\"M21.87 11.5c-.64-1.11-4.16-6.68-10.14-6.5-5.53.14-8.73 5-9.6 6.5a1 1 0 0 0 0 1c.63 1.09 4 6.5 9.89 6.5h.25c5.53-.14 8.74-5 9.6-6.5a1 1 0 0 0 0-1zm-9.87 4a3.5 3.5 0 1 1 3.5-3.5 3.5 3.5 0 0 1-3.5 3.5z\"/></g></g>',facebook:'<g data-name=\"Layer 2\"><g data-name=\"facebook\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M17 3.5a.5.5 0 0 0-.5-.5H14a4.77 4.77 0 0 0-5 4.5v2.7H6.5a.5.5 0 0 0-.5.5v2.6a.5.5 0 0 0 .5.5H9v6.7a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-6.7h2.62a.5.5 0 0 0 .49-.37l.72-2.6a.5.5 0 0 0-.48-.63H13V7.5a1 1 0 0 1 1-.9h2.5a.5.5 0 0 0 .5-.5z\"/></g></g>',\"file-add\":'<g data-name=\"Layer 2\"><g data-name=\"file-add\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M19.74 7.33l-4.44-5a1 1 0 0 0-.74-.33h-8A2.53 2.53 0 0 0 4 4.5v15A2.53 2.53 0 0 0 6.56 22h10.88A2.53 2.53 0 0 0 20 19.5V8a1 1 0 0 0-.26-.67zM14 15h-1v1a1 1 0 0 1-2 0v-1h-1a1 1 0 0 1 0-2h1v-1a1 1 0 0 1 2 0v1h1a1 1 0 0 1 0 2zm.71-7a.79.79 0 0 1-.71-.85V4l3.74 4z\"/></g></g>',\"file-remove\":'<g data-name=\"Layer 2\"><g data-name=\"file-remove\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M19.74 7.33l-4.44-5a1 1 0 0 0-.74-.33h-8A2.53 2.53 0 0 0 4 4.5v15A2.53 2.53 0 0 0 6.56 22h10.88A2.53 2.53 0 0 0 20 19.5V8a1 1 0 0 0-.26-.67zM14 15h-4a1 1 0 0 1 0-2h4a1 1 0 0 1 0 2zm.71-7a.79.79 0 0 1-.71-.85V4l3.74 4z\"/></g></g>',\"file-text\":'<g data-name=\"Layer 2\"><g data-name=\"file-text\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M19.74 7.33l-4.44-5a1 1 0 0 0-.74-.33h-8A2.53 2.53 0 0 0 4 4.5v15A2.53 2.53 0 0 0 6.56 22h10.88A2.53 2.53 0 0 0 20 19.5V8a1 1 0 0 0-.26-.67zM9 12h3a1 1 0 0 1 0 2H9a1 1 0 0 1 0-2zm6 6H9a1 1 0 0 1 0-2h6a1 1 0 0 1 0 2zm-.29-10a.79.79 0 0 1-.71-.85V4l3.74 4z\"/></g></g>',file:'<g data-name=\"Layer 2\"><g data-name=\"file\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M19.74 7.33l-4.44-5a1 1 0 0 0-.74-.33h-8A2.53 2.53 0 0 0 4 4.5v15A2.53 2.53 0 0 0 6.56 22h10.88A2.53 2.53 0 0 0 20 19.5V8a1 1 0 0 0-.26-.67zM14 4l3.74 4h-3a.79.79 0 0 1-.74-.85z\"/></g></g>',film:'<g data-name=\"Layer 2\"><g data-name=\"film\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M18.26 3H5.74A2.74 2.74 0 0 0 3 5.74v12.52A2.74 2.74 0 0 0 5.74 21h12.52A2.74 2.74 0 0 0 21 18.26V5.74A2.74 2.74 0 0 0 18.26 3zM7 11H5V9h2zm-2 2h2v2H5zm14-2h-2V9h2zm-2 2h2v2h-2zm2-7.26V7h-2V5h1.26a.74.74 0 0 1 .74.74zM5.74 5H7v2H5V5.74A.74.74 0 0 1 5.74 5zM5 18.26V17h2v2H5.74a.74.74 0 0 1-.74-.74zm14 0a.74.74 0 0 1-.74.74H17v-2h2z\"/></g></g>',flag:'<g data-name=\"Layer 2\"><g data-name=\"flag\"><polyline points=\"24 24 0 24 0 0\" opacity=\"0\"/><path d=\"M19.27 4.68a1.79 1.79 0 0 0-1.6-.25 7.53 7.53 0 0 1-2.17.28 8.54 8.54 0 0 1-3.13-.78A10.15 10.15 0 0 0 8.5 3c-2.89 0-4 1-4.2 1.14a1 1 0 0 0-.3.72V20a1 1 0 0 0 2 0v-4.3a6.28 6.28 0 0 1 2.5-.41 8.54 8.54 0 0 1 3.13.78 10.15 10.15 0 0 0 3.87.93 7.66 7.66 0 0 0 3.5-.7 1.74 1.74 0 0 0 1-1.55V6.11a1.77 1.77 0 0 0-.73-1.43z\"/></g></g>',\"flash-off\":'<g data-name=\"Layer 2\"><g data-name=\"flash-off\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M17.33 14.5l2.5-3.74A1 1 0 0 0 19 9.2h-5.89l.77-7.09a1 1 0 0 0-.65-1 1 1 0 0 0-1.17.38L8.94 6.11z\"/><path d=\"M6.67 9.5l-2.5 3.74A1 1 0 0 0 5 14.8h5.89l-.77 7.09a1 1 0 0 0 .65 1.05 1 1 0 0 0 .34.06 1 1 0 0 0 .83-.44l3.12-4.67z\"/><path d=\"M20.71 19.29l-16-16a1 1 0 0 0-1.42 1.42l16 16a1 1 0 0 0 1.42 0 1 1 0 0 0 0-1.42z\"/></g></g>',flash:'<g data-name=\"Layer 2\"><g data-name=\"flash\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M11.11 23a1 1 0 0 1-.34-.06 1 1 0 0 1-.65-1.05l.77-7.09H5a1 1 0 0 1-.83-1.56l7.89-11.8a1 1 0 0 1 1.17-.38 1 1 0 0 1 .65 1l-.77 7.14H19a1 1 0 0 1 .83 1.56l-7.89 11.8a1 1 0 0 1-.83.44z\"/></g></g>',\"flip-2\":'<g data-name=\"Layer 2\"><g data-name=\"flip-2\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M6.09 19h12l-1.3 1.29a1 1 0 0 0 1.42 1.42l3-3a1 1 0 0 0 0-1.42l-3-3a1 1 0 0 0-1.42 0 1 1 0 0 0 0 1.42l1.3 1.29h-12a1.56 1.56 0 0 1-1.59-1.53V13a1 1 0 0 0-2 0v2.47A3.56 3.56 0 0 0 6.09 19z\"/><path d=\"M5.79 9.71a1 1 0 1 0 1.42-1.42L5.91 7h12a1.56 1.56 0 0 1 1.59 1.53V11a1 1 0 0 0 2 0V8.53A3.56 3.56 0 0 0 17.91 5h-12l1.3-1.29a1 1 0 0 0 0-1.42 1 1 0 0 0-1.42 0l-3 3a1 1 0 0 0 0 1.42z\"/></g></g>',flip:'<g data-name=\"Layer 2\"><g data-name=\"flip-in\"><rect width=\"24\" height=\"24\" transform=\"rotate(-90 12 12)\" opacity=\"0\"/><path d=\"M5 6.09v12l-1.29-1.3a1 1 0 0 0-1.42 1.42l3 3a1 1 0 0 0 1.42 0l3-3a1 1 0 0 0 0-1.42 1 1 0 0 0-1.42 0L7 18.09v-12A1.56 1.56 0 0 1 8.53 4.5H11a1 1 0 0 0 0-2H8.53A3.56 3.56 0 0 0 5 6.09z\"/><path d=\"M14.29 5.79a1 1 0 0 0 1.42 1.42L17 5.91v12a1.56 1.56 0 0 1-1.53 1.59H13a1 1 0 0 0 0 2h2.47A3.56 3.56 0 0 0 19 17.91v-12l1.29 1.3a1 1 0 0 0 1.42 0 1 1 0 0 0 0-1.42l-3-3a1 1 0 0 0-1.42 0z\"/></g></g>',\"folder-add\":'<g data-name=\"Layer 2\"><g data-name=\"folder-add\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M19.5 7.05h-7L9.87 3.87a1 1 0 0 0-.77-.37H4.5A2.47 2.47 0 0 0 2 5.93v12.14a2.47 2.47 0 0 0 2.5 2.43h15a2.47 2.47 0 0 0 2.5-2.43V9.48a2.47 2.47 0 0 0-2.5-2.43zM14 15h-1v1a1 1 0 0 1-2 0v-1h-1a1 1 0 0 1 0-2h1v-1a1 1 0 0 1 2 0v1h1a1 1 0 0 1 0 2z\"/></g></g>',\"folder-remove\":'<g data-name=\"Layer 2\"><g data-name=\"folder-remove\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M19.5 7.05h-7L9.87 3.87a1 1 0 0 0-.77-.37H4.5A2.47 2.47 0 0 0 2 5.93v12.14a2.47 2.47 0 0 0 2.5 2.43h15a2.47 2.47 0 0 0 2.5-2.43V9.48a2.47 2.47 0 0 0-2.5-2.43zM14 15h-4a1 1 0 0 1 0-2h4a1 1 0 0 1 0 2z\"/></g></g>',folder:'<g data-name=\"Layer 2\"><g data-name=\"folder\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M19.5 20.5h-15A2.47 2.47 0 0 1 2 18.07V5.93A2.47 2.47 0 0 1 4.5 3.5h4.6a1 1 0 0 1 .77.37l2.6 3.18h7A2.47 2.47 0 0 1 22 9.48v8.59a2.47 2.47 0 0 1-2.5 2.43z\"/></g></g>',funnel:'<g data-name=\"Layer 2\"><g data-name=\"funnel\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M13.9 22a1 1 0 0 1-.6-.2l-4-3.05a1 1 0 0 1-.39-.8v-3.27l-4.8-9.22A1 1 0 0 1 5 4h14a1 1 0 0 1 .86.49 1 1 0 0 1 0 1l-5 9.21V21a1 1 0 0 1-.55.9 1 1 0 0 1-.41.1z\"/></g></g>',gift:'<g data-name=\"Layer 2\"><g data-name=\"gift\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M4.64 15.27v4.82a.92.92 0 0 0 .92.91h5.62v-5.73z\"/><path d=\"M12.82 21h5.62a.92.92 0 0 0 .92-.91v-4.82h-6.54z\"/><path d=\"M20.1 7.09h-1.84a2.82 2.82 0 0 0 .29-1.23A2.87 2.87 0 0 0 15.68 3 4.21 4.21 0 0 0 12 5.57 4.21 4.21 0 0 0 8.32 3a2.87 2.87 0 0 0-2.87 2.86 2.82 2.82 0 0 0 .29 1.23H3.9c-.5 0-.9.59-.9 1.31v3.93c0 .72.4 1.31.9 1.31h7.28V7.09h1.64v6.55h7.28c.5 0 .9-.59.9-1.31V8.4c0-.72-.4-1.31-.9-1.31zm-11.78 0a1.23 1.23 0 1 1 0-2.45c1.4 0 2.19 1.44 2.58 2.45zm7.36 0H13.1c.39-1 1.18-2.45 2.58-2.45a1.23 1.23 0 1 1 0 2.45z\"/></g></g>',github:'<g data-name=\"Layer 2\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M12 1A10.89 10.89 0 0 0 1 11.77 10.79 10.79 0 0 0 8.52 22c.55.1.75-.23.75-.52v-1.83c-3.06.65-3.71-1.44-3.71-1.44a2.86 2.86 0 0 0-1.22-1.58c-1-.66.08-.65.08-.65a2.31 2.31 0 0 1 1.68 1.11 2.37 2.37 0 0 0 3.2.89 2.33 2.33 0 0 1 .7-1.44c-2.44-.27-5-1.19-5-5.32a4.15 4.15 0 0 1 1.11-2.91 3.78 3.78 0 0 1 .11-2.84s.93-.29 3 1.1a10.68 10.68 0 0 1 5.5 0c2.1-1.39 3-1.1 3-1.1a3.78 3.78 0 0 1 .11 2.84A4.15 4.15 0 0 1 19 11.2c0 4.14-2.58 5.05-5 5.32a2.5 2.5 0 0 1 .75 2v2.95c0 .35.2.63.75.52A10.8 10.8 0 0 0 23 11.77 10.89 10.89 0 0 0 12 1\" data-name=\"github\"/></g>',\"globe-2\":'<g data-name=\"Layer 2\"><g data-name=\"globe-2\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm0 2a8.19 8.19 0 0 1 1.79.21 2.61 2.61 0 0 1-.78 1c-.22.17-.46.31-.7.46a4.56 4.56 0 0 0-1.85 1.67 6.49 6.49 0 0 0-.62 3.3c0 1.36 0 2.16-.95 2.87-1.37 1.07-3.46.47-4.76-.07A8.33 8.33 0 0 1 4 12a8 8 0 0 1 8-8zm4.89 14.32a6.79 6.79 0 0 0-.63-1.14c-.11-.16-.22-.32-.32-.49-.39-.68-.25-1 .38-2l.1-.17a4.77 4.77 0 0 0 .58-2.43 5.42 5.42 0 0 1 .09-1c.16-.73 1.71-.93 2.67-1a7.94 7.94 0 0 1-2.86 8.28z\"/></g></g>',\"globe-3\":'<g data-name=\"Layer 2\"><g data-name=\"globe-3\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zM5 15.8a8.42 8.42 0 0 0 2 .27 5 5 0 0 0 3.14-1c1.71-1.34 1.71-3.06 1.71-4.44a4.76 4.76 0 0 1 .37-2.34 2.86 2.86 0 0 1 1.12-.91 9.75 9.75 0 0 0 .92-.61 4.55 4.55 0 0 0 1.4-1.87A8 8 0 0 1 19 8.12c-1.43.2-3.46.67-3.86 2.53A7 7 0 0 0 15 12a2.93 2.93 0 0 1-.29 1.47l-.1.17c-.65 1.08-1.38 2.31-.39 4 .12.21.25.41.38.61a2.29 2.29 0 0 1 .52 1.08A7.89 7.89 0 0 1 12 20a8 8 0 0 1-7-4.2z\"/></g></g>',globe:'<g data-name=\"Layer 2\"><g data-name=\"globe\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M22 12A10 10 0 0 0 12 2a10 10 0 0 0 0 20 10 10 0 0 0 10-10zm-2.07-1H17a12.91 12.91 0 0 0-2.33-6.54A8 8 0 0 1 19.93 11zM9.08 13H15a11.44 11.44 0 0 1-3 6.61A11 11 0 0 1 9.08 13zm0-2A11.4 11.4 0 0 1 12 4.4a11.19 11.19 0 0 1 3 6.6zm.36-6.57A13.18 13.18 0 0 0 7.07 11h-3a8 8 0 0 1 5.37-6.57zM4.07 13h3a12.86 12.86 0 0 0 2.35 6.56A8 8 0 0 1 4.07 13zm10.55 6.55A13.14 13.14 0 0 0 17 13h2.95a8 8 0 0 1-5.33 6.55z\"/></g></g>',google:'<g data-name=\"Layer 2\"><g data-name=\"google\"><polyline points=\"0 0 24 0 24 24 0 24\" opacity=\"0\"/><path d=\"M17.5 14a5.51 5.51 0 0 1-4.5 3.93 6.15 6.15 0 0 1-7-5.45A6 6 0 0 1 12 6a6.12 6.12 0 0 1 2.27.44.5.5 0 0 0 .64-.21l1.44-2.65a.52.52 0 0 0-.23-.7A10 10 0 0 0 2 12.29 10.12 10.12 0 0 0 11.57 22 10 10 0 0 0 22 12.52v-2a.51.51 0 0 0-.5-.5h-9a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h5\"/></g></g>',grid:'<g data-name=\"Layer 2\"><g data-name=\"grid\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M9 3H5a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2z\"/><path d=\"M19 3h-4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2z\"/><path d=\"M9 13H5a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2z\"/><path d=\"M19 13h-4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2z\"/></g></g>',\"hard-drive\":'<g data-name=\"Layer 2\"><g data-name=\"hard-drive\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M20.79 11.34l-3.34-6.68A3 3 0 0 0 14.76 3H9.24a3 3 0 0 0-2.69 1.66l-3.34 6.68a2 2 0 0 0-.21.9V18a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3v-5.76a2 2 0 0 0-.21-.9zM8 17a1 1 0 1 1 1-1 1 1 0 0 1-1 1zm8 0h-4a1 1 0 0 1 0-2h4a1 1 0 0 1 0 2zM5.62 11l2.72-5.45a1 1 0 0 1 .9-.55h5.52a1 1 0 0 1 .9.55L18.38 11z\"/></g></g>',hash:'<g data-name=\"Layer 2\"><g data-name=\"hash\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M20 14h-4.3l.73-4H20a1 1 0 0 0 0-2h-3.21l.69-3.81A1 1 0 0 0 16.64 3a1 1 0 0 0-1.22.82L14.67 8h-3.88l.69-3.81A1 1 0 0 0 10.64 3a1 1 0 0 0-1.22.82L8.67 8H4a1 1 0 0 0 0 2h4.3l-.73 4H4a1 1 0 0 0 0 2h3.21l-.69 3.81A1 1 0 0 0 7.36 21a1 1 0 0 0 1.22-.82L9.33 16h3.88l-.69 3.81a1 1 0 0 0 .84 1.19 1 1 0 0 0 1.22-.82l.75-4.18H20a1 1 0 0 0 0-2zM9.7 14l.73-4h3.87l-.73 4z\"/></g></g>',headphones:'<g data-name=\"Layer 2\"><g data-name=\"headphones\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M12 2A10.2 10.2 0 0 0 2 12.37V17a4 4 0 1 0 4-4 3.91 3.91 0 0 0-2 .56v-1.19A8.2 8.2 0 0 1 12 4a8.2 8.2 0 0 1 8 8.37v1.19a3.91 3.91 0 0 0-2-.56 4 4 0 1 0 4 4v-4.63A10.2 10.2 0 0 0 12 2z\"/></g></g>',heart:'<g data-name=\"Layer 2\"><g data-name=\"heart\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M12 21a1 1 0 0 1-.71-.29l-7.77-7.78a5.26 5.26 0 0 1 0-7.4 5.24 5.24 0 0 1 7.4 0L12 6.61l1.08-1.08a5.24 5.24 0 0 1 7.4 0 5.26 5.26 0 0 1 0 7.4l-7.77 7.78A1 1 0 0 1 12 21z\"/></g></g>',home:'<g data-name=\"Layer 2\"><g data-name=\"home\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><rect x=\"10\" y=\"14\" width=\"4\" height=\"7\"/><path d=\"M20.42 10.18L12.71 2.3a1 1 0 0 0-1.42 0l-7.71 7.89A2 2 0 0 0 3 11.62V20a2 2 0 0 0 1.89 2H8v-9a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v9h3.11A2 2 0 0 0 21 20v-8.38a2.07 2.07 0 0 0-.58-1.44z\"/></g></g>',\"image-2\":'<g data-name=\"Layer 2\"><g data-name=\"image-2\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M18 3H6a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3zM8 7a1.5 1.5 0 1 1-1.5 1.5A1.5 1.5 0 0 1 8 7zm11 10.83A1.09 1.09 0 0 1 18 19H6l7.57-6.82a.69.69 0 0 1 .93 0l4.5 4.48z\"/></g></g>',image:'<g data-name=\"Layer 2\"><g data-name=\"image\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M18 3H6a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3zM6 5h12a1 1 0 0 1 1 1v8.36l-3.2-2.73a2.77 2.77 0 0 0-3.52 0L5 17.7V6a1 1 0 0 1 1-1z\"/><circle cx=\"8\" cy=\"8.5\" r=\"1.5\"/></g></g>',inbox:'<g data-name=\"Layer 2\"><g data-name=\"inbox\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M20.79 11.34l-3.34-6.68A3 3 0 0 0 14.76 3H9.24a3 3 0 0 0-2.69 1.66l-3.34 6.68a2 2 0 0 0-.21.9V18a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3v-5.76a2 2 0 0 0-.21-.9zM8.34 5.55a1 1 0 0 1 .9-.55h5.52a1 1 0 0 1 .9.55L18.38 11H16a1 1 0 0 0-1 1v2a1 1 0 0 1-1 1h-4a1 1 0 0 1-1-1v-2a1 1 0 0 0-1-1H5.62z\"/></g></g>',info:'<g data-name=\"Layer 2\"><g data-name=\"info\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm1 14a1 1 0 0 1-2 0v-5a1 1 0 0 1 2 0zm-1-7a1 1 0 1 1 1-1 1 1 0 0 1-1 1z\"/></g></g>',keypad:'<g data-name=\"Layer 2\"><g data-name=\"keypad\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M5 2a3 3 0 1 0 3 3 3 3 0 0 0-3-3z\"/><path d=\"M12 2a3 3 0 1 0 3 3 3 3 0 0 0-3-3z\"/><path d=\"M19 8a3 3 0 1 0-3-3 3 3 0 0 0 3 3z\"/><path d=\"M5 9a3 3 0 1 0 3 3 3 3 0 0 0-3-3z\"/><path d=\"M12 9a3 3 0 1 0 3 3 3 3 0 0 0-3-3z\"/><path d=\"M19 9a3 3 0 1 0 3 3 3 3 0 0 0-3-3z\"/><path d=\"M5 16a3 3 0 1 0 3 3 3 3 0 0 0-3-3z\"/><path d=\"M12 16a3 3 0 1 0 3 3 3 3 0 0 0-3-3z\"/><path d=\"M19 16a3 3 0 1 0 3 3 3 3 0 0 0-3-3z\"/></g></g>',layers:'<g data-name=\"Layer 2\"><g data-name=\"layers\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M3.24 7.29l8.52 4.63a.51.51 0 0 0 .48 0l8.52-4.63a.44.44 0 0 0-.05-.81L12.19 3a.5.5 0 0 0-.38 0L3.29 6.48a.44.44 0 0 0-.05.81z\"/><path d=\"M20.71 10.66l-1.83-.78-6.64 3.61a.51.51 0 0 1-.48 0L5.12 9.88l-1.83.78a.48.48 0 0 0 0 .85l8.52 4.9a.46.46 0 0 0 .48 0l8.52-4.9a.48.48 0 0 0-.1-.85z\"/><path d=\"M20.71 15.1l-1.56-.68-6.91 3.76a.51.51 0 0 1-.48 0l-6.91-3.76-1.56.68a.49.49 0 0 0 0 .87l8.52 5a.51.51 0 0 0 .48 0l8.52-5a.49.49 0 0 0-.1-.87z\"/></g></g>',layout:'<g data-name=\"Layer 2\"><g data-name=\"layout\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M21 8V6a3 3 0 0 0-3-3H6a3 3 0 0 0-3 3v2z\"/><path d=\"M3 10v8a3 3 0 0 0 3 3h5V10z\"/><path d=\"M13 10v11h5a3 3 0 0 0 3-3v-8z\"/></g></g>',\"link-2\":'<g data-name=\"Layer 2\"><g data-name=\"link-2\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M13.29 9.29l-4 4a1 1 0 0 0 0 1.42 1 1 0 0 0 1.42 0l4-4a1 1 0 0 0-1.42-1.42z\"/><path d=\"M12.28 17.4L11 18.67a4.2 4.2 0 0 1-5.58.4 4 4 0 0 1-.27-5.93l1.42-1.43a1 1 0 0 0 0-1.42 1 1 0 0 0-1.42 0l-1.27 1.28a6.15 6.15 0 0 0-.67 8.07 6.06 6.06 0 0 0 9.07.6l1.42-1.42a1 1 0 0 0-1.42-1.42z\"/><path d=\"M19.66 3.22a6.18 6.18 0 0 0-8.13.68L10.45 5a1.09 1.09 0 0 0-.17 1.61 1 1 0 0 0 1.42 0L13 5.3a4.17 4.17 0 0 1 5.57-.4 4 4 0 0 1 .27 5.95l-1.42 1.43a1 1 0 0 0 0 1.42 1 1 0 0 0 1.42 0l1.42-1.42a6.06 6.06 0 0 0-.6-9.06z\"/></g></g>',link:'<g data-name=\"Layer 2\"><g data-name=\"link\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M8 12a1 1 0 0 0 1 1h6a1 1 0 0 0 0-2H9a1 1 0 0 0-1 1z\"/><path d=\"M9 16H7.21A4.13 4.13 0 0 1 3 12.37 4 4 0 0 1 7 8h2a1 1 0 0 0 0-2H7.21a6.15 6.15 0 0 0-6.16 5.21A6 6 0 0 0 7 18h2a1 1 0 0 0 0-2z\"/><path d=\"M23 11.24A6.16 6.16 0 0 0 16.76 6h-1.51C14.44 6 14 6.45 14 7a1 1 0 0 0 1 1h1.79A4.13 4.13 0 0 1 21 11.63 4 4 0 0 1 17 16h-2a1 1 0 0 0 0 2h2a6 6 0 0 0 6-6.76z\"/></g></g>',linkedin:'<g data-name=\"Layer 2\"><g data-name=\"linkedin\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M15.15 8.4a5.83 5.83 0 0 0-5.85 5.82v5.88a.9.9 0 0 0 .9.9h2.1a.9.9 0 0 0 .9-.9v-5.88a1.94 1.94 0 0 1 2.15-1.93 2 2 0 0 1 1.75 2v5.81a.9.9 0 0 0 .9.9h2.1a.9.9 0 0 0 .9-.9v-5.88a5.83 5.83 0 0 0-5.85-5.82z\"/><rect x=\"3\" y=\"9.3\" width=\"4.5\" height=\"11.7\" rx=\".9\" ry=\".9\"/><circle cx=\"5.25\" cy=\"5.25\" r=\"2.25\"/></g></g>',list:'<g data-name=\"Layer 2\"><g data-name=\"list\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><circle cx=\"4\" cy=\"7\" r=\"1\"/><circle cx=\"4\" cy=\"12\" r=\"1\"/><circle cx=\"4\" cy=\"17\" r=\"1\"/><rect x=\"7\" y=\"11\" width=\"14\" height=\"2\" rx=\".94\" ry=\".94\"/><rect x=\"7\" y=\"16\" width=\"14\" height=\"2\" rx=\".94\" ry=\".94\"/><rect x=\"7\" y=\"6\" width=\"14\" height=\"2\" rx=\".94\" ry=\".94\"/></g></g>',lock:'<g data-name=\"Layer 2\"><g data-name=\"lock\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><circle cx=\"12\" cy=\"15\" r=\"1\"/><path d=\"M17 8h-1V6.11a4 4 0 1 0-8 0V8H7a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3v-8a3 3 0 0 0-3-3zm-7-1.89A2.06 2.06 0 0 1 12 4a2.06 2.06 0 0 1 2 2.11V8h-4zM12 18a3 3 0 1 1 3-3 3 3 0 0 1-3 3z\"/></g></g>',\"log-in\":'<g data-name=\"Layer 2\"><g data-name=\"log-in\"><rect width=\"24\" height=\"24\" transform=\"rotate(-90 12 12)\" opacity=\"0\"/><path d=\"M19 4h-2a1 1 0 0 0 0 2h1v12h-1a1 1 0 0 0 0 2h2a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1z\"/><path d=\"M11.8 7.4a1 1 0 0 0-1.6 1.2L12 11H4a1 1 0 0 0 0 2h8.09l-1.72 2.44a1 1 0 0 0 .24 1.4 1 1 0 0 0 .58.18 1 1 0 0 0 .81-.42l2.82-4a1 1 0 0 0 0-1.18z\"/></g></g>',\"log-out\":'<g data-name=\"Layer 2\"><g data-name=\"log-out\"><rect width=\"24\" height=\"24\" transform=\"rotate(90 12 12)\" opacity=\"0\"/><path d=\"M7 6a1 1 0 0 0 0-2H5a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h2a1 1 0 0 0 0-2H6V6z\"/><path d=\"M20.82 11.42l-2.82-4a1 1 0 0 0-1.39-.24 1 1 0 0 0-.24 1.4L18.09 11H10a1 1 0 0 0 0 2h8l-1.8 2.4a1 1 0 0 0 .2 1.4 1 1 0 0 0 .6.2 1 1 0 0 0 .8-.4l3-4a1 1 0 0 0 .02-1.18z\"/></g></g>',map:'<g data-name=\"Layer 2\"><g data-name=\"map\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M20.41 5.89l-4-1.8H15.59L12 5.7 8.41 4.09h-.05L8.24 4h-.6l-4 1.8a1 1 0 0 0-.64 1V19a1 1 0 0 0 .46.84A1 1 0 0 0 4 20a1 1 0 0 0 .41-.09L8 18.3l3.59 1.61h.05a.85.85 0 0 0 .72 0h.05L16 18.3l3.59 1.61A1 1 0 0 0 20 20a1 1 0 0 0 .54-.16A1 1 0 0 0 21 19V6.8a1 1 0 0 0-.59-.91zM9 6.55l2 .89v10l-2-.89zm10 10.9l-2-.89v-10l2 .89z\"/></g></g>',maximize:'<g data-name=\"Layer 2\"><g data-name=\"maximize\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M20.71 19.29l-3.4-3.39A7.92 7.92 0 0 0 19 11a8 8 0 1 0-8 8 7.92 7.92 0 0 0 4.9-1.69l3.39 3.4a1 1 0 0 0 1.42 0 1 1 0 0 0 0-1.42zM13 12h-1v1a1 1 0 0 1-2 0v-1H9a1 1 0 0 1 0-2h1V9a1 1 0 0 1 2 0v1h1a1 1 0 0 1 0 2z\"/></g></g>',\"menu-2\":'<g data-name=\"Layer 2\"><g data-name=\"menu-2\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><circle cx=\"4\" cy=\"12\" r=\"1\"/><rect x=\"7\" y=\"11\" width=\"14\" height=\"2\" rx=\".94\" ry=\".94\"/><rect x=\"3\" y=\"16\" width=\"18\" height=\"2\" rx=\".94\" ry=\".94\"/><rect x=\"3\" y=\"6\" width=\"18\" height=\"2\" rx=\".94\" ry=\".94\"/></g></g>',\"menu-arrow\":'<g data-name=\"Layer 2\"><g data-name=\"menu-arrow\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M20.05 11H5.91l1.3-1.29a1 1 0 0 0-1.42-1.42l-3 3a1 1 0 0 0 0 1.42l3 3a1 1 0 0 0 1.42 0 1 1 0 0 0 0-1.42L5.91 13h14.14a1 1 0 0 0 .95-.95V12a1 1 0 0 0-.95-1z\"/><rect x=\"3\" y=\"17\" width=\"18\" height=\"2\" rx=\".95\" ry=\".95\"/><rect x=\"3\" y=\"5\" width=\"18\" height=\"2\" rx=\".95\" ry=\".95\"/></g></g>',menu:'<g data-name=\"Layer 2\"><g data-name=\"menu\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><rect x=\"3\" y=\"11\" width=\"18\" height=\"2\" rx=\".95\" ry=\".95\"/><rect x=\"3\" y=\"16\" width=\"18\" height=\"2\" rx=\".95\" ry=\".95\"/><rect x=\"3\" y=\"6\" width=\"18\" height=\"2\" rx=\".95\" ry=\".95\"/></g></g>',\"message-circle\":'<g data-name=\"Layer 2\"><g data-name=\"message-circle\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M19.07 4.93a10 10 0 0 0-16.28 11 1.06 1.06 0 0 1 .09.64L2 20.8a1 1 0 0 0 .27.91A1 1 0 0 0 3 22h.2l4.28-.86a1.26 1.26 0 0 1 .64.09 10 10 0 0 0 11-16.28zM8 13a1 1 0 1 1 1-1 1 1 0 0 1-1 1zm4 0a1 1 0 1 1 1-1 1 1 0 0 1-1 1zm4 0a1 1 0 1 1 1-1 1 1 0 0 1-1 1z\"/></g></g>',\"message-square\":'<g data-name=\"Layer 2\"><g data-name=\"message-square\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M19 3H5a3 3 0 0 0-3 3v15a1 1 0 0 0 .51.87A1 1 0 0 0 3 22a1 1 0 0 0 .51-.14L8 19.14a1 1 0 0 1 .55-.14H19a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3zM8 12a1 1 0 1 1 1-1 1 1 0 0 1-1 1zm4 0a1 1 0 1 1 1-1 1 1 0 0 1-1 1zm4 0a1 1 0 1 1 1-1 1 1 0 0 1-1 1z\"/></g></g>',\"mic-off\":'<g data-name=\"Layer 2\"><g data-name=\"mic-off\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M15.58 12.75A4 4 0 0 0 16 11V6a4 4 0 0 0-7.92-.75\"/><path d=\"M19 11a1 1 0 0 0-2 0 4.86 4.86 0 0 1-.69 2.48L17.78 15A7 7 0 0 0 19 11z\"/><path d=\"M12 15h.16L8 10.83V11a4 4 0 0 0 4 4z\"/><path d=\"M20.71 19.29l-16-16a1 1 0 0 0-1.42 1.42l16 16a1 1 0 0 0 1.42 0 1 1 0 0 0 0-1.42z\"/><path d=\"M15 20h-2v-2.08a7 7 0 0 0 1.65-.44l-1.6-1.6A4.57 4.57 0 0 1 12 16a5 5 0 0 1-5-5 1 1 0 0 0-2 0 7 7 0 0 0 6 6.92V20H9a1 1 0 0 0 0 2h6a1 1 0 0 0 0-2z\"/></g></g>',mic:'<g data-name=\"Layer 2\"><g data-name=\"mic\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M12 15a4 4 0 0 0 4-4V6a4 4 0 0 0-8 0v5a4 4 0 0 0 4 4z\"/><path d=\"M19 11a1 1 0 0 0-2 0 5 5 0 0 1-10 0 1 1 0 0 0-2 0 7 7 0 0 0 6 6.92V20H8.89a.89.89 0 0 0-.89.89v.22a.89.89 0 0 0 .89.89h6.22a.89.89 0 0 0 .89-.89v-.22a.89.89 0 0 0-.89-.89H13v-2.08A7 7 0 0 0 19 11z\"/></g></g>',minimize:'<g data-name=\"Layer 2\"><g data-name=\"minimize\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M20.71 19.29l-3.4-3.39A7.92 7.92 0 0 0 19 11a8 8 0 1 0-8 8 7.92 7.92 0 0 0 4.9-1.69l3.39 3.4a1 1 0 0 0 1.42 0 1 1 0 0 0 0-1.42zM13 12H9a1 1 0 0 1 0-2h4a1 1 0 0 1 0 2z\"/></g></g>',\"minus-circle\":'<g data-name=\"Layer 2\"><g data-name=\"minus-circle\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm3 11H9a1 1 0 0 1 0-2h6a1 1 0 0 1 0 2z\"/></g></g>',\"minus-square\":'<g data-name=\"Layer 2\"><g data-name=\"minus-square\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M18 3H6a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3zm-3 10H9a1 1 0 0 1 0-2h6a1 1 0 0 1 0 2z\"/></g></g>',minus:'<g data-name=\"Layer 2\"><g data-name=\"minus\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M19 13H5a1 1 0 0 1 0-2h14a1 1 0 0 1 0 2z\"/></g></g>',monitor:'<g data-name=\"Layer 2\"><g data-name=\"monitor\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M19 3H5a3 3 0 0 0-3 3v5h20V6a3 3 0 0 0-3-3z\"/><path d=\"M2 14a3 3 0 0 0 3 3h6v2H7a1 1 0 0 0 0 2h10a1 1 0 0 0 0-2h-4v-2h6a3 3 0 0 0 3-3v-1H2z\"/></g></g>',moon:'<g data-name=\"Layer 2\"><g data-name=\"moon\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M12.3 22h-.1a10.31 10.31 0 0 1-7.34-3.15 10.46 10.46 0 0 1-.26-14 10.13 10.13 0 0 1 4-2.74 1 1 0 0 1 1.06.22 1 1 0 0 1 .24 1 8.4 8.4 0 0 0 1.94 8.81 8.47 8.47 0 0 0 8.83 1.94 1 1 0 0 1 1.27 1.29A10.16 10.16 0 0 1 19.6 19a10.28 10.28 0 0 1-7.3 3z\"/></g></g>',\"more-horizontal\":'<g data-name=\"Layer 2\"><g data-name=\"more-horizotnal\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><circle cx=\"12\" cy=\"12\" r=\"2\"/><circle cx=\"19\" cy=\"12\" r=\"2\"/><circle cx=\"5\" cy=\"12\" r=\"2\"/></g></g>',\"more-vertical\":'<g data-name=\"Layer 2\"><g data-name=\"more-vertical\"><rect width=\"24\" height=\"24\" transform=\"rotate(-90 12 12)\" opacity=\"0\"/><circle cx=\"12\" cy=\"12\" r=\"2\"/><circle cx=\"12\" cy=\"5\" r=\"2\"/><circle cx=\"12\" cy=\"19\" r=\"2\"/></g></g>',move:'<g data-name=\"Layer 2\"><g data-name=\"move\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M21.71 11.31l-3-3a1 1 0 0 0-1.42 1.42L18.58 11H13V5.41l1.29 1.3A1 1 0 0 0 15 7a1 1 0 0 0 .71-.29 1 1 0 0 0 0-1.42l-3-3A1 1 0 0 0 12 2a1 1 0 0 0-.7.29l-3 3a1 1 0 0 0 1.41 1.42L11 5.42V11H5.41l1.3-1.29a1 1 0 0 0-1.42-1.42l-3 3A1 1 0 0 0 2 12a1 1 0 0 0 .29.71l3 3A1 1 0 0 0 6 16a1 1 0 0 0 .71-.29 1 1 0 0 0 0-1.42L5.42 13H11v5.59l-1.29-1.3a1 1 0 0 0-1.42 1.42l3 3A1 1 0 0 0 12 22a1 1 0 0 0 .7-.29l3-3a1 1 0 0 0-1.42-1.42L13 18.58V13h5.59l-1.3 1.29a1 1 0 0 0 0 1.42A1 1 0 0 0 18 16a1 1 0 0 0 .71-.29l3-3A1 1 0 0 0 22 12a1 1 0 0 0-.29-.69z\"/></g></g>',music:'<g data-name=\"Layer 2\"><g data-name=\"music\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M19 15V4a1 1 0 0 0-.38-.78 1 1 0 0 0-.84-.2l-9 2A1 1 0 0 0 8 6v8.34a3.49 3.49 0 1 0 2 3.18 4.36 4.36 0 0 0 0-.52V6.8l7-1.55v7.09a3.49 3.49 0 1 0 2 3.17 4.57 4.57 0 0 0 0-.51z\"/></g></g>',\"navigation-2\":'<g data-name=\"Layer 2\"><g data-name=\"navigation-2\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M13.67 22h-.06a1 1 0 0 1-.92-.8l-1.54-7.57a1 1 0 0 0-.78-.78L2.8 11.31a1 1 0 0 1-.12-1.93l16-5.33A1 1 0 0 1 20 5.32l-5.33 16a1 1 0 0 1-1 .68z\"/></g></g>',navigation:'<g data-name=\"Layer 2\"><g data-name=\"navigation\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M20 20a.94.94 0 0 1-.55-.17l-6.9-4.56a1 1 0 0 0-1.1 0l-6.9 4.56a1 1 0 0 1-1.44-1.28l8-16a1 1 0 0 1 1.78 0l8 16a1 1 0 0 1-.23 1.2A1 1 0 0 1 20 20z\"/></g></g>',npm:'<g data-name=\"Layer 2\"><g data-name=\"npm\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M18 3H6a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h7V11h4v10h1a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3z\"/></g></g>',\"options-2\":'<g data-name=\"Layer 2\"><g data-name=\"options-2\"><rect width=\"24\" height=\"24\" transform=\"rotate(90 12 12)\" opacity=\"0\"/><path d=\"M19 9a3 3 0 0 0-2.82 2H3a1 1 0 0 0 0 2h13.18A3 3 0 1 0 19 9z\"/><path d=\"M3 7h1.18a3 3 0 0 0 5.64 0H21a1 1 0 0 0 0-2H9.82a3 3 0 0 0-5.64 0H3a1 1 0 0 0 0 2z\"/><path d=\"M21 17h-7.18a3 3 0 0 0-5.64 0H3a1 1 0 0 0 0 2h5.18a3 3 0 0 0 5.64 0H21a1 1 0 0 0 0-2z\"/></g></g>',options:'<g data-name=\"Layer 2\"><g data-name=\"options\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M7 14.18V3a1 1 0 0 0-2 0v11.18a3 3 0 0 0 0 5.64V21a1 1 0 0 0 2 0v-1.18a3 3 0 0 0 0-5.64z\"/><path d=\"M21 13a3 3 0 0 0-2-2.82V3a1 1 0 0 0-2 0v7.18a3 3 0 0 0 0 5.64V21a1 1 0 0 0 2 0v-5.18A3 3 0 0 0 21 13z\"/><path d=\"M15 5a3 3 0 1 0-4 2.82V21a1 1 0 0 0 2 0V7.82A3 3 0 0 0 15 5z\"/></g></g>',pantone:'<g data-name=\"Layer 2\"><g data-name=\"pantone\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M20 13.18h-2.7l-1.86 2L11.88 19l-1.41 1.52L10 21h10a1 1 0 0 0 1-1v-5.82a1 1 0 0 0-1-1z\"/><path d=\"M18.19 9.3l-4.14-3.86a.89.89 0 0 0-.71-.26 1 1 0 0 0-.7.31l-.82.89v10.71a5.23 5.23 0 0 1-.06.57l6.48-6.95a1 1 0 0 0-.05-1.41z\"/><path d=\"M10.82 4a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v13.09a3.91 3.91 0 0 0 7.82 0zm-2 13.09a1.91 1.91 0 0 1-3.82 0V15h3.82zm0-4.09H5v-3h3.82zm0-5H5V5h3.82z\"/></g></g>',\"paper-plane\":'<g data-name=\"Layer 2\"><g data-name=\"paper-plane\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M21 4a1.31 1.31 0 0 0-.06-.27v-.09a1 1 0 0 0-.2-.3 1 1 0 0 0-.29-.19h-.09a.86.86 0 0 0-.31-.15H20a1 1 0 0 0-.3 0l-18 6a1 1 0 0 0 0 1.9l8.53 2.84 2.84 8.53a1 1 0 0 0 1.9 0l6-18A1 1 0 0 0 21 4zm-4.7 2.29l-5.57 5.57L5.16 10zM14 18.84l-1.86-5.57 5.57-5.57z\"/></g></g>',\"pause-circle\":'<g data-name=\"Layer 2\"><g data-name=\"pause-circle\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm-2 13a1 1 0 0 1-2 0V9a1 1 0 0 1 2 0zm6 0a1 1 0 0 1-2 0V9a1 1 0 0 1 2 0z\"/></g></g>',people:'<g data-name=\"Layer 2\"><g data-name=\"people\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M9 11a4 4 0 1 0-4-4 4 4 0 0 0 4 4z\"/><path d=\"M17 13a3 3 0 1 0-3-3 3 3 0 0 0 3 3z\"/><path d=\"M21 20a1 1 0 0 0 1-1 5 5 0 0 0-8.06-3.95A7 7 0 0 0 2 20a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1\"/></g></g>',percent:'<g data-name=\"Layer 2\"><g data-name=\"percent\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M8 11a3.5 3.5 0 1 0-3.5-3.5A3.5 3.5 0 0 0 8 11zm0-5a1.5 1.5 0 1 1-1.5 1.5A1.5 1.5 0 0 1 8 6z\"/><path d=\"M16 14a3.5 3.5 0 1 0 3.5 3.5A3.5 3.5 0 0 0 16 14zm0 5a1.5 1.5 0 1 1 1.5-1.5A1.5 1.5 0 0 1 16 19z\"/><path d=\"M19.74 4.26a.89.89 0 0 0-1.26 0L4.26 18.48a.91.91 0 0 0-.26.63.89.89 0 0 0 1.52.63L19.74 5.52a.89.89 0 0 0 0-1.26z\"/></g></g>',\"person-add\":'<g data-name=\"Layer 2\"><g data-name=\"person-add\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M21 6h-1V5a1 1 0 0 0-2 0v1h-1a1 1 0 0 0 0 2h1v1a1 1 0 0 0 2 0V8h1a1 1 0 0 0 0-2z\"/><path d=\"M10 11a4 4 0 1 0-4-4 4 4 0 0 0 4 4z\"/><path d=\"M16 21a1 1 0 0 0 1-1 7 7 0 0 0-14 0 1 1 0 0 0 1 1\"/></g></g>',\"person-delete\":'<g data-name=\"Layer 2\"><g data-name=\"person-delete\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M20.47 7.5l.73-.73a1 1 0 0 0-1.47-1.47L19 6l-.73-.73a1 1 0 0 0-1.47 1.5l.73.73-.73.73a1 1 0 0 0 1.47 1.47L19 9l.73.73a1 1 0 0 0 1.47-1.5z\"/><path d=\"M10 11a4 4 0 1 0-4-4 4 4 0 0 0 4 4z\"/><path d=\"M16 21a1 1 0 0 0 1-1 7 7 0 0 0-14 0 1 1 0 0 0 1 1z\"/></g></g>',\"person-done\":'<g data-name=\"Layer 2\"><g data-name=\"person-done\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M21.66 4.25a1 1 0 0 0-1.41.09l-1.87 2.15-.63-.71a1 1 0 0 0-1.5 1.33l1.39 1.56a1 1 0 0 0 .75.33 1 1 0 0 0 .74-.34l2.61-3a1 1 0 0 0-.08-1.41z\"/><path d=\"M10 11a4 4 0 1 0-4-4 4 4 0 0 0 4 4z\"/><path d=\"M16 21a1 1 0 0 0 1-1 7 7 0 0 0-14 0 1 1 0 0 0 1 1\"/></g></g>',\"person-remove\":'<g data-name=\"Layer 2\"><g data-name=\"person-remove\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M21 6h-4a1 1 0 0 0 0 2h4a1 1 0 0 0 0-2z\"/><path d=\"M10 11a4 4 0 1 0-4-4 4 4 0 0 0 4 4z\"/><path d=\"M16 21a1 1 0 0 0 1-1 7 7 0 0 0-14 0 1 1 0 0 0 1 1\"/></g></g>',person:'<g data-name=\"Layer 2\"><g data-name=\"person\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M12 11a4 4 0 1 0-4-4 4 4 0 0 0 4 4z\"/><path d=\"M18 21a1 1 0 0 0 1-1 7 7 0 0 0-14 0 1 1 0 0 0 1 1z\"/></g></g>',\"phone-call\":'<g data-name=\"Layer 2\"><g data-name=\"phone-call\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M13 8a3 3 0 0 1 3 3 1 1 0 0 0 2 0 5 5 0 0 0-5-5 1 1 0 0 0 0 2z\"/><path d=\"M13 4a7 7 0 0 1 7 7 1 1 0 0 0 2 0 9 9 0 0 0-9-9 1 1 0 0 0 0 2z\"/><path d=\"M21.75 15.91a1 1 0 0 0-.72-.65l-6-1.37a1 1 0 0 0-.92.26c-.14.13-.15.14-.8 1.38a9.91 9.91 0 0 1-4.87-4.89C9.71 10 9.72 10 9.85 9.85a1 1 0 0 0 .26-.92L8.74 3a1 1 0 0 0-.65-.72 3.79 3.79 0 0 0-.72-.18A3.94 3.94 0 0 0 6.6 2 4.6 4.6 0 0 0 2 6.6 15.42 15.42 0 0 0 17.4 22a4.6 4.6 0 0 0 4.6-4.6 4.77 4.77 0 0 0-.06-.76 4.34 4.34 0 0 0-.19-.73z\"/></g></g>',\"phone-missed\":'<g data-name=\"Layer 2\"><g data-name=\"phone-missed\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M21.94 16.64a4.34 4.34 0 0 0-.19-.73 1 1 0 0 0-.72-.65l-6-1.37a1 1 0 0 0-.92.26c-.14.13-.15.14-.8 1.38a10 10 0 0 1-4.88-4.89C9.71 10 9.72 10 9.85 9.85a1 1 0 0 0 .26-.92L8.74 3a1 1 0 0 0-.65-.72 3.79 3.79 0 0 0-.72-.18A3.94 3.94 0 0 0 6.6 2 4.6 4.6 0 0 0 2 6.6 15.42 15.42 0 0 0 17.4 22a4.6 4.6 0 0 0 4.6-4.6 4.77 4.77 0 0 0-.06-.76z\"/><path d=\"M15.8 8.7a1.05 1.05 0 0 0 1.47 0L18 8l.73.73a1 1 0 0 0 1.47-1.5l-.73-.73.73-.73a1 1 0 0 0-1.47-1.47L18 5l-.73-.73a1 1 0 0 0-1.47 1.5l.73.73-.73.73a1.05 1.05 0 0 0 0 1.47z\"/></g></g>',\"phone-off\":'<g data-name=\"Layer 2\"><g data-name=\"phone-off\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M9.27 12.06a10.37 10.37 0 0 1-.8-1.42C9.71 10 9.72 10 9.85 9.85a1 1 0 0 0 .26-.92L8.74 3a1 1 0 0 0-.65-.72 3.79 3.79 0 0 0-.72-.18A3.94 3.94 0 0 0 6.6 2 4.6 4.6 0 0 0 2 6.6a15.33 15.33 0 0 0 3.27 9.46z\"/><path d=\"M21.94 16.64a4.34 4.34 0 0 0-.19-.73 1 1 0 0 0-.72-.65l-6-1.37a1 1 0 0 0-.92.26c-.14.13-.15.14-.8 1.38a10.88 10.88 0 0 1-1.41-.8l-4 4A15.33 15.33 0 0 0 17.4 22a4.6 4.6 0 0 0 4.6-4.6 4.77 4.77 0 0 0-.06-.76z\"/><path d=\"M19.74 4.26a.89.89 0 0 0-1.26 0L4.26 18.48a.91.91 0 0 0-.26.63.89.89 0 0 0 1.52.63L19.74 5.52a.89.89 0 0 0 0-1.26z\"/></g></g>',phone:'<g data-name=\"Layer 2\"><g data-name=\"phone\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M17.4 22A15.42 15.42 0 0 1 2 6.6 4.6 4.6 0 0 1 6.6 2a3.94 3.94 0 0 1 .77.07 3.79 3.79 0 0 1 .72.18 1 1 0 0 1 .65.75l1.37 6a1 1 0 0 1-.26.92c-.13.14-.14.15-1.37.79a9.91 9.91 0 0 0 4.87 4.89c.65-1.24.66-1.25.8-1.38a1 1 0 0 1 .92-.26l6 1.37a1 1 0 0 1 .72.65 4.34 4.34 0 0 1 .19.73 4.77 4.77 0 0 1 .06.76A4.6 4.6 0 0 1 17.4 22z\"/></g></g>',\"pie-chart-2\":'<g data-name=\"Layer 2\"><g data-name=\"pie-chart-2\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M14.5 10.33h6.67A.83.83 0 0 0 22 9.5 7.5 7.5 0 0 0 14.5 2a.83.83 0 0 0-.83.83V9.5a.83.83 0 0 0 .83.83zm.83-6.6a5.83 5.83 0 0 1 4.94 4.94h-4.94z\"/><path d=\"M21.08 12h-8.15a.91.91 0 0 1-.91-.91V2.92A.92.92 0 0 0 11 2a10 10 0 1 0 11 11 .92.92 0 0 0-.92-1z\"/></g></g>',\"pie-chart\":'<g data-name=\"Layer 2\"><g data-name=\"pie-chart\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M14.5 10.33h6.67A.83.83 0 0 0 22 9.5 7.5 7.5 0 0 0 14.5 2a.83.83 0 0 0-.83.83V9.5a.83.83 0 0 0 .83.83z\"/><path d=\"M21.08 12h-8.15a.91.91 0 0 1-.91-.91V2.92A.92.92 0 0 0 11 2a10 10 0 1 0 11 11 .92.92 0 0 0-.92-1z\"/></g></g>',pin:'<g data-name=\"Layer 2\"><g data-name=\"pin\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><circle cx=\"12\" cy=\"9.5\" r=\"1.5\"/><path d=\"M12 2a8 8 0 0 0-8 7.92c0 5.48 7.05 11.58 7.35 11.84a1 1 0 0 0 1.3 0C13 21.5 20 15.4 20 9.92A8 8 0 0 0 12 2zm0 11a3.5 3.5 0 1 1 3.5-3.5A3.5 3.5 0 0 1 12 13z\"/></g></g>',\"play-circle\":'<g data-name=\"Layer 2\"><g data-name=\"play-circle\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><polygon points=\"11.5 14.6 14.31 12 11.5 9.4 11.5 14.6\"/><path d=\"M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm4 11.18l-3.64 3.37a1.74 1.74 0 0 1-1.16.45 1.68 1.68 0 0 1-.69-.15 1.6 1.6 0 0 1-1-1.48V8.63a1.6 1.6 0 0 1 1-1.48 1.7 1.7 0 0 1 1.85.3L16 10.82a1.6 1.6 0 0 1 0 2.36z\"/></g></g>',\"plus-circle\":'<g data-name=\"Layer 2\"><g data-name=\"plus-circle\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm3 11h-2v2a1 1 0 0 1-2 0v-2H9a1 1 0 0 1 0-2h2V9a1 1 0 0 1 2 0v2h2a1 1 0 0 1 0 2z\"/></g></g>',\"plus-square\":'<g data-name=\"Layer 2\"><g data-name=\"plus-square\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M18 3H6a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3zm-3 10h-2v2a1 1 0 0 1-2 0v-2H9a1 1 0 0 1 0-2h2V9a1 1 0 0 1 2 0v2h2a1 1 0 0 1 0 2z\"/></g></g>',plus:'<g data-name=\"Layer 2\"><g data-name=\"plus\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M19 11h-6V5a1 1 0 0 0-2 0v6H5a1 1 0 0 0 0 2h6v6a1 1 0 0 0 2 0v-6h6a1 1 0 0 0 0-2z\"/></g></g>',power:'<g data-name=\"Layer 2\"><g data-name=\"power\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M12 13a1 1 0 0 0 1-1V2a1 1 0 0 0-2 0v10a1 1 0 0 0 1 1z\"/><path d=\"M16.59 3.11a1 1 0 0 0-.92 1.78 8 8 0 1 1-7.34 0 1 1 0 1 0-.92-1.78 10 10 0 1 0 9.18 0z\"/></g></g>',pricetags:'<g data-name=\"Layer 2\"><g data-name=\"pricetags\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M21.47 11.58l-6.42-6.41a1 1 0 0 0-.61-.29L5.09 4a1 1 0 0 0-.8.29 1 1 0 0 0-.29.8l.88 9.35a1 1 0 0 0 .29.61l6.41 6.42a1.84 1.84 0 0 0 1.29.53 1.82 1.82 0 0 0 1.28-.53l7.32-7.32a1.82 1.82 0 0 0 0-2.57zm-9.91 0a1.5 1.5 0 1 1 0-2.12 1.49 1.49 0 0 1 0 2.1z\"/></g></g>',printer:'<g data-name=\"Layer 2\"><g data-name=\"printer\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M19.36 7H18V5a1.92 1.92 0 0 0-1.83-2H7.83A1.92 1.92 0 0 0 6 5v2H4.64A2.66 2.66 0 0 0 2 9.67v6.66A2.66 2.66 0 0 0 4.64 19h.86a2 2 0 0 0 2 2h9a2 2 0 0 0 2-2h.86A2.66 2.66 0 0 0 22 16.33V9.67A2.66 2.66 0 0 0 19.36 7zM8 5h8v2H8zm-.5 14v-4h9v4z\"/></g></g>',\"question-mark-circle\":'<g data-name=\"Layer 2\"><g data-name=\"menu-arrow-circle\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm0 16a1 1 0 1 1 1-1 1 1 0 0 1-1 1zm1-5.16V14a1 1 0 0 1-2 0v-2a1 1 0 0 1 1-1 1.5 1.5 0 1 0-1.5-1.5 1 1 0 0 1-2 0 3.5 3.5 0 1 1 4.5 3.34z\"/></g></g>',\"question-mark\":'<g data-name=\"Layer 2\"><g data-name=\"menu-arrow\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M17 9A5 5 0 0 0 7 9a1 1 0 0 0 2 0 3 3 0 1 1 3 3 1 1 0 0 0-1 1v2a1 1 0 0 0 2 0v-1.1A5 5 0 0 0 17 9z\"/><circle cx=\"12\" cy=\"19\" r=\"1\"/></g></g>',\"radio-button-off\":'<g data-name=\"Layer 2\"><g data-name=\"radio-button-off\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M12 22a10 10 0 1 1 10-10 10 10 0 0 1-10 10zm0-18a8 8 0 1 0 8 8 8 8 0 0 0-8-8z\"/></g></g>',\"radio-button-on\":'<g data-name=\"Layer 2\"><g data-name=\"radio-button-on\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm0 18a8 8 0 1 1 8-8 8 8 0 0 1-8 8z\"/><path d=\"M12 7a5 5 0 1 0 5 5 5 5 0 0 0-5-5z\"/></g></g>',radio:'<g data-name=\"Layer 2\"><g data-name=\"radio\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M12 8a3 3 0 0 0-1 5.83 1 1 0 0 0 0 .17v6a1 1 0 0 0 2 0v-6a1 1 0 0 0 0-.17A3 3 0 0 0 12 8z\"/><path d=\"M3.5 11a6.87 6.87 0 0 1 2.64-5.23 1 1 0 1 0-1.28-1.54A8.84 8.84 0 0 0 1.5 11a8.84 8.84 0 0 0 3.36 6.77 1 1 0 1 0 1.28-1.54A6.87 6.87 0 0 1 3.5 11z\"/><path d=\"M16.64 6.24a1 1 0 0 0-1.28 1.52A4.28 4.28 0 0 1 17 11a4.28 4.28 0 0 1-1.64 3.24A1 1 0 0 0 16 16a1 1 0 0 0 .64-.24A6.2 6.2 0 0 0 19 11a6.2 6.2 0 0 0-2.36-4.76z\"/><path d=\"M8.76 6.36a1 1 0 0 0-1.4-.12A6.2 6.2 0 0 0 5 11a6.2 6.2 0 0 0 2.36 4.76 1 1 0 0 0 1.4-.12 1 1 0 0 0-.12-1.4A4.28 4.28 0 0 1 7 11a4.28 4.28 0 0 1 1.64-3.24 1 1 0 0 0 .12-1.4z\"/><path d=\"M19.14 4.23a1 1 0 1 0-1.28 1.54A6.87 6.87 0 0 1 20.5 11a6.87 6.87 0 0 1-2.64 5.23 1 1 0 0 0 1.28 1.54A8.84 8.84 0 0 0 22.5 11a8.84 8.84 0 0 0-3.36-6.77z\"/></g></g>',recording:'<g data-name=\"Layer 2\"><g data-name=\"recording\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M18 8a4 4 0 0 0-4 4 3.91 3.91 0 0 0 .56 2H9.44a3.91 3.91 0 0 0 .56-2 4 4 0 1 0-4 4h12a4 4 0 0 0 0-8z\"/></g></g>',refresh:'<g data-name=\"Layer 2\"><g data-name=\"refresh\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M20.3 13.43a1 1 0 0 0-1.25.65A7.14 7.14 0 0 1 12.18 19 7.1 7.1 0 0 1 5 12a7.1 7.1 0 0 1 7.18-7 7.26 7.26 0 0 1 4.65 1.67l-2.17-.36a1 1 0 0 0-1.15.83 1 1 0 0 0 .83 1.15l4.24.7h.17a1 1 0 0 0 .34-.06.33.33 0 0 0 .1-.06.78.78 0 0 0 .2-.11l.09-.11c0-.05.09-.09.13-.15s0-.1.05-.14a1.34 1.34 0 0 0 .07-.18l.75-4a1 1 0 0 0-2-.38l-.27 1.45A9.21 9.21 0 0 0 12.18 3 9.1 9.1 0 0 0 3 12a9.1 9.1 0 0 0 9.18 9A9.12 9.12 0 0 0 21 14.68a1 1 0 0 0-.7-1.25z\"/></g></g>',repeat:'<g data-name=\"Layer 2\"><g data-name=\"repeat\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M17.91 5h-12l1.3-1.29a1 1 0 0 0-1.42-1.42l-3 3a1 1 0 0 0 0 1.42l3 3a1 1 0 0 0 1.42 0 1 1 0 0 0 0-1.42L5.91 7h12a1.56 1.56 0 0 1 1.59 1.53V11a1 1 0 0 0 2 0V8.53A3.56 3.56 0 0 0 17.91 5z\"/><path d=\"M18.21 14.29a1 1 0 0 0-1.42 1.42l1.3 1.29h-12a1.56 1.56 0 0 1-1.59-1.53V13a1 1 0 0 0-2 0v2.47A3.56 3.56 0 0 0 6.09 19h12l-1.3 1.29a1 1 0 0 0 0 1.42 1 1 0 0 0 1.42 0l3-3a1 1 0 0 0 0-1.42z\"/></g></g>',\"rewind-left\":'<g data-name=\"Layer 2\"><g data-name=\"rewind-left\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M18.45 6.2a2.1 2.1 0 0 0-2.21.26l-4.74 3.92V7.79a1.76 1.76 0 0 0-1.05-1.59 2.1 2.1 0 0 0-2.21.26l-5.1 4.21a1.7 1.7 0 0 0 0 2.66l5.1 4.21a2.06 2.06 0 0 0 1.3.46 2.23 2.23 0 0 0 .91-.2 1.76 1.76 0 0 0 1.05-1.59v-2.59l4.74 3.92a2.06 2.06 0 0 0 1.3.46 2.23 2.23 0 0 0 .91-.2 1.76 1.76 0 0 0 1.05-1.59V7.79a1.76 1.76 0 0 0-1.05-1.59z\"/></g></g>',\"rewind-right\":'<g data-name=\"Layer 2\"><g data-name=\"rewind-right\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M20.86 10.67l-5.1-4.21a2.1 2.1 0 0 0-2.21-.26 1.76 1.76 0 0 0-1.05 1.59v2.59L7.76 6.46a2.1 2.1 0 0 0-2.21-.26 1.76 1.76 0 0 0-1 1.59v8.42a1.76 1.76 0 0 0 1 1.59 2.23 2.23 0 0 0 .91.2 2.06 2.06 0 0 0 1.3-.46l4.74-3.92v2.59a1.76 1.76 0 0 0 1.05 1.59 2.23 2.23 0 0 0 .91.2 2.06 2.06 0 0 0 1.3-.46l5.1-4.21a1.7 1.7 0 0 0 0-2.66z\"/></g></g>',save:'<g data-name=\"Layer 2\"><g data-name=\"save\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><rect x=\"10\" y=\"17\" width=\"4\" height=\"4\"/><path d=\"M20.12 8.71l-4.83-4.83A3 3 0 0 0 13.17 3H10v6h5a1 1 0 0 1 0 2H9a1 1 0 0 1-1-1V3H6a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h2v-4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v4h2a3 3 0 0 0 3-3v-7.17a3 3 0 0 0-.88-2.12z\"/></g></g>',scissors:'<g data-name=\"Layer 2\"><g data-name=\"scissors\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M20.21 5.71a1 1 0 1 0-1.42-1.42l-6.28 6.31-3.3-3.31A3 3 0 0 0 9.5 6a3 3 0 1 0-3 3 3 3 0 0 0 1.29-.3L11.1 12l-3.29 3.3A3 3 0 0 0 6.5 15a3 3 0 1 0 3 3 3 3 0 0 0-.29-1.26zM6.5 7a1 1 0 1 1 1-1 1 1 0 0 1-1 1zm0 12a1 1 0 1 1 1-1 1 1 0 0 1-1 1z\"/><path d=\"M15.21 13.29a1 1 0 0 0-1.42 1.42l5 5a1 1 0 0 0 1.42 0 1 1 0 0 0 0-1.42z\"/></g></g>',search:'<g data-name=\"Layer 2\"><g data-name=\"search\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M20.71 19.29l-3.4-3.39A7.92 7.92 0 0 0 19 11a8 8 0 1 0-8 8 7.92 7.92 0 0 0 4.9-1.69l3.39 3.4a1 1 0 0 0 1.42 0 1 1 0 0 0 0-1.42zM5 11a6 6 0 1 1 6 6 6 6 0 0 1-6-6z\"/></g></g>',\"settings-2\":'<g data-name=\"Layer 2\"><g data-name=\"settings-2\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><circle cx=\"12\" cy=\"12\" r=\"1.5\"/><path d=\"M20.32 9.37h-1.09c-.14 0-.24-.11-.3-.26a.34.34 0 0 1 0-.37l.81-.74a1.63 1.63 0 0 0 .5-1.18 1.67 1.67 0 0 0-.5-1.19L18.4 4.26a1.67 1.67 0 0 0-2.37 0l-.77.74a.38.38 0 0 1-.41 0 .34.34 0 0 1-.22-.29V3.68A1.68 1.68 0 0 0 13 2h-1.94a1.69 1.69 0 0 0-1.69 1.68v1.09c0 .14-.11.24-.26.3a.34.34 0 0 1-.37 0L8 4.26a1.72 1.72 0 0 0-1.19-.5 1.65 1.65 0 0 0-1.18.5L4.26 5.6a1.67 1.67 0 0 0 0 2.4l.74.74a.38.38 0 0 1 0 .41.34.34 0 0 1-.29.22H3.68A1.68 1.68 0 0 0 2 11.05v1.89a1.69 1.69 0 0 0 1.68 1.69h1.09c.14 0 .24.11.3.26a.34.34 0 0 1 0 .37l-.81.74a1.72 1.72 0 0 0-.5 1.19 1.66 1.66 0 0 0 .5 1.19l1.34 1.36a1.67 1.67 0 0 0 2.37 0l.77-.74a.38.38 0 0 1 .41 0 .34.34 0 0 1 .22.29v1.09A1.68 1.68 0 0 0 11.05 22h1.89a1.69 1.69 0 0 0 1.69-1.68v-1.09c0-.14.11-.24.26-.3a.34.34 0 0 1 .37 0l.76.77a1.72 1.72 0 0 0 1.19.5 1.65 1.65 0 0 0 1.18-.5l1.34-1.34a1.67 1.67 0 0 0 0-2.37l-.73-.73a.34.34 0 0 1 0-.37.34.34 0 0 1 .29-.22h1.09A1.68 1.68 0 0 0 22 13v-1.94a1.69 1.69 0 0 0-1.68-1.69zM12 15.5a3.5 3.5 0 1 1 3.5-3.5 3.5 3.5 0 0 1-3.5 3.5z\"/></g></g>',settings:'<g data-name=\"Layer 2\"><g data-name=\"settings\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><circle cx=\"12\" cy=\"12\" r=\"1.5\"/><path d=\"M21.89 10.32L21.1 7.8a2.26 2.26 0 0 0-2.88-1.51l-.34.11a1.74 1.74 0 0 1-1.59-.26l-.11-.08a1.76 1.76 0 0 1-.69-1.43v-.28a2.37 2.37 0 0 0-.68-1.68 2.26 2.26 0 0 0-1.6-.67h-2.55a2.32 2.32 0 0 0-2.29 2.33v.24a1.94 1.94 0 0 1-.73 1.51l-.13.1a1.93 1.93 0 0 1-1.78.29 2.14 2.14 0 0 0-1.68.12 2.18 2.18 0 0 0-1.12 1.33l-.82 2.6a2.34 2.34 0 0 0 1.48 2.94h.16a1.83 1.83 0 0 1 1.12 1.22l.06.16a2.06 2.06 0 0 1-.23 1.86 2.37 2.37 0 0 0 .49 3.3l2.07 1.57a2.25 2.25 0 0 0 1.35.43A2 2 0 0 0 9 22a2.25 2.25 0 0 0 1.47-1l.23-.33a1.8 1.8 0 0 1 1.43-.77 1.75 1.75 0 0 1 1.5.78l.12.17a2.24 2.24 0 0 0 3.22.53L19 19.86a2.38 2.38 0 0 0 .5-3.23l-.26-.38A2 2 0 0 1 19 14.6a1.89 1.89 0 0 1 1.21-1.28l.2-.07a2.36 2.36 0 0 0 1.48-2.93zM12 15.5a3.5 3.5 0 1 1 3.5-3.5 3.5 3.5 0 0 1-3.5 3.5z\"/></g></g>',shake:'<g data-name=\"Layer 2\"><g data-name=\"shake\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M5.5 18a1 1 0 0 1-.64-.24A8.81 8.81 0 0 1 1.5 11a8.81 8.81 0 0 1 3.36-6.76 1 1 0 1 1 1.28 1.52A6.9 6.9 0 0 0 3.5 11a6.9 6.9 0 0 0 2.64 5.24 1 1 0 0 1 .13 1.4 1 1 0 0 1-.77.36z\"/><path d=\"M12 7a4.09 4.09 0 0 1 1 .14V3a1 1 0 0 0-2 0v4.14A4.09 4.09 0 0 1 12 7z\"/><path d=\"M12 15a4.09 4.09 0 0 1-1-.14V20a1 1 0 0 0 2 0v-5.14a4.09 4.09 0 0 1-1 .14z\"/><path d=\"M16 16a1 1 0 0 1-.77-.36 1 1 0 0 1 .13-1.4A4.28 4.28 0 0 0 17 11a4.28 4.28 0 0 0-1.64-3.24 1 1 0 1 1 1.28-1.52A6.2 6.2 0 0 1 19 11a6.2 6.2 0 0 1-2.36 4.76A1 1 0 0 1 16 16z\"/><path d=\"M8 16a1 1 0 0 1-.64-.24A6.2 6.2 0 0 1 5 11a6.2 6.2 0 0 1 2.36-4.76 1 1 0 1 1 1.28 1.52A4.28 4.28 0 0 0 7 11a4.28 4.28 0 0 0 1.64 3.24 1 1 0 0 1 .13 1.4A1 1 0 0 1 8 16z\"/><path d=\"M18.5 18a1 1 0 0 1-.77-.36 1 1 0 0 1 .13-1.4A6.9 6.9 0 0 0 20.5 11a6.9 6.9 0 0 0-2.64-5.24 1 1 0 1 1 1.28-1.52A8.81 8.81 0 0 1 22.5 11a8.81 8.81 0 0 1-3.36 6.76 1 1 0 0 1-.64.24z\"/><path d=\"M12 12a1 1 0 1 1 1-1 1 1 0 0 1-1 1zm0-1zm0 0zm0 0zm0 0zm0 0zm0 0zm0 0z\"/></g></g>',share:'<g data-name=\"Layer 2\"><g data-name=\"share\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M18 15a3 3 0 0 0-2.1.86L8 12.34V12v-.33l7.9-3.53A3 3 0 1 0 15 6v.34L7.1 9.86a3 3 0 1 0 0 4.28l7.9 3.53V18a3 3 0 1 0 3-3z\"/></g></g>',\"shield-off\":'<g data-name=\"Layer 2\"><g data-name=\"shield-off\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M3.73 6.56A2 2 0 0 0 3 8.09v.14a15.17 15.17 0 0 0 7.72 13.2l.3.17a2 2 0 0 0 2 0l.3-.17a15.22 15.22 0 0 0 3-2.27z\"/><path d=\"M18.84 16A15.08 15.08 0 0 0 21 8.23v-.14a2 2 0 0 0-1-1.75L13 2.4a2 2 0 0 0-2 0L7.32 4.49z\"/><path d=\"M4.71 3.29a1 1 0 0 0-1.42 1.42l16 16a1 1 0 0 0 1.42 0 1 1 0 0 0 0-1.42z\"/></g></g>',shield:'<g data-name=\"Layer 2\"><g data-name=\"shield\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M12 21.85a2 2 0 0 1-1-.25l-.3-.17A15.17 15.17 0 0 1 3 8.23v-.14a2 2 0 0 1 1-1.75l7-3.94a2 2 0 0 1 2 0l7 3.94a2 2 0 0 1 1 1.75v.14a15.17 15.17 0 0 1-7.72 13.2l-.3.17a2 2 0 0 1-.98.25z\"/></g></g>',\"shopping-bag\":'<g data-name=\"Layer 2\"><g data-name=\"shopping-bag\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M20.12 6.71l-2.83-2.83A3 3 0 0 0 15.17 3H8.83a3 3 0 0 0-2.12.88L3.88 6.71A3 3 0 0 0 3 8.83V18a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V8.83a3 3 0 0 0-.88-2.12zM12 16a4 4 0 0 1-4-4 1 1 0 0 1 2 0 2 2 0 0 0 4 0 1 1 0 0 1 2 0 4 4 0 0 1-4 4zM6.41 7l1.71-1.71A1.05 1.05 0 0 1 8.83 5h6.34a1.05 1.05 0 0 1 .71.29L17.59 7z\"/></g></g>',\"shopping-cart\":'<g data-name=\"Layer 2\"><g data-name=\"shopping-cart\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M21.08 7a2 2 0 0 0-1.7-1H6.58L6 3.74A1 1 0 0 0 5 3H3a1 1 0 0 0 0 2h1.24L7 15.26A1 1 0 0 0 8 16h9a1 1 0 0 0 .89-.55l3.28-6.56A2 2 0 0 0 21.08 7z\"/><circle cx=\"7.5\" cy=\"19.5\" r=\"1.5\"/><circle cx=\"17.5\" cy=\"19.5\" r=\"1.5\"/></g></g>',\"shuffle-2\":'<g data-name=\"Layer 2\"><g data-name=\"shuffle-2\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M18.71 14.29a1 1 0 0 0-1.42 1.42l.29.29H16a4 4 0 0 1 0-8h1.59l-.3.29a1 1 0 0 0 0 1.42A1 1 0 0 0 18 10a1 1 0 0 0 .71-.29l2-2A1 1 0 0 0 21 7a1 1 0 0 0-.29-.71l-2-2a1 1 0 0 0-1.42 1.42l.29.29H16a6 6 0 0 0-5 2.69A6 6 0 0 0 6 6H4a1 1 0 0 0 0 2h2a4 4 0 0 1 0 8H4a1 1 0 0 0 0 2h2a6 6 0 0 0 5-2.69A6 6 0 0 0 16 18h1.59l-.3.29a1 1 0 0 0 0 1.42A1 1 0 0 0 18 20a1 1 0 0 0 .71-.29l2-2A1 1 0 0 0 21 17a1 1 0 0 0-.29-.71z\"/></g></g>',shuffle:'<g data-name=\"Layer 2\"><g data-name=\"shuffle\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M18 9.31a1 1 0 0 0 1 1 1 1 0 0 0 1-1V5a1 1 0 0 0-1-1h-4.3a1 1 0 0 0-1 1 1 1 0 0 0 1 1h1.89L12 10.59 6.16 4.76a1 1 0 0 0-1.41 1.41L10.58 12l-6.29 6.29a1 1 0 0 0 0 1.42 1 1 0 0 0 1.42 0L18 7.42z\"/><path d=\"M19 13.68a1 1 0 0 0-1 1v1.91l-2.78-2.79a1 1 0 0 0-1.42 1.42L16.57 18h-1.88a1 1 0 0 0 0 2H19a1 1 0 0 0 1-1.11v-4.21a1 1 0 0 0-1-1z\"/></g></g>',\"skip-back\":'<g data-name=\"Layer 2\"><g data-name=\"skip-back\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M16.45 6.2a2.1 2.1 0 0 0-2.21.26l-5.1 4.21-.14.15V7a1 1 0 0 0-2 0v10a1 1 0 0 0 2 0v-3.82l.14.15 5.1 4.21a2.06 2.06 0 0 0 1.3.46 2.23 2.23 0 0 0 .91-.2 1.76 1.76 0 0 0 1.05-1.59V7.79a1.76 1.76 0 0 0-1.05-1.59z\"/></g></g>',\"skip-forward\":'<g data-name=\"Layer 2\"><g data-name=\"skip-forward\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M16 6a1 1 0 0 0-1 1v3.82l-.14-.15-5.1-4.21a2.1 2.1 0 0 0-2.21-.26 1.76 1.76 0 0 0-1 1.59v8.42a1.76 1.76 0 0 0 1 1.59 2.23 2.23 0 0 0 .91.2 2.06 2.06 0 0 0 1.3-.46l5.1-4.21.14-.15V17a1 1 0 0 0 2 0V7a1 1 0 0 0-1-1z\"/></g></g>',slash:'<g data-name=\"Layer 2\"><g data-name=\"slash\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm8 10a7.92 7.92 0 0 1-1.69 4.9L7.1 5.69A7.92 7.92 0 0 1 12 4a8 8 0 0 1 8 8zM4 12a7.92 7.92 0 0 1 1.69-4.9L16.9 18.31A7.92 7.92 0 0 1 12 20a8 8 0 0 1-8-8z\"/></g></g>',smartphone:'<g data-name=\"Layer 2\"><g data-name=\"smartphone\"><rect width=\"24\" height=\"24\" transform=\"rotate(90 12 12)\" opacity=\"0\"/><path d=\"M17 2H7a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3zm-5 16a1.5 1.5 0 1 1 1.5-1.5A1.5 1.5 0 0 1 12 18zm2.5-10h-5a1 1 0 0 1 0-2h5a1 1 0 0 1 0 2z\"/></g></g>',speaker:'<g data-name=\"Layer 2\"><g data-name=\"speaker\"><rect width=\"24\" height=\"24\" transform=\"rotate(90 12 12)\" opacity=\"0\"/><circle cx=\"12\" cy=\"15.5\" r=\"1.5\"/><circle cx=\"12\" cy=\"8\" r=\"1\"/><path d=\"M17 2H7a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3zm-5 3a3 3 0 1 1-3 3 3 3 0 0 1 3-3zm0 14a3.5 3.5 0 1 1 3.5-3.5A3.5 3.5 0 0 1 12 19z\"/></g></g>',square:'<g data-name=\"Layer 2\"><g data-name=\"square\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M18 21H6a3 3 0 0 1-3-3V6a3 3 0 0 1 3-3h12a3 3 0 0 1 3 3v12a3 3 0 0 1-3 3zM6 5a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1z\"/></g></g>',star:'<g data-name=\"Layer 2\"><g data-name=\"star\"><rect width=\"24\" height=\"24\" transform=\"rotate(90 12 12)\" opacity=\"0\"/><path d=\"M17.56 21a1 1 0 0 1-.46-.11L12 18.22l-5.1 2.67a1 1 0 0 1-1.45-1.06l1-5.63-4.12-4a1 1 0 0 1-.25-1 1 1 0 0 1 .81-.68l5.7-.83 2.51-5.13a1 1 0 0 1 1.8 0l2.54 5.12 5.7.83a1 1 0 0 1 .81.68 1 1 0 0 1-.25 1l-4.12 4 1 5.63a1 1 0 0 1-.4 1 1 1 0 0 1-.62.18z\"/></g></g>',\"stop-circle\":'<g data-name=\"Layer 2\"><g data-name=\"stop-circle\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm4 12.75A1.25 1.25 0 0 1 14.75 16h-5.5A1.25 1.25 0 0 1 8 14.75v-5.5A1.25 1.25 0 0 1 9.25 8h5.5A1.25 1.25 0 0 1 16 9.25z\"/><rect x=\"10\" y=\"10\" width=\"4\" height=\"4\"/></g></g>',sun:'<g data-name=\"Layer 2\"><g data-name=\"sun\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M12 6a1 1 0 0 0 1-1V3a1 1 0 0 0-2 0v2a1 1 0 0 0 1 1z\"/><path d=\"M21 11h-2a1 1 0 0 0 0 2h2a1 1 0 0 0 0-2z\"/><path d=\"M6 12a1 1 0 0 0-1-1H3a1 1 0 0 0 0 2h2a1 1 0 0 0 1-1z\"/><path d=\"M6.22 5a1 1 0 0 0-1.39 1.47l1.44 1.39a1 1 0 0 0 .73.28 1 1 0 0 0 .72-.31 1 1 0 0 0 0-1.41z\"/><path d=\"M17 8.14a1 1 0 0 0 .69-.28l1.44-1.39A1 1 0 0 0 17.78 5l-1.44 1.42a1 1 0 0 0 0 1.41 1 1 0 0 0 .66.31z\"/><path d=\"M12 18a1 1 0 0 0-1 1v2a1 1 0 0 0 2 0v-2a1 1 0 0 0-1-1z\"/><path d=\"M17.73 16.14a1 1 0 0 0-1.39 1.44L17.78 19a1 1 0 0 0 .69.28 1 1 0 0 0 .72-.3 1 1 0 0 0 0-1.42z\"/><path d=\"M6.27 16.14l-1.44 1.39a1 1 0 0 0 0 1.42 1 1 0 0 0 .72.3 1 1 0 0 0 .67-.25l1.44-1.39a1 1 0 0 0-1.39-1.44z\"/><path d=\"M12 8a4 4 0 1 0 4 4 4 4 0 0 0-4-4z\"/></g></g>',swap:'<g data-name=\"Layer 2\"><g data-name=\"swap\"><rect width=\"24\" height=\"24\" transform=\"rotate(-90 12 12)\" opacity=\"0\"/><path d=\"M4 9h13l-1.6 1.2a1 1 0 0 0-.2 1.4 1 1 0 0 0 .8.4 1 1 0 0 0 .6-.2l4-3a1 1 0 0 0 0-1.59l-3.86-3a1 1 0 0 0-1.23 1.58L17.08 7H4a1 1 0 0 0 0 2z\"/><path d=\"M20 16H7l1.6-1.2a1 1 0 0 0-1.2-1.6l-4 3a1 1 0 0 0 0 1.59l3.86 3a1 1 0 0 0 .61.21 1 1 0 0 0 .79-.39 1 1 0 0 0-.17-1.4L6.92 18H20a1 1 0 0 0 0-2z\"/></g></g>',sync:'<g data-name=\"Layer 2\"><g data-name=\"sync\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M21.66 10.37a.62.62 0 0 0 .07-.19l.75-4a1 1 0 0 0-2-.36l-.37 2a9.22 9.22 0 0 0-16.58.84 1 1 0 0 0 .55 1.3 1 1 0 0 0 1.31-.55A7.08 7.08 0 0 1 12.07 5a7.17 7.17 0 0 1 6.24 3.58l-1.65-.27a1 1 0 1 0-.32 2l4.25.71h.16a.93.93 0 0 0 .34-.06.33.33 0 0 0 .1-.06.78.78 0 0 0 .2-.11l.08-.1a1.07 1.07 0 0 0 .14-.16.58.58 0 0 0 .05-.16z\"/><path d=\"M19.88 14.07a1 1 0 0 0-1.31.56A7.08 7.08 0 0 1 11.93 19a7.17 7.17 0 0 1-6.24-3.58l1.65.27h.16a1 1 0 0 0 .16-2L3.41 13a.91.91 0 0 0-.33 0H3a1.15 1.15 0 0 0-.32.14 1 1 0 0 0-.18.18l-.09.1a.84.84 0 0 0-.07.19.44.44 0 0 0-.07.17l-.75 4a1 1 0 0 0 .8 1.22h.18a1 1 0 0 0 1-.82l.37-2a9.22 9.22 0 0 0 16.58-.83 1 1 0 0 0-.57-1.28z\"/></g></g>',text:'<g data-name=\"Layer 2\"><g data-name=\"text\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M20 4H4a1 1 0 0 0-1 1v3a1 1 0 0 0 2 0V6h6v13H9a1 1 0 0 0 0 2h6a1 1 0 0 0 0-2h-2V6h6v2a1 1 0 0 0 2 0V5a1 1 0 0 0-1-1z\"/></g></g>',\"thermometer-minus\":'<g data-name=\"Layer 2\"><g data-name=\"thermometer-minus\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><rect x=\"2\" y=\"5\" width=\"6\" height=\"2\" rx=\"1\" ry=\"1\"/><path d=\"M14 22a5 5 0 0 1-3-9V5a3 3 0 0 1 3-3 3 3 0 0 1 3 3v8a5 5 0 0 1-3 9zm1-12.46V5a.93.93 0 0 0-.29-.69A1 1 0 0 0 14 4a1 1 0 0 0-1 1v4.54z\"/></g></g>',\"thermometer-plus\":'<g data-name=\"Layer 2\"><g data-name=\"thermometer-plus\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><rect x=\"2\" y=\"5\" width=\"6\" height=\"2\" rx=\"1\" ry=\"1\"/><rect x=\"2\" y=\"5\" width=\"6\" height=\"2\" rx=\"1\" ry=\"1\" transform=\"rotate(-90 5 6)\"/><path d=\"M14 22a5 5 0 0 1-3-9V5a3 3 0 0 1 3-3 3 3 0 0 1 3 3v8a5 5 0 0 1-3 9zm1-12.46V5a.93.93 0 0 0-.29-.69A1 1 0 0 0 14 4a1 1 0 0 0-1 1v4.54z\"/></g></g>',thermometer:'<g data-name=\"Layer 2\"><g data-name=\"thermometer\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M12 22a5 5 0 0 1-3-9V5a3 3 0 0 1 3-3 3 3 0 0 1 3 3v8a5 5 0 0 1-3 9zm1-12.46V5a.93.93 0 0 0-.29-.69A1 1 0 0 0 12 4a1 1 0 0 0-1 1v4.54z\"/></g></g>',\"toggle-left\":'<g data-name=\"Layer 2\"><g data-name=\"toggle-left\"><rect x=\".02\" y=\".02\" width=\"23.97\" height=\"23.97\" transform=\"rotate(179.92 12.002 11.998)\" opacity=\"0\"/><path d=\"M15 5H9a7 7 0 0 0 0 14h6a7 7 0 0 0 0-14zM9 15a3 3 0 1 1 3-3 3 3 0 0 1-3 3z\"/><path d=\"M9 11a1 1 0 1 0 0 2 1 1 0 0 0 0-2z\"/></g></g>',\"toggle-right\":'<g data-name=\"Layer 2\"><g data-name=\"toggle-right\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><circle cx=\"15\" cy=\"12\" r=\"1\"/><path d=\"M15 5H9a7 7 0 0 0 0 14h6a7 7 0 0 0 0-14zm0 10a3 3 0 1 1 3-3 3 3 0 0 1-3 3z\"/></g></g>',\"trash-2\":'<g data-name=\"Layer 2\"><g data-name=\"trash-2\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M21 6h-5V4.33A2.42 2.42 0 0 0 13.5 2h-3A2.42 2.42 0 0 0 8 4.33V6H3a1 1 0 0 0 0 2h1v11a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V8h1a1 1 0 0 0 0-2zM10 16a1 1 0 0 1-2 0v-4a1 1 0 0 1 2 0zm0-11.67c0-.16.21-.33.5-.33h3c.29 0 .5.17.5.33V6h-4zM16 16a1 1 0 0 1-2 0v-4a1 1 0 0 1 2 0z\"/></g></g>',trash:'<g data-name=\"Layer 2\"><g data-name=\"trash\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M21 6h-5V4.33A2.42 2.42 0 0 0 13.5 2h-3A2.42 2.42 0 0 0 8 4.33V6H3a1 1 0 0 0 0 2h1v11a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V8h1a1 1 0 0 0 0-2zM10 4.33c0-.16.21-.33.5-.33h3c.29 0 .5.17.5.33V6h-4z\"/></g></g>',\"trending-down\":'<g data-name=\"Layer 2\"><g data-name=\"trending-down\"><rect width=\"24\" height=\"24\" transform=\"rotate(-90 12 12)\" opacity=\"0\"/><path d=\"M21 12a1 1 0 0 0-2 0v2.3l-4.24-5a1 1 0 0 0-1.27-.21L9.22 11.7 4.77 6.36a1 1 0 1 0-1.54 1.28l5 6a1 1 0 0 0 1.28.22l4.28-2.57 4 4.71H15a1 1 0 0 0 0 2h5a1.1 1.1 0 0 0 .36-.07l.14-.08a1.19 1.19 0 0 0 .15-.09.75.75 0 0 0 .14-.17 1.1 1.1 0 0 0 .09-.14.64.64 0 0 0 .05-.17A.78.78 0 0 0 21 17z\"/></g></g>',\"trending-up\":'<g data-name=\"Layer 2\"><g data-name=\"trending-up\"><rect width=\"24\" height=\"24\" transform=\"rotate(-90 12 12)\" opacity=\"0\"/><path d=\"M21 7a.78.78 0 0 0 0-.21.64.64 0 0 0-.05-.17 1.1 1.1 0 0 0-.09-.14.75.75 0 0 0-.14-.17l-.12-.07a.69.69 0 0 0-.19-.1h-.2A.7.7 0 0 0 20 6h-5a1 1 0 0 0 0 2h2.83l-4 4.71-4.32-2.57a1 1 0 0 0-1.28.22l-5 6a1 1 0 0 0 .13 1.41A1 1 0 0 0 4 18a1 1 0 0 0 .77-.36l4.45-5.34 4.27 2.56a1 1 0 0 0 1.27-.21L19 9.7V12a1 1 0 0 0 2 0V7z\"/></g></g>',tv:'<g data-name=\"Layer 2\"><g data-name=\"tv\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M18 6h-3.59l2.3-2.29a1 1 0 1 0-1.42-1.42L12 5.59l-3.29-3.3a1 1 0 1 0-1.42 1.42L9.59 6H6a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V9a3 3 0 0 0-3-3zm1 13a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1v-7a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1z\"/></g></g>',twitter:'<g data-name=\"Layer 2\"><g data-name=\"twitter\"><polyline points=\"0 0 24 0 24 24 0 24\" opacity=\"0\"/><path d=\"M8.08 20A11.07 11.07 0 0 0 19.52 9 8.09 8.09 0 0 0 21 6.16a.44.44 0 0 0-.62-.51 1.88 1.88 0 0 1-2.16-.38 3.89 3.89 0 0 0-5.58-.17A4.13 4.13 0 0 0 11.49 9C8.14 9.2 5.84 7.61 4 5.43a.43.43 0 0 0-.75.24 9.68 9.68 0 0 0 4.6 10.05A6.73 6.73 0 0 1 3.38 18a.45.45 0 0 0-.14.84A11 11 0 0 0 8.08 20\"/></g></g>',umbrella:'<g data-name=\"Layer 2\"><g data-name=\"umbrella\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M12 2A10 10 0 0 0 2 12a1 1 0 0 0 1 1h8v6a3 3 0 0 0 6 0 1 1 0 0 0-2 0 1 1 0 0 1-2 0v-6h8a1 1 0 0 0 1-1A10 10 0 0 0 12 2z\"/></g></g>',undo:'<g data-name=\"Layer 2\"><g data-name=\"undo\"><rect width=\"24\" height=\"24\" transform=\"rotate(-90 12 12)\" opacity=\"0\"/><path d=\"M20.22 21a1 1 0 0 1-1-.76 8.91 8.91 0 0 0-7.8-6.69v1.12a1.78 1.78 0 0 1-1.09 1.64A2 2 0 0 1 8.18 16l-5.06-4.41a1.76 1.76 0 0 1 0-2.68l5.06-4.42a2 2 0 0 1 2.18-.3 1.78 1.78 0 0 1 1.09 1.64V7A10.89 10.89 0 0 1 21.5 17.75a10.29 10.29 0 0 1-.31 2.49 1 1 0 0 1-1 .76z\"/></g></g>',unlock:'<g data-name=\"Layer 2\"><g data-name=\"unlock\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><circle cx=\"12\" cy=\"15\" r=\"1\"/><path d=\"M17 8h-7V6a2 2 0 0 1 4 0 1 1 0 0 0 2 0 4 4 0 0 0-8 0v2H7a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3v-8a3 3 0 0 0-3-3zm-5 10a3 3 0 1 1 3-3 3 3 0 0 1-3 3z\"/></g></g>',upload:'<g data-name=\"Layer 2\"><g data-name=\"upload\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><rect x=\"4\" y=\"4\" width=\"16\" height=\"2\" rx=\"1\" ry=\"1\" transform=\"rotate(180 12 5)\"/><rect x=\"17\" y=\"5\" width=\"4\" height=\"2\" rx=\"1\" ry=\"1\" transform=\"rotate(90 19 6)\"/><rect x=\"3\" y=\"5\" width=\"4\" height=\"2\" rx=\"1\" ry=\"1\" transform=\"rotate(90 5 6)\"/><path d=\"M8 14a1 1 0 0 1-.8-.4 1 1 0 0 1 .2-1.4l4-3a1 1 0 0 1 1.18 0l4 2.82a1 1 0 0 1 .24 1.39 1 1 0 0 1-1.4.24L12 11.24 8.6 13.8a1 1 0 0 1-.6.2z\"/><path d=\"M12 21a1 1 0 0 1-1-1v-8a1 1 0 0 1 2 0v8a1 1 0 0 1-1 1z\"/></g></g>',\"video-off\":'<g data-name=\"Layer 2\"><g data-name=\"video-off\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M14.22 17.05L4.88 7.71 3.12 6 3 5.8A3 3 0 0 0 2 8v8a3 3 0 0 0 3 3h9a2.94 2.94 0 0 0 1.66-.51z\"/><path d=\"M21 7.15a1.7 1.7 0 0 0-1.85.3l-2.15 2V8a3 3 0 0 0-3-3H7.83l1.29 1.29 6.59 6.59 2 2 2 2a1.73 1.73 0 0 0 .6.11 1.68 1.68 0 0 0 .69-.15 1.6 1.6 0 0 0 1-1.48V8.63a1.6 1.6 0 0 0-1-1.48z\"/><path d=\"M17 15.59l-2-2L8.41 7l-2-2-1.7-1.71a1 1 0 0 0-1.42 1.42l.54.53L5.59 7l9.34 9.34 1.46 1.46 2.9 2.91a1 1 0 0 0 1.42 0 1 1 0 0 0 0-1.42z\"/></g></g>',video:'<g data-name=\"Layer 2\"><g data-name=\"video\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M21 7.15a1.7 1.7 0 0 0-1.85.3l-2.15 2V8a3 3 0 0 0-3-3H5a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h9a3 3 0 0 0 3-3v-1.45l2.16 2a1.74 1.74 0 0 0 1.16.45 1.68 1.68 0 0 0 .69-.15 1.6 1.6 0 0 0 1-1.48V8.63A1.6 1.6 0 0 0 21 7.15z\"/></g></g>',\"volume-down\":'<g data-name=\"Layer 2\"><g data-name=\"volume-down\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M20.78 8.37a1 1 0 1 0-1.56 1.26 4 4 0 0 1 0 4.74A1 1 0 0 0 20 16a1 1 0 0 0 .78-.37 6 6 0 0 0 0-7.26z\"/><path d=\"M16.47 3.12a1 1 0 0 0-1 0L9 7.57H4a1 1 0 0 0-1 1v6.86a1 1 0 0 0 1 1h5l6.41 4.4A1.06 1.06 0 0 0 16 21a1 1 0 0 0 1-1V4a1 1 0 0 0-.53-.88z\"/></g></g>',\"volume-mute\":'<g data-name=\"Layer 2\"><g data-name=\"volume-mute\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M17 21a1.06 1.06 0 0 1-.57-.17L10 16.43H5a1 1 0 0 1-1-1V8.57a1 1 0 0 1 1-1h5l6.41-4.4A1 1 0 0 1 18 4v16a1 1 0 0 1-1 1z\"/></g></g>',\"volume-off\":'<g data-name=\"Layer 2\"><g data-name=\"volume-off\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M16.91 14.08l1.44 1.44a6 6 0 0 0-.07-7.15 1 1 0 1 0-1.56 1.26 4 4 0 0 1 .19 4.45z\"/><path d=\"M21 12a6.51 6.51 0 0 1-1.78 4.39l1.42 1.42A8.53 8.53 0 0 0 23 12a8.75 8.75 0 0 0-3.36-6.77 1 1 0 1 0-1.28 1.54A6.8 6.8 0 0 1 21 12z\"/><path d=\"M15 12.17V4a1 1 0 0 0-1.57-.83L9 6.2z\"/><path d=\"M4.74 7.57H2a1 1 0 0 0-1 1v6.86a1 1 0 0 0 1 1h5l6.41 4.4A1.06 1.06 0 0 0 14 21a1 1 0 0 0 1-1v-2.17z\"/><path d=\"M4.71 3.29a1 1 0 0 0-1.42 1.42l16 16a1 1 0 0 0 1.42 0 1 1 0 0 0 0-1.42z\"/></g></g>',\"volume-up\":'<g data-name=\"Layer 2\"><g data-name=\"volume-up\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M18.28 8.37a1 1 0 1 0-1.56 1.26 4 4 0 0 1 0 4.74A1 1 0 0 0 17.5 16a1 1 0 0 0 .78-.37 6 6 0 0 0 0-7.26z\"/><path d=\"M19.64 5.23a1 1 0 1 0-1.28 1.54A6.8 6.8 0 0 1 21 12a6.8 6.8 0 0 1-2.64 5.23 1 1 0 0 0-.13 1.41A1 1 0 0 0 19 19a1 1 0 0 0 .64-.23A8.75 8.75 0 0 0 23 12a8.75 8.75 0 0 0-3.36-6.77z\"/><path d=\"M14.47 3.12a1 1 0 0 0-1 0L7 7.57H2a1 1 0 0 0-1 1v6.86a1 1 0 0 0 1 1h5l6.41 4.4A1.06 1.06 0 0 0 14 21a1 1 0 0 0 1-1V4a1 1 0 0 0-.53-.88z\"/></g></g>',\"wifi-off\":'<g data-name=\"Layer 2\"><g data-name=\"wifi-off\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><circle cx=\"12\" cy=\"19\" r=\"1\"/><path d=\"M12.44 11l-1.9-1.89-2.46-2.44-1.55-1.55-1.82-1.83a1 1 0 0 0-1.42 1.42l1.38 1.37 1.46 1.46 2.23 2.24 1.55 1.54 2.74 2.74 2.79 2.8 3.85 3.85a1 1 0 0 0 1.42 0 1 1 0 0 0 0-1.42z\"/><path d=\"M21.72 7.93A13.93 13.93 0 0 0 12 4a14.1 14.1 0 0 0-4.44.73l1.62 1.62a11.89 11.89 0 0 1 11.16 3 1 1 0 0 0 .69.28 1 1 0 0 0 .72-.31 1 1 0 0 0-.03-1.39z\"/><path d=\"M3.82 6.65a14.32 14.32 0 0 0-1.54 1.28 1 1 0 0 0 1.38 1.44 13.09 13.09 0 0 1 1.6-1.29z\"/><path d=\"M17 13.14a1 1 0 0 0 .71.3 1 1 0 0 0 .72-1.69A9 9 0 0 0 12 9h-.16l2.35 2.35A7 7 0 0 1 17 13.14z\"/><path d=\"M7.43 10.26a8.8 8.8 0 0 0-1.9 1.49A1 1 0 0 0 7 13.14a7.3 7.3 0 0 1 2-1.41z\"/><path d=\"M8.53 15.4a1 1 0 1 0 1.39 1.44 3.06 3.06 0 0 1 3.84-.25l-2.52-2.52a5 5 0 0 0-2.71 1.33z\"/></g></g>',wifi:'<g data-name=\"Layer 2\"><g data-name=\"wifi\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><circle cx=\"12\" cy=\"19\" r=\"1\"/><path d=\"M12 14a5 5 0 0 0-3.47 1.4 1 1 0 1 0 1.39 1.44 3.08 3.08 0 0 1 4.16 0 1 1 0 1 0 1.39-1.44A5 5 0 0 0 12 14z\"/><path d=\"M12 9a9 9 0 0 0-6.47 2.75A1 1 0 0 0 7 13.14a7 7 0 0 1 10.08 0 1 1 0 0 0 .71.3 1 1 0 0 0 .72-1.69A9 9 0 0 0 12 9z\"/><path d=\"M21.72 7.93a14 14 0 0 0-19.44 0 1 1 0 0 0 1.38 1.44 12 12 0 0 1 16.68 0 1 1 0 0 0 .69.28 1 1 0 0 0 .72-.31 1 1 0 0 0-.03-1.41z\"/></g></g>',\"activity-outline\":'<g data-name=\"Layer 2\"><g data-name=\"activity\"><rect width=\"24\" height=\"24\" transform=\"rotate(90 12 12)\" opacity=\"0\"/><path d=\"M14.33 20h-.21a2 2 0 0 1-1.76-1.58L9.68 6l-2.76 6.4A1 1 0 0 1 6 13H3a1 1 0 0 1 0-2h2.34l2.51-5.79a2 2 0 0 1 3.79.38L14.32 18l2.76-6.38A1 1 0 0 1 18 11h3a1 1 0 0 1 0 2h-2.34l-2.51 5.79A2 2 0 0 1 14.33 20z\"/></g></g>',\"alert-circle-outline\":'<g data-name=\"Layer 2\"><g data-name=\"alert-circle\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm0 18a8 8 0 1 1 8-8 8 8 0 0 1-8 8z\"/><circle cx=\"12\" cy=\"16\" r=\"1\"/><path d=\"M12 7a1 1 0 0 0-1 1v5a1 1 0 0 0 2 0V8a1 1 0 0 0-1-1z\"/></g></g>',\"alert-triangle-outline\":'<g data-name=\"Layer 2\"><g data-name=\"alert-triangle\"><rect width=\"24\" height=\"24\" transform=\"rotate(90 12 12)\" opacity=\"0\"/><path d=\"M22.56 16.3L14.89 3.58a3.43 3.43 0 0 0-5.78 0L1.44 16.3a3 3 0 0 0-.05 3A3.37 3.37 0 0 0 4.33 21h15.34a3.37 3.37 0 0 0 2.94-1.66 3 3 0 0 0-.05-3.04zm-1.7 2.05a1.31 1.31 0 0 1-1.19.65H4.33a1.31 1.31 0 0 1-1.19-.65 1 1 0 0 1 0-1l7.68-12.73a1.48 1.48 0 0 1 2.36 0l7.67 12.72a1 1 0 0 1 .01 1.01z\"/><circle cx=\"12\" cy=\"16\" r=\"1\"/><path d=\"M12 8a1 1 0 0 0-1 1v4a1 1 0 0 0 2 0V9a1 1 0 0 0-1-1z\"/></g></g>',\"archive-outline\":'<g data-name=\"Layer 2\"><g data-name=\"archive\"><rect width=\"24\" height=\"24\" transform=\"rotate(90 12 12)\" opacity=\"0\"/><path d=\"M21 6a3 3 0 0 0-3-3H6a3 3 0 0 0-2 5.22V18a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V8.22A3 3 0 0 0 21 6zM6 5h12a1 1 0 0 1 0 2H6a1 1 0 0 1 0-2zm12 13a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V9h12z\"/><rect x=\"9\" y=\"12\" width=\"6\" height=\"2\" rx=\".87\" ry=\".87\"/></g></g>',\"arrow-back-outline\":'<g data-name=\"Layer 2\"><g data-name=\"arrow-back\"><rect width=\"24\" height=\"24\" transform=\"rotate(90 12 12)\" opacity=\"0\"/><path d=\"M19 11H7.14l3.63-4.36a1 1 0 1 0-1.54-1.28l-5 6a1.19 1.19 0 0 0-.09.15c0 .05 0 .08-.07.13A1 1 0 0 0 4 12a1 1 0 0 0 .07.36c0 .05 0 .08.07.13a1.19 1.19 0 0 0 .09.15l5 6A1 1 0 0 0 10 19a1 1 0 0 0 .64-.23 1 1 0 0 0 .13-1.41L7.14 13H19a1 1 0 0 0 0-2z\"/></g></g>',\"arrow-circle-down-outline\":'<g data-name=\"Layer 2\"><g data-name=\"arrow-circle-down\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M14.31 12.41L13 13.66V8a1 1 0 0 0-2 0v5.59l-1.29-1.3a1 1 0 0 0-1.42 1.42l3 3a1 1 0 0 0 .33.21.94.94 0 0 0 .76 0 .54.54 0 0 0 .16-.1.49.49 0 0 0 .15-.1l3-2.86a1 1 0 0 0-1.38-1.45z\"/><path d=\"M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm0 18a8 8 0 1 1 8-8 8 8 0 0 1-8 8z\"/></g></g>',\"arrow-circle-left-outline\":'<g data-name=\"Layer 2\"><g data-name=\"arrow-circle-left\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M16 11h-5.66l1.25-1.31a1 1 0 0 0-1.45-1.38l-2.86 3a1 1 0 0 0-.09.13.72.72 0 0 0-.11.19.88.88 0 0 0-.06.28L7 12a1 1 0 0 0 .08.38 1 1 0 0 0 .21.32l3 3a1 1 0 0 0 1.42 0 1 1 0 0 0 0-1.42L10.41 13H16a1 1 0 0 0 0-2z\"/><path d=\"M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm0 18a8 8 0 1 1 8-8 8 8 0 0 1-8 8z\"/></g></g>',\"arrow-circle-right-outline\":'<g data-name=\"Layer 2\"><g data-name=\"arrow-circle-right\"><rect width=\"24\" height=\"24\" transform=\"rotate(-90 12 12)\" opacity=\"0\"/><path d=\"M17 12v-.09a.88.88 0 0 0-.06-.28.72.72 0 0 0-.11-.19 1 1 0 0 0-.09-.13l-2.86-3a1 1 0 0 0-1.45 1.38L13.66 11H8a1 1 0 0 0 0 2h5.59l-1.3 1.29a1 1 0 0 0 0 1.42 1 1 0 0 0 1.42 0l3-3a1 1 0 0 0 .21-.32A1 1 0 0 0 17 12z\"/><path d=\"M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm0 18a8 8 0 1 1 8-8 8 8 0 0 1-8 8z\"/></g></g>',\"arrow-circle-up-outline\":'<g data-name=\"Layer 2\"><g data-name=\"arrow-circle-up\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M12.71 7.29a1 1 0 0 0-.32-.21A1 1 0 0 0 12 7h-.1a.82.82 0 0 0-.27.06.72.72 0 0 0-.19.11 1 1 0 0 0-.13.09l-3 2.86a1 1 0 0 0 1.38 1.45L11 10.34V16a1 1 0 0 0 2 0v-5.59l1.29 1.3a1 1 0 0 0 1.42 0 1 1 0 0 0 0-1.42z\"/><path d=\"M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm0 18a8 8 0 1 1 8-8 8 8 0 0 1-8 8z\"/></g></g>',\"arrow-down-outline\":'<g data-name=\"Layer 2\"><g data-name=\"arrow-down\"><rect width=\"24\" height=\"24\" transform=\"rotate(-90 12 12)\" opacity=\"0\"/><path d=\"M12 17a1.72 1.72 0 0 1-1.33-.64l-4.21-5.1a2.1 2.1 0 0 1-.26-2.21A1.76 1.76 0 0 1 7.79 8h8.42a1.76 1.76 0 0 1 1.59 1.05 2.1 2.1 0 0 1-.26 2.21l-4.21 5.1A1.72 1.72 0 0 1 12 17zm-3.91-7L12 14.82 16 10z\"/></g></g>',\"arrow-downward-outline\":'<g data-name=\"Layer 2\"><g data-name=\"arrow-downward\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M18.77 13.36a1 1 0 0 0-1.41-.13L13 16.86V5a1 1 0 0 0-2 0v11.86l-4.36-3.63a1 1 0 1 0-1.28 1.54l6 5 .15.09.13.07a1 1 0 0 0 .72 0l.13-.07.15-.09 6-5a1 1 0 0 0 .13-1.41z\"/></g></g>',\"arrow-forward-outline\":'<g data-name=\"Layer 2\"><g data-name=\"arrow-forward\"><rect width=\"24\" height=\"24\" transform=\"rotate(-90 12 12)\" opacity=\"0\"/><path d=\"M5 13h11.86l-3.63 4.36a1 1 0 0 0 1.54 1.28l5-6a1.19 1.19 0 0 0 .09-.15c0-.05.05-.08.07-.13A1 1 0 0 0 20 12a1 1 0 0 0-.07-.36c0-.05-.05-.08-.07-.13a1.19 1.19 0 0 0-.09-.15l-5-6A1 1 0 0 0 14 5a1 1 0 0 0-.64.23 1 1 0 0 0-.13 1.41L16.86 11H5a1 1 0 0 0 0 2z\"/></g></g>',\"arrow-ios-back-outline\":'<g data-name=\"Layer 2\"><g data-name=\"arrow-ios-back\"><rect width=\"24\" height=\"24\" transform=\"rotate(90 12 12)\" opacity=\"0\"/><path d=\"M13.83 19a1 1 0 0 1-.78-.37l-4.83-6a1 1 0 0 1 0-1.27l5-6a1 1 0 0 1 1.54 1.28L10.29 12l4.32 5.36a1 1 0 0 1-.78 1.64z\"/></g></g>',\"arrow-ios-downward-outline\":'<g data-name=\"Layer 2\"><g data-name=\"arrow-ios-downward\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M12 16a1 1 0 0 1-.64-.23l-6-5a1 1 0 1 1 1.28-1.54L12 13.71l5.36-4.32a1 1 0 0 1 1.41.15 1 1 0 0 1-.14 1.46l-6 4.83A1 1 0 0 1 12 16z\"/></g></g>',\"arrow-ios-forward-outline\":'<g data-name=\"Layer 2\"><g data-name=\"arrow-ios-forward\"><rect width=\"24\" height=\"24\" transform=\"rotate(-90 12 12)\" opacity=\"0\"/><path d=\"M10 19a1 1 0 0 1-.64-.23 1 1 0 0 1-.13-1.41L13.71 12 9.39 6.63a1 1 0 0 1 .15-1.41 1 1 0 0 1 1.46.15l4.83 6a1 1 0 0 1 0 1.27l-5 6A1 1 0 0 1 10 19z\"/></g></g>',\"arrow-ios-upward-outline\":'<g data-name=\"Layer 2\"><g data-name=\"arrow-ios-upward\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M18 15a1 1 0 0 1-.64-.23L12 10.29l-5.37 4.32a1 1 0 0 1-1.41-.15 1 1 0 0 1 .15-1.41l6-4.83a1 1 0 0 1 1.27 0l6 5a1 1 0 0 1 .13 1.41A1 1 0 0 1 18 15z\"/></g></g>',\"arrow-left-outline\":'<g data-name=\"Layer 2\"><g data-name=\"arrow-left\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M13.54 18a2.06 2.06 0 0 1-1.3-.46l-5.1-4.21a1.7 1.7 0 0 1 0-2.66l5.1-4.21a2.1 2.1 0 0 1 2.21-.26 1.76 1.76 0 0 1 1.05 1.59v8.42a1.76 1.76 0 0 1-1.05 1.59 2.23 2.23 0 0 1-.91.2zm-4.86-6l4.82 4V8.09z\"/></g></g>',\"arrow-right-outline\":'<g data-name=\"Layer 2\"><g data-name=\"arrow-right\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M10.46 18a2.23 2.23 0 0 1-.91-.2 1.76 1.76 0 0 1-1.05-1.59V7.79A1.76 1.76 0 0 1 9.55 6.2a2.1 2.1 0 0 1 2.21.26l5.1 4.21a1.7 1.7 0 0 1 0 2.66l-5.1 4.21a2.06 2.06 0 0 1-1.3.46zm0-10v7.9l4.86-3.9z\"/></g></g>',\"arrow-up-outline\":'<g data-name=\"Layer 2\"><g data-name=\"arrow-up\"><rect width=\"24\" height=\"24\" transform=\"rotate(90 12 12)\" opacity=\"0\"/><path d=\"M16.21 16H7.79a1.76 1.76 0 0 1-1.59-1 2.1 2.1 0 0 1 .26-2.21l4.21-5.1a1.76 1.76 0 0 1 2.66 0l4.21 5.1A2.1 2.1 0 0 1 17.8 15a1.76 1.76 0 0 1-1.59 1zM8 14h7.9L12 9.18z\"/></g></g>',\"arrow-upward-outline\":'<g data-name=\"Layer 2\"><g data-name=\"arrow-upward\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M5.23 10.64a1 1 0 0 0 1.41.13L11 7.14V19a1 1 0 0 0 2 0V7.14l4.36 3.63a1 1 0 1 0 1.28-1.54l-6-5-.15-.09-.13-.07a1 1 0 0 0-.72 0l-.13.07-.15.09-6 5a1 1 0 0 0-.13 1.41z\"/></g></g>',\"arrowhead-down-outline\":'<g data-name=\"Layer 2\"><g data-name=\"arrowhead-down\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M17.37 12.39L12 16.71l-5.36-4.48a1 1 0 1 0-1.28 1.54l6 5a1 1 0 0 0 1.27 0l6-4.83a1 1 0 0 0 .15-1.41 1 1 0 0 0-1.41-.14z\"/><path d=\"M11.36 11.77a1 1 0 0 0 1.27 0l6-4.83a1 1 0 0 0 .15-1.41 1 1 0 0 0-1.41-.15L12 9.71 6.64 5.23a1 1 0 0 0-1.28 1.54z\"/></g></g>',\"arrowhead-left-outline\":'<g data-name=\"Layer 2\"><g data-name=\"arrowhead-left\"><rect width=\"24\" height=\"24\" transform=\"rotate(90 12 12)\" opacity=\"0\"/><path d=\"M11.64 5.23a1 1 0 0 0-1.41.13l-5 6a1 1 0 0 0 0 1.27l4.83 6a1 1 0 0 0 .78.37 1 1 0 0 0 .78-1.63L7.29 12l4.48-5.37a1 1 0 0 0-.13-1.4z\"/><path d=\"M14.29 12l4.48-5.37a1 1 0 0 0-1.54-1.28l-5 6a1 1 0 0 0 0 1.27l4.83 6a1 1 0 0 0 .78.37 1 1 0 0 0 .78-1.63z\"/></g></g>',\"arrowhead-right-outline\":'<g data-name=\"Layer 2\"><g data-name=\"arrowhead-right\"><rect width=\"24\" height=\"24\" transform=\"rotate(-90 12 12)\" opacity=\"0\"/><path d=\"M18.78 11.37l-4.78-6a1 1 0 0 0-1.41-.15 1 1 0 0 0-.15 1.41L16.71 12l-4.48 5.37a1 1 0 0 0 .13 1.41A1 1 0 0 0 13 19a1 1 0 0 0 .77-.36l5-6a1 1 0 0 0 .01-1.27z\"/><path d=\"M7 5.37a1 1 0 0 0-1.61 1.26L9.71 12l-4.48 5.36a1 1 0 0 0 .13 1.41A1 1 0 0 0 6 19a1 1 0 0 0 .77-.36l5-6a1 1 0 0 0 0-1.27z\"/></g></g>',\"arrowhead-up-outline\":'<g data-name=\"Layer 2\"><g data-name=\"arrowhead-up\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M6.63 11.61L12 7.29l5.37 4.48A1 1 0 0 0 18 12a1 1 0 0 0 .77-.36 1 1 0 0 0-.13-1.41l-6-5a1 1 0 0 0-1.27 0l-6 4.83a1 1 0 0 0-.15 1.41 1 1 0 0 0 1.41.14z\"/><path d=\"M12.64 12.23a1 1 0 0 0-1.27 0l-6 4.83a1 1 0 0 0-.15 1.41 1 1 0 0 0 1.41.15L12 14.29l5.37 4.48A1 1 0 0 0 18 19a1 1 0 0 0 .77-.36 1 1 0 0 0-.13-1.41z\"/></g></g>',\"at-outline\":'<g data-name=\"Layer 2\"><g data-name=\"at\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M13 2a10 10 0 0 0-5 19.1 10.15 10.15 0 0 0 4 .9 10 10 0 0 0 6.08-2.06 1 1 0 0 0 .19-1.4 1 1 0 0 0-1.41-.19A8 8 0 1 1 12.77 4 8.17 8.17 0 0 1 20 12.22v.68a1.71 1.71 0 0 1-1.78 1.7 1.82 1.82 0 0 1-1.62-1.88V8.4a1 1 0 0 0-1-1 1 1 0 0 0-1 .87 5 5 0 0 0-3.44-1.36A5.09 5.09 0 1 0 15.31 15a3.6 3.6 0 0 0 5.55.61A3.67 3.67 0 0 0 22 12.9v-.68A10.2 10.2 0 0 0 13 2zm-1.82 13.09A3.09 3.09 0 1 1 14.27 12a3.1 3.1 0 0 1-3.09 3.09z\"/></g></g>',\"attach-2-outline\":'<g data-name=\"Layer 2\"><g data-name=\"attach-2\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M12 22a5.86 5.86 0 0 1-6-5.7V6.13A4.24 4.24 0 0 1 10.33 2a4.24 4.24 0 0 1 4.34 4.13v10.18a2.67 2.67 0 0 1-5.33 0V6.92a1 1 0 0 1 1-1 1 1 0 0 1 1 1v9.39a.67.67 0 0 0 1.33 0V6.13A2.25 2.25 0 0 0 10.33 4 2.25 2.25 0 0 0 8 6.13V16.3a3.86 3.86 0 0 0 4 3.7 3.86 3.86 0 0 0 4-3.7V6.13a1 1 0 1 1 2 0V16.3a5.86 5.86 0 0 1-6 5.7z\"/></g></g>',\"attach-outline\":'<g data-name=\"Layer 2\"><g data-name=\"attach\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M9.29 21a6.23 6.23 0 0 1-4.43-1.88 6 6 0 0 1-.22-8.49L12 3.2A4.11 4.11 0 0 1 15 2a4.48 4.48 0 0 1 3.19 1.35 4.36 4.36 0 0 1 .15 6.13l-7.4 7.43a2.54 2.54 0 0 1-1.81.75 2.72 2.72 0 0 1-1.95-.82 2.68 2.68 0 0 1-.08-3.77l6.83-6.86a1 1 0 0 1 1.37 1.41l-6.83 6.86a.68.68 0 0 0 .08.95.78.78 0 0 0 .53.23.56.56 0 0 0 .4-.16l7.39-7.43a2.36 2.36 0 0 0-.15-3.31 2.38 2.38 0 0 0-3.27-.15L6.06 12a4 4 0 0 0 .22 5.67 4.22 4.22 0 0 0 3 1.29 3.67 3.67 0 0 0 2.61-1.06l7.39-7.43a1 1 0 1 1 1.42 1.41l-7.39 7.43A5.65 5.65 0 0 1 9.29 21z\"/></g></g>',\"award-outline\":'<g data-name=\"Layer 2\"><g data-name=\"award\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M19 20.75l-2.31-9A5.94 5.94 0 0 0 18 8 6 6 0 0 0 6 8a5.94 5.94 0 0 0 1.34 3.77L5 20.75a1 1 0 0 0 1.48 1.11l5.33-3.13 5.68 3.14A.91.91 0 0 0 18 22a1 1 0 0 0 1-1.25zM12 4a4 4 0 1 1-4 4 4 4 0 0 1 4-4zm.31 12.71a1 1 0 0 0-1 0l-3.75 2.2L9 13.21a5.94 5.94 0 0 0 5.92 0L16.45 19z\"/></g></g>',\"backspace-outline\":'<g data-name=\"Layer 2\"><g data-name=\"backspace\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M20.14 4h-9.77a3 3 0 0 0-2 .78l-.1.11-6 7.48a1 1 0 0 0 .11 1.37l6 5.48a3 3 0 0 0 2 .78h9.77A1.84 1.84 0 0 0 22 18.18V5.82A1.84 1.84 0 0 0 20.14 4zM20 18h-9.63a1 1 0 0 1-.67-.26l-5.33-4.85 5.38-6.67a1 1 0 0 1 .62-.22H20z\"/><path d=\"M11.29 14.71a1 1 0 0 0 1.42 0l1.29-1.3 1.29 1.3a1 1 0 0 0 1.42 0 1 1 0 0 0 0-1.42L15.41 12l1.3-1.29a1 1 0 0 0-1.42-1.42L14 10.59l-1.29-1.3a1 1 0 0 0-1.42 1.42l1.3 1.29-1.3 1.29a1 1 0 0 0 0 1.42z\"/></g></g>',\"bar-chart-2-outline\":'<g data-name=\"Layer 2\"><g data-name=\"bar-chart-2\"><rect width=\"24\" height=\"24\" transform=\"rotate(90 12 12)\" opacity=\"0\"/><path d=\"M12 8a1 1 0 0 0-1 1v11a1 1 0 0 0 2 0V9a1 1 0 0 0-1-1z\"/><path d=\"M19 4a1 1 0 0 0-1 1v15a1 1 0 0 0 2 0V5a1 1 0 0 0-1-1z\"/><path d=\"M5 12a1 1 0 0 0-1 1v7a1 1 0 0 0 2 0v-7a1 1 0 0 0-1-1z\"/></g></g>',\"bar-chart-outline\":'<g data-name=\"Layer 2\"><g data-name=\"bar-chart\"><rect width=\"24\" height=\"24\" transform=\"rotate(90 12 12)\" opacity=\"0\"/><path d=\"M12 4a1 1 0 0 0-1 1v15a1 1 0 0 0 2 0V5a1 1 0 0 0-1-1z\"/><path d=\"M19 12a1 1 0 0 0-1 1v7a1 1 0 0 0 2 0v-7a1 1 0 0 0-1-1z\"/><path d=\"M5 8a1 1 0 0 0-1 1v11a1 1 0 0 0 2 0V9a1 1 0 0 0-1-1z\"/></g></g>',\"battery-outline\":'<g data-name=\"Layer 2\"><g data-name=\"battery\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M15.83 6H4.17A2.31 2.31 0 0 0 2 8.43v7.14A2.31 2.31 0 0 0 4.17 18h11.66A2.31 2.31 0 0 0 18 15.57V8.43A2.31 2.31 0 0 0 15.83 6zm.17 9.57a.52.52 0 0 1-.17.43H4.18a.5.5 0 0 1-.18-.43V8.43A.53.53 0 0 1 4.17 8h11.65a.5.5 0 0 1 .18.43z\"/><path d=\"M21 9a1 1 0 0 0-1 1v4a1 1 0 0 0 2 0v-4a1 1 0 0 0-1-1z\"/></g></g>',\"behance-outline\":'<g data-name=\"Layer 2\"><g data-name=\"behance\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm0 18a8 8 0 1 1 8-8 8 8 0 0 1-8 8z\"/><path d=\"M10.52 11.78a1.4 1.4 0 0 0 1.12-1.43c0-1-.77-1.6-1.94-1.6H7v6.5h2.7c1.3-.05 2.3-.72 2.3-1.88a1.52 1.52 0 0 0-1.48-1.59zM8.26 9.67h1.15c.6 0 .95.32.95.85s-.38.89-1.25.89h-.85zm1 4.57h-1V12.3h1.23c.75 0 1.17.38 1.17 1s-.42.94-1.44.94z\"/><path d=\"M14.75 10.3a2.11 2.11 0 0 0-2.28 2.25V13a2.15 2.15 0 0 0 2.34 2.31A2 2 0 0 0 17 13.75h-1.21a.9.9 0 0 1-1 .63 1.07 1.07 0 0 1-1.09-1.19v-.14H17v-.47a2.12 2.12 0 0 0-2.25-2.28zm1 2h-2.02a1 1 0 0 1 1-1.09 1 1 0 0 1 1 1.09z\"/><rect x=\"13.25\" y=\"9.2\" width=\"3\" height=\".5\"/></g></g>',\"bell-off-outline\":'<g data-name=\"Layer 2\"><g data-name=\"bell-off\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M8.9 5.17A4.67 4.67 0 0 1 12.64 4a4.86 4.86 0 0 1 4.08 4.9v4.5a1.92 1.92 0 0 0 .1.59l3.6 3.6a1.58 1.58 0 0 0 .45-.6 1.62 1.62 0 0 0-.35-1.78l-1.8-1.81V8.94a6.86 6.86 0 0 0-5.82-6.88 6.71 6.71 0 0 0-5.32 1.61 6.88 6.88 0 0 0-.58.54l1.47 1.43a4.79 4.79 0 0 1 .43-.47z\"/><path d=\"M14 16.86l-.83-.86H5.51l1.18-1.18a2 2 0 0 0 .59-1.42v-3.29l-2-2a5.68 5.68 0 0 0 0 .59v4.7l-1.8 1.81A1.63 1.63 0 0 0 4.64 18H8v.34A3.84 3.84 0 0 0 12 22a3.88 3.88 0 0 0 4-3.22l-.83-.78zM12 20a1.88 1.88 0 0 1-2-1.66V18h4v.34A1.88 1.88 0 0 1 12 20z\"/><path d=\"M20.71 19.29L19.41 18l-2-2-9.52-9.53L6.42 5 4.71 3.29a1 1 0 0 0-1.42 1.42L5.53 7l1.75 1.7 7.31 7.3.07.07L16 17.41l.59.59 2.7 2.71a1 1 0 0 0 1.42 0 1 1 0 0 0 0-1.42z\"/></g></g>',\"bell-outline\":'<g data-name=\"Layer 2\"><g data-name=\"bell\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M20.52 15.21l-1.8-1.81V8.94a6.86 6.86 0 0 0-5.82-6.88 6.74 6.74 0 0 0-7.62 6.67v4.67l-1.8 1.81A1.64 1.64 0 0 0 4.64 18H8v.34A3.84 3.84 0 0 0 12 22a3.84 3.84 0 0 0 4-3.66V18h3.36a1.64 1.64 0 0 0 1.16-2.79zM14 18.34A1.88 1.88 0 0 1 12 20a1.88 1.88 0 0 1-2-1.66V18h4zM5.51 16l1.18-1.18a2 2 0 0 0 .59-1.42V8.73A4.73 4.73 0 0 1 8.9 5.17 4.67 4.67 0 0 1 12.64 4a4.86 4.86 0 0 1 4.08 4.9v4.5a2 2 0 0 0 .58 1.42L18.49 16z\"/></g></g>',\"bluetooth-outline\":'<g data-name=\"Layer 2\"><g data-name=\"bluetooth\"><rect width=\"24\" height=\"24\" transform=\"rotate(90 12 12)\" opacity=\"0\"/><path d=\"M13.63 12l4-3.79a1.14 1.14 0 0 0-.13-1.77l-4.67-3.23a1.17 1.17 0 0 0-1.21-.08 1.15 1.15 0 0 0-.62 1v6.2l-3.19-4a1 1 0 0 0-1.56 1.3L9.72 12l-3.5 4.43a1 1 0 0 0 .16 1.4A1 1 0 0 0 7 18a1 1 0 0 0 .78-.38L11 13.56v6.29A1.16 1.16 0 0 0 12.16 21a1.16 1.16 0 0 0 .67-.21l4.64-3.18a1.17 1.17 0 0 0 .49-.85 1.15 1.15 0 0 0-.34-.91zM13 5.76l2.5 1.73L13 9.85zm0 12.49v-4.07l2.47 2.38z\"/></g></g>',\"book-open-outline\":'<g data-name=\"Layer 2\"><g data-name=\"book-open\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M20.62 4.22a1 1 0 0 0-.84-.2L12 5.77 4.22 4A1 1 0 0 0 3 5v12.2a1 1 0 0 0 .78 1l8 1.8h.44l8-1.8a1 1 0 0 0 .78-1V5a1 1 0 0 0-.38-.78zM5 6.25l6 1.35v10.15L5 16.4zM19 16.4l-6 1.35V7.6l6-1.35z\"/></g></g>',\"book-outline\":'<g data-name=\"Layer 2\"><g data-name=\"book\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M19 3H7a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h12a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1zM7 5h11v10H7a3 3 0 0 0-1 .18V6a1 1 0 0 1 1-1zm0 14a1 1 0 0 1 0-2h11v2z\"/></g></g>',\"bookmark-outline\":'<g data-name=\"Layer 2\"><g data-name=\"bookmark\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M6.09 21.06a1 1 0 0 1-1-1L4.94 5.4a2.26 2.26 0 0 1 2.18-2.35L16.71 3a2.27 2.27 0 0 1 2.23 2.31l.14 14.66a1 1 0 0 1-.49.87 1 1 0 0 1-1 0l-5.7-3.16-5.29 3.23a1.2 1.2 0 0 1-.51.15zm5.76-5.55a1.11 1.11 0 0 1 .5.12l4.71 2.61-.12-12.95c0-.2-.13-.34-.21-.33l-9.6.09c-.08 0-.19.13-.19.33l.12 12.9 4.28-2.63a1.06 1.06 0 0 1 .51-.14z\"/></g></g>',\"briefcase-outline\":'<g data-name=\"Layer 2\"><g data-name=\"briefcase\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M19 7h-3V5.5A2.5 2.5 0 0 0 13.5 3h-3A2.5 2.5 0 0 0 8 5.5V7H5a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-8a3 3 0 0 0-3-3zm-4 2v10H9V9zm-5-3.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5V7h-4zM4 18v-8a1 1 0 0 1 1-1h2v10H5a1 1 0 0 1-1-1zm16 0a1 1 0 0 1-1 1h-2V9h2a1 1 0 0 1 1 1z\"/></g></g>',\"browser-outline\":'<g data-name=\"Layer 2\"><g data-name=\"browser\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M18 3H6a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3zm1 15a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1v-7h14zM5 9V6a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3z\"/><circle cx=\"8\" cy=\"7.03\" r=\"1\"/><circle cx=\"12\" cy=\"7.03\" r=\"1\"/></g></g>',\"brush-outline\":'<g data-name=\"Layer 2\"><g data-name=\"brush\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M20 6.83a2.76 2.76 0 0 0-.82-2 2.89 2.89 0 0 0-4 0l-6.6 6.6h-.22a4.42 4.42 0 0 0-4.3 4.31L4 19a1 1 0 0 0 .29.73A1.05 1.05 0 0 0 5 20l3.26-.06a4.42 4.42 0 0 0 4.31-4.3v-.23l6.61-6.6A2.74 2.74 0 0 0 20 6.83zM8.25 17.94L6 18v-2.23a2.4 2.4 0 0 1 2.4-2.36 2.15 2.15 0 0 1 2.15 2.19 2.4 2.4 0 0 1-2.3 2.34zm9.52-10.55l-5.87 5.87a4.55 4.55 0 0 0-.52-.64 3.94 3.94 0 0 0-.64-.52l5.87-5.86a.84.84 0 0 1 1.16 0 .81.81 0 0 1 .23.59.79.79 0 0 1-.23.56z\"/></g></g>',\"bulb-outline\":'<g data-name=\"Layer 2\"><g data-name=\"bulb\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M12 7a5 5 0 0 0-3 9v4a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-4a5 5 0 0 0-3-9zm1.5 7.59a1 1 0 0 0-.5.87V20h-2v-4.54a1 1 0 0 0-.5-.87A3 3 0 0 1 9 12a3 3 0 0 1 6 0 3 3 0 0 1-1.5 2.59z\"/><path d=\"M12 6a1 1 0 0 0 1-1V3a1 1 0 0 0-2 0v2a1 1 0 0 0 1 1z\"/><path d=\"M21 11h-2a1 1 0 0 0 0 2h2a1 1 0 0 0 0-2z\"/><path d=\"M5 11H3a1 1 0 0 0 0 2h2a1 1 0 0 0 0-2z\"/><path d=\"M7.66 6.42L6.22 5a1 1 0 0 0-1.39 1.47l1.44 1.39a1 1 0 0 0 .73.28 1 1 0 0 0 .72-.31 1 1 0 0 0-.06-1.41z\"/><path d=\"M19.19 5.05a1 1 0 0 0-1.41 0l-1.44 1.37a1 1 0 0 0 0 1.41 1 1 0 0 0 .72.31 1 1 0 0 0 .69-.28l1.44-1.39a1 1 0 0 0 0-1.42z\"/></g></g>',\"calendar-outline\":'<g data-name=\"Layer 2\"><g data-name=\"calendar\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M18 4h-1V3a1 1 0 0 0-2 0v1H9V3a1 1 0 0 0-2 0v1H6a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3zM6 6h1v1a1 1 0 0 0 2 0V6h6v1a1 1 0 0 0 2 0V6h1a1 1 0 0 1 1 1v4H5V7a1 1 0 0 1 1-1zm12 14H6a1 1 0 0 1-1-1v-6h14v6a1 1 0 0 1-1 1z\"/><circle cx=\"8\" cy=\"16\" r=\"1\"/><path d=\"M16 15h-4a1 1 0 0 0 0 2h4a1 1 0 0 0 0-2z\"/></g></g>',\"camera-outline\":'<g data-name=\"Layer 2\"><g data-name=\"camera\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M19 7h-3V5.5A2.5 2.5 0 0 0 13.5 3h-3A2.5 2.5 0 0 0 8 5.5V7H5a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3v-8a3 3 0 0 0-3-3zm-9-1.5a.5.5 0 0 1 .5-.5h3a.5.5 0 0 1 .5.5V7h-4zM20 18a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-8a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1z\"/><path d=\"M12 10.5a3.5 3.5 0 1 0 3.5 3.5 3.5 3.5 0 0 0-3.5-3.5zm0 5a1.5 1.5 0 1 1 1.5-1.5 1.5 1.5 0 0 1-1.5 1.5z\"/></g></g>',\"car-outline\":'<g data-name=\"Layer 2\"><g data-name=\"car\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M21.6 11.22L17 7.52V5a1.91 1.91 0 0 0-1.81-2H3.79A1.91 1.91 0 0 0 2 5v10a2 2 0 0 0 1.2 1.88 3 3 0 1 0 5.6.12h6.36a3 3 0 1 0 5.64 0h.2a1 1 0 0 0 1-1v-4a1 1 0 0 0-.4-.78zM20 12.48V15h-3v-4.92zM7 18a1 1 0 1 1-1-1 1 1 0 0 1 1 1zm5-3H4V5h11v10zm7 3a1 1 0 1 1-1-1 1 1 0 0 1 1 1z\"/></g></g>',\"cast-outline\":'<g data-name=\"Layer 2\"><g data-name=\"cast\"><polyline points=\"24 24 0 24 0 0\" opacity=\"0\"/><path d=\"M18.4 3H5.6A2.7 2.7 0 0 0 3 5.78V7a1 1 0 0 0 2 0V5.78A.72.72 0 0 1 5.6 5h12.8a.72.72 0 0 1 .6.78v12.44a.72.72 0 0 1-.6.78H17a1 1 0 0 0 0 2h1.4a2.7 2.7 0 0 0 2.6-2.78V5.78A2.7 2.7 0 0 0 18.4 3z\"/><path d=\"M3.86 14A1 1 0 0 0 3 15.17a1 1 0 0 0 1.14.83 2.49 2.49 0 0 1 2.12.72 2.52 2.52 0 0 1 .51 2.84 1 1 0 0 0 .48 1.33 1.06 1.06 0 0 0 .42.09 1 1 0 0 0 .91-.58A4.52 4.52 0 0 0 3.86 14z\"/><path d=\"M3.86 10.08a1 1 0 0 0 .28 2 6 6 0 0 1 5.09 1.71 6 6 0 0 1 1.53 5.95 1 1 0 0 0 .68 1.26.9.9 0 0 0 .28 0 1 1 0 0 0 1-.72 8 8 0 0 0-8.82-10.2z\"/><circle cx=\"4\" cy=\"19\" r=\"1\"/></g></g>',\"charging-outline\":'<g data-name=\"Layer 2\"><g data-name=\"charging\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M21 9a1 1 0 0 0-1 1v4a1 1 0 0 0 2 0v-4a1 1 0 0 0-1-1z\"/><path d=\"M15.83 6h-3.1l-1.14 2h4.23a.5.5 0 0 1 .18.43v7.14a.52.52 0 0 1-.17.43H13l-1.15 2h4A2.31 2.31 0 0 0 18 15.57V8.43A2.31 2.31 0 0 0 15.83 6z\"/><path d=\"M4 15.57V8.43A.53.53 0 0 1 4.17 8H7l1.13-2h-4A2.31 2.31 0 0 0 2 8.43v7.14A2.31 2.31 0 0 0 4.17 18h3.1l1.14-2H4.18a.5.5 0 0 1-.18-.43z\"/><path d=\"M9 20a1 1 0 0 1-.87-1.5l3.15-5.5H7a1 1 0 0 1-.86-.5 1 1 0 0 1 0-1l4-7a1 1 0 0 1 1.74 1L8.72 11H13a1 1 0 0 1 .86.5 1 1 0 0 1 0 1l-4 7A1 1 0 0 1 9 20z\"/></g></g>',\"checkmark-circle-2-outline\":'<g data-name=\"Layer 2\"><g data-name=\"checkmark-circle-2\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm0 18a8 8 0 1 1 8-8 8 8 0 0 1-8 8z\"/><path d=\"M14.7 8.39l-3.78 5-1.63-2.11a1 1 0 0 0-1.58 1.23l2.43 3.11a1 1 0 0 0 .79.38 1 1 0 0 0 .79-.39l4.57-6a1 1 0 1 0-1.6-1.22z\"/></g></g>',\"checkmark-circle-outline\":'<g data-name=\"Layer 2\"><g data-name=\"checkmark-circle\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M9.71 11.29a1 1 0 0 0-1.42 1.42l3 3A1 1 0 0 0 12 16a1 1 0 0 0 .72-.34l7-8a1 1 0 0 0-1.5-1.32L12 13.54z\"/><path d=\"M21 11a1 1 0 0 0-1 1 8 8 0 0 1-8 8A8 8 0 0 1 6.33 6.36 7.93 7.93 0 0 1 12 4a8.79 8.79 0 0 1 1.9.22 1 1 0 1 0 .47-1.94A10.54 10.54 0 0 0 12 2a10 10 0 0 0-7 17.09A9.93 9.93 0 0 0 12 22a10 10 0 0 0 10-10 1 1 0 0 0-1-1z\"/></g></g>',\"checkmark-outline\":'<g data-name=\"Layer 2\"><g data-name=\"checkmark\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M9.86 18a1 1 0 0 1-.73-.32l-4.86-5.17a1 1 0 1 1 1.46-1.37l4.12 4.39 8.41-9.2a1 1 0 1 1 1.48 1.34l-9.14 10a1 1 0 0 1-.73.33z\"/></g></g>',\"checkmark-square-2-outline\":'<g data-name=\"Layer 2\"><g data-name=\"checkmark-square-2\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M18 3H6a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3zm1 15a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1z\"/><path d=\"M14.7 8.39l-3.78 5-1.63-2.11a1 1 0 0 0-1.58 1.23l2.43 3.11a1 1 0 0 0 .79.38 1 1 0 0 0 .79-.39l4.57-6a1 1 0 1 0-1.6-1.22z\"/></g></g>',\"checkmark-square-outline\":'<g data-name=\"Layer 2\"><g data-name=\"checkmark-square\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M20 11.83a1 1 0 0 0-1 1v5.57a.6.6 0 0 1-.6.6H5.6a.6.6 0 0 1-.6-.6V5.6a.6.6 0 0 1 .6-.6h9.57a1 1 0 1 0 0-2H5.6A2.61 2.61 0 0 0 3 5.6v12.8A2.61 2.61 0 0 0 5.6 21h12.8a2.61 2.61 0 0 0 2.6-2.6v-5.57a1 1 0 0 0-1-1z\"/><path d=\"M10.72 11a1 1 0 0 0-1.44 1.38l2.22 2.33a1 1 0 0 0 .72.31 1 1 0 0 0 .72-.3l6.78-7a1 1 0 1 0-1.44-1.4l-6.05 6.26z\"/></g></g>',\"chevron-down-outline\":'<g data-name=\"Layer 2\"><g data-name=\"chevron-down\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M12 15.5a1 1 0 0 1-.71-.29l-4-4a1 1 0 1 1 1.42-1.42L12 13.1l3.3-3.18a1 1 0 1 1 1.38 1.44l-4 3.86a1 1 0 0 1-.68.28z\"/></g></g>',\"chevron-left-outline\":'<g data-name=\"Layer 2\"><g data-name=\"chevron-left\"><rect width=\"24\" height=\"24\" transform=\"rotate(90 12 12)\" opacity=\"0\"/><path d=\"M13.36 17a1 1 0 0 1-.72-.31l-3.86-4a1 1 0 0 1 0-1.4l4-4a1 1 0 1 1 1.42 1.42L10.9 12l3.18 3.3a1 1 0 0 1 0 1.41 1 1 0 0 1-.72.29z\"/></g></g>',\"chevron-right-outline\":'<g data-name=\"Layer 2\"><g data-name=\"chevron-right\"><rect width=\"24\" height=\"24\" transform=\"rotate(-90 12 12)\" opacity=\"0\"/><path d=\"M10.5 17a1 1 0 0 1-.71-.29 1 1 0 0 1 0-1.42L13.1 12 9.92 8.69a1 1 0 0 1 0-1.41 1 1 0 0 1 1.42 0l3.86 4a1 1 0 0 1 0 1.4l-4 4a1 1 0 0 1-.7.32z\"/></g></g>',\"chevron-up-outline\":'<g data-name=\"Layer 2\"><g data-name=\"chevron-up\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M16 14.5a1 1 0 0 1-.71-.29L12 10.9l-3.3 3.18a1 1 0 0 1-1.41 0 1 1 0 0 1 0-1.42l4-3.86a1 1 0 0 1 1.4 0l4 4a1 1 0 0 1 0 1.42 1 1 0 0 1-.69.28z\"/></g></g>',\"clipboard-outline\":'<g data-name=\"Layer 2\"><g data-name=\"clipboard\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M18 5V4a2 2 0 0 0-2-2H8a2 2 0 0 0-2 2v1a3 3 0 0 0-3 3v11a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V8a3 3 0 0 0-3-3zM8 4h8v4H8V4zm11 15a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1v1a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V7a1 1 0 0 1 1 1z\"/></g></g>',\"clock-outline\":'<g data-name=\"Layer 2\"><g data-name=\"clock\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm0 18a8 8 0 1 1 8-8 8 8 0 0 1-8 8z\"/><path d=\"M16 11h-3V8a1 1 0 0 0-2 0v4a1 1 0 0 0 1 1h4a1 1 0 0 0 0-2z\"/></g></g>',\"close-circle-outline\":'<g data-name=\"Layer 2\"><g data-name=\"close-circle\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm0 18a8 8 0 1 1 8-8 8 8 0 0 1-8 8z\"/><path d=\"M14.71 9.29a1 1 0 0 0-1.42 0L12 10.59l-1.29-1.3a1 1 0 0 0-1.42 1.42l1.3 1.29-1.3 1.29a1 1 0 0 0 0 1.42 1 1 0 0 0 1.42 0l1.29-1.3 1.29 1.3a1 1 0 0 0 1.42 0 1 1 0 0 0 0-1.42L13.41 12l1.3-1.29a1 1 0 0 0 0-1.42z\"/></g></g>',\"close-outline\":'<g data-name=\"Layer 2\"><g data-name=\"close\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M13.41 12l4.3-4.29a1 1 0 1 0-1.42-1.42L12 10.59l-4.29-4.3a1 1 0 0 0-1.42 1.42l4.3 4.29-4.3 4.29a1 1 0 0 0 0 1.42 1 1 0 0 0 1.42 0l4.29-4.3 4.29 4.3a1 1 0 0 0 1.42 0 1 1 0 0 0 0-1.42z\"/></g></g>',\"close-square-outline\":'<g data-name=\"Layer 2\"><g data-name=\"close-square\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M18 3H6a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3zm1 15a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1z\"/><path d=\"M14.71 9.29a1 1 0 0 0-1.42 0L12 10.59l-1.29-1.3a1 1 0 0 0-1.42 1.42l1.3 1.29-1.3 1.29a1 1 0 0 0 0 1.42 1 1 0 0 0 1.42 0l1.29-1.3 1.29 1.3a1 1 0 0 0 1.42 0 1 1 0 0 0 0-1.42L13.41 12l1.3-1.29a1 1 0 0 0 0-1.42z\"/></g></g>',\"cloud-download-outline\":'<g data-name=\"Layer 2\"><g data-name=\"cloud-download\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M14.31 16.38L13 17.64V12a1 1 0 0 0-2 0v5.59l-1.29-1.3a1 1 0 0 0-1.42 1.42l3 3A1 1 0 0 0 12 21a1 1 0 0 0 .69-.28l3-2.9a1 1 0 1 0-1.38-1.44z\"/><path d=\"M17.67 7A6 6 0 0 0 6.33 7a5 5 0 0 0-3.08 8.27A1 1 0 1 0 4.75 14 3 3 0 0 1 7 9h.1a1 1 0 0 0 1-.8 4 4 0 0 1 7.84 0 1 1 0 0 0 1 .8H17a3 3 0 0 1 2.25 5 1 1 0 0 0 .09 1.42 1 1 0 0 0 .66.25 1 1 0 0 0 .75-.34A5 5 0 0 0 17.67 7z\"/></g></g>',\"cloud-upload-outline\":'<g data-name=\"Layer 2\"><g data-name=\"cloud-upload\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M12.71 11.29a1 1 0 0 0-1.4 0l-3 2.9a1 1 0 1 0 1.38 1.44L11 14.36V20a1 1 0 0 0 2 0v-5.59l1.29 1.3a1 1 0 0 0 1.42 0 1 1 0 0 0 0-1.42z\"/><path d=\"M17.67 7A6 6 0 0 0 6.33 7a5 5 0 0 0-3.08 8.27A1 1 0 1 0 4.75 14 3 3 0 0 1 7 9h.1a1 1 0 0 0 1-.8 4 4 0 0 1 7.84 0 1 1 0 0 0 1 .8H17a3 3 0 0 1 2.25 5 1 1 0 0 0 .09 1.42 1 1 0 0 0 .66.25 1 1 0 0 0 .75-.34A5 5 0 0 0 17.67 7z\"/></g></g>',\"code-download-outline\":'<g data-name=\"Layer 2\"><g data-name=\"code-download\"><rect width=\"24\" height=\"24\" transform=\"rotate(90 12 12)\" opacity=\"0\"/><path d=\"M4.29 12l4.48-5.36a1 1 0 1 0-1.54-1.28l-5 6a1 1 0 0 0 0 1.27l4.83 6a1 1 0 0 0 .78.37 1 1 0 0 0 .78-1.63z\"/><path d=\"M21.78 11.37l-4.78-6a1 1 0 0 0-1.56 1.26L19.71 12l-4.48 5.37a1 1 0 0 0 .13 1.41A1 1 0 0 0 16 19a1 1 0 0 0 .77-.36l5-6a1 1 0 0 0 .01-1.27z\"/><path d=\"M15.72 11.41a1 1 0 0 0-1.41 0L13 12.64V8a1 1 0 0 0-2 0v4.59l-1.29-1.3a1 1 0 0 0-1.42 1.42l3 3A1 1 0 0 0 12 16a1 1 0 0 0 .69-.28l3-2.9a1 1 0 0 0 .03-1.41z\"/></g></g>',\"code-outline\":'<g data-name=\"Layer 2\"><g data-name=\"code\"><rect width=\"24\" height=\"24\" transform=\"rotate(90 12 12)\" opacity=\"0\"/><path d=\"M8.64 5.23a1 1 0 0 0-1.41.13l-5 6a1 1 0 0 0 0 1.27l4.83 6a1 1 0 0 0 .78.37 1 1 0 0 0 .78-1.63L4.29 12l4.48-5.36a1 1 0 0 0-.13-1.41z\"/><path d=\"M21.78 11.37l-4.78-6a1 1 0 0 0-1.41-.15 1 1 0 0 0-.15 1.41L19.71 12l-4.48 5.37a1 1 0 0 0 .13 1.41A1 1 0 0 0 16 19a1 1 0 0 0 .77-.36l5-6a1 1 0 0 0 .01-1.27z\"/></g></g>',\"collapse-outline\":'<g data-name=\"Layer 2\"><g data-name=\"collapse\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M19 9h-2.58l3.29-3.29a1 1 0 1 0-1.42-1.42L15 7.57V5a1 1 0 0 0-1-1 1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h5a1 1 0 0 0 0-2z\"/><path d=\"M10 13H5a1 1 0 0 0 0 2h2.57l-3.28 3.29a1 1 0 0 0 0 1.42 1 1 0 0 0 1.42 0L9 16.42V19a1 1 0 0 0 1 1 1 1 0 0 0 1-1v-5a1 1 0 0 0-1-1z\"/></g></g>',\"color-palette-outline\":'<g data-name=\"Layer 2\"><g data-name=\"color-palette\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M19.54 5.08A10.61 10.61 0 0 0 11.91 2a10 10 0 0 0-.05 20 2.58 2.58 0 0 0 2.53-1.89 2.52 2.52 0 0 0-.57-2.28.5.5 0 0 1 .37-.83h1.65A6.15 6.15 0 0 0 22 11.33a8.48 8.48 0 0 0-2.46-6.25zM15.88 15h-1.65a2.49 2.49 0 0 0-1.87 4.15.49.49 0 0 1 .12.49c-.05.21-.28.34-.59.36a8 8 0 0 1-7.82-9.11A8.1 8.1 0 0 1 11.92 4H12a8.47 8.47 0 0 1 6.1 2.48 6.5 6.5 0 0 1 1.9 4.77A4.17 4.17 0 0 1 15.88 15z\"/><circle cx=\"12\" cy=\"6.5\" r=\"1.5\"/><path d=\"M15.25 7.2a1.5 1.5 0 1 0 2.05.55 1.5 1.5 0 0 0-2.05-.55z\"/><path d=\"M8.75 7.2a1.5 1.5 0 1 0 .55 2.05 1.5 1.5 0 0 0-.55-2.05z\"/><path d=\"M6.16 11.26a1.5 1.5 0 1 0 2.08.4 1.49 1.49 0 0 0-2.08-.4z\"/></g></g>',\"color-picker-outline\":'<g data-name=\"Layer 2\"><g data-name=\"color-picker\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M19.4 7.34L16.66 4.6A1.92 1.92 0 0 0 14 4.53l-2 2-1.29-1.24a1 1 0 0 0-1.42 1.42L10.53 8 5 13.53a2 2 0 0 0-.57 1.21L4 18.91a1 1 0 0 0 .29.8A1 1 0 0 0 5 20h.09l4.17-.38a2 2 0 0 0 1.21-.57l5.58-5.58 1.24 1.24a1 1 0 0 0 1.42 0 1 1 0 0 0 0-1.42l-1.24-1.24 2-2a1.92 1.92 0 0 0-.07-2.71zM9.08 17.62l-3 .28.27-3L12 9.36l2.69 2.7zm7-7L13.36 8l1.91-2L18 8.73z\"/></g></g>',\"compass-outline\":'<g data-name=\"Layer 2\"><g data-name=\"compass\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm0 18a8 8 0 1 1 8-8 8 8 0 0 1-8 8z\"/><path d=\"M15.68 8.32a1 1 0 0 0-1.1-.25l-4.21 1.7a1 1 0 0 0-.55.55l-1.75 4.26a1 1 0 0 0 .18 1h.05A1 1 0 0 0 9 16a1 1 0 0 0 .38-.07l4.21-1.7a1 1 0 0 0 .55-.55l1.75-4.26a1 1 0 0 0-.21-1.1zm-4.88 4.89l.71-1.74 1.69-.68-.71 1.74z\"/></g></g>',\"copy-outline\":'<g data-name=\"Layer 2\"><g data-name=\"copy\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M18 21h-6a3 3 0 0 1-3-3v-6a3 3 0 0 1 3-3h6a3 3 0 0 1 3 3v6a3 3 0 0 1-3 3zm-6-10a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1v-6a1 1 0 0 0-1-1z\"/><path d=\"M9.73 15H5.67A2.68 2.68 0 0 1 3 12.33V5.67A2.68 2.68 0 0 1 5.67 3h6.66A2.68 2.68 0 0 1 15 5.67V9.4h-2V5.67a.67.67 0 0 0-.67-.67H5.67a.67.67 0 0 0-.67.67v6.66a.67.67 0 0 0 .67.67h4.06z\"/></g></g>',\"corner-down-left-outline\":'<g data-name=\"Layer 2\"><g data-name=\"corner-down-left\"><rect x=\".05\" y=\".05\" width=\"24\" height=\"24\" transform=\"rotate(-89.76 12.05 12.05)\" opacity=\"0\"/><path d=\"M20 6a1 1 0 0 0-1-1 1 1 0 0 0-1 1v5a1 1 0 0 1-.29.71A1 1 0 0 1 17 12H8.08l2.69-3.39a1 1 0 0 0-1.52-1.17l-4 5a1 1 0 0 0 0 1.25l4 5a1 1 0 0 0 .78.37 1 1 0 0 0 .62-.22 1 1 0 0 0 .15-1.41l-2.66-3.36h8.92a3 3 0 0 0 3-3z\"/></g></g>',\"corner-down-right-outline\":'<g data-name=\"Layer 2\"><g data-name=\"corner-down-right\"><rect width=\"24\" height=\"24\" transform=\"rotate(-90 12 12)\" opacity=\"0\"/><path d=\"M19.78 12.38l-4-5a1 1 0 0 0-1.56 1.24l2.7 3.38H8a1 1 0 0 1-1-1V6a1 1 0 0 0-2 0v5a3 3 0 0 0 3 3h8.92l-2.7 3.38a1 1 0 0 0 .16 1.4A1 1 0 0 0 15 19a1 1 0 0 0 .78-.38l4-5a1 1 0 0 0 0-1.24z\"/></g></g>',\"corner-left-down-outline\":'<g data-name=\"Layer 2\"><g data-name=\"corner-left-down\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M18 5h-5a3 3 0 0 0-3 3v8.92l-3.38-2.7a1 1 0 0 0-1.24 1.56l5 4a1 1 0 0 0 1.24 0l5-4a1 1 0 1 0-1.24-1.56L12 16.92V8a1 1 0 0 1 1-1h5a1 1 0 0 0 0-2z\"/></g></g>',\"corner-left-up-outline\":'<g data-name=\"Layer 2\"><g data-name=\"corner-left-up\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M18 17h-5a1 1 0 0 1-1-1V7.08l3.38 2.7A1 1 0 0 0 16 10a1 1 0 0 0 .78-.38 1 1 0 0 0-.16-1.4l-5-4a1 1 0 0 0-1.24 0l-5 4a1 1 0 0 0 1.24 1.56L10 7.08V16a3 3 0 0 0 3 3h5a1 1 0 0 0 0-2z\"/></g></g>',\"corner-right-down-outline\":'<g data-name=\"Layer 2\"><g data-name=\"corner-right-down\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M18.78 14.38a1 1 0 0 0-1.4-.16L14 16.92V8a3 3 0 0 0-3-3H6a1 1 0 0 0 0 2h5a1 1 0 0 1 1 1v8.92l-3.38-2.7a1 1 0 0 0-1.24 1.56l5 4a1 1 0 0 0 1.24 0l5-4a1 1 0 0 0 .16-1.4z\"/></g></g>',\"corner-right-up-outline\":'<g data-name=\"Layer 2\"><g data-name=\"corner-right-up\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M18.62 8.22l-5-4a1 1 0 0 0-1.24 0l-5 4a1 1 0 0 0 1.24 1.56L12 7.08V16a1 1 0 0 1-1 1H6a1 1 0 0 0 0 2h5a3 3 0 0 0 3-3V7.08l3.38 2.7A1 1 0 0 0 18 10a1 1 0 0 0 .78-.38 1 1 0 0 0-.16-1.4z\"/></g></g>',\"corner-up-left-outline\":'<g data-name=\"Layer 2\"><g data-name=\"corner-up-left\"><rect width=\"24\" height=\"24\" transform=\"rotate(90 12 12)\" opacity=\"0\"/><path d=\"M16 10H7.08l2.7-3.38a1 1 0 1 0-1.56-1.24l-4 5a1 1 0 0 0 0 1.24l4 5A1 1 0 0 0 9 17a1 1 0 0 0 .62-.22 1 1 0 0 0 .16-1.4L7.08 12H16a1 1 0 0 1 1 1v5a1 1 0 0 0 2 0v-5a3 3 0 0 0-3-3z\"/></g></g>',\"corner-up-right-outline\":'<g data-name=\"Layer 2\"><g data-name=\"corner-up-right\"><rect width=\"24\" height=\"24\" transform=\"rotate(-90 12 12)\" opacity=\"0\"/><path d=\"M19.78 10.38l-4-5a1 1 0 0 0-1.56 1.24l2.7 3.38H8a3 3 0 0 0-3 3v5a1 1 0 0 0 2 0v-5a1 1 0 0 1 1-1h8.92l-2.7 3.38a1 1 0 0 0 .16 1.4A1 1 0 0 0 15 17a1 1 0 0 0 .78-.38l4-5a1 1 0 0 0 0-1.24z\"/></g></g>',\"credit-card-outline\":'<g data-name=\"Layer 2\"><g data-name=\"credit-card\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M19 5H5a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3V8a3 3 0 0 0-3-3zM4 8a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1v1H4zm16 8a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1v-5h16z\"/><path d=\"M7 15h4a1 1 0 0 0 0-2H7a1 1 0 0 0 0 2z\"/><path d=\"M15 15h2a1 1 0 0 0 0-2h-2a1 1 0 0 0 0 2z\"/></g></g>',\"crop-outline\":'<g data-name=\"Layer 2\"><g data-name=\"crop\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M21 16h-3V8.56A2.56 2.56 0 0 0 15.44 6H8V3a1 1 0 0 0-2 0v3H3a1 1 0 0 0 0 2h3v7.44A2.56 2.56 0 0 0 8.56 18H16v3a1 1 0 0 0 2 0v-3h3a1 1 0 0 0 0-2zM8.56 16a.56.56 0 0 1-.56-.56V8h7.44a.56.56 0 0 1 .56.56V16z\"/></g></g>',\"cube-outline\":'<g data-name=\"Layer 2\"><g data-name=\"cube\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M20.66 7.26c0-.07-.1-.14-.15-.21l-.09-.1a2.5 2.5 0 0 0-.86-.68l-6.4-3a2.7 2.7 0 0 0-2.26 0l-6.4 3a2.6 2.6 0 0 0-.86.68L3.52 7a1 1 0 0 0-.15.2A2.39 2.39 0 0 0 3 8.46v7.06a2.49 2.49 0 0 0 1.46 2.26l6.4 3a2.7 2.7 0 0 0 2.27 0l6.4-3A2.49 2.49 0 0 0 21 15.54V8.46a2.39 2.39 0 0 0-.34-1.2zm-8.95-2.2a.73.73 0 0 1 .58 0l5.33 2.48L12 10.15 6.38 7.54zM5.3 16a.47.47 0 0 1-.3-.43V9.1l6 2.79v6.72zm13.39 0L13 18.61v-6.72l6-2.79v6.44a.48.48 0 0 1-.31.46z\"/></g></g>',\"diagonal-arrow-left-down-outline\":'<g data-name=\"Layer 2\"><g data-name=\"diagonal-arrow-left-down\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M17.71 6.29a1 1 0 0 0-1.42 0L8 14.59V9a1 1 0 0 0-2 0v8a1 1 0 0 0 1 1h8a1 1 0 0 0 0-2H9.41l8.3-8.29a1 1 0 0 0 0-1.42z\"/></g></g>',\"diagonal-arrow-left-up-outline\":'<g data-name=\"Layer 2\"><g data-name=\"diagonal-arrow-left-up\"><rect width=\"24\" height=\"24\" transform=\"rotate(90 12 12)\" opacity=\"0\"/><path d=\"M17.71 16.29L9.42 8H15a1 1 0 0 0 0-2H7.05a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1H7a1 1 0 0 0 1-1V9.45l8.26 8.26a1 1 0 0 0 1.42 0 1 1 0 0 0 .03-1.42z\"/></g></g>',\"diagonal-arrow-right-down-outline\":'<g data-name=\"Layer 2\"><g data-name=\"diagonal-arrow-right-down\"><rect width=\"24\" height=\"24\" transform=\"rotate(-90 12 12)\" opacity=\"0\"/><path d=\"M17 8a1 1 0 0 0-1 1v5.59l-8.29-8.3a1 1 0 0 0-1.42 1.42l8.3 8.29H9a1 1 0 0 0 0 2h8a1 1 0 0 0 1-1V9a1 1 0 0 0-1-1z\"/></g></g>',\"diagonal-arrow-right-up-outline\":'<g data-name=\"Layer 2\"><g data-name=\"diagonal-arrow-right-up\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M18 7.05a1 1 0 0 0-1-1L9 6a1 1 0 0 0 0 2h5.56l-8.27 8.29a1 1 0 0 0 0 1.42 1 1 0 0 0 1.42 0L16 9.42V15a1 1 0 0 0 1 1 1 1 0 0 0 1-1z\"/></g></g>',\"done-all-outline\":'<g data-name=\"Layer 2\"><g data-name=\"done-all\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M16.62 6.21a1 1 0 0 0-1.41.17l-7 9-3.43-4.18a1 1 0 1 0-1.56 1.25l4.17 5.18a1 1 0 0 0 .78.37 1 1 0 0 0 .83-.38l7.83-10a1 1 0 0 0-.21-1.41z\"/><path d=\"M21.62 6.21a1 1 0 0 0-1.41.17l-7 9-.61-.75-1.26 1.62 1.1 1.37a1 1 0 0 0 .78.37 1 1 0 0 0 .78-.38l7.83-10a1 1 0 0 0-.21-1.4z\"/><path d=\"M8.71 13.06L10 11.44l-.2-.24a1 1 0 0 0-1.43-.2 1 1 0 0 0-.15 1.41z\"/></g></g>',\"download-outline\":'<g data-name=\"Layer 2\"><g data-name=\"download\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><rect x=\"4\" y=\"18\" width=\"16\" height=\"2\" rx=\"1\" ry=\"1\"/><rect x=\"3\" y=\"17\" width=\"4\" height=\"2\" rx=\"1\" ry=\"1\" transform=\"rotate(-90 5 18)\"/><rect x=\"17\" y=\"17\" width=\"4\" height=\"2\" rx=\"1\" ry=\"1\" transform=\"rotate(-90 19 18)\"/><path d=\"M12 15a1 1 0 0 1-.58-.18l-4-2.82a1 1 0 0 1-.24-1.39 1 1 0 0 1 1.4-.24L12 12.76l3.4-2.56a1 1 0 0 1 1.2 1.6l-4 3a1 1 0 0 1-.6.2z\"/><path d=\"M12 13a1 1 0 0 1-1-1V4a1 1 0 0 1 2 0v8a1 1 0 0 1-1 1z\"/></g></g>',\"droplet-off-outline\":'<g data-name=\"Layer 2\"><g data-name=\"droplet-off-outline\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M12 19a5.4 5.4 0 0 1-3.88-1.64 5.73 5.73 0 0 1-.69-7.11L6 8.82a7.74 7.74 0 0 0 .7 9.94A7.37 7.37 0 0 0 12 21a7.36 7.36 0 0 0 4.58-1.59L15.15 18A5.43 5.43 0 0 1 12 19z\"/><path d=\"M12 5.43l3.88 4a5.71 5.71 0 0 1 1.49 5.15L19 16.15A7.72 7.72 0 0 0 17.31 8l-4.6-4.7A1 1 0 0 0 12 3a1 1 0 0 0-.72.3L8.73 5.9l1.42 1.42z\"/><path d=\"M20.71 19.29l-16-16a1 1 0 0 0-1.42 1.42l16 16a1 1 0 0 0 1.42 0 1 1 0 0 0 0-1.42z\"/></g></g>',\"droplet-outline\":'<g data-name=\"Layer 2\"><g data-name=\"droplet-outline\"><rect x=\".1\" y=\".1\" width=\"24\" height=\"24\" transform=\"rotate(.48 11.987 11.887)\" opacity=\"0\"/><path d=\"M12 21.1a7.4 7.4 0 0 1-5.28-2.28 7.73 7.73 0 0 1 .1-10.77l4.64-4.65a.94.94 0 0 1 .71-.3 1 1 0 0 1 .71.31l4.56 4.72a7.73 7.73 0 0 1-.09 10.77A7.33 7.33 0 0 1 12 21.1zm.13-15.57L8.24 9.45a5.74 5.74 0 0 0-.07 8A5.43 5.43 0 0 0 12 19.1a5.42 5.42 0 0 0 3.9-1.61 5.72 5.72 0 0 0 .06-8z\"/></g></g>',\"edit-2-outline\":'<g data-name=\"Layer 2\"><g data-name=\"edit-2\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M19 20H5a1 1 0 0 0 0 2h14a1 1 0 0 0 0-2z\"/><path d=\"M5 18h.09l4.17-.38a2 2 0 0 0 1.21-.57l9-9a1.92 1.92 0 0 0-.07-2.71L16.66 2.6A2 2 0 0 0 14 2.53l-9 9a2 2 0 0 0-.57 1.21L4 16.91a1 1 0 0 0 .29.8A1 1 0 0 0 5 18zM15.27 4L18 6.73l-2 1.95L13.32 6zm-8.9 8.91L12 7.32l2.7 2.7-5.6 5.6-3 .28z\"/></g></g>',\"edit-outline\":'<g data-name=\"Layer 2\"><g data-name=\"edit\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M19.4 7.34L16.66 4.6A2 2 0 0 0 14 4.53l-9 9a2 2 0 0 0-.57 1.21L4 18.91a1 1 0 0 0 .29.8A1 1 0 0 0 5 20h.09l4.17-.38a2 2 0 0 0 1.21-.57l9-9a1.92 1.92 0 0 0-.07-2.71zM9.08 17.62l-3 .28.27-3L12 9.32l2.7 2.7zM16 10.68L13.32 8l1.95-2L18 8.73z\"/></g></g>',\"email-outline\":'<g data-name=\"Layer 2\"><g data-name=\"email\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M19 4H5a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h14a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3zm-.67 2L12 10.75 5.67 6zM19 18H5a1 1 0 0 1-1-1V7.25l7.4 5.55a1 1 0 0 0 .6.2 1 1 0 0 0 .6-.2L20 7.25V17a1 1 0 0 1-1 1z\"/></g></g>',\"expand-outline\":'<g data-name=\"Layer 2\"><g data-name=\"expand\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M20 5a1 1 0 0 0-1-1h-5a1 1 0 0 0 0 2h2.57l-3.28 3.29a1 1 0 0 0 0 1.42 1 1 0 0 0 1.42 0L18 7.42V10a1 1 0 0 0 1 1 1 1 0 0 0 1-1z\"/><path d=\"M10.71 13.29a1 1 0 0 0-1.42 0L6 16.57V14a1 1 0 0 0-1-1 1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h5a1 1 0 0 0 0-2H7.42l3.29-3.29a1 1 0 0 0 0-1.42z\"/></g></g>',\"external-link-outline\":'<g data-name=\"Layer 2\"><g data-name=\"external-link\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M20 11a1 1 0 0 0-1 1v6a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h6a1 1 0 0 0 0-2H6a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3v-6a1 1 0 0 0-1-1z\"/><path d=\"M16 5h1.58l-6.29 6.28a1 1 0 0 0 0 1.42 1 1 0 0 0 1.42 0L19 6.42V8a1 1 0 0 0 1 1 1 1 0 0 0 1-1V4a1 1 0 0 0-1-1h-4a1 1 0 0 0 0 2z\"/></g></g>',\"eye-off-2-outline\":'<g data-name=\"Layer 2\"><g data-name=\"eye-off-2\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M17.81 13.39A8.93 8.93 0 0 0 21 7.62a1 1 0 1 0-2-.24 7.07 7.07 0 0 1-14 0 1 1 0 1 0-2 .24 8.93 8.93 0 0 0 3.18 5.77l-2.3 2.32a1 1 0 0 0 1.41 1.41l2.61-2.6a9.06 9.06 0 0 0 3.1.92V19a1 1 0 0 0 2 0v-3.56a9.06 9.06 0 0 0 3.1-.92l2.61 2.6a1 1 0 0 0 1.41-1.41z\"/></g></g>',\"eye-off-outline\":'<g data-name=\"Layer 2\"><g data-name=\"eye-off\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M4.71 3.29a1 1 0 0 0-1.42 1.42l5.63 5.63a3.5 3.5 0 0 0 4.74 4.74l5.63 5.63a1 1 0 0 0 1.42 0 1 1 0 0 0 0-1.42zM12 13.5a1.5 1.5 0 0 1-1.5-1.5v-.07l1.56 1.56z\"/><path d=\"M12.22 17c-4.3.1-7.12-3.59-8-5a13.7 13.7 0 0 1 2.24-2.72L5 7.87a15.89 15.89 0 0 0-2.87 3.63 1 1 0 0 0 0 1c.63 1.09 4 6.5 9.89 6.5h.25a9.48 9.48 0 0 0 3.23-.67l-1.58-1.58a7.74 7.74 0 0 1-1.7.25z\"/><path d=\"M21.87 11.5c-.64-1.11-4.17-6.68-10.14-6.5a9.48 9.48 0 0 0-3.23.67l1.58 1.58a7.74 7.74 0 0 1 1.7-.25c4.29-.11 7.11 3.59 8 5a13.7 13.7 0 0 1-2.29 2.72L19 16.13a15.89 15.89 0 0 0 2.91-3.63 1 1 0 0 0-.04-1z\"/></g></g>',\"eye-outline\":'<g data-name=\"Layer 2\"><g data-name=\"eye\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M21.87 11.5c-.64-1.11-4.16-6.68-10.14-6.5-5.53.14-8.73 5-9.6 6.5a1 1 0 0 0 0 1c.63 1.09 4 6.5 9.89 6.5h.25c5.53-.14 8.74-5 9.6-6.5a1 1 0 0 0 0-1zM12.22 17c-4.31.1-7.12-3.59-8-5 1-1.61 3.61-4.9 7.61-5 4.29-.11 7.11 3.59 8 5-1.03 1.61-3.61 4.9-7.61 5z\"/><path d=\"M12 8.5a3.5 3.5 0 1 0 3.5 3.5A3.5 3.5 0 0 0 12 8.5zm0 5a1.5 1.5 0 1 1 1.5-1.5 1.5 1.5 0 0 1-1.5 1.5z\"/></g></g>',\"facebook-outline\":'<g data-name=\"Layer 2\"><g data-name=\"facebook\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M13 22H9a1 1 0 0 1-1-1v-6.2H6a1 1 0 0 1-1-1v-3.6a1 1 0 0 1 1-1h2V7.5A5.77 5.77 0 0 1 14 2h3a1 1 0 0 1 1 1v3.6a1 1 0 0 1-1 1h-3v1.6h3a1 1 0 0 1 .8.39 1 1 0 0 1 .16.88l-1 3.6a1 1 0 0 1-1 .73H14V21a1 1 0 0 1-1 1zm-3-2h2v-6.2a1 1 0 0 1 1-1h2.24l.44-1.6H13a1 1 0 0 1-1-1V7.5a2 2 0 0 1 2-1.9h2V4h-2a3.78 3.78 0 0 0-4 3.5v2.7a1 1 0 0 1-1 1H7v1.6h2a1 1 0 0 1 1 1z\"/></g></g>',\"file-add-outline\":'<g data-name=\"Layer 2\"><g data-name=\"file-add\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M19.74 8.33l-5.44-6a1 1 0 0 0-.74-.33h-7A2.53 2.53 0 0 0 4 4.5v15A2.53 2.53 0 0 0 6.56 22h10.88A2.53 2.53 0 0 0 20 19.5V9a1 1 0 0 0-.26-.67zM14 5l2.74 3h-2a.79.79 0 0 1-.74-.85zm3.44 15H6.56a.53.53 0 0 1-.56-.5v-15a.53.53 0 0 1 .56-.5H12v3.15A2.79 2.79 0 0 0 14.71 10H18v9.5a.53.53 0 0 1-.56.5z\"/><path d=\"M14 13h-1v-1a1 1 0 0 0-2 0v1h-1a1 1 0 0 0 0 2h1v1a1 1 0 0 0 2 0v-1h1a1 1 0 0 0 0-2z\"/></g></g>',\"file-outline\":'<g data-name=\"Layer 2\"><g data-name=\"file\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M19.74 8.33l-5.44-6a1 1 0 0 0-.74-.33h-7A2.53 2.53 0 0 0 4 4.5v15A2.53 2.53 0 0 0 6.56 22h10.88A2.53 2.53 0 0 0 20 19.5V9a1 1 0 0 0-.26-.67zM17.65 9h-3.94a.79.79 0 0 1-.71-.85V4h.11zm-.21 11H6.56a.53.53 0 0 1-.56-.5v-15a.53.53 0 0 1 .56-.5H11v4.15A2.79 2.79 0 0 0 13.71 11H18v8.5a.53.53 0 0 1-.56.5z\"/></g></g>',\"file-remove-outline\":'<g data-name=\"Layer 2\"><g data-name=\"file-remove\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M19.74 8.33l-5.44-6a1 1 0 0 0-.74-.33h-7A2.53 2.53 0 0 0 4 4.5v15A2.53 2.53 0 0 0 6.56 22h10.88A2.53 2.53 0 0 0 20 19.5V9a1 1 0 0 0-.26-.67zM14 5l2.74 3h-2a.79.79 0 0 1-.74-.85zm3.44 15H6.56a.53.53 0 0 1-.56-.5v-15a.53.53 0 0 1 .56-.5H12v3.15A2.79 2.79 0 0 0 14.71 10H18v9.5a.53.53 0 0 1-.56.5z\"/><path d=\"M14 13h-4a1 1 0 0 0 0 2h4a1 1 0 0 0 0-2z\"/></g></g>',\"file-text-outline\":'<g data-name=\"Layer 2\"><g data-name=\"file-text\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M15 16H9a1 1 0 0 0 0 2h6a1 1 0 0 0 0-2z\"/><path d=\"M9 14h3a1 1 0 0 0 0-2H9a1 1 0 0 0 0 2z\"/><path d=\"M19.74 8.33l-5.44-6a1 1 0 0 0-.74-.33h-7A2.53 2.53 0 0 0 4 4.5v15A2.53 2.53 0 0 0 6.56 22h10.88A2.53 2.53 0 0 0 20 19.5V9a1 1 0 0 0-.26-.67zM14 5l2.74 3h-2a.79.79 0 0 1-.74-.85zm3.44 15H6.56a.53.53 0 0 1-.56-.5v-15a.53.53 0 0 1 .56-.5H12v3.15A2.79 2.79 0 0 0 14.71 10H18v9.5a.53.53 0 0 1-.56.5z\"/></g></g>',\"film-outline\":'<g data-name=\"Layer 2\"><g data-name=\"film\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M18.26 3H5.74A2.74 2.74 0 0 0 3 5.74v12.52A2.74 2.74 0 0 0 5.74 21h12.52A2.74 2.74 0 0 0 21 18.26V5.74A2.74 2.74 0 0 0 18.26 3zM7 11H5V9h2zm-2 2h2v2H5zm4-8h6v14H9zm10 6h-2V9h2zm-2 2h2v2h-2zm2-7.26V7h-2V5h1.26a.74.74 0 0 1 .74.74zM5.74 5H7v2H5V5.74A.74.74 0 0 1 5.74 5zM5 18.26V17h2v2H5.74a.74.74 0 0 1-.74-.74zm14 0a.74.74 0 0 1-.74.74H17v-2h2z\"/></g></g>',\"flag-outline\":'<g data-name=\"Layer 2\"><g data-name=\"flag\"><polyline points=\"24 24 0 24 0 0\" opacity=\"0\"/><path d=\"M19.27 4.68a1.79 1.79 0 0 0-1.6-.25 7.53 7.53 0 0 1-2.17.28 8.54 8.54 0 0 1-3.13-.78A10.15 10.15 0 0 0 8.5 3c-2.89 0-4 1-4.2 1.14a1 1 0 0 0-.3.72V20a1 1 0 0 0 2 0v-4.3a6.28 6.28 0 0 1 2.5-.41 8.54 8.54 0 0 1 3.13.78 10.15 10.15 0 0 0 3.87.93 7.66 7.66 0 0 0 3.5-.7 1.74 1.74 0 0 0 1-1.55V6.11a1.77 1.77 0 0 0-.73-1.43zM18 14.59a6.32 6.32 0 0 1-2.5.41 8.36 8.36 0 0 1-3.13-.79 10.34 10.34 0 0 0-3.87-.92 9.51 9.51 0 0 0-2.5.29V5.42A6.13 6.13 0 0 1 8.5 5a8.36 8.36 0 0 1 3.13.79 10.34 10.34 0 0 0 3.87.92 9.41 9.41 0 0 0 2.5-.3z\"/></g></g>',\"flash-off-outline\":'<g data-name=\"Layer 2\"><g data-name=\"flash-off\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M20.71 19.29l-16-16a1 1 0 0 0-1.42 1.42l16 16a1 1 0 0 0 1.42 0 1 1 0 0 0 0-1.42z\"/><path d=\"M12.54 18.06l.27-2.42L10 12.8H6.87l1.24-1.86L6.67 9.5l-2.5 3.74A1 1 0 0 0 5 14.8h5.89l-.77 7.09a1 1 0 0 0 .65 1.05 1 1 0 0 0 .34.06 1 1 0 0 0 .83-.44l3.12-4.67-1.44-1.44z\"/><path d=\"M11.46 5.94l-.27 2.42L14 11.2h3.1l-1.24 1.86 1.44 1.44 2.5-3.74A1 1 0 0 0 19 9.2h-5.89l.77-7.09a1 1 0 0 0-.65-1 1 1 0 0 0-1.17.38L8.94 6.11l1.44 1.44z\"/></g></g>',\"flash-outline\":'<g data-name=\"Layer 2\"><g data-name=\"flash\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M11.11 23a1 1 0 0 1-.34-.06 1 1 0 0 1-.65-1.05l.77-7.09H5a1 1 0 0 1-.83-1.56l7.89-11.8a1 1 0 0 1 1.17-.38 1 1 0 0 1 .65 1l-.77 7.14H19a1 1 0 0 1 .83 1.56l-7.89 11.8a1 1 0 0 1-.83.44zM6.87 12.8H12a1 1 0 0 1 .74.33 1 1 0 0 1 .25.78l-.45 4.15 4.59-6.86H12a1 1 0 0 1-1-1.11l.45-4.15z\"/></g></g>',\"flip-2-outline\":'<g data-name=\"Layer 2\"><g data-name=\"flip-2\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M6.09 19h12l-1.3 1.29a1 1 0 0 0 1.42 1.42l3-3a1 1 0 0 0 0-1.42l-3-3a1 1 0 0 0-1.42 0 1 1 0 0 0 0 1.42l1.3 1.29h-12a1.56 1.56 0 0 1-1.59-1.53V13a1 1 0 0 0-2 0v2.47A3.56 3.56 0 0 0 6.09 19z\"/><path d=\"M5.79 9.71a1 1 0 1 0 1.42-1.42L5.91 7h12a1.56 1.56 0 0 1 1.59 1.53V11a1 1 0 0 0 2 0V8.53A3.56 3.56 0 0 0 17.91 5h-12l1.3-1.29a1 1 0 0 0 0-1.42 1 1 0 0 0-1.42 0l-3 3a1 1 0 0 0 0 1.42z\"/></g></g>',\"flip-outline\":'<g data-name=\"Layer 2\"><g data-name=\"flip-in\"><rect width=\"24\" height=\"24\" transform=\"rotate(-90 12 12)\" opacity=\"0\"/><path d=\"M5 6.09v12l-1.29-1.3a1 1 0 0 0-1.42 1.42l3 3a1 1 0 0 0 1.42 0l3-3a1 1 0 0 0 0-1.42 1 1 0 0 0-1.42 0L7 18.09v-12A1.56 1.56 0 0 1 8.53 4.5H11a1 1 0 0 0 0-2H8.53A3.56 3.56 0 0 0 5 6.09z\"/><path d=\"M14.29 5.79a1 1 0 0 0 1.42 1.42L17 5.91v12a1.56 1.56 0 0 1-1.53 1.59H13a1 1 0 0 0 0 2h2.47A3.56 3.56 0 0 0 19 17.91v-12l1.29 1.3a1 1 0 0 0 1.42 0 1 1 0 0 0 0-1.42l-3-3a1 1 0 0 0-1.42 0z\"/></g></g>',\"folder-add-outline\":'<g data-name=\"Layer 2\"><g data-name=\"folder-add\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M14 13h-1v-1a1 1 0 0 0-2 0v1h-1a1 1 0 0 0 0 2h1v1a1 1 0 0 0 2 0v-1h1a1 1 0 0 0 0-2z\"/><path d=\"M19.5 7.05h-7L9.87 3.87a1 1 0 0 0-.77-.37H4.5A2.47 2.47 0 0 0 2 5.93v12.14a2.47 2.47 0 0 0 2.5 2.43h15a2.47 2.47 0 0 0 2.5-2.43V9.48a2.47 2.47 0 0 0-2.5-2.43zm.5 11a.46.46 0 0 1-.5.43h-15a.46.46 0 0 1-.5-.43V5.93a.46.46 0 0 1 .5-.43h4.13l2.6 3.18a1 1 0 0 0 .77.37h7.5a.46.46 0 0 1 .5.43z\"/></g></g>',\"folder-outline\":'<g data-name=\"Layer 2\"><g data-name=\"folder\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M19.5 20.5h-15A2.47 2.47 0 0 1 2 18.07V5.93A2.47 2.47 0 0 1 4.5 3.5h4.6a1 1 0 0 1 .77.37l2.6 3.18h7A2.47 2.47 0 0 1 22 9.48v8.59a2.47 2.47 0 0 1-2.5 2.43zM4 13.76v4.31a.46.46 0 0 0 .5.43h15a.46.46 0 0 0 .5-.43V9.48a.46.46 0 0 0-.5-.43H12a1 1 0 0 1-.77-.37L8.63 5.5H4.5a.46.46 0 0 0-.5.43z\"/></g></g>',\"folder-remove-outline\":'<g data-name=\"Layer 2\"><g data-name=\"folder-remove\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M14 13h-4a1 1 0 0 0 0 2h4a1 1 0 0 0 0-2z\"/><path d=\"M19.5 7.05h-7L9.87 3.87a1 1 0 0 0-.77-.37H4.5A2.47 2.47 0 0 0 2 5.93v12.14a2.47 2.47 0 0 0 2.5 2.43h15a2.47 2.47 0 0 0 2.5-2.43V9.48a2.47 2.47 0 0 0-2.5-2.43zm.5 11a.46.46 0 0 1-.5.43h-15a.46.46 0 0 1-.5-.43V5.93a.46.46 0 0 1 .5-.43h4.13l2.6 3.18a1 1 0 0 0 .77.37h7.5a.46.46 0 0 1 .5.43z\"/></g></g>',\"funnel-outline\":'<g data-name=\"Layer 2\"><g data-name=\"funnel\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M13.9 22a1 1 0 0 1-.6-.2l-4-3.05a1 1 0 0 1-.39-.8v-3.27l-4.8-9.22A1 1 0 0 1 5 4h14a1 1 0 0 1 .86.49 1 1 0 0 1 0 1l-5 9.21V21a1 1 0 0 1-.55.9 1 1 0 0 1-.41.1zm-3-4.54l2 1.53v-4.55A1 1 0 0 1 13 14l4.3-8H6.64l4.13 8a1 1 0 0 1 .11.46z\"/></g></g>',\"gift-outline\":'<g data-name=\"Layer 2\"><g data-name=\"gift\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M19.2 7h-.39A3 3 0 0 0 19 6a3.08 3.08 0 0 0-3.14-3A4.46 4.46 0 0 0 12 5.4 4.46 4.46 0 0 0 8.14 3 3.08 3.08 0 0 0 5 6a3 3 0 0 0 .19 1H4.8A2 2 0 0 0 3 9.2v3.6A2.08 2.08 0 0 0 4.5 15v4.37A1.75 1.75 0 0 0 6.31 21h11.38a1.75 1.75 0 0 0 1.81-1.67V15a2.08 2.08 0 0 0 1.5-2.2V9.2A2 2 0 0 0 19.2 7zM19 9.2v3.6a.56.56 0 0 1 0 .2h-6V9h6a.56.56 0 0 1 0 .2zM15.86 5A1.08 1.08 0 0 1 17 6a1.08 1.08 0 0 1-1.14 1H13.4a2.93 2.93 0 0 1 2.46-2zM7 6a1.08 1.08 0 0 1 1.14-1 2.93 2.93 0 0 1 2.45 2H8.14A1.08 1.08 0 0 1 7 6zM5 9.2A.56.56 0 0 1 5 9h6v4H5a.56.56 0 0 1 0-.2zM6.5 15H11v4H6.5zm6.5 4v-4h4.5v4z\"/></g></g>',\"github-outline\":'<g data-name=\"Layer 2\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M16.24 22a1 1 0 0 1-1-1v-2.6a2.15 2.15 0 0 0-.54-1.66 1 1 0 0 1 .61-1.67C17.75 14.78 20 14 20 9.77a4 4 0 0 0-.67-2.22 2.75 2.75 0 0 1-.41-2.06 3.71 3.71 0 0 0 0-1.41 7.65 7.65 0 0 0-2.09 1.09 1 1 0 0 1-.84.15 10.15 10.15 0 0 0-5.52 0 1 1 0 0 1-.84-.15 7.4 7.4 0 0 0-2.11-1.09 3.52 3.52 0 0 0 0 1.41 2.84 2.84 0 0 1-.43 2.08 4.07 4.07 0 0 0-.67 2.23c0 3.89 1.88 4.93 4.7 5.29a1 1 0 0 1 .82.66 1 1 0 0 1-.21 1 2.06 2.06 0 0 0-.55 1.56V21a1 1 0 0 1-2 0v-.57a6 6 0 0 1-5.27-2.09 3.9 3.9 0 0 0-1.16-.88 1 1 0 1 1 .5-1.94 4.93 4.93 0 0 1 2 1.36c1 1 2 1.88 3.9 1.52a3.89 3.89 0 0 1 .23-1.58c-2.06-.52-5-2-5-7a6 6 0 0 1 1-3.33.85.85 0 0 0 .13-.62 5.69 5.69 0 0 1 .33-3.21 1 1 0 0 1 .63-.57c.34-.1 1.56-.3 3.87 1.2a12.16 12.16 0 0 1 5.69 0c2.31-1.5 3.53-1.31 3.86-1.2a1 1 0 0 1 .63.57 5.71 5.71 0 0 1 .33 3.22.75.75 0 0 0 .11.57 6 6 0 0 1 1 3.34c0 5.07-2.92 6.54-5 7a4.28 4.28 0 0 1 .22 1.67V21a1 1 0 0 1-.94 1z\"/></g>',\"globe-2-outline\":'<g data-name=\"Layer 2\"><g data-name=\"globe-2\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm0 2a8.19 8.19 0 0 1 1.79.21 2.61 2.61 0 0 1-.78 1c-.22.17-.46.31-.7.46a4.56 4.56 0 0 0-1.85 1.67 6.49 6.49 0 0 0-.62 3.3c0 1.36 0 2.16-.95 2.87-1.37 1.07-3.46.47-4.76-.07A8.33 8.33 0 0 1 4 12a8 8 0 0 1 8-8zM5 15.8a8.42 8.42 0 0 0 2 .27 5 5 0 0 0 3.14-1c1.71-1.34 1.71-3.06 1.71-4.44a4.76 4.76 0 0 1 .37-2.34 2.86 2.86 0 0 1 1.12-.91 9.75 9.75 0 0 0 .92-.61 4.55 4.55 0 0 0 1.4-1.87A8 8 0 0 1 19 8.12c-1.43.2-3.46.67-3.86 2.53A7 7 0 0 0 15 12a2.93 2.93 0 0 1-.29 1.47l-.1.17c-.65 1.08-1.38 2.31-.39 4 .12.21.25.41.38.61a2.29 2.29 0 0 1 .52 1.08A7.89 7.89 0 0 1 12 20a8 8 0 0 1-7-4.2zm11.93 2.52a6.79 6.79 0 0 0-.63-1.14c-.11-.16-.22-.32-.32-.49-.39-.68-.25-1 .38-2l.1-.17a4.77 4.77 0 0 0 .54-2.43 5.42 5.42 0 0 1 .09-1c.16-.73 1.71-.93 2.67-1a7.94 7.94 0 0 1-2.86 8.28z\"/></g></g>',\"globe-outline\":'<g data-name=\"Layer 2\"><g data-name=\"globe\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M22 12A10 10 0 0 0 12 2a10 10 0 0 0 0 20 10 10 0 0 0 10-10zm-2.07-1H17a12.91 12.91 0 0 0-2.33-6.54A8 8 0 0 1 19.93 11zM9.08 13H15a11.44 11.44 0 0 1-3 6.61A11 11 0 0 1 9.08 13zm0-2A11.4 11.4 0 0 1 12 4.4a11.19 11.19 0 0 1 3 6.6zm.36-6.57A13.18 13.18 0 0 0 7.07 11h-3a8 8 0 0 1 5.37-6.57zM4.07 13h3a12.86 12.86 0 0 0 2.35 6.56A8 8 0 0 1 4.07 13zm10.55 6.55A13.14 13.14 0 0 0 17 13h2.95a8 8 0 0 1-5.33 6.55z\"/></g></g>',\"google-outline\":'<g data-name=\"Layer 2\"><g data-name=\"google\"><polyline points=\"0 0 24 0 24 24 0 24\" opacity=\"0\"/><path d=\"M12 22h-.43A10.16 10.16 0 0 1 2 12.29a10 10 0 0 1 14.12-9.41 1.48 1.48 0 0 1 .77.86 1.47 1.47 0 0 1-.1 1.16L15.5 7.28a1.44 1.44 0 0 1-1.83.64A4.5 4.5 0 0 0 8.77 9a4.41 4.41 0 0 0-1.16 3.34 4.36 4.36 0 0 0 1.66 3 4.52 4.52 0 0 0 3.45 1 3.89 3.89 0 0 0 2.63-1.57h-2.9A1.45 1.45 0 0 1 11 13.33v-2.68a1.45 1.45 0 0 1 1.45-1.45h8.1A1.46 1.46 0 0 1 22 10.64v1.88A10 10 0 0 1 12 22zm0-18a8 8 0 0 0-8 8.24A8.12 8.12 0 0 0 11.65 20 8 8 0 0 0 20 12.42V11.2h-7v1.58h5.31l-.41 1.3a6 6 0 0 1-4.9 4.25A6.58 6.58 0 0 1 8 17a6.33 6.33 0 0 1-.72-9.3A6.52 6.52 0 0 1 14 5.91l.77-1.43A7.9 7.9 0 0 0 12 4z\"/></g></g>',\"grid-outline\":'<g data-name=\"Layer 2\"><g data-name=\"grid\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M9 3H5a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2zM5 9V5h4v4z\"/><path d=\"M19 3h-4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2zm-4 6V5h4v4z\"/><path d=\"M9 13H5a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2zm-4 6v-4h4v4z\"/><path d=\"M19 13h-4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2zm-4 6v-4h4v4z\"/></g></g>',\"hard-drive-outline\":'<g data-name=\"Layer 2\"><g data-name=\"hard-drive\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M20.79 11.34l-3.34-6.68A3 3 0 0 0 14.76 3H9.24a3 3 0 0 0-2.69 1.66l-3.34 6.68a2 2 0 0 0-.21.9V18a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3v-5.76a2 2 0 0 0-.21-.9zM8.34 5.55a1 1 0 0 1 .9-.55h5.52a1 1 0 0 1 .9.55L18.38 11H5.62zM18 19H6a1 1 0 0 1-1-1v-5h14v5a1 1 0 0 1-1 1z\"/><path d=\"M16 15h-4a1 1 0 0 0 0 2h4a1 1 0 0 0 0-2z\"/><circle cx=\"8\" cy=\"16\" r=\"1\"/></g></g>',\"hash-outline\":'<g data-name=\"Layer 2\"><g data-name=\"hash\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M20 14h-4.3l.73-4H20a1 1 0 0 0 0-2h-3.21l.69-3.81A1 1 0 0 0 16.64 3a1 1 0 0 0-1.22.82L14.67 8h-3.88l.69-3.81A1 1 0 0 0 10.64 3a1 1 0 0 0-1.22.82L8.67 8H4a1 1 0 0 0 0 2h4.3l-.73 4H4a1 1 0 0 0 0 2h3.21l-.69 3.81A1 1 0 0 0 7.36 21a1 1 0 0 0 1.22-.82L9.33 16h3.88l-.69 3.81a1 1 0 0 0 .84 1.19 1 1 0 0 0 1.22-.82l.75-4.18H20a1 1 0 0 0 0-2zM9.7 14l.73-4h3.87l-.73 4z\"/></g></g>',\"headphones-outline\":'<g data-name=\"Layer 2\"><g data-name=\"headphones\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M12 2A10.2 10.2 0 0 0 2 12.37V17a4 4 0 1 0 4-4 3.91 3.91 0 0 0-2 .56v-1.19A8.2 8.2 0 0 1 12 4a8.2 8.2 0 0 1 8 8.37v1.19a3.91 3.91 0 0 0-2-.56 4 4 0 1 0 4 4v-4.63A10.2 10.2 0 0 0 12 2zM6 15a2 2 0 1 1-2 2 2 2 0 0 1 2-2zm12 4a2 2 0 1 1 2-2 2 2 0 0 1-2 2z\"/></g></g>',\"heart-outline\":'<g data-name=\"Layer 2\"><g data-name=\"heart\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M12 21a1 1 0 0 1-.71-.29l-7.77-7.78a5.26 5.26 0 0 1 0-7.4 5.24 5.24 0 0 1 7.4 0L12 6.61l1.08-1.08a5.24 5.24 0 0 1 7.4 0 5.26 5.26 0 0 1 0 7.4l-7.77 7.78A1 1 0 0 1 12 21zM7.22 6a3.2 3.2 0 0 0-2.28.94 3.24 3.24 0 0 0 0 4.57L12 18.58l7.06-7.07a3.24 3.24 0 0 0 0-4.57 3.32 3.32 0 0 0-4.56 0l-1.79 1.8a1 1 0 0 1-1.42 0L9.5 6.94A3.2 3.2 0 0 0 7.22 6z\"/></g></g>',\"home-outline\":'<g data-name=\"Layer 2\"><g data-name=\"home\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M20.42 10.18L12.71 2.3a1 1 0 0 0-1.42 0l-7.71 7.89A2 2 0 0 0 3 11.62V20a2 2 0 0 0 1.89 2h14.22A2 2 0 0 0 21 20v-8.38a2.07 2.07 0 0 0-.58-1.44zM10 20v-6h4v6zm9 0h-3v-7a1 1 0 0 0-1-1H9a1 1 0 0 0-1 1v7H5v-8.42l7-7.15 7 7.19z\"/></g></g>',\"image-outline\":'<g data-name=\"Layer 2\"><g data-name=\"image\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M18 3H6a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3zM6 5h12a1 1 0 0 1 1 1v8.36l-3.2-2.73a2.77 2.77 0 0 0-3.52 0L5 17.7V6a1 1 0 0 1 1-1zm12 14H6.56l7-5.84a.78.78 0 0 1 .93 0L19 17v1a1 1 0 0 1-1 1z\"/><circle cx=\"8\" cy=\"8.5\" r=\"1.5\"/></g></g>',\"inbox-outline\":'<g data-name=\"Layer 2\"><g data-name=\"inbox\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M20.79 11.34l-3.34-6.68A3 3 0 0 0 14.76 3H9.24a3 3 0 0 0-2.69 1.66l-3.34 6.68a2 2 0 0 0-.21.9V18a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3v-5.76a2 2 0 0 0-.21-.9zM8.34 5.55a1 1 0 0 1 .9-.55h5.52a1 1 0 0 1 .9.55L18.38 11H16a1 1 0 0 0-1 1v3H9v-3a1 1 0 0 0-1-1H5.62zM18 19H6a1 1 0 0 1-1-1v-5h2v3a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1v-3h2v5a1 1 0 0 1-1 1z\"/></g></g>',\"info-outline\":'<g data-name=\"Layer 2\"><g data-name=\"info\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm0 18a8 8 0 1 1 8-8 8 8 0 0 1-8 8z\"/><circle cx=\"12\" cy=\"8\" r=\"1\"/><path d=\"M12 10a1 1 0 0 0-1 1v5a1 1 0 0 0 2 0v-5a1 1 0 0 0-1-1z\"/></g></g>',\"keypad-outline\":'<g data-name=\"Layer 2\"><g data-name=\"keypad\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M5 2a3 3 0 1 0 3 3 3 3 0 0 0-3-3zm0 4a1 1 0 1 1 1-1 1 1 0 0 1-1 1z\"/><path d=\"M12 2a3 3 0 1 0 3 3 3 3 0 0 0-3-3zm0 4a1 1 0 1 1 1-1 1 1 0 0 1-1 1z\"/><path d=\"M19 8a3 3 0 1 0-3-3 3 3 0 0 0 3 3zm0-4a1 1 0 1 1-1 1 1 1 0 0 1 1-1z\"/><path d=\"M5 9a3 3 0 1 0 3 3 3 3 0 0 0-3-3zm0 4a1 1 0 1 1 1-1 1 1 0 0 1-1 1z\"/><path d=\"M12 9a3 3 0 1 0 3 3 3 3 0 0 0-3-3zm0 4a1 1 0 1 1 1-1 1 1 0 0 1-1 1z\"/><path d=\"M19 9a3 3 0 1 0 3 3 3 3 0 0 0-3-3zm0 4a1 1 0 1 1 1-1 1 1 0 0 1-1 1z\"/><path d=\"M5 16a3 3 0 1 0 3 3 3 3 0 0 0-3-3zm0 4a1 1 0 1 1 1-1 1 1 0 0 1-1 1z\"/><path d=\"M12 16a3 3 0 1 0 3 3 3 3 0 0 0-3-3zm0 4a1 1 0 1 1 1-1 1 1 0 0 1-1 1z\"/><path d=\"M19 16a3 3 0 1 0 3 3 3 3 0 0 0-3-3zm0 4a1 1 0 1 1 1-1 1 1 0 0 1-1 1z\"/></g></g>',\"layers-outline\":'<g data-name=\"Layer 2\"><g data-name=\"layers\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M21 11.35a1 1 0 0 0-.61-.86l-2.15-.92 2.26-1.3a1 1 0 0 0 .5-.92 1 1 0 0 0-.61-.86l-8-3.41a1 1 0 0 0-.78 0l-8 3.41a1 1 0 0 0-.61.86 1 1 0 0 0 .5.92l2.26 1.3-2.15.92a1 1 0 0 0-.61.86 1 1 0 0 0 .5.92l2.26 1.3-2.15.92a1 1 0 0 0-.61.86 1 1 0 0 0 .5.92l8 4.6a1 1 0 0 0 1 0l8-4.6a1 1 0 0 0 .5-.92 1 1 0 0 0-.61-.86l-2.15-.92 2.26-1.3a1 1 0 0 0 .5-.92zm-9-6.26l5.76 2.45L12 10.85 6.24 7.54zm-.5 7.78a1 1 0 0 0 1 0l3.57-2 1.69.72L12 14.85l-5.76-3.31 1.69-.72zm6.26 2.67L12 18.85l-5.76-3.31 1.69-.72 3.57 2.05a1 1 0 0 0 1 0l3.57-2.05z\"/></g></g>',\"layout-outline\":'<g data-name=\"Layer 2\"><g data-name=\"layout\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M18 3H6a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3zM6 5h12a1 1 0 0 1 1 1v2H5V6a1 1 0 0 1 1-1zM5 18v-8h6v9H6a1 1 0 0 1-1-1zm13 1h-5v-9h6v8a1 1 0 0 1-1 1z\"/></g></g>',\"link-2-outline\":'<g data-name=\"Layer 2\"><g data-name=\"link-2\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M13.29 9.29l-4 4a1 1 0 0 0 0 1.42 1 1 0 0 0 1.42 0l4-4a1 1 0 0 0-1.42-1.42z\"/><path d=\"M12.28 17.4L11 18.67a4.2 4.2 0 0 1-5.58.4 4 4 0 0 1-.27-5.93l1.42-1.43a1 1 0 0 0 0-1.42 1 1 0 0 0-1.42 0l-1.27 1.28a6.15 6.15 0 0 0-.67 8.07 6.06 6.06 0 0 0 9.07.6l1.42-1.42a1 1 0 0 0-1.42-1.42z\"/><path d=\"M19.66 3.22a6.18 6.18 0 0 0-8.13.68L10.45 5a1.09 1.09 0 0 0-.17 1.61 1 1 0 0 0 1.42 0L13 5.3a4.17 4.17 0 0 1 5.57-.4 4 4 0 0 1 .27 5.95l-1.42 1.43a1 1 0 0 0 0 1.42 1 1 0 0 0 1.42 0l1.42-1.42a6.06 6.06 0 0 0-.6-9.06z\"/></g></g>',\"link-outline\":'<g data-name=\"Layer 2\"><g data-name=\"link\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M8 12a1 1 0 0 0 1 1h6a1 1 0 0 0 0-2H9a1 1 0 0 0-1 1z\"/><path d=\"M9 16H7.21A4.13 4.13 0 0 1 3 12.37 4 4 0 0 1 7 8h2a1 1 0 0 0 0-2H7.21a6.15 6.15 0 0 0-6.16 5.21A6 6 0 0 0 7 18h2a1 1 0 0 0 0-2z\"/><path d=\"M23 11.24A6.16 6.16 0 0 0 16.76 6h-1.51C14.44 6 14 6.45 14 7a1 1 0 0 0 1 1h1.79A4.13 4.13 0 0 1 21 11.63 4 4 0 0 1 17 16h-2a1 1 0 0 0 0 2h2a6 6 0 0 0 6-6.76z\"/></g></g>',\"linkedin-outline\":'<g data-name=\"Layer 2\"><g data-name=\"linkedin\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M20 22h-1.67a2 2 0 0 1-2-2v-5.37a.92.92 0 0 0-.69-.93.84.84 0 0 0-.67.19.85.85 0 0 0-.3.65V20a2 2 0 0 1-2 2H11a2 2 0 0 1-2-2v-5.46a6.5 6.5 0 1 1 13 0V20a2 2 0 0 1-2 2zm-4.5-10.31a3.73 3.73 0 0 1 .47 0 2.91 2.91 0 0 1 2.36 2.9V20H20v-5.46a4.5 4.5 0 1 0-9 0V20h1.67v-5.46a2.85 2.85 0 0 1 2.83-2.85z\"/><path d=\"M6 22H4a2 2 0 0 1-2-2V10a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2zM4 10v10h2V10z\"/><path d=\"M5 7a3 3 0 1 1 3-3 3 3 0 0 1-3 3zm0-4a1 1 0 1 0 1 1 1 1 0 0 0-1-1z\"/></g></g>',\"list-outline\":'<g data-name=\"Layer 2\"><g data-name=\"list\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><circle cx=\"4\" cy=\"7\" r=\"1\"/><circle cx=\"4\" cy=\"12\" r=\"1\"/><circle cx=\"4\" cy=\"17\" r=\"1\"/><rect x=\"7\" y=\"11\" width=\"14\" height=\"2\" rx=\".94\" ry=\".94\"/><rect x=\"7\" y=\"16\" width=\"14\" height=\"2\" rx=\".94\" ry=\".94\"/><rect x=\"7\" y=\"6\" width=\"14\" height=\"2\" rx=\".94\" ry=\".94\"/></g></g>',\"loader-outline\":'<g data-name=\"Layer 2\"><g data-name=\"loader\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M12 2a1 1 0 0 0-1 1v2a1 1 0 0 0 2 0V3a1 1 0 0 0-1-1z\"/><path d=\"M21 11h-2a1 1 0 0 0 0 2h2a1 1 0 0 0 0-2z\"/><path d=\"M6 12a1 1 0 0 0-1-1H3a1 1 0 0 0 0 2h2a1 1 0 0 0 1-1z\"/><path d=\"M6.22 5a1 1 0 0 0-1.39 1.47l1.44 1.39a1 1 0 0 0 .73.28 1 1 0 0 0 .72-.31 1 1 0 0 0 0-1.41z\"/><path d=\"M17 8.14a1 1 0 0 0 .69-.28l1.44-1.39A1 1 0 0 0 17.78 5l-1.44 1.42a1 1 0 0 0 0 1.41 1 1 0 0 0 .66.31z\"/><path d=\"M12 18a1 1 0 0 0-1 1v2a1 1 0 0 0 2 0v-2a1 1 0 0 0-1-1z\"/><path d=\"M17.73 16.14a1 1 0 0 0-1.39 1.44L17.78 19a1 1 0 0 0 .69.28 1 1 0 0 0 .72-.3 1 1 0 0 0 0-1.42z\"/><path d=\"M6.27 16.14l-1.44 1.39a1 1 0 0 0 0 1.42 1 1 0 0 0 .72.3 1 1 0 0 0 .67-.25l1.44-1.39a1 1 0 0 0-1.39-1.44z\"/></g></g>',\"lock-outline\":'<g data-name=\"Layer 2\"><g data-name=\"lock\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M17 8h-1V6.11a4 4 0 1 0-8 0V8H7a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3v-8a3 3 0 0 0-3-3zm-7-1.89A2.06 2.06 0 0 1 12 4a2.06 2.06 0 0 1 2 2.11V8h-4zM18 19a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1v-8a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1z\"/><path d=\"M12 12a3 3 0 1 0 3 3 3 3 0 0 0-3-3zm0 4a1 1 0 1 1 1-1 1 1 0 0 1-1 1z\"/></g></g>',\"log-in-outline\":'<g data-name=\"Layer 2\"><g data-name=\"log-in\"><rect width=\"24\" height=\"24\" transform=\"rotate(-90 12 12)\" opacity=\"0\"/><path d=\"M19 4h-2a1 1 0 0 0 0 2h1v12h-1a1 1 0 0 0 0 2h2a1 1 0 0 0 1-1V5a1 1 0 0 0-1-1z\"/><path d=\"M11.8 7.4a1 1 0 0 0-1.6 1.2L12 11H4a1 1 0 0 0 0 2h8.09l-1.72 2.44a1 1 0 0 0 .24 1.4 1 1 0 0 0 .58.18 1 1 0 0 0 .81-.42l2.82-4a1 1 0 0 0 0-1.18z\"/></g></g>',\"log-out-outline\":'<g data-name=\"Layer 2\"><g data-name=\"log-out\"><rect width=\"24\" height=\"24\" transform=\"rotate(90 12 12)\" opacity=\"0\"/><path d=\"M7 6a1 1 0 0 0 0-2H5a1 1 0 0 0-1 1v14a1 1 0 0 0 1 1h2a1 1 0 0 0 0-2H6V6z\"/><path d=\"M20.82 11.42l-2.82-4a1 1 0 0 0-1.39-.24 1 1 0 0 0-.24 1.4L18.09 11H10a1 1 0 0 0 0 2h8l-1.8 2.4a1 1 0 0 0 .2 1.4 1 1 0 0 0 .6.2 1 1 0 0 0 .8-.4l3-4a1 1 0 0 0 .02-1.18z\"/></g></g>',\"map-outline\":'<g data-name=\"Layer 2\"><g data-name=\"map\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M20.41 5.89l-4-1.8H15.59L12 5.7 8.41 4.09h-.05L8.24 4h-.6l-4 1.8a1 1 0 0 0-.64 1V19a1 1 0 0 0 .46.84A1 1 0 0 0 4 20a1 1 0 0 0 .41-.09L8 18.3l3.59 1.61h.05a.85.85 0 0 0 .72 0h.05L16 18.3l3.59 1.61A1 1 0 0 0 20 20a1 1 0 0 0 .54-.16A1 1 0 0 0 21 19V6.8a1 1 0 0 0-.59-.91zM5 7.44l2-.89v10l-2 .89zm4-.89l2 .89v10l-2-.89zm4 .89l2-.89v10l-2 .89zm6 10l-2-.89v-10l2 .89z\"/></g></g>',\"maximize-outline\":'<g data-name=\"Layer 2\"><g data-name=\"maximize\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M20.71 19.29l-3.4-3.39A7.92 7.92 0 0 0 19 11a8 8 0 1 0-8 8 7.92 7.92 0 0 0 4.9-1.69l3.39 3.4a1 1 0 0 0 1.42 0 1 1 0 0 0 0-1.42zM5 11a6 6 0 1 1 6 6 6 6 0 0 1-6-6z\"/><path d=\"M13 10h-1V9a1 1 0 0 0-2 0v1H9a1 1 0 0 0 0 2h1v1a1 1 0 0 0 2 0v-1h1a1 1 0 0 0 0-2z\"/></g></g>',\"menu-2-outline\":'<g data-name=\"Layer 2\"><g data-name=\"menu-2\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><circle cx=\"4\" cy=\"12\" r=\"1\"/><rect x=\"7\" y=\"11\" width=\"14\" height=\"2\" rx=\".94\" ry=\".94\"/><rect x=\"3\" y=\"16\" width=\"18\" height=\"2\" rx=\".94\" ry=\".94\"/><rect x=\"3\" y=\"6\" width=\"18\" height=\"2\" rx=\".94\" ry=\".94\"/></g></g>',\"menu-arrow-outline\":'<g data-name=\"Layer 2\"><g data-name=\"menu-arrow\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M20.05 11H5.91l1.3-1.29a1 1 0 0 0-1.42-1.42l-3 3a1 1 0 0 0 0 1.42l3 3a1 1 0 0 0 1.42 0 1 1 0 0 0 0-1.42L5.91 13h14.14a1 1 0 0 0 .95-.95V12a1 1 0 0 0-.95-1z\"/><rect x=\"3\" y=\"17\" width=\"18\" height=\"2\" rx=\".95\" ry=\".95\"/><rect x=\"3\" y=\"5\" width=\"18\" height=\"2\" rx=\".95\" ry=\".95\"/></g></g>',\"menu-outline\":'<g data-name=\"Layer 2\"><g data-name=\"menu\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><rect x=\"3\" y=\"11\" width=\"18\" height=\"2\" rx=\".95\" ry=\".95\"/><rect x=\"3\" y=\"16\" width=\"18\" height=\"2\" rx=\".95\" ry=\".95\"/><rect x=\"3\" y=\"6\" width=\"18\" height=\"2\" rx=\".95\" ry=\".95\"/></g></g>',\"message-circle-outline\":'<g data-name=\"Layer 2\"><g data-name=\"message-circle\"><circle cx=\"12\" cy=\"12\" r=\"1\"/><circle cx=\"16\" cy=\"12\" r=\"1\"/><circle cx=\"8\" cy=\"12\" r=\"1\"/><path d=\"M19.07 4.93a10 10 0 0 0-16.28 11 1.06 1.06 0 0 1 .09.64L2 20.8a1 1 0 0 0 .27.91A1 1 0 0 0 3 22h.2l4.28-.86a1.26 1.26 0 0 1 .64.09 10 10 0 0 0 11-16.28zm.83 8.36a8 8 0 0 1-11 6.08 3.26 3.26 0 0 0-1.25-.26 3.43 3.43 0 0 0-.56.05l-2.82.57.57-2.82a3.09 3.09 0 0 0-.21-1.81 8 8 0 0 1 6.08-11 8 8 0 0 1 9.19 9.19z\"/><rect width=\"24\" height=\"24\" opacity=\"0\"/></g></g>',\"message-square-outline\":'<g data-name=\"Layer 2\"><g data-name=\"message-square\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><circle cx=\"12\" cy=\"11\" r=\"1\"/><circle cx=\"16\" cy=\"11\" r=\"1\"/><circle cx=\"8\" cy=\"11\" r=\"1\"/><path d=\"M19 3H5a3 3 0 0 0-3 3v15a1 1 0 0 0 .51.87A1 1 0 0 0 3 22a1 1 0 0 0 .51-.14L8 19.14a1 1 0 0 1 .55-.14H19a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3zm1 13a1 1 0 0 1-1 1H8.55a3 3 0 0 0-1.55.43l-3 1.8V6a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1z\"/></g></g>',\"mic-off-outline\":'<g data-name=\"Layer 2\"><g data-name=\"mic-off\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M10 6a2 2 0 0 1 4 0v5a1 1 0 0 1 0 .16l1.6 1.59A4 4 0 0 0 16 11V6a4 4 0 0 0-7.92-.75L10 7.17z\"/><path d=\"M19 11a1 1 0 0 0-2 0 4.86 4.86 0 0 1-.69 2.48L17.78 15A7 7 0 0 0 19 11z\"/><path d=\"M12 15h.16L8 10.83V11a4 4 0 0 0 4 4z\"/><path d=\"M20.71 19.29l-16-16a1 1 0 0 0-1.42 1.42l16 16a1 1 0 0 0 1.42 0 1 1 0 0 0 0-1.42z\"/><path d=\"M15 20h-2v-2.08a7 7 0 0 0 1.65-.44l-1.6-1.6A4.57 4.57 0 0 1 12 16a5 5 0 0 1-5-5 1 1 0 0 0-2 0 7 7 0 0 0 6 6.92V20H9a1 1 0 0 0 0 2h6a1 1 0 0 0 0-2z\"/></g></g>',\"mic-outline\":'<g data-name=\"Layer 2\"><g data-name=\"mic\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M12 15a4 4 0 0 0 4-4V6a4 4 0 0 0-8 0v5a4 4 0 0 0 4 4zm-2-9a2 2 0 0 1 4 0v5a2 2 0 0 1-4 0z\"/><path d=\"M19 11a1 1 0 0 0-2 0 5 5 0 0 1-10 0 1 1 0 0 0-2 0 7 7 0 0 0 6 6.92V20H8.89a.89.89 0 0 0-.89.89v.22a.89.89 0 0 0 .89.89h6.22a.89.89 0 0 0 .89-.89v-.22a.89.89 0 0 0-.89-.89H13v-2.08A7 7 0 0 0 19 11z\"/></g></g>',\"minimize-outline\":'<g data-name=\"Layer 2\"><g data-name=\"minimize\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M20.71 19.29l-3.4-3.39A7.92 7.92 0 0 0 19 11a8 8 0 1 0-8 8 7.92 7.92 0 0 0 4.9-1.69l3.39 3.4a1 1 0 0 0 1.42 0 1 1 0 0 0 0-1.42zM5 11a6 6 0 1 1 6 6 6 6 0 0 1-6-6z\"/><path d=\"M13 10H9a1 1 0 0 0 0 2h4a1 1 0 0 0 0-2z\"/></g></g>',\"minus-circle-outline\":'<g data-name=\"Layer 2\"><g data-name=\"minus-circle\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm0 18a8 8 0 1 1 8-8 8 8 0 0 1-8 8z\"/><path d=\"M15 11H9a1 1 0 0 0 0 2h6a1 1 0 0 0 0-2z\"/></g></g>',\"minus-outline\":'<g data-name=\"Layer 2\"><g data-name=\"minus\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M19 13H5a1 1 0 0 1 0-2h14a1 1 0 0 1 0 2z\"/></g></g>',\"minus-square-outline\":'<g data-name=\"Layer 2\"><g data-name=\"minus-square\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M18 3H6a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3zm1 15a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1z\"/><path d=\"M15 11H9a1 1 0 0 0 0 2h6a1 1 0 0 0 0-2z\"/></g></g>',\"monitor-outline\":'<g data-name=\"Layer 2\"><g data-name=\"monitor\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M19 3H5a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h6v2H7a1 1 0 0 0 0 2h10a1 1 0 0 0 0-2h-4v-2h6a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3zm1 11a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1z\"/></g></g>',\"moon-outline\":'<g data-name=\"Layer 2\"><g data-name=\"moon\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M12.3 22h-.1a10.31 10.31 0 0 1-7.34-3.15 10.46 10.46 0 0 1-.26-14 10.13 10.13 0 0 1 4-2.74 1 1 0 0 1 1.06.22 1 1 0 0 1 .24 1 8.4 8.4 0 0 0 1.94 8.81 8.47 8.47 0 0 0 8.83 1.94 1 1 0 0 1 1.27 1.29A10.16 10.16 0 0 1 19.6 19a10.28 10.28 0 0 1-7.3 3zM7.46 4.92a7.93 7.93 0 0 0-1.37 1.22 8.44 8.44 0 0 0 .2 11.32A8.29 8.29 0 0 0 12.22 20h.08a8.34 8.34 0 0 0 6.78-3.49A10.37 10.37 0 0 1 7.46 4.92z\"/></g></g>',\"more-horizontal-outline\":'<g data-name=\"Layer 2\"><g data-name=\"more-horizotnal\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><circle cx=\"12\" cy=\"12\" r=\"2\"/><circle cx=\"19\" cy=\"12\" r=\"2\"/><circle cx=\"5\" cy=\"12\" r=\"2\"/></g></g>',\"more-vertical-outline\":'<g data-name=\"Layer 2\"><g data-name=\"more-vertical\"><rect width=\"24\" height=\"24\" transform=\"rotate(-90 12 12)\" opacity=\"0\"/><circle cx=\"12\" cy=\"12\" r=\"2\"/><circle cx=\"12\" cy=\"5\" r=\"2\"/><circle cx=\"12\" cy=\"19\" r=\"2\"/></g></g>',\"move-outline\":'<g data-name=\"Layer 2\"><g data-name=\"move\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M21.71 11.31l-3-3a1 1 0 0 0-1.42 1.42L18.58 11H13V5.41l1.29 1.3A1 1 0 0 0 15 7a1 1 0 0 0 .71-.29 1 1 0 0 0 0-1.42l-3-3A1 1 0 0 0 12 2a1 1 0 0 0-.7.29l-3 3a1 1 0 0 0 1.41 1.42L11 5.42V11H5.41l1.3-1.29a1 1 0 0 0-1.42-1.42l-3 3A1 1 0 0 0 2 12a1 1 0 0 0 .29.71l3 3A1 1 0 0 0 6 16a1 1 0 0 0 .71-.29 1 1 0 0 0 0-1.42L5.42 13H11v5.59l-1.29-1.3a1 1 0 0 0-1.42 1.42l3 3A1 1 0 0 0 12 22a1 1 0 0 0 .7-.29l3-3a1 1 0 0 0-1.42-1.42L13 18.58V13h5.59l-1.3 1.29a1 1 0 0 0 0 1.42A1 1 0 0 0 18 16a1 1 0 0 0 .71-.29l3-3A1 1 0 0 0 22 12a1 1 0 0 0-.29-.69z\"/></g></g>',\"music-outline\":'<g data-name=\"Layer 2\"><g data-name=\"music\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M19 15V4a1 1 0 0 0-.38-.78 1 1 0 0 0-.84-.2l-9 2A1 1 0 0 0 8 6v8.34a3.49 3.49 0 1 0 2 3.18 4.36 4.36 0 0 0 0-.52V6.8l7-1.55v7.09a3.49 3.49 0 1 0 2 3.17 4.57 4.57 0 0 0 0-.51zM6.54 19A1.49 1.49 0 1 1 8 17.21a1.53 1.53 0 0 1 0 .3A1.49 1.49 0 0 1 6.54 19zm9-2A1.5 1.5 0 1 1 17 15.21a1.53 1.53 0 0 1 0 .3A1.5 1.5 0 0 1 15.51 17z\"/></g></g>',\"navigation-2-outline\":'<g data-name=\"Layer 2\"><g data-name=\"navigation-2\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M13.67 22h-.06a1 1 0 0 1-.92-.8L11 13l-8.2-1.69a1 1 0 0 1-.12-1.93l16-5.33A1 1 0 0 1 20 5.32l-5.33 16a1 1 0 0 1-1 .68zm-6.8-11.9l5.19 1.06a1 1 0 0 1 .79.78l1.05 5.19 3.52-10.55z\"/></g></g>',\"navigation-outline\":'<g data-name=\"Layer 2\"><g data-name=\"navigation\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M20 20a.94.94 0 0 1-.55-.17L12 14.9l-7.45 4.93a1 1 0 0 1-1.44-1.28l8-16a1 1 0 0 1 1.78 0l8 16a1 1 0 0 1-.23 1.2A1 1 0 0 1 20 20zm-8-7.3a1 1 0 0 1 .55.17l4.88 3.23L12 5.24 6.57 16.1l4.88-3.23a1 1 0 0 1 .55-.17z\"/></g></g>',\"npm-outline\":'<g data-name=\"Layer 2\"><g data-name=\"npm\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M18 21H6a3 3 0 0 1-3-3V6a3 3 0 0 1 3-3h12a3 3 0 0 1 3 3v12a3 3 0 0 1-3 3zM6 5a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1z\"/><rect x=\"12\" y=\"9\" width=\"4\" height=\"10\"/></g></g>',\"options-2-outline\":'<g data-name=\"Layer 2\"><g data-name=\"options-2\"><rect width=\"24\" height=\"24\" transform=\"rotate(90 12 12)\" opacity=\"0\"/><path d=\"M19 9a3 3 0 0 0-2.82 2H3a1 1 0 0 0 0 2h13.18A3 3 0 1 0 19 9zm0 4a1 1 0 1 1 1-1 1 1 0 0 1-1 1z\"/><path d=\"M3 7h1.18a3 3 0 0 0 5.64 0H21a1 1 0 0 0 0-2H9.82a3 3 0 0 0-5.64 0H3a1 1 0 0 0 0 2zm4-2a1 1 0 1 1-1 1 1 1 0 0 1 1-1z\"/><path d=\"M21 17h-7.18a3 3 0 0 0-5.64 0H3a1 1 0 0 0 0 2h5.18a3 3 0 0 0 5.64 0H21a1 1 0 0 0 0-2zm-10 2a1 1 0 1 1 1-1 1 1 0 0 1-1 1z\"/></g></g>',\"options-outline\":'<g data-name=\"Layer 2\"><g data-name=\"options\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M7 14.18V3a1 1 0 0 0-2 0v11.18a3 3 0 0 0 0 5.64V21a1 1 0 0 0 2 0v-1.18a3 3 0 0 0 0-5.64zM6 18a1 1 0 1 1 1-1 1 1 0 0 1-1 1z\"/><path d=\"M21 13a3 3 0 0 0-2-2.82V3a1 1 0 0 0-2 0v7.18a3 3 0 0 0 0 5.64V21a1 1 0 0 0 2 0v-5.18A3 3 0 0 0 21 13zm-3 1a1 1 0 1 1 1-1 1 1 0 0 1-1 1z\"/><path d=\"M15 5a3 3 0 1 0-4 2.82V21a1 1 0 0 0 2 0V7.82A3 3 0 0 0 15 5zm-3 1a1 1 0 1 1 1-1 1 1 0 0 1-1 1z\"/></g></g>',\"pantone-outline\":'<g data-name=\"Layer 2\"><g data-name=\"pantone\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M20 13.18h-4.06l2.3-2.47a1 1 0 0 0 0-1.41l-4.19-3.86a.93.93 0 0 0-.71-.26 1 1 0 0 0-.7.31l-1.82 2V4a1 1 0 0 0-1-1H4a1 1 0 0 0-1 1v13.09A3.91 3.91 0 0 0 6.91 21H20a1 1 0 0 0 1-1v-5.82a1 1 0 0 0-1-1zm-6.58-5.59l2.67 2.49-5.27 5.66v-5.36zM8.82 10v3H5v-3zm0-5v3H5V5zM5 17.09V15h3.82v2.09a1.91 1.91 0 0 1-3.82 0zM19 19h-8.49l3.56-3.82H19z\"/></g></g>',\"paper-plane-outline\":'<g data-name=\"Layer 2\"><g data-name=\"paper-plane\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M21 4a1.31 1.31 0 0 0-.06-.27v-.09a1 1 0 0 0-.2-.3 1 1 0 0 0-.29-.19h-.09a.86.86 0 0 0-.31-.15H20a1 1 0 0 0-.3 0l-18 6a1 1 0 0 0 0 1.9l8.53 2.84 2.84 8.53a1 1 0 0 0 1.9 0l6-18A1 1 0 0 0 21 4zm-4.7 2.29l-5.57 5.57L5.16 10zM14 18.84l-1.86-5.57 5.57-5.57z\"/></g></g>',\"pause-circle-outline\":'<g data-name=\"Layer 2\"><g data-name=\"pause-circle\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm0 18a8 8 0 1 1 8-8 8 8 0 0 1-8 8z\"/><path d=\"M15 8a1 1 0 0 0-1 1v6a1 1 0 0 0 2 0V9a1 1 0 0 0-1-1z\"/><path d=\"M9 8a1 1 0 0 0-1 1v6a1 1 0 0 0 2 0V9a1 1 0 0 0-1-1z\"/></g></g>',\"people-outline\":'<g data-name=\"Layer 2\"><g data-name=\"people\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M9 11a4 4 0 1 0-4-4 4 4 0 0 0 4 4zm0-6a2 2 0 1 1-2 2 2 2 0 0 1 2-2z\"/><path d=\"M17 13a3 3 0 1 0-3-3 3 3 0 0 0 3 3zm0-4a1 1 0 1 1-1 1 1 1 0 0 1 1-1z\"/><path d=\"M17 14a5 5 0 0 0-3.06 1.05A7 7 0 0 0 2 20a1 1 0 0 0 2 0 5 5 0 0 1 10 0 1 1 0 0 0 2 0 6.9 6.9 0 0 0-.86-3.35A3 3 0 0 1 20 19a1 1 0 0 0 2 0 5 5 0 0 0-5-5z\"/></g></g>',\"percent-outline\":'<g data-name=\"Layer 2\"><g data-name=\"percent\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M8 11a3.5 3.5 0 1 0-3.5-3.5A3.5 3.5 0 0 0 8 11zm0-5a1.5 1.5 0 1 1-1.5 1.5A1.5 1.5 0 0 1 8 6z\"/><path d=\"M16 14a3.5 3.5 0 1 0 3.5 3.5A3.5 3.5 0 0 0 16 14zm0 5a1.5 1.5 0 1 1 1.5-1.5A1.5 1.5 0 0 1 16 19z\"/><path d=\"M19.74 4.26a.89.89 0 0 0-1.26 0L4.26 18.48a.91.91 0 0 0-.26.63.89.89 0 0 0 1.52.63L19.74 5.52a.89.89 0 0 0 0-1.26z\"/></g></g>',\"person-add-outline\":'<g data-name=\"Layer 2\"><g data-name=\"person-add\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M21 6h-1V5a1 1 0 0 0-2 0v1h-1a1 1 0 0 0 0 2h1v1a1 1 0 0 0 2 0V8h1a1 1 0 0 0 0-2z\"/><path d=\"M10 11a4 4 0 1 0-4-4 4 4 0 0 0 4 4zm0-6a2 2 0 1 1-2 2 2 2 0 0 1 2-2z\"/><path d=\"M10 13a7 7 0 0 0-7 7 1 1 0 0 0 2 0 5 5 0 0 1 10 0 1 1 0 0 0 2 0 7 7 0 0 0-7-7z\"/></g></g>',\"person-delete-outline\":'<g data-name=\"Layer 2\"><g data-name=\"person-delete\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M20.47 7.5l.73-.73a1 1 0 0 0-1.47-1.47L19 6l-.73-.73a1 1 0 0 0-1.47 1.5l.73.73-.73.73a1 1 0 0 0 1.47 1.47L19 9l.73.73a1 1 0 0 0 1.47-1.5z\"/><path d=\"M10 11a4 4 0 1 0-4-4 4 4 0 0 0 4 4zm0-6a2 2 0 1 1-2 2 2 2 0 0 1 2-2z\"/><path d=\"M10 13a7 7 0 0 0-7 7 1 1 0 0 0 2 0 5 5 0 0 1 10 0 1 1 0 0 0 2 0 7 7 0 0 0-7-7z\"/></g></g>',\"person-done-outline\":'<g data-name=\"Layer 2\"><g data-name=\"person-done\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M21.66 4.25a1 1 0 0 0-1.41.09l-1.87 2.15-.63-.71a1 1 0 0 0-1.5 1.33l1.39 1.56a1 1 0 0 0 .75.33 1 1 0 0 0 .74-.34l2.61-3a1 1 0 0 0-.08-1.41z\"/><path d=\"M10 11a4 4 0 1 0-4-4 4 4 0 0 0 4 4zm0-6a2 2 0 1 1-2 2 2 2 0 0 1 2-2z\"/><path d=\"M10 13a7 7 0 0 0-7 7 1 1 0 0 0 2 0 5 5 0 0 1 10 0 1 1 0 0 0 2 0 7 7 0 0 0-7-7z\"/></g></g>',\"person-outline\":'<g data-name=\"Layer 2\"><g data-name=\"person\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M12 11a4 4 0 1 0-4-4 4 4 0 0 0 4 4zm0-6a2 2 0 1 1-2 2 2 2 0 0 1 2-2z\"/><path d=\"M12 13a7 7 0 0 0-7 7 1 1 0 0 0 2 0 5 5 0 0 1 10 0 1 1 0 0 0 2 0 7 7 0 0 0-7-7z\"/></g></g>',\"person-remove-outline\":'<g data-name=\"Layer 2\"><g data-name=\"person-remove\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M21 6h-4a1 1 0 0 0 0 2h4a1 1 0 0 0 0-2z\"/><path d=\"M10 11a4 4 0 1 0-4-4 4 4 0 0 0 4 4zm0-6a2 2 0 1 1-2 2 2 2 0 0 1 2-2z\"/><path d=\"M10 13a7 7 0 0 0-7 7 1 1 0 0 0 2 0 5 5 0 0 1 10 0 1 1 0 0 0 2 0 7 7 0 0 0-7-7z\"/></g></g>',\"phone-call-outline\":'<g data-name=\"Layer 2\"><g data-name=\"phone-call\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M13 8a3 3 0 0 1 3 3 1 1 0 0 0 2 0 5 5 0 0 0-5-5 1 1 0 0 0 0 2z\"/><path d=\"M13 4a7 7 0 0 1 7 7 1 1 0 0 0 2 0 9 9 0 0 0-9-9 1 1 0 0 0 0 2z\"/><path d=\"M21.75 15.91a1 1 0 0 0-.72-.65l-6-1.37a1 1 0 0 0-.92.26c-.14.13-.15.14-.8 1.38a9.91 9.91 0 0 1-4.87-4.89C9.71 10 9.72 10 9.85 9.85a1 1 0 0 0 .26-.92L8.74 3a1 1 0 0 0-.65-.72 3.79 3.79 0 0 0-.72-.18A3.94 3.94 0 0 0 6.6 2 4.6 4.6 0 0 0 2 6.6 15.42 15.42 0 0 0 17.4 22a4.6 4.6 0 0 0 4.6-4.6 4.77 4.77 0 0 0-.06-.76 4.34 4.34 0 0 0-.19-.73zM17.4 20A13.41 13.41 0 0 1 4 6.6 2.61 2.61 0 0 1 6.6 4h.33L8 8.64l-.54.28c-.86.45-1.54.81-1.18 1.59a11.85 11.85 0 0 0 7.18 7.21c.84.34 1.17-.29 1.62-1.16l.29-.55L20 17.07v.33a2.61 2.61 0 0 1-2.6 2.6z\"/></g></g>',\"phone-missed-outline\":'<g data-name=\"Layer 2\"><g data-name=\"phone-missed\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M21.94 16.64a4.34 4.34 0 0 0-.19-.73 1 1 0 0 0-.72-.65l-6-1.37a1 1 0 0 0-.92.26c-.14.13-.15.14-.8 1.38a10 10 0 0 1-4.88-4.89C9.71 10 9.72 10 9.85 9.85a1 1 0 0 0 .26-.92L8.74 3a1 1 0 0 0-.65-.72 3.79 3.79 0 0 0-.72-.18A3.94 3.94 0 0 0 6.6 2 4.6 4.6 0 0 0 2 6.6 15.42 15.42 0 0 0 17.4 22a4.6 4.6 0 0 0 4.6-4.6 4.77 4.77 0 0 0-.06-.76zM17.4 20A13.41 13.41 0 0 1 4 6.6 2.61 2.61 0 0 1 6.6 4h.33L8 8.64l-.55.29c-.87.45-1.5.78-1.17 1.58a11.85 11.85 0 0 0 7.18 7.21c.84.34 1.17-.29 1.62-1.16l.29-.55L20 17.07v.33a2.61 2.61 0 0 1-2.6 2.6z\"/><path d=\"M15.8 8.7a1.05 1.05 0 0 0 1.47 0L18 8l.73.73a1 1 0 0 0 1.47-1.5l-.73-.73.73-.73a1 1 0 0 0-1.47-1.47L18 5l-.73-.73a1 1 0 0 0-1.47 1.5l.73.73-.73.73a1.05 1.05 0 0 0 0 1.47z\"/></g></g>',\"phone-off-outline\":'<g data-name=\"Layer 2\"><g data-name=\"phone-off\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M19.74 4.26a.89.89 0 0 0-1.26 0L4.26 18.48a.91.91 0 0 0-.26.63.89.89 0 0 0 1.52.63L19.74 5.52a.89.89 0 0 0 0-1.26z\"/><path d=\"M6.7 14.63A13.29 13.29 0 0 1 4 6.6 2.61 2.61 0 0 1 6.6 4h.33L8 8.64l-.55.29c-.87.45-1.5.78-1.17 1.58a11.57 11.57 0 0 0 1.57 3l1.43-1.42a10.37 10.37 0 0 1-.8-1.42C9.71 10 9.72 10 9.85 9.85a1 1 0 0 0 .26-.92L8.74 3a1 1 0 0 0-.65-.72 3.79 3.79 0 0 0-.72-.18A3.94 3.94 0 0 0 6.6 2 4.6 4.6 0 0 0 2 6.6a15.33 15.33 0 0 0 3.27 9.46z\"/><path d=\"M21.94 16.64a4.34 4.34 0 0 0-.19-.73 1 1 0 0 0-.72-.65l-6-1.37a1 1 0 0 0-.92.26c-.14.13-.15.14-.8 1.38a10.88 10.88 0 0 1-1.41-.8l-1.43 1.43a11.52 11.52 0 0 0 2.94 1.56c.84.34 1.17-.29 1.62-1.16l.29-.55L20 17.07v.33a2.61 2.61 0 0 1-2.6 2.6 13.29 13.29 0 0 1-8-2.7l-1.46 1.43A15.33 15.33 0 0 0 17.4 22a4.6 4.6 0 0 0 4.6-4.6 4.77 4.77 0 0 0-.06-.76z\"/></g></g>',\"phone-outline\":'<g data-name=\"Layer 2\"><g data-name=\"phone\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M17.4 22A15.42 15.42 0 0 1 2 6.6 4.6 4.6 0 0 1 6.6 2a3.94 3.94 0 0 1 .77.07 3.79 3.79 0 0 1 .72.18 1 1 0 0 1 .65.75l1.37 6a1 1 0 0 1-.26.92c-.13.14-.14.15-1.37.79a9.91 9.91 0 0 0 4.87 4.89c.65-1.24.66-1.25.8-1.38a1 1 0 0 1 .92-.26l6 1.37a1 1 0 0 1 .72.65 4.34 4.34 0 0 1 .19.73 4.77 4.77 0 0 1 .06.76A4.6 4.6 0 0 1 17.4 22zM6.6 4A2.61 2.61 0 0 0 4 6.6 13.41 13.41 0 0 0 17.4 20a2.61 2.61 0 0 0 2.6-2.6v-.33L15.36 16l-.29.55c-.45.87-.78 1.5-1.62 1.16a11.85 11.85 0 0 1-7.18-7.21c-.36-.78.32-1.14 1.18-1.59L8 8.64 6.93 4z\"/></g></g>',\"pie-chart-outline\":'<g data-name=\"Layer 2\"><g data-name=\"pie-chart\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M13 2a1 1 0 0 0-1 1v8a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1 9 9 0 0 0-9-9zm1 8V4.07A7 7 0 0 1 19.93 10z\"/><path d=\"M20.82 14.06a1 1 0 0 0-1.28.61A8 8 0 1 1 9.33 4.46a1 1 0 0 0-.66-1.89 10 10 0 1 0 12.76 12.76 1 1 0 0 0-.61-1.27z\"/></g></g>',\"pin-outline\":'<g data-name=\"Layer 2\"><g data-name=\"pin\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M12 2a8 8 0 0 0-8 7.92c0 5.48 7.05 11.58 7.35 11.84a1 1 0 0 0 1.3 0C13 21.5 20 15.4 20 9.92A8 8 0 0 0 12 2zm0 17.65c-1.67-1.59-6-6-6-9.73a6 6 0 0 1 12 0c0 3.7-4.33 8.14-6 9.73z\"/><path d=\"M12 6a3.5 3.5 0 1 0 3.5 3.5A3.5 3.5 0 0 0 12 6zm0 5a1.5 1.5 0 1 1 1.5-1.5A1.5 1.5 0 0 1 12 11z\"/></g></g>',\"play-circle-outline\":'<g data-name=\"Layer 2\"><g data-name=\"play-circle\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm0 18a8 8 0 1 1 8-8 8 8 0 0 1-8 8z\"/><path d=\"M12.34 7.45a1.7 1.7 0 0 0-1.85-.3 1.6 1.6 0 0 0-1 1.48v6.74a1.6 1.6 0 0 0 1 1.48 1.68 1.68 0 0 0 .69.15 1.74 1.74 0 0 0 1.16-.45L16 13.18a1.6 1.6 0 0 0 0-2.36zm-.84 7.15V9.4l2.81 2.6z\"/></g></g>',\"plus-circle-outline\":'<g data-name=\"Layer 2\"><g data-name=\"plus-circle\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm0 18a8 8 0 1 1 8-8 8 8 0 0 1-8 8z\"/><path d=\"M15 11h-2V9a1 1 0 0 0-2 0v2H9a1 1 0 0 0 0 2h2v2a1 1 0 0 0 2 0v-2h2a1 1 0 0 0 0-2z\"/></g></g>',\"plus-outline\":'<g data-name=\"Layer 2\"><g data-name=\"plus\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M19 11h-6V5a1 1 0 0 0-2 0v6H5a1 1 0 0 0 0 2h6v6a1 1 0 0 0 2 0v-6h6a1 1 0 0 0 0-2z\"/></g></g>',\"plus-square-outline\":'<g data-name=\"Layer 2\"><g data-name=\"plus-square\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M18 3H6a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3zm1 15a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1z\"/><path d=\"M15 11h-2V9a1 1 0 0 0-2 0v2H9a1 1 0 0 0 0 2h2v2a1 1 0 0 0 2 0v-2h2a1 1 0 0 0 0-2z\"/></g></g>',\"power-outline\":'<g data-name=\"Layer 2\"><g data-name=\"power\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M12 13a1 1 0 0 0 1-1V2a1 1 0 0 0-2 0v10a1 1 0 0 0 1 1z\"/><path d=\"M16.59 3.11a1 1 0 0 0-.92 1.78 8 8 0 1 1-7.34 0 1 1 0 1 0-.92-1.78 10 10 0 1 0 9.18 0z\"/></g></g>',\"pricetags-outline\":'<g data-name=\"Layer 2\"><g data-name=\"pricetags\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M12.87 22a1.84 1.84 0 0 1-1.29-.53l-6.41-6.42a1 1 0 0 1-.29-.61L4 5.09a1 1 0 0 1 .29-.8 1 1 0 0 1 .8-.29l9.35.88a1 1 0 0 1 .61.29l6.42 6.41a1.82 1.82 0 0 1 0 2.57l-7.32 7.32a1.82 1.82 0 0 1-1.28.53zm-6-8.11l6 6 7.05-7.05-6-6-7.81-.73z\"/><circle cx=\"10.5\" cy=\"10.5\" r=\"1.5\"/></g></g>',\"printer-outline\":'<g data-name=\"Layer 2\"><g data-name=\"printer\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M19.36 7H18V5a1.92 1.92 0 0 0-1.83-2H7.83A1.92 1.92 0 0 0 6 5v2H4.64A2.66 2.66 0 0 0 2 9.67v6.66A2.66 2.66 0 0 0 4.64 19h.86a2 2 0 0 0 2 2h9a2 2 0 0 0 2-2h.86A2.66 2.66 0 0 0 22 16.33V9.67A2.66 2.66 0 0 0 19.36 7zM8 5h8v2H8zm-.5 14v-4h9v4zM20 16.33a.66.66 0 0 1-.64.67h-.86v-2a2 2 0 0 0-2-2h-9a2 2 0 0 0-2 2v2h-.86a.66.66 0 0 1-.64-.67V9.67A.66.66 0 0 1 4.64 9h14.72a.66.66 0 0 1 .64.67z\"/></g></g>',\"question-mark-circle-outline\":'<g data-name=\"Layer 2\"><g data-name=\"menu-arrow-circle\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm0 18a8 8 0 1 1 8-8 8 8 0 0 1-8 8z\"/><path d=\"M12 6a3.5 3.5 0 0 0-3.5 3.5 1 1 0 0 0 2 0A1.5 1.5 0 1 1 12 11a1 1 0 0 0-1 1v2a1 1 0 0 0 2 0v-1.16A3.49 3.49 0 0 0 12 6z\"/><circle cx=\"12\" cy=\"17\" r=\"1\"/></g></g>',\"question-mark-outline\":'<g data-name=\"Layer 2\"><g data-name=\"question-mark\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M17 9A5 5 0 0 0 7 9a1 1 0 0 0 2 0 3 3 0 1 1 3 3 1 1 0 0 0-1 1v2a1 1 0 0 0 2 0v-1.1A5 5 0 0 0 17 9z\"/><circle cx=\"12\" cy=\"19\" r=\"1\"/></g></g>',\"radio-button-off-outline\":'<g data-name=\"Layer 2\"><g data-name=\"radio-button-off\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M12 22a10 10 0 1 1 10-10 10 10 0 0 1-10 10zm0-18a8 8 0 1 0 8 8 8 8 0 0 0-8-8z\"/></g></g>',\"radio-button-on-outline\":'<g data-name=\"Layer 2\"><g data-name=\"radio-button-on\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm0 18a8 8 0 1 1 8-8 8 8 0 0 1-8 8z\"/><path d=\"M12 7a5 5 0 1 0 5 5 5 5 0 0 0-5-5zm0 8a3 3 0 1 1 3-3 3 3 0 0 1-3 3z\"/></g></g>',\"radio-outline\":'<g data-name=\"Layer 2\"><g data-name=\"radio\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M12 8a3 3 0 0 0-1 5.83 1 1 0 0 0 0 .17v6a1 1 0 0 0 2 0v-6a1 1 0 0 0 0-.17A3 3 0 0 0 12 8zm0 4a1 1 0 1 1 1-1 1 1 0 0 1-1 1z\"/><path d=\"M3.5 11a6.87 6.87 0 0 1 2.64-5.23 1 1 0 1 0-1.28-1.54A8.84 8.84 0 0 0 1.5 11a8.84 8.84 0 0 0 3.36 6.77 1 1 0 1 0 1.28-1.54A6.87 6.87 0 0 1 3.5 11z\"/><path d=\"M16.64 6.24a1 1 0 0 0-1.28 1.52A4.28 4.28 0 0 1 17 11a4.28 4.28 0 0 1-1.64 3.24A1 1 0 0 0 16 16a1 1 0 0 0 .64-.24A6.2 6.2 0 0 0 19 11a6.2 6.2 0 0 0-2.36-4.76z\"/><path d=\"M8.76 6.36a1 1 0 0 0-1.4-.12A6.2 6.2 0 0 0 5 11a6.2 6.2 0 0 0 2.36 4.76 1 1 0 0 0 1.4-.12 1 1 0 0 0-.12-1.4A4.28 4.28 0 0 1 7 11a4.28 4.28 0 0 1 1.64-3.24 1 1 0 0 0 .12-1.4z\"/><path d=\"M19.14 4.23a1 1 0 1 0-1.28 1.54A6.87 6.87 0 0 1 20.5 11a6.87 6.87 0 0 1-2.64 5.23 1 1 0 0 0 1.28 1.54A8.84 8.84 0 0 0 22.5 11a8.84 8.84 0 0 0-3.36-6.77z\"/></g></g>',\"recording-outline\":'<g data-name=\"Layer 2\"><g data-name=\"recording\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M18 8a4 4 0 0 0-4 4 3.91 3.91 0 0 0 .56 2H9.44a3.91 3.91 0 0 0 .56-2 4 4 0 1 0-4 4h12a4 4 0 0 0 0-8zM4 12a2 2 0 1 1 2 2 2 2 0 0 1-2-2zm14 2a2 2 0 1 1 2-2 2 2 0 0 1-2 2z\"/></g></g>',\"refresh-outline\":'<g data-name=\"Layer 2\"><g data-name=\"refresh\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M20.3 13.43a1 1 0 0 0-1.25.65A7.14 7.14 0 0 1 12.18 19 7.1 7.1 0 0 1 5 12a7.1 7.1 0 0 1 7.18-7 7.26 7.26 0 0 1 4.65 1.67l-2.17-.36a1 1 0 0 0-1.15.83 1 1 0 0 0 .83 1.15l4.24.7h.17a1 1 0 0 0 .34-.06.33.33 0 0 0 .1-.06.78.78 0 0 0 .2-.11l.09-.11c0-.05.09-.09.13-.15s0-.1.05-.14a1.34 1.34 0 0 0 .07-.18l.75-4a1 1 0 0 0-2-.38l-.27 1.45A9.21 9.21 0 0 0 12.18 3 9.1 9.1 0 0 0 3 12a9.1 9.1 0 0 0 9.18 9A9.12 9.12 0 0 0 21 14.68a1 1 0 0 0-.7-1.25z\"/></g></g>',\"repeat-outline\":'<g data-name=\"Layer 2\"><g data-name=\"repeat\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M17.91 5h-12l1.3-1.29a1 1 0 0 0-1.42-1.42l-3 3a1 1 0 0 0 0 1.42l3 3a1 1 0 0 0 1.42 0 1 1 0 0 0 0-1.42L5.91 7h12a1.56 1.56 0 0 1 1.59 1.53V11a1 1 0 0 0 2 0V8.53A3.56 3.56 0 0 0 17.91 5z\"/><path d=\"M18.21 14.29a1 1 0 0 0-1.42 1.42l1.3 1.29h-12a1.56 1.56 0 0 1-1.59-1.53V13a1 1 0 0 0-2 0v2.47A3.56 3.56 0 0 0 6.09 19h12l-1.3 1.29a1 1 0 0 0 0 1.42 1 1 0 0 0 1.42 0l3-3a1 1 0 0 0 0-1.42z\"/></g></g>',\"rewind-left-outline\":'<g data-name=\"Layer 2\"><g data-name=\"rewind-left\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M18.45 6.2a2.1 2.1 0 0 0-2.21.26l-4.74 3.92V7.79a1.76 1.76 0 0 0-1.05-1.59 2.1 2.1 0 0 0-2.21.26l-5.1 4.21a1.7 1.7 0 0 0 0 2.66l5.1 4.21a2.06 2.06 0 0 0 1.3.46 2.23 2.23 0 0 0 .91-.2 1.76 1.76 0 0 0 1.05-1.59v-2.59l4.74 3.92a2.06 2.06 0 0 0 1.3.46 2.23 2.23 0 0 0 .91-.2 1.76 1.76 0 0 0 1.05-1.59V7.79a1.76 1.76 0 0 0-1.05-1.59zM9.5 16l-4.82-4L9.5 8.09zm8 0l-4.82-4 4.82-3.91z\"/></g></g>',\"rewind-right-outline\":'<g data-name=\"Layer 2\"><g data-name=\"rewind-right\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M20.86 10.67l-5.1-4.21a2.1 2.1 0 0 0-2.21-.26 1.76 1.76 0 0 0-1.05 1.59v2.59L7.76 6.46a2.1 2.1 0 0 0-2.21-.26 1.76 1.76 0 0 0-1 1.59v8.42a1.76 1.76 0 0 0 1 1.59 2.23 2.23 0 0 0 .91.2 2.06 2.06 0 0 0 1.3-.46l4.74-3.92v2.59a1.76 1.76 0 0 0 1.05 1.59 2.23 2.23 0 0 0 .91.2 2.06 2.06 0 0 0 1.3-.46l5.1-4.21a1.7 1.7 0 0 0 0-2.66zM6.5 15.91V8l4.82 4zm8 0V8l4.82 4z\"/></g></g>',\"save-outline\":'<g data-name=\"Layer 2\"><g data-name=\"save\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M20.12 8.71l-4.83-4.83A3 3 0 0 0 13.17 3H6a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3v-7.17a3 3 0 0 0-.88-2.12zM10 19v-2h4v2zm9-1a1 1 0 0 1-1 1h-2v-3a1 1 0 0 0-1-1H9a1 1 0 0 0-1 1v3H6a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h2v5a1 1 0 0 0 1 1h4a1 1 0 0 0 0-2h-3V5h3.17a1.05 1.05 0 0 1 .71.29l4.83 4.83a1 1 0 0 1 .29.71z\"/></g></g>',\"scissors-outline\":'<g data-name=\"Layer 2\"><g data-name=\"scissors\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M20.21 5.71a1 1 0 1 0-1.42-1.42l-6.28 6.31-3.3-3.31A3 3 0 0 0 9.5 6a3 3 0 1 0-3 3 3 3 0 0 0 1.29-.3L11.1 12l-3.29 3.3A3 3 0 0 0 6.5 15a3 3 0 1 0 3 3 3 3 0 0 0-.29-1.26zM6.5 7a1 1 0 1 1 1-1 1 1 0 0 1-1 1zm0 12a1 1 0 1 1 1-1 1 1 0 0 1-1 1z\"/><path d=\"M15.21 13.29a1 1 0 0 0-1.42 1.42l5 5a1 1 0 0 0 1.42 0 1 1 0 0 0 0-1.42z\"/></g></g>',\"search-outline\":'<g data-name=\"Layer 2\"><g data-name=\"search\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M20.71 19.29l-3.4-3.39A7.92 7.92 0 0 0 19 11a8 8 0 1 0-8 8 7.92 7.92 0 0 0 4.9-1.69l3.39 3.4a1 1 0 0 0 1.42 0 1 1 0 0 0 0-1.42zM5 11a6 6 0 1 1 6 6 6 6 0 0 1-6-6z\"/></g></g>',\"settings-2-outline\":'<g data-name=\"Layer 2\"><g data-name=\"settings-2\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M12.94 22h-1.89a1.68 1.68 0 0 1-1.68-1.68v-1.09a.34.34 0 0 0-.22-.29.38.38 0 0 0-.41 0l-.74.8a1.67 1.67 0 0 1-2.37 0L4.26 18.4a1.66 1.66 0 0 1-.5-1.19 1.72 1.72 0 0 1 .5-1.21l.74-.74a.34.34 0 0 0 0-.37c-.06-.15-.16-.26-.3-.26H3.68A1.69 1.69 0 0 1 2 12.94v-1.89a1.68 1.68 0 0 1 1.68-1.68h1.09a.34.34 0 0 0 .29-.22.38.38 0 0 0 0-.41L4.26 8a1.67 1.67 0 0 1 0-2.37L5.6 4.26a1.65 1.65 0 0 1 1.18-.5 1.72 1.72 0 0 1 1.22.5l.74.74a.34.34 0 0 0 .37 0c.15-.06.26-.16.26-.3V3.68A1.69 1.69 0 0 1 11.06 2H13a1.68 1.68 0 0 1 1.68 1.68v1.09a.34.34 0 0 0 .22.29.38.38 0 0 0 .41 0l.69-.8a1.67 1.67 0 0 1 2.37 0l1.37 1.34a1.67 1.67 0 0 1 .5 1.19 1.63 1.63 0 0 1-.5 1.21l-.74.74a.34.34 0 0 0 0 .37c.06.15.16.26.3.26h1.09A1.69 1.69 0 0 1 22 11.06V13a1.68 1.68 0 0 1-1.68 1.68h-1.09a.34.34 0 0 0-.29.22.34.34 0 0 0 0 .37l.77.77a1.67 1.67 0 0 1 0 2.37l-1.31 1.33a1.65 1.65 0 0 1-1.18.5 1.72 1.72 0 0 1-1.19-.5l-.77-.74a.34.34 0 0 0-.37 0c-.15.06-.26.16-.26.3v1.09A1.69 1.69 0 0 1 12.94 22zm-1.57-2h1.26v-.77a2.33 2.33 0 0 1 1.46-2.14 2.36 2.36 0 0 1 2.59.47l.54.54.88-.88-.54-.55a2.34 2.34 0 0 1-.48-2.56 2.33 2.33 0 0 1 2.14-1.45H20v-1.29h-.77a2.33 2.33 0 0 1-2.14-1.46 2.36 2.36 0 0 1 .47-2.59l.54-.54-.88-.88-.55.54a2.39 2.39 0 0 1-4-1.67V4h-1.3v.77a2.33 2.33 0 0 1-1.46 2.14 2.36 2.36 0 0 1-2.59-.47l-.54-.54-.88.88.54.55a2.39 2.39 0 0 1-1.67 4H4v1.26h.77a2.33 2.33 0 0 1 2.14 1.46 2.36 2.36 0 0 1-.47 2.59l-.54.54.88.88.55-.54a2.39 2.39 0 0 1 4 1.67z\" data-name=\"&lt;Group&gt;\"/><path d=\"M12 15.5a3.5 3.5 0 1 1 3.5-3.5 3.5 3.5 0 0 1-3.5 3.5zm0-5a1.5 1.5 0 1 0 1.5 1.5 1.5 1.5 0 0 0-1.5-1.5z\"/></g></g>',\"settings-outline\":'<g data-name=\"Layer 2\"><g data-name=\"settings\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M8.61 22a2.25 2.25 0 0 1-1.35-.46L5.19 20a2.37 2.37 0 0 1-.49-3.22 2.06 2.06 0 0 0 .23-1.86l-.06-.16a1.83 1.83 0 0 0-1.12-1.22h-.16a2.34 2.34 0 0 1-1.48-2.94L2.93 8a2.18 2.18 0 0 1 1.12-1.41 2.14 2.14 0 0 1 1.68-.12 1.93 1.93 0 0 0 1.78-.29l.13-.1a1.94 1.94 0 0 0 .73-1.51v-.24A2.32 2.32 0 0 1 10.66 2h2.55a2.26 2.26 0 0 1 1.6.67 2.37 2.37 0 0 1 .68 1.68v.28a1.76 1.76 0 0 0 .69 1.43l.11.08a1.74 1.74 0 0 0 1.59.26l.34-.11A2.26 2.26 0 0 1 21.1 7.8l.79 2.52a2.36 2.36 0 0 1-1.46 2.93l-.2.07A1.89 1.89 0 0 0 19 14.6a2 2 0 0 0 .25 1.65l.26.38a2.38 2.38 0 0 1-.5 3.23L17 21.41a2.24 2.24 0 0 1-3.22-.53l-.12-.17a1.75 1.75 0 0 0-1.5-.78 1.8 1.8 0 0 0-1.43.77l-.23.33A2.25 2.25 0 0 1 9 22a2 2 0 0 1-.39 0zM4.4 11.62a3.83 3.83 0 0 1 2.38 2.5v.12a4 4 0 0 1-.46 3.62.38.38 0 0 0 0 .51L8.47 20a.25.25 0 0 0 .37-.07l.23-.33a3.77 3.77 0 0 1 6.2 0l.12.18a.3.3 0 0 0 .18.12.25.25 0 0 0 .19-.05l2.06-1.56a.36.36 0 0 0 .07-.49l-.26-.38A4 4 0 0 1 17.1 14a3.92 3.92 0 0 1 2.49-2.61l.2-.07a.34.34 0 0 0 .19-.44l-.78-2.49a.35.35 0 0 0-.2-.19.21.21 0 0 0-.19 0l-.34.11a3.74 3.74 0 0 1-3.43-.57L15 7.65a3.76 3.76 0 0 1-1.49-3v-.31a.37.37 0 0 0-.1-.26.31.31 0 0 0-.21-.08h-2.54a.31.31 0 0 0-.29.33v.25a3.9 3.9 0 0 1-1.52 3.09l-.13.1a3.91 3.91 0 0 1-3.63.59.22.22 0 0 0-.14 0 .28.28 0 0 0-.12.15L4 11.12a.36.36 0 0 0 .22.45z\" data-name=\"&lt;Group&gt;\"/><path d=\"M12 15.5a3.5 3.5 0 1 1 3.5-3.5 3.5 3.5 0 0 1-3.5 3.5zm0-5a1.5 1.5 0 1 0 1.5 1.5 1.5 1.5 0 0 0-1.5-1.5z\"/></g></g>',\"shake-outline\":'<g data-name=\"Layer 2\"><g data-name=\"shake\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M5.5 18a1 1 0 0 1-.64-.24A8.81 8.81 0 0 1 1.5 11a8.81 8.81 0 0 1 3.36-6.76 1 1 0 1 1 1.28 1.52A6.9 6.9 0 0 0 3.5 11a6.9 6.9 0 0 0 2.64 5.24 1 1 0 0 1 .13 1.4 1 1 0 0 1-.77.36z\"/><path d=\"M12 7a4.09 4.09 0 0 1 1 .14V3a1 1 0 0 0-2 0v4.14A4.09 4.09 0 0 1 12 7z\"/><path d=\"M12 15a4.09 4.09 0 0 1-1-.14V20a1 1 0 0 0 2 0v-5.14a4.09 4.09 0 0 1-1 .14z\"/><path d=\"M16 16a1 1 0 0 1-.77-.36 1 1 0 0 1 .13-1.4A4.28 4.28 0 0 0 17 11a4.28 4.28 0 0 0-1.64-3.24 1 1 0 1 1 1.28-1.52A6.2 6.2 0 0 1 19 11a6.2 6.2 0 0 1-2.36 4.76A1 1 0 0 1 16 16z\"/><path d=\"M8 16a1 1 0 0 1-.64-.24A6.2 6.2 0 0 1 5 11a6.2 6.2 0 0 1 2.36-4.76 1 1 0 1 1 1.28 1.52A4.28 4.28 0 0 0 7 11a4.28 4.28 0 0 0 1.64 3.24 1 1 0 0 1 .13 1.4A1 1 0 0 1 8 16z\"/><path d=\"M18.5 18a1 1 0 0 1-.77-.36 1 1 0 0 1 .13-1.4A6.9 6.9 0 0 0 20.5 11a6.9 6.9 0 0 0-2.64-5.24 1 1 0 1 1 1.28-1.52A8.81 8.81 0 0 1 22.5 11a8.81 8.81 0 0 1-3.36 6.76 1 1 0 0 1-.64.24z\"/><path d=\"M12 12a1 1 0 1 1 1-1 1 1 0 0 1-1 1zm0-1zm0 0zm0 0zm0 0zm0 0zm0 0zm0 0z\"/></g></g>',\"share-outline\":'<g data-name=\"Layer 2\"><g data-name=\"share\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M18 15a3 3 0 0 0-2.1.86L8 12.34V12v-.33l7.9-3.53A3 3 0 1 0 15 6v.34L7.1 9.86a3 3 0 1 0 0 4.28l7.9 3.53V18a3 3 0 1 0 3-3zm0-10a1 1 0 1 1-1 1 1 1 0 0 1 1-1zM5 13a1 1 0 1 1 1-1 1 1 0 0 1-1 1zm13 6a1 1 0 1 1 1-1 1 1 0 0 1-1 1z\"/></g></g>',\"shield-off-outline\":'<g data-name=\"Layer 2\"><g data-name=\"shield-off\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M4.71 3.29a1 1 0 0 0-1.42 1.42l16 16a1 1 0 0 0 1.42 0 1 1 0 0 0 0-1.42z\"/><path d=\"M12.3 19.68l-.3.17-.3-.17A13.15 13.15 0 0 1 5 8.23v-.14L5.16 8 3.73 6.56A2 2 0 0 0 3 8.09v.14a15.17 15.17 0 0 0 7.72 13.2l.3.17a2 2 0 0 0 2 0l.3-.17a15.22 15.22 0 0 0 3-2.27l-1.42-1.42a12.56 12.56 0 0 1-2.6 1.94z\"/><path d=\"M20 6.34L13 2.4a2 2 0 0 0-2 0L7.32 4.49 8.78 6 12 4.15l7 3.94v.14a13 13 0 0 1-1.63 6.31L18.84 16A15.08 15.08 0 0 0 21 8.23v-.14a2 2 0 0 0-1-1.75z\"/></g></g>',\"shield-outline\":'<g data-name=\"Layer 2\"><g data-name=\"shield\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M12 21.85a2 2 0 0 1-1-.25l-.3-.17A15.17 15.17 0 0 1 3 8.23v-.14a2 2 0 0 1 1-1.75l7-3.94a2 2 0 0 1 2 0l7 3.94a2 2 0 0 1 1 1.75v.14a15.17 15.17 0 0 1-7.72 13.2l-.3.17a2 2 0 0 1-.98.25zm0-17.7L5 8.09v.14a13.15 13.15 0 0 0 6.7 11.45l.3.17.3-.17A13.15 13.15 0 0 0 19 8.23v-.14z\"/></g></g>',\"shopping-bag-outline\":'<g data-name=\"Layer 2\"><g data-name=\"shopping-bag\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M20.12 6.71l-2.83-2.83A3 3 0 0 0 15.17 3H8.83a3 3 0 0 0-2.12.88L3.88 6.71A3 3 0 0 0 3 8.83V18a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V8.83a3 3 0 0 0-.88-2.12zm-12-1.42A1.05 1.05 0 0 1 8.83 5h6.34a1.05 1.05 0 0 1 .71.29L17.59 7H6.41zM18 19H6a1 1 0 0 1-1-1V9h14v9a1 1 0 0 1-1 1z\"/><path d=\"M15 11a1 1 0 0 0-1 1 2 2 0 0 1-4 0 1 1 0 0 0-2 0 4 4 0 0 0 8 0 1 1 0 0 0-1-1z\"/></g></g>',\"shopping-cart-outline\":'<g data-name=\"Layer 2\"><g data-name=\"shopping-cart\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M21.08 7a2 2 0 0 0-1.7-1H6.58L6 3.74A1 1 0 0 0 5 3H3a1 1 0 0 0 0 2h1.24L7 15.26A1 1 0 0 0 8 16h9a1 1 0 0 0 .89-.55l3.28-6.56A2 2 0 0 0 21.08 7zm-4.7 7H8.76L7.13 8h12.25z\"/><circle cx=\"7.5\" cy=\"19.5\" r=\"1.5\"/><circle cx=\"17.5\" cy=\"19.5\" r=\"1.5\"/></g></g>',\"shuffle-2-outline\":'<g data-name=\"Layer 2\"><g data-name=\"shuffle-2\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M18.71 14.29a1 1 0 0 0-1.42 1.42l.29.29H16a4 4 0 0 1 0-8h1.59l-.3.29a1 1 0 0 0 0 1.42A1 1 0 0 0 18 10a1 1 0 0 0 .71-.29l2-2A1 1 0 0 0 21 7a1 1 0 0 0-.29-.71l-2-2a1 1 0 0 0-1.42 1.42l.29.29H16a6 6 0 0 0-5 2.69A6 6 0 0 0 6 6H4a1 1 0 0 0 0 2h2a4 4 0 0 1 0 8H4a1 1 0 0 0 0 2h2a6 6 0 0 0 5-2.69A6 6 0 0 0 16 18h1.59l-.3.29a1 1 0 0 0 0 1.42A1 1 0 0 0 18 20a1 1 0 0 0 .71-.29l2-2A1 1 0 0 0 21 17a1 1 0 0 0-.29-.71z\"/></g></g>',\"shuffle-outline\":'<g data-name=\"Layer 2\"><g data-name=\"shuffle\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M18 9.31a1 1 0 0 0 1 1 1 1 0 0 0 1-1V5a1 1 0 0 0-1-1h-4.3a1 1 0 0 0-1 1 1 1 0 0 0 1 1h1.89L12 10.59 6.16 4.76a1 1 0 0 0-1.41 1.41L10.58 12l-6.29 6.29a1 1 0 0 0 0 1.42 1 1 0 0 0 1.42 0L18 7.42z\"/><path d=\"M19 13.68a1 1 0 0 0-1 1v1.91l-2.78-2.79a1 1 0 0 0-1.42 1.42L16.57 18h-1.88a1 1 0 0 0 0 2H19a1 1 0 0 0 1-1.11v-4.21a1 1 0 0 0-1-1z\"/></g></g>',\"skip-back-outline\":'<g data-name=\"Layer 2\"><g data-name=\"skip-back\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M16.45 6.2a2.1 2.1 0 0 0-2.21.26l-5.1 4.21-.14.15V7a1 1 0 0 0-2 0v10a1 1 0 0 0 2 0v-3.82l.14.15 5.1 4.21a2.06 2.06 0 0 0 1.3.46 2.23 2.23 0 0 0 .91-.2 1.76 1.76 0 0 0 1.05-1.59V7.79a1.76 1.76 0 0 0-1.05-1.59zM15.5 16l-4.82-4 4.82-3.91z\"/></g></g>',\"skip-forward-outline\":'<g data-name=\"Layer 2\"><g data-name=\"skip-forward\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M16 6a1 1 0 0 0-1 1v3.82l-.14-.15-5.1-4.21a2.1 2.1 0 0 0-2.21-.26 1.76 1.76 0 0 0-1 1.59v8.42a1.76 1.76 0 0 0 1 1.59 2.23 2.23 0 0 0 .91.2 2.06 2.06 0 0 0 1.3-.46l5.1-4.21.14-.15V17a1 1 0 0 0 2 0V7a1 1 0 0 0-1-1zm-7.5 9.91V8l4.82 4z\"/></g></g>',\"slash-outline\":'<g data-name=\"Layer 2\"><g data-name=\"slash\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm8 10a7.92 7.92 0 0 1-1.69 4.9L7.1 5.69A7.92 7.92 0 0 1 12 4a8 8 0 0 1 8 8zM4 12a7.92 7.92 0 0 1 1.69-4.9L16.9 18.31A7.92 7.92 0 0 1 12 20a8 8 0 0 1-8-8z\"/></g></g>',\"smartphone-outline\":'<g data-name=\"Layer 2\"><g data-name=\"smartphone\"><rect width=\"24\" height=\"24\" transform=\"rotate(90 12 12)\" opacity=\"0\"/><path d=\"M17 2H7a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3zm1 17a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1z\"/><circle cx=\"12\" cy=\"16.5\" r=\"1.5\"/><path d=\"M14.5 6h-5a1 1 0 0 0 0 2h5a1 1 0 0 0 0-2z\"/></g></g>',\"speaker-outline\":'<g data-name=\"Layer 2\"><g data-name=\"speaker\"><rect width=\"24\" height=\"24\" transform=\"rotate(90 12 12)\" opacity=\"0\"/><path d=\"M12 11a3 3 0 1 0-3-3 3 3 0 0 0 3 3zm0-4a1 1 0 1 1-1 1 1 1 0 0 1 1-1z\"/><path d=\"M12 12a3.5 3.5 0 1 0 3.5 3.5A3.5 3.5 0 0 0 12 12zm0 5a1.5 1.5 0 1 1 1.5-1.5A1.5 1.5 0 0 1 12 17z\"/><path d=\"M17 2H7a3 3 0 0 0-3 3v14a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V5a3 3 0 0 0-3-3zm1 17a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1z\"/></g></g>',\"square-outline\":'<g data-name=\"Layer 2\"><g data-name=\"square\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M18 21H6a3 3 0 0 1-3-3V6a3 3 0 0 1 3-3h12a3 3 0 0 1 3 3v12a3 3 0 0 1-3 3zM6 5a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1z\"/></g></g>',\"star-outline\":'<g data-name=\"Layer 2\"><g data-name=\"star\"><rect width=\"24\" height=\"24\" transform=\"rotate(90 12 12)\" opacity=\"0\"/><path d=\"M17.56 21a1 1 0 0 1-.46-.11L12 18.22l-5.1 2.67a1 1 0 0 1-1.45-1.06l1-5.63-4.12-4a1 1 0 0 1-.25-1 1 1 0 0 1 .81-.68l5.7-.83 2.51-5.13a1 1 0 0 1 1.8 0l2.54 5.12 5.7.83a1 1 0 0 1 .81.68 1 1 0 0 1-.25 1l-4.12 4 1 5.63a1 1 0 0 1-.4 1 1 1 0 0 1-.62.18zM12 16.1a.92.92 0 0 1 .46.11l3.77 2-.72-4.21a1 1 0 0 1 .29-.89l3-2.93-4.2-.62a1 1 0 0 1-.71-.56L12 5.25 10.11 9a1 1 0 0 1-.75.54l-4.2.62 3 2.93a1 1 0 0 1 .29.89l-.72 4.16 3.77-2a.92.92 0 0 1 .5-.04z\"/></g></g>',\"stop-circle-outline\":'<g data-name=\"Layer 2\"><g data-name=\"stop-circle\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2zm0 18a8 8 0 1 1 8-8 8 8 0 0 1-8 8z\"/><path d=\"M14.75 8h-5.5A1.25 1.25 0 0 0 8 9.25v5.5A1.25 1.25 0 0 0 9.25 16h5.5A1.25 1.25 0 0 0 16 14.75v-5.5A1.25 1.25 0 0 0 14.75 8zM14 14h-4v-4h4z\"/></g></g>',\"sun-outline\":'<g data-name=\"Layer 2\"><g data-name=\"sun\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M12 6a1 1 0 0 0 1-1V3a1 1 0 0 0-2 0v2a1 1 0 0 0 1 1z\"/><path d=\"M21 11h-2a1 1 0 0 0 0 2h2a1 1 0 0 0 0-2z\"/><path d=\"M6 12a1 1 0 0 0-1-1H3a1 1 0 0 0 0 2h2a1 1 0 0 0 1-1z\"/><path d=\"M6.22 5a1 1 0 0 0-1.39 1.47l1.44 1.39a1 1 0 0 0 .73.28 1 1 0 0 0 .72-.31 1 1 0 0 0 0-1.41z\"/><path d=\"M17 8.14a1 1 0 0 0 .69-.28l1.44-1.39A1 1 0 0 0 17.78 5l-1.44 1.42a1 1 0 0 0 0 1.41 1 1 0 0 0 .66.31z\"/><path d=\"M12 18a1 1 0 0 0-1 1v2a1 1 0 0 0 2 0v-2a1 1 0 0 0-1-1z\"/><path d=\"M17.73 16.14a1 1 0 0 0-1.39 1.44L17.78 19a1 1 0 0 0 .69.28 1 1 0 0 0 .72-.3 1 1 0 0 0 0-1.42z\"/><path d=\"M6.27 16.14l-1.44 1.39a1 1 0 0 0 0 1.42 1 1 0 0 0 .72.3 1 1 0 0 0 .67-.25l1.44-1.39a1 1 0 0 0-1.39-1.44z\"/><path d=\"M12 8a4 4 0 1 0 4 4 4 4 0 0 0-4-4zm0 6a2 2 0 1 1 2-2 2 2 0 0 1-2 2z\"/></g></g>',\"swap-outline\":'<g data-name=\"Layer 2\"><g data-name=\"swap\"><rect width=\"24\" height=\"24\" transform=\"rotate(-90 12 12)\" opacity=\"0\"/><path d=\"M4 9h13l-1.6 1.2a1 1 0 0 0-.2 1.4 1 1 0 0 0 .8.4 1 1 0 0 0 .6-.2l4-3a1 1 0 0 0 0-1.59l-3.86-3a1 1 0 0 0-1.23 1.58L17.08 7H4a1 1 0 0 0 0 2z\"/><path d=\"M20 16H7l1.6-1.2a1 1 0 0 0-1.2-1.6l-4 3a1 1 0 0 0 0 1.59l3.86 3a1 1 0 0 0 .61.21 1 1 0 0 0 .79-.39 1 1 0 0 0-.17-1.4L6.92 18H20a1 1 0 0 0 0-2z\"/></g></g>',\"sync-outline\":'<g data-name=\"Layer 2\"><g data-name=\"sync\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M21.66 10.37a.62.62 0 0 0 .07-.19l.75-4a1 1 0 0 0-2-.36l-.37 2a9.22 9.22 0 0 0-16.58.84 1 1 0 0 0 .55 1.3 1 1 0 0 0 1.31-.55A7.08 7.08 0 0 1 12.07 5a7.17 7.17 0 0 1 6.24 3.58l-1.65-.27a1 1 0 1 0-.32 2l4.25.71h.16a.93.93 0 0 0 .34-.06.33.33 0 0 0 .1-.06.78.78 0 0 0 .2-.11l.08-.1a1.07 1.07 0 0 0 .14-.16.58.58 0 0 0 .05-.16z\"/><path d=\"M19.88 14.07a1 1 0 0 0-1.31.56A7.08 7.08 0 0 1 11.93 19a7.17 7.17 0 0 1-6.24-3.58l1.65.27h.16a1 1 0 0 0 .16-2L3.41 13a.91.91 0 0 0-.33 0H3a1.15 1.15 0 0 0-.32.14 1 1 0 0 0-.18.18l-.09.1a.84.84 0 0 0-.07.19.44.44 0 0 0-.07.17l-.75 4a1 1 0 0 0 .8 1.22h.18a1 1 0 0 0 1-.82l.37-2a9.22 9.22 0 0 0 16.58-.83 1 1 0 0 0-.57-1.28z\"/></g></g>',\"text-outline\":'<g data-name=\"Layer 2\"><g data-name=\"text\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M20 4H4a1 1 0 0 0-1 1v3a1 1 0 0 0 2 0V6h6v13H9a1 1 0 0 0 0 2h6a1 1 0 0 0 0-2h-2V6h6v2a1 1 0 0 0 2 0V5a1 1 0 0 0-1-1z\"/></g></g>',\"thermometer-minus-outline\":'<g data-name=\"Layer 2\"><g data-name=\"thermometer-minus\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><rect x=\"2\" y=\"5\" width=\"6\" height=\"2\" rx=\"1\" ry=\"1\"/><path d=\"M14 22a5 5 0 0 1-3-9V5a3 3 0 0 1 3-3 3 3 0 0 1 3 3v8a5 5 0 0 1-3 9zm0-18a1 1 0 0 0-1 1v8.54a1 1 0 0 1-.5.87A3 3 0 0 0 11 17a3 3 0 0 0 6 0 3 3 0 0 0-1.5-2.59 1 1 0 0 1-.5-.87V5a.93.93 0 0 0-.29-.69A1 1 0 0 0 14 4z\"/></g></g>',\"thermometer-outline\":'<g data-name=\"Layer 2\"><g data-name=\"thermometer\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M12 22a5 5 0 0 1-3-9V5a3 3 0 0 1 3-3 3 3 0 0 1 3 3v8a5 5 0 0 1-3 9zm0-18a1 1 0 0 0-1 1v8.54a1 1 0 0 1-.5.87A3 3 0 0 0 9 17a3 3 0 0 0 6 0 3 3 0 0 0-1.5-2.59 1 1 0 0 1-.5-.87V5a.93.93 0 0 0-.29-.69A1 1 0 0 0 12 4z\"/></g></g>',\"thermometer-plus-outline\":'<g data-name=\"Layer 2\"><g data-name=\"thermometer-plus\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><rect x=\"2\" y=\"5\" width=\"6\" height=\"2\" rx=\"1\" ry=\"1\"/><rect x=\"2\" y=\"5\" width=\"6\" height=\"2\" rx=\"1\" ry=\"1\" transform=\"rotate(-90 5 6)\"/><path d=\"M14 22a5 5 0 0 1-3-9V5a3 3 0 0 1 3-3 3 3 0 0 1 3 3v8a5 5 0 0 1-3 9zm0-18a1 1 0 0 0-1 1v8.54a1 1 0 0 1-.5.87A3 3 0 0 0 11 17a3 3 0 0 0 6 0 3 3 0 0 0-1.5-2.59 1 1 0 0 1-.5-.87V5a.93.93 0 0 0-.29-.69A1 1 0 0 0 14 4z\"/></g></g>',\"toggle-left-outline\":'<g data-name=\"Layer 2\"><g data-name=\"toggle-left\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><path d=\"M15 5H9a7 7 0 0 0 0 14h6a7 7 0 0 0 0-14zm0 12H9A5 5 0 0 1 9 7h6a5 5 0 0 1 0 10z\"/><path d=\"M9 9a3 3 0 1 0 3 3 3 3 0 0 0-3-3zm0 4a1 1 0 1 1 1-1 1 1 0 0 1-1 1z\"/></g></g>',\"toggle-right-outline\":'<g data-name=\"Layer 2\"><g data-name=\"toggle-right\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M15 5H9a7 7 0 0 0 0 14h6a7 7 0 0 0 0-14zm0 12H9A5 5 0 0 1 9 7h6a5 5 0 0 1 0 10z\"/><path d=\"M15 9a3 3 0 1 0 3 3 3 3 0 0 0-3-3zm0 4a1 1 0 1 1 1-1 1 1 0 0 1-1 1z\"/></g></g>',\"trash-2-outline\":'<g data-name=\"Layer 2\"><g data-name=\"trash-2\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M21 6h-5V4.33A2.42 2.42 0 0 0 13.5 2h-3A2.42 2.42 0 0 0 8 4.33V6H3a1 1 0 0 0 0 2h1v11a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V8h1a1 1 0 0 0 0-2zM10 4.33c0-.16.21-.33.5-.33h3c.29 0 .5.17.5.33V6h-4zM18 19a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V8h12z\"/><path d=\"M9 17a1 1 0 0 0 1-1v-4a1 1 0 0 0-2 0v4a1 1 0 0 0 1 1z\"/><path d=\"M15 17a1 1 0 0 0 1-1v-4a1 1 0 0 0-2 0v4a1 1 0 0 0 1 1z\"/></g></g>',\"trash-outline\":'<g data-name=\"Layer 2\"><g data-name=\"trash\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M21 6h-5V4.33A2.42 2.42 0 0 0 13.5 2h-3A2.42 2.42 0 0 0 8 4.33V6H3a1 1 0 0 0 0 2h1v11a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V8h1a1 1 0 0 0 0-2zM10 4.33c0-.16.21-.33.5-.33h3c.29 0 .5.17.5.33V6h-4zM18 19a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V8h12z\"/></g></g>',\"trending-down-outline\":'<g data-name=\"Layer 2\"><g data-name=\"trending-down\"><rect width=\"24\" height=\"24\" transform=\"rotate(-90 12 12)\" opacity=\"0\"/><path d=\"M21 12a1 1 0 0 0-2 0v2.3l-4.24-5a1 1 0 0 0-1.27-.21L9.22 11.7 4.77 6.36a1 1 0 1 0-1.54 1.28l5 6a1 1 0 0 0 1.28.22l4.28-2.57 4 4.71H15a1 1 0 0 0 0 2h5a1.1 1.1 0 0 0 .36-.07l.14-.08a1.19 1.19 0 0 0 .15-.09.75.75 0 0 0 .14-.17 1.1 1.1 0 0 0 .09-.14.64.64 0 0 0 .05-.17A.78.78 0 0 0 21 17z\"/></g></g>',\"trending-up-outline\":'<g data-name=\"Layer 2\"><g data-name=\"trending-up\"><rect width=\"24\" height=\"24\" transform=\"rotate(-90 12 12)\" opacity=\"0\"/><path d=\"M21 7a.78.78 0 0 0 0-.21.64.64 0 0 0-.05-.17 1.1 1.1 0 0 0-.09-.14.75.75 0 0 0-.14-.17l-.12-.07a.69.69 0 0 0-.19-.1h-.2A.7.7 0 0 0 20 6h-5a1 1 0 0 0 0 2h2.83l-4 4.71-4.32-2.57a1 1 0 0 0-1.28.22l-5 6a1 1 0 0 0 .13 1.41A1 1 0 0 0 4 18a1 1 0 0 0 .77-.36l4.45-5.34 4.27 2.56a1 1 0 0 0 1.27-.21L19 9.7V12a1 1 0 0 0 2 0V7z\"/></g></g>',\"tv-outline\":'<g data-name=\"Layer 2\"><g data-name=\"tv\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M18 6h-3.59l2.3-2.29a1 1 0 1 0-1.42-1.42L12 5.59l-3.29-3.3a1 1 0 1 0-1.42 1.42L9.59 6H6a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h12a3 3 0 0 0 3-3V9a3 3 0 0 0-3-3zm1 13a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1V9a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1z\"/></g></g>',\"twitter-outline\":'<g data-name=\"Layer 2\"><g data-name=\"twitter\"><polyline points=\"0 0 24 0 24 24 0 24\" opacity=\"0\"/><path d=\"M8.51 20h-.08a10.87 10.87 0 0 1-4.65-1.09A1.38 1.38 0 0 1 3 17.47a1.41 1.41 0 0 1 1.16-1.18 6.63 6.63 0 0 0 2.54-.89 9.49 9.49 0 0 1-3.51-9.07 1.41 1.41 0 0 1 1-1.15 1.35 1.35 0 0 1 1.43.41 7.09 7.09 0 0 0 4.88 2.75 4.5 4.5 0 0 1 1.41-3.1 4.47 4.47 0 0 1 6.37.19.7.7 0 0 0 .78.1A1.39 1.39 0 0 1 21 7.13a6.66 6.66 0 0 1-1.28 2.6A10.79 10.79 0 0 1 8.51 20zm0-2h.08a8.79 8.79 0 0 0 9.09-8.59 1.32 1.32 0 0 1 .37-.85 5.19 5.19 0 0 0 .62-1 2.56 2.56 0 0 1-1.91-.85A2.45 2.45 0 0 0 15 6a2.5 2.5 0 0 0-1.79.69 2.53 2.53 0 0 0-.72 2.42l.26 1.14-1.17.08a8.3 8.3 0 0 1-6.54-2.4 7.12 7.12 0 0 0 3.73 6.46l.95.54-.63.9a5.62 5.62 0 0 1-2.68 1.92A8.34 8.34 0 0 0 8.5 18zM19 6.65z\"/></g></g>',\"umbrella-outline\":'<g data-name=\"Layer 2\"><g data-name=\"umbrella\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M12 2A10 10 0 0 0 2 12a1 1 0 0 0 1 1h8v6a3 3 0 0 0 6 0 1 1 0 0 0-2 0 1 1 0 0 1-2 0v-6h8a1 1 0 0 0 1-1A10 10 0 0 0 12 2zm-7.94 9a8 8 0 0 1 15.88 0z\"/></g></g>',\"undo-outline\":'<g data-name=\"Layer 2\"><g data-name=\"undo\"><rect width=\"24\" height=\"24\" transform=\"rotate(-90 12 12)\" opacity=\"0\"/><path d=\"M20.22 21a1 1 0 0 1-1-.76 8.91 8.91 0 0 0-7.8-6.69v1.12a1.78 1.78 0 0 1-1.09 1.64A2 2 0 0 1 8.18 16l-5.06-4.41a1.76 1.76 0 0 1 0-2.68l5.06-4.42a2 2 0 0 1 2.18-.3 1.78 1.78 0 0 1 1.09 1.64V7A10.89 10.89 0 0 1 21.5 17.75a10.29 10.29 0 0 1-.31 2.49 1 1 0 0 1-1 .76zm-9.77-9.5a11.07 11.07 0 0 1 8.81 4.26A9 9 0 0 0 10.45 9a1 1 0 0 1-1-1V6.08l-4.82 4.17 4.82 4.21v-2a1 1 0 0 1 1-.96z\"/></g></g>',\"unlock-outline\":'<g data-name=\"Layer 2\"><g data-name=\"unlock\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M17 8h-7V6a2 2 0 0 1 4 0 1 1 0 0 0 2 0 4 4 0 0 0-8 0v2H7a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3v-8a3 3 0 0 0-3-3zm1 11a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1v-8a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1z\"/><path d=\"M12 12a3 3 0 1 0 3 3 3 3 0 0 0-3-3zm0 4a1 1 0 1 1 1-1 1 1 0 0 1-1 1z\"/></g></g>',\"upload-outline\":'<g data-name=\"Layer 2\"><g data-name=\"upload\"><rect width=\"24\" height=\"24\" transform=\"rotate(180 12 12)\" opacity=\"0\"/><rect x=\"4\" y=\"4\" width=\"16\" height=\"2\" rx=\"1\" ry=\"1\" transform=\"rotate(180 12 5)\"/><rect x=\"17\" y=\"5\" width=\"4\" height=\"2\" rx=\"1\" ry=\"1\" transform=\"rotate(90 19 6)\"/><rect x=\"3\" y=\"5\" width=\"4\" height=\"2\" rx=\"1\" ry=\"1\" transform=\"rotate(90 5 6)\"/><path d=\"M8 14a1 1 0 0 1-.8-.4 1 1 0 0 1 .2-1.4l4-3a1 1 0 0 1 1.18 0l4 2.82a1 1 0 0 1 .24 1.39 1 1 0 0 1-1.4.24L12 11.24 8.6 13.8a1 1 0 0 1-.6.2z\"/><path d=\"M12 21a1 1 0 0 1-1-1v-8a1 1 0 0 1 2 0v8a1 1 0 0 1-1 1z\"/></g></g>',\"video-off-outline\":'<g data-name=\"Layer 2\"><g data-name=\"video-off\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M17 15.59l-2-2L8.41 7l-2-2-1.7-1.71a1 1 0 0 0-1.42 1.42l.54.53L5.59 7l9.34 9.34 1.46 1.46 2.9 2.91a1 1 0 0 0 1.42 0 1 1 0 0 0 0-1.42z\"/><path d=\"M14 17H5a1 1 0 0 1-1-1V8a1 1 0 0 1 .4-.78L3 5.8A3 3 0 0 0 2 8v8a3 3 0 0 0 3 3h9a2.94 2.94 0 0 0 1.66-.51L14.14 17a.7.7 0 0 1-.14 0z\"/><path d=\"M21 7.15a1.7 1.7 0 0 0-1.85.3l-2.15 2V8a3 3 0 0 0-3-3H7.83l2 2H14a1 1 0 0 1 1 1v4.17l4.72 4.72a1.73 1.73 0 0 0 .6.11 1.68 1.68 0 0 0 .69-.15 1.6 1.6 0 0 0 1-1.48V8.63A1.6 1.6 0 0 0 21 7.15zm-1 7.45L17.19 12 20 9.4z\"/></g></g>',\"video-outline\":'<g data-name=\"Layer 2\"><g data-name=\"video\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M21 7.15a1.7 1.7 0 0 0-1.85.3l-2.15 2V8a3 3 0 0 0-3-3H5a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h9a3 3 0 0 0 3-3v-1.45l2.16 2a1.74 1.74 0 0 0 1.16.45 1.68 1.68 0 0 0 .69-.15 1.6 1.6 0 0 0 1-1.48V8.63A1.6 1.6 0 0 0 21 7.15zM15 16a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V8a1 1 0 0 1 1-1h9a1 1 0 0 1 1 1zm5-1.4L17.19 12 20 9.4z\"/></g></g>',\"volume-down-outline\":'<g data-name=\"Layer 2\"><g data-name=\"volume-down\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M20.78 8.37a1 1 0 1 0-1.56 1.26 4 4 0 0 1 0 4.74A1 1 0 0 0 20 16a1 1 0 0 0 .78-.37 6 6 0 0 0 0-7.26z\"/><path d=\"M16.47 3.12a1 1 0 0 0-1 0L9 7.57H4a1 1 0 0 0-1 1v6.86a1 1 0 0 0 1 1h5l6.41 4.4A1.06 1.06 0 0 0 16 21a1 1 0 0 0 1-1V4a1 1 0 0 0-.53-.88zM15 18.1l-5.1-3.5a1 1 0 0 0-.57-.17H5V9.57h4.33a1 1 0 0 0 .57-.17L15 5.9z\"/></g></g>',\"volume-mute-outline\":'<g data-name=\"Layer 2\"><g data-name=\"volume-mute\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M17 21a1.06 1.06 0 0 1-.57-.17L10 16.43H5a1 1 0 0 1-1-1V8.57a1 1 0 0 1 1-1h5l6.41-4.4A1 1 0 0 1 18 4v16a1 1 0 0 1-1 1zM6 14.43h4.33a1 1 0 0 1 .57.17l5.1 3.5V5.9l-5.1 3.5a1 1 0 0 1-.57.17H6z\"/></g></g>',\"volume-off-outline\":'<g data-name=\"Layer 2\"><g data-name=\"volume-off\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M4.71 3.29a1 1 0 0 0-1.42 1.42l16 16a1 1 0 0 0 1.42 0 1 1 0 0 0 0-1.42z\"/><path d=\"M16.91 14.08l1.44 1.44a6 6 0 0 0-.07-7.15 1 1 0 1 0-1.56 1.26 4 4 0 0 1 .19 4.45z\"/><path d=\"M21 12a6.51 6.51 0 0 1-1.78 4.39l1.42 1.42A8.53 8.53 0 0 0 23 12a8.75 8.75 0 0 0-3.36-6.77 1 1 0 1 0-1.28 1.54A6.8 6.8 0 0 1 21 12z\"/><path d=\"M13.5 18.1l-5.1-3.5a1 1 0 0 0-.57-.17H3.5V9.57h3.24l-2-2H2.5a1 1 0 0 0-1 1v6.86a1 1 0 0 0 1 1h5l6.41 4.4a1.06 1.06 0 0 0 .57.17 1 1 0 0 0 1-1v-1.67l-2-2z\"/><path d=\"M13.5 5.9v4.77l2 2V4a1 1 0 0 0-1.57-.83L9.23 6.4l1.44 1.44z\"/></g></g>',\"volume-up-outline\":'<g data-name=\"Layer 2\"><g data-name=\"volume-up\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><path d=\"M18.28 8.37a1 1 0 1 0-1.56 1.26 4 4 0 0 1 0 4.74A1 1 0 0 0 17.5 16a1 1 0 0 0 .78-.37 6 6 0 0 0 0-7.26z\"/><path d=\"M19.64 5.23a1 1 0 1 0-1.28 1.54A6.8 6.8 0 0 1 21 12a6.8 6.8 0 0 1-2.64 5.23 1 1 0 0 0-.13 1.41A1 1 0 0 0 19 19a1 1 0 0 0 .64-.23A8.75 8.75 0 0 0 23 12a8.75 8.75 0 0 0-3.36-6.77z\"/><path d=\"M15 3.12a1 1 0 0 0-1 0L7.52 7.57h-5a1 1 0 0 0-1 1v6.86a1 1 0 0 0 1 1h5l6.41 4.4a1.06 1.06 0 0 0 .57.17 1 1 0 0 0 1-1V4a1 1 0 0 0-.5-.88zm-1.47 15L8.4 14.6a1 1 0 0 0-.57-.17H3.5V9.57h4.33a1 1 0 0 0 .57-.17l5.1-3.5z\"/></g></g>',\"wifi-off-outline\":'<g data-name=\"Layer 2\"><g data-name=\"wifi-off\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><circle cx=\"12\" cy=\"19\" r=\"1\"/><path d=\"M12.44 11l-1.9-1.89-2.46-2.44-1.55-1.55-1.82-1.83a1 1 0 0 0-1.42 1.42l1.38 1.37 1.46 1.46 2.23 2.24 1.55 1.54 2.74 2.74 2.79 2.8 3.85 3.85a1 1 0 0 0 1.42 0 1 1 0 0 0 0-1.42z\"/><path d=\"M21.72 7.93A13.93 13.93 0 0 0 12 4a14.1 14.1 0 0 0-4.44.73l1.62 1.62a11.89 11.89 0 0 1 11.16 3 1 1 0 0 0 .69.28 1 1 0 0 0 .72-.31 1 1 0 0 0-.03-1.39z\"/><path d=\"M3.82 6.65a14.32 14.32 0 0 0-1.54 1.28 1 1 0 0 0 1.38 1.44 13.09 13.09 0 0 1 1.6-1.29z\"/><path d=\"M17 13.14a1 1 0 0 0 .71.3 1 1 0 0 0 .72-1.69A9 9 0 0 0 12 9h-.16l2.35 2.35A7 7 0 0 1 17 13.14z\"/><path d=\"M7.43 10.26a8.8 8.8 0 0 0-1.9 1.49A1 1 0 0 0 7 13.14a7.3 7.3 0 0 1 2-1.41z\"/><path d=\"M8.53 15.4a1 1 0 1 0 1.39 1.44 3.06 3.06 0 0 1 3.84-.25l-2.52-2.52a5 5 0 0 0-2.71 1.33z\"/></g></g>',\"wifi-outline\":'<g data-name=\"Layer 2\"><g data-name=\"wifi\"><rect width=\"24\" height=\"24\" opacity=\"0\"/><circle cx=\"12\" cy=\"19\" r=\"1\"/><path d=\"M12 14a5 5 0 0 0-3.47 1.4 1 1 0 1 0 1.39 1.44 3.08 3.08 0 0 1 4.16 0 1 1 0 1 0 1.39-1.44A5 5 0 0 0 12 14z\"/><path d=\"M12 9a9 9 0 0 0-6.47 2.75A1 1 0 0 0 7 13.14a7 7 0 0 1 10.08 0 1 1 0 0 0 .71.3 1 1 0 0 0 .72-1.69A9 9 0 0 0 12 9z\"/><path d=\"M21.72 7.93a14 14 0 0 0-19.44 0 1 1 0 0 0 1.38 1.44 12 12 0 0 1 16.68 0 1 1 0 0 0 .69.28 1 1 0 0 0 .72-.31 1 1 0 0 0-.03-1.41z\"/></g></g>'}},\"./package/src/animation.scss\":\r\n/*!************************************!*\\\r\n  !*** ./package/src/animation.scss ***!\r\n  \\************************************/\r\n/*! no static exports found */function(a,t,e){var h=e(/*! !../../node_modules/css-loader!../../node_modules/sass-loader/lib/loader.js!./animation.scss */\"./node_modules/css-loader/index.js!./node_modules/sass-loader/lib/loader.js!./package/src/animation.scss\"),r=e(/*! ../../node_modules/isomorphic-style-loader/insertCss.js */\"./node_modules/isomorphic-style-loader/insertCss.js\"),d=\"string\"==typeof h?[[a.i,h,\"\"]]:h;(t=a.exports=h.locals||{})._getContent=function(){return d},t._getCss=function(){return\"\"+h},t._insertCss=function(a){return r(d,a)}},\"./package/src/default-attrs.json\":\r\n/*!****************************************!*\\\r\n  !*** ./package/src/default-attrs.json ***!\r\n  \\****************************************/\r\n/*! exports provided: xmlns, width, height, viewBox, default */function(a){a.exports={xmlns:\"http://www.w3.org/2000/svg\",width:24,height:24,viewBox:\"0 0 24 24\"}},\"./package/src/icon.js\":\r\n/*!*****************************!*\\\r\n  !*** ./package/src/icon.js ***!\r\n  \\*****************************/\r\n/*! exports provided: default */function(a,t,e){\"use strict\";e.r(t);var h=e(/*! classnames/dedupe */\"./node_modules/classnames/dedupe.js\"),n=e.n(h),r=e(/*! ./default-attrs.json */\"./package/src/default-attrs.json\");function o(a,t){if(null==a)return{};var e,h,r=function(a,t){if(null==a)return{};var e,h,r={},d=Object.keys(a);for(h=0;h<d.length;h++)e=d[h],0<=t.indexOf(e)||(r[e]=a[e]);return r}(a,t);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);for(h=0;h<d.length;h++)e=d[h],0<=t.indexOf(e)||Object.prototype.propertyIsEnumerable.call(a,e)&&(r[e]=a[e])}return r}function l(t){for(var a=1;a<arguments.length;a++){var e=null!=arguments[a]?arguments[a]:{},h=Object.keys(e);\"function\"==typeof Object.getOwnPropertySymbols&&(h=h.concat(Object.getOwnPropertySymbols(e).filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),h.forEach(function(a){d(t,a,e[a])})}return t}function d(a,t,e){return t in a?Object.defineProperty(a,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):a[t]=e,a}function g(a,t){for(var e=0;e<t.length;e++){var h=t[e];h.enumerable=h.enumerable||!1,h.configurable=!0,\"value\"in h&&(h.writable=!0),Object.defineProperty(a,h.key,h)}}\r\n/**\r\n * @license\r\n * Copyright Akveo. All Rights Reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n */\r\nvar c={hover:!0},p=function(a){return\"string\"==typeof a||a instanceof String},i=function(){function e(a,t){!function(a,t){if(!(a instanceof t))throw new TypeError(\"Cannot call a class as a function\")}(this,e),this.name=a,this.contents=t,this.attrs=l({},r,{class:\"eva eva-\".concat(a)})}var a,t,h;return a=e,(t=[{key:\"toSvg\",value:function(){var t,a=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},e=a.animation,h=o(a,[\"animation\"]),r=function(a){if(!a)return null;a.hover&&(a.hover=p(a.hover)?JSON.parse(a.hover):a.hover);var t=l({},c,a),e=t.hover?\"eva-icon-hover-\".concat(t.type):\"eva-icon-\".concat(t.type);return t.class=n()({\"eva-animation\":!0,\"eva-infinite\":p(a.infinite)?JSON.parse(a.infinite):a.infinite},e),t}(e),d=r?r.class:\"\",g=l({},this.attrs,h,{class:n()(this.attrs.class,a.class,d)}),i=\"<svg \".concat((t=g,Object.keys(t).map(function(a){return\"\".concat(a,'=\"').concat(t[a],'\"')}).join(\" \")),\">\").concat(this.contents,\"</svg>\");return r&&r.hover?'<i class=\"eva-hover\">'.concat(i,\"</i>\"):i}},{key:\"toString\",value:function(){return this.contents}}])&&g(a.prototype,t),h&&g(a,h),e}();t.default=i},\"./package/src/icons.js\":\r\n/*!******************************!*\\\r\n  !*** ./package/src/icons.js ***!\r\n  \\******************************/\r\n/*! exports provided: default */function(a,t,e){\"use strict\";e.r(t);var h=e(/*! ./icon */\"./package/src/icon.js\"),r=e(/*! ../../package-build/eva-icons.json */\"./package-build/eva-icons.json\");\r\n/**\r\n * @license\r\n * Copyright Akveo. All Rights Reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n */t.default=Object.keys(r).map(function(a){return new h.default(a,r[a])}).reduce(function(a,t){return a[t.name]=t,a},{})},\"./package/src/index.js\":\r\n/*!******************************!*\\\r\n  !*** ./package/src/index.js ***!\r\n  \\******************************/\r\n/*! exports provided: icons, replace */function(a,t,e){\"use strict\";e.r(t);var h=e(/*! ./icons */\"./package/src/icons.js\");e.d(t,\"icons\",function(){return h.default});var r=e(/*! ./replace */\"./package/src/replace.js\");e.d(t,\"replace\",function(){return r.default});var d=e(/*! ./animation.scss */\"./package/src/animation.scss\");\r\n/**\r\n * @license\r\n * Copyright Akveo. All Rights Reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n */\r\n\"undefined\"!=typeof window&&e.n(d).a._insertCss()},\"./package/src/replace.js\":\r\n/*!********************************!*\\\r\n  !*** ./package/src/replace.js ***!\r\n  \\********************************/\r\n/*! exports provided: default */function(a,t,e){\"use strict\";e.r(t);var h=e(/*! classnames/dedupe */\"./node_modules/classnames/dedupe.js\"),c=e.n(h),p=e(/*! ./icons */\"./package/src/icons.js\");function m(t){for(var a=1;a<arguments.length;a++){var e=null!=arguments[a]?arguments[a]:{},h=Object.keys(e);\"function\"==typeof Object.getOwnPropertySymbols&&(h=h.concat(Object.getOwnPropertySymbols(e).filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),h.forEach(function(a){y(t,a,e[a])})}return t}function y(a,t,e){return t in a?Object.defineProperty(a,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):a[t]=e,a}function z(a,t){if(null==a)return{};var e,h,r=function(a,t){if(null==a)return{};var e,h,r={},d=Object.keys(a);for(h=0;h<d.length;h++)e=d[h],0<=t.indexOf(e)||(r[e]=a[e]);return r}\r\n/**\r\n * @license\r\n * Copyright Akveo. All Rights Reserved.\r\n * Licensed under the MIT License. See License.txt in the project root for license information.\r\n */(a,t);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);for(h=0;h<d.length;h++)e=d[h],0<=t.indexOf(e)||Object.prototype.propertyIsEnumerable.call(a,e)&&(r[e]=a[e])}return r}var M={\"data-eva-animation\":\"type\",\"data-eva-hover\":\"hover\",\"data-eva-infinite\":\"infinite\"},v={\"data-eva\":\"name\",\"data-eva-width\":\"width\",\"data-eva-height\":\"height\",\"data-eva-fill\":\"fill\"};t.default=function(){var t=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{};if(\"undefined\"==typeof document)throw new Error(\"`eva.replace()` only works in a browser environment.\");var a=document.querySelectorAll(\"[data-eva]\");Array.from(a).forEach(function(a){return function(a){var t,e,h,r=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{},d=(h=a,Array.from(h.attributes).reduce(function(a,t){var e;return M[t.name]?a.animation=m({},a.animation,y({},M[t.name],t.value)):a=m({},a,v[(e=t).name]?y({},v[e.name],e.value):y({},e.name,e.value)),a},{})),g=d.name,i=z(d,[\"name\"]),n=p.default[g].toSvg(m({},r,i,{animation:(t=r.animation,e=i.animation,t||e?m({},t,e):null)},{class:c()(r.class,i.class)})),o=(new DOMParser).parseFromString(n,\"text/html\"),l=o.querySelector(\".eva-hover\")||o.querySelector(\"svg\");a.parentNode.replaceChild(l,a)}(a,t)})}}})});\r\n//# sourceMappingURL=eva.min.js.map","'use strict';\r\n\r\n// Last time updated: 2019-06-24 7:56:58 AM UTC\r\n\r\n// ________________\r\n// RecordRTC v5.5.9\r\n\r\n// Open-Sourced: https://github.com/muaz-khan/RecordRTC\r\n\r\n// --------------------------------------------------\r\n// Muaz Khan     - www.MuazKhan.com\r\n// MIT License   - www.WebRTC-Experiment.com/licence\r\n// --------------------------------------------------\r\n\r\n// ____________\r\n// RecordRTC.js\r\n\r\n/**\r\n * {@link https://github.com/muaz-khan/RecordRTC|RecordRTC} is a WebRTC JavaScript library for audio/video as well as screen activity recording. It supports Chrome, Firefox, Opera, Android, and Microsoft Edge. Platforms: Linux, Mac and Windows. \r\n * @summary Record audio, video or screen inside the browser.\r\n * @license {@link https://github.com/muaz-khan/RecordRTC/blob/master/LICENSE|MIT}\r\n * @author {@link https://MuazKhan.com|Muaz Khan}\r\n * @typedef RecordRTC\r\n * @class\r\n * @example\r\n * var recorder = RecordRTC(mediaStream or [arrayOfMediaStream], {\r\n *     type: 'video', // audio or video or gif or canvas\r\n *     recorderType: MediaStreamRecorder || CanvasRecorder || StereoAudioRecorder || Etc\r\n * });\r\n * recorder.startRecording();\r\n * @see For further information:\r\n * @see {@link https://github.com/muaz-khan/RecordRTC|RecordRTC Source Code}\r\n * @param {MediaStream} mediaStream - Single media-stream object, array of media-streams, html-canvas-element, etc.\r\n * @param {object} config - {type:\"video\", recorderType: MediaStreamRecorder, disableLogs: true, numberOfAudioChannels: 1, bufferSize: 0, sampleRate: 0, desiredSampRate: 16000, video: HTMLVideoElement, etc.}\r\n */\r\n\r\nfunction RecordRTC(mediaStream, config) {\r\n    if (!mediaStream) {\r\n        throw 'First parameter is required.';\r\n    }\r\n\r\n    config = config || {\r\n        type: 'video'\r\n    };\r\n\r\n    config = new RecordRTCConfiguration(mediaStream, config);\r\n\r\n    // a reference to user's recordRTC object\r\n    var self = this;\r\n\r\n    function startRecording(config2) {\r\n        if (!config.disableLogs) {\r\n            console.log('RecordRTC version: ', self.version);\r\n        }\r\n\r\n        if (!!config2) {\r\n            // allow users to set options using startRecording method\r\n            // config2 is similar to main \"config\" object (second parameter over RecordRTC constructor)\r\n            config = new RecordRTCConfiguration(mediaStream, config2);\r\n        }\r\n\r\n        if (!config.disableLogs) {\r\n            console.log('started recording ' + config.type + ' stream.');\r\n        }\r\n\r\n        if (mediaRecorder) {\r\n            mediaRecorder.clearRecordedData();\r\n            mediaRecorder.record();\r\n\r\n            setState('recording');\r\n\r\n            if (self.recordingDuration) {\r\n                handleRecordingDuration();\r\n            }\r\n            return self;\r\n        }\r\n\r\n        initRecorder(function() {\r\n            if (self.recordingDuration) {\r\n                handleRecordingDuration();\r\n            }\r\n        });\r\n\r\n        return self;\r\n    }\r\n\r\n    function initRecorder(initCallback) {\r\n        if (initCallback) {\r\n            config.initCallback = function() {\r\n                initCallback();\r\n                initCallback = config.initCallback = null; // recorder.initRecorder should be call-backed once.\r\n            };\r\n        }\r\n\r\n        var Recorder = new GetRecorderType(mediaStream, config);\r\n\r\n        mediaRecorder = new Recorder(mediaStream, config);\r\n        mediaRecorder.record();\r\n\r\n        setState('recording');\r\n\r\n        if (!config.disableLogs) {\r\n            console.log('Initialized recorderType:', mediaRecorder.constructor.name, 'for output-type:', config.type);\r\n        }\r\n    }\r\n\r\n    function stopRecording(callback) {\r\n        callback = callback || function() {};\r\n\r\n        if (!mediaRecorder) {\r\n            warningLog();\r\n            return;\r\n        }\r\n\r\n        if (self.state === 'paused') {\r\n            self.resumeRecording();\r\n\r\n            setTimeout(function() {\r\n                stopRecording(callback);\r\n            }, 1);\r\n            return;\r\n        }\r\n\r\n        if (self.state !== 'recording' && !config.disableLogs) {\r\n            console.warn('Recording state should be: \"recording\", however current state is: ', self.state);\r\n        }\r\n\r\n        if (!config.disableLogs) {\r\n            console.log('Stopped recording ' + config.type + ' stream.');\r\n        }\r\n\r\n        if (config.type !== 'gif') {\r\n            mediaRecorder.stop(_callback);\r\n        } else {\r\n            mediaRecorder.stop();\r\n            _callback();\r\n        }\r\n\r\n        setState('stopped');\r\n\r\n        function _callback(__blob) {\r\n            if (!mediaRecorder) {\r\n                if (typeof callback.call === 'function') {\r\n                    callback.call(self, '');\r\n                } else {\r\n                    callback('');\r\n                }\r\n                return;\r\n            }\r\n\r\n            Object.keys(mediaRecorder).forEach(function(key) {\r\n                if (typeof mediaRecorder[key] === 'function') {\r\n                    return;\r\n                }\r\n\r\n                self[key] = mediaRecorder[key];\r\n            });\r\n\r\n            var blob = mediaRecorder.blob;\r\n\r\n            if (!blob) {\r\n                if (__blob) {\r\n                    mediaRecorder.blob = blob = __blob;\r\n                } else {\r\n                    throw 'Recording failed.';\r\n                }\r\n            }\r\n\r\n            if (blob && !config.disableLogs) {\r\n                console.log(blob.type, '->', bytesToSize(blob.size));\r\n            }\r\n\r\n            if (callback) {\r\n                var url;\r\n\r\n                try {\r\n                    url = URL.createObjectURL(blob);\r\n                } catch (e) {}\r\n\r\n                if (typeof callback.call === 'function') {\r\n                    callback.call(self, url);\r\n                } else {\r\n                    callback(url);\r\n                }\r\n            }\r\n\r\n            if (!config.autoWriteToDisk) {\r\n                return;\r\n            }\r\n\r\n            getDataURL(function(dataURL) {\r\n                var parameter = {};\r\n                parameter[config.type + 'Blob'] = dataURL;\r\n                DiskStorage.Store(parameter);\r\n            });\r\n        }\r\n    }\r\n\r\n    function pauseRecording() {\r\n        if (!mediaRecorder) {\r\n            warningLog();\r\n            return;\r\n        }\r\n\r\n        if (self.state !== 'recording') {\r\n            if (!config.disableLogs) {\r\n                console.warn('Unable to pause the recording. Recording state: ', self.state);\r\n            }\r\n            return;\r\n        }\r\n\r\n        setState('paused');\r\n\r\n        mediaRecorder.pause();\r\n\r\n        if (!config.disableLogs) {\r\n            console.log('Paused recording.');\r\n        }\r\n    }\r\n\r\n    function resumeRecording() {\r\n        if (!mediaRecorder) {\r\n            warningLog();\r\n            return;\r\n        }\r\n\r\n        if (self.state !== 'paused') {\r\n            if (!config.disableLogs) {\r\n                console.warn('Unable to resume the recording. Recording state: ', self.state);\r\n            }\r\n            return;\r\n        }\r\n\r\n        setState('recording');\r\n\r\n        // not all libs have this method yet\r\n        mediaRecorder.resume();\r\n\r\n        if (!config.disableLogs) {\r\n            console.log('Resumed recording.');\r\n        }\r\n    }\r\n\r\n    function readFile(_blob) {\r\n        postMessage(new FileReaderSync().readAsDataURL(_blob));\r\n    }\r\n\r\n    function getDataURL(callback, _mediaRecorder) {\r\n        if (!callback) {\r\n            throw 'Pass a callback function over getDataURL.';\r\n        }\r\n\r\n        var blob = _mediaRecorder ? _mediaRecorder.blob : (mediaRecorder || {}).blob;\r\n\r\n        if (!blob) {\r\n            if (!config.disableLogs) {\r\n                console.warn('Blob encoder did not finish its job yet.');\r\n            }\r\n\r\n            setTimeout(function() {\r\n                getDataURL(callback, _mediaRecorder);\r\n            }, 1000);\r\n            return;\r\n        }\r\n\r\n        if (typeof Worker !== 'undefined' && !navigator.mozGetUserMedia) {\r\n            var webWorker = processInWebWorker(readFile);\r\n\r\n            webWorker.onmessage = function(event) {\r\n                callback(event.data);\r\n            };\r\n\r\n            webWorker.postMessage(blob);\r\n        } else {\r\n            var reader = new FileReader();\r\n            reader.readAsDataURL(blob);\r\n            reader.onload = function(event) {\r\n                callback(event.target.result);\r\n            };\r\n        }\r\n\r\n        function processInWebWorker(_function) {\r\n            try {\r\n                var blob = URL.createObjectURL(new Blob([_function.toString(),\r\n                    'this.onmessage =  function (eee) {' + _function.name + '(eee.data);}'\r\n                ], {\r\n                    type: 'application/javascript'\r\n                }));\r\n\r\n                var worker = new Worker(blob);\r\n                URL.revokeObjectURL(blob);\r\n                return worker;\r\n            } catch (e) {}\r\n        }\r\n    }\r\n\r\n    function handleRecordingDuration(counter) {\r\n        counter = counter || 0;\r\n\r\n        if (self.state === 'paused') {\r\n            setTimeout(function() {\r\n                handleRecordingDuration(counter);\r\n            }, 1000);\r\n            return;\r\n        }\r\n\r\n        if (self.state === 'stopped') {\r\n            return;\r\n        }\r\n\r\n        if (counter >= self.recordingDuration) {\r\n            stopRecording(self.onRecordingStopped);\r\n            return;\r\n        }\r\n\r\n        counter += 1000; // 1-second\r\n\r\n        setTimeout(function() {\r\n            handleRecordingDuration(counter);\r\n        }, 1000);\r\n    }\r\n\r\n    function setState(state) {\r\n        if (!self) {\r\n            return;\r\n        }\r\n\r\n        self.state = state;\r\n\r\n        if (typeof self.onStateChanged.call === 'function') {\r\n            self.onStateChanged.call(self, state);\r\n        } else {\r\n            self.onStateChanged(state);\r\n        }\r\n    }\r\n\r\n    var WARNING = 'It seems that recorder is destroyed or \"startRecording\" is not invoked for ' + config.type + ' recorder.';\r\n\r\n    function warningLog() {\r\n        if (config.disableLogs === true) {\r\n            return;\r\n        }\r\n\r\n        console.warn(WARNING);\r\n    }\r\n\r\n    var mediaRecorder;\r\n\r\n    var returnObject = {\r\n        /**\r\n         * This method starts the recording.\r\n         * @method\r\n         * @memberof RecordRTC\r\n         * @instance\r\n         * @example\r\n         * var recorder = RecordRTC(mediaStream, {\r\n         *     type: 'video'\r\n         * });\r\n         * recorder.startRecording();\r\n         */\r\n        startRecording: startRecording,\r\n\r\n        /**\r\n         * This method stops the recording. It is strongly recommended to get \"blob\" or \"URI\" inside the callback to make sure all recorders finished their job.\r\n         * @param {function} callback - Callback to get the recorded blob.\r\n         * @method\r\n         * @memberof RecordRTC\r\n         * @instance\r\n         * @example\r\n         * recorder.stopRecording(function() {\r\n         *     // use either \"this\" or \"recorder\" object; both are identical\r\n         *     video.src = this.toURL();\r\n         *     var blob = this.getBlob();\r\n         * });\r\n         */\r\n        stopRecording: stopRecording,\r\n\r\n        /**\r\n         * This method pauses the recording. You can resume recording using \"resumeRecording\" method.\r\n         * @method\r\n         * @memberof RecordRTC\r\n         * @instance\r\n         * @todo Firefox is unable to pause the recording. Fix it.\r\n         * @example\r\n         * recorder.pauseRecording();  // pause the recording\r\n         * recorder.resumeRecording(); // resume again\r\n         */\r\n        pauseRecording: pauseRecording,\r\n\r\n        /**\r\n         * This method resumes the recording.\r\n         * @method\r\n         * @memberof RecordRTC\r\n         * @instance\r\n         * @example\r\n         * recorder.pauseRecording();  // first of all, pause the recording\r\n         * recorder.resumeRecording(); // now resume it\r\n         */\r\n        resumeRecording: resumeRecording,\r\n\r\n        /**\r\n         * This method initializes the recording.\r\n         * @method\r\n         * @memberof RecordRTC\r\n         * @instance\r\n         * @todo This method should be deprecated.\r\n         * @example\r\n         * recorder.initRecorder();\r\n         */\r\n        initRecorder: initRecorder,\r\n\r\n        /**\r\n         * Ask RecordRTC to auto-stop the recording after 5 minutes.\r\n         * @method\r\n         * @memberof RecordRTC\r\n         * @instance\r\n         * @example\r\n         * var fiveMinutes = 5 * 1000 * 60;\r\n         * recorder.setRecordingDuration(fiveMinutes, function() {\r\n         *    var blob = this.getBlob();\r\n         *    video.src = this.toURL();\r\n         * });\r\n         * \r\n         * // or otherwise\r\n         * recorder.setRecordingDuration(fiveMinutes).onRecordingStopped(function() {\r\n         *    var blob = this.getBlob();\r\n         *    video.src = this.toURL();\r\n         * });\r\n         */\r\n        setRecordingDuration: function(recordingDuration, callback) {\r\n            if (typeof recordingDuration === 'undefined') {\r\n                throw 'recordingDuration is required.';\r\n            }\r\n\r\n            if (typeof recordingDuration !== 'number') {\r\n                throw 'recordingDuration must be a number.';\r\n            }\r\n\r\n            self.recordingDuration = recordingDuration;\r\n            self.onRecordingStopped = callback || function() {};\r\n\r\n            return {\r\n                onRecordingStopped: function(callback) {\r\n                    self.onRecordingStopped = callback;\r\n                }\r\n            };\r\n        },\r\n\r\n        /**\r\n         * This method can be used to clear/reset all the recorded data.\r\n         * @method\r\n         * @memberof RecordRTC\r\n         * @instance\r\n         * @todo Figure out the difference between \"reset\" and \"clearRecordedData\" methods.\r\n         * @example\r\n         * recorder.clearRecordedData();\r\n         */\r\n        clearRecordedData: function() {\r\n            if (!mediaRecorder) {\r\n                warningLog();\r\n                return;\r\n            }\r\n\r\n            mediaRecorder.clearRecordedData();\r\n\r\n            if (!config.disableLogs) {\r\n                console.log('Cleared old recorded data.');\r\n            }\r\n        },\r\n\r\n        /**\r\n         * Get the recorded blob. Use this method inside the \"stopRecording\" callback.\r\n         * @method\r\n         * @memberof RecordRTC\r\n         * @instance\r\n         * @example\r\n         * recorder.stopRecording(function() {\r\n         *     var blob = this.getBlob();\r\n         *\r\n         *     var file = new File([blob], 'filename.webm', {\r\n         *         type: 'video/webm'\r\n         *     });\r\n         *\r\n         *     var formData = new FormData();\r\n         *     formData.append('file', file); // upload \"File\" object rather than a \"Blob\"\r\n         *     uploadToServer(formData);\r\n         * });\r\n         * @returns {Blob} Returns recorded data as \"Blob\" object.\r\n         */\r\n        getBlob: function() {\r\n            if (!mediaRecorder) {\r\n                warningLog();\r\n                return;\r\n            }\r\n\r\n            return mediaRecorder.blob;\r\n        },\r\n\r\n        /**\r\n         * Get data-URI instead of Blob.\r\n         * @param {function} callback - Callback to get the Data-URI.\r\n         * @method\r\n         * @memberof RecordRTC\r\n         * @instance\r\n         * @example\r\n         * recorder.stopRecording(function() {\r\n         *     recorder.getDataURL(function(dataURI) {\r\n         *         video.src = dataURI;\r\n         *     });\r\n         * });\r\n         */\r\n        getDataURL: getDataURL,\r\n\r\n        /**\r\n         * Get virtual/temporary URL. Usage of this URL is limited to current tab.\r\n         * @method\r\n         * @memberof RecordRTC\r\n         * @instance\r\n         * @example\r\n         * recorder.stopRecording(function() {\r\n         *     video.src = this.toURL();\r\n         * });\r\n         * @returns {String} Returns a virtual/temporary URL for the recorded \"Blob\".\r\n         */\r\n        toURL: function() {\r\n            if (!mediaRecorder) {\r\n                warningLog();\r\n                return;\r\n            }\r\n\r\n            return URL.createObjectURL(mediaRecorder.blob);\r\n        },\r\n\r\n        /**\r\n         * Get internal recording object (i.e. internal module) e.g. MutliStreamRecorder, MediaStreamRecorder, StereoAudioRecorder or WhammyRecorder etc.\r\n         * @method\r\n         * @memberof RecordRTC\r\n         * @instance\r\n         * @example\r\n         * var internalRecorder = recorder.getInternalRecorder();\r\n         * if(internalRecorder instanceof MultiStreamRecorder) {\r\n         *     internalRecorder.addStreams([newAudioStream]);\r\n         *     internalRecorder.resetVideoStreams([screenStream]);\r\n         * }\r\n         * @returns {Object} Returns internal recording object.\r\n         */\r\n        getInternalRecorder: function() {\r\n            return mediaRecorder;\r\n        },\r\n\r\n        /**\r\n         * Invoke save-as dialog to save the recorded blob into your disk.\r\n         * @param {string} fileName - Set your own file name.\r\n         * @method\r\n         * @memberof RecordRTC\r\n         * @instance\r\n         * @example\r\n         * recorder.stopRecording(function() {\r\n         *     this.save('file-name');\r\n         *\r\n         *     // or manually:\r\n         *     invokeSaveAsDialog(this.getBlob(), 'filename.webm');\r\n         * });\r\n         */\r\n        save: function(fileName) {\r\n            if (!mediaRecorder) {\r\n                warningLog();\r\n                return;\r\n            }\r\n\r\n            invokeSaveAsDialog(mediaRecorder.blob, fileName);\r\n        },\r\n\r\n        /**\r\n         * This method gets a blob from indexed-DB storage.\r\n         * @param {function} callback - Callback to get the recorded blob.\r\n         * @method\r\n         * @memberof RecordRTC\r\n         * @instance\r\n         * @example\r\n         * recorder.getFromDisk(function(dataURL) {\r\n         *     video.src = dataURL;\r\n         * });\r\n         */\r\n        getFromDisk: function(callback) {\r\n            if (!mediaRecorder) {\r\n                warningLog();\r\n                return;\r\n            }\r\n\r\n            RecordRTC.getFromDisk(config.type, callback);\r\n        },\r\n\r\n        /**\r\n         * This method appends an array of webp images to the recorded video-blob. It takes an \"array\" object.\r\n         * @type {Array.<Array>}\r\n         * @param {Array} arrayOfWebPImages - Array of webp images.\r\n         * @method\r\n         * @memberof RecordRTC\r\n         * @instance\r\n         * @todo This method should be deprecated.\r\n         * @example\r\n         * var arrayOfWebPImages = [];\r\n         * arrayOfWebPImages.push({\r\n         *     duration: index,\r\n         *     image: 'data:image/webp;base64,...'\r\n         * });\r\n         * recorder.setAdvertisementArray(arrayOfWebPImages);\r\n         */\r\n        setAdvertisementArray: function(arrayOfWebPImages) {\r\n            config.advertisement = [];\r\n\r\n            var length = arrayOfWebPImages.length;\r\n            for (var i = 0; i < length; i++) {\r\n                config.advertisement.push({\r\n                    duration: i,\r\n                    image: arrayOfWebPImages[i]\r\n                });\r\n            }\r\n        },\r\n\r\n        /**\r\n         * It is equivalent to <code class=\"str\">\"recorder.getBlob()\"</code> method. Usage of \"getBlob\" is recommended, though.\r\n         * @property {Blob} blob - Recorded Blob can be accessed using this property.\r\n         * @memberof RecordRTC\r\n         * @instance\r\n         * @readonly\r\n         * @example\r\n         * recorder.stopRecording(function() {\r\n         *     var blob = this.blob;\r\n         *\r\n         *     // below one is recommended\r\n         *     var blob = this.getBlob();\r\n         * });\r\n         */\r\n        blob: null,\r\n\r\n        /**\r\n         * This works only with {recorderType:StereoAudioRecorder}. Use this property on \"stopRecording\" to verify the encoder's sample-rates.\r\n         * @property {number} bufferSize - Buffer-size used to encode the WAV container\r\n         * @memberof RecordRTC\r\n         * @instance\r\n         * @readonly\r\n         * @example\r\n         * recorder.stopRecording(function() {\r\n         *     alert('Recorder used this buffer-size: ' + this.bufferSize);\r\n         * });\r\n         */\r\n        bufferSize: 0,\r\n\r\n        /**\r\n         * This works only with {recorderType:StereoAudioRecorder}. Use this property on \"stopRecording\" to verify the encoder's sample-rates.\r\n         * @property {number} sampleRate - Sample-rates used to encode the WAV container\r\n         * @memberof RecordRTC\r\n         * @instance\r\n         * @readonly\r\n         * @example\r\n         * recorder.stopRecording(function() {\r\n         *     alert('Recorder used these sample-rates: ' + this.sampleRate);\r\n         * });\r\n         */\r\n        sampleRate: 0,\r\n\r\n        /**\r\n         * {recorderType:StereoAudioRecorder} returns ArrayBuffer object.\r\n         * @property {ArrayBuffer} buffer - Audio ArrayBuffer, supported only in Chrome.\r\n         * @memberof RecordRTC\r\n         * @instance\r\n         * @readonly\r\n         * @example\r\n         * recorder.stopRecording(function() {\r\n         *     var arrayBuffer = this.buffer;\r\n         *     alert(arrayBuffer.byteLength);\r\n         * });\r\n         */\r\n        buffer: null,\r\n\r\n        /**\r\n         * This method resets the recorder. So that you can reuse single recorder instance many times.\r\n         * @method\r\n         * @memberof RecordRTC\r\n         * @instance\r\n         * @example\r\n         * recorder.reset();\r\n         * recorder.startRecording();\r\n         */\r\n        reset: function() {\r\n            if (self.state === 'recording' && !config.disableLogs) {\r\n                console.warn('Stop an active recorder.');\r\n            }\r\n\r\n            if (mediaRecorder && typeof mediaRecorder.clearRecordedData === 'function') {\r\n                mediaRecorder.clearRecordedData();\r\n            }\r\n            mediaRecorder = null;\r\n            setState('inactive');\r\n            self.blob = null;\r\n        },\r\n\r\n        /**\r\n         * This method is called whenever recorder's state changes. Use this as an \"event\".\r\n         * @property {String} state - A recorder's state can be: recording, paused, stopped or inactive.\r\n         * @method\r\n         * @memberof RecordRTC\r\n         * @instance\r\n         * @example\r\n         * recorder.onStateChanged = function(state) {\r\n         *     console.log('Recorder state: ', state);\r\n         * };\r\n         */\r\n        onStateChanged: function(state) {\r\n            if (!config.disableLogs) {\r\n                console.log('Recorder state changed:', state);\r\n            }\r\n        },\r\n\r\n        /**\r\n         * A recorder can have inactive, recording, paused or stopped states.\r\n         * @property {String} state - A recorder's state can be: recording, paused, stopped or inactive.\r\n         * @memberof RecordRTC\r\n         * @static\r\n         * @readonly\r\n         * @example\r\n         * // this looper function will keep you updated about the recorder's states.\r\n         * (function looper() {\r\n         *     document.querySelector('h1').innerHTML = 'Recorder\\'s state is: ' + recorder.state;\r\n         *     if(recorder.state === 'stopped') return; // ignore+stop\r\n         *     setTimeout(looper, 1000); // update after every 3-seconds\r\n         * })();\r\n         * recorder.startRecording();\r\n         */\r\n        state: 'inactive',\r\n\r\n        /**\r\n         * Get recorder's readonly state.\r\n         * @method\r\n         * @memberof RecordRTC\r\n         * @example\r\n         * var state = recorder.getState();\r\n         * @returns {String} Returns recording state.\r\n         */\r\n        getState: function() {\r\n            return self.state;\r\n        },\r\n\r\n        /**\r\n         * Destroy RecordRTC instance. Clear all recorders and objects.\r\n         * @method\r\n         * @memberof RecordRTC\r\n         * @example\r\n         * recorder.destroy();\r\n         */\r\n        destroy: function() {\r\n            var disableLogsCache = config.disableLogs;\r\n\r\n            config = {\r\n                disableLogs: true\r\n            };\r\n            self.reset();\r\n            setState('destroyed');\r\n            returnObject = self = null;\r\n\r\n            if (Storage.AudioContextConstructor) {\r\n                Storage.AudioContextConstructor.close();\r\n                Storage.AudioContextConstructor = null;\r\n            }\r\n\r\n            config.disableLogs = disableLogsCache;\r\n\r\n            if (!config.disableLogs) {\r\n                console.log('RecordRTC is destroyed.');\r\n            }\r\n        },\r\n\r\n        /**\r\n         * RecordRTC version number\r\n         * @property {String} version - Release version number.\r\n         * @memberof RecordRTC\r\n         * @static\r\n         * @readonly\r\n         * @example\r\n         * alert(recorder.version);\r\n         */\r\n        version: '5.5.9'\r\n    };\r\n\r\n    if (!this) {\r\n        self = returnObject;\r\n        return returnObject;\r\n    }\r\n\r\n    // if someone wants to use RecordRTC with the \"new\" keyword.\r\n    for (var prop in returnObject) {\r\n        this[prop] = returnObject[prop];\r\n    }\r\n\r\n    self = this;\r\n\r\n    return returnObject;\r\n}\r\n\r\nRecordRTC.version = '5.5.9';\r\n\r\nif (typeof module !== 'undefined' /* && !!module.exports*/ ) {\r\n    module.exports = RecordRTC;\r\n}\r\n\r\nif (typeof define === 'function' && define.amd) {\r\n    define('RecordRTC', [], function() {\r\n        return RecordRTC;\r\n    });\r\n}\r\n\r\nRecordRTC.getFromDisk = function(type, callback) {\r\n    if (!callback) {\r\n        throw 'callback is mandatory.';\r\n    }\r\n\r\n    console.log('Getting recorded ' + (type === 'all' ? 'blobs' : type + ' blob ') + ' from disk!');\r\n    DiskStorage.Fetch(function(dataURL, _type) {\r\n        if (type !== 'all' && _type === type + 'Blob' && callback) {\r\n            callback(dataURL);\r\n        }\r\n\r\n        if (type === 'all' && callback) {\r\n            callback(dataURL, _type.replace('Blob', ''));\r\n        }\r\n    });\r\n};\r\n\r\n/**\r\n * This method can be used to store recorded blobs into IndexedDB storage.\r\n * @param {object} options - {audio: Blob, video: Blob, gif: Blob}\r\n * @method\r\n * @memberof RecordRTC\r\n * @example\r\n * RecordRTC.writeToDisk({\r\n *     audio: audioBlob,\r\n *     video: videoBlob,\r\n *     gif  : gifBlob\r\n * });\r\n */\r\nRecordRTC.writeToDisk = function(options) {\r\n    console.log('Writing recorded blob(s) to disk!');\r\n    options = options || {};\r\n    if (options.audio && options.video && options.gif) {\r\n        options.audio.getDataURL(function(audioDataURL) {\r\n            options.video.getDataURL(function(videoDataURL) {\r\n                options.gif.getDataURL(function(gifDataURL) {\r\n                    DiskStorage.Store({\r\n                        audioBlob: audioDataURL,\r\n                        videoBlob: videoDataURL,\r\n                        gifBlob: gifDataURL\r\n                    });\r\n                });\r\n            });\r\n        });\r\n    } else if (options.audio && options.video) {\r\n        options.audio.getDataURL(function(audioDataURL) {\r\n            options.video.getDataURL(function(videoDataURL) {\r\n                DiskStorage.Store({\r\n                    audioBlob: audioDataURL,\r\n                    videoBlob: videoDataURL\r\n                });\r\n            });\r\n        });\r\n    } else if (options.audio && options.gif) {\r\n        options.audio.getDataURL(function(audioDataURL) {\r\n            options.gif.getDataURL(function(gifDataURL) {\r\n                DiskStorage.Store({\r\n                    audioBlob: audioDataURL,\r\n                    gifBlob: gifDataURL\r\n                });\r\n            });\r\n        });\r\n    } else if (options.video && options.gif) {\r\n        options.video.getDataURL(function(videoDataURL) {\r\n            options.gif.getDataURL(function(gifDataURL) {\r\n                DiskStorage.Store({\r\n                    videoBlob: videoDataURL,\r\n                    gifBlob: gifDataURL\r\n                });\r\n            });\r\n        });\r\n    } else if (options.audio) {\r\n        options.audio.getDataURL(function(audioDataURL) {\r\n            DiskStorage.Store({\r\n                audioBlob: audioDataURL\r\n            });\r\n        });\r\n    } else if (options.video) {\r\n        options.video.getDataURL(function(videoDataURL) {\r\n            DiskStorage.Store({\r\n                videoBlob: videoDataURL\r\n            });\r\n        });\r\n    } else if (options.gif) {\r\n        options.gif.getDataURL(function(gifDataURL) {\r\n            DiskStorage.Store({\r\n                gifBlob: gifDataURL\r\n            });\r\n        });\r\n    }\r\n};\r\n\r\n// __________________________\r\n// RecordRTC-Configuration.js\r\n\r\n/**\r\n * {@link RecordRTCConfiguration} is an inner/private helper for {@link RecordRTC}.\r\n * @summary It configures the 2nd parameter passed over {@link RecordRTC} and returns a valid \"config\" object.\r\n * @license {@link https://github.com/muaz-khan/RecordRTC/blob/master/LICENSE|MIT}\r\n * @author {@link https://MuazKhan.com|Muaz Khan}\r\n * @typedef RecordRTCConfiguration\r\n * @class\r\n * @example\r\n * var options = RecordRTCConfiguration(mediaStream, options);\r\n * @see {@link https://github.com/muaz-khan/RecordRTC|RecordRTC Source Code}\r\n * @param {MediaStream} mediaStream - MediaStream object fetched using getUserMedia API or generated using captureStreamUntilEnded or WebAudio API.\r\n * @param {object} config - {type:\"video\", disableLogs: true, numberOfAudioChannels: 1, bufferSize: 0, sampleRate: 0, video: HTMLVideoElement, getNativeBlob:true, etc.}\r\n */\r\n\r\nfunction RecordRTCConfiguration(mediaStream, config) {\r\n    if (!config.recorderType && !config.type) {\r\n        if (!!config.audio && !!config.video) {\r\n            config.type = 'video';\r\n        } else if (!!config.audio && !config.video) {\r\n            config.type = 'audio';\r\n        }\r\n    }\r\n\r\n    if (config.recorderType && !config.type) {\r\n        if (config.recorderType === WhammyRecorder || config.recorderType === CanvasRecorder || (typeof WebAssemblyRecorder !== 'undefined' && config.recorderType === WebAssemblyRecorder)) {\r\n            config.type = 'video';\r\n        } else if (config.recorderType === GifRecorder) {\r\n            config.type = 'gif';\r\n        } else if (config.recorderType === StereoAudioRecorder) {\r\n            config.type = 'audio';\r\n        } else if (config.recorderType === MediaStreamRecorder) {\r\n            if (getTracks(mediaStream, 'audio').length && getTracks(mediaStream, 'video').length) {\r\n                config.type = 'video';\r\n            } else if (!getTracks(mediaStream, 'audio').length && getTracks(mediaStream, 'video').length) {\r\n                config.type = 'video';\r\n            } else if (getTracks(mediaStream, 'audio').length && !getTracks(mediaStream, 'video').length) {\r\n                config.type = 'audio';\r\n            } else {\r\n                // config.type = 'UnKnown';\r\n            }\r\n        }\r\n    }\r\n\r\n    if (typeof MediaStreamRecorder !== 'undefined' && typeof MediaRecorder !== 'undefined' && 'requestData' in MediaRecorder.prototype) {\r\n        if (!config.mimeType) {\r\n            config.mimeType = 'video/webm';\r\n        }\r\n\r\n        if (!config.type) {\r\n            config.type = config.mimeType.split('/')[0];\r\n        }\r\n\r\n        if (!config.bitsPerSecond) {\r\n            // config.bitsPerSecond = 128000;\r\n        }\r\n    }\r\n\r\n    // consider default type=audio\r\n    if (!config.type) {\r\n        if (config.mimeType) {\r\n            config.type = config.mimeType.split('/')[0];\r\n        }\r\n        if (!config.type) {\r\n            config.type = 'audio';\r\n        }\r\n    }\r\n\r\n    return config;\r\n}\r\n\r\n// __________________\r\n// GetRecorderType.js\r\n\r\n/**\r\n * {@link GetRecorderType} is an inner/private helper for {@link RecordRTC}.\r\n * @summary It returns best recorder-type available for your browser.\r\n * @license {@link https://github.com/muaz-khan/RecordRTC/blob/master/LICENSE|MIT}\r\n * @author {@link https://MuazKhan.com|Muaz Khan}\r\n * @typedef GetRecorderType\r\n * @class\r\n * @example\r\n * var RecorderType = GetRecorderType(options);\r\n * var recorder = new RecorderType(options);\r\n * @see {@link https://github.com/muaz-khan/RecordRTC|RecordRTC Source Code}\r\n * @param {MediaStream} mediaStream - MediaStream object fetched using getUserMedia API or generated using captureStreamUntilEnded or WebAudio API.\r\n * @param {object} config - {type:\"video\", disableLogs: true, numberOfAudioChannels: 1, bufferSize: 0, sampleRate: 0, video: HTMLVideoElement, etc.}\r\n */\r\n\r\nfunction GetRecorderType(mediaStream, config) {\r\n    var recorder;\r\n\r\n    // StereoAudioRecorder can work with all three: Edge, Firefox and Chrome\r\n    // todo: detect if it is Edge, then auto use: StereoAudioRecorder\r\n    if (isChrome || isEdge || isOpera) {\r\n        // Media Stream Recording API has not been implemented in chrome yet;\r\n        // That's why using WebAudio API to record stereo audio in WAV format\r\n        recorder = StereoAudioRecorder;\r\n    }\r\n\r\n    if (typeof MediaRecorder !== 'undefined' && 'requestData' in MediaRecorder.prototype && !isChrome) {\r\n        recorder = MediaStreamRecorder;\r\n    }\r\n\r\n    // video recorder (in WebM format)\r\n    if (config.type === 'video' && (isChrome || isOpera)) {\r\n        recorder = WhammyRecorder;\r\n\r\n        if (typeof WebAssemblyRecorder !== 'undefined' && typeof ReadableStream !== 'undefined') {\r\n            recorder = WebAssemblyRecorder;\r\n        }\r\n    }\r\n\r\n    // video recorder (in Gif format)\r\n    if (config.type === 'gif') {\r\n        recorder = GifRecorder;\r\n    }\r\n\r\n    // html2canvas recording!\r\n    if (config.type === 'canvas') {\r\n        recorder = CanvasRecorder;\r\n    }\r\n\r\n    if (isMediaRecorderCompatible() && recorder !== CanvasRecorder && recorder !== GifRecorder && typeof MediaRecorder !== 'undefined' && 'requestData' in MediaRecorder.prototype) {\r\n        if (getTracks(mediaStream, 'video').length || getTracks(mediaStream, 'audio').length) {\r\n            // audio-only recording\r\n            if (config.type === 'audio') {\r\n                if (typeof MediaRecorder.isTypeSupported === 'function' && MediaRecorder.isTypeSupported('audio/webm')) {\r\n                    recorder = MediaStreamRecorder;\r\n                }\r\n                // else recorder = StereoAudioRecorder;\r\n            } else {\r\n                // video or screen tracks\r\n                if (typeof MediaRecorder.isTypeSupported === 'function' && MediaRecorder.isTypeSupported('video/webm')) {\r\n                    recorder = MediaStreamRecorder;\r\n                }\r\n            }\r\n        }\r\n    }\r\n\r\n    if (mediaStream instanceof Array && mediaStream.length) {\r\n        recorder = MultiStreamRecorder;\r\n    }\r\n\r\n    if (config.recorderType) {\r\n        recorder = config.recorderType;\r\n    }\r\n\r\n    if (!config.disableLogs && !!recorder && !!recorder.name) {\r\n        console.log('Using recorderType:', recorder.name || recorder.constructor.name);\r\n    }\r\n\r\n    if (!recorder && isSafari) {\r\n        recorder = MediaStreamRecorder;\r\n    }\r\n\r\n    return recorder;\r\n}\r\n\r\n// _____________\r\n// MRecordRTC.js\r\n\r\n/**\r\n * MRecordRTC runs on top of {@link RecordRTC} to bring multiple recordings in a single place, by providing simple API.\r\n * @summary MRecordRTC stands for \"Multiple-RecordRTC\".\r\n * @license {@link https://github.com/muaz-khan/RecordRTC/blob/master/LICENSE|MIT}\r\n * @author {@link https://MuazKhan.com|Muaz Khan}\r\n * @typedef MRecordRTC\r\n * @class\r\n * @example\r\n * var recorder = new MRecordRTC();\r\n * recorder.addStream(MediaStream);\r\n * recorder.mediaType = {\r\n *     audio: true, // or StereoAudioRecorder or MediaStreamRecorder\r\n *     video: true, // or WhammyRecorder or MediaStreamRecorder or WebAssemblyRecorder or CanvasRecorder\r\n *     gif: true    // or GifRecorder\r\n * };\r\n * // mimeType is optional and should be set only in advance cases.\r\n * recorder.mimeType = {\r\n *     audio: 'audio/wav',\r\n *     video: 'video/webm',\r\n *     gif:   'image/gif'\r\n * };\r\n * recorder.startRecording();\r\n * @see For further information:\r\n * @see {@link https://github.com/muaz-khan/RecordRTC/tree/master/MRecordRTC|MRecordRTC Source Code}\r\n * @param {MediaStream} mediaStream - MediaStream object fetched using getUserMedia API or generated using captureStreamUntilEnded or WebAudio API.\r\n * @requires {@link RecordRTC}\r\n */\r\n\r\nfunction MRecordRTC(mediaStream) {\r\n\r\n    /**\r\n     * This method attaches MediaStream object to {@link MRecordRTC}.\r\n     * @param {MediaStream} mediaStream - A MediaStream object, either fetched using getUserMedia API, or generated using captureStreamUntilEnded or WebAudio API.\r\n     * @method\r\n     * @memberof MRecordRTC\r\n     * @example\r\n     * recorder.addStream(MediaStream);\r\n     */\r\n    this.addStream = function(_mediaStream) {\r\n        if (_mediaStream) {\r\n            mediaStream = _mediaStream;\r\n        }\r\n    };\r\n\r\n    /**\r\n     * This property can be used to set the recording type e.g. audio, or video, or gif, or canvas.\r\n     * @property {object} mediaType - {audio: true, video: true, gif: true}\r\n     * @memberof MRecordRTC\r\n     * @example\r\n     * var recorder = new MRecordRTC();\r\n     * recorder.mediaType = {\r\n     *     audio: true, // TRUE or StereoAudioRecorder or MediaStreamRecorder\r\n     *     video: true, // TRUE or WhammyRecorder or MediaStreamRecorder or WebAssemblyRecorder or CanvasRecorder\r\n     *     gif  : true  // TRUE or GifRecorder\r\n     * };\r\n     */\r\n    this.mediaType = {\r\n        audio: true,\r\n        video: true\r\n    };\r\n\r\n    /**\r\n     * This method starts recording.\r\n     * @method\r\n     * @memberof MRecordRTC\r\n     * @example\r\n     * recorder.startRecording();\r\n     */\r\n    this.startRecording = function() {\r\n        var mediaType = this.mediaType;\r\n        var recorderType;\r\n        var mimeType = this.mimeType || {\r\n            audio: null,\r\n            video: null,\r\n            gif: null\r\n        };\r\n\r\n        if (typeof mediaType.audio !== 'function' && isMediaRecorderCompatible() && !getTracks(mediaStream, 'audio').length) {\r\n            mediaType.audio = false;\r\n        }\r\n\r\n        if (typeof mediaType.video !== 'function' && isMediaRecorderCompatible() && !getTracks(mediaStream, 'video').length) {\r\n            mediaType.video = false;\r\n        }\r\n\r\n        if (typeof mediaType.gif !== 'function' && isMediaRecorderCompatible() && !getTracks(mediaStream, 'video').length) {\r\n            mediaType.gif = false;\r\n        }\r\n\r\n        if (!mediaType.audio && !mediaType.video && !mediaType.gif) {\r\n            throw 'MediaStream must have either audio or video tracks.';\r\n        }\r\n\r\n        if (!!mediaType.audio) {\r\n            recorderType = null;\r\n            if (typeof mediaType.audio === 'function') {\r\n                recorderType = mediaType.audio;\r\n            }\r\n\r\n            this.audioRecorder = new RecordRTC(mediaStream, {\r\n                type: 'audio',\r\n                bufferSize: this.bufferSize,\r\n                sampleRate: this.sampleRate,\r\n                numberOfAudioChannels: this.numberOfAudioChannels || 2,\r\n                disableLogs: this.disableLogs,\r\n                recorderType: recorderType,\r\n                mimeType: mimeType.audio,\r\n                timeSlice: this.timeSlice,\r\n                onTimeStamp: this.onTimeStamp\r\n            });\r\n\r\n            if (!mediaType.video) {\r\n                this.audioRecorder.startRecording();\r\n            }\r\n        }\r\n\r\n        if (!!mediaType.video) {\r\n            recorderType = null;\r\n            if (typeof mediaType.video === 'function') {\r\n                recorderType = mediaType.video;\r\n            }\r\n\r\n            var newStream = mediaStream;\r\n\r\n            if (isMediaRecorderCompatible() && !!mediaType.audio && typeof mediaType.audio === 'function') {\r\n                var videoTrack = getTracks(mediaStream, 'video')[0];\r\n\r\n                if (isFirefox) {\r\n                    newStream = new MediaStream();\r\n                    newStream.addTrack(videoTrack);\r\n\r\n                    if (recorderType && recorderType === WhammyRecorder) {\r\n                        // Firefox does NOT supports webp-encoding yet\r\n                        // But Firefox do supports WebAssemblyRecorder\r\n                        recorderType = MediaStreamRecorder;\r\n                    }\r\n                } else {\r\n                    newStream = new MediaStream();\r\n                    newStream.addTrack(videoTrack);\r\n                }\r\n            }\r\n\r\n            this.videoRecorder = new RecordRTC(newStream, {\r\n                type: 'video',\r\n                video: this.video,\r\n                canvas: this.canvas,\r\n                frameInterval: this.frameInterval || 10,\r\n                disableLogs: this.disableLogs,\r\n                recorderType: recorderType,\r\n                mimeType: mimeType.video,\r\n                timeSlice: this.timeSlice,\r\n                onTimeStamp: this.onTimeStamp,\r\n                workerPath: this.workerPath,\r\n                webAssemblyPath: this.webAssemblyPath,\r\n                frameRate: this.frameRate, // used by WebAssemblyRecorder; values: usually 30; accepts any.\r\n                bitrate: this.bitrate // used by WebAssemblyRecorder; values: 0 to 1000+\r\n            });\r\n\r\n            if (!mediaType.audio) {\r\n                this.videoRecorder.startRecording();\r\n            }\r\n        }\r\n\r\n        if (!!mediaType.audio && !!mediaType.video) {\r\n            var self = this;\r\n\r\n            var isSingleRecorder = isMediaRecorderCompatible() === true;\r\n\r\n            if (mediaType.audio instanceof StereoAudioRecorder && !!mediaType.video) {\r\n                isSingleRecorder = false;\r\n            } else if (mediaType.audio !== true && mediaType.video !== true && mediaType.audio !== mediaType.video) {\r\n                isSingleRecorder = false;\r\n            }\r\n\r\n            if (isSingleRecorder === true) {\r\n                self.audioRecorder = null;\r\n                self.videoRecorder.startRecording();\r\n            } else {\r\n                self.videoRecorder.initRecorder(function() {\r\n                    self.audioRecorder.initRecorder(function() {\r\n                        // Both recorders are ready to record things accurately\r\n                        self.videoRecorder.startRecording();\r\n                        self.audioRecorder.startRecording();\r\n                    });\r\n                });\r\n            }\r\n        }\r\n\r\n        if (!!mediaType.gif) {\r\n            recorderType = null;\r\n            if (typeof mediaType.gif === 'function') {\r\n                recorderType = mediaType.gif;\r\n            }\r\n            this.gifRecorder = new RecordRTC(mediaStream, {\r\n                type: 'gif',\r\n                frameRate: this.frameRate || 200,\r\n                quality: this.quality || 10,\r\n                disableLogs: this.disableLogs,\r\n                recorderType: recorderType,\r\n                mimeType: mimeType.gif\r\n            });\r\n            this.gifRecorder.startRecording();\r\n        }\r\n    };\r\n\r\n    /**\r\n     * This method stops recording.\r\n     * @param {function} callback - Callback function is invoked when all encoders finished their jobs.\r\n     * @method\r\n     * @memberof MRecordRTC\r\n     * @example\r\n     * recorder.stopRecording(function(recording){\r\n     *     var audioBlob = recording.audio;\r\n     *     var videoBlob = recording.video;\r\n     *     var gifBlob   = recording.gif;\r\n     * });\r\n     */\r\n    this.stopRecording = function(callback) {\r\n        callback = callback || function() {};\r\n\r\n        if (this.audioRecorder) {\r\n            this.audioRecorder.stopRecording(function(blobURL) {\r\n                callback(blobURL, 'audio');\r\n            });\r\n        }\r\n\r\n        if (this.videoRecorder) {\r\n            this.videoRecorder.stopRecording(function(blobURL) {\r\n                callback(blobURL, 'video');\r\n            });\r\n        }\r\n\r\n        if (this.gifRecorder) {\r\n            this.gifRecorder.stopRecording(function(blobURL) {\r\n                callback(blobURL, 'gif');\r\n            });\r\n        }\r\n    };\r\n\r\n    /**\r\n     * This method pauses recording.\r\n     * @method\r\n     * @memberof MRecordRTC\r\n     * @example\r\n     * recorder.pauseRecording();\r\n     */\r\n    this.pauseRecording = function() {\r\n        if (this.audioRecorder) {\r\n            this.audioRecorder.pauseRecording();\r\n        }\r\n\r\n        if (this.videoRecorder) {\r\n            this.videoRecorder.pauseRecording();\r\n        }\r\n\r\n        if (this.gifRecorder) {\r\n            this.gifRecorder.pauseRecording();\r\n        }\r\n    };\r\n\r\n    /**\r\n     * This method resumes recording.\r\n     * @method\r\n     * @memberof MRecordRTC\r\n     * @example\r\n     * recorder.resumeRecording();\r\n     */\r\n    this.resumeRecording = function() {\r\n        if (this.audioRecorder) {\r\n            this.audioRecorder.resumeRecording();\r\n        }\r\n\r\n        if (this.videoRecorder) {\r\n            this.videoRecorder.resumeRecording();\r\n        }\r\n\r\n        if (this.gifRecorder) {\r\n            this.gifRecorder.resumeRecording();\r\n        }\r\n    };\r\n\r\n    /**\r\n     * This method can be used to manually get all recorded blobs.\r\n     * @param {function} callback - All recorded blobs are passed back to the \"callback\" function.\r\n     * @method\r\n     * @memberof MRecordRTC\r\n     * @example\r\n     * recorder.getBlob(function(recording){\r\n     *     var audioBlob = recording.audio;\r\n     *     var videoBlob = recording.video;\r\n     *     var gifBlob   = recording.gif;\r\n     * });\r\n     * // or\r\n     * var audioBlob = recorder.getBlob().audio;\r\n     * var videoBlob = recorder.getBlob().video;\r\n     */\r\n    this.getBlob = function(callback) {\r\n        var output = {};\r\n\r\n        if (this.audioRecorder) {\r\n            output.audio = this.audioRecorder.getBlob();\r\n        }\r\n\r\n        if (this.videoRecorder) {\r\n            output.video = this.videoRecorder.getBlob();\r\n        }\r\n\r\n        if (this.gifRecorder) {\r\n            output.gif = this.gifRecorder.getBlob();\r\n        }\r\n\r\n        if (callback) {\r\n            callback(output);\r\n        }\r\n\r\n        return output;\r\n    };\r\n\r\n    /**\r\n     * Destroy all recorder instances.\r\n     * @method\r\n     * @memberof MRecordRTC\r\n     * @example\r\n     * recorder.destroy();\r\n     */\r\n    this.destroy = function() {\r\n        if (this.audioRecorder) {\r\n            this.audioRecorder.destroy();\r\n            this.audioRecorder = null;\r\n        }\r\n\r\n        if (this.videoRecorder) {\r\n            this.videoRecorder.destroy();\r\n            this.videoRecorder = null;\r\n        }\r\n\r\n        if (this.gifRecorder) {\r\n            this.gifRecorder.destroy();\r\n            this.gifRecorder = null;\r\n        }\r\n    };\r\n\r\n    /**\r\n     * This method can be used to manually get all recorded blobs' DataURLs.\r\n     * @param {function} callback - All recorded blobs' DataURLs are passed back to the \"callback\" function.\r\n     * @method\r\n     * @memberof MRecordRTC\r\n     * @example\r\n     * recorder.getDataURL(function(recording){\r\n     *     var audioDataURL = recording.audio;\r\n     *     var videoDataURL = recording.video;\r\n     *     var gifDataURL   = recording.gif;\r\n     * });\r\n     */\r\n    this.getDataURL = function(callback) {\r\n        this.getBlob(function(blob) {\r\n            if (blob.audio && blob.video) {\r\n                getDataURL(blob.audio, function(_audioDataURL) {\r\n                    getDataURL(blob.video, function(_videoDataURL) {\r\n                        callback({\r\n                            audio: _audioDataURL,\r\n                            video: _videoDataURL\r\n                        });\r\n                    });\r\n                });\r\n            } else if (blob.audio) {\r\n                getDataURL(blob.audio, function(_audioDataURL) {\r\n                    callback({\r\n                        audio: _audioDataURL\r\n                    });\r\n                });\r\n            } else if (blob.video) {\r\n                getDataURL(blob.video, function(_videoDataURL) {\r\n                    callback({\r\n                        video: _videoDataURL\r\n                    });\r\n                });\r\n            }\r\n        });\r\n\r\n        function getDataURL(blob, callback00) {\r\n            if (typeof Worker !== 'undefined') {\r\n                var webWorker = processInWebWorker(function readFile(_blob) {\r\n                    postMessage(new FileReaderSync().readAsDataURL(_blob));\r\n                });\r\n\r\n                webWorker.onmessage = function(event) {\r\n                    callback00(event.data);\r\n                };\r\n\r\n                webWorker.postMessage(blob);\r\n            } else {\r\n                var reader = new FileReader();\r\n                reader.readAsDataURL(blob);\r\n                reader.onload = function(event) {\r\n                    callback00(event.target.result);\r\n                };\r\n            }\r\n        }\r\n\r\n        function processInWebWorker(_function) {\r\n            var blob = URL.createObjectURL(new Blob([_function.toString(),\r\n                'this.onmessage =  function (eee) {' + _function.name + '(eee.data);}'\r\n            ], {\r\n                type: 'application/javascript'\r\n            }));\r\n\r\n            var worker = new Worker(blob);\r\n            var url;\r\n            if (typeof URL !== 'undefined') {\r\n                url = URL;\r\n            } else if (typeof webkitURL !== 'undefined') {\r\n                url = webkitURL;\r\n            } else {\r\n                throw 'Neither URL nor webkitURL detected.';\r\n            }\r\n            url.revokeObjectURL(blob);\r\n            return worker;\r\n        }\r\n    };\r\n\r\n    /**\r\n     * This method can be used to ask {@link MRecordRTC} to write all recorded blobs into IndexedDB storage.\r\n     * @method\r\n     * @memberof MRecordRTC\r\n     * @example\r\n     * recorder.writeToDisk();\r\n     */\r\n    this.writeToDisk = function() {\r\n        RecordRTC.writeToDisk({\r\n            audio: this.audioRecorder,\r\n            video: this.videoRecorder,\r\n            gif: this.gifRecorder\r\n        });\r\n    };\r\n\r\n    /**\r\n     * This method can be used to invoke a save-as dialog for all recorded blobs.\r\n     * @param {object} args - {audio: 'audio-name', video: 'video-name', gif: 'gif-name'}\r\n     * @method\r\n     * @memberof MRecordRTC\r\n     * @example\r\n     * recorder.save({\r\n     *     audio: 'audio-file-name',\r\n     *     video: 'video-file-name',\r\n     *     gif  : 'gif-file-name'\r\n     * });\r\n     */\r\n    this.save = function(args) {\r\n        args = args || {\r\n            audio: true,\r\n            video: true,\r\n            gif: true\r\n        };\r\n\r\n        if (!!args.audio && this.audioRecorder) {\r\n            this.audioRecorder.save(typeof args.audio === 'string' ? args.audio : '');\r\n        }\r\n\r\n        if (!!args.video && this.videoRecorder) {\r\n            this.videoRecorder.save(typeof args.video === 'string' ? args.video : '');\r\n        }\r\n        if (!!args.gif && this.gifRecorder) {\r\n            this.gifRecorder.save(typeof args.gif === 'string' ? args.gif : '');\r\n        }\r\n    };\r\n}\r\n\r\n/**\r\n * This method can be used to get all recorded blobs from IndexedDB storage.\r\n * @param {string} type - 'all' or 'audio' or 'video' or 'gif'\r\n * @param {function} callback - Callback function to get all stored blobs.\r\n * @method\r\n * @memberof MRecordRTC\r\n * @example\r\n * MRecordRTC.getFromDisk('all', function(dataURL, type){\r\n *     if(type === 'audio') { }\r\n *     if(type === 'video') { }\r\n *     if(type === 'gif')   { }\r\n * });\r\n */\r\nMRecordRTC.getFromDisk = RecordRTC.getFromDisk;\r\n\r\n/**\r\n * This method can be used to store recorded blobs into IndexedDB storage.\r\n * @param {object} options - {audio: Blob, video: Blob, gif: Blob}\r\n * @method\r\n * @memberof MRecordRTC\r\n * @example\r\n * MRecordRTC.writeToDisk({\r\n *     audio: audioBlob,\r\n *     video: videoBlob,\r\n *     gif  : gifBlob\r\n * });\r\n */\r\nMRecordRTC.writeToDisk = RecordRTC.writeToDisk;\r\n\r\nif (typeof RecordRTC !== 'undefined') {\r\n    RecordRTC.MRecordRTC = MRecordRTC;\r\n}\r\n\r\nvar browserFakeUserAgent = 'Fake/5.0 (FakeOS) AppleWebKit/123 (KHTML, like Gecko) Fake/12.3.4567.89 Fake/123.45';\r\n\r\n(function(that) {\r\n    if (!that) {\r\n        return;\r\n    }\r\n\r\n    if (typeof window !== 'undefined') {\r\n        return;\r\n    }\r\n\r\n    if (typeof global === 'undefined') {\r\n        return;\r\n    }\r\n\r\n    global.navigator = {\r\n        userAgent: browserFakeUserAgent,\r\n        getUserMedia: function() {}\r\n    };\r\n\r\n    if (!global.console) {\r\n        global.console = {};\r\n    }\r\n\r\n    if (typeof global.console.log === 'undefined' || typeof global.console.error === 'undefined') {\r\n        global.console.error = global.console.log = global.console.log || function() {\r\n            console.log(arguments);\r\n        };\r\n    }\r\n\r\n    if (typeof document === 'undefined') {\r\n        /*global document:true */\r\n        that.document = {\r\n            documentElement: {\r\n                appendChild: function() {\r\n                    return '';\r\n                }\r\n            }\r\n        };\r\n\r\n        document.createElement = document.captureStream = document.mozCaptureStream = function() {\r\n            var obj = {\r\n                getContext: function() {\r\n                    return obj;\r\n                },\r\n                play: function() {},\r\n                pause: function() {},\r\n                drawImage: function() {},\r\n                toDataURL: function() {\r\n                    return '';\r\n                },\r\n                style: {}\r\n            };\r\n            return obj;\r\n        };\r\n\r\n        that.HTMLVideoElement = function() {};\r\n    }\r\n\r\n    if (typeof location === 'undefined') {\r\n        /*global location:true */\r\n        that.location = {\r\n            protocol: 'file:',\r\n            href: '',\r\n            hash: ''\r\n        };\r\n    }\r\n\r\n    if (typeof screen === 'undefined') {\r\n        /*global screen:true */\r\n        that.screen = {\r\n            width: 0,\r\n            height: 0\r\n        };\r\n    }\r\n\r\n    if (typeof URL === 'undefined') {\r\n        /*global screen:true */\r\n        that.URL = {\r\n            createObjectURL: function() {\r\n                return '';\r\n            },\r\n            revokeObjectURL: function() {\r\n                return '';\r\n            }\r\n        };\r\n    }\r\n\r\n    /*global window:true */\r\n    that.window = global;\r\n})(typeof global !== 'undefined' ? global : null);\r\n\r\n// _____________________________\r\n// Cross-Browser-Declarations.js\r\n\r\n// animation-frame used in WebM recording\r\n\r\n/*jshint -W079 */\r\nvar requestAnimationFrame = window.requestAnimationFrame;\r\nif (typeof requestAnimationFrame === 'undefined') {\r\n    if (typeof webkitRequestAnimationFrame !== 'undefined') {\r\n        /*global requestAnimationFrame:true */\r\n        requestAnimationFrame = webkitRequestAnimationFrame;\r\n    } else if (typeof mozRequestAnimationFrame !== 'undefined') {\r\n        /*global requestAnimationFrame:true */\r\n        requestAnimationFrame = mozRequestAnimationFrame;\r\n    } else if (typeof msRequestAnimationFrame !== 'undefined') {\r\n        /*global requestAnimationFrame:true */\r\n        requestAnimationFrame = msRequestAnimationFrame;\r\n    } else if (typeof requestAnimationFrame === 'undefined') {\r\n        // via: https://gist.github.com/paulirish/1579671\r\n        var lastTime = 0;\r\n\r\n        /*global requestAnimationFrame:true */\r\n        requestAnimationFrame = function(callback, element) {\r\n            var currTime = new Date().getTime();\r\n            var timeToCall = Math.max(0, 16 - (currTime - lastTime));\r\n            var id = setTimeout(function() {\r\n                callback(currTime + timeToCall);\r\n            }, timeToCall);\r\n            lastTime = currTime + timeToCall;\r\n            return id;\r\n        };\r\n    }\r\n}\r\n\r\n/*jshint -W079 */\r\nvar cancelAnimationFrame = window.cancelAnimationFrame;\r\nif (typeof cancelAnimationFrame === 'undefined') {\r\n    if (typeof webkitCancelAnimationFrame !== 'undefined') {\r\n        /*global cancelAnimationFrame:true */\r\n        cancelAnimationFrame = webkitCancelAnimationFrame;\r\n    } else if (typeof mozCancelAnimationFrame !== 'undefined') {\r\n        /*global cancelAnimationFrame:true */\r\n        cancelAnimationFrame = mozCancelAnimationFrame;\r\n    } else if (typeof msCancelAnimationFrame !== 'undefined') {\r\n        /*global cancelAnimationFrame:true */\r\n        cancelAnimationFrame = msCancelAnimationFrame;\r\n    } else if (typeof cancelAnimationFrame === 'undefined') {\r\n        /*global cancelAnimationFrame:true */\r\n        cancelAnimationFrame = function(id) {\r\n            clearTimeout(id);\r\n        };\r\n    }\r\n}\r\n\r\n// WebAudio API representer\r\nvar AudioContext = window.AudioContext;\r\n\r\nif (typeof AudioContext === 'undefined') {\r\n    if (typeof webkitAudioContext !== 'undefined') {\r\n        /*global AudioContext:true */\r\n        AudioContext = webkitAudioContext;\r\n    }\r\n\r\n    if (typeof mozAudioContext !== 'undefined') {\r\n        /*global AudioContext:true */\r\n        AudioContext = mozAudioContext;\r\n    }\r\n}\r\n\r\n/*jshint -W079 */\r\nvar URL = window.URL;\r\n\r\nif (typeof URL === 'undefined' && typeof webkitURL !== 'undefined') {\r\n    /*global URL:true */\r\n    URL = webkitURL;\r\n}\r\n\r\nif (typeof navigator !== 'undefined' && typeof navigator.getUserMedia === 'undefined') { // maybe window.navigator?\r\n    if (typeof navigator.webkitGetUserMedia !== 'undefined') {\r\n        navigator.getUserMedia = navigator.webkitGetUserMedia;\r\n    }\r\n\r\n    if (typeof navigator.mozGetUserMedia !== 'undefined') {\r\n        navigator.getUserMedia = navigator.mozGetUserMedia;\r\n    }\r\n}\r\n\r\nvar isEdge = navigator.userAgent.indexOf('Edge') !== -1 && (!!navigator.msSaveBlob || !!navigator.msSaveOrOpenBlob);\r\nvar isOpera = !!window.opera || navigator.userAgent.indexOf('OPR/') !== -1;\r\nvar isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') > -1 && ('netscape' in window) && / rv:/.test(navigator.userAgent);\r\nvar isChrome = (!isOpera && !isEdge && !!navigator.webkitGetUserMedia) || isElectron() || navigator.userAgent.toLowerCase().indexOf('chrome/') !== -1;\r\n\r\nvar isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\r\n\r\nif (isSafari && !isChrome && navigator.userAgent.indexOf('CriOS') !== -1) {\r\n    isSafari = false;\r\n    isChrome = true;\r\n}\r\n\r\nvar MediaStream = window.MediaStream;\r\n\r\nif (typeof MediaStream === 'undefined' && typeof webkitMediaStream !== 'undefined') {\r\n    MediaStream = webkitMediaStream;\r\n}\r\n\r\n/*global MediaStream:true */\r\nif (typeof MediaStream !== 'undefined') {\r\n    // override \"stop\" method for all browsers\r\n    if (typeof MediaStream.prototype.stop === 'undefined') {\r\n        MediaStream.prototype.stop = function() {\r\n            this.getTracks().forEach(function(track) {\r\n                track.stop();\r\n            });\r\n        };\r\n    }\r\n}\r\n\r\n// below function via: http://goo.gl/B3ae8c\r\n/**\r\n * Return human-readable file size.\r\n * @param {number} bytes - Pass bytes and get formatted string.\r\n * @returns {string} - formatted string\r\n * @example\r\n * bytesToSize(1024*1024*5) === '5 GB'\r\n * @see {@link https://github.com/muaz-khan/RecordRTC|RecordRTC Source Code}\r\n */\r\nfunction bytesToSize(bytes) {\r\n    var k = 1000;\r\n    var sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB'];\r\n    if (bytes === 0) {\r\n        return '0 Bytes';\r\n    }\r\n    var i = parseInt(Math.floor(Math.log(bytes) / Math.log(k)), 10);\r\n    return (bytes / Math.pow(k, i)).toPrecision(3) + ' ' + sizes[i];\r\n}\r\n\r\n/**\r\n * @param {Blob} file - File or Blob object. This parameter is required.\r\n * @param {string} fileName - Optional file name e.g. \"Recorded-Video.webm\"\r\n * @example\r\n * invokeSaveAsDialog(blob or file, [optional] fileName);\r\n * @see {@link https://github.com/muaz-khan/RecordRTC|RecordRTC Source Code}\r\n */\r\nfunction invokeSaveAsDialog(file, fileName) {\r\n    if (!file) {\r\n        throw 'Blob object is required.';\r\n    }\r\n\r\n    if (!file.type) {\r\n        try {\r\n            file.type = 'video/webm';\r\n        } catch (e) {}\r\n    }\r\n\r\n    var fileExtension = (file.type || 'video/webm').split('/')[1];\r\n\r\n    if (fileName && fileName.indexOf('.') !== -1) {\r\n        var splitted = fileName.split('.');\r\n        fileName = splitted[0];\r\n        fileExtension = splitted[1];\r\n    }\r\n\r\n    var fileFullName = (fileName || (Math.round(Math.random() * 9999999999) + 888888888)) + '.' + fileExtension;\r\n\r\n    if (typeof navigator.msSaveOrOpenBlob !== 'undefined') {\r\n        return navigator.msSaveOrOpenBlob(file, fileFullName);\r\n    } else if (typeof navigator.msSaveBlob !== 'undefined') {\r\n        return navigator.msSaveBlob(file, fileFullName);\r\n    }\r\n\r\n    var hyperlink = document.createElement('a');\r\n    hyperlink.href = URL.createObjectURL(file);\r\n    hyperlink.download = fileFullName;\r\n\r\n    hyperlink.style = 'display:none;opacity:0;color:transparent;';\r\n    (document.body || document.documentElement).appendChild(hyperlink);\r\n\r\n    if (typeof hyperlink.click === 'function') {\r\n        hyperlink.click();\r\n    } else {\r\n        hyperlink.target = '_blank';\r\n        hyperlink.dispatchEvent(new MouseEvent('click', {\r\n            view: window,\r\n            bubbles: true,\r\n            cancelable: true\r\n        }));\r\n    }\r\n\r\n    URL.revokeObjectURL(hyperlink.href);\r\n}\r\n\r\n/**\r\n * from: https://github.com/cheton/is-electron/blob/master/index.js\r\n **/\r\nfunction isElectron() {\r\n    // Renderer process\r\n    if (typeof window !== 'undefined' && typeof window.process === 'object' && window.process.type === 'renderer') {\r\n        return true;\r\n    }\r\n\r\n    // Main process\r\n    if (typeof process !== 'undefined' && typeof process.versions === 'object' && !!process.versions.electron) {\r\n        return true;\r\n    }\r\n\r\n    // Detect the user agent when the `nodeIntegration` option is set to true\r\n    if (typeof navigator === 'object' && typeof navigator.userAgent === 'string' && navigator.userAgent.indexOf('Electron') >= 0) {\r\n        return true;\r\n    }\r\n\r\n    return false;\r\n}\r\n\r\nfunction getTracks(stream, kind) {\r\n    if (!stream || !stream.getTracks) {\r\n        return [];\r\n    }\r\n\r\n    return stream.getTracks().filter(function(t) {\r\n        return t.kind === (kind || 'audio');\r\n    });\r\n}\r\n\r\nfunction setSrcObject(stream, element) {\r\n    if ('srcObject' in element) {\r\n        element.srcObject = stream;\r\n    } else if ('mozSrcObject' in element) {\r\n        element.mozSrcObject = stream;\r\n    } else {\r\n        element.srcObject = stream;\r\n    }\r\n}\r\n\r\n/**\r\n * @param {Blob} file - File or Blob object.\r\n * @param {function} callback - Callback function.\r\n * @example\r\n * getSeekableBlob(blob or file, callback);\r\n * @see {@link https://github.com/muaz-khan/RecordRTC|RecordRTC Source Code}\r\n */\r\nfunction getSeekableBlob(inputBlob, callback) {\r\n    // EBML.js copyrights goes to: https://github.com/legokichi/ts-ebml\r\n    if (typeof EBML === 'undefined') {\r\n        throw new Error('Please link: https://www.webrtc-experiment.com/EBML.js');\r\n    }\r\n\r\n    var reader = new EBML.Reader();\r\n    var decoder = new EBML.Decoder();\r\n    var tools = EBML.tools;\r\n\r\n    var fileReader = new FileReader();\r\n    fileReader.onload = function(e) {\r\n        var ebmlElms = decoder.decode(this.result);\r\n        ebmlElms.forEach(function(element) {\r\n            reader.read(element);\r\n        });\r\n        reader.stop();\r\n        var refinedMetadataBuf = tools.makeMetadataSeekable(reader.metadatas, reader.duration, reader.cues);\r\n        var body = this.result.slice(reader.metadataSize);\r\n        var newBlob = new Blob([refinedMetadataBuf, body], {\r\n            type: 'video/webm'\r\n        });\r\n\r\n        callback(newBlob);\r\n    };\r\n    fileReader.readAsArrayBuffer(inputBlob);\r\n}\r\n\r\nif (typeof RecordRTC !== 'undefined') {\r\n    RecordRTC.invokeSaveAsDialog = invokeSaveAsDialog;\r\n    RecordRTC.getTracks = getTracks;\r\n    RecordRTC.getSeekableBlob = getSeekableBlob;\r\n    RecordRTC.bytesToSize = bytesToSize;\r\n    RecordRTC.isElectron = isElectron;\r\n}\r\n\r\n// __________ (used to handle stuff like http://goo.gl/xmE5eg) issue #129\r\n// Storage.js\r\n\r\n/**\r\n * Storage is a standalone object used by {@link RecordRTC} to store reusable objects e.g. \"new AudioContext\".\r\n * @license {@link https://github.com/muaz-khan/RecordRTC/blob/master/LICENSE|MIT}\r\n * @author {@link https://MuazKhan.com|Muaz Khan}\r\n * @example\r\n * Storage.AudioContext === webkitAudioContext\r\n * @property {webkitAudioContext} AudioContext - Keeps a reference to AudioContext object.\r\n * @see {@link https://github.com/muaz-khan/RecordRTC|RecordRTC Source Code}\r\n */\r\n\r\nvar Storage = {};\r\n\r\nif (typeof AudioContext !== 'undefined') {\r\n    Storage.AudioContext = AudioContext;\r\n} else if (typeof webkitAudioContext !== 'undefined') {\r\n    Storage.AudioContext = webkitAudioContext;\r\n}\r\n\r\nif (typeof RecordRTC !== 'undefined') {\r\n    RecordRTC.Storage = Storage;\r\n}\r\n\r\nfunction isMediaRecorderCompatible() {\r\n    if (isFirefox || isSafari || isEdge) {\r\n        return true;\r\n    }\r\n\r\n    var nVer = navigator.appVersion;\r\n    var nAgt = navigator.userAgent;\r\n    var fullVersion = '' + parseFloat(navigator.appVersion);\r\n    var majorVersion = parseInt(navigator.appVersion, 10);\r\n    var nameOffset, verOffset, ix;\r\n\r\n    if (isChrome || isOpera) {\r\n        verOffset = nAgt.indexOf('Chrome');\r\n        fullVersion = nAgt.substring(verOffset + 7);\r\n    }\r\n\r\n    // trim the fullVersion string at semicolon/space if present\r\n    if ((ix = fullVersion.indexOf(';')) !== -1) {\r\n        fullVersion = fullVersion.substring(0, ix);\r\n    }\r\n\r\n    if ((ix = fullVersion.indexOf(' ')) !== -1) {\r\n        fullVersion = fullVersion.substring(0, ix);\r\n    }\r\n\r\n    majorVersion = parseInt('' + fullVersion, 10);\r\n\r\n    if (isNaN(majorVersion)) {\r\n        fullVersion = '' + parseFloat(navigator.appVersion);\r\n        majorVersion = parseInt(navigator.appVersion, 10);\r\n    }\r\n\r\n    return majorVersion >= 49;\r\n}\r\n\r\n// ______________________\r\n// MediaStreamRecorder.js\r\n\r\n/**\r\n * MediaStreamRecorder is an abstraction layer for {@link https://w3c.github.io/mediacapture-record/MediaRecorder.html|MediaRecorder API}. It is used by {@link RecordRTC} to record MediaStream(s) in both Chrome and Firefox.\r\n * @summary Runs top over {@link https://w3c.github.io/mediacapture-record/MediaRecorder.html|MediaRecorder API}.\r\n * @license {@link https://github.com/muaz-khan/RecordRTC/blob/master/LICENSE|MIT}\r\n * @author {@link https://github.com/muaz-khan|Muaz Khan}\r\n * @typedef MediaStreamRecorder\r\n * @class\r\n * @example\r\n * var config = {\r\n *     mimeType: 'video/webm', // vp8, vp9, h264, mkv, opus/vorbis\r\n *     audioBitsPerSecond : 256 * 8 * 1024,\r\n *     videoBitsPerSecond : 256 * 8 * 1024,\r\n *     bitsPerSecond: 256 * 8 * 1024,  // if this is provided, skip above two\r\n *     checkForInactiveTracks: true,\r\n *     timeSlice: 1000, // concatenate intervals based blobs\r\n *     ondataavailable: function() {} // get intervals based blobs\r\n * }\r\n * var recorder = new MediaStreamRecorder(mediaStream, config);\r\n * recorder.record();\r\n * recorder.stop(function(blob) {\r\n *     video.src = URL.createObjectURL(blob);\r\n *\r\n *     // or\r\n *     var blob = recorder.blob;\r\n * });\r\n * @see {@link https://github.com/muaz-khan/RecordRTC|RecordRTC Source Code}\r\n * @param {MediaStream} mediaStream - MediaStream object fetched using getUserMedia API or generated using captureStreamUntilEnded or WebAudio API.\r\n * @param {object} config - {disableLogs:true, initCallback: function, mimeType: \"video/webm\", timeSlice: 1000}\r\n * @throws Will throw an error if first argument \"MediaStream\" is missing. Also throws error if \"MediaRecorder API\" are not supported by the browser.\r\n */\r\n\r\nfunction MediaStreamRecorder(mediaStream, config) {\r\n    var self = this;\r\n\r\n    if (typeof mediaStream === 'undefined') {\r\n        throw 'First argument \"MediaStream\" is required.';\r\n    }\r\n\r\n    if (typeof MediaRecorder === 'undefined') {\r\n        throw 'Your browser does not support the Media Recorder API. Please try other modules e.g. WhammyRecorder or StereoAudioRecorder.';\r\n    }\r\n\r\n    config = config || {\r\n        // bitsPerSecond: 256 * 8 * 1024,\r\n        mimeType: 'video/webm'\r\n    };\r\n\r\n    if (config.type === 'audio') {\r\n        if (getTracks(mediaStream, 'video').length && getTracks(mediaStream, 'audio').length) {\r\n            var stream;\r\n            if (!!navigator.mozGetUserMedia) {\r\n                stream = new MediaStream();\r\n                stream.addTrack(getTracks(mediaStream, 'audio')[0]);\r\n            } else {\r\n                // webkitMediaStream\r\n                stream = new MediaStream(getTracks(mediaStream, 'audio'));\r\n            }\r\n            mediaStream = stream;\r\n        }\r\n\r\n        if (!config.mimeType || config.mimeType.toString().toLowerCase().indexOf('audio') === -1) {\r\n            config.mimeType = isChrome ? 'audio/webm' : 'audio/ogg';\r\n        }\r\n\r\n        if (config.mimeType && config.mimeType.toString().toLowerCase() !== 'audio/ogg' && !!navigator.mozGetUserMedia) {\r\n            // forcing better codecs on Firefox (via #166)\r\n            config.mimeType = 'audio/ogg';\r\n        }\r\n    }\r\n\r\n    var arrayOfBlobs = [];\r\n\r\n    /**\r\n     * This method returns array of blobs. Use only with \"timeSlice\". Its useful to preview recording anytime, without using the \"stop\" method.\r\n     * @method\r\n     * @memberof MediaStreamRecorder\r\n     * @example\r\n     * var arrayOfBlobs = recorder.getArrayOfBlobs();\r\n     * @returns {Array} Returns array of recorded blobs.\r\n     */\r\n    this.getArrayOfBlobs = function() {\r\n        return arrayOfBlobs;\r\n    };\r\n\r\n    /**\r\n     * This method records MediaStream.\r\n     * @method\r\n     * @memberof MediaStreamRecorder\r\n     * @example\r\n     * recorder.record();\r\n     */\r\n    this.record = function() {\r\n        // set defaults\r\n        self.blob = null;\r\n        self.clearRecordedData();\r\n        self.timestamps = [];\r\n        allStates = [];\r\n        arrayOfBlobs = [];\r\n\r\n        var recorderHints = config;\r\n\r\n        if (!config.disableLogs) {\r\n            console.log('Passing following config over MediaRecorder API.', recorderHints);\r\n        }\r\n\r\n        if (mediaRecorder) {\r\n            // mandatory to make sure Firefox doesn't fails to record streams 3-4 times without reloading the page.\r\n            mediaRecorder = null;\r\n        }\r\n\r\n        if (isChrome && !isMediaRecorderCompatible()) {\r\n            // to support video-only recording on stable\r\n            recorderHints = 'video/vp8';\r\n        }\r\n\r\n        if (typeof MediaRecorder.isTypeSupported === 'function' && recorderHints.mimeType) {\r\n            if (!MediaRecorder.isTypeSupported(recorderHints.mimeType)) {\r\n                if (!config.disableLogs) {\r\n                    console.warn('MediaRecorder API seems unable to record mimeType:', recorderHints.mimeType);\r\n                }\r\n\r\n                recorderHints.mimeType = config.type === 'audio' ? 'audio/webm' : 'video/webm';\r\n            }\r\n        }\r\n\r\n        // using MediaRecorder API here\r\n        try {\r\n            mediaRecorder = new MediaRecorder(mediaStream, recorderHints);\r\n\r\n            // reset\r\n            config.mimeType = recorderHints.mimeType;\r\n        } catch (e) {\r\n            // chrome-based fallback\r\n            mediaRecorder = new MediaRecorder(mediaStream);\r\n        }\r\n\r\n        // old hack?\r\n        if (recorderHints.mimeType && !MediaRecorder.isTypeSupported && 'canRecordMimeType' in mediaRecorder && mediaRecorder.canRecordMimeType(recorderHints.mimeType) === false) {\r\n            if (!config.disableLogs) {\r\n                console.warn('MediaRecorder API seems unable to record mimeType:', recorderHints.mimeType);\r\n            }\r\n        }\r\n\r\n        // Dispatching OnDataAvailable Handler\r\n        mediaRecorder.ondataavailable = function(e) {\r\n            if (e.data) {\r\n                allStates.push('ondataavailable: ' + bytesToSize(e.data.size));\r\n            }\r\n\r\n            if (typeof config.timeSlice === 'number') {\r\n                if (e.data && e.data.size && e.data.size > 100) {\r\n                    arrayOfBlobs.push(e.data);\r\n                    updateTimeStamp();\r\n\r\n                    if (typeof config.ondataavailable === 'function') {\r\n                        // intervals based blobs\r\n                        var blob = config.getNativeBlob ? e.data : new Blob([e.data], {\r\n                            type: getMimeType(recorderHints)\r\n                        });\r\n                        config.ondataavailable(blob);\r\n                    }\r\n                }\r\n                return;\r\n            }\r\n\r\n            if (!e.data || !e.data.size || e.data.size < 100 || self.blob) {\r\n                // make sure that stopRecording always getting fired\r\n                // even if there is invalid data\r\n                if (self.recordingCallback) {\r\n                    self.recordingCallback(new Blob([], {\r\n                        type: getMimeType(recorderHints)\r\n                    }));\r\n                    self.recordingCallback = null;\r\n                }\r\n                return;\r\n            }\r\n\r\n            self.blob = config.getNativeBlob ? e.data : new Blob([e.data], {\r\n                type: getMimeType(recorderHints)\r\n            });\r\n\r\n            if (self.recordingCallback) {\r\n                self.recordingCallback(self.blob);\r\n                self.recordingCallback = null;\r\n            }\r\n        };\r\n\r\n        mediaRecorder.onstart = function() {\r\n            allStates.push('started');\r\n        };\r\n\r\n        mediaRecorder.onpause = function() {\r\n            allStates.push('paused');\r\n        };\r\n\r\n        mediaRecorder.onresume = function() {\r\n            allStates.push('resumed');\r\n        };\r\n\r\n        mediaRecorder.onstop = function() {\r\n            allStates.push('stopped');\r\n        };\r\n\r\n        mediaRecorder.onerror = function(error) {\r\n            if (!error) {\r\n                return;\r\n            }\r\n\r\n            if (!error.name) {\r\n                error.name = 'UnknownError';\r\n            }\r\n\r\n            allStates.push('error: ' + error);\r\n\r\n            if (!config.disableLogs) {\r\n                // via: https://w3c.github.io/mediacapture-record/MediaRecorder.html#exception-summary\r\n                if (error.name.toString().toLowerCase().indexOf('invalidstate') !== -1) {\r\n                    console.error('The MediaRecorder is not in a state in which the proposed operation is allowed to be executed.', error);\r\n                } else if (error.name.toString().toLowerCase().indexOf('notsupported') !== -1) {\r\n                    console.error('MIME type (', recorderHints.mimeType, ') is not supported.', error);\r\n                } else if (error.name.toString().toLowerCase().indexOf('security') !== -1) {\r\n                    console.error('MediaRecorder security error', error);\r\n                }\r\n\r\n                // older code below\r\n                else if (error.name === 'OutOfMemory') {\r\n                    console.error('The UA has exhaused the available memory. User agents SHOULD provide as much additional information as possible in the message attribute.', error);\r\n                } else if (error.name === 'IllegalStreamModification') {\r\n                    console.error('A modification to the stream has occurred that makes it impossible to continue recording. An example would be the addition of a Track while recording is occurring. User agents SHOULD provide as much additional information as possible in the message attribute.', error);\r\n                } else if (error.name === 'OtherRecordingError') {\r\n                    console.error('Used for an fatal error other than those listed above. User agents SHOULD provide as much additional information as possible in the message attribute.', error);\r\n                } else if (error.name === 'GenericError') {\r\n                    console.error('The UA cannot provide the codec or recording option that has been requested.', error);\r\n                } else {\r\n                    console.error('MediaRecorder Error', error);\r\n                }\r\n            }\r\n\r\n            (function(looper) {\r\n                if (!self.manuallyStopped && mediaRecorder && mediaRecorder.state === 'inactive') {\r\n                    delete config.timeslice;\r\n\r\n                    // 10 minutes, enough?\r\n                    mediaRecorder.start(10 * 60 * 1000);\r\n                    return;\r\n                }\r\n\r\n                setTimeout(looper, 1000);\r\n            })();\r\n\r\n            if (mediaRecorder.state !== 'inactive' && mediaRecorder.state !== 'stopped') {\r\n                mediaRecorder.stop();\r\n            }\r\n        };\r\n\r\n        if (typeof config.timeSlice === 'number') {\r\n            updateTimeStamp();\r\n            mediaRecorder.start(config.timeSlice);\r\n        } else {\r\n            // default is 60 minutes; enough?\r\n            // use config => {timeSlice: 1000} otherwise\r\n\r\n            mediaRecorder.start(3.6e+6);\r\n        }\r\n\r\n        if (config.initCallback) {\r\n            config.initCallback(); // old code\r\n        }\r\n    };\r\n\r\n    /**\r\n     * @property {Array} timestamps - Array of time stamps\r\n     * @memberof MediaStreamRecorder\r\n     * @example\r\n     * console.log(recorder.timestamps);\r\n     */\r\n    this.timestamps = [];\r\n\r\n    function updateTimeStamp() {\r\n        self.timestamps.push(new Date().getTime());\r\n\r\n        if (typeof config.onTimeStamp === 'function') {\r\n            config.onTimeStamp(self.timestamps[self.timestamps.length - 1], self.timestamps);\r\n        }\r\n    }\r\n\r\n    function getMimeType(secondObject) {\r\n        if (mediaRecorder && mediaRecorder.mimeType) {\r\n            return mediaRecorder.mimeType;\r\n        }\r\n\r\n        return secondObject.mimeType || 'video/webm';\r\n    }\r\n\r\n    /**\r\n     * This method stops recording MediaStream.\r\n     * @param {function} callback - Callback function, that is used to pass recorded blob back to the callee.\r\n     * @method\r\n     * @memberof MediaStreamRecorder\r\n     * @example\r\n     * recorder.stop(function(blob) {\r\n     *     video.src = URL.createObjectURL(blob);\r\n     * });\r\n     */\r\n    this.stop = function(callback) {\r\n        callback = callback || function() {};\r\n\r\n        self.manuallyStopped = true; // used inside the mediaRecorder.onerror\r\n\r\n        if (!mediaRecorder) {\r\n            return;\r\n        }\r\n\r\n        this.recordingCallback = callback;\r\n\r\n        if (mediaRecorder.state === 'recording') {\r\n            mediaRecorder.stop();\r\n        }\r\n\r\n        if (typeof config.timeSlice === 'number') {\r\n            setTimeout(function() {\r\n                self.blob = new Blob(arrayOfBlobs, {\r\n                    type: getMimeType(config)\r\n                });\r\n\r\n                self.recordingCallback(self.blob);\r\n            }, 100);\r\n        }\r\n    };\r\n\r\n    /**\r\n     * This method pauses the recording process.\r\n     * @method\r\n     * @memberof MediaStreamRecorder\r\n     * @example\r\n     * recorder.pause();\r\n     */\r\n    this.pause = function() {\r\n        if (!mediaRecorder) {\r\n            return;\r\n        }\r\n\r\n        if (mediaRecorder.state === 'recording') {\r\n            mediaRecorder.pause();\r\n        }\r\n    };\r\n\r\n    /**\r\n     * This method resumes the recording process.\r\n     * @method\r\n     * @memberof MediaStreamRecorder\r\n     * @example\r\n     * recorder.resume();\r\n     */\r\n    this.resume = function() {\r\n        if (!mediaRecorder) {\r\n            return;\r\n        }\r\n\r\n        if (mediaRecorder.state === 'paused') {\r\n            mediaRecorder.resume();\r\n        }\r\n    };\r\n\r\n    /**\r\n     * This method resets currently recorded data.\r\n     * @method\r\n     * @memberof MediaStreamRecorder\r\n     * @example\r\n     * recorder.clearRecordedData();\r\n     */\r\n    this.clearRecordedData = function() {\r\n        if (mediaRecorder && mediaRecorder.state === 'recording') {\r\n            self.stop(clearRecordedDataCB);\r\n        }\r\n\r\n        clearRecordedDataCB();\r\n    };\r\n\r\n    function clearRecordedDataCB() {\r\n        arrayOfBlobs = [];\r\n        mediaRecorder = null;\r\n        self.timestamps = [];\r\n    }\r\n\r\n    // Reference to \"MediaRecorder\" object\r\n    var mediaRecorder;\r\n\r\n    /**\r\n     * Access to native MediaRecorder API\r\n     * @method\r\n     * @memberof MediaStreamRecorder\r\n     * @instance\r\n     * @example\r\n     * var internal = recorder.getInternalRecorder();\r\n     * internal.ondataavailable = function() {}; // override\r\n     * internal.stream, internal.onpause, internal.onstop, etc.\r\n     * @returns {Object} Returns internal recording object.\r\n     */\r\n    this.getInternalRecorder = function() {\r\n        return mediaRecorder;\r\n    };\r\n\r\n    function isMediaStreamActive() {\r\n        if ('active' in mediaStream) {\r\n            if (!mediaStream.active) {\r\n                return false;\r\n            }\r\n        } else if ('ended' in mediaStream) { // old hack\r\n            if (mediaStream.ended) {\r\n                return false;\r\n            }\r\n        }\r\n        return true;\r\n    }\r\n\r\n    /**\r\n     * @property {Blob} blob - Recorded data as \"Blob\" object.\r\n     * @memberof MediaStreamRecorder\r\n     * @example\r\n     * recorder.stop(function() {\r\n     *     var blob = recorder.blob;\r\n     * });\r\n     */\r\n    this.blob = null;\r\n\r\n\r\n    /**\r\n     * Get MediaRecorder readonly state.\r\n     * @method\r\n     * @memberof MediaStreamRecorder\r\n     * @example\r\n     * var state = recorder.getState();\r\n     * @returns {String} Returns recording state.\r\n     */\r\n    this.getState = function() {\r\n        if (!mediaRecorder) {\r\n            return 'inactive';\r\n        }\r\n\r\n        return mediaRecorder.state || 'inactive';\r\n    };\r\n\r\n    // list of all recording states\r\n    var allStates = [];\r\n\r\n    /**\r\n     * Get MediaRecorder all recording states.\r\n     * @method\r\n     * @memberof MediaStreamRecorder\r\n     * @example\r\n     * var state = recorder.getAllStates();\r\n     * @returns {Array} Returns all recording states\r\n     */\r\n    this.getAllStates = function() {\r\n        return allStates;\r\n    };\r\n\r\n    // if any Track within the MediaStream is muted or not enabled at any time, \r\n    // the browser will only record black frames \r\n    // or silence since that is the content produced by the Track\r\n    // so we need to stopRecording as soon as any single track ends.\r\n    if (typeof config.checkForInactiveTracks === 'undefined') {\r\n        config.checkForInactiveTracks = false; // disable to minimize CPU usage\r\n    }\r\n\r\n    var self = this;\r\n\r\n    // this method checks if media stream is stopped\r\n    // or if any track is ended.\r\n    (function looper() {\r\n        if (!mediaRecorder || config.checkForInactiveTracks === false) {\r\n            return;\r\n        }\r\n\r\n        if (isMediaStreamActive() === false) {\r\n            if (!config.disableLogs) {\r\n                console.log('MediaStream seems stopped.');\r\n            }\r\n            self.stop();\r\n            return;\r\n        }\r\n\r\n        setTimeout(looper, 1000); // check every second\r\n    })();\r\n\r\n    // for debugging\r\n    this.name = 'MediaStreamRecorder';\r\n    this.toString = function() {\r\n        return this.name;\r\n    };\r\n}\r\n\r\nif (typeof RecordRTC !== 'undefined') {\r\n    RecordRTC.MediaStreamRecorder = MediaStreamRecorder;\r\n}\r\n\r\n// source code from: http://typedarray.org/wp-content/projects/WebAudioRecorder/script.js\r\n// https://github.com/mattdiamond/Recorderjs#license-mit\r\n// ______________________\r\n// StereoAudioRecorder.js\r\n\r\n/**\r\n * StereoAudioRecorder is a standalone class used by {@link RecordRTC} to bring \"stereo\" audio-recording in chrome.\r\n * @summary JavaScript standalone object for stereo audio recording.\r\n * @license {@link https://github.com/muaz-khan/RecordRTC/blob/master/LICENSE|MIT}\r\n * @author {@link https://MuazKhan.com|Muaz Khan}\r\n * @typedef StereoAudioRecorder\r\n * @class\r\n * @example\r\n * var recorder = new StereoAudioRecorder(MediaStream, {\r\n *     sampleRate: 44100,\r\n *     bufferSize: 4096\r\n * });\r\n * recorder.record();\r\n * recorder.stop(function(blob) {\r\n *     video.src = URL.createObjectURL(blob);\r\n * });\r\n * @see {@link https://github.com/muaz-khan/RecordRTC|RecordRTC Source Code}\r\n * @param {MediaStream} mediaStream - MediaStream object fetched using getUserMedia API or generated using captureStreamUntilEnded or WebAudio API.\r\n * @param {object} config - {sampleRate: 44100, bufferSize: 4096, numberOfAudioChannels: 1, etc.}\r\n */\r\n\r\nfunction StereoAudioRecorder(mediaStream, config) {\r\n    if (!getTracks(mediaStream, 'audio').length) {\r\n        throw 'Your stream has no audio tracks.';\r\n    }\r\n\r\n    config = config || {};\r\n\r\n    var self = this;\r\n\r\n    // variables\r\n    var leftchannel = [];\r\n    var rightchannel = [];\r\n    var recording = false;\r\n    var recordingLength = 0;\r\n    var jsAudioNode;\r\n\r\n    var numberOfAudioChannels = 2;\r\n\r\n    /**\r\n     * Set sample rates such as 8K or 16K. Reference: http://stackoverflow.com/a/28977136/552182\r\n     * @property {number} desiredSampRate - Desired Bits per sample * 1000\r\n     * @memberof StereoAudioRecorder\r\n     * @instance\r\n     * @example\r\n     * var recorder = StereoAudioRecorder(mediaStream, {\r\n     *   desiredSampRate: 16 * 1000 // bits-per-sample * 1000\r\n     * });\r\n     */\r\n    var desiredSampRate = config.desiredSampRate;\r\n\r\n    // backward compatibility\r\n    if (config.leftChannel === true) {\r\n        numberOfAudioChannels = 1;\r\n    }\r\n\r\n    if (config.numberOfAudioChannels === 1) {\r\n        numberOfAudioChannels = 1;\r\n    }\r\n\r\n    if (!numberOfAudioChannels || numberOfAudioChannels < 1) {\r\n        numberOfAudioChannels = 2;\r\n    }\r\n\r\n    if (!config.disableLogs) {\r\n        console.log('StereoAudioRecorder is set to record number of channels: ' + numberOfAudioChannels);\r\n    }\r\n\r\n    // if any Track within the MediaStream is muted or not enabled at any time, \r\n    // the browser will only record black frames \r\n    // or silence since that is the content produced by the Track\r\n    // so we need to stopRecording as soon as any single track ends.\r\n    if (typeof config.checkForInactiveTracks === 'undefined') {\r\n        config.checkForInactiveTracks = true;\r\n    }\r\n\r\n    function isMediaStreamActive() {\r\n        if (config.checkForInactiveTracks === false) {\r\n            // always return \"true\"\r\n            return true;\r\n        }\r\n\r\n        if ('active' in mediaStream) {\r\n            if (!mediaStream.active) {\r\n                return false;\r\n            }\r\n        } else if ('ended' in mediaStream) { // old hack\r\n            if (mediaStream.ended) {\r\n                return false;\r\n            }\r\n        }\r\n        return true;\r\n    }\r\n\r\n    /**\r\n     * This method records MediaStream.\r\n     * @method\r\n     * @memberof StereoAudioRecorder\r\n     * @example\r\n     * recorder.record();\r\n     */\r\n    this.record = function() {\r\n        if (isMediaStreamActive() === false) {\r\n            throw 'Please make sure MediaStream is active.';\r\n        }\r\n\r\n        resetVariables();\r\n\r\n        isAudioProcessStarted = isPaused = false;\r\n        recording = true;\r\n\r\n        if (typeof config.timeSlice !== 'undefined') {\r\n            looper();\r\n        }\r\n    };\r\n\r\n    function mergeLeftRightBuffers(config, callback) {\r\n        function mergeAudioBuffers(config, cb) {\r\n            var numberOfAudioChannels = config.numberOfAudioChannels;\r\n\r\n            // todo: \"slice(0)\" --- is it causes loop? Should be removed?\r\n            var leftBuffers = config.leftBuffers.slice(0);\r\n            var rightBuffers = config.rightBuffers.slice(0);\r\n            var sampleRate = config.sampleRate;\r\n            var internalInterleavedLength = config.internalInterleavedLength;\r\n            var desiredSampRate = config.desiredSampRate;\r\n\r\n            if (numberOfAudioChannels === 2) {\r\n                leftBuffers = mergeBuffers(leftBuffers, internalInterleavedLength);\r\n                rightBuffers = mergeBuffers(rightBuffers, internalInterleavedLength);\r\n\r\n                if (desiredSampRate) {\r\n                    leftBuffers = interpolateArray(leftBuffers, desiredSampRate, sampleRate);\r\n                    rightBuffers = interpolateArray(rightBuffers, desiredSampRate, sampleRate);\r\n                }\r\n            }\r\n\r\n            if (numberOfAudioChannels === 1) {\r\n                leftBuffers = mergeBuffers(leftBuffers, internalInterleavedLength);\r\n\r\n                if (desiredSampRate) {\r\n                    leftBuffers = interpolateArray(leftBuffers, desiredSampRate, sampleRate);\r\n                }\r\n            }\r\n\r\n            // set sample rate as desired sample rate\r\n            if (desiredSampRate) {\r\n                sampleRate = desiredSampRate;\r\n            }\r\n\r\n            // for changing the sampling rate, reference:\r\n            // http://stackoverflow.com/a/28977136/552182\r\n            function interpolateArray(data, newSampleRate, oldSampleRate) {\r\n                var fitCount = Math.round(data.length * (newSampleRate / oldSampleRate));\r\n                var newData = [];\r\n                var springFactor = Number((data.length - 1) / (fitCount - 1));\r\n                newData[0] = data[0];\r\n                for (var i = 1; i < fitCount - 1; i++) {\r\n                    var tmp = i * springFactor;\r\n                    var before = Number(Math.floor(tmp)).toFixed();\r\n                    var after = Number(Math.ceil(tmp)).toFixed();\r\n                    var atPoint = tmp - before;\r\n                    newData[i] = linearInterpolate(data[before], data[after], atPoint);\r\n                }\r\n                newData[fitCount - 1] = data[data.length - 1];\r\n                return newData;\r\n            }\r\n\r\n            function linearInterpolate(before, after, atPoint) {\r\n                return before + (after - before) * atPoint;\r\n            }\r\n\r\n            function mergeBuffers(channelBuffer, rLength) {\r\n                var result = new Float64Array(rLength);\r\n                var offset = 0;\r\n                var lng = channelBuffer.length;\r\n\r\n                for (var i = 0; i < lng; i++) {\r\n                    var buffer = channelBuffer[i];\r\n                    result.set(buffer, offset);\r\n                    offset += buffer.length;\r\n                }\r\n\r\n                return result;\r\n            }\r\n\r\n            function interleave(leftChannel, rightChannel) {\r\n                var length = leftChannel.length + rightChannel.length;\r\n\r\n                var result = new Float64Array(length);\r\n\r\n                var inputIndex = 0;\r\n\r\n                for (var index = 0; index < length;) {\r\n                    result[index++] = leftChannel[inputIndex];\r\n                    result[index++] = rightChannel[inputIndex];\r\n                    inputIndex++;\r\n                }\r\n                return result;\r\n            }\r\n\r\n            function writeUTFBytes(view, offset, string) {\r\n                var lng = string.length;\r\n                for (var i = 0; i < lng; i++) {\r\n                    view.setUint8(offset + i, string.charCodeAt(i));\r\n                }\r\n            }\r\n\r\n            // interleave both channels together\r\n            var interleaved;\r\n\r\n            if (numberOfAudioChannels === 2) {\r\n                interleaved = interleave(leftBuffers, rightBuffers);\r\n            }\r\n\r\n            if (numberOfAudioChannels === 1) {\r\n                interleaved = leftBuffers;\r\n            }\r\n\r\n            var interleavedLength = interleaved.length;\r\n\r\n            // create wav file\r\n            var resultingBufferLength = 44 + interleavedLength * 2;\r\n\r\n            var buffer = new ArrayBuffer(resultingBufferLength);\r\n\r\n            var view = new DataView(buffer);\r\n\r\n            // RIFF chunk descriptor/identifier \r\n            writeUTFBytes(view, 0, 'RIFF');\r\n\r\n            // RIFF chunk length\r\n            // changed \"44\" to \"36\" via #401\r\n            view.setUint32(4, 36 + interleavedLength * 2, true);\r\n\r\n            // RIFF type \r\n            writeUTFBytes(view, 8, 'WAVE');\r\n\r\n            // format chunk identifier \r\n            // FMT sub-chunk\r\n            writeUTFBytes(view, 12, 'fmt ');\r\n\r\n            // format chunk length \r\n            view.setUint32(16, 16, true);\r\n\r\n            // sample format (raw)\r\n            view.setUint16(20, 1, true);\r\n\r\n            // stereo (2 channels)\r\n            view.setUint16(22, numberOfAudioChannels, true);\r\n\r\n            // sample rate \r\n            view.setUint32(24, sampleRate, true);\r\n\r\n            // byte rate (sample rate * block align)\r\n            view.setUint32(28, sampleRate * 2, true);\r\n\r\n            // block align (channel count * bytes per sample) \r\n            view.setUint16(32, numberOfAudioChannels * 2, true);\r\n\r\n            // bits per sample \r\n            view.setUint16(34, 16, true);\r\n\r\n            // data sub-chunk\r\n            // data chunk identifier \r\n            writeUTFBytes(view, 36, 'data');\r\n\r\n            // data chunk length \r\n            view.setUint32(40, interleavedLength * 2, true);\r\n\r\n            // write the PCM samples\r\n            var lng = interleavedLength;\r\n            var index = 44;\r\n            var volume = 1;\r\n            for (var i = 0; i < lng; i++) {\r\n                view.setInt16(index, interleaved[i] * (0x7FFF * volume), true);\r\n                index += 2;\r\n            }\r\n\r\n            if (cb) {\r\n                return cb({\r\n                    buffer: buffer,\r\n                    view: view\r\n                });\r\n            }\r\n\r\n            postMessage({\r\n                buffer: buffer,\r\n                view: view\r\n            });\r\n        }\r\n\r\n        if (config.noWorker) {\r\n            mergeAudioBuffers(config, function(data) {\r\n                callback(data.buffer, data.view);\r\n            });\r\n            return;\r\n        }\r\n\r\n\r\n        var webWorker = processInWebWorker(mergeAudioBuffers);\r\n\r\n        webWorker.onmessage = function(event) {\r\n            callback(event.data.buffer, event.data.view);\r\n\r\n            // release memory\r\n            URL.revokeObjectURL(webWorker.workerURL);\r\n\r\n            // kill webworker (or Chrome will kill your page after ~25 calls)\r\n            webWorker.terminate();\r\n        };\r\n\r\n        webWorker.postMessage(config);\r\n    }\r\n\r\n    function processInWebWorker(_function) {\r\n        var workerURL = URL.createObjectURL(new Blob([_function.toString(),\r\n            ';this.onmessage =  function (eee) {' + _function.name + '(eee.data);}'\r\n        ], {\r\n            type: 'application/javascript'\r\n        }));\r\n\r\n        var worker = new Worker(workerURL);\r\n        worker.workerURL = workerURL;\r\n        return worker;\r\n    }\r\n\r\n    /**\r\n     * This method stops recording MediaStream.\r\n     * @param {function} callback - Callback function, that is used to pass recorded blob back to the callee.\r\n     * @method\r\n     * @memberof StereoAudioRecorder\r\n     * @example\r\n     * recorder.stop(function(blob) {\r\n     *     video.src = URL.createObjectURL(blob);\r\n     * });\r\n     */\r\n    this.stop = function(callback) {\r\n        callback = callback || function() {};\r\n\r\n        // stop recording\r\n        recording = false;\r\n\r\n        mergeLeftRightBuffers({\r\n            desiredSampRate: desiredSampRate,\r\n            sampleRate: sampleRate,\r\n            numberOfAudioChannels: numberOfAudioChannels,\r\n            internalInterleavedLength: recordingLength,\r\n            leftBuffers: leftchannel,\r\n            rightBuffers: numberOfAudioChannels === 1 ? [] : rightchannel,\r\n            noWorker: config.noWorker\r\n        }, function(buffer, view) {\r\n            /**\r\n             * @property {Blob} blob - The recorded blob object.\r\n             * @memberof StereoAudioRecorder\r\n             * @example\r\n             * recorder.stop(function(){\r\n             *     var blob = recorder.blob;\r\n             * });\r\n             */\r\n            self.blob = new Blob([view], {\r\n                type: 'audio/wav'\r\n            });\r\n\r\n            /**\r\n             * @property {ArrayBuffer} buffer - The recorded buffer object.\r\n             * @memberof StereoAudioRecorder\r\n             * @example\r\n             * recorder.stop(function(){\r\n             *     var buffer = recorder.buffer;\r\n             * });\r\n             */\r\n            self.buffer = new ArrayBuffer(view.buffer.byteLength);\r\n\r\n            /**\r\n             * @property {DataView} view - The recorded data-view object.\r\n             * @memberof StereoAudioRecorder\r\n             * @example\r\n             * recorder.stop(function(){\r\n             *     var view = recorder.view;\r\n             * });\r\n             */\r\n            self.view = view;\r\n\r\n            self.sampleRate = desiredSampRate || sampleRate;\r\n            self.bufferSize = bufferSize;\r\n\r\n            // recorded audio length\r\n            self.length = recordingLength;\r\n\r\n            isAudioProcessStarted = false;\r\n\r\n            if (callback) {\r\n                callback(self.blob);\r\n            }\r\n        });\r\n    };\r\n\r\n    if (typeof Storage === 'undefined') {\r\n        var Storage = {\r\n            AudioContextConstructor: null,\r\n            AudioContext: window.AudioContext || window.webkitAudioContext\r\n        };\r\n    }\r\n\r\n    if (!Storage.AudioContextConstructor) {\r\n        Storage.AudioContextConstructor = new Storage.AudioContext();\r\n    }\r\n\r\n    var context = Storage.AudioContextConstructor;\r\n\r\n    // creates an audio node from the microphone incoming stream\r\n    var audioInput = context.createMediaStreamSource(mediaStream);\r\n\r\n    var legalBufferValues = [0, 256, 512, 1024, 2048, 4096, 8192, 16384];\r\n\r\n    /**\r\n     * From the spec: This value controls how frequently the audioprocess event is\r\n     * dispatched and how many sample-frames need to be processed each call.\r\n     * Lower values for buffer size will result in a lower (better) latency.\r\n     * Higher values will be necessary to avoid audio breakup and glitches\r\n     * The size of the buffer (in sample-frames) which needs to\r\n     * be processed each time onprocessaudio is called.\r\n     * Legal values are (256, 512, 1024, 2048, 4096, 8192, 16384).\r\n     * @property {number} bufferSize - Buffer-size for how frequently the audioprocess event is dispatched.\r\n     * @memberof StereoAudioRecorder\r\n     * @example\r\n     * recorder = new StereoAudioRecorder(mediaStream, {\r\n     *     bufferSize: 4096\r\n     * });\r\n     */\r\n\r\n    // \"0\" means, let chrome decide the most accurate buffer-size for current platform.\r\n    var bufferSize = typeof config.bufferSize === 'undefined' ? 4096 : config.bufferSize;\r\n\r\n    if (legalBufferValues.indexOf(bufferSize) === -1) {\r\n        if (!config.disableLogs) {\r\n            console.log('Legal values for buffer-size are ' + JSON.stringify(legalBufferValues, null, '\\t'));\r\n        }\r\n    }\r\n\r\n    if (context.createJavaScriptNode) {\r\n        jsAudioNode = context.createJavaScriptNode(bufferSize, numberOfAudioChannels, numberOfAudioChannels);\r\n    } else if (context.createScriptProcessor) {\r\n        jsAudioNode = context.createScriptProcessor(bufferSize, numberOfAudioChannels, numberOfAudioChannels);\r\n    } else {\r\n        throw 'WebAudio API has no support on this browser.';\r\n    }\r\n\r\n    // connect the stream to the script processor\r\n    audioInput.connect(jsAudioNode);\r\n\r\n    if (!config.bufferSize) {\r\n        bufferSize = jsAudioNode.bufferSize; // device buffer-size\r\n    }\r\n\r\n    /**\r\n     * The sample rate (in sample-frames per second) at which the\r\n     * AudioContext handles audio. It is assumed that all AudioNodes\r\n     * in the context run at this rate. In making this assumption,\r\n     * sample-rate converters or \"varispeed\" processors are not supported\r\n     * in real-time processing.\r\n     * The sampleRate parameter describes the sample-rate of the\r\n     * linear PCM audio data in the buffer in sample-frames per second.\r\n     * An implementation must support sample-rates in at least\r\n     * the range 22050 to 96000.\r\n     * @property {number} sampleRate - Buffer-size for how frequently the audioprocess event is dispatched.\r\n     * @memberof StereoAudioRecorder\r\n     * @example\r\n     * recorder = new StereoAudioRecorder(mediaStream, {\r\n     *     sampleRate: 44100\r\n     * });\r\n     */\r\n    var sampleRate = typeof config.sampleRate !== 'undefined' ? config.sampleRate : context.sampleRate || 44100;\r\n\r\n    if (sampleRate < 22050 || sampleRate > 96000) {\r\n        // Ref: http://stackoverflow.com/a/26303918/552182\r\n        if (!config.disableLogs) {\r\n            console.log('sample-rate must be under range 22050 and 96000.');\r\n        }\r\n    }\r\n\r\n    if (!config.disableLogs) {\r\n        if (config.desiredSampRate) {\r\n            console.log('Desired sample-rate: ' + config.desiredSampRate);\r\n        }\r\n    }\r\n\r\n    var isPaused = false;\r\n    /**\r\n     * This method pauses the recording process.\r\n     * @method\r\n     * @memberof StereoAudioRecorder\r\n     * @example\r\n     * recorder.pause();\r\n     */\r\n    this.pause = function() {\r\n        isPaused = true;\r\n    };\r\n\r\n    /**\r\n     * This method resumes the recording process.\r\n     * @method\r\n     * @memberof StereoAudioRecorder\r\n     * @example\r\n     * recorder.resume();\r\n     */\r\n    this.resume = function() {\r\n        if (isMediaStreamActive() === false) {\r\n            throw 'Please make sure MediaStream is active.';\r\n        }\r\n\r\n        if (!recording) {\r\n            if (!config.disableLogs) {\r\n                console.log('Seems recording has been restarted.');\r\n            }\r\n            this.record();\r\n            return;\r\n        }\r\n\r\n        isPaused = false;\r\n    };\r\n\r\n    /**\r\n     * This method resets currently recorded data.\r\n     * @method\r\n     * @memberof StereoAudioRecorder\r\n     * @example\r\n     * recorder.clearRecordedData();\r\n     */\r\n    this.clearRecordedData = function() {\r\n        config.checkForInactiveTracks = false;\r\n\r\n        if (recording) {\r\n            this.stop(clearRecordedDataCB);\r\n        }\r\n\r\n        clearRecordedDataCB();\r\n    };\r\n\r\n    function resetVariables() {\r\n        leftchannel = [];\r\n        rightchannel = [];\r\n        recordingLength = 0;\r\n        isAudioProcessStarted = false;\r\n        recording = false;\r\n        isPaused = false;\r\n        context = null;\r\n\r\n        self.leftchannel = leftchannel;\r\n        self.rightchannel = rightchannel;\r\n        self.numberOfAudioChannels = numberOfAudioChannels;\r\n        self.desiredSampRate = desiredSampRate;\r\n        self.sampleRate = sampleRate;\r\n        self.recordingLength = recordingLength;\r\n\r\n        intervalsBasedBuffers = {\r\n            left: [],\r\n            right: [],\r\n            recordingLength: 0\r\n        };\r\n    }\r\n\r\n    function clearRecordedDataCB() {\r\n        if (jsAudioNode) {\r\n            jsAudioNode.onaudioprocess = null;\r\n            jsAudioNode.disconnect();\r\n            jsAudioNode = null;\r\n        }\r\n\r\n        if (audioInput) {\r\n            audioInput.disconnect();\r\n            audioInput = null;\r\n        }\r\n\r\n        resetVariables();\r\n    }\r\n\r\n    // for debugging\r\n    this.name = 'StereoAudioRecorder';\r\n    this.toString = function() {\r\n        return this.name;\r\n    };\r\n\r\n    var isAudioProcessStarted = false;\r\n\r\n    function onAudioProcessDataAvailable(e) {\r\n        if (isPaused) {\r\n            return;\r\n        }\r\n\r\n        if (isMediaStreamActive() === false) {\r\n            if (!config.disableLogs) {\r\n                console.log('MediaStream seems stopped.');\r\n            }\r\n            jsAudioNode.disconnect();\r\n            recording = false;\r\n        }\r\n\r\n        if (!recording) {\r\n            if (audioInput) {\r\n                audioInput.disconnect();\r\n                audioInput = null;\r\n            }\r\n            return;\r\n        }\r\n\r\n        /**\r\n         * This method is called on \"onaudioprocess\" event's first invocation.\r\n         * @method {function} onAudioProcessStarted\r\n         * @memberof StereoAudioRecorder\r\n         * @example\r\n         * recorder.onAudioProcessStarted: function() { };\r\n         */\r\n        if (!isAudioProcessStarted) {\r\n            isAudioProcessStarted = true;\r\n            if (config.onAudioProcessStarted) {\r\n                config.onAudioProcessStarted();\r\n            }\r\n\r\n            if (config.initCallback) {\r\n                config.initCallback();\r\n            }\r\n        }\r\n\r\n        var left = e.inputBuffer.getChannelData(0);\r\n\r\n        // we clone the samples\r\n        var chLeft = new Float32Array(left);\r\n        leftchannel.push(chLeft);\r\n\r\n        if (numberOfAudioChannels === 2) {\r\n            var right = e.inputBuffer.getChannelData(1);\r\n            var chRight = new Float32Array(right);\r\n            rightchannel.push(chRight);\r\n        }\r\n\r\n        recordingLength += bufferSize;\r\n\r\n        // export raw PCM\r\n        self.recordingLength = recordingLength;\r\n\r\n        if (typeof config.timeSlice !== 'undefined') {\r\n            intervalsBasedBuffers.recordingLength += bufferSize;\r\n            intervalsBasedBuffers.left.push(chLeft);\r\n\r\n            if (numberOfAudioChannels === 2) {\r\n                intervalsBasedBuffers.right.push(chRight);\r\n            }\r\n        }\r\n    }\r\n\r\n    jsAudioNode.onaudioprocess = onAudioProcessDataAvailable;\r\n\r\n    // to prevent self audio to be connected with speakers\r\n    if (context.createMediaStreamDestination) {\r\n        jsAudioNode.connect(context.createMediaStreamDestination());\r\n    } else {\r\n        jsAudioNode.connect(context.destination);\r\n    }\r\n\r\n    // export raw PCM\r\n    this.leftchannel = leftchannel;\r\n    this.rightchannel = rightchannel;\r\n    this.numberOfAudioChannels = numberOfAudioChannels;\r\n    this.desiredSampRate = desiredSampRate;\r\n    this.sampleRate = sampleRate;\r\n    self.recordingLength = recordingLength;\r\n\r\n    // helper for intervals based blobs\r\n    var intervalsBasedBuffers = {\r\n        left: [],\r\n        right: [],\r\n        recordingLength: 0\r\n    };\r\n\r\n    // this looper is used to support intervals based blobs (via timeSlice+ondataavailable)\r\n    function looper() {\r\n        if (!recording || typeof config.ondataavailable !== 'function' || typeof config.timeSlice === 'undefined') {\r\n            return;\r\n        }\r\n\r\n        if (intervalsBasedBuffers.left.length) {\r\n            mergeLeftRightBuffers({\r\n                desiredSampRate: desiredSampRate,\r\n                sampleRate: sampleRate,\r\n                numberOfAudioChannels: numberOfAudioChannels,\r\n                internalInterleavedLength: intervalsBasedBuffers.recordingLength,\r\n                leftBuffers: intervalsBasedBuffers.left,\r\n                rightBuffers: numberOfAudioChannels === 1 ? [] : intervalsBasedBuffers.right\r\n            }, function(buffer, view) {\r\n                var blob = new Blob([view], {\r\n                    type: 'audio/wav'\r\n                });\r\n                config.ondataavailable(blob);\r\n\r\n                setTimeout(looper, config.timeSlice);\r\n            });\r\n\r\n            intervalsBasedBuffers = {\r\n                left: [],\r\n                right: [],\r\n                recordingLength: 0\r\n            };\r\n        } else {\r\n            setTimeout(looper, config.timeSlice);\r\n        }\r\n    }\r\n}\r\n\r\nif (typeof RecordRTC !== 'undefined') {\r\n    RecordRTC.StereoAudioRecorder = StereoAudioRecorder;\r\n}\r\n\r\n// _________________\r\n// CanvasRecorder.js\r\n\r\n/**\r\n * CanvasRecorder is a standalone class used by {@link RecordRTC} to bring HTML5-Canvas recording into video WebM. It uses HTML2Canvas library and runs top over {@link Whammy}.\r\n * @summary HTML2Canvas recording into video WebM.\r\n * @license {@link https://github.com/muaz-khan/RecordRTC/blob/master/LICENSE|MIT}\r\n * @author {@link https://MuazKhan.com|Muaz Khan}\r\n * @typedef CanvasRecorder\r\n * @class\r\n * @example\r\n * var recorder = new CanvasRecorder(htmlElement, { disableLogs: true, useWhammyRecorder: true });\r\n * recorder.record();\r\n * recorder.stop(function(blob) {\r\n *     video.src = URL.createObjectURL(blob);\r\n * });\r\n * @see {@link https://github.com/muaz-khan/RecordRTC|RecordRTC Source Code}\r\n * @param {HTMLElement} htmlElement - querySelector/getElementById/getElementsByTagName[0]/etc.\r\n * @param {object} config - {disableLogs:true, initCallback: function}\r\n */\r\n\r\nfunction CanvasRecorder(htmlElement, config) {\r\n    if (typeof html2canvas === 'undefined') {\r\n        throw 'Please link: https://www.webrtc-experiment.com/screenshot.js';\r\n    }\r\n\r\n    config = config || {};\r\n    if (!config.frameInterval) {\r\n        config.frameInterval = 10;\r\n    }\r\n\r\n    // via DetectRTC.js\r\n    var isCanvasSupportsStreamCapturing = false;\r\n    ['captureStream', 'mozCaptureStream', 'webkitCaptureStream'].forEach(function(item) {\r\n        if (item in document.createElement('canvas')) {\r\n            isCanvasSupportsStreamCapturing = true;\r\n        }\r\n    });\r\n\r\n    var _isChrome = (!!window.webkitRTCPeerConnection || !!window.webkitGetUserMedia) && !!window.chrome;\r\n\r\n    var chromeVersion = 50;\r\n    var matchArray = navigator.userAgent.match(/Chrom(e|ium)\\/([0-9]+)\\./);\r\n    if (_isChrome && matchArray && matchArray[2]) {\r\n        chromeVersion = parseInt(matchArray[2], 10);\r\n    }\r\n\r\n    if (_isChrome && chromeVersion < 52) {\r\n        isCanvasSupportsStreamCapturing = false;\r\n    }\r\n\r\n    if (config.useWhammyRecorder) {\r\n        isCanvasSupportsStreamCapturing = false;\r\n    }\r\n\r\n    var globalCanvas, mediaStreamRecorder;\r\n\r\n    if (isCanvasSupportsStreamCapturing) {\r\n        if (!config.disableLogs) {\r\n            console.log('Your browser supports both MediRecorder API and canvas.captureStream!');\r\n        }\r\n\r\n        if (htmlElement instanceof HTMLCanvasElement) {\r\n            globalCanvas = htmlElement;\r\n        } else if (htmlElement instanceof CanvasRenderingContext2D) {\r\n            globalCanvas = htmlElement.canvas;\r\n        } else {\r\n            throw 'Please pass either HTMLCanvasElement or CanvasRenderingContext2D.';\r\n        }\r\n    } else if (!!navigator.mozGetUserMedia) {\r\n        if (!config.disableLogs) {\r\n            console.error('Canvas recording is NOT supported in Firefox.');\r\n        }\r\n    }\r\n\r\n    var isRecording;\r\n\r\n    /**\r\n     * This method records Canvas.\r\n     * @method\r\n     * @memberof CanvasRecorder\r\n     * @example\r\n     * recorder.record();\r\n     */\r\n    this.record = function() {\r\n        isRecording = true;\r\n\r\n        if (isCanvasSupportsStreamCapturing && !config.useWhammyRecorder) {\r\n            // CanvasCaptureMediaStream\r\n            var canvasMediaStream;\r\n            if ('captureStream' in globalCanvas) {\r\n                canvasMediaStream = globalCanvas.captureStream(25); // 25 FPS\r\n            } else if ('mozCaptureStream' in globalCanvas) {\r\n                canvasMediaStream = globalCanvas.mozCaptureStream(25);\r\n            } else if ('webkitCaptureStream' in globalCanvas) {\r\n                canvasMediaStream = globalCanvas.webkitCaptureStream(25);\r\n            }\r\n\r\n            try {\r\n                var mdStream = new MediaStream();\r\n                mdStream.addTrack(getTracks(canvasMediaStream, 'video')[0]);\r\n                canvasMediaStream = mdStream;\r\n            } catch (e) {}\r\n\r\n            if (!canvasMediaStream) {\r\n                throw 'captureStream API are NOT available.';\r\n            }\r\n\r\n            // Note: Jan 18, 2016 status is that, \r\n            // Firefox MediaRecorder API can't record CanvasCaptureMediaStream object.\r\n            mediaStreamRecorder = new MediaStreamRecorder(canvasMediaStream, {\r\n                mimeType: config.mimeType || 'video/webm'\r\n            });\r\n            mediaStreamRecorder.record();\r\n        } else {\r\n            whammy.frames = [];\r\n            lastTime = new Date().getTime();\r\n            drawCanvasFrame();\r\n        }\r\n\r\n        if (config.initCallback) {\r\n            config.initCallback();\r\n        }\r\n    };\r\n\r\n    this.getWebPImages = function(callback) {\r\n        if (htmlElement.nodeName.toLowerCase() !== 'canvas') {\r\n            callback();\r\n            return;\r\n        }\r\n\r\n        var framesLength = whammy.frames.length;\r\n        whammy.frames.forEach(function(frame, idx) {\r\n            var framesRemaining = framesLength - idx;\r\n            if (!config.disableLogs) {\r\n                console.log(framesRemaining + '/' + framesLength + ' frames remaining');\r\n            }\r\n\r\n            if (config.onEncodingCallback) {\r\n                config.onEncodingCallback(framesRemaining, framesLength);\r\n            }\r\n\r\n            var webp = frame.image.toDataURL('image/webp', 1);\r\n            whammy.frames[idx].image = webp;\r\n        });\r\n\r\n        if (!config.disableLogs) {\r\n            console.log('Generating WebM');\r\n        }\r\n\r\n        callback();\r\n    };\r\n\r\n    /**\r\n     * This method stops recording Canvas.\r\n     * @param {function} callback - Callback function, that is used to pass recorded blob back to the callee.\r\n     * @method\r\n     * @memberof CanvasRecorder\r\n     * @example\r\n     * recorder.stop(function(blob) {\r\n     *     video.src = URL.createObjectURL(blob);\r\n     * });\r\n     */\r\n    this.stop = function(callback) {\r\n        isRecording = false;\r\n\r\n        var that = this;\r\n\r\n        if (isCanvasSupportsStreamCapturing && mediaStreamRecorder) {\r\n            mediaStreamRecorder.stop(callback);\r\n            return;\r\n        }\r\n\r\n        this.getWebPImages(function() {\r\n            /**\r\n             * @property {Blob} blob - Recorded frames in video/webm blob.\r\n             * @memberof CanvasRecorder\r\n             * @example\r\n             * recorder.stop(function() {\r\n             *     var blob = recorder.blob;\r\n             * });\r\n             */\r\n            whammy.compile(function(blob) {\r\n                if (!config.disableLogs) {\r\n                    console.log('Recording finished!');\r\n                }\r\n\r\n                that.blob = blob;\r\n\r\n                if (that.blob.forEach) {\r\n                    that.blob = new Blob([], {\r\n                        type: 'video/webm'\r\n                    });\r\n                }\r\n\r\n                if (callback) {\r\n                    callback(that.blob);\r\n                }\r\n\r\n                whammy.frames = [];\r\n            });\r\n        });\r\n    };\r\n\r\n    var isPausedRecording = false;\r\n\r\n    /**\r\n     * This method pauses the recording process.\r\n     * @method\r\n     * @memberof CanvasRecorder\r\n     * @example\r\n     * recorder.pause();\r\n     */\r\n    this.pause = function() {\r\n        isPausedRecording = true;\r\n\r\n        if (mediaStreamRecorder instanceof MediaStreamRecorder) {\r\n            mediaStreamRecorder.pause();\r\n            return;\r\n        }\r\n    };\r\n\r\n    /**\r\n     * This method resumes the recording process.\r\n     * @method\r\n     * @memberof CanvasRecorder\r\n     * @example\r\n     * recorder.resume();\r\n     */\r\n    this.resume = function() {\r\n        isPausedRecording = false;\r\n\r\n        if (mediaStreamRecorder instanceof MediaStreamRecorder) {\r\n            mediaStreamRecorder.resume();\r\n            return;\r\n        }\r\n\r\n        if (!isRecording) {\r\n            this.record();\r\n        }\r\n    };\r\n\r\n    /**\r\n     * This method resets currently recorded data.\r\n     * @method\r\n     * @memberof CanvasRecorder\r\n     * @example\r\n     * recorder.clearRecordedData();\r\n     */\r\n    this.clearRecordedData = function() {\r\n        if (isRecording) {\r\n            this.stop(clearRecordedDataCB);\r\n        }\r\n        clearRecordedDataCB();\r\n    };\r\n\r\n    function clearRecordedDataCB() {\r\n        whammy.frames = [];\r\n        isRecording = false;\r\n        isPausedRecording = false;\r\n    }\r\n\r\n    // for debugging\r\n    this.name = 'CanvasRecorder';\r\n    this.toString = function() {\r\n        return this.name;\r\n    };\r\n\r\n    function cloneCanvas() {\r\n        //create a new canvas\r\n        var newCanvas = document.createElement('canvas');\r\n        var context = newCanvas.getContext('2d');\r\n\r\n        //set dimensions\r\n        newCanvas.width = htmlElement.width;\r\n        newCanvas.height = htmlElement.height;\r\n\r\n        //apply the old canvas to the new one\r\n        context.drawImage(htmlElement, 0, 0);\r\n\r\n        //return the new canvas\r\n        return newCanvas;\r\n    }\r\n\r\n    function drawCanvasFrame() {\r\n        if (isPausedRecording) {\r\n            lastTime = new Date().getTime();\r\n            return setTimeout(drawCanvasFrame, 500);\r\n        }\r\n\r\n        if (htmlElement.nodeName.toLowerCase() === 'canvas') {\r\n            var duration = new Date().getTime() - lastTime;\r\n            // via #206, by Jack i.e. @Seymourr\r\n            lastTime = new Date().getTime();\r\n\r\n            whammy.frames.push({\r\n                image: cloneCanvas(),\r\n                duration: duration\r\n            });\r\n\r\n            if (isRecording) {\r\n                setTimeout(drawCanvasFrame, config.frameInterval);\r\n            }\r\n            return;\r\n        }\r\n\r\n        html2canvas(htmlElement, {\r\n            grabMouse: typeof config.showMousePointer === 'undefined' || config.showMousePointer,\r\n            onrendered: function(canvas) {\r\n                var duration = new Date().getTime() - lastTime;\r\n                if (!duration) {\r\n                    return setTimeout(drawCanvasFrame, config.frameInterval);\r\n                }\r\n\r\n                // via #206, by Jack i.e. @Seymourr\r\n                lastTime = new Date().getTime();\r\n\r\n                whammy.frames.push({\r\n                    image: canvas.toDataURL('image/webp', 1),\r\n                    duration: duration\r\n                });\r\n\r\n                if (isRecording) {\r\n                    setTimeout(drawCanvasFrame, config.frameInterval);\r\n                }\r\n            }\r\n        });\r\n    }\r\n\r\n    var lastTime = new Date().getTime();\r\n\r\n    var whammy = new Whammy.Video(100);\r\n}\r\n\r\nif (typeof RecordRTC !== 'undefined') {\r\n    RecordRTC.CanvasRecorder = CanvasRecorder;\r\n}\r\n\r\n// _________________\r\n// WhammyRecorder.js\r\n\r\n/**\r\n * WhammyRecorder is a standalone class used by {@link RecordRTC} to bring video recording in Chrome. It runs top over {@link Whammy}.\r\n * @summary Video recording feature in Chrome.\r\n * @license {@link https://github.com/muaz-khan/RecordRTC/blob/master/LICENSE|MIT}\r\n * @author {@link https://MuazKhan.com|Muaz Khan}\r\n * @typedef WhammyRecorder\r\n * @class\r\n * @example\r\n * var recorder = new WhammyRecorder(mediaStream);\r\n * recorder.record();\r\n * recorder.stop(function(blob) {\r\n *     video.src = URL.createObjectURL(blob);\r\n * });\r\n * @see {@link https://github.com/muaz-khan/RecordRTC|RecordRTC Source Code}\r\n * @param {MediaStream} mediaStream - MediaStream object fetched using getUserMedia API or generated using captureStreamUntilEnded or WebAudio API.\r\n * @param {object} config - {disableLogs: true, initCallback: function, video: HTMLVideoElement, etc.}\r\n */\r\n\r\nfunction WhammyRecorder(mediaStream, config) {\r\n\r\n    config = config || {};\r\n\r\n    if (!config.frameInterval) {\r\n        config.frameInterval = 10;\r\n    }\r\n\r\n    if (!config.disableLogs) {\r\n        console.log('Using frames-interval:', config.frameInterval);\r\n    }\r\n\r\n    /**\r\n     * This method records video.\r\n     * @method\r\n     * @memberof WhammyRecorder\r\n     * @example\r\n     * recorder.record();\r\n     */\r\n    this.record = function() {\r\n        if (!config.width) {\r\n            config.width = 320;\r\n        }\r\n\r\n        if (!config.height) {\r\n            config.height = 240;\r\n        }\r\n\r\n        if (!config.video) {\r\n            config.video = {\r\n                width: config.width,\r\n                height: config.height\r\n            };\r\n        }\r\n\r\n        if (!config.canvas) {\r\n            config.canvas = {\r\n                width: config.width,\r\n                height: config.height\r\n            };\r\n        }\r\n\r\n        canvas.width = config.canvas.width || 320;\r\n        canvas.height = config.canvas.height || 240;\r\n\r\n        context = canvas.getContext('2d');\r\n\r\n        // setting defaults\r\n        if (config.video && config.video instanceof HTMLVideoElement) {\r\n            video = config.video.cloneNode();\r\n\r\n            if (config.initCallback) {\r\n                config.initCallback();\r\n            }\r\n        } else {\r\n            video = document.createElement('video');\r\n\r\n            setSrcObject(mediaStream, video);\r\n\r\n            video.onloadedmetadata = function() { // \"onloadedmetadata\" may NOT work in FF?\r\n                if (config.initCallback) {\r\n                    config.initCallback();\r\n                }\r\n            };\r\n\r\n            video.width = config.video.width;\r\n            video.height = config.video.height;\r\n        }\r\n\r\n        video.muted = true;\r\n        video.play();\r\n\r\n        lastTime = new Date().getTime();\r\n        whammy = new Whammy.Video();\r\n\r\n        if (!config.disableLogs) {\r\n            console.log('canvas resolutions', canvas.width, '*', canvas.height);\r\n            console.log('video width/height', video.width || canvas.width, '*', video.height || canvas.height);\r\n        }\r\n\r\n        drawFrames(config.frameInterval);\r\n    };\r\n\r\n    /**\r\n     * Draw and push frames to Whammy\r\n     * @param {integer} frameInterval - set minimum interval (in milliseconds) between each time we push a frame to Whammy\r\n     */\r\n    function drawFrames(frameInterval) {\r\n        frameInterval = typeof frameInterval !== 'undefined' ? frameInterval : 10;\r\n\r\n        var duration = new Date().getTime() - lastTime;\r\n        if (!duration) {\r\n            return setTimeout(drawFrames, frameInterval, frameInterval);\r\n        }\r\n\r\n        if (isPausedRecording) {\r\n            lastTime = new Date().getTime();\r\n            return setTimeout(drawFrames, 100);\r\n        }\r\n\r\n        // via #206, by Jack i.e. @Seymourr\r\n        lastTime = new Date().getTime();\r\n\r\n        if (video.paused) {\r\n            // via: https://github.com/muaz-khan/WebRTC-Experiment/pull/316\r\n            // Tweak for Android Chrome\r\n            video.play();\r\n        }\r\n\r\n        context.drawImage(video, 0, 0, canvas.width, canvas.height);\r\n        whammy.frames.push({\r\n            duration: duration,\r\n            image: canvas.toDataURL('image/webp')\r\n        });\r\n\r\n        if (!isStopDrawing) {\r\n            setTimeout(drawFrames, frameInterval, frameInterval);\r\n        }\r\n    }\r\n\r\n    function asyncLoop(o) {\r\n        var i = -1,\r\n            length = o.length;\r\n\r\n        (function loop() {\r\n            i++;\r\n            if (i === length) {\r\n                o.callback();\r\n                return;\r\n            }\r\n\r\n            // \"setTimeout\" added by Jim McLeod\r\n            setTimeout(function() {\r\n                o.functionToLoop(loop, i);\r\n            }, 1);\r\n        })();\r\n    }\r\n\r\n\r\n    /**\r\n     * remove black frames from the beginning to the specified frame\r\n     * @param {Array} _frames - array of frames to be checked\r\n     * @param {number} _framesToCheck - number of frame until check will be executed (-1 - will drop all frames until frame not matched will be found)\r\n     * @param {number} _pixTolerance - 0 - very strict (only black pixel color) ; 1 - all\r\n     * @param {number} _frameTolerance - 0 - very strict (only black frame color) ; 1 - all\r\n     * @returns {Array} - array of frames\r\n     */\r\n    // pull#293 by @volodalexey\r\n    function dropBlackFrames(_frames, _framesToCheck, _pixTolerance, _frameTolerance, callback) {\r\n        var localCanvas = document.createElement('canvas');\r\n        localCanvas.width = canvas.width;\r\n        localCanvas.height = canvas.height;\r\n        var context2d = localCanvas.getContext('2d');\r\n        var resultFrames = [];\r\n\r\n        var checkUntilNotBlack = _framesToCheck === -1;\r\n        var endCheckFrame = (_framesToCheck && _framesToCheck > 0 && _framesToCheck <= _frames.length) ?\r\n            _framesToCheck : _frames.length;\r\n        var sampleColor = {\r\n            r: 0,\r\n            g: 0,\r\n            b: 0\r\n        };\r\n        var maxColorDifference = Math.sqrt(\r\n            Math.pow(255, 2) +\r\n            Math.pow(255, 2) +\r\n            Math.pow(255, 2)\r\n        );\r\n        var pixTolerance = _pixTolerance && _pixTolerance >= 0 && _pixTolerance <= 1 ? _pixTolerance : 0;\r\n        var frameTolerance = _frameTolerance && _frameTolerance >= 0 && _frameTolerance <= 1 ? _frameTolerance : 0;\r\n        var doNotCheckNext = false;\r\n\r\n        asyncLoop({\r\n            length: endCheckFrame,\r\n            functionToLoop: function(loop, f) {\r\n                var matchPixCount, endPixCheck, maxPixCount;\r\n\r\n                var finishImage = function() {\r\n                    if (!doNotCheckNext && maxPixCount - matchPixCount <= maxPixCount * frameTolerance) {\r\n                        // console.log('removed black frame : ' + f + ' ; frame duration ' + _frames[f].duration);\r\n                    } else {\r\n                        // console.log('frame is passed : ' + f);\r\n                        if (checkUntilNotBlack) {\r\n                            doNotCheckNext = true;\r\n                        }\r\n                        resultFrames.push(_frames[f]);\r\n                    }\r\n                    loop();\r\n                };\r\n\r\n                if (!doNotCheckNext) {\r\n                    var image = new Image();\r\n                    image.onload = function() {\r\n                        context2d.drawImage(image, 0, 0, canvas.width, canvas.height);\r\n                        var imageData = context2d.getImageData(0, 0, canvas.width, canvas.height);\r\n                        matchPixCount = 0;\r\n                        endPixCheck = imageData.data.length;\r\n                        maxPixCount = imageData.data.length / 4;\r\n\r\n                        for (var pix = 0; pix < endPixCheck; pix += 4) {\r\n                            var currentColor = {\r\n                                r: imageData.data[pix],\r\n                                g: imageData.data[pix + 1],\r\n                                b: imageData.data[pix + 2]\r\n                            };\r\n                            var colorDifference = Math.sqrt(\r\n                                Math.pow(currentColor.r - sampleColor.r, 2) +\r\n                                Math.pow(currentColor.g - sampleColor.g, 2) +\r\n                                Math.pow(currentColor.b - sampleColor.b, 2)\r\n                            );\r\n                            // difference in color it is difference in color vectors (r1,g1,b1) <=> (r2,g2,b2)\r\n                            if (colorDifference <= maxColorDifference * pixTolerance) {\r\n                                matchPixCount++;\r\n                            }\r\n                        }\r\n                        finishImage();\r\n                    };\r\n                    image.src = _frames[f].image;\r\n                } else {\r\n                    finishImage();\r\n                }\r\n            },\r\n            callback: function() {\r\n                resultFrames = resultFrames.concat(_frames.slice(endCheckFrame));\r\n\r\n                if (resultFrames.length <= 0) {\r\n                    // at least one last frame should be available for next manipulation\r\n                    // if total duration of all frames will be < 1000 than ffmpeg doesn't work well...\r\n                    resultFrames.push(_frames[_frames.length - 1]);\r\n                }\r\n                callback(resultFrames);\r\n            }\r\n        });\r\n    }\r\n\r\n    var isStopDrawing = false;\r\n\r\n    /**\r\n     * This method stops recording video.\r\n     * @param {function} callback - Callback function, that is used to pass recorded blob back to the callee.\r\n     * @method\r\n     * @memberof WhammyRecorder\r\n     * @example\r\n     * recorder.stop(function(blob) {\r\n     *     video.src = URL.createObjectURL(blob);\r\n     * });\r\n     */\r\n    this.stop = function(callback) {\r\n        callback = callback || function() {};\r\n\r\n        isStopDrawing = true;\r\n\r\n        var _this = this;\r\n        // analyse of all frames takes some time!\r\n        setTimeout(function() {\r\n            // e.g. dropBlackFrames(frames, 10, 1, 1) - will cut all 10 frames\r\n            // e.g. dropBlackFrames(frames, 10, 0.5, 0.5) - will analyse 10 frames\r\n            // e.g. dropBlackFrames(frames, 10) === dropBlackFrames(frames, 10, 0, 0) - will analyse 10 frames with strict black color\r\n            dropBlackFrames(whammy.frames, -1, null, null, function(frames) {\r\n                whammy.frames = frames;\r\n\r\n                // to display advertisement images!\r\n                if (config.advertisement && config.advertisement.length) {\r\n                    whammy.frames = config.advertisement.concat(whammy.frames);\r\n                }\r\n\r\n                /**\r\n                 * @property {Blob} blob - Recorded frames in video/webm blob.\r\n                 * @memberof WhammyRecorder\r\n                 * @example\r\n                 * recorder.stop(function() {\r\n                 *     var blob = recorder.blob;\r\n                 * });\r\n                 */\r\n                whammy.compile(function(blob) {\r\n                    _this.blob = blob;\r\n\r\n                    if (_this.blob.forEach) {\r\n                        _this.blob = new Blob([], {\r\n                            type: 'video/webm'\r\n                        });\r\n                    }\r\n\r\n                    if (callback) {\r\n                        callback(_this.blob);\r\n                    }\r\n                });\r\n            });\r\n        }, 10);\r\n    };\r\n\r\n    var isPausedRecording = false;\r\n\r\n    /**\r\n     * This method pauses the recording process.\r\n     * @method\r\n     * @memberof WhammyRecorder\r\n     * @example\r\n     * recorder.pause();\r\n     */\r\n    this.pause = function() {\r\n        isPausedRecording = true;\r\n    };\r\n\r\n    /**\r\n     * This method resumes the recording process.\r\n     * @method\r\n     * @memberof WhammyRecorder\r\n     * @example\r\n     * recorder.resume();\r\n     */\r\n    this.resume = function() {\r\n        isPausedRecording = false;\r\n\r\n        if (isStopDrawing) {\r\n            this.record();\r\n        }\r\n    };\r\n\r\n    /**\r\n     * This method resets currently recorded data.\r\n     * @method\r\n     * @memberof WhammyRecorder\r\n     * @example\r\n     * recorder.clearRecordedData();\r\n     */\r\n    this.clearRecordedData = function() {\r\n        if (!isStopDrawing) {\r\n            this.stop(clearRecordedDataCB);\r\n        }\r\n        clearRecordedDataCB();\r\n    };\r\n\r\n    function clearRecordedDataCB() {\r\n        whammy.frames = [];\r\n        isStopDrawing = true;\r\n        isPausedRecording = false;\r\n    }\r\n\r\n    // for debugging\r\n    this.name = 'WhammyRecorder';\r\n    this.toString = function() {\r\n        return this.name;\r\n    };\r\n\r\n    var canvas = document.createElement('canvas');\r\n    var context = canvas.getContext('2d');\r\n\r\n    var video;\r\n    var lastTime;\r\n    var whammy;\r\n}\r\n\r\nif (typeof RecordRTC !== 'undefined') {\r\n    RecordRTC.WhammyRecorder = WhammyRecorder;\r\n}\r\n\r\n// https://github.com/antimatter15/whammy/blob/master/LICENSE\r\n// _________\r\n// Whammy.js\r\n\r\n// todo: Firefox now supports webp for webm containers!\r\n// their MediaRecorder implementation works well!\r\n// should we provide an option to record via Whammy.js or MediaRecorder API is a better solution?\r\n\r\n/**\r\n * Whammy is a standalone class used by {@link RecordRTC} to bring video recording in Chrome. It is written by {@link https://github.com/antimatter15|antimatter15}\r\n * @summary A real time javascript webm encoder based on a canvas hack.\r\n * @license {@link https://github.com/muaz-khan/RecordRTC/blob/master/LICENSE|MIT}\r\n * @author {@link https://MuazKhan.com|Muaz Khan}\r\n * @typedef Whammy\r\n * @class\r\n * @example\r\n * var recorder = new Whammy().Video(15);\r\n * recorder.add(context || canvas || dataURL);\r\n * var output = recorder.compile();\r\n * @see {@link https://github.com/muaz-khan/RecordRTC|RecordRTC Source Code}\r\n */\r\n\r\nvar Whammy = (function() {\r\n    // a more abstract-ish API\r\n\r\n    function WhammyVideo(duration) {\r\n        this.frames = [];\r\n        this.duration = duration || 1;\r\n        this.quality = 0.8;\r\n    }\r\n\r\n    /**\r\n     * Pass Canvas or Context or image/webp(string) to {@link Whammy} encoder.\r\n     * @method\r\n     * @memberof Whammy\r\n     * @example\r\n     * recorder = new Whammy().Video(0.8, 100);\r\n     * recorder.add(canvas || context || 'image/webp');\r\n     * @param {string} frame - Canvas || Context || image/webp\r\n     * @param {number} duration - Stick a duration (in milliseconds)\r\n     */\r\n    WhammyVideo.prototype.add = function(frame, duration) {\r\n        if ('canvas' in frame) { //CanvasRenderingContext2D\r\n            frame = frame.canvas;\r\n        }\r\n\r\n        if ('toDataURL' in frame) {\r\n            frame = frame.toDataURL('image/webp', this.quality);\r\n        }\r\n\r\n        if (!(/^data:image\\/webp;base64,/ig).test(frame)) {\r\n            throw 'Input must be formatted properly as a base64 encoded DataURI of type image/webp';\r\n        }\r\n        this.frames.push({\r\n            image: frame,\r\n            duration: duration || this.duration\r\n        });\r\n    };\r\n\r\n    function processInWebWorker(_function) {\r\n        var blob = URL.createObjectURL(new Blob([_function.toString(),\r\n            'this.onmessage =  function (eee) {' + _function.name + '(eee.data);}'\r\n        ], {\r\n            type: 'application/javascript'\r\n        }));\r\n\r\n        var worker = new Worker(blob);\r\n        URL.revokeObjectURL(blob);\r\n        return worker;\r\n    }\r\n\r\n    function whammyInWebWorker(frames) {\r\n        function ArrayToWebM(frames) {\r\n            var info = checkFrames(frames);\r\n            if (!info) {\r\n                return [];\r\n            }\r\n\r\n            var clusterMaxDuration = 30000;\r\n\r\n            var EBML = [{\r\n                'id': 0x1a45dfa3, // EBML\r\n                'data': [{\r\n                    'data': 1,\r\n                    'id': 0x4286 // EBMLVersion\r\n                }, {\r\n                    'data': 1,\r\n                    'id': 0x42f7 // EBMLReadVersion\r\n                }, {\r\n                    'data': 4,\r\n                    'id': 0x42f2 // EBMLMaxIDLength\r\n                }, {\r\n                    'data': 8,\r\n                    'id': 0x42f3 // EBMLMaxSizeLength\r\n                }, {\r\n                    'data': 'webm',\r\n                    'id': 0x4282 // DocType\r\n                }, {\r\n                    'data': 2,\r\n                    'id': 0x4287 // DocTypeVersion\r\n                }, {\r\n                    'data': 2,\r\n                    'id': 0x4285 // DocTypeReadVersion\r\n                }]\r\n            }, {\r\n                'id': 0x18538067, // Segment\r\n                'data': [{\r\n                    'id': 0x1549a966, // Info\r\n                    'data': [{\r\n                        'data': 1e6, //do things in millisecs (num of nanosecs for duration scale)\r\n                        'id': 0x2ad7b1 // TimecodeScale\r\n                    }, {\r\n                        'data': 'whammy',\r\n                        'id': 0x4d80 // MuxingApp\r\n                    }, {\r\n                        'data': 'whammy',\r\n                        'id': 0x5741 // WritingApp\r\n                    }, {\r\n                        'data': doubleToString(info.duration),\r\n                        'id': 0x4489 // Duration\r\n                    }]\r\n                }, {\r\n                    'id': 0x1654ae6b, // Tracks\r\n                    'data': [{\r\n                        'id': 0xae, // TrackEntry\r\n                        'data': [{\r\n                            'data': 1,\r\n                            'id': 0xd7 // TrackNumber\r\n                        }, {\r\n                            'data': 1,\r\n                            'id': 0x73c5 // TrackUID\r\n                        }, {\r\n                            'data': 0,\r\n                            'id': 0x9c // FlagLacing\r\n                        }, {\r\n                            'data': 'und',\r\n                            'id': 0x22b59c // Language\r\n                        }, {\r\n                            'data': 'V_VP8',\r\n                            'id': 0x86 // CodecID\r\n                        }, {\r\n                            'data': 'VP8',\r\n                            'id': 0x258688 // CodecName\r\n                        }, {\r\n                            'data': 1,\r\n                            'id': 0x83 // TrackType\r\n                        }, {\r\n                            'id': 0xe0, // Video\r\n                            'data': [{\r\n                                'data': info.width,\r\n                                'id': 0xb0 // PixelWidth\r\n                            }, {\r\n                                'data': info.height,\r\n                                'id': 0xba // PixelHeight\r\n                            }]\r\n                        }]\r\n                    }]\r\n                }]\r\n            }];\r\n\r\n            //Generate clusters (max duration)\r\n            var frameNumber = 0;\r\n            var clusterTimecode = 0;\r\n            while (frameNumber < frames.length) {\r\n\r\n                var clusterFrames = [];\r\n                var clusterDuration = 0;\r\n                do {\r\n                    clusterFrames.push(frames[frameNumber]);\r\n                    clusterDuration += frames[frameNumber].duration;\r\n                    frameNumber++;\r\n                } while (frameNumber < frames.length && clusterDuration < clusterMaxDuration);\r\n\r\n                var clusterCounter = 0;\r\n                var cluster = {\r\n                    'id': 0x1f43b675, // Cluster\r\n                    'data': getClusterData(clusterTimecode, clusterCounter, clusterFrames)\r\n                }; //Add cluster to segment\r\n                EBML[1].data.push(cluster);\r\n                clusterTimecode += clusterDuration;\r\n            }\r\n\r\n            return generateEBML(EBML);\r\n        }\r\n\r\n        function getClusterData(clusterTimecode, clusterCounter, clusterFrames) {\r\n            return [{\r\n                'data': clusterTimecode,\r\n                'id': 0xe7 // Timecode\r\n            }].concat(clusterFrames.map(function(webp) {\r\n                var block = makeSimpleBlock({\r\n                    discardable: 0,\r\n                    frame: webp.data.slice(4),\r\n                    invisible: 0,\r\n                    keyframe: 1,\r\n                    lacing: 0,\r\n                    trackNum: 1,\r\n                    timecode: Math.round(clusterCounter)\r\n                });\r\n                clusterCounter += webp.duration;\r\n                return {\r\n                    data: block,\r\n                    id: 0xa3\r\n                };\r\n            }));\r\n        }\r\n\r\n        // sums the lengths of all the frames and gets the duration\r\n\r\n        function checkFrames(frames) {\r\n            if (!frames[0]) {\r\n                postMessage({\r\n                    error: 'Something went wrong. Maybe WebP format is not supported in the current browser.'\r\n                });\r\n                return;\r\n            }\r\n\r\n            var width = frames[0].width,\r\n                height = frames[0].height,\r\n                duration = frames[0].duration;\r\n\r\n            for (var i = 1; i < frames.length; i++) {\r\n                duration += frames[i].duration;\r\n            }\r\n            return {\r\n                duration: duration,\r\n                width: width,\r\n                height: height\r\n            };\r\n        }\r\n\r\n        function numToBuffer(num) {\r\n            var parts = [];\r\n            while (num > 0) {\r\n                parts.push(num & 0xff);\r\n                num = num >> 8;\r\n            }\r\n            return new Uint8Array(parts.reverse());\r\n        }\r\n\r\n        function strToBuffer(str) {\r\n            return new Uint8Array(str.split('').map(function(e) {\r\n                return e.charCodeAt(0);\r\n            }));\r\n        }\r\n\r\n        function bitsToBuffer(bits) {\r\n            var data = [];\r\n            var pad = (bits.length % 8) ? (new Array(1 + 8 - (bits.length % 8))).join('0') : '';\r\n            bits = pad + bits;\r\n            for (var i = 0; i < bits.length; i += 8) {\r\n                data.push(parseInt(bits.substr(i, 8), 2));\r\n            }\r\n            return new Uint8Array(data);\r\n        }\r\n\r\n        function generateEBML(json) {\r\n            var ebml = [];\r\n            for (var i = 0; i < json.length; i++) {\r\n                var data = json[i].data;\r\n\r\n                if (typeof data === 'object') {\r\n                    data = generateEBML(data);\r\n                }\r\n\r\n                if (typeof data === 'number') {\r\n                    data = bitsToBuffer(data.toString(2));\r\n                }\r\n\r\n                if (typeof data === 'string') {\r\n                    data = strToBuffer(data);\r\n                }\r\n\r\n                var len = data.size || data.byteLength || data.length;\r\n                var zeroes = Math.ceil(Math.ceil(Math.log(len) / Math.log(2)) / 8);\r\n                var sizeToString = len.toString(2);\r\n                var padded = (new Array((zeroes * 7 + 7 + 1) - sizeToString.length)).join('0') + sizeToString;\r\n                var size = (new Array(zeroes)).join('0') + '1' + padded;\r\n\r\n                ebml.push(numToBuffer(json[i].id));\r\n                ebml.push(bitsToBuffer(size));\r\n                ebml.push(data);\r\n            }\r\n\r\n            return new Blob(ebml, {\r\n                type: 'video/webm'\r\n            });\r\n        }\r\n\r\n        function toBinStrOld(bits) {\r\n            var data = '';\r\n            var pad = (bits.length % 8) ? (new Array(1 + 8 - (bits.length % 8))).join('0') : '';\r\n            bits = pad + bits;\r\n            for (var i = 0; i < bits.length; i += 8) {\r\n                data += String.fromCharCode(parseInt(bits.substr(i, 8), 2));\r\n            }\r\n            return data;\r\n        }\r\n\r\n        function makeSimpleBlock(data) {\r\n            var flags = 0;\r\n\r\n            if (data.keyframe) {\r\n                flags |= 128;\r\n            }\r\n\r\n            if (data.invisible) {\r\n                flags |= 8;\r\n            }\r\n\r\n            if (data.lacing) {\r\n                flags |= (data.lacing << 1);\r\n            }\r\n\r\n            if (data.discardable) {\r\n                flags |= 1;\r\n            }\r\n\r\n            if (data.trackNum > 127) {\r\n                throw 'TrackNumber > 127 not supported';\r\n            }\r\n\r\n            var out = [data.trackNum | 0x80, data.timecode >> 8, data.timecode & 0xff, flags].map(function(e) {\r\n                return String.fromCharCode(e);\r\n            }).join('') + data.frame;\r\n\r\n            return out;\r\n        }\r\n\r\n        function parseWebP(riff) {\r\n            var VP8 = riff.RIFF[0].WEBP[0];\r\n\r\n            var frameStart = VP8.indexOf('\\x9d\\x01\\x2a'); // A VP8 keyframe starts with the 0x9d012a header\r\n            for (var i = 0, c = []; i < 4; i++) {\r\n                c[i] = VP8.charCodeAt(frameStart + 3 + i);\r\n            }\r\n\r\n            var width, height, tmp;\r\n\r\n            //the code below is literally copied verbatim from the bitstream spec\r\n            tmp = (c[1] << 8) | c[0];\r\n            width = tmp & 0x3FFF;\r\n            tmp = (c[3] << 8) | c[2];\r\n            height = tmp & 0x3FFF;\r\n            return {\r\n                width: width,\r\n                height: height,\r\n                data: VP8,\r\n                riff: riff\r\n            };\r\n        }\r\n\r\n        function getStrLength(string, offset) {\r\n            return parseInt(string.substr(offset + 4, 4).split('').map(function(i) {\r\n                var unpadded = i.charCodeAt(0).toString(2);\r\n                return (new Array(8 - unpadded.length + 1)).join('0') + unpadded;\r\n            }).join(''), 2);\r\n        }\r\n\r\n        function parseRIFF(string) {\r\n            var offset = 0;\r\n            var chunks = {};\r\n\r\n            while (offset < string.length) {\r\n                var id = string.substr(offset, 4);\r\n                var len = getStrLength(string, offset);\r\n                var data = string.substr(offset + 4 + 4, len);\r\n                offset += 4 + 4 + len;\r\n                chunks[id] = chunks[id] || [];\r\n\r\n                if (id === 'RIFF' || id === 'LIST') {\r\n                    chunks[id].push(parseRIFF(data));\r\n                } else {\r\n                    chunks[id].push(data);\r\n                }\r\n            }\r\n            return chunks;\r\n        }\r\n\r\n        function doubleToString(num) {\r\n            return [].slice.call(\r\n                new Uint8Array((new Float64Array([num])).buffer), 0).map(function(e) {\r\n                return String.fromCharCode(e);\r\n            }).reverse().join('');\r\n        }\r\n\r\n        var webm = new ArrayToWebM(frames.map(function(frame) {\r\n            var webp = parseWebP(parseRIFF(atob(frame.image.slice(23))));\r\n            webp.duration = frame.duration;\r\n            return webp;\r\n        }));\r\n\r\n        postMessage(webm);\r\n    }\r\n\r\n    /**\r\n     * Encodes frames in WebM container. It uses WebWorkinvoke to invoke 'ArrayToWebM' method.\r\n     * @param {function} callback - Callback function, that is used to pass recorded blob back to the callee.\r\n     * @method\r\n     * @memberof Whammy\r\n     * @example\r\n     * recorder = new Whammy().Video(0.8, 100);\r\n     * recorder.compile(function(blob) {\r\n     *    // blob.size - blob.type\r\n     * });\r\n     */\r\n    WhammyVideo.prototype.compile = function(callback) {\r\n        var webWorker = processInWebWorker(whammyInWebWorker);\r\n\r\n        webWorker.onmessage = function(event) {\r\n            if (event.data.error) {\r\n                console.error(event.data.error);\r\n                return;\r\n            }\r\n            callback(event.data);\r\n        };\r\n\r\n        webWorker.postMessage(this.frames);\r\n    };\r\n\r\n    return {\r\n        /**\r\n         * A more abstract-ish API.\r\n         * @method\r\n         * @memberof Whammy\r\n         * @example\r\n         * recorder = new Whammy().Video(0.8, 100);\r\n         * @param {?number} speed - 0.8\r\n         * @param {?number} quality - 100\r\n         */\r\n        Video: WhammyVideo\r\n    };\r\n})();\r\n\r\nif (typeof RecordRTC !== 'undefined') {\r\n    RecordRTC.Whammy = Whammy;\r\n}\r\n\r\n// ______________ (indexed-db)\r\n// DiskStorage.js\r\n\r\n/**\r\n * DiskStorage is a standalone object used by {@link RecordRTC} to store recorded blobs in IndexedDB storage.\r\n * @summary Writing blobs into IndexedDB.\r\n * @license {@link https://github.com/muaz-khan/RecordRTC/blob/master/LICENSE|MIT}\r\n * @author {@link https://MuazKhan.com|Muaz Khan}\r\n * @example\r\n * DiskStorage.Store({\r\n *     audioBlob: yourAudioBlob,\r\n *     videoBlob: yourVideoBlob,\r\n *     gifBlob  : yourGifBlob\r\n * });\r\n * DiskStorage.Fetch(function(dataURL, type) {\r\n *     if(type === 'audioBlob') { }\r\n *     if(type === 'videoBlob') { }\r\n *     if(type === 'gifBlob')   { }\r\n * });\r\n * // DiskStorage.dataStoreName = 'recordRTC';\r\n * // DiskStorage.onError = function(error) { };\r\n * @property {function} init - This method must be called once to initialize IndexedDB ObjectStore. Though, it is auto-used internally.\r\n * @property {function} Fetch - This method fetches stored blobs from IndexedDB.\r\n * @property {function} Store - This method stores blobs in IndexedDB.\r\n * @property {function} onError - This function is invoked for any known/unknown error.\r\n * @property {string} dataStoreName - Name of the ObjectStore created in IndexedDB storage.\r\n * @see {@link https://github.com/muaz-khan/RecordRTC|RecordRTC Source Code}\r\n */\r\n\r\n\r\nvar DiskStorage = {\r\n    /**\r\n     * This method must be called once to initialize IndexedDB ObjectStore. Though, it is auto-used internally.\r\n     * @method\r\n     * @memberof DiskStorage\r\n     * @internal\r\n     * @example\r\n     * DiskStorage.init();\r\n     */\r\n    init: function() {\r\n        var self = this;\r\n\r\n        if (typeof indexedDB === 'undefined' || typeof indexedDB.open === 'undefined') {\r\n            console.error('IndexedDB API are not available in this browser.');\r\n            return;\r\n        }\r\n\r\n        var dbVersion = 1;\r\n        var dbName = this.dbName || location.href.replace(/\\/|:|#|%|\\.|\\[|\\]/g, ''),\r\n            db;\r\n        var request = indexedDB.open(dbName, dbVersion);\r\n\r\n        function createObjectStore(dataBase) {\r\n            dataBase.createObjectStore(self.dataStoreName);\r\n        }\r\n\r\n        function putInDB() {\r\n            var transaction = db.transaction([self.dataStoreName], 'readwrite');\r\n\r\n            if (self.videoBlob) {\r\n                transaction.objectStore(self.dataStoreName).put(self.videoBlob, 'videoBlob');\r\n            }\r\n\r\n            if (self.gifBlob) {\r\n                transaction.objectStore(self.dataStoreName).put(self.gifBlob, 'gifBlob');\r\n            }\r\n\r\n            if (self.audioBlob) {\r\n                transaction.objectStore(self.dataStoreName).put(self.audioBlob, 'audioBlob');\r\n            }\r\n\r\n            function getFromStore(portionName) {\r\n                transaction.objectStore(self.dataStoreName).get(portionName).onsuccess = function(event) {\r\n                    if (self.callback) {\r\n                        self.callback(event.target.result, portionName);\r\n                    }\r\n                };\r\n            }\r\n\r\n            getFromStore('audioBlob');\r\n            getFromStore('videoBlob');\r\n            getFromStore('gifBlob');\r\n        }\r\n\r\n        request.onerror = self.onError;\r\n\r\n        request.onsuccess = function() {\r\n            db = request.result;\r\n            db.onerror = self.onError;\r\n\r\n            if (db.setVersion) {\r\n                if (db.version !== dbVersion) {\r\n                    var setVersion = db.setVersion(dbVersion);\r\n                    setVersion.onsuccess = function() {\r\n                        createObjectStore(db);\r\n                        putInDB();\r\n                    };\r\n                } else {\r\n                    putInDB();\r\n                }\r\n            } else {\r\n                putInDB();\r\n            }\r\n        };\r\n        request.onupgradeneeded = function(event) {\r\n            createObjectStore(event.target.result);\r\n        };\r\n    },\r\n    /**\r\n     * This method fetches stored blobs from IndexedDB.\r\n     * @method\r\n     * @memberof DiskStorage\r\n     * @internal\r\n     * @example\r\n     * DiskStorage.Fetch(function(dataURL, type) {\r\n     *     if(type === 'audioBlob') { }\r\n     *     if(type === 'videoBlob') { }\r\n     *     if(type === 'gifBlob')   { }\r\n     * });\r\n     */\r\n    Fetch: function(callback) {\r\n        this.callback = callback;\r\n        this.init();\r\n\r\n        return this;\r\n    },\r\n    /**\r\n     * This method stores blobs in IndexedDB.\r\n     * @method\r\n     * @memberof DiskStorage\r\n     * @internal\r\n     * @example\r\n     * DiskStorage.Store({\r\n     *     audioBlob: yourAudioBlob,\r\n     *     videoBlob: yourVideoBlob,\r\n     *     gifBlob  : yourGifBlob\r\n     * });\r\n     */\r\n    Store: function(config) {\r\n        this.audioBlob = config.audioBlob;\r\n        this.videoBlob = config.videoBlob;\r\n        this.gifBlob = config.gifBlob;\r\n\r\n        this.init();\r\n\r\n        return this;\r\n    },\r\n    /**\r\n     * This function is invoked for any known/unknown error.\r\n     * @method\r\n     * @memberof DiskStorage\r\n     * @internal\r\n     * @example\r\n     * DiskStorage.onError = function(error){\r\n     *     alerot( JSON.stringify(error) );\r\n     * };\r\n     */\r\n    onError: function(error) {\r\n        console.error(JSON.stringify(error, null, '\\t'));\r\n    },\r\n\r\n    /**\r\n     * @property {string} dataStoreName - Name of the ObjectStore created in IndexedDB storage.\r\n     * @memberof DiskStorage\r\n     * @internal\r\n     * @example\r\n     * DiskStorage.dataStoreName = 'recordRTC';\r\n     */\r\n    dataStoreName: 'recordRTC',\r\n    dbName: null\r\n};\r\n\r\nif (typeof RecordRTC !== 'undefined') {\r\n    RecordRTC.DiskStorage = DiskStorage;\r\n}\r\n\r\n// ______________\r\n// GifRecorder.js\r\n\r\n/**\r\n * GifRecorder is standalone calss used by {@link RecordRTC} to record video or canvas into animated gif.\r\n * @license {@link https://github.com/muaz-khan/RecordRTC/blob/master/LICENSE|MIT}\r\n * @author {@link https://MuazKhan.com|Muaz Khan}\r\n * @typedef GifRecorder\r\n * @class\r\n * @example\r\n * var recorder = new GifRecorder(mediaStream || canvas || context, { onGifPreview: function, onGifRecordingStarted: function, width: 1280, height: 720, frameRate: 200, quality: 10 });\r\n * recorder.record();\r\n * recorder.stop(function(blob) {\r\n *     img.src = URL.createObjectURL(blob);\r\n * });\r\n * @see {@link https://github.com/muaz-khan/RecordRTC|RecordRTC Source Code}\r\n * @param {MediaStream} mediaStream - MediaStream object or HTMLCanvasElement or CanvasRenderingContext2D.\r\n * @param {object} config - {disableLogs:true, initCallback: function, width: 320, height: 240, frameRate: 200, quality: 10}\r\n */\r\n\r\nfunction GifRecorder(mediaStream, config) {\r\n    if (typeof GIFEncoder === 'undefined') {\r\n        var script = document.createElement('script');\r\n        script.src = 'https://www.webrtc-experiment.com/gif-recorder.js';\r\n        (document.body || document.documentElement).appendChild(script);\r\n    }\r\n\r\n    config = config || {};\r\n\r\n    var isHTMLObject = mediaStream instanceof CanvasRenderingContext2D || mediaStream instanceof HTMLCanvasElement;\r\n\r\n    /**\r\n     * This method records MediaStream.\r\n     * @method\r\n     * @memberof GifRecorder\r\n     * @example\r\n     * recorder.record();\r\n     */\r\n    this.record = function() {\r\n        if (typeof GIFEncoder === 'undefined') {\r\n            setTimeout(self.record, 1000);\r\n            return;\r\n        }\r\n\r\n        if (!isLoadedMetaData) {\r\n            setTimeout(self.record, 1000);\r\n            return;\r\n        }\r\n\r\n        if (!isHTMLObject) {\r\n            if (!config.width) {\r\n                config.width = video.offsetWidth || 320;\r\n            }\r\n\r\n            if (!config.height) {\r\n                config.height = video.offsetHeight || 240;\r\n            }\r\n\r\n            if (!config.video) {\r\n                config.video = {\r\n                    width: config.width,\r\n                    height: config.height\r\n                };\r\n            }\r\n\r\n            if (!config.canvas) {\r\n                config.canvas = {\r\n                    width: config.width,\r\n                    height: config.height\r\n                };\r\n            }\r\n\r\n            canvas.width = config.canvas.width || 320;\r\n            canvas.height = config.canvas.height || 240;\r\n\r\n            video.width = config.video.width || 320;\r\n            video.height = config.video.height || 240;\r\n        }\r\n\r\n        // external library to record as GIF images\r\n        gifEncoder = new GIFEncoder();\r\n\r\n        // void setRepeat(int iter) \r\n        // Sets the number of times the set of GIF frames should be played. \r\n        // Default is 1; 0 means play indefinitely.\r\n        gifEncoder.setRepeat(0);\r\n\r\n        // void setFrameRate(Number fps) \r\n        // Sets frame rate in frames per second. \r\n        // Equivalent to setDelay(1000/fps).\r\n        // Using \"setDelay\" instead of \"setFrameRate\"\r\n        gifEncoder.setDelay(config.frameRate || 200);\r\n\r\n        // void setQuality(int quality) \r\n        // Sets quality of color quantization (conversion of images to the \r\n        // maximum 256 colors allowed by the GIF specification). \r\n        // Lower values (minimum = 1) produce better colors, \r\n        // but slow processing significantly. 10 is the default, \r\n        // and produces good color mapping at reasonable speeds. \r\n        // Values greater than 20 do not yield significant improvements in speed.\r\n        gifEncoder.setQuality(config.quality || 10);\r\n\r\n        // Boolean start() \r\n        // This writes the GIF Header and returns false if it fails.\r\n        gifEncoder.start();\r\n\r\n        if (typeof config.onGifRecordingStarted === 'function') {\r\n            config.onGifRecordingStarted();\r\n        }\r\n\r\n        startTime = Date.now();\r\n\r\n        function drawVideoFrame(time) {\r\n            if (self.clearedRecordedData === true) {\r\n                return;\r\n            }\r\n\r\n            if (isPausedRecording) {\r\n                return setTimeout(function() {\r\n                    drawVideoFrame(time);\r\n                }, 100);\r\n            }\r\n\r\n            lastAnimationFrame = requestAnimationFrame(drawVideoFrame);\r\n\r\n            if (typeof lastFrameTime === undefined) {\r\n                lastFrameTime = time;\r\n            }\r\n\r\n            // ~10 fps\r\n            if (time - lastFrameTime < 90) {\r\n                return;\r\n            }\r\n\r\n            if (!isHTMLObject && video.paused) {\r\n                // via: https://github.com/muaz-khan/WebRTC-Experiment/pull/316\r\n                // Tweak for Android Chrome\r\n                video.play();\r\n            }\r\n\r\n            if (!isHTMLObject) {\r\n                context.drawImage(video, 0, 0, canvas.width, canvas.height);\r\n            }\r\n\r\n            if (config.onGifPreview) {\r\n                config.onGifPreview(canvas.toDataURL('image/png'));\r\n            }\r\n\r\n            gifEncoder.addFrame(context);\r\n            lastFrameTime = time;\r\n        }\r\n\r\n        lastAnimationFrame = requestAnimationFrame(drawVideoFrame);\r\n\r\n        if (config.initCallback) {\r\n            config.initCallback();\r\n        }\r\n    };\r\n\r\n    /**\r\n     * This method stops recording MediaStream.\r\n     * @param {function} callback - Callback function, that is used to pass recorded blob back to the callee.\r\n     * @method\r\n     * @memberof GifRecorder\r\n     * @example\r\n     * recorder.stop(function(blob) {\r\n     *     img.src = URL.createObjectURL(blob);\r\n     * });\r\n     */\r\n    this.stop = function(callback) {\r\n        callback = callback || function() {};\r\n\r\n        if (lastAnimationFrame) {\r\n            cancelAnimationFrame(lastAnimationFrame);\r\n        }\r\n\r\n        endTime = Date.now();\r\n\r\n        /**\r\n         * @property {Blob} blob - The recorded blob object.\r\n         * @memberof GifRecorder\r\n         * @example\r\n         * recorder.stop(function(){\r\n         *     var blob = recorder.blob;\r\n         * });\r\n         */\r\n        this.blob = new Blob([new Uint8Array(gifEncoder.stream().bin)], {\r\n            type: 'image/gif'\r\n        });\r\n\r\n        callback(this.blob);\r\n\r\n        // bug: find a way to clear old recorded blobs\r\n        gifEncoder.stream().bin = [];\r\n    };\r\n\r\n    var isPausedRecording = false;\r\n\r\n    /**\r\n     * This method pauses the recording process.\r\n     * @method\r\n     * @memberof GifRecorder\r\n     * @example\r\n     * recorder.pause();\r\n     */\r\n    this.pause = function() {\r\n        isPausedRecording = true;\r\n    };\r\n\r\n    /**\r\n     * This method resumes the recording process.\r\n     * @method\r\n     * @memberof GifRecorder\r\n     * @example\r\n     * recorder.resume();\r\n     */\r\n    this.resume = function() {\r\n        isPausedRecording = false;\r\n    };\r\n\r\n    /**\r\n     * This method resets currently recorded data.\r\n     * @method\r\n     * @memberof GifRecorder\r\n     * @example\r\n     * recorder.clearRecordedData();\r\n     */\r\n    this.clearRecordedData = function() {\r\n        self.clearedRecordedData = true;\r\n        clearRecordedDataCB();\r\n    };\r\n\r\n    function clearRecordedDataCB() {\r\n        if (gifEncoder) {\r\n            gifEncoder.stream().bin = [];\r\n        }\r\n    }\r\n\r\n    // for debugging\r\n    this.name = 'GifRecorder';\r\n    this.toString = function() {\r\n        return this.name;\r\n    };\r\n\r\n    var canvas = document.createElement('canvas');\r\n    var context = canvas.getContext('2d');\r\n\r\n    if (isHTMLObject) {\r\n        if (mediaStream instanceof CanvasRenderingContext2D) {\r\n            context = mediaStream;\r\n            canvas = context.canvas;\r\n        } else if (mediaStream instanceof HTMLCanvasElement) {\r\n            context = mediaStream.getContext('2d');\r\n            canvas = mediaStream;\r\n        }\r\n    }\r\n\r\n    var isLoadedMetaData = true;\r\n\r\n    if (!isHTMLObject) {\r\n        var video = document.createElement('video');\r\n        video.muted = true;\r\n        video.autoplay = true;\r\n\r\n        isLoadedMetaData = false;\r\n        video.onloadedmetadata = function() {\r\n            isLoadedMetaData = true;\r\n        };\r\n\r\n        setSrcObject(mediaStream, video);\r\n\r\n        video.play();\r\n    }\r\n\r\n    var lastAnimationFrame = null;\r\n    var startTime, endTime, lastFrameTime;\r\n\r\n    var gifEncoder;\r\n\r\n    var self = this;\r\n}\r\n\r\nif (typeof RecordRTC !== 'undefined') {\r\n    RecordRTC.GifRecorder = GifRecorder;\r\n}\r\n\r\n// Last time updated: 2019-06-21 4:09:42 AM UTC\r\n\r\n// ________________________\r\n// MultiStreamsMixer v1.2.2\r\n\r\n// Open-Sourced: https://github.com/muaz-khan/MultiStreamsMixer\r\n\r\n// --------------------------------------------------\r\n// Muaz Khan     - www.MuazKhan.com\r\n// MIT License   - www.WebRTC-Experiment.com/licence\r\n// --------------------------------------------------\r\n\r\nfunction MultiStreamsMixer(arrayOfMediaStreams, elementClass) {\r\n\r\n    var browserFakeUserAgent = 'Fake/5.0 (FakeOS) AppleWebKit/123 (KHTML, like Gecko) Fake/12.3.4567.89 Fake/123.45';\r\n\r\n    (function(that) {\r\n        if (typeof RecordRTC !== 'undefined') {\r\n            return;\r\n        }\r\n\r\n        if (!that) {\r\n            return;\r\n        }\r\n\r\n        if (typeof window !== 'undefined') {\r\n            return;\r\n        }\r\n\r\n        if (typeof global === 'undefined') {\r\n            return;\r\n        }\r\n\r\n        global.navigator = {\r\n            userAgent: browserFakeUserAgent,\r\n            getUserMedia: function() {}\r\n        };\r\n\r\n        if (!global.console) {\r\n            global.console = {};\r\n        }\r\n\r\n        if (typeof global.console.log === 'undefined' || typeof global.console.error === 'undefined') {\r\n            global.console.error = global.console.log = global.console.log || function() {\r\n                console.log(arguments);\r\n            };\r\n        }\r\n\r\n        if (typeof document === 'undefined') {\r\n            /*global document:true */\r\n            that.document = {\r\n                documentElement: {\r\n                    appendChild: function() {\r\n                        return '';\r\n                    }\r\n                }\r\n            };\r\n\r\n            document.createElement = document.captureStream = document.mozCaptureStream = function() {\r\n                var obj = {\r\n                    getContext: function() {\r\n                        return obj;\r\n                    },\r\n                    play: function() {},\r\n                    pause: function() {},\r\n                    drawImage: function() {},\r\n                    toDataURL: function() {\r\n                        return '';\r\n                    },\r\n                    style: {}\r\n                };\r\n                return obj;\r\n            };\r\n\r\n            that.HTMLVideoElement = function() {};\r\n        }\r\n\r\n        if (typeof location === 'undefined') {\r\n            /*global location:true */\r\n            that.location = {\r\n                protocol: 'file:',\r\n                href: '',\r\n                hash: ''\r\n            };\r\n        }\r\n\r\n        if (typeof screen === 'undefined') {\r\n            /*global screen:true */\r\n            that.screen = {\r\n                width: 0,\r\n                height: 0\r\n            };\r\n        }\r\n\r\n        if (typeof URL === 'undefined') {\r\n            /*global screen:true */\r\n            that.URL = {\r\n                createObjectURL: function() {\r\n                    return '';\r\n                },\r\n                revokeObjectURL: function() {\r\n                    return '';\r\n                }\r\n            };\r\n        }\r\n\r\n        /*global window:true */\r\n        that.window = global;\r\n    })(typeof global !== 'undefined' ? global : null);\r\n\r\n    // requires: chrome://flags/#enable-experimental-web-platform-features\r\n\r\n    elementClass = elementClass || 'multi-streams-mixer';\r\n\r\n    var videos = [];\r\n    var isStopDrawingFrames = false;\r\n\r\n    var canvas = document.createElement('canvas');\r\n    var context = canvas.getContext('2d');\r\n    canvas.style.opacity = 0;\r\n    canvas.style.position = 'absolute';\r\n    canvas.style.zIndex = -1;\r\n    canvas.style.top = '-1000em';\r\n    canvas.style.left = '-1000em';\r\n    canvas.className = elementClass;\r\n    (document.body || document.documentElement).appendChild(canvas);\r\n\r\n    this.disableLogs = false;\r\n    this.frameInterval = 10;\r\n\r\n    this.width = 360;\r\n    this.height = 240;\r\n\r\n    // use gain node to prevent echo\r\n    this.useGainNode = true;\r\n\r\n    var self = this;\r\n\r\n    // _____________________________\r\n    // Cross-Browser-Declarations.js\r\n\r\n    // WebAudio API representer\r\n    var AudioContext = window.AudioContext;\r\n\r\n    if (typeof AudioContext === 'undefined') {\r\n        if (typeof webkitAudioContext !== 'undefined') {\r\n            /*global AudioContext:true */\r\n            AudioContext = webkitAudioContext;\r\n        }\r\n\r\n        if (typeof mozAudioContext !== 'undefined') {\r\n            /*global AudioContext:true */\r\n            AudioContext = mozAudioContext;\r\n        }\r\n    }\r\n\r\n    /*jshint -W079 */\r\n    var URL = window.URL;\r\n\r\n    if (typeof URL === 'undefined' && typeof webkitURL !== 'undefined') {\r\n        /*global URL:true */\r\n        URL = webkitURL;\r\n    }\r\n\r\n    if (typeof navigator !== 'undefined' && typeof navigator.getUserMedia === 'undefined') { // maybe window.navigator?\r\n        if (typeof navigator.webkitGetUserMedia !== 'undefined') {\r\n            navigator.getUserMedia = navigator.webkitGetUserMedia;\r\n        }\r\n\r\n        if (typeof navigator.mozGetUserMedia !== 'undefined') {\r\n            navigator.getUserMedia = navigator.mozGetUserMedia;\r\n        }\r\n    }\r\n\r\n    var MediaStream = window.MediaStream;\r\n\r\n    if (typeof MediaStream === 'undefined' && typeof webkitMediaStream !== 'undefined') {\r\n        MediaStream = webkitMediaStream;\r\n    }\r\n\r\n    /*global MediaStream:true */\r\n    if (typeof MediaStream !== 'undefined') {\r\n        // override \"stop\" method for all browsers\r\n        if (typeof MediaStream.prototype.stop === 'undefined') {\r\n            MediaStream.prototype.stop = function() {\r\n                this.getTracks().forEach(function(track) {\r\n                    track.stop();\r\n                });\r\n            };\r\n        }\r\n    }\r\n\r\n    var Storage = {};\r\n\r\n    if (typeof AudioContext !== 'undefined') {\r\n        Storage.AudioContext = AudioContext;\r\n    } else if (typeof webkitAudioContext !== 'undefined') {\r\n        Storage.AudioContext = webkitAudioContext;\r\n    }\r\n\r\n    function setSrcObject(stream, element) {\r\n        if ('srcObject' in element) {\r\n            element.srcObject = stream;\r\n        } else if ('mozSrcObject' in element) {\r\n            element.mozSrcObject = stream;\r\n        } else {\r\n            element.srcObject = stream;\r\n        }\r\n    }\r\n\r\n    this.startDrawingFrames = function() {\r\n        drawVideosToCanvas();\r\n    };\r\n\r\n    function drawVideosToCanvas() {\r\n        if (isStopDrawingFrames) {\r\n            return;\r\n        }\r\n\r\n        var videosLength = videos.length;\r\n\r\n        var fullcanvas = false;\r\n        var remaining = [];\r\n        videos.forEach(function(video) {\r\n            if (!video.stream) {\r\n                video.stream = {};\r\n            }\r\n\r\n            if (video.stream.fullcanvas) {\r\n                fullcanvas = video;\r\n            } else {\r\n                // todo: video.stream.active or video.stream.live to fix blank frames issues?\r\n                remaining.push(video);\r\n            }\r\n        });\r\n\r\n        if (fullcanvas) {\r\n            canvas.width = fullcanvas.stream.width;\r\n            canvas.height = fullcanvas.stream.height;\r\n        } else if (remaining.length) {\r\n            canvas.width = videosLength > 1 ? remaining[0].width * 2 : remaining[0].width;\r\n\r\n            var height = 1;\r\n            if (videosLength === 3 || videosLength === 4) {\r\n                height = 2;\r\n            }\r\n            if (videosLength === 5 || videosLength === 6) {\r\n                height = 3;\r\n            }\r\n            if (videosLength === 7 || videosLength === 8) {\r\n                height = 4;\r\n            }\r\n            if (videosLength === 9 || videosLength === 10) {\r\n                height = 5;\r\n            }\r\n            canvas.height = remaining[0].height * height;\r\n        } else {\r\n            canvas.width = self.width || 360;\r\n            canvas.height = self.height || 240;\r\n        }\r\n\r\n        if (fullcanvas && fullcanvas instanceof HTMLVideoElement) {\r\n            drawImage(fullcanvas);\r\n        }\r\n\r\n        remaining.forEach(function(video, idx) {\r\n            drawImage(video, idx);\r\n        });\r\n\r\n        setTimeout(drawVideosToCanvas, self.frameInterval);\r\n    }\r\n\r\n    function drawImage(video, idx) {\r\n        if (isStopDrawingFrames) {\r\n            return;\r\n        }\r\n\r\n        var x = 0;\r\n        var y = 0;\r\n        var width = video.width;\r\n        var height = video.height;\r\n\r\n        if (idx === 1) {\r\n            x = video.width;\r\n        }\r\n\r\n        if (idx === 2) {\r\n            y = video.height;\r\n        }\r\n\r\n        if (idx === 3) {\r\n            x = video.width;\r\n            y = video.height;\r\n        }\r\n\r\n        if (idx === 4) {\r\n            y = video.height * 2;\r\n        }\r\n\r\n        if (idx === 5) {\r\n            x = video.width;\r\n            y = video.height * 2;\r\n        }\r\n\r\n        if (idx === 6) {\r\n            y = video.height * 3;\r\n        }\r\n\r\n        if (idx === 7) {\r\n            x = video.width;\r\n            y = video.height * 3;\r\n        }\r\n\r\n        if (typeof video.stream.left !== 'undefined') {\r\n            x = video.stream.left;\r\n        }\r\n\r\n        if (typeof video.stream.top !== 'undefined') {\r\n            y = video.stream.top;\r\n        }\r\n\r\n        if (typeof video.stream.width !== 'undefined') {\r\n            width = video.stream.width;\r\n        }\r\n\r\n        if (typeof video.stream.height !== 'undefined') {\r\n            height = video.stream.height;\r\n        }\r\n\r\n        context.drawImage(video, x, y, width, height);\r\n\r\n        if (typeof video.stream.onRender === 'function') {\r\n            video.stream.onRender(context, x, y, width, height, idx);\r\n        }\r\n    }\r\n\r\n    function getMixedStream() {\r\n        isStopDrawingFrames = false;\r\n        var mixedVideoStream = getMixedVideoStream();\r\n\r\n        var mixedAudioStream = getMixedAudioStream();\r\n        if (mixedAudioStream) {\r\n            mixedAudioStream.getTracks().filter(function(t) {\r\n                return t.kind === 'audio';\r\n            }).forEach(function(track) {\r\n                mixedVideoStream.addTrack(track);\r\n            });\r\n        }\r\n\r\n        var fullcanvas;\r\n        arrayOfMediaStreams.forEach(function(stream) {\r\n            if (stream.fullcanvas) {\r\n                fullcanvas = true;\r\n            }\r\n        });\r\n\r\n        // mixedVideoStream.prototype.appendStreams = appendStreams;\r\n        // mixedVideoStream.prototype.resetVideoStreams = resetVideoStreams;\r\n        // mixedVideoStream.prototype.clearRecordedData = clearRecordedData;\r\n\r\n        return mixedVideoStream;\r\n    }\r\n\r\n    function getMixedVideoStream() {\r\n        resetVideoStreams();\r\n\r\n        var capturedStream;\r\n\r\n        if ('captureStream' in canvas) {\r\n            capturedStream = canvas.captureStream();\r\n        } else if ('mozCaptureStream' in canvas) {\r\n            capturedStream = canvas.mozCaptureStream();\r\n        } else if (!self.disableLogs) {\r\n            console.error('Upgrade to latest Chrome or otherwise enable this flag: chrome://flags/#enable-experimental-web-platform-features');\r\n        }\r\n\r\n        var videoStream = new MediaStream();\r\n\r\n        capturedStream.getTracks().filter(function(t) {\r\n            return t.kind === 'video';\r\n        }).forEach(function(track) {\r\n            videoStream.addTrack(track);\r\n        });\r\n\r\n        canvas.stream = videoStream;\r\n\r\n        return videoStream;\r\n    }\r\n\r\n    function getMixedAudioStream() {\r\n        // via: @pehrsons\r\n        if (!Storage.AudioContextConstructor) {\r\n            Storage.AudioContextConstructor = new Storage.AudioContext();\r\n        }\r\n\r\n        self.audioContext = Storage.AudioContextConstructor;\r\n\r\n        self.audioSources = [];\r\n\r\n        if (self.useGainNode === true) {\r\n            self.gainNode = self.audioContext.createGain();\r\n            self.gainNode.connect(self.audioContext.destination);\r\n            self.gainNode.gain.value = 0; // don't hear self\r\n        }\r\n\r\n        var audioTracksLength = 0;\r\n        arrayOfMediaStreams.forEach(function(stream) {\r\n            if (!stream.getTracks().filter(function(t) {\r\n                    return t.kind === 'audio';\r\n                }).length) {\r\n                return;\r\n            }\r\n\r\n            audioTracksLength++;\r\n\r\n            var audioSource = self.audioContext.createMediaStreamSource(stream);\r\n\r\n            if (self.useGainNode === true) {\r\n                audioSource.connect(self.gainNode);\r\n            }\r\n\r\n            self.audioSources.push(audioSource);\r\n        });\r\n\r\n        if (!audioTracksLength) {\r\n            // because \"self.audioContext\" is not initialized\r\n            // that's why we've to ignore rest of the code\r\n            return;\r\n        }\r\n\r\n        self.audioDestination = self.audioContext.createMediaStreamDestination();\r\n        self.audioSources.forEach(function(audioSource) {\r\n            audioSource.connect(self.audioDestination);\r\n        });\r\n        return self.audioDestination.stream;\r\n    }\r\n\r\n    function getVideo(stream) {\r\n        var video = document.createElement('video');\r\n\r\n        setSrcObject(stream, video);\r\n\r\n        video.className = elementClass;\r\n\r\n        video.muted = true;\r\n        video.volume = 0;\r\n\r\n        video.width = stream.width || self.width || 360;\r\n        video.height = stream.height || self.height || 240;\r\n\r\n        video.play();\r\n\r\n        return video;\r\n    }\r\n\r\n    this.appendStreams = function(streams) {\r\n        if (!streams) {\r\n            throw 'First parameter is required.';\r\n        }\r\n\r\n        if (!(streams instanceof Array)) {\r\n            streams = [streams];\r\n        }\r\n\r\n        streams.forEach(function(stream) {\r\n            var newStream = new MediaStream();\r\n\r\n            if (stream.getTracks().filter(function(t) {\r\n                    return t.kind === 'video';\r\n                }).length) {\r\n                var video = getVideo(stream);\r\n                video.stream = stream;\r\n                videos.push(video);\r\n\r\n                newStream.addTrack(stream.getTracks().filter(function(t) {\r\n                    return t.kind === 'video';\r\n                })[0]);\r\n            }\r\n\r\n            if (stream.getTracks().filter(function(t) {\r\n                    return t.kind === 'audio';\r\n                }).length) {\r\n                var audioSource = self.audioContext.createMediaStreamSource(stream);\r\n                self.audioDestination = self.audioContext.createMediaStreamDestination();\r\n                audioSource.connect(self.audioDestination);\r\n\r\n                newStream.addTrack(self.audioDestination.stream.getTracks().filter(function(t) {\r\n                    return t.kind === 'audio';\r\n                })[0]);\r\n            }\r\n\r\n            arrayOfMediaStreams.push(newStream);\r\n        });\r\n    };\r\n\r\n    this.releaseStreams = function() {\r\n        videos = [];\r\n        isStopDrawingFrames = true;\r\n\r\n        if (self.gainNode) {\r\n            self.gainNode.disconnect();\r\n            self.gainNode = null;\r\n        }\r\n\r\n        if (self.audioSources.length) {\r\n            self.audioSources.forEach(function(source) {\r\n                source.disconnect();\r\n            });\r\n            self.audioSources = [];\r\n        }\r\n\r\n        if (self.audioDestination) {\r\n            self.audioDestination.disconnect();\r\n            self.audioDestination = null;\r\n        }\r\n\r\n        if (self.audioContext) {\r\n            self.audioContext.close();\r\n        }\r\n\r\n        self.audioContext = null;\r\n\r\n        context.clearRect(0, 0, canvas.width, canvas.height);\r\n\r\n        if (canvas.stream) {\r\n            canvas.stream.stop();\r\n            canvas.stream = null;\r\n        }\r\n    };\r\n\r\n    this.resetVideoStreams = function(streams) {\r\n        if (streams && !(streams instanceof Array)) {\r\n            streams = [streams];\r\n        }\r\n\r\n        resetVideoStreams(streams);\r\n    };\r\n\r\n    function resetVideoStreams(streams) {\r\n        videos = [];\r\n        streams = streams || arrayOfMediaStreams;\r\n\r\n        // via: @adrian-ber\r\n        streams.forEach(function(stream) {\r\n            if (!stream.getTracks().filter(function(t) {\r\n                    return t.kind === 'video';\r\n                }).length) {\r\n                return;\r\n            }\r\n\r\n            var video = getVideo(stream);\r\n            video.stream = stream;\r\n            videos.push(video);\r\n        });\r\n    }\r\n\r\n    // for debugging\r\n    this.name = 'MultiStreamsMixer';\r\n    this.toString = function() {\r\n        return this.name;\r\n    };\r\n\r\n    this.getMixedStream = getMixedStream;\r\n\r\n}\r\n\r\nif (typeof RecordRTC === 'undefined') {\r\n    if (typeof module !== 'undefined' /* && !!module.exports*/ ) {\r\n        module.exports = MultiStreamsMixer;\r\n    }\r\n\r\n    if (typeof define === 'function' && define.amd) {\r\n        define('MultiStreamsMixer', [], function() {\r\n            return MultiStreamsMixer;\r\n        });\r\n    }\r\n}\r\n\r\n// ______________________\r\n// MultiStreamRecorder.js\r\n\r\n/*\r\n * Video conference recording, using captureStream API along with WebAudio and Canvas2D API.\r\n */\r\n\r\n/**\r\n * MultiStreamRecorder can record multiple videos in single container.\r\n * @summary Multi-videos recorder.\r\n * @license {@link https://github.com/muaz-khan/RecordRTC/blob/master/LICENSE|MIT}\r\n * @author {@link https://MuazKhan.com|Muaz Khan}\r\n * @typedef MultiStreamRecorder\r\n * @class\r\n * @example\r\n * var options = {\r\n *     mimeType: 'video/webm'\r\n * }\r\n * var recorder = new MultiStreamRecorder(ArrayOfMediaStreams, options);\r\n * recorder.record();\r\n * recorder.stop(function(blob) {\r\n *     video.src = URL.createObjectURL(blob);\r\n *\r\n *     // or\r\n *     var blob = recorder.blob;\r\n * });\r\n * @see {@link https://github.com/muaz-khan/RecordRTC|RecordRTC Source Code}\r\n * @param {MediaStreams} mediaStreams - Array of MediaStreams.\r\n * @param {object} config - {disableLogs:true, frameInterval: 1, mimeType: \"video/webm\"}\r\n */\r\n\r\nfunction MultiStreamRecorder(arrayOfMediaStreams, options) {\r\n    arrayOfMediaStreams = arrayOfMediaStreams || [];\r\n    var self = this;\r\n\r\n    var mixer;\r\n    var mediaRecorder;\r\n\r\n    options = options || {\r\n        elementClass: 'multi-streams-mixer',\r\n        mimeType: 'video/webm',\r\n        video: {\r\n            width: 360,\r\n            height: 240\r\n        }\r\n    };\r\n\r\n    if (!options.frameInterval) {\r\n        options.frameInterval = 10;\r\n    }\r\n\r\n    if (!options.video) {\r\n        options.video = {};\r\n    }\r\n\r\n    if (!options.video.width) {\r\n        options.video.width = 360;\r\n    }\r\n\r\n    if (!options.video.height) {\r\n        options.video.height = 240;\r\n    }\r\n\r\n    /**\r\n     * This method records all MediaStreams.\r\n     * @method\r\n     * @memberof MultiStreamRecorder\r\n     * @example\r\n     * recorder.record();\r\n     */\r\n    this.record = function() {\r\n        // github/muaz-khan/MultiStreamsMixer\r\n        mixer = new MultiStreamsMixer(arrayOfMediaStreams, options.elementClass || 'multi-streams-mixer');\r\n\r\n        if (getAllVideoTracks().length) {\r\n            mixer.frameInterval = options.frameInterval || 10;\r\n            mixer.width = options.video.width || 360;\r\n            mixer.height = options.video.height || 240;\r\n            mixer.startDrawingFrames();\r\n        }\r\n\r\n        if (options.previewStream && typeof options.previewStream === 'function') {\r\n            options.previewStream(mixer.getMixedStream());\r\n        }\r\n\r\n        // record using MediaRecorder API\r\n        mediaRecorder = new MediaStreamRecorder(mixer.getMixedStream(), options);\r\n        mediaRecorder.record();\r\n    };\r\n\r\n    function getAllVideoTracks() {\r\n        var tracks = [];\r\n        arrayOfMediaStreams.forEach(function(stream) {\r\n            getTracks(stream, 'video').forEach(function(track) {\r\n                tracks.push(track);\r\n            });\r\n        });\r\n        return tracks;\r\n    }\r\n\r\n    /**\r\n     * This method stops recording MediaStream.\r\n     * @param {function} callback - Callback function, that is used to pass recorded blob back to the callee.\r\n     * @method\r\n     * @memberof MultiStreamRecorder\r\n     * @example\r\n     * recorder.stop(function(blob) {\r\n     *     video.src = URL.createObjectURL(blob);\r\n     * });\r\n     */\r\n    this.stop = function(callback) {\r\n        if (!mediaRecorder) {\r\n            return;\r\n        }\r\n\r\n        mediaRecorder.stop(function(blob) {\r\n            self.blob = blob;\r\n\r\n            callback(blob);\r\n\r\n            self.clearRecordedData();\r\n        });\r\n    };\r\n\r\n    /**\r\n     * This method pauses the recording process.\r\n     * @method\r\n     * @memberof MultiStreamRecorder\r\n     * @example\r\n     * recorder.pause();\r\n     */\r\n    this.pause = function() {\r\n        if (mediaRecorder) {\r\n            mediaRecorder.pause();\r\n        }\r\n    };\r\n\r\n    /**\r\n     * This method resumes the recording process.\r\n     * @method\r\n     * @memberof MultiStreamRecorder\r\n     * @example\r\n     * recorder.resume();\r\n     */\r\n    this.resume = function() {\r\n        if (mediaRecorder) {\r\n            mediaRecorder.resume();\r\n        }\r\n    };\r\n\r\n    /**\r\n     * This method resets currently recorded data.\r\n     * @method\r\n     * @memberof MultiStreamRecorder\r\n     * @example\r\n     * recorder.clearRecordedData();\r\n     */\r\n    this.clearRecordedData = function() {\r\n        if (mediaRecorder) {\r\n            mediaRecorder.clearRecordedData();\r\n            mediaRecorder = null;\r\n        }\r\n\r\n        if (mixer) {\r\n            mixer.releaseStreams();\r\n            mixer = null;\r\n        }\r\n    };\r\n\r\n    /**\r\n     * Add extra media-streams to existing recordings.\r\n     * @method\r\n     * @memberof MultiStreamRecorder\r\n     * @param {MediaStreams} mediaStreams - Array of MediaStreams\r\n     * @example\r\n     * recorder.addStreams([newAudioStream, newVideoStream]);\r\n     */\r\n    this.addStreams = function(streams) {\r\n        if (!streams) {\r\n            throw 'First parameter is required.';\r\n        }\r\n\r\n        if (!(streams instanceof Array)) {\r\n            streams = [streams];\r\n        }\r\n\r\n        arrayOfMediaStreams.concat(streams);\r\n\r\n        if (!mediaRecorder || !mixer) {\r\n            return;\r\n        }\r\n\r\n        mixer.appendStreams(streams);\r\n\r\n        if (options.previewStream && typeof options.previewStream === 'function') {\r\n            options.previewStream(mixer.getMixedStream());\r\n        }\r\n    };\r\n\r\n    /**\r\n     * Reset videos during live recording. Replace old videos e.g. replace cameras with full-screen.\r\n     * @method\r\n     * @memberof MultiStreamRecorder\r\n     * @param {MediaStreams} mediaStreams - Array of MediaStreams\r\n     * @example\r\n     * recorder.resetVideoStreams([newVideo1, newVideo2]);\r\n     */\r\n    this.resetVideoStreams = function(streams) {\r\n        if (!mixer) {\r\n            return;\r\n        }\r\n\r\n        if (streams && !(streams instanceof Array)) {\r\n            streams = [streams];\r\n        }\r\n\r\n        mixer.resetVideoStreams(streams);\r\n    };\r\n\r\n    /**\r\n     * Returns MultiStreamsMixer\r\n     * @method\r\n     * @memberof MultiStreamRecorder\r\n     * @example\r\n     * let mixer = recorder.getMixer();\r\n     * mixer.appendStreams([newStream]);\r\n     */\r\n    this.getMixer = function() {\r\n        return mixer;\r\n    };\r\n\r\n    // for debugging\r\n    this.name = 'MultiStreamRecorder';\r\n    this.toString = function() {\r\n        return this.name;\r\n    };\r\n}\r\n\r\nif (typeof RecordRTC !== 'undefined') {\r\n    RecordRTC.MultiStreamRecorder = MultiStreamRecorder;\r\n}\r\n\r\n// _____________________\r\n// RecordRTC.promises.js\r\n\r\n/**\r\n * RecordRTCPromisesHandler adds promises support in {@link RecordRTC}. Try a {@link https://github.com/muaz-khan/RecordRTC/blob/master/simple-demos/RecordRTCPromisesHandler.html|demo here}\r\n * @summary Promises for {@link RecordRTC}\r\n * @license {@link https://github.com/muaz-khan/RecordRTC/blob/master/LICENSE|MIT}\r\n * @author {@link https://MuazKhan.com|Muaz Khan}\r\n * @typedef RecordRTCPromisesHandler\r\n * @class\r\n * @example\r\n * var recorder = new RecordRTCPromisesHandler(mediaStream, options);\r\n * recorder.startRecording()\r\n *         .then(successCB)\r\n *         .catch(errorCB);\r\n * // Note: You can access all RecordRTC API using \"recorder.recordRTC\" e.g. \r\n * recorder.recordRTC.onStateChanged = function(state) {};\r\n * recorder.recordRTC.setRecordingDuration(5000);\r\n * @see {@link https://github.com/muaz-khan/RecordRTC|RecordRTC Source Code}\r\n * @param {MediaStream} mediaStream - Single media-stream object, array of media-streams, html-canvas-element, etc.\r\n * @param {object} config - {type:\"video\", recorderType: MediaStreamRecorder, disableLogs: true, numberOfAudioChannels: 1, bufferSize: 0, sampleRate: 0, video: HTMLVideoElement, etc.}\r\n * @throws Will throw an error if \"new\" keyword is not used to initiate \"RecordRTCPromisesHandler\". Also throws error if first argument \"MediaStream\" is missing.\r\n * @requires {@link RecordRTC}\r\n */\r\n\r\nfunction RecordRTCPromisesHandler(mediaStream, options) {\r\n    if (!this) {\r\n        throw 'Use \"new RecordRTCPromisesHandler()\"';\r\n    }\r\n\r\n    if (typeof mediaStream === 'undefined') {\r\n        throw 'First argument \"MediaStream\" is required.';\r\n    }\r\n\r\n    var self = this;\r\n\r\n    /**\r\n     * @property {Blob} blob - Access/reach the native {@link RecordRTC} object.\r\n     * @memberof RecordRTCPromisesHandler\r\n     * @example\r\n     * let internal = recorder.recordRTC.getInternalRecorder();\r\n     * alert(internal instanceof MediaStreamRecorder);\r\n     * recorder.recordRTC.onStateChanged = function(state) {};\r\n     */\r\n    self.recordRTC = new RecordRTC(mediaStream, options);\r\n\r\n    /**\r\n     * This method records MediaStream.\r\n     * @method\r\n     * @memberof RecordRTCPromisesHandler\r\n     * @example\r\n     * recorder.startRecording()\r\n     *         .then(successCB)\r\n     *         .catch(errorCB);\r\n     */\r\n    this.startRecording = function() {\r\n        return new Promise(function(resolve, reject) {\r\n            try {\r\n                self.recordRTC.startRecording();\r\n                resolve();\r\n            } catch (e) {\r\n                reject(e);\r\n            }\r\n        });\r\n    };\r\n\r\n    /**\r\n     * This method stops the recording.\r\n     * @method\r\n     * @memberof RecordRTCPromisesHandler\r\n     * @example\r\n     * recorder.stopRecording().then(function() {\r\n     *     var blob = recorder.getBlob();\r\n     * }).catch(errorCB);\r\n     */\r\n    this.stopRecording = function() {\r\n        return new Promise(function(resolve, reject) {\r\n            try {\r\n                self.recordRTC.stopRecording(function(url) {\r\n                    self.blob = self.recordRTC.getBlob();\r\n\r\n                    if (!self.blob || !self.blob.size) {\r\n                        reject('Empty blob.', self.blob);\r\n                        return;\r\n                    }\r\n\r\n                    resolve(url);\r\n                });\r\n            } catch (e) {\r\n                reject(e);\r\n            }\r\n        });\r\n    };\r\n\r\n    /**\r\n     * This method pauses the recording. You can resume recording using \"resumeRecording\" method.\r\n     * @method\r\n     * @memberof RecordRTCPromisesHandler\r\n     * @example\r\n     * recorder.pauseRecording()\r\n     *         .then(successCB)\r\n     *         .catch(errorCB);\r\n     */\r\n    this.pauseRecording = function() {\r\n        return new Promise(function(resolve, reject) {\r\n            try {\r\n                self.recordRTC.pauseRecording();\r\n                resolve();\r\n            } catch (e) {\r\n                reject(e);\r\n            }\r\n        });\r\n    };\r\n\r\n    /**\r\n     * This method resumes the recording.\r\n     * @method\r\n     * @memberof RecordRTCPromisesHandler\r\n     * @example\r\n     * recorder.resumeRecording()\r\n     *         .then(successCB)\r\n     *         .catch(errorCB);\r\n     */\r\n    this.resumeRecording = function() {\r\n        return new Promise(function(resolve, reject) {\r\n            try {\r\n                self.recordRTC.resumeRecording();\r\n                resolve();\r\n            } catch (e) {\r\n                reject(e);\r\n            }\r\n        });\r\n    };\r\n\r\n    /**\r\n     * This method returns data-url for the recorded blob.\r\n     * @method\r\n     * @memberof RecordRTCPromisesHandler\r\n     * @example\r\n     * recorder.stopRecording().then(function() {\r\n     *     recorder.getDataURL().then(function(dataURL) {\r\n     *         window.open(dataURL);\r\n     *     }).catch(errorCB);;\r\n     * }).catch(errorCB);\r\n     */\r\n    this.getDataURL = function(callback) {\r\n        return new Promise(function(resolve, reject) {\r\n            try {\r\n                self.recordRTC.getDataURL(function(dataURL) {\r\n                    resolve(dataURL);\r\n                });\r\n            } catch (e) {\r\n                reject(e);\r\n            }\r\n        });\r\n    };\r\n\r\n    /**\r\n     * This method returns the recorded blob.\r\n     * @method\r\n     * @memberof RecordRTCPromisesHandler\r\n     * @example\r\n     * recorder.stopRecording().then(function() {\r\n     *     recorder.getBlob().then(function(blob) {})\r\n     * }).catch(errorCB);\r\n     */\r\n    this.getBlob = function() {\r\n        return new Promise(function(resolve, reject) {\r\n            try {\r\n                resolve(self.recordRTC.getBlob());\r\n            } catch (e) {\r\n                reject(e);\r\n            }\r\n        });\r\n    };\r\n\r\n    /**\r\n     * Destroy RecordRTC instance. Clear all recorders and objects.\r\n     * @method\r\n     * @memberof RecordRTCPromisesHandler\r\n     * @example\r\n     * let internalRecorder = await recorder.getInternalRecorder();\r\n     * if(internalRecorder instanceof MultiStreamRecorder) {\r\n     *     internalRecorder.addStreams([newAudioStream]);\r\n     *     internalRecorder.resetVideoStreams([screenStream]);\r\n     * }\r\n     * @returns {Object} Returns internal recording object.\r\n     */\r\n    this.getInternalRecorder = function() {\r\n        return new Promise(function(resolve, reject) {\r\n            try {\r\n                resolve(self.recordRTC.getInternalRecorder());\r\n            } catch (e) {\r\n                reject(e);\r\n            }\r\n        });\r\n    };\r\n\r\n    /**\r\n     * This method resets the recorder. So that you can reuse single recorder instance many times.\r\n     * @method\r\n     * @memberof RecordRTCPromisesHandler\r\n     * @example\r\n     * await recorder.reset();\r\n     * recorder.startRecording(); // record again\r\n     */\r\n    this.reset = function() {\r\n        return new Promise(function(resolve, reject) {\r\n            try {\r\n                resolve(self.recordRTC.reset());\r\n            } catch (e) {\r\n                reject(e);\r\n            }\r\n        });\r\n    };\r\n\r\n    /**\r\n     * Destroy RecordRTC instance. Clear all recorders and objects.\r\n     * @method\r\n     * @memberof RecordRTCPromisesHandler\r\n     * @example\r\n     * recorder.destroy().then(successCB).catch(errorCB);\r\n     */\r\n    this.destroy = function() {\r\n        return new Promise(function(resolve, reject) {\r\n            try {\r\n                resolve(self.recordRTC.destroy());\r\n            } catch (e) {\r\n                reject(e);\r\n            }\r\n        });\r\n    };\r\n\r\n    /**\r\n     * Get recorder's readonly state.\r\n     * @method\r\n     * @memberof RecordRTCPromisesHandler\r\n     * @example\r\n     * let state = await recorder.getState();\r\n     * // or\r\n     * recorder.getState().then(state => { console.log(state); })\r\n     * @returns {String} Returns recording state.\r\n     */\r\n    this.getState = function() {\r\n        return new Promise(function(resolve, reject) {\r\n            try {\r\n                resolve(self.recordRTC.getState());\r\n            } catch (e) {\r\n                reject(e);\r\n            }\r\n        });\r\n    };\r\n\r\n    /**\r\n     * @property {Blob} blob - Recorded data as \"Blob\" object.\r\n     * @memberof RecordRTCPromisesHandler\r\n     * @example\r\n     * await recorder.stopRecording();\r\n     * let blob = recorder.getBlob(); // or \"recorder.recordRTC.blob\"\r\n     * invokeSaveAsDialog(blob);\r\n     */\r\n    this.blob = null;\r\n\r\n    /**\r\n     * RecordRTC version number\r\n     * @property {String} version - Release version number.\r\n     * @memberof RecordRTCPromisesHandler\r\n     * @static\r\n     * @readonly\r\n     * @example\r\n     * alert(recorder.version);\r\n     */\r\n    this.version = '5.5.9';\r\n}\r\n\r\nif (typeof RecordRTC !== 'undefined') {\r\n    RecordRTC.RecordRTCPromisesHandler = RecordRTCPromisesHandler;\r\n}\r\n\r\n// ______________________\r\n// WebAssemblyRecorder.js\r\n\r\n/**\r\n * WebAssemblyRecorder lets you create webm videos in JavaScript via WebAssembly. The library consumes raw RGBA32 buffers (4 bytes per pixel) and turns them into a webm video with the given framerate and quality. This makes it compatible out-of-the-box with ImageData from a CANVAS. With realtime mode you can also use webm-wasm for streaming webm videos.\r\n * @summary Video recording feature in Chrome, Firefox and maybe Edge.\r\n * @license {@link https://github.com/muaz-khan/RecordRTC/blob/master/LICENSE|MIT}\r\n * @author {@link https://MuazKhan.com|Muaz Khan}\r\n * @typedef WebAssemblyRecorder\r\n * @class\r\n * @example\r\n * var recorder = new WebAssemblyRecorder(mediaStream);\r\n * recorder.record();\r\n * recorder.stop(function(blob) {\r\n *     video.src = URL.createObjectURL(blob);\r\n * });\r\n * @see {@link https://github.com/muaz-khan/RecordRTC|RecordRTC Source Code}\r\n * @param {MediaStream} mediaStream - MediaStream object fetched using getUserMedia API or generated using captureStreamUntilEnded or WebAudio API.\r\n * @param {object} config - {webAssemblyPath:'webm-wasm.wasm',workerPath: 'webm-worker.js', frameRate: 30, width: 1920, height: 1080, bitrate: 1024}\r\n */\r\nfunction WebAssemblyRecorder(stream, config) {\r\n    // based on: github.com/GoogleChromeLabs/webm-wasm\r\n\r\n    if (typeof ReadableStream === 'undefined' || typeof WritableStream === 'undefined') {\r\n        // because it fixes readable/writable streams issues\r\n        console.error('Following polyfill is strongly recommended: https://unpkg.com/@mattiasbuelens/web-streams-polyfill/dist/polyfill.min.js');\r\n    }\r\n\r\n    config = config || {};\r\n\r\n    config.width = config.width || 640;\r\n    config.height = config.height || 480;\r\n    config.frameRate = config.frameRate || 30;\r\n    config.bitrate = config.bitrate || 1200;\r\n\r\n    function createBufferURL(buffer, type) {\r\n        return URL.createObjectURL(new Blob([buffer], {\r\n            type: type || ''\r\n        }));\r\n    }\r\n\r\n    function cameraStream() {\r\n        return new ReadableStream({\r\n            start: function(controller) {\r\n                var cvs = document.createElement('canvas');\r\n                var video = document.createElement('video');\r\n                video.srcObject = stream;\r\n                video.onplaying = function() {\r\n                    cvs.width = config.width;\r\n                    cvs.height = config.height;\r\n                    var ctx = cvs.getContext('2d');\r\n                    var frameTimeout = 1000 / config.frameRate;\r\n                    setTimeout(function f() {\r\n                        ctx.drawImage(video, 0, 0);\r\n                        controller.enqueue(\r\n                            ctx.getImageData(0, 0, config.width, config.height)\r\n                        );\r\n                        setTimeout(f, frameTimeout);\r\n                    }, frameTimeout);\r\n                };\r\n                video.play();\r\n            }\r\n        });\r\n    }\r\n\r\n    var worker;\r\n\r\n    function startRecording(stream, buffer) {\r\n        if (!config.workerPath && !buffer) {\r\n            // is it safe to use @latest ?\r\n            fetch(\r\n                'https://unpkg.com/webm-wasm@latest/dist/webm-worker.js'\r\n            ).then(function(r) {\r\n                r.arrayBuffer().then(function(buffer) {\r\n                    startRecording(stream, buffer);\r\n                });\r\n            });\r\n            return;\r\n        }\r\n\r\n        if (!config.workerPath && buffer instanceof ArrayBuffer) {\r\n            var blob = new Blob([buffer], {\r\n                type: 'text/javascript'\r\n            });\r\n            config.workerPath = URL.createObjectURL(blob);\r\n        }\r\n\r\n        if (!config.workerPath) {\r\n            console.error('workerPath parameter is missing.');\r\n        }\r\n\r\n        worker = new Worker(config.workerPath);\r\n\r\n        worker.postMessage(config.webAssemblyPath || 'https://unpkg.com/webm-wasm@latest/dist/webm-wasm.wasm');\r\n        worker.addEventListener('message', function(event) {\r\n            if (event.data === 'READY') {\r\n                worker.postMessage({\r\n                    width: config.width,\r\n                    height: config.height,\r\n                    bitrate: config.bitrate || 1200,\r\n                    timebaseDen: config.frameRate || 30,\r\n                    realtime: true\r\n                });\r\n\r\n                cameraStream().pipeTo(new WritableStream({\r\n                    write: function(image) {\r\n                        if (!worker) {\r\n                            return;\r\n                        }\r\n\r\n                        worker.postMessage(image.data.buffer, [image.data.buffer]);\r\n                    }\r\n                }));\r\n            } else if (!!event.data) {\r\n                if (!isPaused) {\r\n                    arrayOfBuffers.push(event.data);\r\n                }\r\n            }\r\n        });\r\n    }\r\n\r\n    /**\r\n     * This method records video.\r\n     * @method\r\n     * @memberof WebAssemblyRecorder\r\n     * @example\r\n     * recorder.record();\r\n     */\r\n    this.record = function() {\r\n        arrayOfBuffers = [];\r\n        isPaused = false;\r\n        this.blob = null;\r\n        startRecording(stream);\r\n\r\n        if (typeof config.initCallback === 'function') {\r\n            config.initCallback();\r\n        }\r\n    };\r\n\r\n    var isPaused;\r\n\r\n    /**\r\n     * This method pauses the recording process.\r\n     * @method\r\n     * @memberof WebAssemblyRecorder\r\n     * @example\r\n     * recorder.pause();\r\n     */\r\n    this.pause = function() {\r\n        isPaused = true;\r\n    };\r\n\r\n    /**\r\n     * This method resumes the recording process.\r\n     * @method\r\n     * @memberof WebAssemblyRecorder\r\n     * @example\r\n     * recorder.resume();\r\n     */\r\n    this.resume = function() {\r\n        isPaused = false;\r\n    };\r\n\r\n    function terminate() {\r\n        if (!worker) {\r\n            return;\r\n        }\r\n\r\n        worker.postMessage(null);\r\n        worker.terminate();\r\n        worker = null;\r\n    }\r\n\r\n    var arrayOfBuffers = [];\r\n\r\n    /**\r\n     * This method stops recording video.\r\n     * @param {function} callback - Callback function, that is used to pass recorded blob back to the callee.\r\n     * @method\r\n     * @memberof WebAssemblyRecorder\r\n     * @example\r\n     * recorder.stop(function(blob) {\r\n     *     video.src = URL.createObjectURL(blob);\r\n     * });\r\n     */\r\n    this.stop = function(callback) {\r\n        terminate();\r\n\r\n        this.blob = new Blob(arrayOfBuffers, {\r\n            type: 'video/webm'\r\n        });\r\n\r\n        callback(this.blob);\r\n    };\r\n\r\n    // for debugging\r\n    this.name = 'WebAssemblyRecorder';\r\n    this.toString = function() {\r\n        return this.name;\r\n    };\r\n\r\n    /**\r\n     * This method resets currently recorded data.\r\n     * @method\r\n     * @memberof WebAssemblyRecorder\r\n     * @example\r\n     * recorder.clearRecordedData();\r\n     */\r\n    this.clearRecordedData = function() {\r\n        arrayOfBuffers = [];\r\n        isPaused = false;\r\n        this.blob = null;\r\n\r\n        // todo: if recording-ON then STOP it first\r\n    };\r\n\r\n    /**\r\n     * @property {Blob} blob - The recorded blob object.\r\n     * @memberof WebAssemblyRecorder\r\n     * @example\r\n     * recorder.stop(function(){\r\n     *     var blob = recorder.blob;\r\n     * });\r\n     */\r\n    this.blob = null;\r\n}\r\n\r\nif (typeof RecordRTC !== 'undefined') {\r\n    RecordRTC.WebAssemblyRecorder = WebAssemblyRecorder;\r\n}\r\n","// Last time updated at August 04, 2017, 08:32:23\r\n\r\n// Muaz Khan     - https://github.com/muaz-khan\r\n// MIT License   - https://www.webrtc-experiment.com/licence/\r\n// Documentation - https://github.com/muaz-khan/WebRTC-Experiment/tree/master/part-of-screen-sharing\r\n// Source codes  - https://github.com/muaz-khan/RecordRTC/tree/master/libs\r\n\r\n// Note: All libraries listed in this file are \"external libraries\"\r\n// ----  and has their own copyrights. Taken from \"html2canvas\" project.\r\n(function(t,e,i,r,n,o){function s(t,e,i,r,n){return g(t,t,i,r,e,t.defaultView.pageXOffset,t.defaultView.pageYOffset).then(function(o){D(\"Document cloned\");var s=Ut+n,h=\"[\"+s+\"='\"+n+\"']\";t.querySelector(h)&&t.querySelector(h).removeAttribute(s);var c=o.contentWindow,l=c.document.querySelector(h);return(\"function\"==typeof e.onclone?Promise.resolve(e.onclone(c.document)):Promise.resolve(!0)).then(function(){return a(l,o,e,i,r)})})}function a(t,i,r,n,o){var s=i.contentWindow,a=new Bt(s.document),f=new P(r,a),d=z(t),p=\"view\"===r.type?n:l(s.document),g=\"view\"===r.type?o:u(s.document),m=new r.renderer(p,g,f,r,e);return new W(t,m,a,f,r).ready.then(function(){D(\"Finished rendering\");var e;return e=\"view\"===r.type?c(m.canvas,{width:m.canvas.width,height:m.canvas.height,top:0,left:0,x:0,y:0}):t===s.document.body||t===s.document.documentElement||null!=r.canvas?m.canvas:c(m.canvas,{width:null!=r.width?r.width:d.width,height:null!=r.height?r.height:d.height,top:d.top,left:d.left,x:s.pageXOffset,y:s.pageYOffset}),h(i,r),e})}function h(t,e){e.removeContainer&&(t.parentNode.removeChild(t),D(\"Cleaned up container\"))}function c(t,i){var r=e.createElement(\"canvas\"),n=Math.min(t.width-1,Math.max(0,i.left)),o=Math.min(t.width,Math.max(1,i.left+i.width)),s=Math.min(t.height-1,Math.max(0,i.top)),a=Math.min(t.height,Math.max(1,i.top+i.height));return r.width=i.width,r.height=i.height,D(\"Cropping canvas at:\",\"left:\",i.left,\"top:\",i.top,\"width:\",o-n,\"height:\",a-s),D(\"Resulting crop with width\",i.width,\"and height\",i.height,\" with x\",n,\"and y\",s),r.getContext(\"2d\").drawImage(t,n,s,o-n,a-s,i.x,i.y,o-n,a-s),r}function l(t){return Math.max(Math.max(t.body.scrollWidth,t.documentElement.scrollWidth),Math.max(t.body.offsetWidth,t.documentElement.offsetWidth),Math.max(t.body.clientWidth,t.documentElement.clientWidth))}function u(t){return Math.max(Math.max(t.body.scrollHeight,t.documentElement.scrollHeight),Math.max(t.body.offsetHeight,t.documentElement.offsetHeight),Math.max(t.body.clientHeight,t.documentElement.clientHeight))}function f(){return\"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\"}function d(){return e.documentMode&&e.documentMode<=9}function p(t,i){for(var r=3===t.nodeType?e.createTextNode(t.nodeValue):t.cloneNode(!1),n=t.firstChild;n;)!0!==i&&1===n.nodeType&&\"SCRIPT\"===n.nodeName||r.appendChild(p(n,i)),n=n.nextSibling;return r}function g(t,e,i,r,n,o,s){x(t);var a=d()?p(t.documentElement,n.javascriptEnabled):t.documentElement.cloneNode(!0),h=e.createElement(\"iframe\");return h.className=\"html2canvas-container\",h.style.visibility=\"hidden\",h.style.position=\"fixed\",h.style.left=\"-10000px\",h.style.top=\"0px\",h.style.border=\"0\",h.width=i,h.height=r,h.scrolling=\"no\",e.body.appendChild(h),new Promise(function(e){var i=h.contentWindow.document;m(t.documentElement,a,\"textarea\"),m(t.documentElement,a,\"select\"),h.contentWindow.onload=h.onload=function(){var r=setInterval(function(){i.body.childNodes.length>0&&(w(t,i),clearInterval(r),\"view\"===n.type&&h.contentWindow.scrollTo(o,s),e(h))},50)},i.open(),i.write(\"<!DOCTYPE html><html></html>\"),v(t,o,s),i.replaceChild(!0===n.javascriptEnabled?i.adoptNode(a):S(i.adoptNode(a)),i.documentElement),i.close()})}function m(t,e,i){for(var r=t.getElementsByTagName(i),n=e.getElementsByTagName(i),o=r.length,s=0;s<o;s++)n[s].value=r[s].value}function v(t,e,i){!t.defaultView||e===t.defaultView.pageXOffset&&i===t.defaultView.pageYOffset||t.defaultView.scrollTo(e,i)}function b(e,i,r,n,o,s){return new Et(e,i,t.document).then(y(e)).then(function(t){return g(t,r,n,o,s,0,0)})}function y(t){return function(i){var r,n=new DOMParser;try{r=n.parseFromString(i,\"text/html\")}catch(t){D(\"DOMParser not supported, falling back to createHTMLDocument\"),r=e.implementation.createHTMLDocument(\"\");try{r.open(),r.write(i),r.close()}catch(t){D(\"createHTMLDocument write not supported, falling back to document.body.innerHTML\"),r.body.innerHTML=i}}var o=r.querySelector(\"base\");if(!o||!o.href.host){var s=r.createElement(\"base\");s.href=t,r.head.insertBefore(s,r.head.firstChild)}return r}}function x(t){[].slice.call(t.querySelectorAll(\"canvas\"),0).forEach(function(t){t.setAttribute(qt,\"canvas-\"+Jt++)})}function w(t,e){[].slice.call(t.querySelectorAll(\"[\"+qt+\"]\"),0).forEach(function(t){try{var i=e.querySelector(\"[\"+qt+'=\"'+t.getAttribute(qt)+'\"]');i&&(i.width=t.width,i.height=t.height,i.getContext(\"2d\").putImageData(t.getContext(\"2d\").getImageData(0,0,t.width,t.height),0,0))}catch(e){D(\"Unable to copy canvas content from\",t,e)}t.removeAttribute(qt)})}function S(t){return[].slice.call(t.childNodes,0).filter(C).forEach(function(e){\"SCRIPT\"===e.tagName?t.removeChild(e):S(e)}),t}function C(t){return t.nodeType===Node.ELEMENT_NODE}function _(t){var i=e.createElement(\"a\");return i.href=t,i.href=i.href,i}function T(t){this.r=0,this.g=0,this.b=0,this.a=null;this.fromArray(t)||this.namedColor(t)||this.rgb(t)||this.rgba(t)||this.hex6(t)||this.hex3(t)}function O(t){if(this.src=t,D(\"DummyImageContainer for\",t),!this.promise||!this.image){D(\"Initiating DummyImageContainer\"),O.prototype.image=new Image;var e=this.image;O.prototype.promise=new Promise(function(t,i){e.onload=t,e.onerror=i,e.src=f(),!0===e.complete&&t(e)})}}function k(t,i){var r,n,o=e.createElement(\"div\"),s=e.createElement(\"img\"),a=e.createElement(\"span\");o.style.visibility=\"hidden\",o.style.fontFamily=t,o.style.fontSize=i,o.style.margin=0,o.style.padding=0,e.body.appendChild(o),s.src=f(),s.width=1,s.height=1,s.style.margin=0,s.style.padding=0,s.style.verticalAlign=\"baseline\",a.style.fontFamily=t,a.style.fontSize=i,a.style.margin=0,a.style.padding=0,a.appendChild(e.createTextNode(\"Hidden Text\")),o.appendChild(a),o.appendChild(s),r=s.offsetTop-a.offsetTop+1,o.removeChild(a),o.appendChild(e.createTextNode(\"Hidden Text\")),o.style.lineHeight=\"normal\",s.style.verticalAlign=\"super\",n=s.offsetTop-o.offsetTop+1,e.body.removeChild(o),this.baseline=r,this.lineWidth=1,this.middle=n}function E(){this.data={}}function A(t,e,i){this.image=null,this.src=t;var r=this,n=z(t);this.promise=(e?new Promise(function(e){\"about:blank\"===t.contentWindow.document.URL||null==t.contentWindow.document.documentElement?t.contentWindow.onload=t.onload=function(){e(t)}:e(t)}):this.proxyLoad(i.proxy,n,i)).then(function(t){return html2canvas(t.contentWindow.document.documentElement,{type:\"view\",width:t.width,height:t.height,proxy:i.proxy,javascriptEnabled:i.javascriptEnabled,removeContainer:i.removeContainer,allowTaint:i.allowTaint,imageTimeout:i.imageTimeout/2})}).then(function(t){return r.image=t})}function j(t){this.src=t.value,this.colorStops=[],this.type=null,this.x0=.5,this.y0=.5,this.x1=.5,this.y1=.5,this.promise=Promise.resolve(!0)}function I(t,e){this.src=t,this.image=new Image;var i=this;this.tainted=null,this.promise=new Promise(function(r,n){i.image.onload=r,i.image.onerror=n,e&&(i.image.crossOrigin=\"anonymous\"),i.image.src=t,!0===i.image.complete&&r(i.image)})}function P(e,i){this.link=null,this.options=e,this.support=i,this.origin=this.getOrigin(t.location.href)}function M(t){j.apply(this,arguments),this.type=this.TYPES.LINEAR;var e=null===t.args[0].match(this.stepRegExp);e?t.args[0].split(\" \").reverse().forEach(function(t){switch(t){case\"left\":this.x0=0,this.x1=1;break;case\"top\":this.y0=0,this.y1=1;break;case\"right\":this.x0=1,this.x1=0;break;case\"bottom\":this.y0=1,this.y1=0;break;case\"to\":var e=this.y0,i=this.x0;this.y0=this.y1,this.x0=this.x1,this.x1=i,this.y1=e}},this):(this.y0=0,this.y1=1),this.colorStops=t.args.slice(e?1:0).map(function(t){var e=t.match(this.stepRegExp);return{color:new T(e[1]),stop:\"%\"===e[3]?e[2]/100:null}},this),null===this.colorStops[0].stop&&(this.colorStops[0].stop=0),null===this.colorStops[this.colorStops.length-1].stop&&(this.colorStops[this.colorStops.length-1].stop=1),this.colorStops.forEach(function(t,e){null===t.stop&&this.colorStops.slice(e).some(function(i,r){return null!==i.stop&&(t.stop=(i.stop-this.colorStops[e-1].stop)/(r+1)+this.colorStops[e-1].stop,!0)},this)},this)}function D(){t.html2canvas.logging&&t.console&&t.console.log&&Function.prototype.bind.call(t.console.log,t.console).apply(t.console,[Date.now()-t.html2canvas.start+\"ms\",\"html2canvas:\"].concat([].slice.call(arguments,0)))}function L(t,e){this.node=t,this.parent=e,this.stack=null,this.bounds=null,this.borders=null,this.clip=[],this.backgroundClip=[],this.offsetBounds=null,this.visible=null,this.computedStyles=null,this.colors={},this.styles={},this.backgroundImages=null,this.transformData=null,this.transformMatrix=null,this.isPseudoElement=!1,this.opacity=null}function R(t){var e=t.options[t.selectedIndex||0];return e?e.text||\"\":\"\"}function B(t){if(t&&\"matrix\"===t[1])return t[2].split(\",\").map(function(t){return parseFloat(t.trim())})}function F(t){return-1!==t.toString().indexOf(\"%\")}function N(t){var e,i,r,n,o,s,a,h=[],c=0,l=0,u=function(){e&&('\"'===i.substr(0,1)&&(i=i.substr(1,i.length-2)),i&&a.push(i),\"-\"===e.substr(0,1)&&(n=e.indexOf(\"-\",1)+1)>0&&(r=e.substr(0,n),e=e.substr(n)),h.push({prefix:r,method:e.toLowerCase(),value:o,args:a,image:null})),a=[],e=r=i=o=\"\"};return a=[],e=r=i=o=\"\",t.split(\"\").forEach(function(t){if(!(0===c&&\" \\r\\n\\t\".indexOf(t)>-1)){switch(t){case'\"':s?s===t&&(s=null):s=t;break;case\"(\":if(s)break;if(0===c)return c=1,void(o+=t);l++;break;case\")\":if(s)break;if(1===c){if(0===l)return c=0,o+=t,void u();l--}break;case\",\":if(s)break;if(0===c)return void u();if(1===c&&0===l&&!e.match(/^url$/i))return a.push(i),i=\"\",void(o+=t)}o+=t,0===c?e+=t:i+=t}}),u(),h}function G(t){return t.replace(\"px\",\"\")}function X(t){return parseFloat(t)}function z(t){if(t.getBoundingClientRect){var e=t.getBoundingClientRect(),i=null==t.offsetWidth?e.width:t.offsetWidth;return{top:e.top,bottom:e.bottom||e.top+e.height,right:e.left+i,left:e.left,width:i,height:null==t.offsetHeight?e.height:t.offsetHeight}}return{}}function V(t){var e=t.offsetParent?V(t.offsetParent):{top:0,left:0};return{top:t.offsetTop+e.top,bottom:t.offsetTop+t.offsetHeight+e.top,right:t.offsetLeft+e.left+t.offsetWidth,left:t.offsetLeft+e.left,width:t.offsetWidth,height:t.offsetHeight}}function W(t,e,i,r,n){D(\"Starting NodeParser\"),this.renderer=e,this.options=n,this.range=null,this.support=i,this.renderQueue=[],this.stack=new Rt(!0,1,t.ownerDocument,null);var o=new L(t,null);if(n.background&&e.rectangle(0,0,e.width,e.height,new T(n.background)),t===t.ownerDocument.documentElement){var s=new L(o.color(\"backgroundColor\").isTransparent()?t.ownerDocument.body:t.ownerDocument.documentElement,null);e.rectangle(0,0,e.width,e.height,s.color(\"backgroundColor\"))}o.visibile=o.isElementVisible(),this.createPseudoHideStyles(t.ownerDocument),this.disableAnimations(t.ownerDocument),this.nodes=Ct([o].concat(this.getChildren(o)).filter(function(t){return t.visible=t.isElementVisible()}).map(this.getPseudoElements,this)),this.fontMetrics=new E,D(\"Fetched nodes, total:\",this.nodes.length),D(\"Calculate overflow clips\"),this.calculateOverflowClips(),D(\"Start fetching images\"),this.images=r.fetch(this.nodes.filter(pt)),this.ready=this.images.ready.then(yt(function(){return D(\"Images loaded, starting parsing\"),D(\"Creating stacking contexts\"),this.createStackingContexts(),D(\"Sorting stacking contexts\"),this.sortStackingContexts(this.stack),this.parse(this.stack),D(\"Render queue created with \"+this.renderQueue.length+\" items\"),new Promise(yt(function(t){n.async?\"function\"==typeof n.async?n.async.call(this,this.renderQueue,t):this.renderQueue.length>0?(this.renderIndex=0,this.asyncRenderer(this.renderQueue,t)):t():(this.renderQueue.forEach(this.paint,this),t())},this))},this))}function Y(t){return t.parent&&t.parent.clip.length}function H(t){return t.replace(/(\\-[a-z])/g,function(t){return t.toUpperCase().replace(\"-\",\"\")})}function U(){}function q(t,e,i,r){return t.map(function(n,o){if(n.width>0){var s=e.left,a=e.top,h=e.width,c=e.height-t[2].width;switch(o){case 0:c=t[0].width,n.args=K({c1:[s,a],c2:[s+h,a],c3:[s+h-t[1].width,a+c],c4:[s+t[3].width,a+c]},r[0],r[1],i.topLeftOuter,i.topLeftInner,i.topRightOuter,i.topRightInner);break;case 1:s=e.left+e.width-t[1].width,h=t[1].width,n.args=K({c1:[s+h,a],c2:[s+h,a+c+t[2].width],c3:[s,a+c],c4:[s,a+t[0].width]},r[1],r[2],i.topRightOuter,i.topRightInner,i.bottomRightOuter,i.bottomRightInner);break;case 2:a=a+e.height-t[2].width,c=t[2].width,n.args=K({c1:[s+h,a+c],c2:[s,a+c],c3:[s+t[3].width,a],c4:[s+h-t[3].width,a]},r[2],r[3],i.bottomRightOuter,i.bottomRightInner,i.bottomLeftOuter,i.bottomLeftInner);break;case 3:h=t[3].width,n.args=K({c1:[s,a+c+t[2].width],c2:[s,a],c3:[s+h,a+t[0].width],c4:[s+h,a+c]},r[3],r[0],i.bottomLeftOuter,i.bottomLeftInner,i.topLeftOuter,i.topLeftInner)}}return n})}function J(t,e,i,r){var n=(Math.sqrt(2)-1)/3*4,o=i*n,s=r*n,a=t+i,h=e+r;return{topLeft:Q({x:t,y:h},{x:t,y:h-s},{x:a-o,y:e},{x:a,y:e}),topRight:Q({x:t,y:e},{x:t+o,y:e},{x:a,y:h-s},{x:a,y:h}),bottomRight:Q({x:a,y:e},{x:a,y:e+s},{x:t+o,y:h},{x:t,y:h}),bottomLeft:Q({x:a,y:h},{x:a-o,y:h},{x:t,y:e+s},{x:t,y:e})}}function $(t,e,i){var r=t.left,n=t.top,o=t.width,s=t.height,a=e[0][0],h=e[0][1],c=e[1][0],l=e[1][1],u=e[2][0],f=e[2][1],d=e[3][0],p=e[3][1],g=o-c,m=s-f,v=o-u,b=s-p;return{topLeftOuter:J(r,n,a,h).topLeft.subdivide(.5),topLeftInner:J(r+i[3].width,n+i[0].width,Math.max(0,a-i[3].width),Math.max(0,h-i[0].width)).topLeft.subdivide(.5),topRightOuter:J(r+g,n,c,l).topRight.subdivide(.5),topRightInner:J(r+Math.min(g,o+i[3].width),n+i[0].width,g>o+i[3].width?0:c-i[3].width,l-i[0].width).topRight.subdivide(.5),bottomRightOuter:J(r+v,n+m,u,f).bottomRight.subdivide(.5),bottomRightInner:J(r+Math.min(v,o-i[3].width),n+Math.min(m,s+i[0].width),Math.max(0,u-i[1].width),f-i[2].width).bottomRight.subdivide(.5),bottomLeftOuter:J(r,n+b,d,p).bottomLeft.subdivide(.5),bottomLeftInner:J(r+i[3].width,n+b,Math.max(0,d-i[3].width),p-i[2].width).bottomLeft.subdivide(.5)}}function Q(t,e,i,r){var n=function(t,e,i){return{x:t.x+(e.x-t.x)*i,y:t.y+(e.y-t.y)*i}};return{start:t,startControl:e,endControl:i,end:r,subdivide:function(o){var s=n(t,e,o),a=n(e,i,o),h=n(i,r,o),c=n(s,a,o),l=n(a,h,o),u=n(c,l,o);return[Q(t,s,c,u),Q(u,l,h,r)]},curveTo:function(t){t.push([\"bezierCurve\",e.x,e.y,i.x,i.y,r.x,r.y])},curveToReversed:function(r){r.push([\"bezierCurve\",i.x,i.y,e.x,e.y,t.x,t.y])}}}function K(t,e,i,r,n,o,s){var a=[];return e[0]>0||e[1]>0?(a.push([\"line\",r[1].start.x,r[1].start.y]),r[1].curveTo(a)):a.push([\"line\",t.c1[0],t.c1[1]]),i[0]>0||i[1]>0?(a.push([\"line\",o[0].start.x,o[0].start.y]),o[0].curveTo(a),a.push([\"line\",s[0].end.x,s[0].end.y]),s[0].curveToReversed(a)):(a.push([\"line\",t.c2[0],t.c2[1]]),a.push([\"line\",t.c3[0],t.c3[1]])),e[0]>0||e[1]>0?(a.push([\"line\",n[1].end.x,n[1].end.y]),n[1].curveToReversed(a)):a.push([\"line\",t.c4[0],t.c4[1]]),a}function Z(t,e,i,r,n,o,s){e[0]>0||e[1]>0?(t.push([\"line\",r[0].start.x,r[0].start.y]),r[0].curveTo(t),r[1].curveTo(t)):t.push([\"line\",o,s]),(i[0]>0||i[1]>0)&&t.push([\"line\",n[0].start.x,n[0].start.y])}function tt(t){return t.cssInt(\"zIndex\")<0}function et(t){return t.cssInt(\"zIndex\")>0}function it(t){return 0===t.cssInt(\"zIndex\")}function rt(t){return-1!==[\"inline\",\"inline-block\",\"inline-table\"].indexOf(t.css(\"display\"))}function nt(t){return t instanceof Rt}function ot(t){return t.node.data.trim().length>0}function st(t){return/^(normal|none|0px)$/.test(t.parent.css(\"letterSpacing\"))}function at(t){return[\"TopLeft\",\"TopRight\",\"BottomRight\",\"BottomLeft\"].map(function(e){var i=t.css(\"border\"+e+\"Radius\").split(\" \");return i.length<=1&&(i[1]=i[0]),i.map(xt)})}function ht(t){return t.nodeType===Node.TEXT_NODE||t.nodeType===Node.ELEMENT_NODE}function ct(t){var e=t.css(\"position\");return\"auto\"!==(-1!==[\"absolute\",\"relative\",\"fixed\"].indexOf(e)?t.css(\"zIndex\"):\"auto\")}function lt(t){return\"static\"!==t.css(\"position\")}function ut(t){return\"none\"!==t.css(\"float\")}function ft(t){return-1!==[\"inline-block\",\"inline-table\"].indexOf(t.css(\"display\"))}function dt(t){var e=this;return function(){return!t.apply(e,arguments)}}function pt(t){return t.node.nodeType===Node.ELEMENT_NODE}function gt(t){return!0===t.isPseudoElement}function mt(t){return t.node.nodeType===Node.TEXT_NODE}function vt(t){return function(e,i){return e.cssInt(\"zIndex\")+t.indexOf(e)/t.length-(i.cssInt(\"zIndex\")+t.indexOf(i)/t.length)}}function bt(t){return t.getOpacity()<1}function yt(t,e){return function(){return t.apply(e,arguments)}}function xt(t){return parseInt(t,10)}function wt(t){return t.width}function St(t){return t.node.nodeType!==Node.ELEMENT_NODE||-1===[\"SCRIPT\",\"HEAD\",\"TITLE\",\"OBJECT\",\"BR\",\"OPTION\"].indexOf(t.node.nodeName)}function Ct(t){return[].concat.apply([],t)}function _t(t){var e=t.substr(0,1);return e===t.substr(t.length-1)&&e.match(/'|\"/)?t.substr(1,t.length-2):t}function Tt(e){for(var i,r=[],n=0,o=!1;e.length;)Ot(e[n])===o?((i=e.splice(0,n)).length&&r.push(t.html2canvas.punycode.ucs2.encode(i)),o=!o,n=0):n++,n>=e.length&&(i=e.splice(0,n)).length&&r.push(t.html2canvas.punycode.ucs2.encode(i));return r}function Ot(t){return-1!==[32,13,10,9,45].indexOf(t)}function kt(t){return/[^\\u0000-\\u00ff]/.test(t)}function Et(t,e,i){if(!e)return Promise.reject(\"No proxy configured\");var r=It(ne),n=Pt(e,t,r);return ne?Wt(n):jt(i,n,r).then(function(t){return Nt(t.content)})}function At(t,e,i){var r=It(oe),n=Pt(e,t,r);return oe?Promise.resolve(n):jt(i,n,r).then(function(t){return\"data:\"+t.type+\";base64,\"+t.content})}function jt(e,i,r){return new Promise(function(n,o){var s=e.createElement(\"script\"),a=function(){delete t.html2canvas.proxy[r],e.body.removeChild(s)};t.html2canvas.proxy[r]=function(t){a(),n(t)},s.src=i,s.onerror=function(t){a(),o(t)},e.body.appendChild(s)})}function It(t){return t?\"\":\"html2canvas_\"+Date.now()+\"_\"+ ++re+\"_\"+Math.round(1e5*Math.random())}function Pt(t,e,i){return t+\"?url=\"+encodeURIComponent(e)+(i.length?\"&callback=html2canvas.proxy.\"+i:\"\")}function Mt(t,i){e.createElement(\"script\");var r=e.createElement(\"a\");r.href=t,t=r.href,this.src=t,this.image=new Image;var n=this;this.promise=new Promise(function(r,o){n.image.crossOrigin=\"Anonymous\",n.image.onload=r,n.image.onerror=o,new At(t,i,e).then(function(t){n.image.src=t}).catch(o)})}function Dt(t,e,i){L.call(this,t,e),this.isPseudoElement=!0,this.before=\":before\"===i}function Lt(t,e,i,r,n){this.width=t,this.height=e,this.images=i,this.options=r,this.document=n}function Rt(t,e,i,r){L.call(this,i,r),this.ownStacking=t,this.contexts=[],this.children=[],this.opacity=(this.parent?this.parent.stack.opacity:1)*e}function Bt(t){this.rangeBounds=this.testRangeBounds(t),this.cors=this.testCORS(),this.svg=this.testSVG()}function Ft(t){this.src=t,this.image=null;var e=this;this.promise=this.hasFabric().then(function(){return e.isInline(t)?Promise.resolve(e.inlineFormatting(t)):Wt(t)}).then(function(t){return new Promise(function(i){html2canvas.fabric.loadSVGFromString(t,e.createCanvas.call(e,i))})})}function Nt(t){var e,i,r,n,o,s,a,h=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",c=t.length,l=\"\";for(e=0;e<c;e+=4)o=h.indexOf(t[e])<<2|(i=h.indexOf(t[e+1]))>>4,s=(15&i)<<4|(r=h.indexOf(t[e+2]))>>2,a=(3&r)<<6|(n=h.indexOf(t[e+3])),l+=64===r?String.fromCharCode(o):64===n||-1===n?String.fromCharCode(o,s):String.fromCharCode(o,s,a);return l}function Gt(t,e){this.src=t,this.image=null;var i=this;this.promise=e?new Promise(function(e,r){i.image=new Image,i.image.onload=e,i.image.onerror=r,i.image.src=\"data:image/svg+xml,\"+(new XMLSerializer).serializeToString(t),!0===i.image.complete&&e(i.image)}):this.hasFabric().then(function(){return new Promise(function(e){html2canvas.fabric.parseSVGDocument(t,i.createCanvas.call(i,e))})})}function Xt(t,e){L.call(this,t,e)}function zt(t,e,i){if(t.length>0)return e+i.toUpperCase()}function Vt(t){j.apply(this,arguments),this.type=\"linear\"===t.args[0]?this.TYPES.LINEAR:this.TYPES.RADIAL}function Wt(t){return new Promise(function(e,i){var r=new XMLHttpRequest;r.open(\"GET\",t),r.onload=function(){200===r.status?e(r.responseText):i(new Error(r.statusText))},r.onerror=function(){i(new Error(\"Network Error\"))},r.send()})}function Yt(t,e){Lt.apply(this,arguments),this.canvas=this.options.canvas||this.document.createElement(\"canvas\"),this.options.canvas||(this.canvas.width=t,this.canvas.height=e),this.ctx=this.canvas.getContext(\"2d\"),this.taintCtx=this.document.createElement(\"canvas\").getContext(\"2d\"),this.ctx.textBaseline=\"bottom\",this.variables={},D(\"Initialized CanvasRenderer with size\",t,\"x\",e)}function Ht(t){return t.length>0}if(function(){function i(t,e){k[_]=t,k[_+1]=e,2===(_+=2)&&S()}function o(t){return\"function\"==typeof t}function s(){for(var t=0;t<_;t+=2)(0,k[t])(k[t+1]),k[t]=void 0,k[t+1]=void 0;_=0}function a(){}function h(t,e,i,r){try{t.call(e,i,r)}catch(t){return t}}function c(t,e,r){i(function(t){var i=!1,n=h(r,e,function(r){i||(i=!0,e!==r?u(t,r):d(t,r))},function(e){i||(i=!0,p(t,e))});!i&&n&&(i=!0,p(t,n))},t)}function l(t,e){1===e.a?d(t,e.b):2===t.a?p(t,e.b):g(e,void 0,function(e){u(t,e)},function(e){p(t,e)})}function u(t,e){if(t===e)p(t,new TypeError(\"You cannot resolve a promise with itself\"));else if(\"function\"==typeof e||\"object\"==typeof e&&null!==e)if(e.constructor===t.constructor)l(t,e);else{var i;try{i=e.then}catch(t){E.error=t,i=E}i===E?p(t,E.error):void 0===i?d(t,e):o(i)?c(t,e,i):d(t,e)}else d(t,e)}function f(t){t.f&&t.f(t.b),m(t)}function d(t,e){void 0===t.a&&(t.b=e,t.a=1,0!==t.e.length&&i(m,t))}function p(t,e){void 0===t.a&&(t.a=2,t.b=e,i(f,t))}function g(t,e,r,n){var o=t.e,s=o.length;t.f=null,o[s]=e,o[s+1]=r,o[s+2]=n,0===s&&t.a&&i(m,t)}function m(t){var e=t.e,i=t.a;if(0!==e.length){for(var r,n,o=t.b,s=0;s<e.length;s+=3)r=e[s],n=e[s+i],r?b(i,r,n,o):n(o);t.e.length=0}}function v(){this.error=null}function b(t,e,i,r){var n,s,a,h,c=o(i);if(c){try{n=i(r)}catch(t){A.error=t,n=A}if(n===A?(h=!0,s=n.error,n=null):a=!0,e===n)return void p(e,new TypeError(\"A promises callback cannot return that same promise.\"))}else n=r,a=!0;void 0===e.a&&(c&&a?u(e,n):h?p(e,s):1===t?d(e,n):2===t&&p(e,n))}function y(t,e){try{e(function(e){u(t,e)},function(e){p(t,e)})}catch(e){p(t,e)}}function x(t,e,i,r){this.n=t,this.c=new t(a,r),this.i=i,this.o(e)?(this.m=e,this.d=this.length=e.length,this.l(),0===this.length?d(this.c,this.b):(this.length=this.length||0,this.k(),0===this.d&&d(this.c,this.b))):p(this.c,this.p())}function w(t){if(j++,this.b=this.a=void 0,this.e=[],a!==t){if(!o(t))throw new TypeError(\"You must pass a resolver function as the first argument to the promise constructor\");if(!(this instanceof w))throw new TypeError(\"Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.\");y(this,t)}}var S,C=Array.isArray?Array.isArray:function(t){return\"[object Array]\"===Object.prototype.toString.call(t)},_=0,T=(O=void 0!==t?t:{}).MutationObserver||O.WebKitMutationObserver,O=\"undefined\"!=typeof Uint8ClampedArray&&\"undefined\"!=typeof importScripts&&\"undefined\"!=typeof MessageChannel,k=Array(1e3);S=\"undefined\"!=typeof process&&\"[object process]\"==={}.toString.call(process)?function(){process.nextTick(s)}:T?function(){var t=0,i=new T(s),r=e.createTextNode(\"\");return i.observe(r,{characterData:!0}),function(){r.data=t=++t%2}}():O?function(){var t=new MessageChannel;return t.port1.onmessage=s,function(){t.port2.postMessage(0)}}():function(){setTimeout(s,1)};var E=new v,A=new v;x.prototype.o=function(t){return C(t)},x.prototype.p=function(){return Error(\"Array Methods must be provided an Array\")},x.prototype.l=function(){this.b=Array(this.length)},x.prototype.k=function(){for(var t=this.length,e=this.c,i=this.m,r=0;void 0===e.a&&r<t;r++)this.j(i[r],r)},x.prototype.j=function(t,e){var i=this.n;\"object\"==typeof t&&null!==t?t.constructor===i&&void 0!==t.a?(t.f=null,this.g(t.a,e,t.b)):this.q(i.resolve(t),e):(this.d--,this.b[e]=this.h(t))},x.prototype.g=function(t,e,i){var r=this.c;void 0===r.a&&(this.d--,this.i&&2===t?p(r,i):this.b[e]=this.h(i)),0===this.d&&d(r,this.b)},x.prototype.h=function(t){return t},x.prototype.q=function(t,e){var i=this;g(t,void 0,function(t){i.g(1,e,t)},function(t){i.g(2,e,t)})};var j=0;w.all=function(t,e){return new x(this,t,!0,e).c},w.race=function(t,e){var i=new this(a,e);if(!C(t))return p(i,new TypeError(\"You must pass an array to race.\")),i;for(var r=t.length,n=0;void 0===i.a&&n<r;n++)g(this.resolve(t[n]),void 0,function(t){u(i,t)},function(t){p(i,t)});return i},w.resolve=function(t,e){if(t&&\"object\"==typeof t&&t.constructor===this)return t;var i=new this(a,e);return u(i,t),i},w.reject=function(t,e){var i=new this(a,e);return p(i,t),i},w.prototype={constructor:w,then:function(t,e){var r=this.a;if(1===r&&!t||2===r&&!e)return this;var n=new this.constructor(a),o=this.b;if(r){var s=arguments[r-1];i(function(){b(r,n,s,o)})}else g(this,n,t,e);return n},catch:function(t){return this.then(null,t)}};var I={Promise:w,polyfill:function(){var e;\"Promise\"in(e=void 0!==r?r:void 0!==t&&t.document?t:self)&&\"resolve\"in e.Promise&&\"reject\"in e.Promise&&\"all\"in e.Promise&&\"race\"in e.Promise&&function(){var t;return new e.Promise(function(e){t=e}),o(t)}()||(e.Promise=w)}};\"function\"==typeof n&&n.amd?n(function(){return I}):\"undefined\"!=typeof module&&module.exports?module.exports=I:void 0!==this&&(this.ES6Promise=I)}.call(t),t&&t.ES6Promise.polyfill(),void 0!==e&&\"function\"==typeof Object.create&&\"function\"==typeof e.createElement(\"canvas\").getContext){!function(t){function e(t){throw RangeError(I[t])}function o(t,e){for(var i=t.length,r=[];i--;)r[i]=e(t[i]);return r}function s(t,e){var i=t.split(\"@\"),r=\"\";return i.length>1&&(r=i[0]+\"@\",t=i[1]),r+o(t.split(j),e).join(\".\")}function a(t){for(var e,i,r=[],n=0,o=t.length;n<o;)(e=t.charCodeAt(n++))>=55296&&e<=56319&&n<o?56320==(64512&(i=t.charCodeAt(n++)))?r.push(((1023&e)<<10)+(1023&i)+65536):(r.push(e),n--):r.push(e);return r}function h(t){return o(t,function(t){var e=\"\";return t>65535&&(e+=D((t-=65536)>>>10&1023|55296),t=56320|1023&t),e+=D(t)}).join(\"\")}function c(t){return t-48<10?t-22:t-65<26?t-65:t-97<26?t-97:x}function l(t,e){return t+22+75*(t<26)-((0!=e)<<5)}function u(t,e,i){var r=0;for(t=i?M(t/_):t>>1,t+=M(t/e);t>P*S>>1;r+=x)t=M(t/P);return M(r+(P+1)*t/(t+C))}function f(t){var i,r,n,o,s,a,l,f,d,p,g=[],m=t.length,v=0,b=O,C=T;for((r=t.lastIndexOf(k))<0&&(r=0),n=0;n<r;++n)t.charCodeAt(n)>=128&&e(\"not-basic\"),g.push(t.charCodeAt(n));for(o=r>0?r+1:0;o<m;){for(s=v,a=1,l=x;o>=m&&e(\"invalid-input\"),((f=c(t.charCodeAt(o++)))>=x||f>M((y-v)/a))&&e(\"overflow\"),v+=f*a,d=l<=C?w:l>=C+S?S:l-C,!(f<d);l+=x)a>M(y/(p=x-d))&&e(\"overflow\"),a*=p;C=u(v-s,i=g.length+1,0==s),M(v/i)>y-b&&e(\"overflow\"),b+=M(v/i),v%=i,g.splice(v++,0,b)}return h(g)}function d(t){var i,r,n,o,s,h,c,f,d,p,g,m,v,b,C,_=[];for(m=(t=a(t)).length,i=O,r=0,s=T,h=0;h<m;++h)(g=t[h])<128&&_.push(D(g));for(n=o=_.length,o&&_.push(k);n<m;){for(c=y,h=0;h<m;++h)(g=t[h])>=i&&g<c&&(c=g);for(c-i>M((y-r)/(v=n+1))&&e(\"overflow\"),r+=(c-i)*v,i=c,h=0;h<m;++h)if((g=t[h])<i&&++r>y&&e(\"overflow\"),g==i){for(f=r,d=x;p=d<=s?w:d>=s+S?S:d-s,!(f<p);d+=x)C=f-p,b=x-p,_.push(D(l(p+C%b,0))),f=M(C/b);_.push(D(l(f,0))),s=u(r,v,n==o),r=0,++n}++r,++i}return _.join(\"\")}var p=\"object\"==typeof i&&i&&!i.nodeType&&i,g=\"object\"==typeof module&&module&&!module.nodeType&&module,m=\"object\"==typeof r&&r;m.global!==m&&m.window!==m&&m.self!==m||(t=m);var v,b,y=2147483647,x=36,w=1,S=26,C=38,_=700,T=72,O=128,k=\"-\",E=/^xn--/,A=/[^\\x20-\\x7E]/,j=/[\\x2E\\u3002\\uFF0E\\uFF61]/g,I={overflow:\"Overflow: input needs wider integers to process\",\"not-basic\":\"Illegal input >= 0x80 (not a basic code point)\",\"invalid-input\":\"Invalid input\"},P=x-w,M=Math.floor,D=String.fromCharCode;if(v={version:\"1.3.1\",ucs2:{decode:a,encode:h},decode:f,encode:d,toASCII:function(t){return s(t,function(t){return A.test(t)?\"xn--\"+d(t):t})},toUnicode:function(t){return s(t,function(t){return E.test(t)?f(t.slice(4).toLowerCase()):t})}},\"function\"==typeof n&&\"object\"==typeof n.amd&&n.amd)n(\"punycode\",function(){return v});else if(p&&g)if(module.exports==p)g.exports=v;else for(b in v)v.hasOwnProperty(b)&&(p[b]=v[b]);else t.punycode=v}(this);var Ut=\"data-html2canvas-node\",qt=\"data-html2canvas-canvas-clone\",Jt=0,$t=0;t.html2canvas=function(i,r){var n=$t++;if((r=r||{}).logging&&(t.html2canvas.logging=!0,t.html2canvas.start=Date.now()),r.async=void 0===r.async||r.async,r.allowTaint=void 0!==r.allowTaint&&r.allowTaint,r.removeContainer=void 0===r.removeContainer||r.removeContainer,r.javascriptEnabled=void 0!==r.javascriptEnabled&&r.javascriptEnabled,r.imageTimeout=void 0===r.imageTimeout?1e4:r.imageTimeout,r.renderer=\"function\"==typeof r.renderer?r.renderer:Yt,r.strict=!!r.strict,\"string\"==typeof i){if(\"string\"!=typeof r.proxy)return Promise.reject(\"Proxy must be used when rendering url\");var h=null!=r.width?r.width:t.innerWidth,c=null!=r.height?r.height:t.innerHeight;return b(_(i),r.proxy,e,h,c,r).then(function(t){return a(t.contentWindow.document.documentElement,t,r,h,c)})}var l=(i===o?[e.documentElement]:i.length?i:[i])[0];return l.setAttribute(Ut+n,n),s(l.ownerDocument,r,l.ownerDocument.defaultView.innerWidth,l.ownerDocument.defaultView.innerHeight,n).then(function(t){if(\"function\"==typeof r.onrendered)if(D(\"options.onrendered is deprecated, html2canvas returns a Promise containing the canvas\"),void 0===r.grabMouse||r.grabMouse){var e=new Image(25,25);e.onload=function(){t.getContext(\"2d\").drawImage(e,ae,he,25,25),r.onrendered(t)},e.src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAZCAYAAAAxFw7TAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjExR/NCNwAAAzZJREFUSEut1EtME1EUANBiTTFaivRDKbaFFgiILgxx0bQllYItYKFIgEYoC2oEwqeCC4gG1xg2dmEwEQMJujIxwQ24wA2uCFAB3SBBfqWuyqd/CuV634QSPgOFxElu+mZye+a++948BgAw/mccYAwGIyY7O1vR3NzSiuMLX5GiDoO8tLQ0QzAYDLW1tT2/qEgHJslk8rKtLU9odzcMTU3N7RdB6UBhRkZG6fz8QrCuzgJutwfq6xtazovSgunp6SUOhzPI5XJBr9fD9nYojHjDeVA6MJH0EMGARCIBRKC8vJygO2ZzrSUaSgumpqY+cDjWAlJpCgWSMJlMiO6EqqpMtWehtKBUKi1eXV3zI3wAEhQrJJUGseJHp6G0IE61CKfsl8lkR0CCWiyPAXeU32AwVNChdKAAwUIEfXK5/ARI0IaGRkS3vXp9ofE4SguKxWL92tpfH642LUjQ1lYr+P0Bt1abX3wYPQv04n48FSRoe/sz8Pn8G7m5uboISgfyk5OT72OF3szMzBMgk8k88qyjowPW1zddCoVCS1BaUCQSEdCTlZV18GcOh0ONq6trYGbmJ0xMTO3Z7dMwPj4B4XAYXC7XhkqlKqAFBQJBAS6KB08dClEqlTA8/JUak5cEAkHo6nppMxqN7ZWVVZ0GQ0lnRUXlC6VSVXoamI+gm/RQKEyChYU/u5gYUqvVFDo09AVsNttrHMdh3MAQYyRhxNIeX3y+QLu0tLKlVufC5OQU9Pa+/TgwMPCpv7+fAouKigG/pFX81qV4H4PBwrh8Wg95eOUtLi5vLi+v4FSHRzExRafTNZJ7NptNobOzs2C1Wp+eZx/yEhIS8jwer99ut//icOJvk+mwWCzF3NzvebPZTIF4+ILd/mMcx1ei7UOeUCjUjY19n8YvRYPJVzG4GGk9PT3vRkZGKJDH44PT6STTfxgNjGez4+4idg8Tr+8nx+KvNCcnx4y926mpMUNf33vY2wPo7n71JhpImszer4x5KFmE4zujo98m3W6ve3Dww2eNRvMEW3GLrG4kj26Vj/c5ch+Pg5t4ApXhopFWSDASMcjzg+siIKmWVJm839Nr+Hvp+Nsj4D+5Hdf43ZzjNQAAAABJRU5ErkJggg==\"}else r.onrendered(t);return t})},t.html2canvas.punycode=this.punycode,t.html2canvas.proxy={},T.prototype.darken=function(t){var e=1-t;return new T([Math.round(this.r*e),Math.round(this.g*e),Math.round(this.b*e),this.a])},T.prototype.isTransparent=function(){return 0===this.a},T.prototype.isBlack=function(){return 0===this.r&&0===this.g&&0===this.b},T.prototype.fromArray=function(t){return Array.isArray(t)&&(this.r=Math.min(t[0],255),this.g=Math.min(t[1],255),this.b=Math.min(t[2],255),t.length>3&&(this.a=t[3])),Array.isArray(t)};var Qt=/^#([a-f0-9]{3})$/i;T.prototype.hex3=function(t){var e=null;return null!==(e=t.match(Qt))&&(this.r=parseInt(e[1][0]+e[1][0],16),this.g=parseInt(e[1][1]+e[1][1],16),this.b=parseInt(e[1][2]+e[1][2],16)),null!==e};var Kt=/^#([a-f0-9]{6})$/i;T.prototype.hex6=function(t){var e=null;return null!==(e=t.match(Kt))&&(this.r=parseInt(e[1].substring(0,2),16),this.g=parseInt(e[1].substring(2,4),16),this.b=parseInt(e[1].substring(4,6),16)),null!==e};var Zt=/^rgb\\((\\d{1,3}) *, *(\\d{1,3}) *, *(\\d{1,3})\\)$/;T.prototype.rgb=function(t){var e=null;return null!==(e=t.match(Zt))&&(this.r=Number(e[1]),this.g=Number(e[2]),this.b=Number(e[3])),null!==e};var te=/^rgba\\((\\d{1,3}) *, *(\\d{1,3}) *, *(\\d{1,3}) *, *(\\d+\\.?\\d*)\\)$/;T.prototype.rgba=function(t){var e=null;return null!==(e=t.match(te))&&(this.r=Number(e[1]),this.g=Number(e[2]),this.b=Number(e[3]),this.a=Number(e[4])),null!==e},T.prototype.toString=function(){return null!==this.a&&1!==this.a?\"rgba(\"+[this.r,this.g,this.b,this.a].join(\",\")+\")\":\"rgb(\"+[this.r,this.g,this.b].join(\",\")+\")\"},T.prototype.namedColor=function(t){var e=ee[t.toLowerCase()];if(e)this.r=e[0],this.g=e[1],this.b=e[2];else if(\"transparent\"===t.toLowerCase())return this.r=this.g=this.b=this.a=0,!0;return!!e},T.prototype.isColor=!0;var ee={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]};E.prototype.getMetrics=function(t,e){return this.data[t+\"-\"+e]===o&&(this.data[t+\"-\"+e]=new k(t,e)),this.data[t+\"-\"+e]},A.prototype.proxyLoad=function(t,e,i){var r=this.src;return b(r.src,t,r.ownerDocument,e.width,e.height,i)},j.prototype.TYPES={LINEAR:1,RADIAL:2},P.prototype.findImages=function(t){var e=[];return t.reduce(function(t,e){switch(e.node.nodeName){case\"IMG\":return t.concat([{args:[e.node.src],method:\"url\"}]);case\"svg\":case\"IFRAME\":return t.concat([{args:[e.node],method:e.node.nodeName}])}return t},[]).forEach(this.addImage(e,this.loadImage),this),e},P.prototype.findBackgroundImage=function(t,e){return e.parseBackgroundImages().filter(this.hasImageBackground).forEach(this.addImage(t,this.loadImage),this),t},P.prototype.addImage=function(t,e){return function(i){i.args.forEach(function(r){this.imageExists(t,r)||(t.splice(0,0,e.call(this,i)),D(\"Added image #\"+t.length,\"string\"==typeof r?r.substring(0,100):r))},this)}},P.prototype.hasImageBackground=function(t){return\"none\"!==t.method},P.prototype.loadImage=function(t){if(\"url\"===t.method){var e=t.args[0];return!this.isSVG(e)||this.support.svg||this.options.allowTaint?e.match(/data:image\\/.*;base64,/i)?new I(e.replace(/url\\(['\"]{0,}|['\"]{0,}\\)$/gi,\"\"),!1):this.isSameOrigin(e)||!0===this.options.allowTaint||this.isSVG(e)?new I(e,!1):this.support.cors&&!this.options.allowTaint&&this.options.useCORS?new I(e,!0):this.options.proxy?new Mt(e,this.options.proxy):new O(e):new Ft(e)}return\"linear-gradient\"===t.method?new M(t):\"gradient\"===t.method?new Vt(t):\"svg\"===t.method?new Gt(t.args[0],this.support.svg):\"IFRAME\"===t.method?new A(t.args[0],this.isSameOrigin(t.args[0].src),this.options):new O(t)},P.prototype.isSVG=function(t){return\"svg\"===t.substring(t.length-3).toLowerCase()||Ft.prototype.isInline(t)},P.prototype.imageExists=function(t,e){return t.some(function(t){return t.src===e})},P.prototype.isSameOrigin=function(t){return this.getOrigin(t)===this.origin},P.prototype.getOrigin=function(t){var i=this.link||(this.link=e.createElement(\"a\"));return i.href=t,i.href=i.href,i.protocol+i.hostname+i.port},P.prototype.getPromise=function(t){return this.timeout(t,this.options.imageTimeout).catch(function(){return new O(t.src).promise.then(function(e){t.image=e})})},P.prototype.get=function(t){var e=null;return this.images.some(function(i){return(e=i).src===t})?e:null},P.prototype.fetch=function(t){return this.images=t.reduce(yt(this.findBackgroundImage,this),this.findImages(t)),this.images.forEach(function(t,e){t.promise.then(function(){D(\"Succesfully loaded image #\"+(e+1),t)},function(i){D(\"Failed loading image #\"+(e+1),t,i)})}),this.ready=Promise.all(this.images.map(this.getPromise,this)),D(\"Finished searching images\"),this},P.prototype.timeout=function(t,e){var i,r=Promise.race([t.promise,new Promise(function(r,n){i=setTimeout(function(){D(\"Timed out loading image\",t),n(t)},e)})]).then(function(t){return clearTimeout(i),t});return r.catch(function(){clearTimeout(i)}),r},(M.prototype=Object.create(j.prototype)).stepRegExp=/((?:rgb|rgba)\\(\\d{1,3},\\s\\d{1,3},\\s\\d{1,3}(?:,\\s[0-9\\.]+)?\\))\\s*(\\d{1,3})?(%|px)?/,L.prototype.cloneTo=function(t){t.visible=this.visible,t.borders=this.borders,t.bounds=this.bounds,t.clip=this.clip,t.backgroundClip=this.backgroundClip,t.computedStyles=this.computedStyles,t.styles=this.styles,t.backgroundImages=this.backgroundImages,t.opacity=this.opacity},L.prototype.getOpacity=function(){return null===this.opacity?this.opacity=this.cssFloat(\"opacity\"):this.opacity},L.prototype.assignStack=function(t){this.stack=t,t.children.push(this)},L.prototype.isElementVisible=function(){return this.node.nodeType===Node.TEXT_NODE?this.parent.visible:\"none\"!==this.css(\"display\")&&\"hidden\"!==this.css(\"visibility\")&&!this.node.hasAttribute(\"data-html2canvas-ignore\")&&(\"INPUT\"!==this.node.nodeName||\"hidden\"!==this.node.getAttribute(\"type\"))},L.prototype.css=function(t){return this.computedStyles||(this.computedStyles=this.isPseudoElement?this.parent.computedStyle(this.before?\":before\":\":after\"):this.computedStyle(null)),this.styles[t]||(this.styles[t]=this.computedStyles[t])},L.prototype.prefixedCss=function(t){var e=[\"webkit\",\"moz\",\"ms\",\"o\"],i=this.css(t);return i===o&&e.some(function(e){return(i=this.css(e+t.substr(0,1).toUpperCase()+t.substr(1)))!==o},this),i===o?null:i},L.prototype.computedStyle=function(t){return this.node.ownerDocument.defaultView.getComputedStyle(this.node,t)},L.prototype.cssInt=function(t){var e=parseInt(this.css(t),10);return isNaN(e)?0:e},L.prototype.color=function(t){return this.colors[t]||(this.colors[t]=new T(this.css(t)))},L.prototype.cssFloat=function(t){var e=parseFloat(this.css(t));return isNaN(e)?0:e},L.prototype.fontWeight=function(){var t=this.css(\"fontWeight\");switch(parseInt(t,10)){case 401:t=\"bold\";break;case 400:t=\"normal\"}return t},L.prototype.parseClip=function(){var t=this.css(\"clip\").match(this.CLIP);return t?{top:parseInt(t[1],10),right:parseInt(t[2],10),bottom:parseInt(t[3],10),left:parseInt(t[4],10)}:null},L.prototype.parseBackgroundImages=function(){return this.backgroundImages||(this.backgroundImages=N(this.css(\"backgroundImage\")))},L.prototype.cssList=function(t,e){var i=(this.css(t)||\"\").split(\",\");return i=i[e||0]||i[0]||\"auto\",1===(i=i.trim().split(\" \")).length&&(i=[i[0],i[0]]),i},L.prototype.parseBackgroundSize=function(t,e,i){var r,n,o=this.cssList(\"backgroundSize\",i);if(F(o[0]))r=t.width*parseFloat(o[0])/100;else{if(/contain|cover/.test(o[0])){var s=t.width/t.height,a=e.width/e.height;return s<a^\"contain\"===o[0]?{width:t.height*a,height:t.height}:{width:t.width,height:t.width/a}}r=parseInt(o[0],10)}return n=\"auto\"===o[0]&&\"auto\"===o[1]?e.height:\"auto\"===o[1]?r/e.width*e.height:F(o[1])?t.height*parseFloat(o[1])/100:parseInt(o[1],10),\"auto\"===o[0]&&(r=n/e.height*e.width),{width:r,height:n}},L.prototype.parseBackgroundPosition=function(t,e,i,r){var n,o,s=this.cssList(\"backgroundPosition\",i);return n=F(s[0])?(t.width-(r||e).width)*(parseFloat(s[0])/100):parseInt(s[0],10),o=\"auto\"===s[1]?n/e.width*e.height:F(s[1])?(t.height-(r||e).height)*parseFloat(s[1])/100:parseInt(s[1],10),\"auto\"===s[0]&&(n=o/e.height*e.width),{left:n,top:o}},L.prototype.parseBackgroundRepeat=function(t){return this.cssList(\"backgroundRepeat\",t)[0]},L.prototype.parseTextShadows=function(){var t=this.css(\"textShadow\"),e=[];if(t&&\"none\"!==t)for(var i=t.match(this.TEXT_SHADOW_PROPERTY),r=0;i&&r<i.length;r++){var n=i[r].match(this.TEXT_SHADOW_VALUES);e.push({color:new T(n[0]),offsetX:n[1]?parseFloat(n[1].replace(\"px\",\"\")):0,offsetY:n[2]?parseFloat(n[2].replace(\"px\",\"\")):0,blur:n[3]?n[3].replace(\"px\",\"\"):0})}return e},L.prototype.parseTransform=function(){if(!this.transformData)if(this.hasTransform()){var t=this.parseBounds(),e=this.prefixedCss(\"transformOrigin\").split(\" \").map(G).map(X);e[0]+=t.left,e[1]+=t.top,this.transformData={origin:e,matrix:this.parseTransformMatrix()}}else this.transformData={origin:[0,0],matrix:[1,0,0,1,0,0]};return this.transformData},L.prototype.parseTransformMatrix=function(){if(!this.transformMatrix){var t=this.prefixedCss(\"transform\"),e=t?B(t.match(this.MATRIX_PROPERTY)):null;this.transformMatrix=e||[1,0,0,1,0,0]}return this.transformMatrix},L.prototype.parseBounds=function(){return this.bounds=this.hasTransform()?V(this.node):z(this.node)},L.prototype.hasTransform=function(){return\"1,0,0,1,0,0\"!==this.parseTransformMatrix().join(\",\")||this.parent&&this.parent.hasTransform()},L.prototype.getValue=function(){var t=this.node.value||\"\";return\"SELECT\"===this.node.tagName?t=R(this.node):\"password\"===this.node.type&&(t=Array(t.length+1).join(\"•\")),0===t.length?this.node.placeholder||\"\":t},L.prototype.MATRIX_PROPERTY=/(matrix)\\((.+)\\)/,L.prototype.TEXT_SHADOW_PROPERTY=/((rgba|rgb)\\([^\\)]+\\)(\\s-?\\d+px){0,})/g,L.prototype.TEXT_SHADOW_VALUES=/(-?\\d+px)|(#.+)|(rgb\\(.+\\))|(rgba\\(.+\\))/g,L.prototype.CLIP=/^rect\\((\\d+)px,? (\\d+)px,? (\\d+)px,? (\\d+)px\\)$/,W.prototype.calculateOverflowClips=function(){this.nodes.forEach(function(t){if(pt(t)){gt(t)&&t.appendToDOM(),t.borders=this.parseBorders(t);var e=\"hidden\"===t.css(\"overflow\")?[t.borders.clip]:[],i=t.parseClip();i&&-1!==[\"absolute\",\"fixed\"].indexOf(t.css(\"position\"))&&e.push([[\"rect\",t.bounds.left+i.left,t.bounds.top+i.top,i.right-i.left,i.bottom-i.top]]),t.clip=Y(t)?t.parent.clip.concat(e):e,t.backgroundClip=\"hidden\"!==t.css(\"overflow\")?t.clip.concat([t.borders.clip]):t.clip,gt(t)&&t.cleanDOM()}else mt(t)&&(t.clip=Y(t)?t.parent.clip:[]);gt(t)||(t.bounds=null)},this)},W.prototype.asyncRenderer=function(t,e,i){i=i||Date.now(),this.paint(t[this.renderIndex++]),t.length===this.renderIndex?e():i+20>Date.now()?this.asyncRenderer(t,e,i):setTimeout(yt(function(){this.asyncRenderer(t,e)},this),0)},W.prototype.createPseudoHideStyles=function(t){this.createStyles(t,\".\"+Dt.prototype.PSEUDO_HIDE_ELEMENT_CLASS_BEFORE+':before { content: \"\" !important; display: none !important; }.'+Dt.prototype.PSEUDO_HIDE_ELEMENT_CLASS_AFTER+':after { content: \"\" !important; display: none !important; }')},W.prototype.disableAnimations=function(t){this.createStyles(t,\"* { -webkit-animation: none !important; -moz-animation: none !important; -o-animation: none !important; animation: none !important; -webkit-transition: none !important; -moz-transition: none !important; -o-transition: none !important; transition: none !important;}\")},W.prototype.createStyles=function(t,e){var i=t.createElement(\"style\");i.innerHTML=e,t.body.appendChild(i)},W.prototype.getPseudoElements=function(t){var e=[[t]];if(t.node.nodeType===Node.ELEMENT_NODE){var i=this.getPseudoElement(t,\":before\"),r=this.getPseudoElement(t,\":after\");i&&e.push(i),r&&e.push(r)}return Ct(e)},W.prototype.getPseudoElement=function(t,i){var r=t.computedStyle(i);if(!r||!r.content||\"none\"===r.content||\"-moz-alt-content\"===r.content||\"none\"===r.display)return null;for(var n=_t(r.content),o=\"url\"===n.substr(0,3),s=e.createElement(o?\"img\":\"html2canvaspseudoelement\"),a=new Dt(s,t,i),h=r.length-1;h>=0;h--){var c=H(r.item(h));s.style[c]=r[c]}if(s.className=Dt.prototype.PSEUDO_HIDE_ELEMENT_CLASS_BEFORE+\" \"+Dt.prototype.PSEUDO_HIDE_ELEMENT_CLASS_AFTER,o)return s.src=N(n)[0].args[0],[a];var l=e.createTextNode(n);return s.appendChild(l),[a,new Xt(l,a)]},W.prototype.getChildren=function(t){return Ct([].filter.call(t.node.childNodes,ht).map(function(e){var i=[e.nodeType===Node.TEXT_NODE?new Xt(e,t):new L(e,t)].filter(St);return e.nodeType===Node.ELEMENT_NODE&&i.length&&\"TEXTAREA\"!==e.tagName?i[0].isElementVisible()?i.concat(this.getChildren(i[0])):[]:i},this))},W.prototype.newStackingContext=function(t,e){var i=new Rt(e,t.getOpacity(),t.node,t.parent);t.cloneTo(i),(e?i.getParentStack(this):i.parent.stack).contexts.push(i),t.stack=i},W.prototype.createStackingContexts=function(){this.nodes.forEach(function(t){pt(t)&&(this.isRootElement(t)||bt(t)||ct(t)||this.isBodyWithTransparentRoot(t)||t.hasTransform())?this.newStackingContext(t,!0):pt(t)&&(lt(t)&&it(t)||ft(t)||ut(t))?this.newStackingContext(t,!1):t.assignStack(t.parent.stack)},this)},W.prototype.isBodyWithTransparentRoot=function(t){return\"BODY\"===t.node.nodeName&&t.parent.color(\"backgroundColor\").isTransparent()},W.prototype.isRootElement=function(t){return null===t.parent},W.prototype.sortStackingContexts=function(t){t.contexts.sort(vt(t.contexts.slice(0))),t.contexts.forEach(this.sortStackingContexts,this)},W.prototype.parseTextBounds=function(t){return function(e,i,r){if(\"none\"!==t.parent.css(\"textDecoration\").substr(0,4)||0!==e.trim().length){if(this.support.rangeBounds&&!t.parent.hasTransform()){var n=r.slice(0,i).join(\"\").length;return this.getRangeBounds(t.node,n,e.length)}if(t.node&&\"string\"==typeof t.node.data){var o=t.node.splitText(e.length),s=this.getWrapperBounds(t.node,t.parent.hasTransform());return t.node=o,s}}else this.support.rangeBounds&&!t.parent.hasTransform()||(t.node=t.node.splitText(e.length));return{}}},W.prototype.getWrapperBounds=function(t,e){var i=t.ownerDocument.createElement(\"html2canvaswrapper\"),r=t.parentNode,n=t.cloneNode(!0);i.appendChild(t.cloneNode(!0)),r.replaceChild(i,t);var o=e?V(i):z(i);return r.replaceChild(n,i),o},W.prototype.getRangeBounds=function(t,e,i){var r=this.range||(this.range=t.ownerDocument.createRange());return r.setStart(t,e),r.setEnd(t,e+i),r.getBoundingClientRect()},W.prototype.parse=function(t){var e=t.contexts.filter(tt),i=t.children.filter(pt),r=i.filter(dt(ut)),n=r.filter(dt(lt)).filter(dt(rt)),o=i.filter(dt(lt)).filter(ut),s=r.filter(dt(lt)).filter(rt),a=t.contexts.concat(r.filter(lt)).filter(it),h=t.children.filter(mt).filter(ot),c=t.contexts.filter(et);e.concat(n).concat(o).concat(s).concat(a).concat(h).concat(c).forEach(function(t){this.renderQueue.push(t),nt(t)&&(this.parse(t),this.renderQueue.push(new U))},this)},W.prototype.paint=function(t){try{t instanceof U?this.renderer.ctx.restore():mt(t)?(gt(t.parent)&&t.parent.appendToDOM(),this.paintText(t),gt(t.parent)&&t.parent.cleanDOM()):this.paintNode(t)}catch(t){if(D(t),this.options.strict)throw t}},W.prototype.paintNode=function(t){nt(t)&&(this.renderer.setOpacity(t.opacity),this.renderer.ctx.save(),t.hasTransform()&&this.renderer.setTransform(t.parseTransform())),\"INPUT\"===t.node.nodeName&&\"checkbox\"===t.node.type?this.paintCheckbox(t):\"INPUT\"===t.node.nodeName&&\"radio\"===t.node.type?this.paintRadio(t):this.paintElement(t)},W.prototype.paintElement=function(t){var e=t.parseBounds();this.renderer.clip(t.backgroundClip,function(){this.renderer.renderBackground(t,e,t.borders.borders.map(wt))},this),this.renderer.clip(t.clip,function(){this.renderer.renderBorders(t.borders.borders)},this),this.renderer.clip(t.backgroundClip,function(){switch(t.node.nodeName){case\"svg\":case\"IFRAME\":var i=this.images.get(t.node);i?this.renderer.renderImage(t,e,t.borders,i):D(\"Error loading <\"+t.node.nodeName+\">\",t.node);break;case\"VIDEO\":var r={image:t.node,src:t.node.src||\"\",tainted:!1,promise:function(){}};this.renderer.renderImage(t,e,t.borders,r);break;case\"IMG\":(r=this.images.get(t.node.src))?this.renderer.renderImage(t,e,t.borders,r):D(\"Error loading <img>\",t.node.src);break;case\"CANVAS\":this.renderer.renderImage(t,e,t.borders,{image:t.node});break;case\"SELECT\":case\"INPUT\":case\"TEXTAREA\":this.paintFormValue(t)}},this)},W.prototype.paintCheckbox=function(t){var e=t.parseBounds(),i=Math.min(e.width,e.height),r={width:i-1,height:i-1,top:e.top,left:e.left},n=[3,3],o=[n,n,n,n],s=[1,1,1,1].map(function(t){return{color:new T(\"#A5A5A5\"),width:t}}),a=$(r,o,s);this.renderer.clip(t.backgroundClip,function(){this.renderer.rectangle(r.left+1,r.top+1,r.width-2,r.height-2,new T(\"#DEDEDE\")),this.renderer.renderBorders(q(s,r,a,o)),t.node.checked&&(this.renderer.font(new T(\"#424242\"),\"normal\",\"normal\",\"bold\",i-3+\"px\",\"arial\"),this.renderer.text(\"✔\",r.left+i/6,r.top+i-1))},this)},W.prototype.paintRadio=function(t){var e=t.parseBounds(),i=Math.min(e.width,e.height)-2;this.renderer.clip(t.backgroundClip,function(){this.renderer.circleStroke(e.left+1,e.top+1,i,new T(\"#DEDEDE\"),1,new T(\"#A5A5A5\")),t.node.checked&&this.renderer.circle(Math.ceil(e.left+i/4)+1,Math.ceil(e.top+i/4)+1,Math.floor(i/2),new T(\"#424242\"))},this)},W.prototype.paintFormValue=function(t){var e=t.getValue();if(e.length>0){var i=t.node.ownerDocument,r=i.createElement(\"html2canvaswrapper\");[\"lineHeight\",\"textAlign\",\"fontFamily\",\"fontWeight\",\"fontSize\",\"color\",\"paddingLeft\",\"paddingTop\",\"paddingRight\",\"paddingBottom\",\"width\",\"height\",\"borderLeftStyle\",\"borderTopStyle\",\"borderLeftWidth\",\"borderTopWidth\",\"boxSizing\",\"whiteSpace\",\"wordWrap\"].forEach(function(e){try{r.style[e]=t.css(e)}catch(t){D(\"html2canvas: Parse: Exception caught in renderFormValue: \"+t.message)}});var n=t.parseBounds();r.style.position=\"fixed\",r.style.left=n.left+\"px\",r.style.top=n.top+\"px\",r.textContent=e,i.body.appendChild(r),this.paintText(new Xt(r.firstChild,t)),i.body.removeChild(r)}},W.prototype.paintText=function(e){e.applyTextTransform();var i=t.html2canvas.punycode.ucs2.decode(e.node.data),r=this.options.letterRendering&&!st(e)||kt(e.node.data)?i.map(function(e){return t.html2canvas.punycode.ucs2.encode([e])}):Tt(i),n=e.parent.fontWeight(),o=e.parent.css(\"fontSize\"),s=e.parent.css(\"fontFamily\"),a=e.parent.parseTextShadows();this.renderer.font(e.parent.color(\"color\"),e.parent.css(\"fontStyle\"),e.parent.css(\"fontVariant\"),n,o,s),a.length?this.renderer.fontShadow(a[0].color,a[0].offsetX,a[0].offsetY,a[0].blur):this.renderer.clearShadow(),this.renderer.clip(e.parent.clip,function(){r.map(this.parseTextBounds(e),this).forEach(function(t,i){t&&(this.renderer.text(r[i],t.left,t.bottom),this.renderTextDecoration(e.parent,t,this.fontMetrics.getMetrics(s,o)))},this)},this)},W.prototype.renderTextDecoration=function(t,e,i){switch(t.css(\"textDecoration\").split(\" \")[0]){case\"underline\":this.renderer.rectangle(e.left,Math.round(e.top+i.baseline+i.lineWidth),e.width,1,t.color(\"color\"));break;case\"overline\":this.renderer.rectangle(e.left,Math.round(e.top),e.width,1,t.color(\"color\"));break;case\"line-through\":this.renderer.rectangle(e.left,Math.ceil(e.top+i.middle+i.lineWidth),e.width,1,t.color(\"color\"))}};var ie={inset:[[\"darken\",.6],[\"darken\",.1],[\"darken\",.1],[\"darken\",.6]]};W.prototype.parseBorders=function(t){var e=t.parseBounds(),i=at(t),r=[\"Top\",\"Right\",\"Bottom\",\"Left\"].map(function(e,i){var r=t.css(\"border\"+e+\"Style\"),n=t.color(\"border\"+e+\"Color\");\"inset\"===r&&n.isBlack()&&(n=new T([255,255,255,n.a]));var o=ie[r]?ie[r][i]:null;return{width:t.cssInt(\"border\"+e+\"Width\"),color:o?n[o[0]](o[1]):n,args:null}}),n=$(e,i,r);return{clip:this.parseBackgroundClip(t,n,r,i,e),borders:q(r,e,n,i)}},W.prototype.parseBackgroundClip=function(t,e,i,r,n){var o=[];switch(t.css(\"backgroundClip\")){case\"content-box\":case\"padding-box\":Z(o,r[0],r[1],e.topLeftInner,e.topRightInner,n.left+i[3].width,n.top+i[0].width),Z(o,r[1],r[2],e.topRightInner,e.bottomRightInner,n.left+n.width-i[1].width,n.top+i[0].width),Z(o,r[2],r[3],e.bottomRightInner,e.bottomLeftInner,n.left+n.width-i[1].width,n.top+n.height-i[2].width),Z(o,r[3],r[0],e.bottomLeftInner,e.topLeftInner,n.left+i[3].width,n.top+n.height-i[2].width);break;default:Z(o,r[0],r[1],e.topLeftOuter,e.topRightOuter,n.left,n.top),Z(o,r[1],r[2],e.topRightOuter,e.bottomRightOuter,n.left+n.width,n.top),Z(o,r[2],r[3],e.bottomRightOuter,e.bottomLeftOuter,n.left+n.width,n.top+n.height),Z(o,r[3],r[0],e.bottomLeftOuter,e.topLeftOuter,n.left,n.top+n.height)}return o};var re=0,ne=\"withCredentials\"in new XMLHttpRequest,oe=\"crossOrigin\"in new Image;Dt.prototype.cloneTo=function(t){Dt.prototype.cloneTo.call(this,t),t.isPseudoElement=!0,t.before=this.before},(Dt.prototype=Object.create(L.prototype)).appendToDOM=function(){this.before?this.parent.node.insertBefore(this.node,this.parent.node.firstChild):this.parent.node.appendChild(this.node),this.parent.node.className+=\" \"+this.getHideClass()},Dt.prototype.cleanDOM=function(){this.node.parentNode.removeChild(this.node),this.parent.node.className=this.parent.node.className.replace(this.getHideClass(),\"\")},Dt.prototype.getHideClass=function(){return this[\"PSEUDO_HIDE_ELEMENT_CLASS_\"+(this.before?\"BEFORE\":\"AFTER\")]},Dt.prototype.PSEUDO_HIDE_ELEMENT_CLASS_BEFORE=\"___html2canvas___pseudoelement_before\",Dt.prototype.PSEUDO_HIDE_ELEMENT_CLASS_AFTER=\"___html2canvas___pseudoelement_after\",Lt.prototype.renderImage=function(t,e,i,r){var n=t.cssInt(\"paddingLeft\"),o=t.cssInt(\"paddingTop\"),s=t.cssInt(\"paddingRight\"),a=t.cssInt(\"paddingBottom\"),h=i.borders,c=e.width-(h[1].width+h[3].width+n+s),l=e.height-(h[0].width+h[2].width+o+a);this.drawImage(r,0,0,r.image.width||r.image.clientWidth||c,r.image.height||r.image.clientHeight||l,e.left+n+h[3].width,e.top+o+h[0].width,c,l)},Lt.prototype.renderBackground=function(t,e,i){e.height>0&&e.width>0&&(this.renderBackgroundColor(t,e),this.renderBackgroundImage(t,e,i))},Lt.prototype.renderBackgroundColor=function(t,e){var i=t.color(\"backgroundColor\");i.isTransparent()||this.rectangle(e.left,e.top,e.width,e.height,i)},Lt.prototype.renderBorders=function(t){t.forEach(this.renderBorder,this)},Lt.prototype.renderBorder=function(t){t.color.isTransparent()||null===t.args||this.drawShape(t.args,t.color)},Lt.prototype.renderBackgroundImage=function(t,e,i){t.parseBackgroundImages().reverse().forEach(function(r,n,o){switch(r.method){case\"url\":var s=this.images.get(r.args[0]);s?this.renderBackgroundRepeating(t,e,s,o.length-(n+1),i):D(\"Error loading background-image\",r.args[0]);break;case\"linear-gradient\":case\"gradient\":var a=this.images.get(r.value);a?this.renderBackgroundGradient(a,e,i):D(\"Error loading background-image\",r.args[0]);break;case\"none\":break;default:D(\"Unknown background-image type\",r.args[0])}},this)},Lt.prototype.renderBackgroundRepeating=function(t,e,i,r,n){var o=t.parseBackgroundSize(e,i.image,r),s=t.parseBackgroundPosition(e,i.image,r,o);switch(t.parseBackgroundRepeat(r)){case\"repeat-x\":case\"repeat no-repeat\":this.backgroundRepeatShape(i,s,o,e,e.left+n[3],e.top+s.top+n[0],99999,o.height,n);break;case\"repeat-y\":case\"no-repeat repeat\":this.backgroundRepeatShape(i,s,o,e,e.left+s.left+n[3],e.top+n[0],o.width,99999,n);break;case\"no-repeat\":this.backgroundRepeatShape(i,s,o,e,e.left+s.left+n[3],e.top+s.top+n[0],o.width,o.height,n);break;default:this.renderBackgroundRepeat(i,s,o,{top:e.top,left:e.left},n[3],n[0])}},(Rt.prototype=Object.create(L.prototype)).getParentStack=function(t){var e=this.parent?this.parent.stack:null;return e?e.ownStacking?e:e.getParentStack(t):t.stack},Bt.prototype.testRangeBounds=function(t){var e,i,r=!1;return t.createRange&&(e=t.createRange()).getBoundingClientRect&&((i=t.createElement(\"boundtest\")).style.height=\"123px\",i.style.display=\"block\",t.body.appendChild(i),e.selectNode(i),123===e.getBoundingClientRect().height&&(r=!0),t.body.removeChild(i)),r},Bt.prototype.testCORS=function(){return void 0!==(new Image).crossOrigin},Bt.prototype.testSVG=function(){var t=new Image,i=e.createElement(\"canvas\"),r=i.getContext(\"2d\");t.src=\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'></svg>\";try{r.drawImage(t,0,0),i.toDataURL()}catch(t){return!1}return!0},Ft.prototype.hasFabric=function(){return html2canvas.fabric?Promise.resolve():Promise.reject(new Error(\"html2canvas.svg.js is not loaded, cannot render svg\"))},Ft.prototype.inlineFormatting=function(t){return/^data:image\\/svg\\+xml;base64,/.test(t)?this.decode64(this.removeContentType(t)):this.removeContentType(t)},Ft.prototype.removeContentType=function(t){return t.replace(/^data:image\\/svg\\+xml(;base64)?,/,\"\")},Ft.prototype.isInline=function(t){return/^data:image\\/svg\\+xml/i.test(t)},Ft.prototype.createCanvas=function(t){var e=this;return function(i,r){var n=new html2canvas.fabric.StaticCanvas(\"c\");e.image=n.lowerCanvasEl,n.setWidth(r.width).setHeight(r.height).add(html2canvas.fabric.util.groupSVGElements(i,r)).renderAll(),t(n.lowerCanvasEl)}},Ft.prototype.decode64=function(e){return\"function\"==typeof t.atob?t.atob(e):Nt(e)},Gt.prototype=Object.create(Ft.prototype),(Xt.prototype=Object.create(L.prototype)).applyTextTransform=function(){this.node.data=this.transform(this.parent.css(\"textTransform\"))},Xt.prototype.transform=function(t){var e=this.node.data;switch(t){case\"lowercase\":return e.toLowerCase();case\"capitalize\":return e.replace(/(^|\\s|:|-|\\(|\\))([a-z])/g,zt);case\"uppercase\":return e.toUpperCase();default:return e}},Vt.prototype=Object.create(j.prototype),(Yt.prototype=Object.create(Lt.prototype)).setFillStyle=function(t){return this.ctx.fillStyle=\"object\"==typeof t&&t.isColor?t.toString():t,this.ctx},Yt.prototype.rectangle=function(t,e,i,r,n){this.setFillStyle(n).fillRect(t,e,i,r)},Yt.prototype.circle=function(t,e,i,r){this.setFillStyle(r),this.ctx.beginPath(),this.ctx.arc(t+i/2,e+i/2,i/2,0,2*Math.PI,!0),this.ctx.closePath(),this.ctx.fill()},Yt.prototype.circleStroke=function(t,e,i,r,n,o){this.circle(t,e,i,r),this.ctx.strokeStyle=o.toString(),this.ctx.stroke()},Yt.prototype.drawShape=function(t,e){this.shape(t),this.setFillStyle(e).fill()},Yt.prototype.taints=function(t){if(null===t.tainted){this.taintCtx.drawImage(t.image,0,0);try{this.taintCtx.getImageData(0,0,1,1),t.tainted=!1}catch(i){this.taintCtx=e.createElement(\"canvas\").getContext(\"2d\"),t.tainted=!0}}return t.tainted},Yt.prototype.drawImage=function(t,e,i,r,n,o,s,a,h){\"VIDEO\"!==t.image.nodeName.toUpperCase()?this.taints(t)&&!this.options.allowTaint||this.ctx.drawImage(t.image,e,i,r,n,o,s,a,h):this.ctx.drawImage(t.image,e,i,r,n,o,s,a,h)},Yt.prototype.clip=function(t,e,i){this.ctx.save(),t.filter(Ht).forEach(function(t){this.shape(t).clip()},this),e.call(i),this.ctx.restore()},Yt.prototype.shape=function(t){return this.ctx.beginPath(),t.forEach(function(t,e){\"rect\"===t[0]?this.ctx.rect.apply(this.ctx,t.slice(1)):this.ctx[0===e?\"moveTo\":t[0]+\"To\"].apply(this.ctx,t.slice(1))},this),this.ctx.closePath(),this.ctx},Yt.prototype.font=function(t,e,i,r,n,o){this.setFillStyle(t).font=[e,i,r,n,o].join(\" \").split(\",\")[0]},Yt.prototype.fontShadow=function(t,e,i,r){this.setVariable(\"shadowColor\",t.toString()).setVariable(\"shadowOffsetY\",e).setVariable(\"shadowOffsetX\",i).setVariable(\"shadowBlur\",r)},Yt.prototype.clearShadow=function(){this.setVariable(\"shadowColor\",\"rgba(0,0,0,0)\")},Yt.prototype.setOpacity=function(t){this.ctx.globalAlpha=t},Yt.prototype.setTransform=function(t){this.ctx.translate(t.origin[0],t.origin[1]),this.ctx.transform.apply(this.ctx,t.matrix),this.ctx.translate(-t.origin[0],-t.origin[1])},Yt.prototype.setVariable=function(t,e){return this.variables[t]!==e&&(this.variables[t]=this.ctx[t]=e),this},Yt.prototype.text=function(t,e,i){this.ctx.fillText(t,e,i)},Yt.prototype.backgroundRepeatShape=function(t,e,i,r,n,o,s,a,h){var c=[[\"line\",Math.round(n),Math.round(o)],[\"line\",Math.round(n+s),Math.round(o)],[\"line\",Math.round(n+s),Math.round(a+o)],[\"line\",Math.round(n),Math.round(a+o)]];this.clip([c],function(){this.renderBackgroundRepeat(t,e,i,r,h[3],h[0])},this)},Yt.prototype.renderBackgroundRepeat=function(t,e,i,r,n,o){var s=Math.round(r.left+e.left+n),a=Math.round(r.top+e.top+o);this.setFillStyle(this.ctx.createPattern(this.resizeImage(t,i),\"repeat\")),this.ctx.translate(s,a),this.ctx.fill(),this.ctx.translate(-s,-a)},Yt.prototype.renderBackgroundGradient=function(t,e){if(t instanceof M){var i=this.ctx.createLinearGradient(e.left+e.width*t.x0,e.top+e.height*t.y0,e.left+e.width*t.x1,e.top+e.height*t.y1);t.colorStops.forEach(function(t){i.addColorStop(t.stop,t.color.toString())}),this.rectangle(e.left,e.top,e.width,e.height,i)}},Yt.prototype.resizeImage=function(t,i){var r=t.image;if(r.width===i.width&&r.height===i.height)return r;var n=e.createElement(\"canvas\");return n.width=i.width,n.height=i.height,n.getContext(\"2d\").drawImage(r,0,0,r.width,r.height,0,0,i.width,i.height),n};var se=!!e.all;se||e.captureEvents(Event.MOUSEMOVE),e.addEventListener(\"mousemove\",function(t){return se?(ae=event.clientX+e.body.scrollLeft,he=event.clientY+e.body.scrollTop):(ae=t.pageX,he=t.pageY),ae<0&&(ae=0),he<0&&(he=0),!0},!1);var ae=0,he=0}else(t||module.exports).html2canvas=function(){return Promise.reject(\"No canvas support\")}}).call({},\"undefined\"!=typeof window?window:void 0,\"undefined\"!=typeof document?document:void 0),function(window,document,exports,undefined){var fabric=fabric||{version:\"1.4.11\"};void 0!==exports&&(exports.fabric=fabric),void 0!==document&&void 0!==window?(fabric.document=document,fabric.window=window):(fabric.document=require(\"jsdom\").jsdom(\"<!DOCTYPE html><html><head></head><body></body></html>\"),fabric.window=fabric.document.createWindow()),fabric.isTouchSupported=\"ontouchstart\"in fabric.document.documentElement,fabric.isLikelyNode=\"undefined\"!=typeof Buffer&&void 0===window,fabric.SHARED_ATTRIBUTES=[\"display\",\"transform\",\"fill\",\"fill-opacity\",\"fill-rule\",\"opacity\",\"stroke\",\"stroke-dasharray\",\"stroke-linecap\",\"stroke-linejoin\",\"stroke-miterlimit\",\"stroke-opacity\",\"stroke-width\"],fabric.DPI=96;var Cufon=function(){function t(t){var e=this.face=t.face;this.glyphs=t.glyphs,this.w=t.w,this.baseSize=parseInt(e[\"units-per-em\"],10),this.family=e[\"font-family\"].toLowerCase(),this.weight=e[\"font-weight\"],this.style=e[\"font-style\"]||\"normal\",this.viewBox=function(){var t=e.bbox.split(/\\s+/),i={minX:parseInt(t[0],10),minY:parseInt(t[1],10),maxX:parseInt(t[2],10),maxY:parseInt(t[3],10)};return i.width=i.maxX-i.minX,i.height=i.maxY-i.minY,i.toString=function(){return[this.minX,this.minY,this.width,this.height].join(\" \")},i}(),this.ascent=-parseInt(e.ascent,10),this.descent=-parseInt(e.descent,10),this.height=-this.ascent+this.descent}function e(){var t={},e={oblique:\"italic\",italic:\"oblique\"};this.add=function(e){(t[e.style]||(t[e.style]={}))[e.weight]=e},this.get=function(i,r){var n=t[i]||t[e[i]]||t.normal||t.italic||t.oblique;if(!n)return null;if(r={normal:400,bold:700}[r]||parseInt(r,10),n[r])return n[r];var o,s,a={1:1,99:0}[r%100],h=[];a===undefined&&(a=r>400),500==r&&(r=400);for(var c in n)c=parseInt(c,10),(!o||c<o)&&(o=c),(!s||c>s)&&(s=c),h.push(c);return r<o&&(r=o),r>s&&(r=s),h.sort(function(t,e){return(a?t>r&&e>r?t<e:t>e:t<r&&e<r?t>e:t<e)?-1:1}),n[h[0]]}}function i(t){var e={},i={};this.get=function(i){return e[i]!=undefined?e[i]:t[i]},this.getSize=function(t,e){return i[t]||(i[t]=new d.Size(this.get(t),e))},this.extend=function(t){for(var i in t)e[i]=t[i];return this}}function r(t,e,i){t.addEventListener?t.addEventListener(e,i,!1):t.attachEvent&&t.attachEvent(\"on\"+e,function(){return i.call(t,fabric.window.event)})}function n(t,e){var i=g.get(t);return i.options?t:(e.hover&&e.hoverables[t.nodeName.toLowerCase()]&&m.attach(t),i.options=e,t)}function o(t){var e={};return function(i){return e.hasOwnProperty(i)||(e[i]=t.apply(null,arguments)),e[i]}}function s(t,e){e||(e=d.getStyle(t));for(var i,r=d.quotedList(e.get(\"fontFamily\").toLowerCase()),n=0,o=r.length;n<o;++n)if(i=r[n],y[i])return y[i].get(e.get(\"fontStyle\"),e.get(\"fontWeight\"));return null}function a(t){return fabric.document.getElementsByTagName(t)}function h(){for(var t,e={},i=0,r=arguments.length;i<r;++i)for(t in arguments[i])e[t]=arguments[i][t];return e}function c(t,e,i,r,n,o){var s=r.separate;if(\"none\"==s)return b[r.engine].apply(null,arguments);var a,h=fabric.document.createDocumentFragment(),c=e.split(w[s]),l=\"words\"==s;l&&p&&(/^\\s/.test(e)&&c.unshift(\"\"),/\\s$/.test(e)&&c.push(\"\"));for(var u=0,f=c.length;u<f;++u)(a=b[r.engine](t,l?d.textAlign(c[u],i,u,f):c[u],i,r,n,o,u<f-1))&&h.appendChild(a);return h}function l(t,e){for(var i,r,o,a,h=n(t,e).firstChild;h;h=o){if(o=h.nextSibling,a=!1,1==h.nodeType){if(!h.firstChild)continue;if(!/cufon/.test(h.className)){arguments.callee(h,e);continue}a=!0}if(r||(r=d.getStyle(t).extend(e)),i||(i=s(t,r)),i)if(a)b[e.engine](i,null,r,e,h,t);else{var l=h.data;if(\"undefined\"!=typeof G_vmlCanvasManager&&(l=l.replace(/\\r/g,\"\\n\")),\"\"!==l){var u=c(i,l,r,e,h,t);u?h.parentNode.replaceChild(u,h):h.parentNode.removeChild(h)}}}}var u=function(){return u.replace.apply(null,arguments)},f=u.DOM={ready:function(){var t=!1,e={loaded:1,complete:1},i=[],n=function(){if(!t){t=!0;for(var e;e=i.shift();e());}};return fabric.document.addEventListener&&(fabric.document.addEventListener(\"DOMContentLoaded\",n,!1),fabric.window.addEventListener(\"pageshow\",n,!1)),!fabric.window.opera&&fabric.document.readyState&&function(){e[fabric.document.readyState]?n():setTimeout(arguments.callee,10)}(),fabric.document.readyState&&fabric.document.createStyleSheet&&function(){try{fabric.document.body.doScroll(\"left\"),n()}catch(t){setTimeout(arguments.callee,1)}}(),r(fabric.window,\"load\",n),function(e){arguments.length?t?e():i.push(e):n()}}()},d=u.CSS={Size:function(t,e){this.value=parseFloat(t),this.unit=String(t).match(/[a-z%]*$/)[0]||\"px\",this.convert=function(t){return t/e*this.value},this.convertFrom=function(t){return t/this.value*e},this.toString=function(){return this.value+this.unit}},getStyle:function(t){return new i(t.style)},quotedList:o(function(t){for(var e,i=[],r=/\\s*(([\"'])([\\s\\S]*?[^\\\\])\\2|[^,]+)\\s*/g;e=r.exec(t);)i.push(e[3]||e[1]);return i}),ready:function(){var t=!1,e=[],i=function(){t=!0;for(var i;i=e.shift();i());},r=Object.prototype.propertyIsEnumerable?a(\"style\"):{length:0},n=a(\"link\");return f.ready(function(){for(var t,e=0,o=0,s=n.length;t=n[o],o<s;++o)t.disabled||\"stylesheet\"!=t.rel.toLowerCase()||++e;fabric.document.styleSheets.length>=r.length+e?i():setTimeout(arguments.callee,10)}),function(i){t?i():e.push(i)}}(),supports:function(t,e){var i=fabric.document.createElement(\"span\").style;return i[t]!==undefined&&(i[t]=e,i[t]===e)},textAlign:function(t,e,i,r){return\"right\"==e.get(\"textAlign\")?i>0&&(t=\" \"+t):i<r-1&&(t+=\" \"),t},textDecoration:function(t,e){e||(e=this.getStyle(t));for(var i={underline:null,overline:null,\"line-through\":null},r=t;r.parentNode&&1==r.parentNode.nodeType;){var n=!0;for(var o in i)i[o]||(-1!=e.get(\"textDecoration\").indexOf(o)&&(i[o]=e.get(\"color\")),n=!1);if(n)break;e=this.getStyle(r=r.parentNode)}return i},textShadow:o(function(t){if(\"none\"==t)return null;for(var e,i=[],r={},n=0,o=/(#[a-f0-9]+|[a-z]+\\(.*?\\)|[a-z]+)|(-?[\\d.]+[a-z%]*)|,/gi;e=o.exec(t);)\",\"==e[0]?(i.push(r),r={},n=0):e[1]?r.color=e[1]:r[[\"offX\",\"offY\",\"blur\"][n++]]=e[2];return i.push(r),i}),color:o(function(t){var e={};return e.color=t.replace(/^rgba\\((.*?),\\s*([\\d.]+)\\)/,function(t,i,r){return e.opacity=parseFloat(r),\"rgb(\"+i+\")\"}),e}),textTransform:function(t,e){return t[{uppercase:\"toUpperCase\",lowercase:\"toLowerCase\"}[e.get(\"textTransform\")]||\"toString\"]()}},p=0==\" \".split(/\\s+/).length,g=new function(){function t(t){return t.cufid||(t.cufid=++i)}var e={},i=0;this.get=function(i){var r=t(i);return e[r]||(e[r]={})}},m=new function(){function t(t,e){return t.contains?t.contains(e):16&t.compareDocumentPosition(e)}function e(e){var i=e.relatedTarget;i&&!t(this,i)&&n(this)}function i(t){n(this)}function n(t){setTimeout(function(){u.replace(t,g.get(t).options,!0)},10)}this.attach=function(t){t.onmouseenter===undefined?(r(t,\"mouseover\",e),r(t,\"mouseout\",e)):(r(t,\"mouseenter\",i),r(t,\"mouseleave\",i))}},v=[],b={},y={},x={engine:null,hover:!1,hoverables:{a:!0},printable:!0,selector:fabric.window.Sizzle||fabric.window.jQuery&&function(t){return jQuery(t)}||fabric.window.dojo&&dojo.query||fabric.window.$$&&function(t){return $$(t)}||fabric.window.$&&function(t){return $(t)}||fabric.document.querySelectorAll&&function(t){return fabric.document.querySelectorAll(t)}||a,separate:\"words\",textShadow:\"none\"},w={words:/\\s+/,characters:\"\"};return u.now=function(){return f.ready(),u},u.refresh=function(){for(var t=v.splice(0,v.length),e=0,i=t.length;e<i;++e)u.replace.apply(null,t[e]);return u},u.registerEngine=function(t,e){return e?(b[t]=e,u.set(\"engine\",t)):u},u.registerFont=function(i){var r=new t(i),n=r.family;return y[n]||(y[n]=new e),y[n].add(r),u.set(\"fontFamily\",'\"'+n+'\"')},u.replace=function(t,e,i){return(e=h(x,e)).engine?(\"string\"==typeof e.textShadow&&e.textShadow&&(e.textShadow=d.textShadow(e.textShadow)),i||v.push(arguments),(t.nodeType||\"string\"==typeof t)&&(t=[t]),d.ready(function(){for(var i=0,r=t.length;i<r;++i){var n=t[i];\"string\"==typeof n?u.replace(e.selector(n),e,!0):l(n,e)}}),u):u},u.replaceElement=function(t,e){return\"string\"==typeof(e=h(x,e)).textShadow&&e.textShadow&&(e.textShadow=d.textShadow(e.textShadow)),l(t,e)},u.engines=b,u.fonts=y,u.getOptions=function(){return h(x)},u.set=function(t,e){return x[t]=e,u},u}();Cufon.registerEngine(\"canvas\",function(){function t(t,e){var i,r=0,n=0,o=[],s=/([mrvxe])([^a-z]*)/g;t:for(var a=0;i=s.exec(t);++a){var h=i[2].split(\",\");switch(i[1]){case\"v\":o[a]={m:\"bezierCurveTo\",a:[r+~~h[0],n+~~h[1],r+~~h[2],n+~~h[3],r+=~~h[4],n+=~~h[5]]};break;case\"r\":o[a]={m:\"lineTo\",a:[r+=~~h[0],n+=~~h[1]]};break;case\"m\":o[a]={m:\"moveTo\",a:[r=~~h[0],n=~~h[1]]};break;case\"x\":o[a]={m:\"closePath\",a:[]};break;case\"e\":break t}e[o[a].m].apply(e,o[a].a)}return o}function e(t,e){for(var i=0,r=t.length;i<r;++i){var n=t[i];e[n.m].apply(e,n.a)}}var i=Cufon.CSS.supports(\"display\",\"inline-block\"),r=!i&&(\"BackCompat\"==fabric.document.compatMode||/frameset|transitional/i.test(fabric.document.doctype.publicId)),n=fabric.document.createElement(\"style\");n.type=\"text/css\";var o=fabric.document.createTextNode(\".cufon-canvas{text-indent:0}@media screen,projection{.cufon-canvas{display:inline;display:inline-block;position:relative;vertical-align:middle\"+(r?\"\":\";font-size:1px;line-height:1px\")+\"}.cufon-canvas .cufon-alt{display:-moz-inline-box;display:inline-block;width:0;height:0;overflow:hidden}\"+(i?\".cufon-canvas canvas{position:relative}\":\".cufon-canvas canvas{position:absolute}\")+\"}@media print{.cufon-canvas{padding:0 !important}.cufon-canvas canvas{display:none}.cufon-canvas .cufon-alt{display:inline}}\");try{n.appendChild(o)}catch(t){n.setAttribute(\"type\",\"text/css\"),n.styleSheet.cssText=o.data}return fabric.document.getElementsByTagName(\"head\")[0].appendChild(n),function(r,n,o,s,a,h){function c(i){W.fillStyle=i||Cufon.textOptions.color||o.get(\"color\");var n=0,a=0;\"right\"===s.textAlign?W.translate(I[a],0):\"center\"===s.textAlign&&W.translate(I[a]/2,0);for(var h=0,c=_.length;h<c;++h)if(\"\\n\"!==_[h]){var l=r.glyphs[_[h]]||r.missingGlyph;if(l){var u=Number(l.w||r.w)+d;U&&(W.save(),W.strokeStyle=W.fillStyle,W.lineWidth+=W.lineWidth,W.beginPath(),U.underline&&(W.moveTo(0,.5-r.face[\"underline-position\"]),W.lineTo(u,.5-r.face[\"underline-position\"])),U.overline&&(W.moveTo(0,r.ascent+.5),W.lineTo(u,r.ascent+.5)),U[\"line-through\"]&&(W.moveTo(0,.5-r.descent),W.lineTo(u,.5-r.descent)),W.stroke(),W.restore()),q&&(W.save(),W.transform(1,0,-.25,1,0,0)),W.beginPath(),l.d&&(l.code?e(l.code,W):l.code=t(\"m\"+l.d,W)),W.fill(),s.strokeStyle&&(W.closePath(),W.save(),W.lineWidth=s.strokeWidth,W.strokeStyle=s.strokeStyle,W.stroke(),W.restore()),q&&W.restore(),W.translate(u,0),n+=u}}else{a++;var f=-r.ascent-r.ascent/5*s.lineHeight;\"right\"===s.textAlign?(W.translate(-T,f),W.translate(I[a],0)):\"center\"===s.textAlign?(W.translate(-n-I[a-1]/2,f),W.translate(I[a]/2,0)):W.translate(-n,f),n=0}}var l=null===n,u=r.viewBox,f=o.getSize(\"fontSize\",r.baseSize),d=o.get(\"letterSpacing\");d=\"normal\"==d?0:f.convertFrom(parseInt(d,10));var p=0,g=0,m=0,v=s.textShadow,b=[];if(Cufon.textOptions.shadowOffsets=[],Cufon.textOptions.shadows=null,v){Cufon.textOptions.shadows=v;for(var y=0,x=v.length;y<x;++y){var w=v[y],S=f.convertFrom(parseFloat(w.offX)),C=f.convertFrom(parseFloat(w.offY));b[y]=[S,C]}}for(var _=Cufon.CSS.textTransform(l?a.alt:n,o).split(\"\"),T=0,O=null,k=0,E=1,A=[],y=0,x=_.length;y<x;++y)if(\"\\n\"!==_[y]){var j=r.glyphs[_[y]]||r.missingGlyph;j&&(T+=O=Number(j.w||r.w)+d)}else E++,T>k&&(k=T),A.push(T),T=0;A.push(T),T=Math.max(k,T);for(var I=[],y=A.length;y--;)I[y]=T-A[y];if(null===O)return null;g+=u.width-O,m+=u.minX;var P,M;if(l)P=a,M=a.firstChild;else if(P=fabric.document.createElement(\"span\"),P.className=\"cufon cufon-canvas\",P.alt=n,M=fabric.document.createElement(\"canvas\"),P.appendChild(M),s.printable){var D=fabric.document.createElement(\"span\");D.className=\"cufon-alt\",D.appendChild(fabric.document.createTextNode(n)),P.appendChild(D)}var L=P.style,R=M.style||{},B=f.convert(u.height-p+0),F=Math.ceil(B),N=F/B;M.width=Math.ceil(f.convert(T+g-m)*N),M.height=F,p+=u.minY,R.top=Math.round(f.convert(p-r.ascent))+\"px\",R.left=Math.round(f.convert(m))+\"px\";var G=Math.ceil(f.convert(T*N)),X=G+\"px\",z=f.convert(r.height),V=(s.lineHeight-1)*f.convert(-r.ascent/5)*(E-1);Cufon.textOptions.width=G,Cufon.textOptions.height=z*E+V,Cufon.textOptions.lines=E,Cufon.textOptions.totalLineHeight=V,i?(L.width=X,L.height=z+\"px\"):(L.paddingLeft=X,L.paddingBottom=z-1+\"px\");var W=Cufon.textOptions.context||M.getContext(\"2d\"),Y=F/u.height;Cufon.textOptions.fontAscent=r.ascent*Y,Cufon.textOptions.boundaries=null;for(var H=Cufon.textOptions.shadowOffsets,y=b.length;y--;)H[y]=[b[y][0]*Y,b[y][1]*Y];W.save(),W.scale(Y,Y),W.translate(-m-1/Y*M.width/2+(Cufon.fonts[r.family].offsetLeft||0),-p-Cufon.textOptions.height/Y/2+(Cufon.fonts[r.family].offsetTop||0)),W.lineWidth=r.face[\"underline-thickness\"],W.save();var U=Cufon.getTextDecoration(s),q=\"italic\"===s.fontStyle;if(W.save(),function(){W.save();var t=0,e=0,i=[{left:0}];s.backgroundColor&&(W.save(),W.fillStyle=s.backgroundColor,W.translate(0,r.ascent),W.fillRect(0,0,T+10,(-r.ascent+r.descent)*E),W.restore()),\"right\"===s.textAlign?(W.translate(I[e],0),i[0].left=I[e]*Y):\"center\"===s.textAlign&&(W.translate(I[e]/2,0),i[0].left=I[e]/2*Y);for(var n=0,o=_.length;n<o;++n)if(\"\\n\"!==_[n]){var a=r.glyphs[_[n]]||r.missingGlyph;if(a){var h=Number(a.w||r.w)+d;s.textBackgroundColor&&(W.save(),W.fillStyle=s.textBackgroundColor,W.translate(0,r.ascent),W.fillRect(0,0,h+10,-r.ascent+r.descent),W.restore()),W.translate(h,0),t+=h,n==o-1&&(i[i.length-1].width=t*Y,i[i.length-1].height=(-r.ascent+r.descent)*Y)}}else{e++;var c=-r.ascent-r.ascent/5*s.lineHeight,l=i[i.length-1],u={left:0};l.width=t*Y,l.height=(-r.ascent+r.descent)*Y,\"right\"===s.textAlign?(W.translate(-T,c),W.translate(I[e],0),u.left=I[e]*Y):\"center\"===s.textAlign?(W.translate(-t-I[e-1]/2,c),W.translate(I[e]/2,0),u.left=I[e]/2*Y):W.translate(-t,c),i.push(u),t=0}W.restore(),Cufon.textOptions.boundaries=i}(),v)for(var y=0,x=v.length;y<x;++y){w=v[y];W.save(),W.translate.apply(W,b[y]),c(w.color),W.restore()}return c(),W.restore(),W.restore(),W.restore(),P}}()),Cufon.registerEngine(\"vml\",function(){function t(t,i){return e(t,/(?:em|ex|%)$/i.test(i)?\"1em\":i)}function e(t,e){if(/px$/i.test(e))return parseFloat(e);var i=t.style.left,r=t.runtimeStyle.left;t.runtimeStyle.left=t.currentStyle.left,t.style.left=e;var n=t.style.pixelLeft;return t.style.left=i,t.runtimeStyle.left=r,n}if(fabric.document.namespaces){var i=fabric.document.createElement(\"canvas\");if(!(i&&i.getContext&&i.getContext.apply)){null==fabric.document.namespaces.cvml&&fabric.document.namespaces.add(\"cvml\",\"urn:schemas-microsoft-com:vml\");var r=fabric.document.createElement(\"cvml:shape\");if(r.style.behavior=\"url(#default#VML)\",r.coordsize)return r=null,fabric.document.write('<style type=\"text/css\">.cufon-vml-canvas{text-indent:0}@media screen{cvml\\\\:shape,cvml\\\\:shadow{behavior:url(#default#VML);display:block;antialias:true;position:absolute}.cufon-vml-canvas{position:absolute;text-align:left}.cufon-vml{display:inline-block;position:relative;vertical-align:middle}.cufon-vml .cufon-alt{position:absolute;left:-10000in;font-size:1px}a .cufon-vml{cursor:pointer}}@media print{.cufon-vml *{display:none}.cufon-vml .cufon-alt{display:inline}}</style>'),function(i,r,n,o,s,a,h){var c=null===r;c&&(r=s.alt);var l=i.viewBox,u=n.computedFontSize||(n.computedFontSize=new Cufon.CSS.Size(t(a,n.get(\"fontSize\"))+\"px\",i.baseSize)),f=n.computedLSpacing;f==undefined&&(f=n.get(\"letterSpacing\"),n.computedLSpacing=f=\"normal\"==f?0:~~u.convertFrom(e(a,f)));var d,p;if(c)d=s,p=s.firstChild;else{if(d=fabric.document.createElement(\"span\"),d.className=\"cufon cufon-vml\",d.alt=r,p=fabric.document.createElement(\"span\"),p.className=\"cufon-vml-canvas\",d.appendChild(p),o.printable){var g=fabric.document.createElement(\"span\");g.className=\"cufon-alt\",g.appendChild(fabric.document.createTextNode(r)),d.appendChild(g)}h||d.appendChild(fabric.document.createElement(\"cvml:shape\"))}var m=d.style,v=p.style,b=u.convert(l.height),y=Math.ceil(b),x=y/b,w=l.minX,S=l.minY;v.height=y,v.top=Math.round(u.convert(S-i.ascent)),v.left=Math.round(u.convert(w)),m.height=u.convert(i.height)+\"px\";Cufon.getTextDecoration(o);for(var C,_,T=n.get(\"color\"),O=Cufon.CSS.textTransform(r,n).split(\"\"),k=0,E=0,A=null,j=o.textShadow,I=0,P=0,M=O.length;I<M;++I)(C=i.glyphs[O[I]]||i.missingGlyph)&&(k+=A=~~(C.w||i.w)+f);if(null===A)return null;var D,L=-w+k+(l.width-A),R=u.convert(L*x),B=Math.round(R),F=L+\",\"+l.height,N=\"r\"+F+\"nsnf\";for(I=0;I<M;++I)if(C=i.glyphs[O[I]]||i.missingGlyph){c?(_=p.childNodes[P]).firstChild&&_.removeChild(_.firstChild):(_=fabric.document.createElement(\"cvml:shape\"),p.appendChild(_)),_.stroked=\"f\",_.coordsize=F,_.coordorigin=D=w-E+\",\"+S,_.path=(C.d?\"m\"+C.d+\"xe\":\"\")+\"m\"+D+N,_.fillcolor=T;var G=_.style;if(G.width=B,G.height=y,j){var X,z=j[0],V=j[1],W=Cufon.CSS.color(z.color),Y=fabric.document.createElement(\"cvml:shadow\");Y.on=\"t\",Y.color=W.color,Y.offset=z.offX+\",\"+z.offY,V&&(X=Cufon.CSS.color(V.color),Y.type=\"double\",Y.color2=X.color,Y.offset2=V.offX+\",\"+V.offY),Y.opacity=W.opacity||X&&X.opacity||1,_.appendChild(Y)}E+=~~(C.w||i.w)+f,++P}return m.width=Math.max(Math.ceil(u.convert(k*x)),0),d}}}}()),Cufon.getTextDecoration=function(t){return{underline:\"underline\"===t.textDecoration,overline:\"overline\"===t.textDecoration,\"line-through\":\"line-through\"===t.textDecoration}},void 0!==exports&&(exports.Cufon=Cufon),\"object\"!=typeof JSON&&(JSON={}),function(){\"use strict\";function f(t){return t<10?\"0\"+t:t}function quote(t){return escapable.lastIndex=0,escapable.test(t)?'\"'+t.replace(escapable,function(t){var e=meta[t];return\"string\"==typeof e?e:\"\\\\u\"+(\"0000\"+t.charCodeAt(0).toString(16)).slice(-4)})+'\"':'\"'+t+'\"'}function str(t,e){var i,r,n,o,s,a=gap,h=e[t];switch(h&&\"object\"==typeof h&&\"function\"==typeof h.toJSON&&(h=h.toJSON(t)),\"function\"==typeof rep&&(h=rep.call(e,t,h)),typeof h){case\"string\":return quote(h);case\"number\":return isFinite(h)?String(h):\"null\";case\"boolean\":case\"null\":return String(h);case\"object\":if(!h)return\"null\";if(gap+=indent,s=[],\"[object Array]\"===Object.prototype.toString.apply(h)){for(o=h.length,i=0;i<o;i+=1)s[i]=str(i,h)||\"null\";return n=0===s.length?\"[]\":gap?\"[\\n\"+gap+s.join(\",\\n\"+gap)+\"\\n\"+a+\"]\":\"[\"+s.join(\",\")+\"]\",gap=a,n}if(rep&&\"object\"==typeof rep)for(o=rep.length,i=0;i<o;i+=1)\"string\"==typeof rep[i]&&(n=str(r=rep[i],h))&&s.push(quote(r)+(gap?\": \":\":\")+n);else for(r in h)Object.prototype.hasOwnProperty.call(h,r)&&(n=str(r,h))&&s.push(quote(r)+(gap?\": \":\":\")+n);return n=0===s.length?\"{}\":gap?\"{\\n\"+gap+s.join(\",\\n\"+gap)+\"\\n\"+a+\"}\":\"{\"+s.join(\",\")+\"}\",gap=a,n}}\"function\"!=typeof Date.prototype.toJSON&&(Date.prototype.toJSON=function(){return isFinite(this.valueOf())?this.getUTCFullYear()+\"-\"+f(this.getUTCMonth()+1)+\"-\"+f(this.getUTCDate())+\"T\"+f(this.getUTCHours())+\":\"+f(this.getUTCMinutes())+\":\"+f(this.getUTCSeconds())+\"Z\":null},String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(){return this.valueOf()});var cx,escapable,gap,indent,meta,rep;\"function\"!=typeof JSON.stringify&&(escapable=/[\\\\\\\"\\x00-\\x1f\\x7f-\\x9f\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g,meta={\"\\b\":\"\\\\b\",\"\\t\":\"\\\\t\",\"\\n\":\"\\\\n\",\"\\f\":\"\\\\f\",\"\\r\":\"\\\\r\",'\"':'\\\\\"',\"\\\\\":\"\\\\\\\\\"},JSON.stringify=function(t,e,i){var r;if(gap=\"\",indent=\"\",\"number\"==typeof i)for(r=0;r<i;r+=1)indent+=\" \";else\"string\"==typeof i&&(indent=i);if(rep=e,e&&\"function\"!=typeof e&&(\"object\"!=typeof e||\"number\"!=typeof e.length))throw new Error(\"JSON.stringify\");return str(\"\",{\"\":t})}),\"function\"!=typeof JSON.parse&&(cx=/[\\u0000\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g,JSON.parse=function(text,reviver){function walk(t,e){var i,r,n=t[e];if(n&&\"object\"==typeof n)for(i in n)Object.prototype.hasOwnProperty.call(n,i)&&((r=walk(n,i))!==undefined?n[i]=r:delete n[i]);return reviver.call(t,e,n)}var j;if(text=String(text),cx.lastIndex=0,cx.test(text)&&(text=text.replace(cx,function(t){return\"\\\\u\"+(\"0000\"+t.charCodeAt(0).toString(16)).slice(-4)})),/^[\\],:{}\\s]*$/.test(text.replace(/\\\\(?:[\"\\\\\\/bfnrt]|u[0-9a-fA-F]{4})/g,\"@\").replace(/\"[^\"\\\\\\n\\r]*\"|true|false|null|-?\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?/g,\"]\").replace(/(?:^|:|,)(?:\\s*\\[)+/g,\"\")))return j=eval(\"(\"+text+\")\"),\"function\"==typeof reviver?walk({\"\":j},\"\"):j;throw new SyntaxError(\"JSON.parse\")})}(),function(){function t(t,e){this.__eventListeners[t]&&(e?fabric.util.removeFromArray(this.__eventListeners[t],e):this.__eventListeners[t].length=0)}function e(t,e){if(this.__eventListeners||(this.__eventListeners={}),1===arguments.length)for(var i in t)this.on(i,t[i]);else this.__eventListeners[t]||(this.__eventListeners[t]=[]),this.__eventListeners[t].push(e);return this}function i(e,i){if(this.__eventListeners){if(0===arguments.length)this.__eventListeners={};else if(1===arguments.length&&\"object\"==typeof arguments[0])for(var r in e)t.call(this,r,e[r]);else t.call(this,e,i);return this}}function r(t,e){if(this.__eventListeners){var i=this.__eventListeners[t];if(i){for(var r=0,n=i.length;r<n;r++)i[r].call(this,e||{});return this}}}fabric.Observable={observe:e,stopObserving:i,fire:r,on:e,off:i,trigger:r}}(),fabric.Collection={add:function(){this._objects.push.apply(this._objects,arguments);for(var t=0,e=arguments.length;t<e;t++)this._onObjectAdded(arguments[t]);return this.renderOnAddRemove&&this.renderAll(),this},insertAt:function(t,e,i){var r=this.getObjects();return i?r[e]=t:r.splice(e,0,t),this._onObjectAdded(t),this.renderOnAddRemove&&this.renderAll(),this},remove:function(){for(var t,e=this.getObjects(),i=0,r=arguments.length;i<r;i++)-1!==(t=e.indexOf(arguments[i]))&&(e.splice(t,1),this._onObjectRemoved(arguments[i]));return this.renderOnAddRemove&&this.renderAll(),this},forEachObject:function(t,e){for(var i=this.getObjects(),r=i.length;r--;)t.call(e,i[r],r,i);return this},getObjects:function(t){return void 0===t?this._objects:this._objects.filter(function(e){return e.type===t})},item:function(t){return this.getObjects()[t]},isEmpty:function(){return 0===this.getObjects().length},size:function(){return this.getObjects().length},contains:function(t){return this.getObjects().indexOf(t)>-1},complexity:function(){return this.getObjects().reduce(function(t,e){return t+=e.complexity?e.complexity():0},0)}},function(t){var e=Math.sqrt,i=Math.atan2,r=Math.PI/180;fabric.util={removeFromArray:function(t,e){var i=t.indexOf(e);return-1!==i&&t.splice(i,1),t},getRandomInt:function(t,e){return Math.floor(Math.random()*(e-t+1))+t},degreesToRadians:function(t){return t*r},radiansToDegrees:function(t){return t/r},rotatePoint:function(t,e,i){var r=Math.sin(i),n=Math.cos(i);t.subtractEquals(e);var o=t.x*n-t.y*r,s=t.x*r+t.y*n;return new fabric.Point(o,s).addEquals(e)},transformPoint:function(t,e,i){return i?new fabric.Point(e[0]*t.x+e[1]*t.y,e[2]*t.x+e[3]*t.y):new fabric.Point(e[0]*t.x+e[1]*t.y+e[4],e[2]*t.x+e[3]*t.y+e[5])},invertTransform:function(t){var e=t.slice(),i=1/(t[0]*t[3]-t[1]*t[2]);e=[i*t[3],-i*t[1],-i*t[2],i*t[0],0,0];var r=fabric.util.transformPoint({x:t[4],y:t[5]},e);return e[4]=-r.x,e[5]=-r.y,e},toFixed:function(t,e){return parseFloat(Number(t).toFixed(e))},parseUnit:function(t){var e=/\\D{0,2}$/.exec(t),i=parseFloat(t);switch(e[0]){case\"mm\":return i*fabric.DPI/25.4;case\"cm\":return i*fabric.DPI/2.54;case\"in\":return i*fabric.DPI;case\"pt\":return i*fabric.DPI/72;case\"pc\":return i*fabric.DPI/72*12;default:return i}},falseFunction:function(){return!1},getKlass:function(t,e){return t=fabric.util.string.camelize(t.charAt(0).toUpperCase()+t.slice(1)),fabric.util.resolveNamespace(e)[t]},resolveNamespace:function(e){if(!e)return fabric;for(var i=e.split(\".\"),r=i.length,n=t||fabric.window,o=0;o<r;++o)n=n[i[o]];return n},loadImage:function(t,e,i,r){if(t){var n=fabric.util.createImage();n.onload=function(){e&&e.call(i,n),n=n.onload=n.onerror=null},n.onerror=function(){fabric.log(\"Error loading \"+n.src),e&&e.call(i,null,!0),n=n.onload=n.onerror=null},0!==t.indexOf(\"data\")&&void 0!==r&&(n.crossOrigin=r),n.src=t}else e&&e.call(i,t)},enlivenObjects:function(t,e,i,r){function n(){++s===a&&e&&e(o)}var o=[],s=0,a=(t=t||[]).length;a?t.forEach(function(t,e){if(t&&t.type){var s=fabric.util.getKlass(t.type,i);s.async?s.fromObject(t,function(i,s){s||(o[e]=i,r&&r(t,o[e])),n()}):(o[e]=s.fromObject(t),r&&r(t,o[e]),n())}else n()}):e&&e(o)},groupSVGElements:function(t,e,i){var r;return r=new fabric.PathGroup(t,e),void 0!==i&&r.setSourcePath(i),r},populateWithProperties:function(t,e,i){if(i&&\"[object Array]\"===Object.prototype.toString.call(i))for(var r=0,n=i.length;r<n;r++)i[r]in t&&(e[i[r]]=t[i[r]])},drawDashedLine:function(t,r,n,o,s,a){var h=o-r,c=s-n,l=e(h*h+c*c),u=i(c,h),f=a.length,d=0,p=!0;for(t.save(),t.translate(r,n),t.moveTo(0,0),t.rotate(u),r=0;l>r;)(r+=a[d++%f])>l&&(r=l),t[p?\"lineTo\":\"moveTo\"](r,0),p=!p;t.restore()},createCanvasElement:function(t){return t||(t=fabric.document.createElement(\"canvas\")),t.getContext||\"undefined\"==typeof G_vmlCanvasManager||G_vmlCanvasManager.initElement(t),t},createImage:function(){return fabric.isLikelyNode?new(require(\"canvas\").Image):fabric.document.createElement(\"img\")},createAccessors:function(t){for(var e=t.prototype,i=e.stateProperties.length;i--;){var r=e.stateProperties[i],n=r.charAt(0).toUpperCase()+r.slice(1),o=\"set\"+n,s=\"get\"+n;e[s]||(e[s]=function(t){return new Function('return this.get(\"'+t+'\")')}(r)),e[o]||(e[o]=function(t){return new Function(\"value\",'return this.set(\"'+t+'\", value)')}(r))}},clipContext:function(t,e){e.save(),e.beginPath(),t.clipTo(e),e.clip()},multiplyTransformMatrices:function(t,e){for(var i=[[t[0],t[2],t[4]],[t[1],t[3],t[5]],[0,0,1]],r=[[e[0],e[2],e[4]],[e[1],e[3],e[5]],[0,0,1]],n=[],o=0;o<3;o++){n[o]=[];for(var s=0;s<3;s++){for(var a=0,h=0;h<3;h++)a+=i[o][h]*r[h][s];n[o][s]=a}}return[n[0][0],n[1][0],n[0][1],n[1][1],n[0][2],n[1][2]]},getFunctionBody:function(t){return(String(t).match(/function[^{]*\\{([\\s\\S]*)\\}/)||{})[1]},isTransparent:function(t,e,i,r){r>0&&(e>r?e-=r:e=0,i>r?i-=r:i=0);for(var n=!0,o=t.getImageData(e,i,2*r||1,2*r||1),s=3,a=o.data.length;s<a&&!1!=(n=o.data[s]<=0);s+=4);return o=null,n}}}(void 0!==exports?exports:this),function(){function t(t,n,s,a,h,c,l){var u=o.call(arguments);if(r[u])return r[u];var f=Math.PI,d=l*(f/180),p=Math.sin(d),g=Math.cos(d),m=0,v=0,b=-g*t-p*n,y=-g*n+p*t,x=(s=Math.abs(s))*s,w=(a=Math.abs(a))*a,S=y*y,C=b*b,_=4*x*w-x*S-w*C,T=0;if(_<0){var O=Math.sqrt(1-.25*_/(x*w));s*=O,a*=O}else T=(h===c?-.5:.5)*Math.sqrt(_/(x*S+w*C));var k=T*s*y/a,E=-T*a*b/s,A=g*k-p*E+t/2,j=p*k+g*E+n/2,I=i(1,0,(b-k)/s,(y-E)/a),P=i((b-k)/s,(y-E)/a,(-b-k)/s,(-y-E)/a);0===c&&P>0?P-=2*f:1===c&&P<0&&(P+=2*f);for(var M=Math.ceil(Math.abs(P/(.5*f))),D=[],L=P/M,R=8/3*Math.sin(L/4)*Math.sin(L/4)/Math.sin(L/2),B=I+L,F=0;F<M;F++)D[F]=e(I,B,g,p,s,a,A,j,R,m,v),m=D[F][4],v=D[F][5],I+=L,B+=L;return r[u]=D,D}function e(t,e,i,r,s,a,h,c,l,u,f){var d=o.call(arguments);if(n[d])return n[d];var p=Math.cos(t),g=Math.sin(t),m=Math.cos(e),v=Math.sin(e),b=i*s*m-r*a*v+h,y=r*s*m+i*a*v+c,x=u+l*(-i*s*g-r*a*p),w=f+l*(-r*s*g+i*a*p),S=b+l*(i*s*v+r*a*m),C=y+l*(r*s*v-i*a*m);return n[d]=[x,w,S,C,b,y],n[d]}function i(t,e,i,r){var n=Math.atan2(e,t),o=Math.atan2(r,i);return o>=n?o-n:2*Math.PI-(n-o)}var r={},n={},o=Array.prototype.join;fabric.util.drawArc=function(e,i,r,n){for(var o=n[0],s=n[1],a=n[2],h=n[3],c=n[4],l=[[],[],[],[]],u=t(n[5]-i,n[6]-r,o,s,h,c,a),f=0,d=u.length;f<d;f++)l[f][0]=u[f][0]+i,l[f][1]=u[f][1]+r,l[f][2]=u[f][2]+i,l[f][3]=u[f][3]+r,l[f][4]=u[f][4]+i,l[f][5]=u[f][5]+r,e.bezierCurveTo.apply(e,l[f])}}(),function(){function t(t,e,i){if(t&&0!==t.length){var r=t.length-1,n=e?t[r][e]:t[r];if(e)for(;r--;)i(t[r][e],n)&&(n=t[r][e]);else for(;r--;)i(t[r],n)&&(n=t[r]);return n}}var e=Array.prototype.slice;fabric.util.array={invoke:function(t,i){for(var r=e.call(arguments,2),n=[],o=0,s=t.length;o<s;o++)n[o]=r.length?t[o][i].apply(t[o],r):t[o][i].call(t[o]);return n},min:function(e,i){return t(e,i,function(t,e){return t<e})},max:function(e,i){return t(e,i,function(t,e){return t>=e})}}}(),function(){function t(t,e){for(var i in e)t[i]=e[i];return t}fabric.util.object={extend:t,clone:function(e){return t({},e)}}}(),function(){fabric.util.string={camelize:function(t){return t.replace(/-+(.)?/g,function(t,e){return e?e.toUpperCase():\"\"})},capitalize:function(t,e){return t.charAt(0).toUpperCase()+(e?t.slice(1):t.slice(1).toLowerCase())},escapeXml:function(t){return t.replace(/&/g,\"&amp;\").replace(/\"/g,\"&quot;\").replace(/'/g,\"&apos;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\")}}}(),function(){function t(){}function e(t){var e=this.constructor.superclass.prototype[t];return arguments.length>1?e.apply(this,i.call(arguments,1)):e.call(this)}var i=Array.prototype.slice,r=function(){},n=function(){for(var t in{toString:1})if(\"toString\"===t)return!1;return!0}(),o=function(t,e,i){for(var r in e)r in t.prototype&&\"function\"==typeof t.prototype[r]&&(e[r]+\"\").indexOf(\"callSuper\")>-1?t.prototype[r]=function(t){return function(){var r=this.constructor.superclass;this.constructor.superclass=i;var n=e[t].apply(this,arguments);if(this.constructor.superclass=r,\"initialize\"!==t)return n}}(r):t.prototype[r]=e[r],n&&(e.toString!==Object.prototype.toString&&(t.prototype.toString=e.toString),e.valueOf!==Object.prototype.valueOf&&(t.prototype.valueOf=e.valueOf))};fabric.util.createClass=function(){function n(){this.initialize.apply(this,arguments)}var s=null,a=i.call(arguments,0);\"function\"==typeof a[0]&&(s=a.shift()),n.superclass=s,n.subclasses=[],s&&(t.prototype=s.prototype,n.prototype=new t,s.subclasses.push(n));for(var h=0,c=a.length;h<c;h++)o(n,a[h],s);return n.prototype.initialize||(n.prototype.initialize=r),n.prototype.constructor=n,n.prototype.callSuper=e,n}}(),function(){function t(t){var e,i,r=Array.prototype.slice.call(arguments,1),n=r.length;for(i=0;i<n;i++)if(e=typeof t[r[i]],!/^(?:function|object|unknown)$/.test(e))return!1;return!0}function e(t,e){return{handler:e,wrappedHandler:i(t,e)}}function i(t,e){return function(i){e.call(o(t),i||fabric.window.event)}}function r(t,e){return function(i){if(p[t]&&p[t][e])for(var r=p[t][e],n=0,o=r.length;n<o;n++)r[n].call(this,i||fabric.window.event)}}function n(t,e,i){var r=\"touchend\"===t.type?\"changedTouches\":\"touches\";return t[r]&&t[r][0]?t[r][0][e]-(t[r][0][e]-t[r][0][i])||t[i]:t[i]}var o,s,a=\"unknown\",h=function(){var t=0;return function(e){return e.__uniqueID||(e.__uniqueID=\"uniqueID__\"+t++)}}();!function(){var t={};o=function(e){return t[e]},s=function(e,i){t[e]=i}}();var c,l,u=t(fabric.document.documentElement,\"addEventListener\",\"removeEventListener\")&&t(fabric.window,\"addEventListener\",\"removeEventListener\"),f=t(fabric.document.documentElement,\"attachEvent\",\"detachEvent\")&&t(fabric.window,\"attachEvent\",\"detachEvent\"),d={},p={};u?(c=function(t,e,i){t.addEventListener(e,i,!1)},l=function(t,e,i){t.removeEventListener(e,i,!1)}):f?(c=function(t,i,r){var n=h(t);s(n,t),d[n]||(d[n]={}),d[n][i]||(d[n][i]=[]);var o=e(n,r);d[n][i].push(o),t.attachEvent(\"on\"+i,o.wrappedHandler)},l=function(t,e,i){var r,n=h(t);if(d[n]&&d[n][e])for(var o=0,s=d[n][e].length;o<s;o++)(r=d[n][e][o])&&r.handler===i&&(t.detachEvent(\"on\"+e,r.wrappedHandler),d[n][e][o]=null)}):(c=function(t,e,i){var n=h(t);if(p[n]||(p[n]={}),!p[n][e]){p[n][e]=[];var o=t[\"on\"+e];o&&p[n][e].push(o),t[\"on\"+e]=r(n,e)}p[n][e].push(i)},l=function(t,e,i){var r=h(t);if(p[r]&&p[r][e])for(var n=p[r][e],o=0,s=n.length;o<s;o++)n[o]===i&&n.splice(o,1)}),fabric.util.addListener=c,fabric.util.removeListener=l;var g=function(t){return typeof t.clientX!==a?t.clientX:0},m=function(t){return typeof t.clientY!==a?t.clientY:0};fabric.isTouchSupported&&(g=function(t){return n(t,\"pageX\",\"clientX\")},m=function(t){return n(t,\"pageY\",\"clientY\")}),fabric.util.getPointer=function(t,e){t||(t=fabric.window.event);var i=t.target||(typeof t.srcElement!==a?t.srcElement:null),r=fabric.util.getScrollLeftTop(i,e);return{x:g(t)+r.left,y:m(t)+r.top}},fabric.util.object.extend(fabric.util,fabric.Observable)}(),function(){var t=fabric.document.createElement(\"div\"),e=\"string\"==typeof t.style.opacity,i=\"string\"==typeof t.style.filter,r=/alpha\\s*\\(\\s*opacity\\s*=\\s*([^\\)]+)\\)/,n=function(t){return t};e?n=function(t,e){return t.style.opacity=e,t}:i&&(n=function(t,e){var i=t.style;return t.currentStyle&&!t.currentStyle.hasLayout&&(i.zoom=1),r.test(i.filter)?(e=e>=.9999?\"\":\"alpha(opacity=\"+100*e+\")\",i.filter=i.filter.replace(r,e)):i.filter+=\" alpha(opacity=\"+100*e+\")\",t}),fabric.util.setStyle=function(t,e){var i=t.style;if(!i)return t;if(\"string\"==typeof e)return t.style.cssText+=\";\"+e,e.indexOf(\"opacity\")>-1?n(t,e.match(/opacity:\\s*(\\d?\\.?\\d*)/)[1]):t;for(var r in e)\"opacity\"===r?n(t,e[r]):i[\"float\"===r||\"cssFloat\"===r?void 0===i.styleFloat?\"cssFloat\":\"styleFloat\":r]=e[r];return t}}(),function(){function t(t,e){var i=fabric.document.createElement(t);for(var r in e)\"class\"===r?i.className=e[r]:\"for\"===r?i.htmlFor=e[r]:i.setAttribute(r,e[r]);return i}var e,i=Array.prototype.slice,r=function(t){return i.call(t,0)};try{e=r(fabric.document.childNodes)instanceof Array}catch(t){}e||(r=function(t){for(var e=new Array(t.length),i=t.length;i--;)e[i]=t[i];return e});var n;n=fabric.document.defaultView&&fabric.document.defaultView.getComputedStyle?function(t,e){return fabric.document.defaultView.getComputedStyle(t,null)[e]}:function(t,e){var i=t.style[e];return!i&&t.currentStyle&&(i=t.currentStyle[e]),i},function(){var t=fabric.document.documentElement.style,e=\"userSelect\"in t?\"userSelect\":\"MozUserSelect\"in t?\"MozUserSelect\":\"WebkitUserSelect\"in t?\"WebkitUserSelect\":\"KhtmlUserSelect\"in t?\"KhtmlUserSelect\":\"\";fabric.util.makeElementUnselectable=function(t){return void 0!==t.onselectstart&&(t.onselectstart=fabric.util.falseFunction),e?t.style[e]=\"none\":\"string\"==typeof t.unselectable&&(t.unselectable=\"on\"),t},fabric.util.makeElementSelectable=function(t){return void 0!==t.onselectstart&&(t.onselectstart=null),e?t.style[e]=\"\":\"string\"==typeof t.unselectable&&(t.unselectable=\"\"),t}}(),function(){fabric.util.getScript=function(t,e){var i=fabric.document.getElementsByTagName(\"head\")[0],r=fabric.document.createElement(\"script\"),n=!0;r.onload=r.onreadystatechange=function(t){if(n){if(\"string\"==typeof this.readyState&&\"loaded\"!==this.readyState&&\"complete\"!==this.readyState)return;n=!1,e(t||fabric.window.event),r=r.onload=r.onreadystatechange=null}},r.src=t,i.appendChild(r)}}(),fabric.util.getById=function(t){return\"string\"==typeof t?fabric.document.getElementById(t):t},fabric.util.toArray=r,fabric.util.makeElement=t,fabric.util.addClass=function(t,e){t&&-1===(\" \"+t.className+\" \").indexOf(\" \"+e+\" \")&&(t.className+=(t.className?\" \":\"\")+e)},fabric.util.wrapElement=function(e,i,r){return\"string\"==typeof i&&(i=t(i,r)),e.parentNode&&e.parentNode.replaceChild(i,e),i.appendChild(e),i},fabric.util.getScrollLeftTop=function(t,e){var i,r,n=0,o=0,s=fabric.document.documentElement,a=fabric.document.body||{scrollLeft:0,scrollTop:0};for(r=t;t&&t.parentNode&&!i;)(t=t.parentNode)!==fabric.document&&\"fixed\"===fabric.util.getElementStyle(t,\"position\")&&(i=t),t!==fabric.document&&r!==e&&\"absolute\"===fabric.util.getElementStyle(t,\"position\")?(n=0,o=0):t===fabric.document?(n=a.scrollLeft||s.scrollLeft||0,o=a.scrollTop||s.scrollTop||0):(n+=t.scrollLeft||0,o+=t.scrollTop||0);return{left:n,top:o}},fabric.util.getElementOffset=function(t){var e,i,r=t&&t.ownerDocument,o={left:0,top:0},s={left:0,top:0},a={borderLeftWidth:\"left\",borderTopWidth:\"top\",paddingLeft:\"left\",paddingTop:\"top\"};if(!r)return{left:0,top:0};for(var h in a)s[a[h]]+=parseInt(n(t,h),10)||0;return e=r.documentElement,void 0!==t.getBoundingClientRect&&(o=t.getBoundingClientRect()),i=fabric.util.getScrollLeftTop(t,null),{left:o.left+i.left-(e.clientLeft||0)+s.left,top:o.top+i.top-(e.clientTop||0)+s.top}},fabric.util.getElementStyle=n}(),function(){function t(t,e){return t+(/\\?/.test(t)?\"&\":\"?\")+e}function e(){}var i=function(){for(var t=[function(){return new ActiveXObject(\"Microsoft.XMLHTTP\")},function(){return new ActiveXObject(\"Msxml2.XMLHTTP\")},function(){return new ActiveXObject(\"Msxml2.XMLHTTP.3.0\")},function(){return new XMLHttpRequest}],e=t.length;e--;)try{if(t[e]())return t[e]}catch(t){}}();fabric.util.request=function(r,n){n||(n={});var o,s=n.method?n.method.toUpperCase():\"GET\",a=n.onComplete||function(){},h=i();return h.onreadystatechange=function(){4===h.readyState&&(a(h),h.onreadystatechange=e)},\"GET\"===s&&(o=null,\"string\"==typeof n.parameters&&(r=t(r,n.parameters))),h.open(s,r,!0),\"POST\"!==s&&\"PUT\"!==s||h.setRequestHeader(\"Content-Type\",\"application/x-www-form-urlencoded\"),h.send(o),h}}(),fabric.log=function(){},fabric.warn=function(){},\"undefined\"!=typeof console&&[\"log\",\"warn\"].forEach(function(t){void 0!==console[t]&&console[t].apply&&(fabric[t]=function(){return console[t].apply(console,arguments)})}),function(t){\"use strict\";function e(t){return t in S?S[t]:t}function i(t,e,i){var r,n=\"[object Array]\"===Object.prototype.toString.call(e);return\"fill\"!==t&&\"stroke\"!==t||\"none\"!==e?\"fillRule\"===t?e=\"evenodd\"===e?\"destination-over\":e:\"strokeDashArray\"===t?e=e.replace(/,/g,\" \").split(/\\s+/).map(function(t){return parseInt(t)}):\"transformMatrix\"===t?e=i&&i.transformMatrix?w(i.transformMatrix,g.parseTransformAttribute(e)):g.parseTransformAttribute(e):\"visible\"===t?(e=\"none\"!==e&&\"hidden\"!==e,i&&!1===i.visible&&(e=!1)):\"originX\"===t?e=\"start\"===e?\"left\":\"end\"===e?\"right\":\"center\":r=n?e.map(x):x(e):e=\"\",!n&&isNaN(r)?e:r}function r(t){for(var e in C)if(t[e]&&void 0!==t[C[e]]&&0!==t[e].indexOf(\"url(\")){var i=new g.Color(t[e]);t[e]=i.setAlpha(y(i.getAlpha()*t[C[e]],2)).toRgba()}return t}function n(t,e){var i=t.match(/(normal|italic)?\\s*(normal|small-caps)?\\s*(normal|bold|bolder|lighter|100|200|300|400|500|600|700|800|900)?\\s*(\\d+)px(?:\\/(normal|[\\d\\.]+))?\\s+(.*)/);if(i){var r=i[1],n=i[3],o=i[4],s=i[5],a=i[6];r&&(e.fontStyle=r),n&&(e.fontWeight=isNaN(parseFloat(n))?n:parseFloat(n)),o&&(e.fontSize=parseFloat(o)),a&&(e.fontFamily=a),s&&(e.lineHeight=\"normal\"===s?1:s)}}function o(t,r){var o,s;t.replace(/;$/,\"\").split(\";\").forEach(function(t){var a=t.split(\":\");o=e(a[0].trim().toLowerCase()),s=i(o,a[1].trim()),\"font\"===o?n(s,r):r[o]=s})}function s(t,r){var o,s;for(var a in t)void 0!==t[a]&&(s=i(o=e(a.toLowerCase()),t[a]),\"font\"===o?n(s,r):r[o]=s)}function a(t){var e={};for(var i in g.cssRules)if(h(t,i.split(\" \")))for(var r in g.cssRules[i])e[r]=g.cssRules[i][r];return e}function h(t,e){var i,r=!0;return(i=l(t,e.pop()))&&e.length&&(r=c(t,e)),i&&r&&0===e.length}function c(t,e){for(var i,r=!0;t.parentNode&&1===t.parentNode.nodeType&&e.length;)r&&(i=e.pop()),r=l(t=t.parentNode,i);return 0===e.length}function l(t,e){var i,r=t.nodeName,n=t.getAttribute(\"class\"),o=t.getAttribute(\"id\");if(i=new RegExp(\"^\"+r,\"i\"),e=e.replace(i,\"\"),o&&e.length&&(i=new RegExp(\"#\"+o+\"(?![a-zA-Z\\\\-]+)\",\"i\"),e=e.replace(i,\"\")),n&&e.length)for(var s=(n=n.split(\" \")).length;s--;)i=new RegExp(\"\\\\.\"+n[s]+\"(?![a-zA-Z\\\\-]+)\",\"i\"),e=e.replace(i,\"\");return 0===e.length}function u(t){for(var e=t.getElementsByTagName(\"use\");e.length;){for(var i=e[0],r=i.getAttribute(\"xlink:href\").substr(1),n=i.getAttribute(\"x\")||0,o=i.getAttribute(\"y\")||0,s=t.getElementById(r).cloneNode(!0),a=(i.getAttribute(\"transform\")||\"\")+\" translate(\"+n+\", \"+o+\")\",h=0,c=i.attributes,l=c.length;h<l;h++){var u=c.item(h);\"x\"!==u.nodeName&&\"y\"!==u.nodeName&&\"xlink:href\"!==u.nodeName&&(\"transform\"===u.nodeName?a=a+\" \"+u.nodeValue:s.setAttribute(u.nodeName,u.nodeValue))}s.setAttribute(\"transform\",a),s.removeAttribute(\"id\"),i.parentNode.replaceChild(s,i)}}function f(t,e){if(e[3]=e[0]=e[0]>e[3]?e[3]:e[0],1!==e[0]||1!==e[3]||0!==e[4]||0!==e[5]){for(var i=t.ownerDocument.createElement(\"g\");null!=t.firstChild;)i.appendChild(t.firstChild);i.setAttribute(\"transform\",\"matrix(\"+e[0]+\" \"+e[1]+\" \"+e[2]+\" \"+e[3]+\" \"+e[4]+\" \"+e[5]+\")\"),t.appendChild(i)}}function d(t){var e=t.objects,i=t.options;return e=e.map(function(t){return g[v(t.type)].fromObject(t)}),{objects:e,options:i}}function p(t,e,i){e[i]&&e[i].toSVG&&t.push('<pattern x=\"0\" y=\"0\" id=\"',i,'Pattern\" ','width=\"',e[i].source.width,'\" height=\"',e[i].source.height,'\" patternUnits=\"userSpaceOnUse\">','<image x=\"0\" y=\"0\" ','width=\"',e[i].source.width,'\" height=\"',e[i].source.height,'\" xlink:href=\"',e[i].source.src,'\"></image></pattern>')}var g=t.fabric||(t.fabric={}),m=g.util.object.extend,v=g.util.string.capitalize,b=g.util.object.clone,y=g.util.toFixed,x=g.util.parseUnit,w=g.util.multiplyTransformMatrices,S={cx:\"left\",x:\"left\",r:\"radius\",cy:\"top\",y:\"top\",display:\"visible\",visibility:\"visible\",transform:\"transformMatrix\",\"fill-opacity\":\"fillOpacity\",\"fill-rule\":\"fillRule\",\"font-family\":\"fontFamily\",\"font-size\":\"fontSize\",\"font-style\":\"fontStyle\",\"font-weight\":\"fontWeight\",\"stroke-dasharray\":\"strokeDashArray\",\"stroke-linecap\":\"strokeLineCap\",\"stroke-linejoin\":\"strokeLineJoin\",\"stroke-miterlimit\":\"strokeMiterLimit\",\"stroke-opacity\":\"strokeOpacity\",\"stroke-width\":\"strokeWidth\",\"text-decoration\":\"textDecoration\",\"text-anchor\":\"originX\"},C={stroke:\"strokeOpacity\",fill:\"fillOpacity\"};g.parseTransformAttribute=function(){function t(t,e){var i=e[0];t[0]=Math.cos(i),t[1]=Math.sin(i),t[2]=-Math.sin(i),t[3]=Math.cos(i)}function e(t,e){var i=e[0],r=2===e.length?e[1]:e[0];t[0]=i,t[3]=r}function i(t,e){t[2]=e[0]}function r(t,e){t[1]=e[0]}function n(t,e){t[4]=e[0],2===e.length&&(t[5]=e[1])}var o=[1,0,0,1,0,0],s=\"(?:[-+]?(?:\\\\d+|\\\\d*\\\\.\\\\d+)(?:e[-+]?\\\\d+)?)\",a=\"(?:\\\\s+,?\\\\s*|,\\\\s*)\",h=\"(?:(?:(matrix)\\\\s*\\\\(\\\\s*((?:[-+]?(?:\\\\d+|\\\\d*\\\\.\\\\d+)(?:e[-+]?\\\\d+)?))(?:\\\\s+,?\\\\s*|,\\\\s*)((?:[-+]?(?:\\\\d+|\\\\d*\\\\.\\\\d+)(?:e[-+]?\\\\d+)?))(?:\\\\s+,?\\\\s*|,\\\\s*)((?:[-+]?(?:\\\\d+|\\\\d*\\\\.\\\\d+)(?:e[-+]?\\\\d+)?))(?:\\\\s+,?\\\\s*|,\\\\s*)((?:[-+]?(?:\\\\d+|\\\\d*\\\\.\\\\d+)(?:e[-+]?\\\\d+)?))(?:\\\\s+,?\\\\s*|,\\\\s*)((?:[-+]?(?:\\\\d+|\\\\d*\\\\.\\\\d+)(?:e[-+]?\\\\d+)?))(?:\\\\s+,?\\\\s*|,\\\\s*)((?:[-+]?(?:\\\\d+|\\\\d*\\\\.\\\\d+)(?:e[-+]?\\\\d+)?))\\\\s*\\\\))|(?:(translate)\\\\s*\\\\(\\\\s*((?:[-+]?(?:\\\\d+|\\\\d*\\\\.\\\\d+)(?:e[-+]?\\\\d+)?))(?:(?:\\\\s+,?\\\\s*|,\\\\s*)((?:[-+]?(?:\\\\d+|\\\\d*\\\\.\\\\d+)(?:e[-+]?\\\\d+)?)))?\\\\s*\\\\))|(?:(scale)\\\\s*\\\\(\\\\s*((?:[-+]?(?:\\\\d+|\\\\d*\\\\.\\\\d+)(?:e[-+]?\\\\d+)?))(?:(?:\\\\s+,?\\\\s*|,\\\\s*)((?:[-+]?(?:\\\\d+|\\\\d*\\\\.\\\\d+)(?:e[-+]?\\\\d+)?)))?\\\\s*\\\\))|(?:(rotate)\\\\s*\\\\(\\\\s*((?:[-+]?(?:\\\\d+|\\\\d*\\\\.\\\\d+)(?:e[-+]?\\\\d+)?))(?:(?:\\\\s+,?\\\\s*|,\\\\s*)((?:[-+]?(?:\\\\d+|\\\\d*\\\\.\\\\d+)(?:e[-+]?\\\\d+)?))(?:\\\\s+,?\\\\s*|,\\\\s*)((?:[-+]?(?:\\\\d+|\\\\d*\\\\.\\\\d+)(?:e[-+]?\\\\d+)?)))?\\\\s*\\\\))|(?:(skewX)\\\\s*\\\\(\\\\s*((?:[-+]?(?:\\\\d+|\\\\d*\\\\.\\\\d+)(?:e[-+]?\\\\d+)?))\\\\s*\\\\))|(?:(skewY)\\\\s*\\\\(\\\\s*((?:[-+]?(?:\\\\d+|\\\\d*\\\\.\\\\d+)(?:e[-+]?\\\\d+)?))\\\\s*\\\\)))\",c=new RegExp(\"^\\\\s*(?:(?:(?:(?:(matrix)\\\\s*\\\\(\\\\s*((?:[-+]?(?:\\\\d+|\\\\d*\\\\.\\\\d+)(?:e[-+]?\\\\d+)?))(?:\\\\s+,?\\\\s*|,\\\\s*)((?:[-+]?(?:\\\\d+|\\\\d*\\\\.\\\\d+)(?:e[-+]?\\\\d+)?))(?:\\\\s+,?\\\\s*|,\\\\s*)((?:[-+]?(?:\\\\d+|\\\\d*\\\\.\\\\d+)(?:e[-+]?\\\\d+)?))(?:\\\\s+,?\\\\s*|,\\\\s*)((?:[-+]?(?:\\\\d+|\\\\d*\\\\.\\\\d+)(?:e[-+]?\\\\d+)?))(?:\\\\s+,?\\\\s*|,\\\\s*)((?:[-+]?(?:\\\\d+|\\\\d*\\\\.\\\\d+)(?:e[-+]?\\\\d+)?))(?:\\\\s+,?\\\\s*|,\\\\s*)((?:[-+]?(?:\\\\d+|\\\\d*\\\\.\\\\d+)(?:e[-+]?\\\\d+)?))\\\\s*\\\\))|(?:(translate)\\\\s*\\\\(\\\\s*((?:[-+]?(?:\\\\d+|\\\\d*\\\\.\\\\d+)(?:e[-+]?\\\\d+)?))(?:(?:\\\\s+,?\\\\s*|,\\\\s*)((?:[-+]?(?:\\\\d+|\\\\d*\\\\.\\\\d+)(?:e[-+]?\\\\d+)?)))?\\\\s*\\\\))|(?:(scale)\\\\s*\\\\(\\\\s*((?:[-+]?(?:\\\\d+|\\\\d*\\\\.\\\\d+)(?:e[-+]?\\\\d+)?))(?:(?:\\\\s+,?\\\\s*|,\\\\s*)((?:[-+]?(?:\\\\d+|\\\\d*\\\\.\\\\d+)(?:e[-+]?\\\\d+)?)))?\\\\s*\\\\))|(?:(rotate)\\\\s*\\\\(\\\\s*((?:[-+]?(?:\\\\d+|\\\\d*\\\\.\\\\d+)(?:e[-+]?\\\\d+)?))(?:(?:\\\\s+,?\\\\s*|,\\\\s*)((?:[-+]?(?:\\\\d+|\\\\d*\\\\.\\\\d+)(?:e[-+]?\\\\d+)?))(?:\\\\s+,?\\\\s*|,\\\\s*)((?:[-+]?(?:\\\\d+|\\\\d*\\\\.\\\\d+)(?:e[-+]?\\\\d+)?)))?\\\\s*\\\\))|(?:(skewX)\\\\s*\\\\(\\\\s*((?:[-+]?(?:\\\\d+|\\\\d*\\\\.\\\\d+)(?:e[-+]?\\\\d+)?))\\\\s*\\\\))|(?:(skewY)\\\\s*\\\\(\\\\s*((?:[-+]?(?:\\\\d+|\\\\d*\\\\.\\\\d+)(?:e[-+]?\\\\d+)?))\\\\s*\\\\)))(?:(?:\\\\s+,?\\\\s*|,\\\\s*)(?:(?:(matrix)\\\\s*\\\\(\\\\s*((?:[-+]?(?:\\\\d+|\\\\d*\\\\.\\\\d+)(?:e[-+]?\\\\d+)?))(?:\\\\s+,?\\\\s*|,\\\\s*)((?:[-+]?(?:\\\\d+|\\\\d*\\\\.\\\\d+)(?:e[-+]?\\\\d+)?))(?:\\\\s+,?\\\\s*|,\\\\s*)((?:[-+]?(?:\\\\d+|\\\\d*\\\\.\\\\d+)(?:e[-+]?\\\\d+)?))(?:\\\\s+,?\\\\s*|,\\\\s*)((?:[-+]?(?:\\\\d+|\\\\d*\\\\.\\\\d+)(?:e[-+]?\\\\d+)?))(?:\\\\s+,?\\\\s*|,\\\\s*)((?:[-+]?(?:\\\\d+|\\\\d*\\\\.\\\\d+)(?:e[-+]?\\\\d+)?))(?:\\\\s+,?\\\\s*|,\\\\s*)((?:[-+]?(?:\\\\d+|\\\\d*\\\\.\\\\d+)(?:e[-+]?\\\\d+)?))\\\\s*\\\\))|(?:(translate)\\\\s*\\\\(\\\\s*((?:[-+]?(?:\\\\d+|\\\\d*\\\\.\\\\d+)(?:e[-+]?\\\\d+)?))(?:(?:\\\\s+,?\\\\s*|,\\\\s*)((?:[-+]?(?:\\\\d+|\\\\d*\\\\.\\\\d+)(?:e[-+]?\\\\d+)?)))?\\\\s*\\\\))|(?:(scale)\\\\s*\\\\(\\\\s*((?:[-+]?(?:\\\\d+|\\\\d*\\\\.\\\\d+)(?:e[-+]?\\\\d+)?))(?:(?:\\\\s+,?\\\\s*|,\\\\s*)((?:[-+]?(?:\\\\d+|\\\\d*\\\\.\\\\d+)(?:e[-+]?\\\\d+)?)))?\\\\s*\\\\))|(?:(rotate)\\\\s*\\\\(\\\\s*((?:[-+]?(?:\\\\d+|\\\\d*\\\\.\\\\d+)(?:e[-+]?\\\\d+)?))(?:(?:\\\\s+,?\\\\s*|,\\\\s*)((?:[-+]?(?:\\\\d+|\\\\d*\\\\.\\\\d+)(?:e[-+]?\\\\d+)?))(?:\\\\s+,?\\\\s*|,\\\\s*)((?:[-+]?(?:\\\\d+|\\\\d*\\\\.\\\\d+)(?:e[-+]?\\\\d+)?)))?\\\\s*\\\\))|(?:(skewX)\\\\s*\\\\(\\\\s*((?:[-+]?(?:\\\\d+|\\\\d*\\\\.\\\\d+)(?:e[-+]?\\\\d+)?))\\\\s*\\\\))|(?:(skewY)\\\\s*\\\\(\\\\s*((?:[-+]?(?:\\\\d+|\\\\d*\\\\.\\\\d+)(?:e[-+]?\\\\d+)?))\\\\s*\\\\))))*)?)\\\\s*$\"),l=new RegExp(h,\"g\");return function(s){var a=o.concat(),u=[];if(!s||s&&!c.test(s))return a;s.replace(l,function(s){var c=new RegExp(h).exec(s).filter(function(t){return\"\"!==t&&null!=t}),l=c[1],f=c.slice(2).map(parseFloat);switch(l){case\"translate\":n(a,f);break;case\"rotate\":f[0]=g.util.degreesToRadians(f[0]),t(a,f);break;case\"scale\":e(a,f);break;case\"skewX\":i(a,f);break;case\"skewY\":r(a,f);break;case\"matrix\":a=f}u.push(a.concat()),a=o.concat()});for(var f=u[0];u.length>1;)u.shift(),f=g.util.multiplyTransformMatrices(f,u[0]);return f}}(),g.parseSVGDocument=function(){function t(t,e){for(;t&&(t=t.parentNode);)if(e.test(t.nodeName))return!0;return!1}var e=/^(path|circle|polygon|polyline|ellipse|rect|line|image|text)$/,i=\"(?:[-+]?(?:\\\\d+|\\\\d*\\\\.\\\\d+)(?:e[-+]?\\\\d+)?)\",r=new RegExp(\"^\\\\s*(\"+i+\"+)\\\\s*,?\\\\s*(\"+i+\"+)\\\\s*,?\\\\s*(\"+i+\"+)\\\\s*,?\\\\s*(\"+i+\"+)\\\\s*$\");return function(i,n,o){if(i){var s=new Date;u(i);var a,h,c=i.getAttribute(\"viewBox\"),l=x(i.getAttribute(\"width\")||\"100%\"),d=x(i.getAttribute(\"height\")||\"100%\");if(c&&(c=c.match(r))){var p=parseFloat(c[1]),m=parseFloat(c[2]),v=1,y=1;a=parseFloat(c[3]),h=parseFloat(c[4]),l&&l!==a&&(v=l/a),d&&d!==h&&(y=d/h),f(i,[v,0,0,y,v*-p,y*-m])}var w=g.util.toArray(i.getElementsByTagName(\"*\"));if(0===w.length&&g.isLikelyNode){for(var S=[],C=0,_=(w=i.selectNodes('//*[name(.)!=\"svg\"]')).length;C<_;C++)S[C]=w[C];w=S}var T=w.filter(function(i){return e.test(i.tagName)&&!t(i,/^(?:pattern|defs)$/)});if(!T||T&&!T.length)n&&n([],{});else{var O={width:l||a,height:d||h,widthAttr:l,heightAttr:d};g.gradientDefs=g.getGradientDefs(i),g.cssRules=g.getCSSRules(i),g.parseElements(T,function(t){g.documentParsingTime=new Date-s,n&&n(t,O)},b(O),o)}}}}();var _={has:function(t,e){e(!1)},get:function(){},set:function(){}};m(g,{getGradientDefs:function(t){var e,i,r,n,o=t.getElementsByTagName(\"linearGradient\"),s=t.getElementsByTagName(\"radialGradient\"),a=0,h=[],c={},l={};for(h.length=o.length+s.length,i=o.length;i--;)h[a++]=o[i];for(i=s.length;i--;)h[a++]=s[i];for(;a--;)n=(e=h[a]).getAttribute(\"xlink:href\"),r=e.getAttribute(\"id\"),n&&(l[r]=n.substr(1)),c[r]=e;for(r in l){var u=c[l[r]].cloneNode(!0);for(e=c[r];u.firstChild;)e.appendChild(u.firstChild)}return c},parseAttributes:function(t,n){if(t){var o,s={};t.parentNode&&/^symbol|[g|a]$/i.test(t.parentNode.nodeName)&&(s=g.parseAttributes(t.parentNode,n));var h=n.reduce(function(r,n){return(o=t.getAttribute(n))&&(n=e(n),o=i(n,o,s),r[n]=o),r},{});return h=m(h,m(a(t),g.parseStyleAttribute(t))),r(m(s,h))}},parseElements:function(t,e,i,r){new g.ElementsParser(t,e,i,r).parse()},parseStyleAttribute:function(t){var e={},i=t.getAttribute(\"style\");return i?(\"string\"==typeof i?o(i,e):s(i,e),e):e},parsePointsAttribute:function(t){if(!t)return null;var e,i,r=[];for(e=0,i=(t=(t=t.replace(/,/g,\" \").trim()).split(/\\s+/)).length;e<i;e+=2)r.push({x:parseFloat(t[e]),y:parseFloat(t[e+1])});return r},getCSSRules:function(t){for(var r=t.getElementsByTagName(\"style\"),n={},o=0,s=r.length;o<s;o++){var a=r[0].textContent;(a=a.replace(/\\/\\*[\\s\\S]*?\\*\\//g,\"\")).match(/[^{]*\\{[\\s\\S]*?\\}/g).map(function(t){return t.trim()}).forEach(function(t){for(var r=t.match(/([\\s\\S]*?)\\s*\\{([^}]*)\\}/),o={},s=r[2].trim().replace(/;$/,\"\").split(/\\s*;\\s*/),a=0,h=s.length;a<h;a++){var c=s[a].split(/\\s*:\\s*/),l=e(c[0]),u=i(l,c[1],c[0]);o[l]=u}(t=r[1]).split(\",\").forEach(function(t){n[t.trim()]=g.util.object.clone(o)})})}return n},loadSVGFromURL:function(t,e,i){function r(r){var n=r.responseXML;n&&!n.documentElement&&g.window.ActiveXObject&&r.responseText&&((n=new ActiveXObject(\"Microsoft.XMLDOM\")).async=\"false\",n.loadXML(r.responseText.replace(/<!DOCTYPE[\\s\\S]*?(\\[[\\s\\S]*\\])*?>/i,\"\"))),n&&n.documentElement&&g.parseSVGDocument(n.documentElement,function(i,r){_.set(t,{objects:g.util.array.invoke(i,\"toObject\"),options:r}),e(i,r)},i)}t=t.replace(/^\\n\\s*/,\"\").trim(),_.has(t,function(i){i?_.get(t,function(t){var i=d(t);e(i.objects,i.options)}):new g.util.request(t,{method:\"get\",onComplete:r})})},loadSVGFromString:function(t,e,i){t=t.trim();var r;if(\"undefined\"!=typeof DOMParser){var n=new DOMParser;n&&n.parseFromString&&(r=n.parseFromString(t,\"text/xml\"))}else g.window.ActiveXObject&&((r=new ActiveXObject(\"Microsoft.XMLDOM\")).async=\"false\",r.loadXML(t.replace(/<!DOCTYPE[\\s\\S]*?(\\[[\\s\\S]*\\])*?>/i,\"\")));g.parseSVGDocument(r.documentElement,function(t,i){e(t,i)},i)},createSVGFontFacesMarkup:function(t){for(var e=\"\",i=0,r=t.length;i<r;i++)\"text\"===t[i].type&&t[i].path&&(e+=[\"@font-face {\",\"font-family: \",t[i].fontFamily,\"; \",\"src: url('\",t[i].path,\"')\",\"}\"].join(\"\"));return e&&(e=['<style type=\"text/css\">',\"<![CDATA[\",e,\"]]>\",\"</style>\"].join(\"\")),e},createSVGRefElementsMarkup:function(t){var e=[];return p(e,t,\"backgroundColor\"),p(e,t,\"overlayColor\"),e.join(\"\")}})}(void 0!==exports?exports:this),fabric.ElementsParser=function(t,e,i,r){this.elements=t,this.callback=e,this.options=i,this.reviver=r},fabric.ElementsParser.prototype.parse=function(){this.instances=new Array(this.elements.length),this.numElements=this.elements.length,this.createObjects()},fabric.ElementsParser.prototype.createObjects=function(){for(var t=0,e=this.elements.length;t<e;t++)!function(t,e){setTimeout(function(){t.createObject(t.elements[e],e)},0)}(this,t)},fabric.ElementsParser.prototype.createObject=function(t,e){var i=fabric[fabric.util.string.capitalize(t.tagName)];if(i&&i.fromElement)try{this._createObject(i,t,e)}catch(t){fabric.log(t)}else this.checkIfDone()},fabric.ElementsParser.prototype._createObject=function(t,e,i){if(t.async)t.fromElement(e,this.createCallback(i,e),this.options);else{var r=t.fromElement(e,this.options);this.resolveGradient(r,\"fill\"),this.resolveGradient(r,\"stroke\"),this.reviver&&this.reviver(e,r),this.instances[i]=r,this.checkIfDone()}},fabric.ElementsParser.prototype.createCallback=function(t,e){var i=this;return function(r){i.resolveGradient(r,\"fill\"),i.resolveGradient(r,\"stroke\"),i.reviver&&i.reviver(e,r),i.instances[t]=r,i.checkIfDone()}},fabric.ElementsParser.prototype.resolveGradient=function(t,e){var i=t.get(e);if(/^url\\(/.test(i)){var r=i.slice(5,i.length-1);fabric.gradientDefs[r]&&t.set(e,fabric.Gradient.fromElement(fabric.gradientDefs[r],t))}},fabric.ElementsParser.prototype.checkIfDone=function(){0==--this.numElements&&(this.instances=this.instances.filter(function(t){return null!=t}),this.callback(this.instances))},function(t){\"use strict\";function e(t,e){this.x=t,this.y=e}var i=t.fabric||(t.fabric={});i.Point?i.warn(\"fabric.Point is already defined\"):(i.Point=e,e.prototype={constructor:e,add:function(t){return new e(this.x+t.x,this.y+t.y)},addEquals:function(t){return this.x+=t.x,this.y+=t.y,this},scalarAdd:function(t){return new e(this.x+t,this.y+t)},scalarAddEquals:function(t){return this.x+=t,this.y+=t,this},subtract:function(t){return new e(this.x-t.x,this.y-t.y)},subtractEquals:function(t){return this.x-=t.x,this.y-=t.y,this},scalarSubtract:function(t){return new e(this.x-t,this.y-t)},scalarSubtractEquals:function(t){return this.x-=t,this.y-=t,this},multiply:function(t){return new e(this.x*t,this.y*t)},multiplyEquals:function(t){return this.x*=t,this.y*=t,this},divide:function(t){return new e(this.x/t,this.y/t)},divideEquals:function(t){return this.x/=t,this.y/=t,this},eq:function(t){return this.x===t.x&&this.y===t.y},lt:function(t){return this.x<t.x&&this.y<t.y},lte:function(t){return this.x<=t.x&&this.y<=t.y},gt:function(t){return this.x>t.x&&this.y>t.y},gte:function(t){return this.x>=t.x&&this.y>=t.y},lerp:function(t,i){return new e(this.x+(t.x-this.x)*i,this.y+(t.y-this.y)*i)},distanceFrom:function(t){var e=this.x-t.x,i=this.y-t.y;return Math.sqrt(e*e+i*i)},midPointFrom:function(t){return new e(this.x+(t.x-this.x)/2,this.y+(t.y-this.y)/2)},min:function(t){return new e(Math.min(this.x,t.x),Math.min(this.y,t.y))},max:function(t){return new e(Math.max(this.x,t.x),Math.max(this.y,t.y))},toString:function(){return this.x+\",\"+this.y},setXY:function(t,e){this.x=t,this.y=e},setFromPoint:function(t){this.x=t.x,this.y=t.y},swap:function(t){var e=this.x,i=this.y;this.x=t.x,this.y=t.y,t.x=e,t.y=i}})}(void 0!==exports?exports:this),function(t){\"use strict\";function e(t){this.status=t,this.points=[]}var i=t.fabric||(t.fabric={});i.Intersection?i.warn(\"fabric.Intersection is already defined\"):(i.Intersection=e,i.Intersection.prototype={appendPoint:function(t){this.points.push(t)},appendPoints:function(t){this.points=this.points.concat(t)}},i.Intersection.intersectLineLine=function(t,r,n,o){var s,a=(o.x-n.x)*(t.y-n.y)-(o.y-n.y)*(t.x-n.x),h=(r.x-t.x)*(t.y-n.y)-(r.y-t.y)*(t.x-n.x),c=(o.y-n.y)*(r.x-t.x)-(o.x-n.x)*(r.y-t.y);if(0!==c){var l=a/c,u=h/c;0<=l&&l<=1&&0<=u&&u<=1?(s=new e(\"Intersection\")).points.push(new i.Point(t.x+l*(r.x-t.x),t.y+l*(r.y-t.y))):s=new e}else s=new e(0===a||0===h?\"Coincident\":\"Parallel\");return s},i.Intersection.intersectLinePolygon=function(t,i,r){for(var n=new e,o=r.length,s=0;s<o;s++){var a=r[s],h=r[(s+1)%o],c=e.intersectLineLine(t,i,a,h);n.appendPoints(c.points)}return n.points.length>0&&(n.status=\"Intersection\"),n},i.Intersection.intersectPolygonPolygon=function(t,i){for(var r=new e,n=t.length,o=0;o<n;o++){var s=t[o],a=t[(o+1)%n],h=e.intersectLinePolygon(s,a,i);r.appendPoints(h.points)}return r.points.length>0&&(r.status=\"Intersection\"),r},i.Intersection.intersectPolygonRectangle=function(t,r,n){var o=r.min(n),s=r.max(n),a=new i.Point(s.x,o.y),h=new i.Point(o.x,s.y),c=e.intersectLinePolygon(o,a,t),l=e.intersectLinePolygon(a,s,t),u=e.intersectLinePolygon(s,h,t),f=e.intersectLinePolygon(h,o,t),d=new e;return d.appendPoints(c.points),d.appendPoints(l.points),d.appendPoints(u.points),d.appendPoints(f.points),d.points.length>0&&(d.status=\"Intersection\"),d})}(void 0!==exports?exports:this),function(t){\"use strict\";function e(t){t?this._tryParsingColor(t):this.setSource([0,0,0,1])}function i(t,e,i){return i<0&&(i+=1),i>1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t}var r=t.fabric||(t.fabric={});r.Color?r.warn(\"fabric.Color is already defined.\"):(r.Color=e,r.Color.prototype={_tryParsingColor:function(t){var i;t in e.colorNameMap&&(t=e.colorNameMap[t]),\"transparent\"!==t?((i=e.sourceFromHex(t))||(i=e.sourceFromRgb(t)),i||(i=e.sourceFromHsl(t)),i&&this.setSource(i)):this.setSource([255,255,255,0])},_rgbToHsl:function(t,e,i){t/=255,e/=255,i/=255;var n,o,s,a=r.util.array.max([t,e,i]),h=r.util.array.min([t,e,i]);if(s=(a+h)/2,a===h)n=o=0;else{var c=a-h;switch(o=s>.5?c/(2-a-h):c/(a+h),a){case t:n=(e-i)/c+(e<i?6:0);break;case e:n=(i-t)/c+2;break;case i:n=(t-e)/c+4}n/=6}return[Math.round(360*n),Math.round(100*o),Math.round(100*s)]},getSource:function(){return this._source},setSource:function(t){this._source=t},toRgb:function(){var t=this.getSource();return\"rgb(\"+t[0]+\",\"+t[1]+\",\"+t[2]+\")\"},toRgba:function(){var t=this.getSource();return\"rgba(\"+t[0]+\",\"+t[1]+\",\"+t[2]+\",\"+t[3]+\")\"},toHsl:function(){var t=this.getSource(),e=this._rgbToHsl(t[0],t[1],t[2]);return\"hsl(\"+e[0]+\",\"+e[1]+\"%,\"+e[2]+\"%)\"},toHsla:function(){var t=this.getSource(),e=this._rgbToHsl(t[0],t[1],t[2]);return\"hsla(\"+e[0]+\",\"+e[1]+\"%,\"+e[2]+\"%,\"+t[3]+\")\"},toHex:function(){var t,e,i,r=this.getSource();return t=r[0].toString(16),t=1===t.length?\"0\"+t:t,e=r[1].toString(16),e=1===e.length?\"0\"+e:e,i=r[2].toString(16),i=1===i.length?\"0\"+i:i,t.toUpperCase()+e.toUpperCase()+i.toUpperCase()},getAlpha:function(){return this.getSource()[3]},setAlpha:function(t){var e=this.getSource();return e[3]=t,this.setSource(e),this},toGrayscale:function(){var t=this.getSource(),e=parseInt((.3*t[0]+.59*t[1]+.11*t[2]).toFixed(0),10),i=t[3];return this.setSource([e,e,e,i]),this},toBlackWhite:function(t){var e=this.getSource(),i=(.3*e[0]+.59*e[1]+.11*e[2]).toFixed(0),r=e[3];return t=t||127,i=Number(i)<Number(t)?0:255,this.setSource([i,i,i,r]),this},overlayWith:function(t){t instanceof e||(t=new e(t));for(var i=[],r=this.getAlpha(),n=this.getSource(),o=t.getSource(),s=0;s<3;s++)i.push(Math.round(.5*n[s]+.5*o[s]));return i[3]=r,this.setSource(i),this}},r.Color.reRGBa=/^rgba?\\(\\s*(\\d{1,3}(?:\\.\\d+)?\\%?)\\s*,\\s*(\\d{1,3}(?:\\.\\d+)?\\%?)\\s*,\\s*(\\d{1,3}(?:\\.\\d+)?\\%?)\\s*(?:\\s*,\\s*(\\d+(?:\\.\\d+)?)\\s*)?\\)$/,r.Color.reHSLa=/^hsla?\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3}\\%)\\s*,\\s*(\\d{1,3}\\%)\\s*(?:\\s*,\\s*(\\d+(?:\\.\\d+)?)\\s*)?\\)$/,r.Color.reHex=/^#?([0-9a-f]{6}|[0-9a-f]{3})$/i,r.Color.colorNameMap={aqua:\"#00FFFF\",black:\"#000000\",blue:\"#0000FF\",fuchsia:\"#FF00FF\",gray:\"#808080\",green:\"#008000\",lime:\"#00FF00\",maroon:\"#800000\",navy:\"#000080\",olive:\"#808000\",orange:\"#FFA500\",purple:\"#800080\",red:\"#FF0000\",silver:\"#C0C0C0\",teal:\"#008080\",white:\"#FFFFFF\",yellow:\"#FFFF00\"},r.Color.fromRgb=function(t){return e.fromSource(e.sourceFromRgb(t))},r.Color.sourceFromRgb=function(t){var i=t.match(e.reRGBa);if(i){var r=parseInt(i[1],10)/(/%$/.test(i[1])?100:1)*(/%$/.test(i[1])?255:1),n=parseInt(i[2],10)/(/%$/.test(i[2])?100:1)*(/%$/.test(i[2])?255:1),o=parseInt(i[3],10)/(/%$/.test(i[3])?100:1)*(/%$/.test(i[3])?255:1);return[parseInt(r,10),parseInt(n,10),parseInt(o,10),i[4]?parseFloat(i[4]):1]}},r.Color.fromRgba=e.fromRgb,r.Color.fromHsl=function(t){return e.fromSource(e.sourceFromHsl(t))},r.Color.sourceFromHsl=function(t){var r=t.match(e.reHSLa);if(r){var n,o,s,a=(parseFloat(r[1])%360+360)%360/360,h=parseFloat(r[2])/(/%$/.test(r[2])?100:1),c=parseFloat(r[3])/(/%$/.test(r[3])?100:1);if(0===h)n=o=s=c;else{var l=c<=.5?c*(h+1):c+h-c*h,u=2*c-l;n=i(u,l,a+1/3),o=i(u,l,a),s=i(u,l,a-1/3)}return[Math.round(255*n),Math.round(255*o),Math.round(255*s),r[4]?parseFloat(r[4]):1]}},r.Color.fromHsla=e.fromHsl,r.Color.fromHex=function(t){return e.fromSource(e.sourceFromHex(t))},r.Color.sourceFromHex=function(t){if(t.match(e.reHex)){var i=t.slice(t.indexOf(\"#\")+1),r=3===i.length,n=r?i.charAt(0)+i.charAt(0):i.substring(0,2),o=r?i.charAt(1)+i.charAt(1):i.substring(2,4),s=r?i.charAt(2)+i.charAt(2):i.substring(4,6);return[parseInt(n,16),parseInt(o,16),parseInt(s,16),1]}},r.Color.fromSource=function(t){var i=new e;return i.setSource(t),i})}(void 0!==exports?exports:this),function(){function t(t){var e,i,r,n=t.getAttribute(\"style\"),o=t.getAttribute(\"offset\");if(o=parseFloat(o)/(/%$/.test(o)?100:1),o=o<0?0:o>1?1:o,n){var s=n.split(/\\s*;\\s*/);\"\"===s[s.length-1]&&s.pop();for(var a=s.length;a--;){var h=s[a].split(/\\s*:\\s*/),c=h[0].trim(),l=h[1].trim();\"stop-color\"===c?e=l:\"stop-opacity\"===c&&(r=l)}}return e||(e=t.getAttribute(\"stop-color\")||\"rgb(0,0,0)\"),r||(r=t.getAttribute(\"stop-opacity\")),e=new fabric.Color(e),i=e.getAlpha(),r=isNaN(parseFloat(r))?1:parseFloat(r),r*=i,{offset:o,color:e.toRgb(),opacity:r}}function e(t){return{x1:t.getAttribute(\"x1\")||0,y1:t.getAttribute(\"y1\")||0,x2:t.getAttribute(\"x2\")||\"100%\",y2:t.getAttribute(\"y2\")||0}}function i(t){return{x1:t.getAttribute(\"fx\")||t.getAttribute(\"cx\")||\"50%\",y1:t.getAttribute(\"fy\")||t.getAttribute(\"cy\")||\"50%\",r1:0,x2:t.getAttribute(\"cx\")||\"50%\",y2:t.getAttribute(\"cy\")||\"50%\",r2:t.getAttribute(\"r\")||\"50%\"}}function r(t,e,i){var r,n=0,o=1,s=\"\";for(var a in e)r=parseFloat(e[a],10),o=\"string\"==typeof e[a]&&/^\\d+%$/.test(e[a])?.01:1,\"x1\"===a||\"x2\"===a||\"r2\"===a?(o*=\"objectBoundingBox\"===i?t.width:1,n=\"objectBoundingBox\"===i?t.left||0:0):\"y1\"!==a&&\"y2\"!==a||(o*=\"objectBoundingBox\"===i?t.height:1,n=\"objectBoundingBox\"===i?t.top||0:0),e[a]=r*o+n;if(\"ellipse\"===t.type&&null!==e.r2&&\"objectBoundingBox\"===i&&t.rx!==t.ry){var h=t.ry/t.rx;s=\" scale(1, \"+h+\")\",e.y1&&(e.y1/=h),e.y2&&(e.y2/=h)}return s}fabric.Gradient=fabric.util.createClass({offsetX:0,offsetY:0,initialize:function(t){t||(t={});var e={};this.id=fabric.Object.__uid++,this.type=t.type||\"linear\",e={x1:t.coords.x1||0,y1:t.coords.y1||0,x2:t.coords.x2||0,y2:t.coords.y2||0},\"radial\"===this.type&&(e.r1=t.coords.r1||0,e.r2=t.coords.r2||0),this.coords=e,this.colorStops=t.colorStops.slice(),t.gradientTransform&&(this.gradientTransform=t.gradientTransform),this.offsetX=t.offsetX||this.offsetX,this.offsetY=t.offsetY||this.offsetY},addColorStop:function(t){for(var e in t){var i=new fabric.Color(t[e]);this.colorStops.push({offset:e,color:i.toRgb(),opacity:i.getAlpha()})}return this},toObject:function(){return{type:this.type,coords:this.coords,colorStops:this.colorStops,offsetX:this.offsetX,offsetY:this.offsetY}},toSVG:function(t){var e,i,r=fabric.util.object.clone(this.coords);if(this.colorStops.sort(function(t,e){return t.offset-e.offset}),!t.group||\"path-group\"!==t.group.type)for(var n in r)\"x1\"===n||\"x2\"===n||\"r2\"===n?r[n]+=this.offsetX-t.width/2:\"y1\"!==n&&\"y2\"!==n||(r[n]+=this.offsetY-t.height/2);i='id=\"SVGID_'+this.id+'\" gradientUnits=\"userSpaceOnUse\"',this.gradientTransform&&(i+=' gradientTransform=\"matrix('+this.gradientTransform.join(\" \")+')\" '),\"linear\"===this.type?e=[\"<linearGradient \",i,' x1=\"',r.x1,'\" y1=\"',r.y1,'\" x2=\"',r.x2,'\" y2=\"',r.y2,'\">\\n']:\"radial\"===this.type&&(e=[\"<radialGradient \",i,' cx=\"',r.x2,'\" cy=\"',r.y2,'\" r=\"',r.r2,'\" fx=\"',r.x1,'\" fy=\"',r.y1,'\">\\n']);for(var o=0;o<this.colorStops.length;o++)e.push(\"<stop \",'offset=\"',100*this.colorStops[o].offset+\"%\",'\" style=\"stop-color:',this.colorStops[o].color,null!=this.colorStops[o].opacity?\";stop-opacity: \"+this.colorStops[o].opacity:\";\",'\"/>\\n');return e.push(\"linear\"===this.type?\"</linearGradient>\\n\":\"</radialGradient>\\n\"),e.join(\"\")},toLive:function(t){var e;if(this.type){\"linear\"===this.type?e=t.createLinearGradient(this.coords.x1,this.coords.y1,this.coords.x2,this.coords.y2):\"radial\"===this.type&&(e=t.createRadialGradient(this.coords.x1,this.coords.y1,this.coords.r1,this.coords.x2,this.coords.y2,this.coords.r2));for(var i=0,r=this.colorStops.length;i<r;i++){var n=this.colorStops[i].color,o=this.colorStops[i].opacity,s=this.colorStops[i].offset;void 0!==o&&(n=new fabric.Color(n).setAlpha(o).toRgba()),e.addColorStop(parseFloat(s),n)}return e}}}),fabric.util.object.extend(fabric.Gradient,{fromElement:function(n,o){var s,a=n.getElementsByTagName(\"stop\"),h=\"linearGradient\"===n.nodeName?\"linear\":\"radial\",c=n.getAttribute(\"gradientUnits\")||\"objectBoundingBox\",l=n.getAttribute(\"gradientTransform\"),u=[],f={};\"linear\"===h?f=e(n):\"radial\"===h&&(f=i(n));for(var d=a.length;d--;)u.push(t(a[d]));s=r(o,f,c);var p=new fabric.Gradient({type:h,coords:f,colorStops:u,offsetX:-o.left,offsetY:-o.top});return(l||\"\"!==s)&&(p.gradientTransform=fabric.parseTransformAttribute((l||\"\")+s)),p},forObject:function(t,e){return e||(e={}),r(t,e.coords,\"userSpaceOnUse\"),new fabric.Gradient(e)}})}(),fabric.Pattern=fabric.util.createClass({repeat:\"repeat\",offsetX:0,offsetY:0,initialize:function(t){if(t||(t={}),this.id=fabric.Object.__uid++,t.source)if(\"string\"==typeof t.source)if(void 0!==fabric.util.getFunctionBody(t.source))this.source=new Function(fabric.util.getFunctionBody(t.source));else{var e=this;this.source=fabric.util.createImage(),fabric.util.loadImage(t.source,function(t){e.source=t})}else this.source=t.source;t.repeat&&(this.repeat=t.repeat),t.offsetX&&(this.offsetX=t.offsetX),t.offsetY&&(this.offsetY=t.offsetY)},toObject:function(){var t;return\"function\"==typeof this.source?t=String(this.source):\"string\"==typeof this.source.src&&(t=this.source.src),{source:t,repeat:this.repeat,offsetX:this.offsetX,offsetY:this.offsetY}},toSVG:function(t){var e=\"function\"==typeof this.source?this.source():this.source,i=e.width/t.getWidth(),r=e.height/t.getHeight(),n=\"\";return e.src?n=e.src:e.toDataURL&&(n=e.toDataURL()),'<pattern id=\"SVGID_'+this.id+'\" x=\"'+this.offsetX+'\" y=\"'+this.offsetY+'\" width=\"'+i+'\" height=\"'+r+'\"><image x=\"0\" y=\"0\" width=\"'+e.width+'\" height=\"'+e.height+'\" xlink:href=\"'+n+'\"></image></pattern>'},toLive:function(t){var e=\"function\"==typeof this.source?this.source():this.source;if(!e)return\"\";if(void 0!==e.src){if(!e.complete)return\"\";if(0===e.naturalWidth||0===e.naturalHeight)return\"\"}return t.createPattern(e,this.repeat)}}),function(t){\"use strict\";var e=t.fabric||(t.fabric={});e.Shadow?e.warn(\"fabric.Shadow is already defined.\"):(e.Shadow=e.util.createClass({color:\"rgb(0,0,0)\",blur:0,offsetX:0,offsetY:0,affectStroke:!1,includeDefaultValues:!0,initialize:function(t){\"string\"==typeof t&&(t=this._parseShadow(t));for(var i in t)this[i]=t[i];this.id=e.Object.__uid++},_parseShadow:function(t){var i=t.trim(),r=e.Shadow.reOffsetsAndBlur.exec(i)||[];return{color:(i.replace(e.Shadow.reOffsetsAndBlur,\"\")||\"rgb(0,0,0)\").trim(),offsetX:parseInt(r[1],10)||0,offsetY:parseInt(r[2],10)||0,blur:parseInt(r[3],10)||0}},toString:function(){return[this.offsetX,this.offsetY,this.blur,this.color].join(\"px \")},toSVG:function(t){var e=\"SourceAlpha\";return!t||t.fill!==this.color&&t.stroke!==this.color||(e=\"SourceGraphic\"),'<filter id=\"SVGID_'+this.id+'\" y=\"-40%\" height=\"180%\"><feGaussianBlur in=\"'+e+'\" stdDeviation=\"'+(this.blur?this.blur/3:0)+'\"></feGaussianBlur><feOffset dx=\"'+this.offsetX+'\" dy=\"'+this.offsetY+'\"></feOffset><feMerge><feMergeNode></feMergeNode><feMergeNode in=\"SourceGraphic\"></feMergeNode></feMerge></filter>'},toObject:function(){if(this.includeDefaultValues)return{color:this.color,blur:this.blur,offsetX:this.offsetX,offsetY:this.offsetY};var t={},i=e.Shadow.prototype;return this.color!==i.color&&(t.color=this.color),this.blur!==i.blur&&(t.blur=this.blur),this.offsetX!==i.offsetX&&(t.offsetX=this.offsetX),this.offsetY!==i.offsetY&&(t.offsetY=this.offsetY),t}}),e.Shadow.reOffsetsAndBlur=/(?:\\s|^)(-?\\d+(?:px)?(?:\\s?|$))?(-?\\d+(?:px)?(?:\\s?|$))?(\\d+(?:px)?)?(?:\\s?|$)(?:$|\\s)/)}(void 0!==exports?exports:this),function(){\"use strict\";if(fabric.StaticCanvas)fabric.warn(\"fabric.StaticCanvas is already defined.\");else{var t=fabric.util.object.extend,e=fabric.util.getElementOffset,i=fabric.util.removeFromArray,r=new Error(\"Could not initialize `canvas` element\");fabric.StaticCanvas=fabric.util.createClass({initialize:function(t,e){e||(e={}),this._initStatic(t,e),fabric.StaticCanvas.activeInstance=this},backgroundColor:\"\",backgroundImage:null,overlayColor:\"\",overlayImage:null,includeDefaultValues:!0,stateful:!0,renderOnAddRemove:!0,clipTo:null,controlsAboveOverlay:!1,allowTouchScrolling:!1,imageSmoothingEnabled:!0,viewportTransform:[1,0,0,1,0,0],onBeforeScaleRotate:function(){},_initStatic:function(t,e){this._objects=[],this._createLowerCanvas(t),this._initOptions(e),this._setImageSmoothing(),e.overlayImage&&this.setOverlayImage(e.overlayImage,this.renderAll.bind(this)),e.backgroundImage&&this.setBackgroundImage(e.backgroundImage,this.renderAll.bind(this)),e.backgroundColor&&this.setBackgroundColor(e.backgroundColor,this.renderAll.bind(this)),e.overlayColor&&this.setOverlayColor(e.overlayColor,this.renderAll.bind(this)),this.calcOffset()},calcOffset:function(){return this._offset=e(this.lowerCanvasEl),this},setOverlayImage:function(t,e,i){return this.__setBgOverlayImage(\"overlayImage\",t,e,i)},setBackgroundImage:function(t,e,i){return this.__setBgOverlayImage(\"backgroundImage\",t,e,i)},setOverlayColor:function(t,e){return this.__setBgOverlayColor(\"overlayColor\",t,e)},setBackgroundColor:function(t,e){return this.__setBgOverlayColor(\"backgroundColor\",t,e)},_setImageSmoothing:function(){var t=this.getContext();t.imageSmoothingEnabled=this.imageSmoothingEnabled,t.webkitImageSmoothingEnabled=this.imageSmoothingEnabled,t.mozImageSmoothingEnabled=this.imageSmoothingEnabled,t.msImageSmoothingEnabled=this.imageSmoothingEnabled,t.oImageSmoothingEnabled=this.imageSmoothingEnabled},__setBgOverlayImage:function(t,e,i,r){return\"string\"==typeof e?fabric.util.loadImage(e,function(e){this[t]=new fabric.Image(e,r),i&&i()},this):(this[t]=e,i&&i()),this},__setBgOverlayColor:function(t,e,i){if(e&&e.source){var r=this;fabric.util.loadImage(e.source,function(n){r[t]=new fabric.Pattern({source:n,repeat:e.repeat,offsetX:e.offsetX,offsetY:e.offsetY}),i&&i()})}else this[t]=e,i&&i();return this},_createCanvasElement:function(){var t=fabric.document.createElement(\"canvas\");if(t.style||(t.style={}),!t)throw r;return this._initCanvasElement(t),t},_initCanvasElement:function(t){if(fabric.util.createCanvasElement(t),void 0===t.getContext)throw r},_initOptions:function(t){for(var e in t)this[e]=t[e];this.width=this.width||parseInt(this.lowerCanvasEl.width,10)||0,this.height=this.height||parseInt(this.lowerCanvasEl.height,10)||0,this.lowerCanvasEl.style&&(this.lowerCanvasEl.width=this.width,this.lowerCanvasEl.height=this.height,this.lowerCanvasEl.style.width=this.width+\"px\",this.lowerCanvasEl.style.height=this.height+\"px\",this.viewportTransform=this.viewportTransform.slice())},_createLowerCanvas:function(t){this.lowerCanvasEl=fabric.util.getById(t)||this._createCanvasElement(),this._initCanvasElement(this.lowerCanvasEl),fabric.util.addClass(this.lowerCanvasEl,\"lower-canvas\"),this.interactive&&this._applyCanvasStyle(this.lowerCanvasEl),this.contextContainer=this.lowerCanvasEl.getContext(\"2d\")},getWidth:function(){return this.width},getHeight:function(){return this.height},setWidth:function(t,e){return this.setDimensions({width:t},e)},setHeight:function(t,e){return this.setDimensions({height:t},e)},setDimensions:function(t,e){var i;e=e||{};for(var r in t)i=t[r],e.cssOnly||(this._setBackstoreDimension(r,t[r]),i+=\"px\"),e.backstoreOnly||this._setCssDimension(r,i);return e.cssOnly||this.renderAll(),this.calcOffset(),this},_setBackstoreDimension:function(t,e){return this.lowerCanvasEl[t]=e,this.upperCanvasEl&&(this.upperCanvasEl[t]=e),this.cacheCanvasEl&&(this.cacheCanvasEl[t]=e),this[t]=e,this},_setCssDimension:function(t,e){return this.lowerCanvasEl.style[t]=e,this.upperCanvasEl&&(this.upperCanvasEl.style[t]=e),this.wrapperEl&&(this.wrapperEl.style[t]=e),this},getZoom:function(){return Math.sqrt(this.viewportTransform[0]*this.viewportTransform[3])},setViewportTransform:function(t){this.viewportTransform=t,this.renderAll();for(var e=0,i=this._objects.length;e<i;e++)this._objects[e].setCoords();return this},zoomToPoint:function(t,e){var i=t;t=fabric.util.transformPoint(t,fabric.util.invertTransform(this.viewportTransform)),this.viewportTransform[0]=e,this.viewportTransform[3]=e;var r=fabric.util.transformPoint(t,this.viewportTransform);this.viewportTransform[4]+=i.x-r.x,this.viewportTransform[5]+=i.y-r.y,this.renderAll();for(var n=0,o=this._objects.length;n<o;n++)this._objects[n].setCoords();return this},setZoom:function(t){return this.zoomToPoint(new fabric.Point(0,0),t),this},absolutePan:function(t){this.viewportTransform[4]=-t.x,this.viewportTransform[5]=-t.y,this.renderAll();for(var e=0,i=this._objects.length;e<i;e++)this._objects[e].setCoords();return this},relativePan:function(t){return this.absolutePan(new fabric.Point(-t.x-this.viewportTransform[4],-t.y-this.viewportTransform[5]))},getElement:function(){return this.lowerCanvasEl},getActiveObject:function(){return null},getActiveGroup:function(){return null},_draw:function(t,e){if(e){t.save();var i=this.viewportTransform;t.transform(i[0],i[1],i[2],i[3],i[4],i[5]),e.render(t),t.restore(),this.controlsAboveOverlay||e._renderControls(t)}},_onObjectAdded:function(t){this.stateful&&t.setupState(),t.canvas=this,t.setCoords(),this.fire(\"object:added\",{target:t}),t.fire(\"added\")},_onObjectRemoved:function(t){this.getActiveObject()===t&&(this.fire(\"before:selection:cleared\",{target:t}),this._discardActiveObject(),this.fire(\"selection:cleared\")),this.fire(\"object:removed\",{target:t}),t.fire(\"removed\")},clearContext:function(t){return t.clearRect(0,0,this.width,this.height),this},getContext:function(){return this.contextContainer},clear:function(){return this._objects.length=0,this.discardActiveGroup&&this.discardActiveGroup(),this.discardActiveObject&&this.discardActiveObject(),this.clearContext(this.contextContainer),this.contextTop&&this.clearContext(this.contextTop),this.fire(\"canvas:cleared\"),this.renderAll(),this},renderAll:function(t){var e=this[!0===t&&this.interactive?\"contextTop\":\"contextContainer\"],i=this.getActiveGroup();return this.contextTop&&this.selection&&!this._groupSelector&&this.clearContext(this.contextTop),t||this.clearContext(e),this.fire(\"before:render\"),this.clipTo&&fabric.util.clipContext(this,e),this._renderBackground(e),this._renderObjects(e,i),this._renderActiveGroup(e,i),this.clipTo&&e.restore(),this._renderOverlay(e),this.controlsAboveOverlay&&this.interactive&&this.drawControls(e),this.fire(\"after:render\"),this},_renderObjects:function(t,e){var i,r;if(e)for(i=0,r=this._objects.length;i<r;++i)this._objects[i]&&!e.contains(this._objects[i])&&this._draw(t,this._objects[i]);else for(i=0,r=this._objects.length;i<r;++i)this._draw(t,this._objects[i])},_renderActiveGroup:function(t,e){if(e){var i=[];this.forEachObject(function(t){e.contains(t)&&i.push(t)}),e._set(\"objects\",i),this._draw(t,e)}},_renderBackground:function(t){this.backgroundColor&&(t.fillStyle=this.backgroundColor.toLive?this.backgroundColor.toLive(t):this.backgroundColor,t.fillRect(this.backgroundColor.offsetX||0,this.backgroundColor.offsetY||0,this.width,this.height)),this.backgroundImage&&this._draw(t,this.backgroundImage)},_renderOverlay:function(t){this.overlayColor&&(t.fillStyle=this.overlayColor.toLive?this.overlayColor.toLive(t):this.overlayColor,t.fillRect(this.overlayColor.offsetX||0,this.overlayColor.offsetY||0,this.width,this.height)),this.overlayImage&&this._draw(t,this.overlayImage)},renderTop:function(){var t=this.contextTop||this.contextContainer;this.clearContext(t),this.selection&&this._groupSelector&&this._drawSelection();var e=this.getActiveGroup();return e&&e.render(t),this._renderOverlay(t),this.fire(\"after:render\"),this},getCenter:function(){return{top:this.getHeight()/2,left:this.getWidth()/2}},centerObjectH:function(t){return this._centerObject(t,new fabric.Point(this.getCenter().left,t.getCenterPoint().y)),this.renderAll(),this},centerObjectV:function(t){return this._centerObject(t,new fabric.Point(t.getCenterPoint().x,this.getCenter().top)),this.renderAll(),this},centerObject:function(t){var e=this.getCenter();return this._centerObject(t,new fabric.Point(e.left,e.top)),this.renderAll(),this},_centerObject:function(t,e){return t.setPositionByOrigin(e,\"center\",\"center\"),this},toDatalessJSON:function(t){return this.toDatalessObject(t)},toObject:function(t){return this._toObjectMethod(\"toObject\",t)},toDatalessObject:function(t){return this._toObjectMethod(\"toDatalessObject\",t)},_toObjectMethod:function(e,i){var r=this.getActiveGroup();r&&this.discardActiveGroup();var n={objects:this._toObjects(e,i)};return t(n,this.__serializeBgOverlay()),fabric.util.populateWithProperties(this,n,i),r&&(this.setActiveGroup(new fabric.Group(r.getObjects(),{originX:\"center\",originY:\"center\"})),r.forEachObject(function(t){t.set(\"active\",!0)}),this._currentTransform&&(this._currentTransform.target=this.getActiveGroup())),n},_toObjects:function(t,e){return this.getObjects().map(function(i){return this._toObject(i,t,e)},this)},_toObject:function(t,e,i){var r;this.includeDefaultValues||(r=t.includeDefaultValues,t.includeDefaultValues=!1);var n=t[e](i);return this.includeDefaultValues||(t.includeDefaultValues=r),n},__serializeBgOverlay:function(){var t={background:this.backgroundColor&&this.backgroundColor.toObject?this.backgroundColor.toObject():this.backgroundColor};return this.overlayColor&&(t.overlay=this.overlayColor.toObject?this.overlayColor.toObject():this.overlayColor),this.backgroundImage&&(t.backgroundImage=this.backgroundImage.toObject()),this.overlayImage&&(t.overlayImage=this.overlayImage.toObject()),t},svgViewportTransformation:!0,toSVG:function(t,e){t||(t={});var i=[];return this._setSVGPreamble(i,t),this._setSVGHeader(i,t),this._setSVGBgOverlayColor(i,\"backgroundColor\"),this._setSVGBgOverlayImage(i,\"backgroundImage\"),this._setSVGObjects(i,e),this._setSVGBgOverlayColor(i,\"overlayColor\"),this._setSVGBgOverlayImage(i,\"overlayImage\"),i.push(\"</svg>\"),i.join(\"\")},_setSVGPreamble:function(t,e){e.suppressPreamble||t.push('<?xml version=\"1.0\" encoding=\"',e.encoding||\"UTF-8\",'\" standalone=\"no\" ?>','<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" ','\"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\\n')},_setSVGHeader:function(t,e){var i,r,n;e.viewBox?(i=e.viewBox.width,r=e.viewBox.height):(i=this.width,r=this.height,this.svgViewportTransformation||(i/=(n=this.viewportTransform)[0],r/=n[3])),t.push(\"<svg \",'xmlns=\"http://www.w3.org/2000/svg\" ','xmlns:xlink=\"http://www.w3.org/1999/xlink\" ','version=\"1.1\" ','width=\"',i,'\" ','height=\"',r,'\" ',this.backgroundColor&&!this.backgroundColor.toLive?'style=\"background-color: '+this.backgroundColor+'\" ':null,e.viewBox?'viewBox=\"'+e.viewBox.x+\" \"+e.viewBox.y+\" \"+e.viewBox.width+\" \"+e.viewBox.height+'\" ':null,'xml:space=\"preserve\">',\"<desc>Created with Fabric.js \",fabric.version,\"</desc>\",\"<defs>\",fabric.createSVGFontFacesMarkup(this.getObjects()),fabric.createSVGRefElementsMarkup(this),\"</defs>\")},_setSVGObjects:function(t,e){var i=this.getActiveGroup();i&&this.discardActiveGroup();for(var r=0,n=this.getObjects(),o=n.length;r<o;r++)t.push(n[r].toSVG(e));i&&(this.setActiveGroup(new fabric.Group(i.getObjects())),i.forEachObject(function(t){t.set(\"active\",!0)}))},_setSVGBgOverlayImage:function(t,e){this[e]&&this[e].toSVG&&t.push(this[e].toSVG())},_setSVGBgOverlayColor:function(t,e){this[e]&&this[e].source?t.push('<rect x=\"',this[e].offsetX,'\" y=\"',this[e].offsetY,'\" ','width=\"',\"repeat-y\"===this[e].repeat||\"no-repeat\"===this[e].repeat?this[e].source.width:this.width,'\" height=\"',\"repeat-x\"===this[e].repeat||\"no-repeat\"===this[e].repeat?this[e].source.height:this.height,'\" fill=\"url(#'+e+'Pattern)\"',\"></rect>\"):this[e]&&\"overlayColor\"===e&&t.push('<rect x=\"0\" y=\"0\" ','width=\"',this.width,'\" height=\"',this.height,'\" fill=\"',this[e],'\"',\"></rect>\")},sendToBack:function(t){return i(this._objects,t),this._objects.unshift(t),this.renderAll&&this.renderAll()},bringToFront:function(t){return i(this._objects,t),this._objects.push(t),this.renderAll&&this.renderAll()},sendBackwards:function(t,e){var r=this._objects.indexOf(t);if(0!==r){var n=this._findNewLowerIndex(t,r,e);i(this._objects,t),this._objects.splice(n,0,t),this.renderAll&&this.renderAll()}return this},_findNewLowerIndex:function(t,e,i){var r;if(i){r=e;for(var n=e-1;n>=0;--n)if(t.intersectsWithObject(this._objects[n])||t.isContainedWithinObject(this._objects[n])||this._objects[n].isContainedWithinObject(t)){r=n;break}}else r=e-1;return r},bringForward:function(t,e){var r=this._objects.indexOf(t);if(r!==this._objects.length-1){var n=this._findNewUpperIndex(t,r,e);i(this._objects,t),this._objects.splice(n,0,t),this.renderAll&&this.renderAll()}return this},_findNewUpperIndex:function(t,e,i){var r;if(i){r=e;for(var n=e+1;n<this._objects.length;++n)if(t.intersectsWithObject(this._objects[n])||t.isContainedWithinObject(this._objects[n])||this._objects[n].isContainedWithinObject(t)){r=n;break}}else r=e+1;return r},moveTo:function(t,e){return i(this._objects,t),this._objects.splice(e,0,t),this.renderAll&&this.renderAll()},dispose:function(){return this.clear(),this.interactive&&this.removeListeners(),this},toString:function(){return\"#<fabric.Canvas (\"+this.complexity()+\"): { objects: \"+this.getObjects().length+\" }>\"}}),t(fabric.StaticCanvas.prototype,fabric.Observable),t(fabric.StaticCanvas.prototype,fabric.Collection),t(fabric.StaticCanvas.prototype,fabric.DataURLExporter),t(fabric.StaticCanvas,{EMPTY_JSON:'{\"objects\": [], \"background\": \"white\"}',supports:function(t){var e=fabric.util.createCanvasElement();if(!e||!e.getContext)return null;var i=e.getContext(\"2d\");if(!i)return null;switch(t){case\"getImageData\":return void 0!==i.getImageData;case\"setLineDash\":return void 0!==i.setLineDash;case\"toDataURL\":return void 0!==e.toDataURL;case\"toDataURLWithQuality\":try{return e.toDataURL(\"image/jpeg\",0),!0}catch(t){}return!1;default:return null}}}),fabric.StaticCanvas.prototype.toJSON=fabric.StaticCanvas.prototype.toObject}}(),fabric.BaseBrush=fabric.util.createClass({color:\"rgb(0, 0, 0)\",width:1,shadow:null,strokeLineCap:\"round\",strokeLineJoin:\"round\",setShadow:function(t){return this.shadow=new fabric.Shadow(t),this},_setBrushStyles:function(){var t=this.canvas.contextTop;t.strokeStyle=this.color,t.lineWidth=this.width,t.lineCap=this.strokeLineCap,t.lineJoin=this.strokeLineJoin},_setShadow:function(){if(this.shadow){var t=this.canvas.contextTop;t.shadowColor=this.shadow.color,t.shadowBlur=this.shadow.blur,t.shadowOffsetX=this.shadow.offsetX,t.shadowOffsetY=this.shadow.offsetY}},_resetShadow:function(){var t=this.canvas.contextTop;t.shadowColor=\"\",t.shadowBlur=t.shadowOffsetX=t.shadowOffsetY=0}}),function(){var t=fabric.util.array.min,e=fabric.util.array.max;fabric.PencilBrush=fabric.util.createClass(fabric.BaseBrush,{initialize:function(t){this.canvas=t,this._points=[]},onMouseDown:function(t){this._prepareForDrawing(t),this._captureDrawingPath(t),this._render()},onMouseMove:function(t){this._captureDrawingPath(t),this.canvas.clearContext(this.canvas.contextTop),this._render()},onMouseUp:function(){this._finalizeAndAddPath()},_prepareForDrawing:function(t){var e=new fabric.Point(t.x,t.y);this._reset(),this._addPoint(e),this.canvas.contextTop.moveTo(e.x,e.y)},_addPoint:function(t){this._points.push(t)},_reset:function(){this._points.length=0,this._setBrushStyles(),this._setShadow()},_captureDrawingPath:function(t){var e=new fabric.Point(t.x,t.y);this._addPoint(e)},_render:function(){var t=this.canvas.contextTop,e=this.canvas.viewportTransform,i=this._points[0],r=this._points[1];t.save(),t.transform(e[0],e[1],e[2],e[3],e[4],e[5]),t.beginPath(),2===this._points.length&&i.x===r.x&&i.y===r.y&&(i.x-=.5,r.x+=.5),t.moveTo(i.x,i.y);for(var n=1,o=this._points.length;n<o;n++){var s=i.midPointFrom(r);t.quadraticCurveTo(i.x,i.y,s.x,s.y),i=this._points[n],r=this._points[n+1]}t.lineTo(i.x,i.y),t.stroke(),t.restore()},_getSVGPathData:function(){return this.box=this.getPathBoundingBox(this._points),this.convertPointsToSVGPath(this._points,this.box.minX,this.box.minY)},getPathBoundingBox:function(i){for(var r=[],n=[],o=i[0],s=i[1],a=o,h=1,c=i.length;h<c;h++){var l=o.midPointFrom(s);r.push(a.x),r.push(l.x),n.push(a.y),n.push(l.y),o=i[h],s=i[h+1],a=l}return r.push(o.x),n.push(o.y),{minX:t(r),minY:t(n),maxX:e(r),maxY:e(n)}},convertPointsToSVGPath:function(t,e,i){var r=[],n=new fabric.Point(t[0].x-e,t[0].y-i),o=new fabric.Point(t[1].x-e,t[1].y-i);r.push(\"M \",t[0].x-e,\" \",t[0].y-i,\" \");for(var s=1,a=t.length;s<a;s++){var h=n.midPointFrom(o);r.push(\"Q \",n.x,\" \",n.y,\" \",h.x,\" \",h.y,\" \"),n=new fabric.Point(t[s].x-e,t[s].y-i),s+1<t.length&&(o=new fabric.Point(t[s+1].x-e,t[s+1].y-i))}return r.push(\"L \",n.x,\" \",n.y,\" \"),r},createPath:function(t){var e=new fabric.Path(t);return e.fill=null,e.stroke=this.color,e.strokeWidth=this.width,e.strokeLineCap=this.strokeLineCap,e.strokeLineJoin=this.strokeLineJoin,this.shadow&&(this.shadow.affectStroke=!0,e.setShadow(this.shadow)),e},_finalizeAndAddPath:function(){this.canvas.contextTop.closePath();var t=this._getSVGPathData().join(\"\");if(\"M 0 0 Q 0 0 0 0 L 0 0\"!==t){var e=this.box.minX+(this.box.maxX-this.box.minX)/2,i=this.box.minY+(this.box.maxY-this.box.minY)/2;this.canvas.contextTop.arc(e,i,3,0,2*Math.PI,!1);var r=this.createPath(t);r.set({left:e,top:i,originX:\"center\",originY:\"center\"}),this.canvas.add(r),r.setCoords(),this.canvas.clearContext(this.canvas.contextTop),this._resetShadow(),this.canvas.renderAll(),this.canvas.fire(\"path:created\",{path:r})}else this.canvas.renderAll()}})}(),fabric.CircleBrush=fabric.util.createClass(fabric.BaseBrush,{width:10,initialize:function(t){this.canvas=t,this.points=[]},drawDot:function(t){var e=this.addPoint(t),i=this.canvas.contextTop,r=this.canvas.viewportTransform;i.save(),i.transform(r[0],r[1],r[2],r[3],r[4],r[5]),i.fillStyle=e.fill,i.beginPath(),i.arc(e.x,e.y,e.radius,0,2*Math.PI,!1),i.closePath(),i.fill(),i.restore()},onMouseDown:function(t){this.points.length=0,this.canvas.clearContext(this.canvas.contextTop),this._setShadow(),this.drawDot(t)},onMouseMove:function(t){this.drawDot(t)},onMouseUp:function(){var t=this.canvas.renderOnAddRemove;this.canvas.renderOnAddRemove=!1;for(var e=[],i=0,r=this.points.length;i<r;i++){var n=this.points[i],o=new fabric.Circle({radius:n.radius,left:n.x,top:n.y,originX:\"center\",originY:\"center\",fill:n.fill});this.shadow&&o.setShadow(this.shadow),e.push(o)}var s=new fabric.Group(e,{originX:\"center\",originY:\"center\"});s.canvas=this.canvas,this.canvas.add(s),this.canvas.fire(\"path:created\",{path:s}),this.canvas.clearContext(this.canvas.contextTop),this._resetShadow(),this.canvas.renderOnAddRemove=t,this.canvas.renderAll()},addPoint:function(t){var e=new fabric.Point(t.x,t.y),i=fabric.util.getRandomInt(Math.max(0,this.width-20),this.width+20)/2,r=new fabric.Color(this.color).setAlpha(fabric.util.getRandomInt(0,100)/100).toRgba();return e.radius=i,e.fill=r,this.points.push(e),e}}),fabric.SprayBrush=fabric.util.createClass(fabric.BaseBrush,{width:10,density:20,dotWidth:1,dotWidthVariance:1,randomOpacity:!1,optimizeOverlapping:!0,initialize:function(t){this.canvas=t,this.sprayChunks=[]},onMouseDown:function(t){this.sprayChunks.length=0,this.canvas.clearContext(this.canvas.contextTop),this._setShadow(),this.addSprayChunk(t),this.render()},onMouseMove:function(t){this.addSprayChunk(t),this.render()},onMouseUp:function(){var t=this.canvas.renderOnAddRemove;this.canvas.renderOnAddRemove=!1;for(var e=[],i=0,r=this.sprayChunks.length;i<r;i++)for(var n=this.sprayChunks[i],o=0,s=n.length;o<s;o++){var a=new fabric.Rect({width:n[o].width,height:n[o].width,left:n[o].x+1,top:n[o].y+1,originX:\"center\",originY:\"center\",fill:this.color});this.shadow&&a.setShadow(this.shadow),e.push(a)}this.optimizeOverlapping&&(e=this._getOptimizedRects(e));var h=new fabric.Group(e,{originX:\"center\",originY:\"center\"});h.canvas=this.canvas,this.canvas.add(h),this.canvas.fire(\"path:created\",{path:h}),this.canvas.clearContext(this.canvas.contextTop),this._resetShadow(),this.canvas.renderOnAddRemove=t,this.canvas.renderAll()},_getOptimizedRects:function(t){for(var e,i={},r=0,n=t.length;r<n;r++)i[e=t[r].left+\"\"+t[r].top]||(i[e]=t[r]);var o=[];for(e in i)o.push(i[e]);return o},render:function(){var t=this.canvas.contextTop;t.fillStyle=this.color;var e=this.canvas.viewportTransform;t.save(),t.transform(e[0],e[1],e[2],e[3],e[4],e[5]);for(var i=0,r=this.sprayChunkPoints.length;i<r;i++){var n=this.sprayChunkPoints[i];void 0!==n.opacity&&(t.globalAlpha=n.opacity),t.fillRect(n.x,n.y,n.width,n.width)}t.restore()},addSprayChunk:function(t){this.sprayChunkPoints=[];for(var e,i,r,n=this.width/2,o=0;o<this.density;o++){e=fabric.util.getRandomInt(t.x-n,t.x+n),i=fabric.util.getRandomInt(t.y-n,t.y+n),r=this.dotWidthVariance?fabric.util.getRandomInt(Math.max(1,this.dotWidth-this.dotWidthVariance),this.dotWidth+this.dotWidthVariance):this.dotWidth;var s=new fabric.Point(e,i);s.width=r,this.randomOpacity&&(s.opacity=fabric.util.getRandomInt(0,100)/100),this.sprayChunkPoints.push(s)}this.sprayChunks.push(this.sprayChunkPoints)}}),fabric.PatternBrush=fabric.util.createClass(fabric.PencilBrush,{getPatternSrc:function(){var t=fabric.document.createElement(\"canvas\"),e=t.getContext(\"2d\");return t.width=t.height=25,e.fillStyle=this.color,e.beginPath(),e.arc(10,10,10,0,2*Math.PI,!1),e.closePath(),e.fill(),t},getPatternSrcFunction:function(){return String(this.getPatternSrc).replace(\"this.color\",'\"'+this.color+'\"')},getPattern:function(){return this.canvas.contextTop.createPattern(this.source||this.getPatternSrc(),\"repeat\")},_setBrushStyles:function(){this.callSuper(\"_setBrushStyles\"),this.canvas.contextTop.strokeStyle=this.getPattern()},createPath:function(t){var e=this.callSuper(\"createPath\",t);return e.stroke=new fabric.Pattern({source:this.source||this.getPatternSrcFunction()}),e}}),fabric.util.object.extend(fabric.StaticCanvas.prototype,{toDataURL:function(t){t||(t={});var e=t.format||\"png\",i=t.quality||1,r=t.multiplier||1,n={left:t.left,top:t.top,width:t.width,height:t.height};return 1!==r?this.__toDataURLWithMultiplier(e,i,n,r):this.__toDataURL(e,i,n)},__toDataURL:function(t,e,i){this.renderAll(!0);var r=this.upperCanvasEl||this.lowerCanvasEl,n=this.__getCroppedCanvas(r,i);\"jpg\"===t&&(t=\"jpeg\");var o=fabric.StaticCanvas.supports(\"toDataURLWithQuality\")?(n||r).toDataURL(\"image/\"+t,e):(n||r).toDataURL(\"image/\"+t);return this.contextTop&&this.clearContext(this.contextTop),this.renderAll(),n&&(n=null),o},__getCroppedCanvas:function(t,e){var i,r;return(\"left\"in e||\"top\"in e||\"width\"in e||\"height\"in e)&&(r=(i=fabric.util.createCanvasElement()).getContext(\"2d\"),i.width=e.width||this.width,i.height=e.height||this.height,r.drawImage(t,-e.left||0,-e.top||0)),i},__toDataURLWithMultiplier:function(t,e,i,r){var n=this.getWidth(),o=this.getHeight(),s=n*r,a=o*r,h=this.getActiveObject(),c=this.getActiveGroup(),l=this.contextTop||this.contextContainer;r>1&&this.setWidth(s).setHeight(a),l.scale(r,r),i.left&&(i.left*=r),i.top&&(i.top*=r),i.width?i.width*=r:r<1&&(i.width=s),i.height?i.height*=r:r<1&&(i.height=a),c?this._tempRemoveBordersControlsFromGroup(c):h&&this.deactivateAll&&this.deactivateAll(),this.renderAll(!0);var u=this.__toDataURL(t,e,i);return this.width=n,this.height=o,l.scale(1/r,1/r),this.setWidth(n).setHeight(o),c?this._restoreBordersControlsOnGroup(c):h&&this.setActiveObject&&this.setActiveObject(h),this.contextTop&&this.clearContext(this.contextTop),this.renderAll(),u},toDataURLWithMultiplier:function(t,e,i){return this.toDataURL({format:t,multiplier:e,quality:i})},_tempRemoveBordersControlsFromGroup:function(t){t.origHasControls=t.hasControls,t.origBorderColor=t.borderColor,t.hasControls=!0,t.borderColor=\"rgba(0,0,0,0)\",t.forEachObject(function(t){t.origBorderColor=t.borderColor,t.borderColor=\"rgba(0,0,0,0)\"})},_restoreBordersControlsOnGroup:function(t){t.hideControls=t.origHideControls,t.borderColor=t.origBorderColor,t.forEachObject(function(t){t.borderColor=t.origBorderColor,delete t.origBorderColor})}}),fabric.util.object.extend(fabric.StaticCanvas.prototype,{loadFromDatalessJSON:function(t,e,i){return this.loadFromJSON(t,e,i)},loadFromJSON:function(t,e,i){if(t){var r=\"string\"==typeof t?JSON.parse(t):t;this.clear();var n=this;return this._enlivenObjects(r.objects,function(){n._setBgOverlay(r,e)},i),this}},_setBgOverlay:function(t,e){var i=this,r={backgroundColor:!1,overlayColor:!1,backgroundImage:!1,overlayImage:!1};if(t.backgroundImage||t.overlayImage||t.background||t.overlay){var n=function(){r.backgroundImage&&r.overlayImage&&r.backgroundColor&&r.overlayColor&&(i.renderAll(),e&&e())};this.__setBgOverlay(\"backgroundImage\",t.backgroundImage,r,n),this.__setBgOverlay(\"overlayImage\",t.overlayImage,r,n),this.__setBgOverlay(\"backgroundColor\",t.background,r,n),this.__setBgOverlay(\"overlayColor\",t.overlay,r,n),n()}else e&&e()},__setBgOverlay:function(t,e,i,r){var n=this;e?\"backgroundImage\"===t||\"overlayImage\"===t?fabric.Image.fromObject(e,function(e){n[t]=e,i[t]=!0,r&&r()}):this[\"set\"+fabric.util.string.capitalize(t,!0)](e,function(){i[t]=!0,r&&r()}):i[t]=!0},_enlivenObjects:function(t,e,i){var r=this;if(t&&0!==t.length){var n=this.renderOnAddRemove;this.renderOnAddRemove=!1,fabric.util.enlivenObjects(t,function(t){t.forEach(function(t,e){r.insertAt(t,e,!0)}),r.renderOnAddRemove=n,e&&e()},null,i)}else e&&e()},_toDataURL:function(t,e){this.clone(function(i){e(i.toDataURL(t))})},_toDataURLWithMultiplier:function(t,e,i){this.clone(function(r){i(r.toDataURLWithMultiplier(t,e))})},clone:function(t,e){var i=JSON.stringify(this.toJSON(e));this.cloneWithoutData(function(e){e.loadFromJSON(i,function(){t&&t(e)})})},cloneWithoutData:function(t){var e=fabric.document.createElement(\"canvas\");e.width=this.getWidth(),e.height=this.getHeight();var i=new fabric.Canvas(e);i.clipTo=this.clipTo,this.backgroundImage?(i.setBackgroundImage(this.backgroundImage.src,function(){i.renderAll(),t&&t(i)}),i.backgroundImageOpacity=this.backgroundImageOpacity,i.backgroundImageStretch=this.backgroundImageStretch):t&&t(i)}}),function(t){\"use strict\";var e=t.fabric||(t.fabric={}),i=e.util.object.extend,r=e.util.toFixed,n=e.util.string.capitalize,o=e.util.degreesToRadians,s=e.StaticCanvas.supports(\"setLineDash\");e.Object||(e.Object=e.util.createClass({type:\"object\",originX:\"left\",originY:\"top\",top:0,left:0,width:0,height:0,scaleX:1,scaleY:1,flipX:!1,flipY:!1,opacity:1,angle:0,cornerSize:12,transparentCorners:!0,hoverCursor:null,padding:0,borderColor:\"rgba(102,153,255,0.75)\",cornerColor:\"rgba(102,153,255,0.5)\",centeredScaling:!1,centeredRotation:!0,fill:\"rgb(0,0,0)\",fillRule:\"source-over\",backgroundColor:\"\",stroke:null,strokeWidth:1,strokeDashArray:null,strokeLineCap:\"butt\",strokeLineJoin:\"miter\",strokeMiterLimit:10,shadow:null,borderOpacityWhenMoving:.4,borderScaleFactor:1,transformMatrix:null,minScaleLimit:.01,selectable:!0,evented:!0,visible:!0,hasControls:!0,hasBorders:!0,hasRotatingPoint:!0,rotatingPointOffset:40,perPixelTargetFind:!1,includeDefaultValues:!0,clipTo:null,lockMovementX:!1,lockMovementY:!1,lockRotation:!1,lockScalingX:!1,lockScalingY:!1,lockUniScaling:!1,lockScalingFlip:!1,stateProperties:\"top left width height scaleX scaleY flipX flipY originX originY transformMatrix stroke strokeWidth strokeDashArray strokeLineCap strokeLineJoin strokeMiterLimit angle opacity fill fillRule shadow clipTo visible backgroundColor\".split(\" \"),initialize:function(t){t&&this.setOptions(t)},_initGradient:function(t){!t.fill||!t.fill.colorStops||t.fill instanceof e.Gradient||this.set(\"fill\",new e.Gradient(t.fill))},_initPattern:function(t){!t.fill||!t.fill.source||t.fill instanceof e.Pattern||this.set(\"fill\",new e.Pattern(t.fill)),!t.stroke||!t.stroke.source||t.stroke instanceof e.Pattern||this.set(\"stroke\",new e.Pattern(t.stroke))},_initClipping:function(t){if(t.clipTo&&\"string\"==typeof t.clipTo){var i=e.util.getFunctionBody(t.clipTo);void 0!==i&&(this.clipTo=new Function(\"ctx\",i))}},setOptions:function(t){for(var e in t)this.set(e,t[e]);this._initGradient(t),this._initPattern(t),this._initClipping(t)},transform:function(t,e){this.group&&this.group.transform(t,e),t.globalAlpha=this.opacity;var i=e?this._getLeftTopCoords():this.getCenterPoint();t.translate(i.x,i.y),t.rotate(o(this.angle)),t.scale(this.scaleX*(this.flipX?-1:1),this.scaleY*(this.flipY?-1:1))},toObject:function(t){var i=e.Object.NUM_FRACTION_DIGITS,n={type:this.type,originX:this.originX,originY:this.originY,left:r(this.left,i),top:r(this.top,i),width:r(this.width,i),height:r(this.height,i),fill:this.fill&&this.fill.toObject?this.fill.toObject():this.fill,stroke:this.stroke&&this.stroke.toObject?this.stroke.toObject():this.stroke,strokeWidth:r(this.strokeWidth,i),strokeDashArray:this.strokeDashArray,strokeLineCap:this.strokeLineCap,strokeLineJoin:this.strokeLineJoin,strokeMiterLimit:r(this.strokeMiterLimit,i),scaleX:r(this.scaleX,i),scaleY:r(this.scaleY,i),angle:r(this.getAngle(),i),flipX:this.flipX,flipY:this.flipY,opacity:r(this.opacity,i),shadow:this.shadow&&this.shadow.toObject?this.shadow.toObject():this.shadow,visible:this.visible,clipTo:this.clipTo&&String(this.clipTo),backgroundColor:this.backgroundColor};return this.includeDefaultValues||(n=this._removeDefaultValues(n)),e.util.populateWithProperties(this,n,t),n},toDatalessObject:function(t){return this.toObject(t)},_removeDefaultValues:function(t){var i=e.util.getKlass(t.type).prototype;return i.stateProperties.forEach(function(e){t[e]===i[e]&&delete t[e]}),t},toString:function(){return\"#<fabric.\"+n(this.type)+\">\"},get:function(t){return this[t]},_setObject:function(t){for(var e in t)this._set(e,t[e])},set:function(t,e){return\"object\"==typeof t?this._setObject(t):\"function\"==typeof e&&\"clipTo\"!==t?this._set(t,e(this.get(t))):this._set(t,e),this},_set:function(t,i){return(\"scaleX\"===t||\"scaleY\"===t)&&(i=this._constrainScale(i)),\"scaleX\"===t&&i<0?(this.flipX=!this.flipX,i*=-1):\"scaleY\"===t&&i<0?(this.flipY=!this.flipY,i*=-1):\"width\"===t||\"height\"===t?this.minScaleLimit=r(Math.min(.1,1/Math.max(this.width,this.height)),2):\"shadow\"!==t||!i||i instanceof e.Shadow||(i=new e.Shadow(i)),this[t]=i,this},toggle:function(t){var e=this.get(t);return\"boolean\"==typeof e&&this.set(t,!e),this},setSourcePath:function(t){return this.sourcePath=t,this},getViewportTransform:function(){return this.canvas&&this.canvas.viewportTransform?this.canvas.viewportTransform:[1,0,0,1,0,0]},render:function(t,i){if(0!==this.width&&0!==this.height&&this.visible){if(t.save(),this._setupFillRule(t),this._transform(t,i),this._setStrokeStyles(t),this._setFillStyles(t),this.group&&\"path-group\"===this.group.type){t.translate(-this.group.width/2,-this.group.height/2);var r=this.transformMatrix;r&&t.transform.apply(t,r)}t.globalAlpha=this.group?t.globalAlpha*this.opacity:this.opacity,this._setShadow(t),this.clipTo&&e.util.clipContext(this,t),this._render(t,i),this.clipTo&&t.restore(),this._removeShadow(t),this._restoreFillRule(t),t.restore()}},_transform:function(t,e){var i=this.transformMatrix;i&&!this.group&&t.setTransform.apply(t,i),e||this.transform(t)},_setStrokeStyles:function(t){this.stroke&&(t.lineWidth=this.strokeWidth,t.lineCap=this.strokeLineCap,t.lineJoin=this.strokeLineJoin,t.miterLimit=this.strokeMiterLimit,t.strokeStyle=this.stroke.toLive?this.stroke.toLive(t):this.stroke)},_setFillStyles:function(t){this.fill&&(t.fillStyle=this.fill.toLive?this.fill.toLive(t):this.fill)},_renderControls:function(t,i){var r=this.getViewportTransform();if(t.save(),this.active&&!i){var n;this.group&&(n=e.util.transformPoint(this.group.getCenterPoint(),r),t.translate(n.x,n.y),t.rotate(o(this.group.angle))),n=e.util.transformPoint(this.getCenterPoint(),r,null!=this.group),this.group&&(n.x*=this.group.scaleX,n.y*=this.group.scaleY),t.translate(n.x,n.y),t.rotate(o(this.angle)),this.drawBorders(t),this.drawControls(t)}t.restore()},_setShadow:function(t){this.shadow&&(t.shadowColor=this.shadow.color,t.shadowBlur=this.shadow.blur,t.shadowOffsetX=this.shadow.offsetX,t.shadowOffsetY=this.shadow.offsetY)},_removeShadow:function(t){this.shadow&&(t.shadowColor=\"\",t.shadowBlur=t.shadowOffsetX=t.shadowOffsetY=0)},_renderFill:function(t){if(this.fill){if(t.save(),this.fill.toLive&&t.translate(-this.width/2+this.fill.offsetX||0,-this.height/2+this.fill.offsetY||0),this.fill.gradientTransform){var e=this.fill.gradientTransform;t.transform.apply(t,e)}\"destination-over\"===this.fillRule?t.fill(\"evenodd\"):t.fill(),t.restore(),this.shadow&&!this.shadow.affectStroke&&this._removeShadow(t)}},_renderStroke:function(t){if(this.stroke&&0!==this.strokeWidth){if(t.save(),this.strokeDashArray)1&this.strokeDashArray.length&&this.strokeDashArray.push.apply(this.strokeDashArray,this.strokeDashArray),s?(t.setLineDash(this.strokeDashArray),this._stroke&&this._stroke(t)):this._renderDashedStroke&&this._renderDashedStroke(t),t.stroke();else{if(this.stroke.gradientTransform){var e=this.stroke.gradientTransform;t.transform.apply(t,e)}this._stroke?this._stroke(t):t.stroke()}this._removeShadow(t),t.restore()}},clone:function(t,i){return this.constructor.fromObject?this.constructor.fromObject(this.toObject(i),t):new e.Object(this.toObject(i))},cloneAsImage:function(t){var i=this.toDataURL();return e.util.loadImage(i,function(i){t&&t(new e.Image(i))}),this},toDataURL:function(t){t||(t={});var i=e.util.createCanvasElement(),r=this.getBoundingRect();i.width=r.width,i.height=r.height,e.util.wrapElement(i,\"div\");var n=new e.Canvas(i);\"jpg\"===t.format&&(t.format=\"jpeg\"),\"jpeg\"===t.format&&(n.backgroundColor=\"#fff\");var o={active:this.get(\"active\"),left:this.getLeft(),top:this.getTop()};this.set(\"active\",!1),this.setPositionByOrigin(new e.Point(i.width/2,i.height/2),\"center\",\"center\");var s=this.canvas;n.add(this);var a=n.toDataURL(t);return this.set(o).setCoords(),this.canvas=s,n.dispose(),n=null,a},isType:function(t){return this.type===t},complexity:function(){return 0},toJSON:function(t){return this.toObject(t)},setGradient:function(t,i){i||(i={});var r={colorStops:[]};r.type=i.type||(i.r1||i.r2?\"radial\":\"linear\"),r.coords={x1:i.x1,y1:i.y1,x2:i.x2,y2:i.y2},(i.r1||i.r2)&&(r.coords.r1=i.r1,r.coords.r2=i.r2);for(var n in i.colorStops){var o=new e.Color(i.colorStops[n]);r.colorStops.push({offset:n,color:o.toRgb(),opacity:o.getAlpha()})}return this.set(t,e.Gradient.forObject(this,r))},setPatternFill:function(t){return this.set(\"fill\",new e.Pattern(t))},setShadow:function(t){return this.set(\"shadow\",t?new e.Shadow(t):null)},setColor:function(t){return this.set(\"fill\",t),this},setAngle:function(t){var e=(\"center\"!==this.originX||\"center\"!==this.originY)&&this.centeredRotation;return e&&this._setOriginToCenter(),this.set(\"angle\",t),e&&this._resetOrigin(),this},centerH:function(){return this.canvas.centerObjectH(this),this},centerV:function(){return this.canvas.centerObjectV(this),this},center:function(){return this.canvas.centerObject(this),this},remove:function(){return this.canvas.remove(this),this},getLocalPointer:function(t,e){e=e||this.canvas.getPointer(t);var i=this.translateToOriginPoint(this.getCenterPoint(),\"left\",\"top\");return{x:e.x-i.x,y:e.y-i.y}},_setupFillRule:function(t){this.fillRule&&(this._prevFillRule=t.globalCompositeOperation,t.globalCompositeOperation=this.fillRule)},_restoreFillRule:function(t){this.fillRule&&this._prevFillRule&&(t.globalCompositeOperation=this._prevFillRule)}}),e.util.createAccessors(e.Object),e.Object.prototype.rotate=e.Object.prototype.setAngle,i(e.Object.prototype,e.Observable),e.Object.NUM_FRACTION_DIGITS=2,e.Object.__uid=0)}(void 0!==exports?exports:this),function(){var t=fabric.util.degreesToRadians;fabric.util.object.extend(fabric.Object.prototype,{translateToCenterPoint:function(e,i,r){var n=e.x,o=e.y,s=this.stroke?this.strokeWidth:0;return\"left\"===i?n=e.x+(this.getWidth()+s*this.scaleX)/2:\"right\"===i&&(n=e.x-(this.getWidth()+s*this.scaleX)/2),\"top\"===r?o=e.y+(this.getHeight()+s*this.scaleY)/2:\"bottom\"===r&&(o=e.y-(this.getHeight()+s*this.scaleY)/2),fabric.util.rotatePoint(new fabric.Point(n,o),e,t(this.angle))},translateToOriginPoint:function(e,i,r){var n=e.x,o=e.y,s=this.stroke?this.strokeWidth:0;return\"left\"===i?n=e.x-(this.getWidth()+s*this.scaleX)/2:\"right\"===i&&(n=e.x+(this.getWidth()+s*this.scaleX)/2),\"top\"===r?o=e.y-(this.getHeight()+s*this.scaleY)/2:\"bottom\"===r&&(o=e.y+(this.getHeight()+s*this.scaleY)/2),fabric.util.rotatePoint(new fabric.Point(n,o),e,t(this.angle))},getCenterPoint:function(){var t=new fabric.Point(this.left,this.top);return this.translateToCenterPoint(t,this.originX,this.originY)},getPointByOrigin:function(t,e){var i=this.getCenterPoint();return this.translateToOriginPoint(i,t,e)},toLocalPoint:function(e,i,r){var n,o,s=this.getCenterPoint(),a=this.stroke?this.strokeWidth:0;return i&&r?(n=\"left\"===i?s.x-(this.getWidth()+a*this.scaleX)/2:\"right\"===i?s.x+(this.getWidth()+a*this.scaleX)/2:s.x,o=\"top\"===r?s.y-(this.getHeight()+a*this.scaleY)/2:\"bottom\"===r?s.y+(this.getHeight()+a*this.scaleY)/2:s.y):(n=this.left,o=this.top),fabric.util.rotatePoint(new fabric.Point(e.x,e.y),s,-t(this.angle)).subtractEquals(new fabric.Point(n,o))},setPositionByOrigin:function(t,e,i){var r=this.translateToCenterPoint(t,e,i),n=this.translateToOriginPoint(r,this.originX,this.originY);this.set(\"left\",n.x),this.set(\"top\",n.y)},adjustPosition:function(e){var i=t(this.angle),r=this.getWidth()/2,n=Math.cos(i)*r,o=Math.sin(i)*r,s=this.getWidth(),a=Math.cos(i)*s,h=Math.sin(i)*s;\"center\"===this.originX&&\"left\"===e||\"right\"===this.originX&&\"center\"===e?(this.left-=n,this.top-=o):\"left\"===this.originX&&\"center\"===e||\"center\"===this.originX&&\"right\"===e?(this.left+=n,this.top+=o):\"left\"===this.originX&&\"right\"===e?(this.left+=a,this.top+=h):\"right\"===this.originX&&\"left\"===e&&(this.left-=a,this.top-=h),this.setCoords(),this.originX=e},_setOriginToCenter:function(){this._originalOriginX=this.originX,this._originalOriginY=this.originY;var t=this.getCenterPoint();this.originX=\"center\",this.originY=\"center\",this.left=t.x,this.top=t.y},_resetOrigin:function(){var t=this.translateToOriginPoint(this.getCenterPoint(),this._originalOriginX,this._originalOriginY);this.originX=this._originalOriginX,this.originY=this._originalOriginY,this.left=t.x,this.top=t.y,this._originalOriginX=null,this._originalOriginY=null},_getLeftTopCoords:function(){return this.translateToOriginPoint(this.getCenterPoint(),\"left\",\"center\")}})}(),function(){var t=fabric.util.degreesToRadians;fabric.util.object.extend(fabric.Object.prototype,{oCoords:null,intersectsWithRect:function(t,e){var i=this.oCoords,r=new fabric.Point(i.tl.x,i.tl.y),n=new fabric.Point(i.tr.x,i.tr.y),o=new fabric.Point(i.bl.x,i.bl.y),s=new fabric.Point(i.br.x,i.br.y);return\"Intersection\"===fabric.Intersection.intersectPolygonRectangle([r,n,s,o],t,e).status},intersectsWithObject:function(t){function e(t){return{tl:new fabric.Point(t.tl.x,t.tl.y),tr:new fabric.Point(t.tr.x,t.tr.y),bl:new fabric.Point(t.bl.x,t.bl.y),br:new fabric.Point(t.br.x,t.br.y)}}var i=e(this.oCoords),r=e(t.oCoords);return\"Intersection\"===fabric.Intersection.intersectPolygonPolygon([i.tl,i.tr,i.br,i.bl],[r.tl,r.tr,r.br,r.bl]).status},isContainedWithinObject:function(t){var e=t.getBoundingRect(),i=new fabric.Point(e.left,e.top),r=new fabric.Point(e.left+e.width,e.top+e.height);return this.isContainedWithinRect(i,r)},isContainedWithinRect:function(t,e){var i=this.getBoundingRect();return i.left>=t.x&&i.left+i.width<=e.x&&i.top>=t.y&&i.top+i.height<=e.y},containsPoint:function(t){var e=this._getImageLines(this.oCoords),i=this._findCrossPoints(t,e);return 0!==i&&i%2==1},_getImageLines:function(t){return{topline:{o:t.tl,d:t.tr},rightline:{o:t.tr,d:t.br},bottomline:{o:t.br,d:t.bl},leftline:{o:t.bl,d:t.tl}}},_findCrossPoints:function(t,e){var i,r,n,o,s,a=0;for(var h in e)if(!((s=e[h]).o.y<t.y&&s.d.y<t.y||s.o.y>=t.y&&s.d.y>=t.y||(s.o.x===s.d.x&&s.o.x>=t.x?(o=s.o.x,t.y):(i=0,r=(s.d.y-s.o.y)/(s.d.x-s.o.x),(n=t.y-i*t.x)+i*(o=-(n-(s.o.y-r*s.o.x))/(i-r))),o>=t.x&&(a+=1),2!==a)))break;return a},getBoundingRectWidth:function(){return this.getBoundingRect().width},getBoundingRectHeight:function(){return this.getBoundingRect().height},getBoundingRect:function(){this.oCoords||this.setCoords();var t=[this.oCoords.tl.x,this.oCoords.tr.x,this.oCoords.br.x,this.oCoords.bl.x],e=fabric.util.array.min(t),i=fabric.util.array.max(t),r=Math.abs(e-i),n=[this.oCoords.tl.y,this.oCoords.tr.y,this.oCoords.br.y,this.oCoords.bl.y],o=fabric.util.array.min(n),s=fabric.util.array.max(n);return{left:e,top:o,width:r,height:Math.abs(o-s)}},getWidth:function(){return this.width*this.scaleX},getHeight:function(){return this.height*this.scaleY},_constrainScale:function(t){return Math.abs(t)<this.minScaleLimit?t<0?-this.minScaleLimit:this.minScaleLimit:t},scale:function(t){return(t=this._constrainScale(t))<0&&(this.flipX=!this.flipX,this.flipY=!this.flipY,t*=-1),this.scaleX=t,this.scaleY=t,this.setCoords(),this},scaleToWidth:function(t){var e=this.getBoundingRectWidth()/this.getWidth();return this.scale(t/this.width/e)},scaleToHeight:function(t){var e=this.getBoundingRectHeight()/this.getHeight();return this.scale(t/this.height/e)},setCoords:function(){var e=this.strokeWidth>1?this.strokeWidth:0,i=t(this.angle),r=this.getViewportTransform(),n=function(t){return fabric.util.transformPoint(t,r)},o=this.width,s=this.height,a=\"round\"===this.strokeLineCap||\"square\"===this.strokeLineCap,h=\"line\"===this.type&&1===this.width,c=\"line\"===this.type&&1===this.height,l=a&&c||\"line\"!==this.type,u=a&&h||\"line\"!==this.type;h?o=e:c&&(s=e),l&&(o+=e),u&&(s+=e),this.currentWidth=o*this.scaleX,this.currentHeight=s*this.scaleY,this.currentWidth<0&&(this.currentWidth=Math.abs(this.currentWidth));var f=Math.sqrt(Math.pow(this.currentWidth/2,2)+Math.pow(this.currentHeight/2,2)),d=Math.atan(isFinite(this.currentHeight/this.currentWidth)?this.currentHeight/this.currentWidth:0),p=Math.cos(d+i)*f,g=Math.sin(d+i)*f,m=Math.sin(i),v=Math.cos(i),b=this.getCenterPoint(),y=new fabric.Point(this.currentWidth,this.currentHeight),x=new fabric.Point(b.x-p,b.y-g),w=new fabric.Point(x.x+y.x*v,x.y+y.x*m),S=new fabric.Point(x.x-y.y*m,x.y+y.y*v),C=new fabric.Point(x.x+y.x/2*v,x.y+y.x/2*m),_=n(x),T=n(w),O=n(new fabric.Point(w.x-y.y*m,w.y+y.y*v)),k=n(S),E=n(new fabric.Point(x.x-y.y/2*m,x.y+y.y/2*v)),A=n(C),j=n(new fabric.Point(w.x-y.y/2*m,w.y+y.y/2*v)),I=n(new fabric.Point(S.x+y.x/2*v,S.y+y.x/2*m)),P=n(new fabric.Point(C.x,C.y)),M=Math.cos(d+i)*this.padding*Math.sqrt(2),D=Math.sin(d+i)*this.padding*Math.sqrt(2);return _=_.add(new fabric.Point(-M,-D)),T=T.add(new fabric.Point(D,-M)),O=O.add(new fabric.Point(M,D)),k=k.add(new fabric.Point(-D,M)),E=E.add(new fabric.Point((-M-D)/2,(-D+M)/2)),A=A.add(new fabric.Point((D-M)/2,-(D+M)/2)),j=j.add(new fabric.Point((D+M)/2,(D-M)/2)),I=I.add(new fabric.Point((M-D)/2,(M+D)/2)),P=P.add(new fabric.Point((D-M)/2,-(D+M)/2)),this.oCoords={tl:_,tr:T,br:O,bl:k,ml:E,mt:A,mr:j,mb:I,mtr:P},this._setCornerCoords&&this._setCornerCoords(),this}})}(),fabric.util.object.extend(fabric.Object.prototype,{sendToBack:function(){return this.group?fabric.StaticCanvas.prototype.sendToBack.call(this.group,this):this.canvas.sendToBack(this),this},bringToFront:function(){return this.group?fabric.StaticCanvas.prototype.bringToFront.call(this.group,this):this.canvas.bringToFront(this),this},sendBackwards:function(t){return this.group?fabric.StaticCanvas.prototype.sendBackwards.call(this.group,this,t):this.canvas.sendBackwards(this,t),this},bringForward:function(t){return this.group?fabric.StaticCanvas.prototype.bringForward.call(this.group,this,t):this.canvas.bringForward(this,t),this},moveTo:function(t){return this.group?fabric.StaticCanvas.prototype.moveTo.call(this.group,this,t):this.canvas.moveTo(this,t),this}}),fabric.util.object.extend(fabric.Object.prototype,{getSvgStyles:function(){var t=this.fill?this.fill.toLive?\"url(#SVGID_\"+this.fill.id+\")\":this.fill:\"none\",e=\"destination-over\"===this.fillRule?\"evenodd\":this.fillRule,i=this.stroke?this.stroke.toLive?\"url(#SVGID_\"+this.stroke.id+\")\":this.stroke:\"none\",r=this.strokeWidth?this.strokeWidth:\"0\",n=this.strokeDashArray?this.strokeDashArray.join(\" \"):\"\",o=this.strokeLineCap?this.strokeLineCap:\"butt\",s=this.strokeLineJoin?this.strokeLineJoin:\"miter\",a=this.strokeMiterLimit?this.strokeMiterLimit:\"4\",h=void 0!==this.opacity?this.opacity:\"1\",c=this.visible?\"\":\" visibility: hidden;\";return[\"stroke: \",i,\"; \",\"stroke-width: \",r,\"; \",\"stroke-dasharray: \",n,\"; \",\"stroke-linecap: \",o,\"; \",\"stroke-linejoin: \",s,\"; \",\"stroke-miterlimit: \",a,\"; \",\"fill: \",t,\"; \",\"fill-rule: \",e,\"; \",\"opacity: \",h,\";\",this.shadow&&\"text\"!==this.type?\"filter: url(#SVGID_\"+this.shadow.id+\");\":\"\",c].join(\"\")},getSvgTransform:function(){if(this.group)return\"\";var t=fabric.util.toFixed,e=this.getAngle(),i=!this.canvas||this.canvas.svgViewportTransformation?this.getViewportTransform():[1,0,0,1,0,0],r=fabric.util.transformPoint(this.getCenterPoint(),i),n=fabric.Object.NUM_FRACTION_DIGITS,o=\"path-group\"===this.type?\"\":\"translate(\"+t(r.x,n)+\" \"+t(r.y,n)+\")\",s=0!==e?\" rotate(\"+t(e,n)+\")\":\"\",a=1===this.scaleX&&1===this.scaleY&&1===i[0]&&1===i[3]?\"\":\" scale(\"+t(this.scaleX*i[0],n)+\" \"+t(this.scaleY*i[3],n)+\")\",h=\"path-group\"===this.type?this.width*i[0]:0,c=this.flipX?\" matrix(-1 0 0 1 \"+h+\" 0) \":\"\",l=\"path-group\"===this.type?this.height*i[3]:0;return[o,s,a,c,this.flipY?\" matrix(1 0 0 -1 0 \"+l+\")\":\"\"].join(\"\")},getSvgTransformMatrix:function(){return this.transformMatrix?\" matrix(\"+this.transformMatrix.join(\" \")+\")\":\"\"},_createBaseSVGMarkup:function(){var t=[];return this.fill&&this.fill.toLive&&t.push(this.fill.toSVG(this,!1)),this.stroke&&this.stroke.toLive&&t.push(this.stroke.toSVG(this,!1)),this.shadow&&t.push(this.shadow.toSVG(this)),t}}),fabric.util.object.extend(fabric.Object.prototype,{hasStateChanged:function(){return this.stateProperties.some(function(t){return this.get(t)!==this.originalState[t]},this)},saveState:function(t){return this.stateProperties.forEach(function(t){this.originalState[t]=this.get(t)},this),t&&t.stateProperties&&t.stateProperties.forEach(function(t){this.originalState[t]=this.get(t)},this),this},setupState:function(){return this.originalState={},this.saveState(),this}}),function(t){\"use strict\";function e(t,e){var i=t.origin,r=t.axis1,n=t.axis2,o=t.dimension,s=e.nearest,a=e.center,h=e.farthest;return function(){switch(this.get(i)){case s:return Math.min(this.get(r),this.get(n));case a:return Math.min(this.get(r),this.get(n))+.5*this.get(o);case h:return Math.max(this.get(r),this.get(n))}}}var i=t.fabric||(t.fabric={}),r=i.util.object.extend,n={x1:1,x2:1,y1:1,y2:1},o=i.StaticCanvas.supports(\"setLineDash\");i.Line?i.warn(\"fabric.Line is already defined\"):(i.Line=i.util.createClass(i.Object,{type:\"line\",x1:0,y1:0,x2:0,y2:0,initialize:function(t,e){e=e||{},t||(t=[0,0,0,0]),this.callSuper(\"initialize\",e),this.set(\"x1\",t[0]),this.set(\"y1\",t[1]),this.set(\"x2\",t[2]),this.set(\"y2\",t[3]),this._setWidthHeight(e)},_setWidthHeight:function(t){t||(t={}),this.width=Math.abs(this.x2-this.x1)||1,this.height=Math.abs(this.y2-this.y1)||1,this.left=\"left\"in t?t.left:this._getLeftToOriginX(),this.top=\"top\"in t?t.top:this._getTopToOriginY()},_set:function(t,e){return this[t]=e,void 0!==n[t]&&this._setWidthHeight(),this},_getLeftToOriginX:e({origin:\"originX\",axis1:\"x1\",axis2:\"x2\",dimension:\"width\"},{nearest:\"left\",center:\"center\",farthest:\"right\"}),_getTopToOriginY:e({origin:\"originY\",axis1:\"y1\",axis2:\"y2\",dimension:\"height\"},{nearest:\"top\",center:\"center\",farthest:\"bottom\"}),_render:function(t,e){if(t.beginPath(),e){var i=this.getCenterPoint();t.translate(i.x,i.y)}if(!this.strokeDashArray||this.strokeDashArray&&o){var r=this.x1<=this.x2?-1:1,n=this.y1<=this.y2?-1:1;t.moveTo(1===this.width?0:r*this.width/2,1===this.height?0:n*this.height/2),t.lineTo(1===this.width?0:-1*r*this.width/2,1===this.height?0:-1*n*this.height/2)}t.lineWidth=this.strokeWidth;var s=t.strokeStyle;t.strokeStyle=this.stroke||t.fillStyle,this.stroke&&this._renderStroke(t),t.strokeStyle=s},_renderDashedStroke:function(t){var e=this.x1<=this.x2?-1:1,r=this.y1<=this.y2?-1:1,n=1===this.width?0:e*this.width/2,o=1===this.height?0:r*this.height/2;t.beginPath(),i.util.drawDashedLine(t,n,o,-n,-o,this.strokeDashArray),t.closePath()},toObject:function(t){return r(this.callSuper(\"toObject\",t),{x1:this.get(\"x1\"),y1:this.get(\"y1\"),x2:this.get(\"x2\"),y2:this.get(\"y2\")})},toSVG:function(t){var e=this._createBaseSVGMarkup(),i=\"\";return this.group||(i=\"translate(\"+(-this.width/2-(this.x1>this.x2?this.x2:this.x1))+\", \"+(-this.height/2-(this.y1>this.y2?this.y2:this.y1))+\") \"),e.push(\"<line \",'x1=\"',this.x1,'\" y1=\"',this.y1,'\" x2=\"',this.x2,'\" y2=\"',this.y2,'\" style=\"',this.getSvgStyles(),'\" transform=\"',this.getSvgTransform(),i,this.getSvgTransformMatrix(),'\"/>\\n'),t?t(e.join(\"\")):e.join(\"\")},complexity:function(){return 1}}),i.Line.ATTRIBUTE_NAMES=i.SHARED_ATTRIBUTES.concat(\"x1 y1 x2 y2\".split(\" \")),i.Line.fromElement=function(t,e){var n=i.parseAttributes(t,i.Line.ATTRIBUTE_NAMES),o=[n.x1||0,n.y1||0,n.x2||0,n.y2||0];return new i.Line(o,r(n,e))},i.Line.fromObject=function(t){var e=[t.x1,t.y1,t.x2,t.y2];return new i.Line(e,t)})}(void 0!==exports?exports:this),function(t){\"use strict\";function e(t){return\"radius\"in t&&t.radius>0}var i=t.fabric||(t.fabric={}),r=2*Math.PI,n=i.util.object.extend;i.Circle?i.warn(\"fabric.Circle is already defined.\"):(i.Circle=i.util.createClass(i.Object,{type:\"circle\",radius:0,initialize:function(t){t=t||{},this.callSuper(\"initialize\",t),this.set(\"radius\",t.radius||0)},_set:function(t,e){return this.callSuper(\"_set\",t,e),\"radius\"===t&&this.setRadius(e),this},toObject:function(t){return n(this.callSuper(\"toObject\",t),{radius:this.get(\"radius\")})},toSVG:function(t){var e=this._createBaseSVGMarkup(),i=0,r=0;return this.group&&(i=this.left+this.radius,r=this.top+this.radius),e.push(\"<circle \",'cx=\"'+i+'\" cy=\"'+r+'\" ','r=\"',this.radius,'\" style=\"',this.getSvgStyles(),'\" transform=\"',this.getSvgTransform(),\" \",this.getSvgTransformMatrix(),'\"/>\\n'),t?t(e.join(\"\")):e.join(\"\")},_render:function(t,e){t.beginPath(),t.arc(e?this.left+this.radius:0,e?this.top+this.radius:0,this.radius,0,r,!1),this._renderFill(t),this._renderStroke(t)},getRadiusX:function(){return this.get(\"radius\")*this.get(\"scaleX\")},getRadiusY:function(){return this.get(\"radius\")*this.get(\"scaleY\")},setRadius:function(t){this.radius=t,this.set(\"width\",2*t).set(\"height\",2*t)},complexity:function(){return 1}}),i.Circle.ATTRIBUTE_NAMES=i.SHARED_ATTRIBUTES.concat(\"cx cy r\".split(\" \")),i.Circle.fromElement=function(t,r){r||(r={});var o=i.parseAttributes(t,i.Circle.ATTRIBUTE_NAMES);if(!e(o))throw new Error(\"value of `r` attribute is required and can not be negative\");o.left=o.left||0,o.top=o.top||0;var s=new i.Circle(n(o,r));return s.left-=s.radius,s.top-=s.radius,s},i.Circle.fromObject=function(t){return new i.Circle(t)})}(void 0!==exports?exports:this),function(t){\"use strict\";var e=t.fabric||(t.fabric={});e.Triangle?e.warn(\"fabric.Triangle is already defined\"):(e.Triangle=e.util.createClass(e.Object,{type:\"triangle\",initialize:function(t){t=t||{},this.callSuper(\"initialize\",t),this.set(\"width\",t.width||100).set(\"height\",t.height||100)},_render:function(t){var e=this.width/2,i=this.height/2;t.beginPath(),t.moveTo(-e,i),t.lineTo(0,-i),t.lineTo(e,i),t.closePath(),this._renderFill(t),this._renderStroke(t)},_renderDashedStroke:function(t){var i=this.width/2,r=this.height/2;t.beginPath(),e.util.drawDashedLine(t,-i,r,0,-r,this.strokeDashArray),e.util.drawDashedLine(t,0,-r,i,r,this.strokeDashArray),e.util.drawDashedLine(t,i,r,-i,r,this.strokeDashArray),t.closePath()},toSVG:function(t){var e=this._createBaseSVGMarkup(),i=this.width/2,r=this.height/2,n=[-i+\" \"+r,\"0 \"+-r,i+\" \"+r].join(\",\");return e.push(\"<polygon \",'points=\"',n,'\" style=\"',this.getSvgStyles(),'\" transform=\"',this.getSvgTransform(),'\"/>'),t?t(e.join(\"\")):e.join(\"\")},complexity:function(){return 1}}),e.Triangle.fromObject=function(t){return new e.Triangle(t)})}(void 0!==exports?exports:this),function(t){\"use strict\";var e=t.fabric||(t.fabric={}),i=2*Math.PI,r=e.util.object.extend;e.Ellipse?e.warn(\"fabric.Ellipse is already defined.\"):(e.Ellipse=e.util.createClass(e.Object,{type:\"ellipse\",rx:0,ry:0,initialize:function(t){t=t||{},this.callSuper(\"initialize\",t),this.set(\"rx\",t.rx||0),this.set(\"ry\",t.ry||0),this.set(\"width\",2*this.get(\"rx\")),this.set(\"height\",2*this.get(\"ry\"))},toObject:function(t){return r(this.callSuper(\"toObject\",t),{rx:this.get(\"rx\"),ry:this.get(\"ry\")})},toSVG:function(t){var e=this._createBaseSVGMarkup(),i=0,r=0;return this.group&&(i=this.left+this.rx,r=this.top+this.ry),e.push(\"<ellipse \",'cx=\"',i,'\" cy=\"',r,'\" ','rx=\"',this.rx,'\" ry=\"',this.ry,'\" style=\"',this.getSvgStyles(),'\" transform=\"',this.getSvgTransform(),this.getSvgTransformMatrix(),'\"/>\\n'),t?t(e.join(\"\")):e.join(\"\")},_render:function(t,e){t.beginPath(),t.save(),t.transform(1,0,0,this.ry/this.rx,0,0),t.arc(e?this.left+this.rx:0,e?(this.top+this.ry)*this.rx/this.ry:0,this.rx,0,i,!1),t.restore(),this._renderFill(t),this._renderStroke(t)},complexity:function(){return 1}}),e.Ellipse.ATTRIBUTE_NAMES=e.SHARED_ATTRIBUTES.concat(\"cx cy rx ry\".split(\" \")),e.Ellipse.fromElement=function(t,i){i||(i={});var n=e.parseAttributes(t,e.Ellipse.ATTRIBUTE_NAMES);n.left=n.left||0,n.top=n.top||0;var o=new e.Ellipse(r(n,i));return o.top-=o.ry,o.left-=o.rx,o},e.Ellipse.fromObject=function(t){return new e.Ellipse(t)})}(void 0!==exports?exports:this),function(t){\"use strict\";var e=t.fabric||(t.fabric={}),i=e.util.object.extend;if(e.Rect)console.warn(\"fabric.Rect is already defined\");else{var r=e.Object.prototype.stateProperties.concat();r.push(\"rx\",\"ry\",\"x\",\"y\"),e.Rect=e.util.createClass(e.Object,{stateProperties:r,type:\"rect\",rx:0,ry:0,strokeDashArray:null,initialize:function(t){t=t||{},this.callSuper(\"initialize\",t),this._initRxRy()},_initRxRy:function(){this.rx&&!this.ry?this.ry=this.rx:this.ry&&!this.rx&&(this.rx=this.ry)},_render:function(t,e){if(1!==this.width||1!==this.height){var i=this.rx?Math.min(this.rx,this.width/2):0,r=this.ry?Math.min(this.ry,this.height/2):0,n=this.width,o=this.height,s=e?this.left:-this.width/2,a=e?this.top:-this.height/2,h=0!==i||0!==r,c=.4477152502;t.beginPath(),t.moveTo(s+i,a),t.lineTo(s+n-i,a),h&&t.bezierCurveTo(s+n-c*i,a,s+n,a+c*r,s+n,a+r),t.lineTo(s+n,a+o-r),h&&t.bezierCurveTo(s+n,a+o-c*r,s+n-c*i,a+o,s+n-i,a+o),t.lineTo(s+i,a+o),h&&t.bezierCurveTo(s+c*i,a+o,s,a+o-c*r,s,a+o-r),t.lineTo(s,a+r),h&&t.bezierCurveTo(s,a+c*r,s+c*i,a,s+i,a),t.closePath(),this._renderFill(t),this._renderStroke(t)}else t.fillRect(0,0,1,1)},_renderDashedStroke:function(t){var i=-this.width/2,r=-this.height/2,n=this.width,o=this.height;t.beginPath(),e.util.drawDashedLine(t,i,r,i+n,r,this.strokeDashArray),e.util.drawDashedLine(t,i+n,r,i+n,r+o,this.strokeDashArray),e.util.drawDashedLine(t,i+n,r+o,i,r+o,this.strokeDashArray),e.util.drawDashedLine(t,i,r+o,i,r,this.strokeDashArray),t.closePath()},toObject:function(t){var e=i(this.callSuper(\"toObject\",t),{rx:this.get(\"rx\")||0,ry:this.get(\"ry\")||0});return this.includeDefaultValues||this._removeDefaultValues(e),e},toSVG:function(t){var e=this._createBaseSVGMarkup(),i=this.left,r=this.top;return this.group||(i=-this.width/2,r=-this.height/2),e.push(\"<rect \",'x=\"',i,'\" y=\"',r,'\" rx=\"',this.get(\"rx\"),'\" ry=\"',this.get(\"ry\"),'\" width=\"',this.width,'\" height=\"',this.height,'\" style=\"',this.getSvgStyles(),'\" transform=\"',this.getSvgTransform(),this.getSvgTransformMatrix(),'\"/>\\n'),t?t(e.join(\"\")):e.join(\"\")},complexity:function(){return 1}}),e.Rect.ATTRIBUTE_NAMES=e.SHARED_ATTRIBUTES.concat(\"x y rx ry width height\".split(\" \")),e.Rect.fromElement=function(t,r){if(!t)return null;r=r||{};var n=e.parseAttributes(t,e.Rect.ATTRIBUTE_NAMES);return n.left=n.left||0,n.top=n.top||0,new e.Rect(i(r?e.util.object.clone(r):{},n))},e.Rect.fromObject=function(t){return new e.Rect(t)}}}(void 0!==exports?exports:this),function(t){\"use strict\";var e=t.fabric||(t.fabric={}),i=e.util.toFixed;e.Polyline?e.warn(\"fabric.Polyline is already defined\"):(e.Polyline=e.util.createClass(e.Object,{type:\"polyline\",points:null,initialize:function(t,e){e=e||{},this.set(\"points\",t),this.callSuper(\"initialize\",e),this._calcDimensions()},_calcDimensions:function(){return e.Polygon.prototype._calcDimensions.call(this)},_applyPointOffset:function(){return e.Polygon.prototype._applyPointOffset.call(this)},toObject:function(t){return e.Polygon.prototype.toObject.call(this,t)},toSVG:function(t){for(var e=[],r=this._createBaseSVGMarkup(),n=0,o=this.points.length;n<o;n++)e.push(i(this.points[n].x,2),\",\",i(this.points[n].y,2),\" \");return r.push(\"<polyline \",'points=\"',e.join(\"\"),'\" style=\"',this.getSvgStyles(),'\" transform=\"',this.getSvgTransform(),\" \",this.getSvgTransformMatrix(),'\"/>\\n'),t?t(r.join(\"\")):r.join(\"\")},_render:function(t){var e;t.beginPath(),this._applyPointOffset&&(this.group&&\"path-group\"===this.group.type||this._applyPointOffset(),this._applyPointOffset=null),t.moveTo(this.points[0].x,this.points[0].y);for(var i=0,r=this.points.length;i<r;i++)e=this.points[i],t.lineTo(e.x,e.y);this._renderFill(t),this._renderStroke(t)},_renderDashedStroke:function(t){var i,r;t.beginPath();for(var n=0,o=this.points.length;n<o;n++)i=this.points[n],r=this.points[n+1]||i,e.util.drawDashedLine(t,i.x,i.y,r.x,r.y,this.strokeDashArray)},complexity:function(){return this.get(\"points\").length}}),e.Polyline.ATTRIBUTE_NAMES=e.SHARED_ATTRIBUTES.concat(),e.Polyline.fromElement=function(t,i){if(!t)return null;i||(i={});var r=e.parsePointsAttribute(t.getAttribute(\"points\")),n=e.parseAttributes(t,e.Polyline.ATTRIBUTE_NAMES);return null===r?null:new e.Polyline(r,e.util.object.extend(n,i))},e.Polyline.fromObject=function(t){var i=t.points;return new e.Polyline(i,t,!0)})}(void 0!==exports?exports:this),function(t){\"use strict\";var e=t.fabric||(t.fabric={}),i=e.util.object.extend,r=e.util.array.min,n=e.util.array.max,o=e.util.toFixed;e.Polygon?e.warn(\"fabric.Polygon is already defined\"):(e.Polygon=e.util.createClass(e.Object,{type:\"polygon\",points:null,initialize:function(t,e){e=e||{},this.points=t,this.callSuper(\"initialize\",e),this._calcDimensions()},_calcDimensions:function(){var t=this.points,e=r(t,\"x\"),i=r(t,\"y\"),o=n(t,\"x\"),s=n(t,\"y\");this.width=o-e||1,this.height=s-i||1,this.left=e,this.top=i},_applyPointOffset:function(){this.points.forEach(function(t){t.x-=this.left+this.width/2,t.y-=this.top+this.height/2},this)},toObject:function(t){return i(this.callSuper(\"toObject\",t),{points:this.points.concat()})},toSVG:function(t){for(var e=[],i=this._createBaseSVGMarkup(),r=0,n=this.points.length;r<n;r++)e.push(o(this.points[r].x,2),\",\",o(this.points[r].y,2),\" \");return i.push(\"<polygon \",'points=\"',e.join(\"\"),'\" style=\"',this.getSvgStyles(),'\" transform=\"',this.getSvgTransform(),\" \",this.getSvgTransformMatrix(),'\"/>\\n'),t?t(i.join(\"\")):i.join(\"\")},_render:function(t){var e;t.beginPath(),this._applyPointOffset&&(this.group&&\"path-group\"===this.group.type||this._applyPointOffset(),this._applyPointOffset=null),t.moveTo(this.points[0].x,this.points[0].y);for(var i=0,r=this.points.length;i<r;i++)e=this.points[i],t.lineTo(e.x,e.y);this._renderFill(t),(this.stroke||this.strokeDashArray)&&(t.closePath(),this._renderStroke(t))},_renderDashedStroke:function(t){var i,r;t.beginPath();for(var n=0,o=this.points.length;n<o;n++)i=this.points[n],r=this.points[n+1]||this.points[0],e.util.drawDashedLine(t,i.x,i.y,r.x,r.y,this.strokeDashArray);t.closePath()},complexity:function(){return this.points.length}}),e.Polygon.ATTRIBUTE_NAMES=e.SHARED_ATTRIBUTES.concat(),e.Polygon.fromElement=function(t,r){if(!t)return null;r||(r={});var n=e.parsePointsAttribute(t.getAttribute(\"points\")),o=e.parseAttributes(t,e.Polygon.ATTRIBUTE_NAMES);return null===n?null:new e.Polygon(n,i(o,r))},e.Polygon.fromObject=function(t){return new e.Polygon(t.points,t,!0)})}(void 0!==exports?exports:this),function(t){\"use strict\";function e(t){return\"H\"===t[0]?t[1]:t[t.length-2]}function i(t){return\"V\"===t[0]?t[1]:t[t.length-1]}var r=t.fabric||(t.fabric={}),n=r.util.array.min,o=r.util.array.max,s=r.util.object.extend,a=Object.prototype.toString,h=r.util.drawArc,c={m:2,l:2,h:1,v:1,c:6,s:4,q:4,t:2,a:7},l={m:\"l\",M:\"L\"};r.Path?r.warn(\"fabric.Path is already defined\"):(r.Path=r.util.createClass(r.Object,{type:\"path\",path:null,initialize:function(t,e){if(e=e||{},this.setOptions(e),!t)throw new Error(\"`path` argument is required\");var i=\"[object Array]\"===a.call(t);this.path=i?t:t.match&&t.match(/[mzlhvcsqta][^mzlhvcsqta]*/gi),this.path&&(i||(this.path=this._parsePath()),this._initializePath(e),e.sourcePath&&this.setSourcePath(e.sourcePath))},_initializePath:function(t){var e=\"width\"in t&&null!=t.width,i=\"height\"in t&&null!=t.width,r=\"left\"in t,n=\"top\"in t,o=r?this.left:0,a=n?this.top:0;e&&i?(n||(this.top=this.height/2),r||(this.left=this.width/2)):(s(this,this._parseDimensions()),e&&(this.width=t.width),i&&(this.height=t.height)),this.pathOffset=this.pathOffset||this._calculatePathOffset(o,a)},_calculatePathOffset:function(t,e){return{x:this.left-t-this.width/2,y:this.top-e-this.height/2}},_render:function(t,e){var i,r,n,o,s,a=null,c=0,l=0,u=0,f=0,d=0,p=0,g=-(this.width/2+this.pathOffset.x),m=-(this.height/2+this.pathOffset.y);e&&(g+=this.width/2,m+=this.height/2);for(var v=0,b=this.path.length;v<b;++v){switch((i=this.path[v])[0]){case\"l\":u+=i[1],f+=i[2],t.lineTo(u+g,f+m);break;case\"L\":u=i[1],f=i[2],t.lineTo(u+g,f+m);break;case\"h\":u+=i[1],t.lineTo(u+g,f+m);break;case\"H\":u=i[1],t.lineTo(u+g,f+m);break;case\"v\":f+=i[1],t.lineTo(u+g,f+m);break;case\"V\":f=i[1],t.lineTo(u+g,f+m);break;case\"m\":c=u+=i[1],l=f+=i[2],t.moveTo(u+g,f+m);break;case\"M\":c=u=i[1],l=f=i[2],t.moveTo(u+g,f+m);break;case\"c\":r=u+i[5],n=f+i[6],d=u+i[3],p=f+i[4],t.bezierCurveTo(u+i[1]+g,f+i[2]+m,d+g,p+m,r+g,n+m),u=r,f=n;break;case\"C\":u=i[5],f=i[6],d=i[3],p=i[4],t.bezierCurveTo(i[1]+g,i[2]+m,d+g,p+m,u+g,f+m);break;case\"s\":r=u+i[3],n=f+i[4],d=d?2*u-d:u,p=p?2*f-p:f,t.bezierCurveTo(d+g,p+m,u+i[1]+g,f+i[2]+m,r+g,n+m),d=u+i[1],p=f+i[2],u=r,f=n;break;case\"S\":r=i[3],n=i[4],d=2*u-d,p=2*f-p,t.bezierCurveTo(d+g,p+m,i[1]+g,i[2]+m,r+g,n+m),u=r,f=n,d=i[1],p=i[2];break;case\"q\":r=u+i[3],n=f+i[4],d=u+i[1],p=f+i[2],t.quadraticCurveTo(d+g,p+m,r+g,n+m),u=r,f=n;break;case\"Q\":r=i[3],n=i[4],t.quadraticCurveTo(i[1]+g,i[2]+m,r+g,n+m),u=r,f=n,d=i[1],p=i[2];break;case\"t\":r=u+i[1],n=f+i[2],null===a[0].match(/[QqTt]/)?(d=u,p=f):\"t\"===a[0]?(d=2*u-o,p=2*f-s):\"q\"===a[0]&&(d=2*u-d,p=2*f-p),o=d,s=p,t.quadraticCurveTo(d+g,p+m,r+g,n+m),f=n,d=(u=r)+i[1],p=f+i[2];break;case\"T\":r=i[1],n=i[2],d=2*u-d,p=2*f-p,t.quadraticCurveTo(d+g,p+m,r+g,n+m),u=r,f=n;break;case\"a\":h(t,u+g,f+m,[i[1],i[2],i[3],i[4],i[5],i[6]+u+g,i[7]+f+m]),u+=i[6],f+=i[7];break;case\"A\":h(t,u+g,f+m,[i[1],i[2],i[3],i[4],i[5],i[6]+g,i[7]+m]),u=i[6],f=i[7];break;case\"z\":case\"Z\":u=c,f=l,t.closePath()}a=i}},render:function(t,e){if(this.visible){t.save(),e&&t.translate(-this.width/2,-this.height/2);var i=this.transformMatrix;i&&t.transform(i[0],i[1],i[2],i[3],i[4],i[5]),e||this.transform(t),this._setStrokeStyles(t),this._setFillStyles(t),this._setShadow(t),this.clipTo&&r.util.clipContext(this,t),t.beginPath(),t.globalAlpha=this.group?t.globalAlpha*this.opacity:this.opacity,this._render(t,e),this._renderFill(t),this._renderStroke(t),this.clipTo&&t.restore(),this._removeShadow(t),t.restore()}},toString:function(){return\"#<fabric.Path (\"+this.complexity()+'): { \"top\": '+this.top+', \"left\": '+this.left+\" }>\"},toObject:function(t){var e=s(this.callSuper(\"toObject\",t),{path:this.path.map(function(t){return t.slice()}),pathOffset:this.pathOffset});return this.sourcePath&&(e.sourcePath=this.sourcePath),this.transformMatrix&&(e.transformMatrix=this.transformMatrix),e},toDatalessObject:function(t){var e=this.toObject(t);return this.sourcePath&&(e.path=this.sourcePath),delete e.sourcePath,e},toSVG:function(t){for(var e=[],i=this._createBaseSVGMarkup(),r=0,n=this.path.length;r<n;r++)e.push(this.path[r].join(\" \"));var o=e.join(\" \");return i.push(\"<path \",'d=\"',o,'\" style=\"',this.getSvgStyles(),'\" transform=\"',this.getSvgTransform(),this.getSvgTransformMatrix(),'\" stroke-linecap=\"round\" ',\"/>\\n\"),t?t(i.join(\"\")):i.join(\"\")},complexity:function(){return this.path.length},_parsePath:function(){for(var t,e,i,r,n,o=[],s=[],a=/([-+]?((\\d+\\.\\d+)|((\\d+)|(\\.\\d+)))(?:e[-+]?\\d+)?)/gi,h=0,u=this.path.length;h<u;h++){for(r=(t=this.path[h]).slice(1).trim(),s.length=0;i=a.exec(r);)s.push(i[0]);n=[t.charAt(0)];for(var f=0,d=s.length;f<d;f++)e=parseFloat(s[f]),isNaN(e)||n.push(e);var p=n[0],g=c[p.toLowerCase()],m=l[p]||p;if(n.length-1>g)for(var v=1,b=n.length;v<b;v+=g)o.push([p].concat(n.slice(v,v+g))),p=m;else o.push(n)}return o},_parseDimensions:function(){var t=[],e=[],i={};this.path.forEach(function(r,n){this._getCoordsFromCommand(r,n,t,e,i)},this);var r=n(t),s=n(e),a=o(t)-r,h=o(e)-s;return{left:this.left+(r+a/2),top:this.top+(s+h/2),width:a,height:h}},_getCoordsFromCommand:function(t,r,n,o,s){var a=!1;\"H\"!==t[0]&&(s.x=e(0===r?t:this.path[r-1])),\"V\"!==t[0]&&(s.y=i(0===r?t:this.path[r-1])),t[0]===t[0].toLowerCase()&&(a=!0);var h,c=this._getXY(t,a,s);h=parseInt(c.x,10),isNaN(h)||n.push(h),h=parseInt(c.y,10),isNaN(h)||o.push(h)},_getXY:function(t,r,n){return{x:r?n.x+e(t):\"V\"===t[0]?n.x:e(t),y:r?n.y+i(t):\"H\"===t[0]?n.y:i(t)}}}),r.Path.fromObject=function(t,e){\"string\"==typeof t.path?r.loadSVGFromURL(t.path,function(i){var n=i[0],o=t.path;delete t.path,r.util.object.extend(n,t),n.setSourcePath(o),e(n)}):e(new r.Path(t.path,t))},r.Path.ATTRIBUTE_NAMES=r.SHARED_ATTRIBUTES.concat([\"d\"]),r.Path.fromElement=function(t,e,i){var n=r.parseAttributes(t,r.Path.ATTRIBUTE_NAMES);e&&e(new r.Path(n.d,s(n,i)))},r.Path.async=!0)}(void 0!==exports?exports:this),function(t){\"use strict\";var e=t.fabric||(t.fabric={}),i=e.util.object.extend,r=e.util.array.invoke,n=e.Object.prototype.toObject;e.PathGroup?e.warn(\"fabric.PathGroup is already defined\"):(e.PathGroup=e.util.createClass(e.Path,{type:\"path-group\",fill:\"\",initialize:function(t,e){e=e||{},this.paths=t||[];for(var i=this.paths.length;i--;)this.paths[i].group=this;this.setOptions(e),e.widthAttr&&(this.scaleX=e.widthAttr/e.width),e.heightAttr&&(this.scaleY=e.heightAttr/e.height),this.setCoords(),e.sourcePath&&this.setSourcePath(e.sourcePath)},render:function(t){if(this.visible){t.save();var i=this.transformMatrix;i&&t.transform(i[0],i[1],i[2],i[3],i[4],i[5]),this.transform(t),this._setShadow(t),this.clipTo&&e.util.clipContext(this,t);for(var r=0,n=this.paths.length;r<n;++r)this.paths[r].render(t,!0);this.clipTo&&t.restore(),this._removeShadow(t),t.restore()}},_set:function(t,e){if(\"fill\"===t&&e&&this.isSameColor())for(var i=this.paths.length;i--;)this.paths[i]._set(t,e);return this.callSuper(\"_set\",t,e)},toObject:function(t){var e=i(n.call(this,t),{paths:r(this.getObjects(),\"toObject\",t)});return this.sourcePath&&(e.sourcePath=this.sourcePath),e},toDatalessObject:function(t){var e=this.toObject(t);return this.sourcePath&&(e.paths=this.sourcePath),e},toSVG:function(t){for(var e=this.getObjects(),i=\"translate(\"+this.left+\" \"+this.top+\")\",r=[\"<g \",'style=\"',this.getSvgStyles(),'\" ','transform=\"',i,this.getSvgTransform(),'\" ',\">\\n\"],n=0,o=e.length;n<o;n++)r.push(e[n].toSVG(t));return r.push(\"</g>\\n\"),t?t(r.join(\"\")):r.join(\"\")},toString:function(){return\"#<fabric.PathGroup (\"+this.complexity()+\"): { top: \"+this.top+\", left: \"+this.left+\" }>\"},isSameColor:function(){var t=(this.getObjects()[0].get(\"fill\")||\"\").toLowerCase();return this.getObjects().every(function(e){return(e.get(\"fill\")||\"\").toLowerCase()===t})},complexity:function(){return this.paths.reduce(function(t,e){return t+(e&&e.complexity?e.complexity():0)},0)},getObjects:function(){return this.paths}}),e.PathGroup.fromObject=function(t,i){\"string\"==typeof t.paths?e.loadSVGFromURL(t.paths,function(r){var n=t.paths;delete t.paths;var o=e.util.groupSVGElements(r,t,n);i(o)}):e.util.enlivenObjects(t.paths,function(r){delete t.paths,i(new e.PathGroup(r,t))})},e.PathGroup.async=!0)}(void 0!==exports?exports:this),function(t){\"use strict\";var e=t.fabric||(t.fabric={}),i=e.util.object.extend,r=e.util.array.min,n=e.util.array.max,o=e.util.array.invoke;if(!e.Group){var s={lockMovementX:!0,lockMovementY:!0,lockRotation:!0,lockScalingX:!0,lockScalingY:!0,lockUniScaling:!0};e.Group=e.util.createClass(e.Object,e.Collection,{type:\"group\",initialize:function(t,e){e=e||{},this._objects=t||[];for(var r=this._objects.length;r--;)this._objects[r].group=this;this.originalState={},this.callSuper(\"initialize\"),this._calcBounds(),this._updateObjectsCoords(),e&&i(this,e),this._setOpacityIfSame(),this.setCoords(),this.saveCoords()},_updateObjectsCoords:function(){this.forEachObject(this._updateObjectCoords,this)},_updateObjectCoords:function(t){var e=t.getLeft(),i=t.getTop();t.set({originalLeft:e,originalTop:i,left:e-this.left,top:i-this.top}),t.setCoords(),t.__origHasControls=t.hasControls,t.hasControls=!1},toString:function(){return\"#<fabric.Group: (\"+this.complexity()+\")>\"},addWithUpdate:function(t){return this._restoreObjectsState(),t&&(this._objects.push(t),t.group=this),this.forEachObject(this._setObjectActive,this),this._calcBounds(),this._updateObjectsCoords(),this},_setObjectActive:function(t){t.set(\"active\",!0),t.group=this},removeWithUpdate:function(t){return this._moveFlippedObject(t),this._restoreObjectsState(),this.forEachObject(this._setObjectActive,this),this.remove(t),this._calcBounds(),this._updateObjectsCoords(),this},_onObjectAdded:function(t){t.group=this},_onObjectRemoved:function(t){delete t.group,t.set(\"active\",!1)},delegatedProperties:{fill:!0,opacity:!0,fontFamily:!0,fontWeight:!0,fontSize:!0,fontStyle:!0,lineHeight:!0,textDecoration:!0,textAlign:!0,backgroundColor:!0},_set:function(t,e){if(t in this.delegatedProperties){var i=this._objects.length;for(this[t]=e;i--;)this._objects[i].set(t,e)}else this[t]=e},toObject:function(t){return i(this.callSuper(\"toObject\",t),{objects:o(this._objects,\"toObject\",t)})},render:function(t){if(this.visible){t.save(),this.clipTo&&e.util.clipContext(this,t);for(var i=0,r=this._objects.length;i<r;i++)this._renderObject(this._objects[i],t);this.clipTo&&t.restore(),t.restore()}},_renderControls:function(t,e){this.callSuper(\"_renderControls\",t,e);for(var i=0,r=this._objects.length;i<r;i++)this._objects[i]._renderControls(t)},_renderObject:function(t,e){var i=t.hasRotatingPoint;t.visible&&(t.hasRotatingPoint=!1,t.render(e),t.hasRotatingPoint=i)},_restoreObjectsState:function(){return this._objects.forEach(this._restoreObjectState,this),this},_moveFlippedObject:function(t){var e=t.get(\"originX\"),i=t.get(\"originY\"),r=t.getCenterPoint();t.set({originX:\"center\",originY:\"center\",left:r.x,top:r.y}),this._toggleFlipping(t);var n=t.getPointByOrigin(e,i);return t.set({originX:e,originY:i,left:n.x,top:n.y}),this},_toggleFlipping:function(t){this.flipX&&(t.toggle(\"flipX\"),t.set(\"left\",-t.get(\"left\")),t.setAngle(-t.getAngle())),this.flipY&&(t.toggle(\"flipY\"),t.set(\"top\",-t.get(\"top\")),t.setAngle(-t.getAngle()))},_restoreObjectState:function(t){return this._setObjectPosition(t),t.setCoords(),t.hasControls=t.__origHasControls,delete t.__origHasControls,t.set(\"active\",!1),t.setCoords(),delete t.group,this},_setObjectPosition:function(t){var e=this.getLeft(),i=this.getTop(),r=this._getRotatedLeftTop(t);t.set({angle:t.getAngle()+this.getAngle(),left:e+r.left,top:i+r.top,scaleX:t.get(\"scaleX\")*this.get(\"scaleX\"),scaleY:t.get(\"scaleY\")*this.get(\"scaleY\")})},_getRotatedLeftTop:function(t){var e=this.getAngle()*(Math.PI/180);return{left:-Math.sin(e)*t.getTop()*this.get(\"scaleY\")+Math.cos(e)*t.getLeft()*this.get(\"scaleX\"),top:Math.cos(e)*t.getTop()*this.get(\"scaleY\")+Math.sin(e)*t.getLeft()*this.get(\"scaleX\")}},destroy:function(){return this._objects.forEach(this._moveFlippedObject,this),this._restoreObjectsState()},saveCoords:function(){return this._originalLeft=this.get(\"left\"),this._originalTop=this.get(\"top\"),this},hasMoved:function(){return this._originalLeft!==this.get(\"left\")||this._originalTop!==this.get(\"top\")},setObjectsCoords:function(){return this.forEachObject(function(t){t.setCoords()}),this},_setOpacityIfSame:function(){var t=this.getObjects(),e=t[0]?t[0].get(\"opacity\"):1;t.every(function(t){return t.get(\"opacity\")===e})&&(this.opacity=e)},_calcBounds:function(t){for(var e,i=[],r=[],n=0,o=this._objects.length;n<o;++n){(e=this._objects[n]).setCoords();for(var s in e.oCoords)i.push(e.oCoords[s].x),r.push(e.oCoords[s].y)}this.set(this._getBounds(i,r,t))},_getBounds:function(t,i,o){var s=e.util.invertTransform(this.getViewportTransform()),a=e.util.transformPoint(new e.Point(r(t),r(i)),s),h=e.util.transformPoint(new e.Point(n(t),n(i)),s),c={width:h.x-a.x||0,height:h.y-a.y||0};return o||(c.left=(a.x+h.x)/2||0,c.top=(a.y+h.y)/2||0),c},toSVG:function(t){for(var e=[\"<g \",'transform=\"',this.getSvgTransform(),'\">\\n'],i=0,r=this._objects.length;i<r;i++)e.push(this._objects[i].toSVG(t));return e.push(\"</g>\\n\"),t?t(e.join(\"\")):e.join(\"\")},get:function(t){if(t in s){if(this[t])return this[t];for(var e=0,i=this._objects.length;e<i;e++)if(this._objects[e][t])return!0;return!1}return t in this.delegatedProperties?this._objects[0]&&this._objects[0].get(t):this[t]}}),e.Group.fromObject=function(t,i){e.util.enlivenObjects(t.objects,function(r){delete t.objects,i&&i(new e.Group(r,t))})},e.Group.async=!0}}(void 0!==exports?exports:this),function(t){\"use strict\";var e=fabric.util.object.extend;t.fabric||(t.fabric={}),t.fabric.Image?fabric.warn(\"fabric.Image is already defined.\"):(fabric.Image=fabric.util.createClass(fabric.Object,{type:\"image\",crossOrigin:\"\",initialize:function(t,e){e||(e={}),this.filters=[],this.callSuper(\"initialize\",e),this._initElement(t,e),this._initConfig(e),e.filters&&(this.filters=e.filters,this.applyFilters())},getElement:function(){return this._element},setElement:function(t,e){return this._element=t,this._originalElement=t,this._initConfig(),0!==this.filters.length&&this.applyFilters(e),this},setCrossOrigin:function(t){return this.crossOrigin=t,this._element.crossOrigin=t,this},getOriginalSize:function(){var t=this.getElement();return{width:t.width,height:t.height}},_stroke:function(t){t.save(),this._setStrokeStyles(t),t.beginPath(),t.strokeRect(-this.width/2,-this.height/2,this.width,this.height),t.closePath(),t.restore()},_renderDashedStroke:function(t){var e=-this.width/2,i=-this.height/2,r=this.width,n=this.height;t.save(),this._setStrokeStyles(t),t.beginPath(),fabric.util.drawDashedLine(t,e,i,e+r,i,this.strokeDashArray),fabric.util.drawDashedLine(t,e+r,i,e+r,i+n,this.strokeDashArray),fabric.util.drawDashedLine(t,e+r,i+n,e,i+n,this.strokeDashArray),fabric.util.drawDashedLine(t,e,i+n,e,i,this.strokeDashArray),t.closePath(),t.restore()},toObject:function(t){return e(this.callSuper(\"toObject\",t),{src:this._originalElement.src||this._originalElement._src,filters:this.filters.map(function(t){return t&&t.toObject()}),crossOrigin:this.crossOrigin})},toSVG:function(t){var e=[],i=-this.width/2,r=-this.height/2;if(this.group&&(i=this.left,r=this.top),e.push('<g transform=\"',this.getSvgTransform(),this.getSvgTransformMatrix(),'\">\\n','<image xlink:href=\"',this.getSvgSrc(),'\" x=\"',i,'\" y=\"',r,'\" style=\"',this.getSvgStyles(),'\" width=\"',this.width,'\" height=\"',this.height,'\" preserveAspectRatio=\"none\"',\"></image>\\n\"),this.stroke||this.strokeDashArray){var n=this.fill;this.fill=null,e.push(\"<rect \",'x=\"',i,'\" y=\"',r,'\" width=\"',this.width,'\" height=\"',this.height,'\" style=\"',this.getSvgStyles(),'\"/>\\n'),this.fill=n}return e.push(\"</g>\\n\"),t?t(e.join(\"\")):e.join(\"\")},getSrc:function(){if(this.getElement())return this.getElement().src||this.getElement()._src},toString:function(){return'#<fabric.Image: { src: \"'+this.getSrc()+'\" }>'},clone:function(t,e){this.constructor.fromObject(this.toObject(e),t)},applyFilters:function(t){if(this._originalElement){if(0===this.filters.length)return this._element=this._originalElement,void(t&&t());var e=this._originalElement,i=fabric.util.createCanvasElement(),r=fabric.util.createImage(),n=this;return i.width=e.width,i.height=e.height,i.getContext(\"2d\").drawImage(e,0,0,e.width,e.height),this.filters.forEach(function(t){t&&t.applyTo(i)}),r.width=e.width,r.height=e.height,fabric.isLikelyNode?(r.src=i.toBuffer(undefined,fabric.Image.pngCompression),n._element=r,t&&t()):(r.onload=function(){n._element=r,t&&t(),r.onload=i=e=null},r.src=i.toDataURL(\"image/png\")),this}},_render:function(t,e){this._element&&t.drawImage(this._element,e?this.left:-this.width/2,e?this.top:-this.height/2,this.width,this.height),this._renderStroke(t)},_resetWidthHeight:function(){var t=this.getElement();this.set(\"width\",t.width),this.set(\"height\",t.height)},_initElement:function(t){this.setElement(fabric.util.getById(t)),fabric.util.addClass(this.getElement(),fabric.Image.CSS_CANVAS)},_initConfig:function(t){t||(t={}),this.setOptions(t),this._setWidthHeight(t),this._element&&this.crossOrigin&&(this._element.crossOrigin=this.crossOrigin)},_initFilters:function(t,e){t.filters&&t.filters.length?fabric.util.enlivenObjects(t.filters,function(t){e&&e(t)},\"fabric.Image.filters\"):e&&e()},_setWidthHeight:function(t){this.width=\"width\"in t?t.width:this.getElement()?this.getElement().width||0:0,this.height=\"height\"in t?t.height:this.getElement()?this.getElement().height||0:0},complexity:function(){return 1}}),fabric.Image.CSS_CANVAS=\"canvas-img\",fabric.Image.prototype.getSvgSrc=fabric.Image.prototype.getSrc,fabric.Image.fromObject=function(t,e){fabric.util.loadImage(t.src,function(i){fabric.Image.prototype._initFilters.call(t,t,function(r){t.filters=r||[];var n=new fabric.Image(i,t);e&&e(n)})},null,t.crossOrigin)},fabric.Image.fromURL=function(t,e,i){fabric.util.loadImage(t,function(t){e(new fabric.Image(t,i))},null,i&&i.crossOrigin)},fabric.Image.ATTRIBUTE_NAMES=fabric.SHARED_ATTRIBUTES.concat(\"x y width height xlink:href\".split(\" \")),fabric.Image.fromElement=function(t,i,r){var n=fabric.parseAttributes(t,fabric.Image.ATTRIBUTE_NAMES);fabric.Image.fromURL(n[\"xlink:href\"],i,e(r?fabric.util.object.clone(r):{},n))},fabric.Image.async=!0,fabric.Image.pngCompression=1)}(void 0!==exports?exports:this),fabric.Image.filters=fabric.Image.filters||{},fabric.Image.filters.BaseFilter=fabric.util.createClass({type:\"BaseFilter\",toObject:function(){return{type:this.type}},toJSON:function(){return this.toObject()}}),function(t){\"use strict\";var e=t.fabric||(t.fabric={}),i=e.util.object.extend;e.Image.filters.Brightness=e.util.createClass(e.Image.filters.BaseFilter,{type:\"Brightness\",initialize:function(t){t=t||{},this.brightness=t.brightness||0},applyTo:function(t){for(var e=t.getContext(\"2d\"),i=e.getImageData(0,0,t.width,t.height),r=i.data,n=this.brightness,o=0,s=r.length;o<s;o+=4)r[o]+=n,r[o+1]+=n,r[o+2]+=n;e.putImageData(i,0,0)},toObject:function(){return i(this.callSuper(\"toObject\"),{brightness:this.brightness})}}),e.Image.filters.Brightness.fromObject=function(t){return new e.Image.filters.Brightness(t)}}(void 0!==exports?exports:this),function(t){\"use strict\";var e=t.fabric||(t.fabric={}),i=e.util.object.extend;e.Image.filters.Convolute=e.util.createClass(e.Image.filters.BaseFilter,{type:\"Convolute\",initialize:function(t){t=t||{},this.opaque=t.opaque,this.matrix=t.matrix||[0,0,0,0,1,0,0,0,0];var i=e.util.createCanvasElement();this.tmpCtx=i.getContext(\"2d\")},_createImageData:function(t,e){return this.tmpCtx.createImageData(t,e)},applyTo:function(t){for(var e=this.matrix,i=t.getContext(\"2d\"),r=i.getImageData(0,0,t.width,t.height),n=Math.round(Math.sqrt(e.length)),o=Math.floor(n/2),s=r.data,a=r.width,h=r.height,c=a,l=h,u=this._createImageData(c,l),f=u.data,d=this.opaque?1:0,p=0;p<l;p++)for(var g=0;g<c;g++){for(var m=p,v=g,b=4*(p*c+g),y=0,x=0,w=0,S=0,C=0;C<n;C++)for(var _=0;_<n;_++){var T=m+C-o,O=v+_-o;if(!(T<0||T>h||O<0||O>a)){var k=4*(T*a+O),E=e[C*n+_];y+=s[k]*E,x+=s[k+1]*E,w+=s[k+2]*E,S+=s[k+3]*E}}f[b]=y,f[b+1]=x,f[b+2]=w,f[b+3]=S+d*(255-S)}i.putImageData(u,0,0)},toObject:function(){return i(this.callSuper(\"toObject\"),{opaque:this.opaque,matrix:this.matrix})}}),e.Image.filters.Convolute.fromObject=function(t){return new e.Image.filters.Convolute(t)}}(void 0!==exports?exports:this),function(t){\"use strict\";var e=t.fabric||(t.fabric={}),i=e.util.object.extend;e.Image.filters.GradientTransparency=e.util.createClass(e.Image.filters.BaseFilter,{type:\"GradientTransparency\",initialize:function(t){t=t||{},this.threshold=t.threshold||100},applyTo:function(t){for(var e=t.getContext(\"2d\"),i=e.getImageData(0,0,t.width,t.height),r=i.data,n=this.threshold,o=r.length,s=0,a=r.length;s<a;s+=4)r[s+3]=n+255*(o-s)/o;e.putImageData(i,0,0)},toObject:function(){return i(this.callSuper(\"toObject\"),{threshold:this.threshold})}}),e.Image.filters.GradientTransparency.fromObject=function(t){return new e.Image.filters.GradientTransparency(t)}}(void 0!==exports?exports:this),function(t){\"use strict\";var e=t.fabric||(t.fabric={});e.Image.filters.Grayscale=e.util.createClass(e.Image.filters.BaseFilter,{type:\"Grayscale\",applyTo:function(t){for(var e,i=t.getContext(\"2d\"),r=i.getImageData(0,0,t.width,t.height),n=r.data,o=r.width*r.height*4,s=0;s<o;)e=(n[s]+n[s+1]+n[s+2])/3,n[s]=e,n[s+1]=e,n[s+2]=e,s+=4;i.putImageData(r,0,0)}}),e.Image.filters.Grayscale.fromObject=function(){return new e.Image.filters.Grayscale}}(void 0!==exports?exports:this),function(t){\"use strict\";var e=t.fabric||(t.fabric={});e.Image.filters.Invert=e.util.createClass(e.Image.filters.BaseFilter,{type:\"Invert\",applyTo:function(t){var e,i=t.getContext(\"2d\"),r=i.getImageData(0,0,t.width,t.height),n=r.data,o=n.length;for(e=0;e<o;e+=4)n[e]=255-n[e],n[e+1]=255-n[e+1],n[e+2]=255-n[e+2];i.putImageData(r,0,0)}}),e.Image.filters.Invert.fromObject=function(){return new e.Image.filters.Invert}}(void 0!==exports?exports:this),function(t){\"use strict\";var e=t.fabric||(t.fabric={}),i=e.util.object.extend;e.Image.filters.Mask=e.util.createClass(e.Image.filters.BaseFilter,{type:\"Mask\",initialize:function(t){t=t||{},this.mask=t.mask,this.channel=[0,1,2,3].indexOf(t.channel)>-1?t.channel:0},applyTo:function(t){if(this.mask){var i,r=t.getContext(\"2d\"),n=r.getImageData(0,0,t.width,t.height),o=n.data,s=this.mask.getElement(),a=e.util.createCanvasElement(),h=this.channel,c=n.width*n.height*4;a.width=s.width,a.height=s.height,a.getContext(\"2d\").drawImage(s,0,0,s.width,s.height);var l=a.getContext(\"2d\").getImageData(0,0,s.width,s.height).data;for(i=0;i<c;i+=4)o[i+3]=l[i+h];r.putImageData(n,0,0)}},toObject:function(){return i(this.callSuper(\"toObject\"),{mask:this.mask.toObject(),channel:this.channel})}}),e.Image.filters.Mask.fromObject=function(t,i){e.util.loadImage(t.mask.src,function(r){t.mask=new e.Image(r,t.mask),i&&i(new e.Image.filters.Mask(t))})},e.Image.filters.Mask.async=!0}(void 0!==exports?exports:this),function(t){\"use strict\";var e=t.fabric||(t.fabric={}),i=e.util.object.extend;e.Image.filters.Noise=e.util.createClass(e.Image.filters.BaseFilter,{type:\"Noise\",initialize:function(t){t=t||{},this.noise=t.noise||0},applyTo:function(t){for(var e,i=t.getContext(\"2d\"),r=i.getImageData(0,0,t.width,t.height),n=r.data,o=this.noise,s=0,a=n.length;s<a;s+=4)e=(.5-Math.random())*o,n[s]+=e,n[s+1]+=e,n[s+2]+=e;i.putImageData(r,0,0)},toObject:function(){return i(this.callSuper(\"toObject\"),{noise:this.noise})}}),e.Image.filters.Noise.fromObject=function(t){return new e.Image.filters.Noise(t)}}(void 0!==exports?exports:this),function(t){\"use strict\";var e=t.fabric||(t.fabric={}),i=e.util.object.extend;e.Image.filters.Pixelate=e.util.createClass(e.Image.filters.BaseFilter,{type:\"Pixelate\",initialize:function(t){t=t||{},this.blocksize=t.blocksize||4},applyTo:function(t){var e,i,r,n,o,s,a,h=t.getContext(\"2d\"),c=h.getImageData(0,0,t.width,t.height),l=c.data,u=c.height,f=c.width;for(i=0;i<u;i+=this.blocksize)for(r=0;r<f;r+=this.blocksize){n=l[e=4*i*f+4*r],o=l[e+1],s=l[e+2],a=l[e+3];for(var d=i,p=i+this.blocksize;d<p;d++)for(var g=r,m=r+this.blocksize;g<m;g++)l[e=4*d*f+4*g]=n,l[e+1]=o,l[e+2]=s,l[e+3]=a}h.putImageData(c,0,0)},toObject:function(){return i(this.callSuper(\"toObject\"),{blocksize:this.blocksize})}}),e.Image.filters.Pixelate.fromObject=function(t){return new e.Image.filters.Pixelate(t)}}(void 0!==exports?exports:this),function(t){\"use strict\";var e=t.fabric||(t.fabric={}),i=e.util.object.extend;e.Image.filters.RemoveWhite=e.util.createClass(e.Image.filters.BaseFilter,{type:\"RemoveWhite\",initialize:function(t){t=t||{},this.threshold=t.threshold||30,this.distance=t.distance||20},applyTo:function(t){for(var e,i,r,n=t.getContext(\"2d\"),o=n.getImageData(0,0,t.width,t.height),s=o.data,a=this.threshold,h=this.distance,c=255-a,l=Math.abs,u=0,f=s.length;u<f;u+=4)e=s[u],i=s[u+1],r=s[u+2],e>c&&i>c&&r>c&&l(e-i)<h&&l(e-r)<h&&l(i-r)<h&&(s[u+3]=1);n.putImageData(o,0,0)},toObject:function(){return i(this.callSuper(\"toObject\"),{threshold:this.threshold,distance:this.distance})}}),e.Image.filters.RemoveWhite.fromObject=function(t){return new e.Image.filters.RemoveWhite(t)}}(void 0!==exports?exports:this),function(t){\"use strict\";var e=t.fabric||(t.fabric={});e.Image.filters.Sepia=e.util.createClass(e.Image.filters.BaseFilter,{type:\"Sepia\",applyTo:function(t){var e,i,r=t.getContext(\"2d\"),n=r.getImageData(0,0,t.width,t.height),o=n.data,s=o.length;for(e=0;e<s;e+=4)i=.3*o[e]+.59*o[e+1]+.11*o[e+2],o[e]=i+100,o[e+1]=i+50,o[e+2]=i+255;r.putImageData(n,0,0)}}),e.Image.filters.Sepia.fromObject=function(){return new e.Image.filters.Sepia}}(void 0!==exports?exports:this),function(t){\"use strict\";var e=t.fabric||(t.fabric={});e.Image.filters.Sepia2=e.util.createClass(e.Image.filters.BaseFilter,{type:\"Sepia2\",applyTo:function(t){var e,i,r,n,o=t.getContext(\"2d\"),s=o.getImageData(0,0,t.width,t.height),a=s.data,h=a.length;for(e=0;e<h;e+=4)i=a[e],r=a[e+1],n=a[e+2],a[e]=(.393*i+.769*r+.189*n)/1.351,a[e+1]=(.349*i+.686*r+.168*n)/1.203,a[e+2]=(.272*i+.534*r+.131*n)/2.14;o.putImageData(s,0,0)}}),e.Image.filters.Sepia2.fromObject=function(){return new e.Image.filters.Sepia2}}(void 0!==exports?exports:this),function(t){\"use strict\";var e=t.fabric||(t.fabric={}),i=e.util.object.extend;e.Image.filters.Tint=e.util.createClass(e.Image.filters.BaseFilter,{type:\"Tint\",initialize:function(t){t=t||{},this.color=t.color||\"#000000\",this.opacity=void 0!==t.opacity?t.opacity:new e.Color(this.color).getAlpha()},applyTo:function(t){var i,r,n,o,s,a,h,c,l,u=t.getContext(\"2d\"),f=u.getImageData(0,0,t.width,t.height),d=f.data,p=d.length;for(r=(l=new e.Color(this.color).getSource())[0]*this.opacity,n=l[1]*this.opacity,o=l[2]*this.opacity,c=1-this.opacity,i=0;i<p;i+=4)s=d[i],a=d[i+1],h=d[i+2],d[i]=r+s*c,d[i+1]=n+a*c,d[i+2]=o+h*c;u.putImageData(f,0,0)},toObject:function(){return i(this.callSuper(\"toObject\"),{color:this.color,opacity:this.opacity})}}),e.Image.filters.Tint.fromObject=function(t){return new e.Image.filters.Tint(t)}}(void 0!==exports?exports:this),function(t){\"use strict\";var e=t.fabric||(t.fabric={}),i=e.util.object.extend;e.Image.filters.Multiply=e.util.createClass(e.Image.filters.BaseFilter,{type:\"Multiply\",initialize:function(t){t=t||{},this.color=t.color||\"#000000\"},applyTo:function(t){var i,r,n=t.getContext(\"2d\"),o=n.getImageData(0,0,t.width,t.height),s=o.data,a=s.length;for(r=new e.Color(this.color).getSource(),i=0;i<a;i+=4)s[i]*=r[0]/255,s[i+1]*=r[1]/255,s[i+2]*=r[2]/255;n.putImageData(o,0,0)},toObject:function(){return i(this.callSuper(\"toObject\"),{color:this.color})}}),e.Image.filters.Multiply.fromObject=function(t){return new e.Image.filters.Multiply(t)}}(void 0!==exports?exports:this),function(t){\"use strict\";var e=t.fabric;e.Image.filters.Blend=e.util.createClass({type:\"Blend\",initialize:function(t){t=t||{},this.color=t.color||\"#000\",this.image=t.image||!1,this.mode=t.mode||\"multiply\",this.alpha=t.alpha||1},applyTo:function(t){var i,r,n,o,s,a,h,c=t.getContext(\"2d\"),l=c.getImageData(0,0,t.width,t.height),u=l.data,f=!1;if(this.image){f=!0;var d=e.util.createCanvasElement();d.width=this.image.width,d.height=this.image.height;var p=new e.StaticCanvas(d);p.add(this.image),h=p.getContext(\"2d\").getImageData(0,0,p.width,p.height).data}else i=(h=new e.Color(this.color).getSource())[0]*this.alpha,r=h[1]*this.alpha,n=h[2]*this.alpha;for(var g=0,m=u.length;g<m;g+=4)switch(o=u[g],s=u[g+1],a=u[g+2],f&&(i=h[g]*this.alpha,r=h[g+1]*this.alpha,n=h[g+2]*this.alpha),this.mode){case\"multiply\":u[g]=o*i/255,u[g+1]=s*r/255,u[g+2]=a*n/255;break;case\"screen\":u[g]=1-(1-o)*(1-i),u[g+1]=1-(1-s)*(1-r),u[g+2]=1-(1-a)*(1-n);break;case\"add\":u[g]=Math.min(255,o+i),u[g+1]=Math.min(255,s+r),u[g+2]=Math.min(255,a+n);break;case\"diff\":case\"difference\":u[g]=Math.abs(o-i),u[g+1]=Math.abs(s-r),u[g+2]=Math.abs(a-n);break;case\"subtract\":var v=o-i,b=s-r,y=a-n;u[g]=v<0?0:v,u[g+1]=b<0?0:b,u[g+2]=y<0?0:y;break;case\"darken\":u[g]=Math.min(o,i),u[g+1]=Math.min(s,r),u[g+2]=Math.min(a,n);break;case\"lighten\":u[g]=Math.max(o,i),u[g+1]=Math.max(s,r),u[g+2]=Math.max(a,n)}c.putImageData(l,0,0)}}),e.Image.filters.Blend.fromObject=function(t){return new e.Image.filters.Blend(t)}}(void 0!==exports?exports:this),function(t){\"use strict\";var e=t.fabric||(t.fabric={}),i=e.util.object.extend,r=e.util.object.clone,n=e.util.toFixed,o=e.StaticCanvas.supports(\"setLineDash\");if(e.Text)e.warn(\"fabric.Text is already defined\");else{var s=e.Object.prototype.stateProperties.concat();s.push(\"fontFamily\",\"fontWeight\",\"fontSize\",\"text\",\"textDecoration\",\"textAlign\",\"fontStyle\",\"lineHeight\",\"textBackgroundColor\",\"useNative\",\"path\"),e.Text=e.util.createClass(e.Object,{_dimensionAffectingProps:{fontSize:!0,fontWeight:!0,fontFamily:!0,textDecoration:!0,fontStyle:!0,lineHeight:!0,stroke:!0,strokeWidth:!0,text:!0},_reNewline:/\\r?\\n/,type:\"text\",fontSize:40,fontWeight:\"normal\",fontFamily:\"Times New Roman\",textDecoration:\"\",textAlign:\"left\",fontStyle:\"\",lineHeight:1.3,textBackgroundColor:\"\",path:null,useNative:!0,stateProperties:s,stroke:null,shadow:null,initialize:function(t,e){e=e||{},this.text=t,this.__skipDimension=!0,this.setOptions(e),this.__skipDimension=!1,this._initDimensions()},_initDimensions:function(){if(!this.__skipDimension){var t=e.util.createCanvasElement();this._render(t.getContext(\"2d\"))}},toString:function(){return\"#<fabric.Text (\"+this.complexity()+'): { \"text\": \"'+this.text+'\", \"fontFamily\": \"'+this.fontFamily+'\" }>'},_render:function(t){void 0===Cufon||!0===this.useNative?this._renderViaNative(t):this._renderViaCufon(t)},_renderViaNative:function(t){var i=this.text.split(this._reNewline);this._setTextStyles(t),this.width=this._getTextWidth(t,i),this.height=this._getTextHeight(t,i),this.clipTo&&e.util.clipContext(this,t),this._renderTextBackground(t,i),this._translateForTextAlign(t),this._renderText(t,i),\"left\"!==this.textAlign&&\"justify\"!==this.textAlign&&t.restore(),this._renderTextDecoration(t,i),this.clipTo&&t.restore(),this._setBoundaries(t,i),this._totalLineHeight=0},_renderText:function(t,e){t.save(),this._setShadow(t),this._setupFillRule(t),this._renderTextFill(t,e),this._renderTextStroke(t,e),this._restoreFillRule(t),this._removeShadow(t),t.restore()},_translateForTextAlign:function(t){\"left\"!==this.textAlign&&\"justify\"!==this.textAlign&&(t.save(),t.translate(\"center\"===this.textAlign?this.width/2:this.width,0))},_setBoundaries:function(t,e){this._boundaries=[];for(var i=0,r=e.length;i<r;i++){var n=this._getLineWidth(t,e[i]),o=this._getLineLeftOffset(n);this._boundaries.push({height:this.fontSize*this.lineHeight,width:n,left:o})}},_setTextStyles:function(t){this._setFillStyles(t),this._setStrokeStyles(t),t.textBaseline=\"alphabetic\",this.skipTextAlign||(t.textAlign=this.textAlign),t.font=this._getFontDeclaration()},_getTextHeight:function(t,e){return this.fontSize*e.length*this.lineHeight},_getTextWidth:function(t,e){for(var i=t.measureText(e[0]||\"|\").width,r=1,n=e.length;r<n;r++){var o=t.measureText(e[r]).width;o>i&&(i=o)}return i},_renderChars:function(t,e,i,r,n){e[t](i,r,n)},_renderTextLine:function(t,e,i,r,n,o){if(n-=this.fontSize/4,\"justify\"===this.textAlign){var s=e.measureText(i).width,a=this.width;if(a>s)for(var h=i.split(/\\s+/),c=(a-e.measureText(i.replace(/\\s+/g,\"\")).width)/(h.length-1),l=0,u=0,f=h.length;u<f;u++)this._renderChars(t,e,h[u],r+l,n,o),l+=e.measureText(h[u]).width+c;else this._renderChars(t,e,i,r,n,o)}else this._renderChars(t,e,i,r,n,o)},_getLeftOffset:function(){return e.isLikelyNode?0:-this.width/2},_getTopOffset:function(){return-this.height/2},_renderTextFill:function(t,e){if(this.fill||this._skipFillStrokeCheck){this._boundaries=[];for(var i=0,r=0,n=e.length;r<n;r++)i+=this._getHeightOfLine(t,r,e),this._renderTextLine(\"fillText\",t,e[r],this._getLeftOffset(),this._getTopOffset()+i,r)}},_renderTextStroke:function(t,e){if(this.stroke&&0!==this.strokeWidth||this._skipFillStrokeCheck){var i=0;t.save(),this.strokeDashArray&&(1&this.strokeDashArray.length&&this.strokeDashArray.push.apply(this.strokeDashArray,this.strokeDashArray),o&&t.setLineDash(this.strokeDashArray)),t.beginPath();for(var r=0,n=e.length;r<n;r++)i+=this._getHeightOfLine(t,r,e),this._renderTextLine(\"strokeText\",t,e[r],this._getLeftOffset(),this._getTopOffset()+i,r);t.closePath(),t.restore()}},_getHeightOfLine:function(){return this.fontSize*this.lineHeight},_renderTextBackground:function(t,e){this._renderTextBoxBackground(t),this._renderTextLinesBackground(t,e)},_renderTextBoxBackground:function(t){this.backgroundColor&&(t.save(),t.fillStyle=this.backgroundColor,t.fillRect(this._getLeftOffset(),this._getTopOffset(),this.width,this.height),t.restore())},_renderTextLinesBackground:function(t,e){if(this.textBackgroundColor){t.save(),t.fillStyle=this.textBackgroundColor;for(var i=0,r=e.length;i<r;i++)if(\"\"!==e[i]){var n=this._getLineWidth(t,e[i]),o=this._getLineLeftOffset(n);t.fillRect(this._getLeftOffset()+o,this._getTopOffset()+i*this.fontSize*this.lineHeight,n,this.fontSize*this.lineHeight)}t.restore()}},_getLineLeftOffset:function(t){return\"center\"===this.textAlign?(this.width-t)/2:\"right\"===this.textAlign?this.width-t:0},_getLineWidth:function(t,e){return\"justify\"===this.textAlign?this.width:t.measureText(e).width},_renderTextDecoration:function(t,e){function i(i){for(var o=0,s=e.length;o<s;o++){var a=n._getLineWidth(t,e[o]),h=n._getLineLeftOffset(a);t.fillRect(n._getLeftOffset()+h,~~(i+o*n._getHeightOfLine(t,o,e)-r),a,1)}}if(this.textDecoration){var r=this._getTextHeight(t,e)/2,n=this;this.textDecoration.indexOf(\"underline\")>-1&&i(this.fontSize*this.lineHeight),this.textDecoration.indexOf(\"line-through\")>-1&&i(this.fontSize*this.lineHeight-this.fontSize/2),this.textDecoration.indexOf(\"overline\")>-1&&i(this.fontSize*this.lineHeight-this.fontSize)}},_getFontDeclaration:function(){return[e.isLikelyNode?this.fontWeight:this.fontStyle,e.isLikelyNode?this.fontStyle:this.fontWeight,this.fontSize+\"px\",e.isLikelyNode?'\"'+this.fontFamily+'\"':this.fontFamily].join(\" \")},render:function(t,e){if(this.visible){t.save(),this._transform(t,e);var i=this.transformMatrix,r=this.group&&\"path-group\"===this.group.type;r&&t.translate(-this.group.width/2,-this.group.height/2),i&&t.transform(i[0],i[1],i[2],i[3],i[4],i[5]),r&&t.translate(this.left,this.top),this._render(t),t.restore()}},toObject:function(t){var e=i(this.callSuper(\"toObject\",t),{text:this.text,fontSize:this.fontSize,fontWeight:this.fontWeight,fontFamily:this.fontFamily,fontStyle:this.fontStyle,lineHeight:this.lineHeight,textDecoration:this.textDecoration,textAlign:this.textAlign,path:this.path,textBackgroundColor:this.textBackgroundColor,useNative:this.useNative});return this.includeDefaultValues||this._removeDefaultValues(e),e},toSVG:function(t){var e=[],i=this.text.split(this._reNewline),r=this._getSVGLeftTopOffsets(i),n=this._getSVGTextAndBg(r.lineTop,r.textLeft,i),o=this._getSVGShadows(r.lineTop,i);return r.textTop+=this._fontAscent?this._fontAscent/5*this.lineHeight:0,this._wrapSVGTextAndBg(e,n,o,r),t?t(e.join(\"\")):e.join(\"\")},_getSVGLeftTopOffsets:function(t){var e=this.useNative?this.fontSize*this.lineHeight:-this._fontAscent-this._fontAscent/5*this.lineHeight,i=-this.width/2,r=this.useNative?this.fontSize-1:this.height/2-t.length*this.fontSize-this._totalLineHeight;return{textLeft:i+(this.group&&\"path-group\"===this.group.type?this.left:0),textTop:r+(this.group&&\"path-group\"===this.group.type?this.top:0),lineTop:e}},_wrapSVGTextAndBg:function(t,e,i,r){t.push('<g transform=\"',this.getSvgTransform(),this.getSvgTransformMatrix(),'\">\\n',e.textBgRects.join(\"\"),\"<text \",this.fontFamily?'font-family=\"'+this.fontFamily.replace(/\"/g,\"'\")+'\" ':\"\",this.fontSize?'font-size=\"'+this.fontSize+'\" ':\"\",this.fontStyle?'font-style=\"'+this.fontStyle+'\" ':\"\",this.fontWeight?'font-weight=\"'+this.fontWeight+'\" ':\"\",this.textDecoration?'text-decoration=\"'+this.textDecoration+'\" ':\"\",'style=\"',this.getSvgStyles(),'\" ','transform=\"translate(',n(r.textLeft,2),\" \",n(r.textTop,2),')\">',i.join(\"\"),e.textSpans.join(\"\"),\"</text>\\n\",\"</g>\\n\")},_getSVGShadows:function(t,i){var r,o,s=[],a=1;if(!this.shadow||!this._boundaries)return s;for(r=0,o=i.length;r<o;r++)if(\"\"!==i[r]){var h=this._boundaries&&this._boundaries[r]?this._boundaries[r].left:0;s.push('<tspan x=\"',n(h+a+this.shadow.offsetX,2),0===r||this.useNative?'\" y':'\" dy','=\"',n(this.useNative?t*r-this.height/2+this.shadow.offsetY:t+(0===r?this.shadow.offsetY:0),2),'\" ',this._getFillAttributes(this.shadow.color),\">\",e.util.string.escapeXml(i[r]),\"</tspan>\"),a=1}else a++;return s},_getSVGTextAndBg:function(t,e,i){var r=[],n=[],o=1;this._setSVGBg(n);for(var s=0,a=i.length;s<a;s++)\"\"!==i[s]?(this._setSVGTextLineText(i[s],s,r,t,o,n),o=1):o++,this.textBackgroundColor&&this._boundaries&&this._setSVGTextLineBg(n,s,e,t);return{textSpans:r,textBgRects:n}},_setSVGTextLineText:function(t,i,r,o,s){var a=this._boundaries&&this._boundaries[i]?n(this._boundaries[i].left,2):0;r.push('<tspan x=\"',a,'\" ',0===i||this.useNative?\"y\":\"dy\",'=\"',n(this.useNative?o*i-this.height/2:o*s,2),'\" ',this._getFillAttributes(this.fill),\">\",e.util.string.escapeXml(t),\"</tspan>\")},_setSVGTextLineBg:function(t,e,i,r){t.push(\"<rect \",this._getFillAttributes(this.textBackgroundColor),' x=\"',n(i+this._boundaries[e].left,2),'\" y=\"',n(r*e-this.height/2,2),'\" width=\"',n(this._boundaries[e].width,2),'\" height=\"',n(this._boundaries[e].height,2),'\"></rect>\\n')},_setSVGBg:function(t){this.backgroundColor&&this._boundaries&&t.push(\"<rect \",this._getFillAttributes(this.backgroundColor),' x=\"',n(-this.width/2,2),'\" y=\"',n(-this.height/2,2),'\" width=\"',n(this.width,2),'\" height=\"',n(this.height,2),'\"></rect>')},_getFillAttributes:function(t){var i=t&&\"string\"==typeof t?new e.Color(t):\"\";return i&&i.getSource()&&1!==i.getAlpha()?'opacity=\"'+i.getAlpha()+'\" fill=\"'+i.setAlpha(1).toRgb()+'\"':'fill=\"'+t+'\"'},_set:function(t,e){\"fontFamily\"===t&&this.path&&(this.path=this.path.replace(/(.*?)([^\\/]*)(\\.font\\.js)/,\"$1\"+e+\"$3\")),this.callSuper(\"_set\",t,e),t in this._dimensionAffectingProps&&(this._initDimensions(),this.setCoords())},complexity:function(){return 1}}),e.Text.ATTRIBUTE_NAMES=e.SHARED_ATTRIBUTES.concat(\"x y dx dy font-family font-style font-weight font-size text-decoration text-anchor\".split(\" \")),e.Text.DEFAULT_SVG_FONT_SIZE=16,e.Text.fromElement=function(t,i){if(!t)return null;var r=e.parseAttributes(t,e.Text.ATTRIBUTE_NAMES);i=e.util.object.extend(i?e.util.object.clone(i):{},r),\"dx\"in r&&(i.left+=r.dx),\"dy\"in r&&(i.top+=r.dy),\"fontSize\"in i||(i.fontSize=e.Text.DEFAULT_SVG_FONT_SIZE),i.originX||(i.originX=\"left\");var n=new e.Text(t.textContent,i),o=0;return\"left\"===n.originX&&(o=n.getWidth()/2),\"right\"===n.originX&&(o=-n.getWidth()/2),n.set({left:n.getLeft()+o,top:n.getTop()-n.getHeight()/2}),n},e.Text.fromObject=function(t){return new e.Text(t.text,r(t))},e.util.createAccessors(e.Text)}}(void 0!==exports?exports:this)}.call({},window,document,html2canvas);"],"sourceRoot":""}